--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "../dtd/document-v11.dtd">
+
+<document>
+ <header>
+ <title>How To Build POI</title>
+ <authors>
+ <person email="glens@apache.org" name="Glen Stampoultzis" id="GS"/>
+ </authors>
+ </header>
+ <body>
+ <section>
+ <title>Installing Ant</title>
+ <p>
+ The POI build system requires two components to perform a
+ build.
+ <link href="ext:jakarta.apache.org/ant">Ant</link> and
+ <link href="ext:xml.apache.org/forrest">forrest</link>.
+ </p>
+ <p>
+ Specifically the build has been tested to work with Ant version
+ 1.5.3 and Forrest 0.4. To install these products download
+ the distributions and follow the instructions in their
+ documentation. Make sure you don't forget to set the
+ environment variables FORREST_HOME and ANT_HOME. The
+ ANT_HOME/bin directory should be in the path.
+ </p>
+ <p>
+ One these products are installed you will also need to
+ download some extra jar files required by the build.
+ </p>
+ <table>
+ <tr>
+ <th>Library</th>
+ <th>Location</th>
+ </tr>
+ <tr>
+ <td>junit</td>
+ <td>http://www.ibiblio.org/maven/junit/jars/</td>
+ </tr>
+ <tr>
+ <td>xerces</td>
+ <td>http://www.ibiblio.org/maven/xerces/jars/</td>
+ </tr>
+ <tr>
+ <td>jdepend</td>
+ <td>http://www.ibiblio.org/maven/jdepend/jars/</td>
+ </tr>
+ </table>
+ <p>
+ Just pick the latest versions of these jars and place
+ them in ANT_HOME/lib
+ </p>
+ </section>
+ <section>
+ <title>Running the Build</title>
+ <p>
+ On the first run the ant build system will download all
+ the jars required by the project to build ant. If you're
+ behind a firewall this may cause some problems. Should you
+ need to it's possible to manually put the jars in the
+ correct directories. These can be obtained from here:
+ </p>
+ <tr>
+ <th>JAR</th>
+ <th>Location</th>
+ </tr>
+ <tr>
+ <td>/commons-logging/jars/commons-logging-1.0.1.jar</td>
+ <td>lib</td>
+ </tr>
+ <tr>
+ <td>/log4j/jars/log4j-1.2.8.jar</td>
+ <td>lib</td>
+ </tr>
+ <tr>
+ <td>/commons-beanutils/jars/commons-beanutils-1.6.jar</td>
+ <td>src/contrib/lib</td>
+ </tr>
+ <tr>
+ <td>/commons-collections/jars/commons-collections-2.1.jar</td>
+ <td>src/contrib/lib</td>
+ </tr>
+ <tr>
+ <td>/commons-lang/jars/commons-lang-1.0-b1.jar</td>
+ <td>src/contrib/lib</td>
+ </tr>
+ <tr>
+ <td>/junit/jars/junit-3.8.1.jar</td>
+ <td>lib</td>
+ </tr>
+ <p>
+ The main targets of interest to our users are:
+ </p>
+ <table>
+ <tr>
+ <th>Target</th>
+ <th>Description</th>
+ </tr>
+ <tr>
+ <td>clean</td>
+ <td>Erase all build work products (ie, everything in the
+ build directory</td>
+ </tr>
+ <tr>
+ <td>compile</td>
+ <td>Compiles all files from main, contrib and scratchpad</td>
+ </tr>
+ <tr>
+ <td>test</td>
+ <td>Run all unit tests from main, contrib and scratchpad</td>
+ </tr>
+ <tr>
+ <td>docs</td>
+ <td>Generate all documentation for the system</td>
+ </tr>
+ <tr>
+ <td>generate-records</td>
+ <td>Generate records from the XML record defintitions</td>
+ </tr>
+ <tr>
+ <td>generate-types</td>
+ <td>Generate types from the XML type definitions (this is
+ for HDF).</td>
+ </tr>
+ <tr>
+ <td>jar</td>
+ <td>Produce jar files</td>
+ </tr>
+ <tr>
+ <td>dist</td>
+ <td>Create a distribution.</td>
+ </tr>
+ <tr>
+ <td>clean-dist</td>
+ <td>Runs clean before creating the distribution.</td>
+ </tr>
+ </table>
+ </section>
+ </body>
+</document>
+
+