summaryrefslogtreecommitdiffstats
path: root/src/documentation/content/xdocs/howtobuild.xml
blob: af45effa8969f9de271c67fadc072b561aa56f93 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
<?xml version="1.0" encoding="UTF-8"?>
<!--
   ====================================================================
   Licensed to the Apache Software Foundation (ASF) under one or more
   contributor license agreements.  See the NOTICE file distributed with
   this work for additional information regarding copyright ownership.
   The ASF licenses this file to You under the Apache License, Version 2.0
   (the "License"); you may not use this file except in compliance with
   the License.  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
   ====================================================================
-->
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.3//EN" "./dtd/document-v13.dtd">

<document>
    <header>
        <title>How To Build POI</title>
        <authors>
            <person email="user@poi.apache.org" name="Glen Stampoultzis" id="GS"/>
            <person email="tetsuya@apache.org" name="Tetsuya Kitahata" id="TK"/>
        </authors>
    </header>
    <body>
        <section>
            <title>Installing Ant</title>
            <p>
                The POI build system requires two components to perform a
                build.
                <link href="ext:ant.apache.org/">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>
                <tr>
                    <td>xalan</td>
                    <td>http://www.ibiblio.org/maven/xalan/jars/</td>
                </tr>
            </table>
            <p>
                Just pick the latest versions of these jars and place
                them in ANT_HOME/lib and make sure that optional.jar is
                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>
            <table>
                <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>
            </table>
            <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 HWPF).</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>