123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139 |
- <?xml version="1.0" standalone="no"?>
- <!--
- Copyright 1999-2005 The Apache Software Foundation
-
- Licensed 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.
- -->
- <!-- $Id$ -->
- <!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd">
- <document>
- <header>
- <title>Apache FOP: Building from Source Code</title>
- <version>$Revision$</version>
- </header>
- <body>
- <section id="build-needed">
- <title>Do You Need To Build?</title>
- <p>
- FOP distributions are either pre-compiled binary or source.
- If you are using a binary distribution, it is already built and there is no need to build it again.
- See the <a href="../download.html">Download Instructions</a> for information about whether a
- binary or source distribution is best for your needs.
- </p>
- <p>
- If you got the source code from a repository snapshot or via Subversion you will need to build FOP
- in any case.
- </p>
- </section>
- <section id="env">
- <title>Set Up Your Environment</title>
- <section id="env-jdk">
- <title>JDK</title>
- <p>
- Building FOP requires a minimum Java Development Kit (JDK/SDK) of 1.3
- (A Java Runtime Environment is not sufficient).
- </p>
- </section>
- <section id="env-classpath">
- <title>CLASSPATH</title>
- <p>
- There is generally no need to setup a classpath. All libraries needed to compile FOP are included
- in the source distribution and are referenced by the build script.
- You will only need to adjust the classpath if you build FOP in some other way. See the build
- script build.xml for details.
- </p>
- </section>
- <section id="env-java-home">
- <title>JAVA_HOME</title>
- <p>
- The build script uses <a href="ext:ant">Apache Ant</a>, a popular
- Java-based build tool, which usually requires that the environment variable JAVA_HOME point to
- your local JDK root directory. This is true even if you use JDK 1.2 or above, which normally
- does not need this setting.
- </p>
- </section>
- <section id="env-ant">
- <title>Apache Ant</title>
- <p>
- <a href="ext:ant">Apache Ant</a> must be installed in order to
- build FOP. Following best practices we don't include Ant with FOP anymore. You can find the
- <a href="ext:ant/manual/">instructions to install Ant in the Ant manual</a> on the web.
- </p>
- </section>
- </section>
- <section id="build-script">
- <title>Run the Build Script</title>
- <p>
- Change to the FOP root directory and build FOP by executing the build script (build.xml)
- using the "ant" command.
- </p>
- <note>
- The "ant" command is only available on your system if you've properly
- <a href="ext:ant/manual/">installed Apache Ant</a> and added Ant's location to the PATH
- environment variable.
- </note>
- <p>
- The file build.xml in the FOP root directory is the blueprint that Ant uses for the build. It
- contains information for numerous build targets, many of which are building blocks to more
- useful target, and others which are primarily used by the FOP developers.
- You may benefit from looking through this file to learn more about the various build targets.
- To obtain a complete list of useful build targets:
- </p>
- <source>ant -projecthelp</source>
- <p>The most useful targets are:</p>
- <ul>
- <li>
- <strong>package</strong>: Generates the JAR files (default). This is the normal build that
- produces a jar file usable for running FOP.
- </li>
- <li>
- <strong>clean </strong>: Cleans the build directory. This is useful for making sure that
- any build errors are cleaned up before starting a new build. It should not ordinarily be
- needed, but may be helpful if you are having problems with the build process itself.
- </li>
- <li>
- <strong>javadocs</strong>: Generates javadocs. This creates the FOP API documentation.
- </li>
- </ul>
- <p>To run the build:</p>
- <source>ant [target ...]</source>
- <p>For example to do a normal build for the "all" target (which is the default):</p>
- <source>ant</source>
- <p>OR</p>
- <source>ant all</source>
- <p>To clean the build directory first:</p>
- <source>ant clean all</source>
- <note>
- If you want to shorten the build time you can just call the "package" target which
- doesn't perform any automated tests during the build.
- </note>
- </section>
- <section id="problems">
- <title id="Troubleshooting">Troubleshooting</title>
- <p>If you have problems building FOP, please try the following:</p>
- <ul>
- <li>Run the build with the target of "clean", then rerun the build.</li>
- <li>Delete the build directory completely, then rerun the build.</li>
- <li>
- Make sure you do not have a non-FOP version of xerces.jar, xalan.jar, batik.jar,
- or another dependency product somewhere in your CLASSPATH.
- </li>
- <li>
- If the build still fails, see the <a href="../gethelp.html">Getting Help</a>
- page for further help.
- </li>
- </ul>
- </section>
- </body>
- </document>
|