Fix 43670, 44501 - Fix how HDGF deals with trailing data in the list of chunk headers
[poi.git] / src / documentation / content / xdocs / howtobuild.xml
blobaf45effa8969f9de271c67fadc072b561aa56f93
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3    ====================================================================
4    Licensed to the Apache Software Foundation (ASF) under one or more
5    contributor license agreements.  See the NOTICE file distributed with
6    this work for additional information regarding copyright ownership.
7    The ASF licenses this file to You under the Apache License, Version 2.0
8    (the "License"); you may not use this file except in compliance with
9    the License.  You may obtain a copy of the License at
11        http://www.apache.org/licenses/LICENSE-2.0
13    Unless required by applicable law or agreed to in writing, software
14    distributed under the License is distributed on an "AS IS" BASIS,
15    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16    See the License for the specific language governing permissions and
17    limitations under the License.
18    ====================================================================
19 -->
20 <!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.3//EN" "./dtd/document-v13.dtd">
22 <document>
23     <header>
24         <title>How To Build POI</title>
25         <authors>
26             <person email="user@poi.apache.org" name="Glen Stampoultzis" id="GS"/>
27             <person email="tetsuya@apache.org" name="Tetsuya Kitahata" id="TK"/>
28         </authors>
29     </header>
30     <body>
31         <section>
32             <title>Installing Ant</title>
33             <p>
34                 The POI build system requires two components to perform a
35                 build.
36                 <link href="ext:ant.apache.org/">Ant</link> and
37                 <link href="ext:xml.apache.org/forrest">forrest</link>.
38             </p>
39             <p>
40                 Specifically the build has been tested to work with Ant version
41                 1.5.3 and Forrest 0.4.  To install these products download
42                 the distributions and follow the instructions in their
43                 documentation.  Make sure you don't forget to set the
44                 environment variables FORREST_HOME and ANT_HOME.  The
45                 ANT_HOME/bin directory should be in the path.
46             </p>
47             <p>
48                 One these products are installed you will also need to
49                 download some extra jar files required by the build.
50             </p>
51             <table>
52                 <tr>
53                     <th>Library</th>
54                     <th>Location</th>
55                 </tr>
56                 <tr>
57                     <td>junit</td>
58                     <td>http://www.ibiblio.org/maven/junit/jars/</td>
59                 </tr>
60                 <tr>
61                     <td>xerces</td>
62                     <td>http://www.ibiblio.org/maven/xerces/jars/</td>
63                 </tr>
64                 <tr>
65                     <td>jdepend</td>
66                     <td>http://www.ibiblio.org/maven/jdepend/jars/</td>
67                 </tr>
68                 <tr>
69                     <td>xalan</td>
70                     <td>http://www.ibiblio.org/maven/xalan/jars/</td>
71                 </tr>
72             </table>
73             <p>
74                 Just pick the latest versions of these jars and place
75                 them in ANT_HOME/lib and make sure that optional.jar is
76                 in ANT_HOME/lib .
77             </p>
78         </section>
79         <section>
80             <title>Running the Build</title>
81             <p>
82                 On the first run the ant build system will download all
83                 the jars required by the project to build ant.  If you're
84                 behind a firewall this may cause some problems.  Should you
85                 need to it's possible to manually put the jars in the
86                 correct directories.  These can be obtained from here:
87             </p>
88             <table>
89                 <tr>
90                     <th>JAR</th>
91                     <th>Location</th>
92                 </tr>
93                 <tr>
94                     <td>/commons-logging/jars/commons-logging-1.0.1.jar</td>
95                     <td>lib</td>
96                 </tr>
97                 <tr>
98                     <td>/log4j/jars/log4j-1.2.8.jar</td>
99                     <td>lib</td>
100                 </tr>
101                 <tr>
102                     <td>/commons-beanutils/jars/commons-beanutils-1.6.jar</td>
103                     <td>src/contrib/lib</td>
104                 </tr>
105                 <tr>
106                     <td>/commons-collections/jars/commons-collections-2.1.jar</td>
107                     <td>src/contrib/lib</td>
108                 </tr>
109                 <tr>
110                     <td>/commons-lang/jars/commons-lang-1.0-b1.jar</td>
111                     <td>src/contrib/lib</td>
112                 </tr>
113                 <tr>
114                     <td>/junit/jars/junit-3.8.1.jar</td>
115                     <td>lib</td>
116                 </tr>
117             </table>
118             <p>
119                 The main targets of interest to our users are:
120             </p>
121             <table>
122                 <tr>
123                     <th>Target</th>
124                     <th>Description</th>
125                 </tr>
126                 <tr>
127                     <td>clean</td>
128                     <td>Erase all build work products (ie, everything in the
129                         build directory</td>
130                 </tr>
131                 <tr>
132                     <td>compile</td>
133                     <td>Compiles all files from main, contrib and scratchpad</td>
134                 </tr>
135                 <tr>
136                     <td>test</td>
137                     <td>Run all unit tests from main, contrib and scratchpad</td>
138                 </tr>
139                 <tr>
140                     <td>docs</td>
141                     <td>Generate all documentation for the system</td>
142                 </tr>
143                 <tr>
144                     <td>generate-records</td>
145                     <td>Generate records from the XML record defintitions</td>
146                 </tr>
147                 <tr>
148                     <td>generate-types</td>
149                     <td>Generate types from the XML type definitions (this is
150                         for HWPF).</td>
151                 </tr>
152                 <tr>
153                     <td>jar</td>
154                     <td>Produce jar files</td>
155                 </tr>
156                 <tr>
157                     <td>dist</td>
158                     <td>Create a distribution.</td>
159                 </tr>
160                 <tr>
161                     <td>clean-dist</td>
162                     <td>Runs clean before creating the distribution.</td>
163                 </tr>
164             </table>
165         </section>
166     </body>
167 </document>