| <?xml version="1.0"?> |
| <!-- =========================================================================== |
| |
| * ================== * |
| | FOP build system | |
| * ================== * |
| |
| Building instructions |
| ===================== |
| |
| First, make sure your current working directory is where this very file is |
| located. Then type |
| |
| ./build.sh (on unixes) |
| build (on Windows) |
| |
| If everything is right and all the required packages are visible, this action |
| will generate a file called "fop.jar" in the "./build" directory. |
| |
| If you experience any problems with the build please visit the FOP website for |
| more information: http://xml.apache.org/fop |
| |
| |
| Build targets |
| ============= |
| |
| The build system is not only responsible of compiling Fop into a jar file, |
| but is also responsible for creating the HTML documentation, javadocs, |
| distributions and web site. In fact, the file you have here is _exactly_ what |
| is used by fop maintainers to take care of everything in the Fop |
| project, no less and no more. |
| |
| Call the build script (see above) with the parameter "-projecthelp" to get a |
| list of possible build targets. |
| |
| ============================================================================ --> |
| <project default="all" basedir="."> |
| |
| <!-- used to set values for testing etc. --> |
| <!-- build-local.properties is not stored in CVS and overrides values from build.properties --> |
| <property file="build-local.properties"/> |
| <property file="build.properties"/> |
| |
| <fileset dir="${basedir}" id="dist.bin"> |
| <include name="conf/**"/> |
| <include name="docs/**"/> |
| <include name="CHANGES"/> |
| <include name="LICENSE"/> |
| <include name="README"/> |
| <include name="STATUS"/> |
| <include name="fop.bat"/> |
| <include name="fop.sh"/> |
| <exclude name="src/**"/> |
| <exclude name="dist/**"/> |
| <exclude name="build/**"/> |
| <exclude name="lib/**"/> |
| </fileset> |
| |
| <fileset dir="${basedir}" id="dist.bin.lib"> |
| <include name="lib/xercesImpl-2.2.1.jar"/> |
| <include name="lib/xalan-2.4.1.jar"/> |
| <include name="lib/xml-apis.jar"/> |
| <include name="lib/batik.jar"/> |
| <include name="lib/avalon-framework*.jar"/> |
| <include name="lib/jimi*"/> |
| <include name="lib/jfor*.jar"/> |
| </fileset> |
| |
| <fileset dir="${basedir}" id="dist.src"> |
| <exclude name="lib/classes/**"/> |
| <exclude name="lib/org/**"/> |
| <exclude name="lib/src/**"/> |
| <exclude name="build/**"/> |
| <include name="src/**"/> |
| <include name="conf/**"/> |
| <include name="docs/**"/> |
| <include name="lib/**"/> |
| <include name="CHANGES"/> |
| <include name="LICENSE"/> |
| <include name="README"/> |
| <include name="STATUS"/> |
| <include name="build*"/> |
| <include name="fop.bat"/> |
| <include name="fop.sh"/> |
| </fileset> |
| |
| <path id="libs-build-classpath"> |
| <fileset dir="lib"> |
| <include name="*.jar"/> |
| </fileset> |
| </path> |
| |
| <path id="libs-run-classpath"> |
| <fileset dir="lib"> |
| <include name="*.jar"/> |
| <exclude name="ant.jar"/> |
| </fileset> |
| <fileset dir="build"> |
| <include name="fop.jar"/> |
| </fileset> |
| </path> |
| |
| <path id="checkstylepath"> |
| <fileset dir="lib"> |
| <include name="checkstyle-all-*.jar"/> |
| </fileset> |
| </path> |
| |
| <patternset id="exclude-jimi"> |
| <exclude name="org/apache/fop/image/JimiImage.java"/> |
| </patternset> |
| |
| <patternset id="exclude-jai"> |
| <exclude name="org/apache/fop/image/JAIImage.java"/> |
| </patternset> |
| |
| <patternset id="exclude-jce-dependencies"> |
| <exclude name="org/apache/fop/pdf/PDFEncryptionJCE.java"/> |
| </patternset> |
| |
| <patternset id="base-sources"> |
| <include name="**/*.java"/> |
| <exclude name="**/*${ignore_this}"/> |
| <patternset refid="exclude-jimi"/> |
| <patternset refid="exclude-jai"/> |
| <patternset refid="exclude-jce-dependencies"/> |
| </patternset> |
| |
| <!-- =================================================================== --> |
| <!-- Initialization target --> |
| <!-- =================================================================== --> |
| <target name="init" depends="init-avail, init-filters-jdk14, init-filters-jdk13"> |
| <tstamp/> |
| <property name="Name" value="Fop"/> |
| <property name="name" value="fop"/> |
| <property name="version" value="1.0dev"/> |
| <filter token="version" value="${version}"/> |
| <property name="year" value="1999-2003"/> |
| |
| <echo message="------------------- ${Name} ${version} [${year}] ----------------"/> |
| <echo message="See build.properties and build-local.properties for additional build settings"/> |
| |
| <property name="build.compiler" value="classic"/> |
| <property name="debug" value="on"/> |
| <property name="optimize" value="off"/> |
| <property name="deprecation" value="on"/> |
| |
| <property name="textfontencoding" value="WinAnsiEncoding"/> |
| |
| <property name="src.dir" value="./src"/> |
| <property name="src.java" value="${src.dir}/java"/> |
| <property name="src.codegen" value="${src.dir}/codegen"/> |
| <property name="docs.dir" value="./docs"/> |
| <property name="xdocs.dir" value="${src.dir}/documentation/content/xdocs"/> |
| <property name="fo.examples.dir" value="./examples/fo/basic"/> |
| <property name="lib.dir" value="./lib"/> |
| <property name="hyph.dir" value="${src.dir}/hyph"/> |
| <property name="conf.dir" value="./conf"/> |
| <property name="packages" value="org.apache.fop.*"/> |
| |
| <property name="viewer.resources.src.dir" value="${src.java}/org/apache/fop/viewer/resources"/> |
| <property name="viewer.images.src.dir" value="${src.java}/org/apache/fop/viewer/images"/> |
| |
| <property name="build.dir" value="./build"/> |
| <property name="build.src" value="./build/src"/> |
| <property name="build.gensrc" value="./build/gensrc"/> |
| <property name="build.docsrc" value="./build/docsrc"/> |
| <property name="build.codegen" value="./build/src/codegen"/> |
| <property name="build.dest" value="./build/classes"/> |
| <property name="build.docs" value="./build/docs"/> |
| <property name="build.javadocs" value="./build/javadocs"/> |
| <property name="build.examples.dir" value="${build.dir}/examples"/> |
| |
| <property name="viewer.resources.dest.dir" value="${build.dest}/org/apache/fop/viewer/resources"/> |
| <property name="viewer.images.dest.dir" value="${build.dest}/org/apache/fop/viewer/Images"/> |
| |
| <property name="dist.bin.dir" value="./dist-bin"/> |
| <property name="dist.src.dir" value="./dist-src"/> |
| <property name="dist.bin.result.dir" value="${dist.bin.dir}/${Name}-${version}"/> |
| <property name="dist.src.result.dir" value="${dist.src.dir}/${Name}-${version}"/> |
| |
| <property name="properties.dir" value="org/apache/fop/fo/properties"/> |
| <property name="fonts.dir" value="org/apache/fop/fonts/base14"/> |
| <property name="replacestring" value="org/apache/fop"/> |
| <property name="ignore_this" value="ignore_this.dummy"/> |
| <property name="jimi" value="JimiImage.java"/> |
| <property name="jai" value="JAIImage.java"/> |
| |
| <property name="xslt" value="org.apache.xalan.xslt.Process"/> |
| <property name="src.properties.xsl" value="${src.codegen}/properties.xsl"/> |
| <property name="src.propmaker.xsl" value="${src.codegen}/propmaker.xsl"/> |
| <property name="foproperties.xml" value="${build.codegen}/foproperties.xml"/> |
| <property name="colorkw.xml" value="${build.codegen}/colorkw.xml"/> |
| <property name="allprops.xml" value="${build.codegen}/allprops.xml"/> |
| |
| <property name="properties.xsl" value="${build.codegen}/properties.xsl"/> |
| <property name="propmap.xsl" value="${build.codegen}/propmap.xsl"/> |
| <property name="enumgen.xsl" value="${build.codegen}/enumgen.xsl"/> |
| <property name="propinc.xsl" value="${build.codegen}/propinc.xsl"/> |
| <property name="genconst.xsl" value="${build.codegen}/genconst.xsl"/> |
| <property name="src.charlist.xsl" value="${src.codegen}/code-point-mapping.xsl"/> |
| <property name="encodings.xml" value="${build.codegen}/encodings.xml"/> |
| <property name="charlist.xsl" value="${build.codegen}/code-point-mapping.xsl"/> |
| <property name="fontfile.xsl" value="${build.codegen}/font-file.xsl"/> |
| <property name="t1fontfile.xsl" value="${build.codegen}/t1font-file.xsl"/> |
| <property name="ttffontfile.xsl" value="${build.codegen}/ttffontfile.xsl"/> |
| |
| <property name="Courier.xml" value="${build.codegen}/Courier.xml"/> |
| <property name="Courier-Oblique.xml" value="${build.codegen}/CourierOblique.xml"/> |
| <property name="Courier-Bold.xml" value="${build.codegen}/CourierBold.xml"/> |
| <property name="Courier-BoldOblique.xml" value="${build.codegen}/CourierBoldOblique.xml"/> |
| <property name="Helvetica.xml" value="${build.codegen}/Helvetica.xml"/> |
| <property name="Helvetica-Oblique.xml" value="${build.codegen}/HelveticaOblique.xml"/> |
| <property name="Helvetica-Bold.xml" value="${build.codegen}/HelveticaBold.xml"/> |
| <property name="Helvetica-BoldOblique.xml" value="${build.codegen}/HelveticaBoldOblique.xml"/> |
| <property name="Times-Roman.xml" value="${build.codegen}/TimesRoman.xml"/> |
| <property name="Times-Italic.xml" value="${build.codegen}/TimesItalic.xml"/> |
| <property name="Times-Bold.xml" value="${build.codegen}/TimesBold.xml"/> |
| <property name="Times-BoldItalic.xml" value="${build.codegen}/TimesBoldItalic.xml"/> |
| <property name="ZapfDingbats.xml" value="${build.codegen}/ZapfDingbats.xml"/> |
| <property name="Symbol.xml" value="${build.codegen}/Symbol.xml"/> |
| |
| <property name="trax" value="TraxTransform.java"/> |
| <property name="xsltransform" value="XSLTransform.java"/> |
| |
| <property name="tools.pkg" value="org/apache/fop/tools"/> |
| |
| <property name="main.class" value="org.apache.fop.apps.Fop"/> |
| |
| <filter filtersfile="${build.codegen}/filter" /> |
| </target> |
| |
| <target name="init-avail"> |
| <available property="jimi.present" classname="com.sun.jimi.core.Jimi" classpathref="libs-build-classpath"/> |
| <available property="jai.present" classname="javax.media.jai.JAI" classpathref="libs-build-classpath"/> |
| <available property="jce.present" classname="javax.crypto.Cipher" classpathref="libs-build-classpath"/> |
| <available property="jdk14.present" classname="java.lang.CharSequence"/> |
| </target> |
| |
| <target name="init-filters-jdk13" depends="init-avail" unless="jdk14.present"> |
| <echo message="JDK 1.3 or earlier present."/> |
| <copy file="src/codegen/jdk13.filter" toFile="build/src/codegen/filter"/> |
| </target> |
| |
| <target name="init-filters-jdk14" depends="init-avail" if="jdk14.present"> |
| <echo message="JDK 1.4 present."/> |
| <copy file="src/codegen/jdk14.filter" toFile="build/src/codegen/filter"/> |
| </target> |
| |
| <!-- =================================================================== --> |
| <!-- Help on usage --> |
| <!-- =================================================================== --> |
| <target name="usage"> |
| <echo message="Use the -projecthelp option instead"/> |
| </target> |
| |
| <!-- =================================================================== --> |
| <!-- Prepares the build directory --> |
| <!-- =================================================================== --> |
| <target name="prepare" depends="init"> |
| <!-- create directories --> |
| <echo message="Preparing the build directories"/> |
| <mkdir dir="${build.src}"/> |
| <mkdir dir="${build.gensrc}"/> |
| <mkdir dir="${build.gensrc}/${properties.dir}"/> |
| <mkdir dir="${build.gensrc}/${fonts.dir}"/> |
| <mkdir dir="${build.dest}/hyph"/> |
| </target> |
| |
| <!-- =================================================================== --> |
| <!-- Generate the source code --> |
| <!-- =================================================================== --> |
| <target name="codegen" depends="prepare" description="Generates the java files from the xml resources"> |
| <!-- resetting codegen directory --> |
| <echo message="Resetting codegen directory"/> |
| |
| <!-- copy codegen directory --> |
| <copy todir="${build.codegen}" filtering="on"> |
| <fileset dir="${src.codegen}"/> |
| </copy> |
| |
| <!-- generate the java files from xml resources --> |
| <echo message="Generating the java files from xml resources"/> |
| <dependset> |
| <srcfilelist dir="./" files="${foproperties.xml},${colorkw.xml}"/> |
| <targetfilelist dir="./" files="${build.gensrc}/${replacestring}/fo/properties/Constants.java,${build.gensrc}/${replacestring}/fo/properties/fo_${ignore_this}"/> |
| </dependset> |
| <dependset> |
| <srcfilelist dir="./" files="${propinc.xsl}"/> |
| <targetfilelist dir="./" files="${build.gensrc}/${replacestring}/fo/properties/fo_${ignore_this},${build.gensrc}/${replacestring}/fo/properties/FOPropertyMapping.java,${build.gensrc}/${replacestring}/fo/properties/foenums_${ignore_this}"/> |
| </dependset> |
| |
| <style in="${allprops.xml}" style="${genconst.xsl}" |
| out="${build.gensrc}/${replacestring}/fo/properties/Constants.java"/> |
| |
| <style in="${foproperties.xml}" style="${properties.xsl}" |
| out="${build.gensrc}/${replacestring}/fo/properties/fo_${ignore_this}"/> |
| <style in="${foproperties.xml}" style="${propmap.xsl}" |
| out="${build.gensrc}/${replacestring}/fo/properties/FOPropertyMapping.java"/> |
| <style in="${foproperties.xml}" style="${enumgen.xsl}" |
| out="${build.gensrc}/${replacestring}/fo/properties/foenums_${ignore_this}"/> |
| <style in="${encodings.xml}" style="${charlist.xsl}" |
| out="${build.gensrc}/${replacestring}/fonts//CodePointMapping.java"/> |
| <!-- |
| <style basedir="src/codegen" includes="Helvetica*.xml,Times*.xml,Courier*.xml" |
| style="${fontfile.xsl}" |
| destdir="${build.gensrc}/${replacestring}/fonts/base14" extension=".java"> |
| <param name="encoding" expression="${textfontencoding}"/> |
| </style> |
| --> |
| <style in="${Courier.xml}" style="${fontfile.xsl}" |
| destdir="${build.gensrc}/${replacestring}/fonts/base14" |
| out="${build.gensrc}/${replacestring}/fonts/base14/Courier.java"> |
| <param name="encoding" expression="${textfontencoding}"/> |
| </style> |
| <style in="${Courier-Oblique.xml}" style="${fontfile.xsl}" |
| destdir="${build.gensrc}/${replacestring}/fonts/base14" |
| out="${build.gensrc}/${replacestring}/fonts/base14/CourierOblique.java"> |
| <param name="encoding" expression="${textfontencoding}"/> |
| </style> |
| <style in="${Courier-Bold.xml}" style="${fontfile.xsl}" |
| destdir="${build.gensrc}/${replacestring}/fonts/base14" |
| out="${build.gensrc}/${replacestring}/fonts/base14/CourierBold.java"> |
| <param name="encoding" expression="${textfontencoding}"/> |
| </style> |
| <style in="${Courier-BoldOblique.xml}" style="${fontfile.xsl}" |
| destdir="${build.gensrc}/${replacestring}/fonts/base14" |
| out="${build.gensrc}/${replacestring}/fonts/base14/CourierBoldOblique.java"> |
| <param name="encoding" expression="${textfontencoding}"/> |
| </style> |
| <style in="${Helvetica.xml}" style="${fontfile.xsl}" |
| destdir="${build.gensrc}/${replacestring}/fonts/base14" |
| out="${build.gensrc}/${replacestring}/fonts/base14/Helvetica.java"> |
| <param name="encoding" expression="${textfontencoding}"/> |
| </style> |
| <style in="${Helvetica-Bold.xml}" style="${fontfile.xsl}" |
| destdir="${build.gensrc}/${replacestring}/fonts/base14" |
| out="${build.gensrc}/${replacestring}/fonts/base14/HelveticaBold.java"> |
| <param name="encoding" expression="${textfontencoding}"/> |
| </style> |
| <style in="${Helvetica-Oblique.xml}" style="${fontfile.xsl}" |
| destdir="${build.gensrc}/${replacestring}/fonts/base14" |
| out="${build.gensrc}/${replacestring}/fonts/base14/HelveticaOblique.java"> |
| <param name="encoding" expression="${textfontencoding}"/> |
| </style> |
| <style in="${Helvetica-BoldOblique.xml}" style="${fontfile.xsl}" |
| destdir="${build.gensrc}/${replacestring}/fonts/base14" |
| out="${build.gensrc}/${replacestring}/fonts/base14/HelveticaBoldOblique.java"> |
| <param name="encoding" expression="${textfontencoding}"/> |
| </style> |
| <style in="${Times-Roman.xml}" style="${fontfile.xsl}" |
| destdir="${build.gensrc}/${replacestring}/fonts/base14" |
| out="${build.gensrc}/${replacestring}/fonts/base14/TimesRoman.java"> |
| <param name="encoding" expression="${textfontencoding}"/> |
| </style> |
| <style in="${Times-Italic.xml}" style="${fontfile.xsl}" |
| destdir="${build.gensrc}/${replacestring}/fonts/base14" |
| out="${build.gensrc}/${replacestring}/fonts/base14/TimesItalic.java"> |
| <param name="encoding" expression="${textfontencoding}"/> |
| </style> |
| <style in="${Times-Bold.xml}" style="${fontfile.xsl}" |
| out="${build.gensrc}/${replacestring}/fonts/base14/TimesBold.java"> |
| <param name="encoding" expression="${textfontencoding}"/> |
| </style> |
| <style in="${Times-BoldItalic.xml}" style="${fontfile.xsl}" |
| out="${build.gensrc}/${replacestring}/fonts/base14/TimesBoldItalic.java"> |
| <param name="encoding" expression="${textfontencoding}"/> |
| </style> |
| <style in="${Symbol.xml}" style="${fontfile.xsl}" |
| out="${build.gensrc}/${replacestring}/fonts/base14/Symbol.java"/> |
| <style in="${ZapfDingbats.xml}" style="${fontfile.xsl}" |
| out="${build.gensrc}/${replacestring}/fonts/base14/ZapfDingbats.java"/> |
| |
| <!-- prepare JDK dependant files --> |
| <copy todir="${build.gensrc}" filtering="on"> |
| <mapper type="glob" from="*.javat" to="*.java"/> |
| <fileset dir="${src.java}"> |
| <include name="**/*.javat"/> |
| </fileset> |
| </copy> |
| |
| </target> |
| |
| <!-- =================================================================== --> |
| <!-- Compiles the source directory --> |
| <!-- =================================================================== --> |
| <target name="compile-src" depends="codegen, prepare"> |
| <echo message="Compiling the sources "/> |
| <!-- create directories --> |
| <mkdir dir="${build.dest}"/> |
| |
| <mkdir dir="${viewer.resources.dest.dir}"/> |
| <copy todir="${viewer.resources.dest.dir}"> |
| <fileset dir="${viewer.resources.src.dir}"/> |
| </copy> |
| <mkdir dir="${viewer.images.dest.dir}"/> |
| <copy todir="${viewer.images.dest.dir}"> |
| <fileset dir="${viewer.images.src.dir}"/> |
| </copy> |
| |
| <javac destdir="${build.dest}" debug="${debug}" deprecation="${deprecation}" optimize="${optimize}"> |
| <src path="${build.gensrc}"/> |
| <src path="${src.java}"/> |
| <classpath refid="libs-build-classpath"/> |
| <patternset refid="base-sources"/> |
| </javac> |
| </target> |
| |
| <target name="compile-jimi" depends="compile-src" if="jimi.present"> |
| <echo message="Jimi library is present. Fop installs jimi support."/> |
| <javac destdir="${build.dest}" debug="${debug}" deprecation="${deprecation}" optimize="${optimize}"> |
| <src path="${src.java}"/> |
| <classpath refid="libs-build-classpath"/> |
| <include name="**/${jimi}"/> |
| </javac> |
| </target> |
| |
| <target name="compile-jai" depends="compile-src" if="jai.present"> |
| <echo message="JAI library is present. Fop installs JAI support."/> |
| <javac destdir="${build.dest}" debug="${debug}" deprecation="${deprecation}" optimize="${optimize}"> |
| <src path="${src.java}"/> |
| <classpath refid="libs-build-classpath"/> |
| <include name="**/${jai}"/> |
| </javac> |
| </target> |
| |
| <target name="compile-jce" depends="compile-src" if="jce.present"> |
| <echo message="JCE is present. Fop installs JCE-dependent classes (for PDF encryption)."/> |
| <javac destdir="${build.dest}" debug="${debug}" deprecation="${deprecation}" optimize="${optimize}"> |
| <src path="${src.java}"/> |
| <classpath refid="libs-build-classpath"/> |
| <include name="**/pdf/PDFEncryptionJCE.java"/> |
| </javac> |
| </target> |
| |
| <target name="compile" depends="compile-src,compile-jimi,compile-jai,compile-jce" description="Compiles the source code"/> |
| |
| <!-- =================================================================== --> |
| <!-- compiles hyphenation patterns --> |
| <!-- =================================================================== --> |
| <target name="hyphenation" depends="prepare"> |
| <path id="hyph-classpath"> |
| <path refid="libs-build-classpath"/> |
| <pathelement location="${build.dir}/classes"/> |
| </path> |
| <taskdef name="serHyph" classname="org.apache.fop.tools.anttasks.SerializeHyphPattern" classpathref="hyph-classpath"/> |
| <serHyph includes="*.xml" |
| sourceDir="${hyph.dir}" |
| targetDir="${build.dest}/hyph"/> |
| </target> |
| |
| <!-- =================================================================== --> |
| <!-- Creates the class package --> |
| <!-- =================================================================== --> |
| <target name="package" depends="compile,hyphenation" description="Generates the jar files"> |
| <echo message="Creating the jar file ${build.dir}/${name}.jar"/> |
| |
| <tstamp> |
| <format property="ts" pattern="yyyyMMdd-HHmmss-z"/> |
| </tstamp> |
| <pathconvert property="manifest-classpath" dirsep="/" pathsep=" " refid="libs-run-classpath"> |
| <map from="${basedir}${file.separator}lib${file.separator}" to=""/> |
| <map from="${basedir}${file.separator}build${file.separator}fop.jar" to=""/> |
| </pathconvert> |
| |
| <jar jarfile="${build.dir}/${name}.jar" basedir="${build.dest}" includes="org/**,hyph/**"> |
| <manifest> |
| <attribute name="Main-Class" value="${main.class}"/> |
| <attribute name="Class-Path" value="${manifest-classpath}"/> |
| <attribute name="Implementation-Title" value="${Name}"/> |
| <attribute name="Implementation-Version" value="${version}"/> |
| <attribute name="Implementation-Vendor" value="Apache Software Foundation (http://xml.apache.org/fop/)"/> |
| <attribute name="Build-Id" value="${ts} (${user.name} [${os.name} ${os.version} ${os.arch}, Java ${java.runtime.version}])"/> |
| </manifest> |
| </jar> |
| </target> |
| |
| <target name="servlet" depends="package" description="Generates the WAR with the sample FOP servlet"> |
| <echo message="Creating the WAR file"/> |
| <war warfile="${build.dir}/fop.war" webxml="${src.dir}/conf/web.xml"> |
| <lib dir="${lib.dir}"> |
| <include name="avalon-framework*.jar"/> |
| <include name="batik*.jar"/> |
| </lib> |
| <lib dir="${build.dir}"> |
| <include name="fop.jar"/> |
| </lib> |
| </war> |
| </target> |
| |
| <target name="pdf-transcoder" depends="compile" description="Generates the jar for the pdf transcoder for Batik"> |
| <echo message="Creating the jar file ${build.dir}/pdf-transcoder.jar"/> |
| |
| <property name="pdf-transcoder.name" value="FOP PDF Transcoder"/> |
| <property name="pdf-transcoder.version" value="1.0beta2"/> |
| <tstamp> |
| <format property="ts" pattern="yyyyMMdd-HHmmss-z"/> |
| </tstamp> |
| |
| <jar jarfile="${build.dir}/pdf-transcoder.jar"> |
| <fileset dir="${build.dest}" includes="org/apache/fop/pdf/**"/> |
| <fileset dir="${build.dest}" includes="org/apache/fop/svg/**"/> |
| <fileset dir="${build.dest}"> |
| <include name="org/apache/fop/render/pdf/**"/> |
| <exclude name="org/apache/fop/render/pdf/PDFRenderer.class"/> |
| <exclude name="org/apache/fop/render/pdf/PDFXMLHandler*"/> |
| </fileset> |
| <fileset dir="${build.dest}"> |
| <include name="org/apache/fop/fonts/**"/> |
| <include name="org/apache/fop/layout/Font*.class"/> |
| <include name="org/apache/fop/image/FopImag*.class"/> |
| <include name="org/apache/fop/image/Jpeg*"/> |
| <include name="org/apache/fop/image/Abstract*"/> |
| <include name="org/apache/fop/util/StreamUtilities.class"/> |
| </fileset> |
| <manifest> |
| <attribute name="Implementation-Title" value="${pdf-transcoder.name}"/> |
| <attribute name="Implementation-Version" value="${pdf-transcoder.version}"/> |
| <attribute name="Implementation-Vendor" value="Apache Software Foundation (http://xml.apache.org/fop/)"/> |
| <attribute name="Build-Id" value="${ts} (${user.name} [${os.name} ${os.version} ${os.arch}, Java ${java.runtime.version}])"/> |
| </manifest> |
| </jar> |
| </target> |
| |
| <target name="all" depends="package, servlet, pdf-transcoder"/> <!-- "all" target for us Makefile converts ;-) --> |
| |
| <!-- =================================================================== --> |
| <!-- Testing --> |
| <!-- =================================================================== --> |
| <target name="test" depends="package" description="Runs the test suite"> |
| <echo message="Testing build in jar file ${build.dir}/${name}.jar against reference"/> |
| <property name="ref-version" value="FOP 1.0dev"/> |
| <path id="testtask-classpath"> |
| <path refid="libs-build-classpath"/> |
| <pathelement location="${build.dir}/classes"/> |
| </path> |
| <taskdef name="runTest" classname="org.apache.fop.tools.anttasks.RunTest" classpathref="testtask-classpath"/> |
| <runTest testSuite="basictests.xml" basedir="test/" reference="test/reference/fop.jar" |
| refVersion="${ref-version}"/> |
| <runTest testSuite="bugtests.xml" basedir="test/" reference="test/reference/fop.jar" |
| refVersion="${ref-version}"/> |
| <!-- |
| <runTest testSuite="testsuite.xml" basedir="TestSuite/NIST/" reference="test/reference/fop.jar" |
| refVersion="${ref-version}"/> |
| <runTest testSuite="testsuite.xml" basedir="TestSuite/contrib/IBM/" reference="test/reference/fop.jar" |
| refVersion="${ref-version}"/> |
| <runTest testSuite="testsuite.xml" basedir="TestSuite/contrib/FOP/" reference="test/reference/fop.jar" |
| refVersion="${ref-version}"/> |
| <runTest testSuite="testsuite.xml" basedir="TestSuite/contrib/XEP/" reference="test/reference/fop.jar" |
| refVersion="${ref-version}"/> |
| <runTest testSuite="testsuite.xml" basedir="TestSuite/contrib/XSLFormatter/" reference="test/reference/fop.jar" |
| refVersion="${ref-version}"/> |
| --> |
| </target> |
| |
| <!-- =================================================================== --> |
| <!-- Prepares the docs --> |
| <!-- =================================================================== --> |
| <target name="prepare-docs" depends="init"> |
| <mkdir dir="${build.docs}"/> |
| </target> |
| |
| <!-- =================================================================== --> |
| <!-- Creates the API documentation --> |
| <!-- =================================================================== --> |
| <target name="javadocs" depends="prepare" description="Generates javadocs"> |
| <echo message="Producing the javadoc files "/> |
| <mkdir dir="${build.javadocs}"/> |
| |
| <javadoc |
| packagenames="${packages}" |
| destdir="${build.javadocs}" |
| classpathref="libs-build-classpath" |
| author="true" |
| version="true" |
| windowtitle="${Name} API" |
| doctitle="${Name}" |
| bottom="Copyright © ${year} Apache Software Foundation. All Rights Reserved." |
| overview="${src.dir}/overview.html" |
| failonerror="true"> |
| <sourcepath> |
| <pathelement path="${src.java}"/> |
| <pathelement path="${build.gensrc}"/> |
| </sourcepath> |
| </javadoc> |
| </target> |
| |
| <target name="html" depends="javadocs, htmldoc" description="Generates javadocs and documentation in html format"/> |
| |
| <target name="htmldoc" depends="html-fop, html-design" description="Generates documentation in html format"/> |
| |
| <target name="html-fop" depends="prepare"> |
| <copy file="${xdocs}/fop.xml" tofile="${xdocs}/book.xml" filtering="on"/> |
| <java classname="${doc.generator}" fork="yes"> |
| <classpath refid="libs-build-classpath"/> |
| <arg line="targetDirectory=${docs} ${xdocs}/book.xml ${skins}"/> |
| </java> |
| </target> |
| |
| <target name="html-design" depends="prepare, html-newdesign, |
| html-altdesign, html-understanding"/> |
| |
| <target name="html-newdesign" depends="prepare"> |
| <java classname="${doc.generator}" fork="yes"> |
| <classpath refid="libs-build-classpath"/> |
| <arg line="targetDirectory=${docs}/design/ docs/design/book.xml ${skins}"/> |
| </java> |
| </target> |
| |
| <target name="html-altdesign" depends="prepare"> |
| <java classname="${doc.generator}" fork="yes"> |
| <classpath refid="libs-build-classpath"/> |
| <arg line="targetDirectory=${docs}/design/alt.design/ docs/design/alt.design/book.xml ${skins}"/> |
| </java> |
| </target> |
| |
| <target name="html-understanding" depends="prepare"> |
| <java classname="${doc.generator}" fork="yes"> |
| <classpath refid="libs-build-classpath"/> |
| <arg line="targetDirectory=${docs}/design/understanding docs/design/understanding/book.xml ${skins}"/> |
| </java> |
| </target> |
| |
| <target name="pdfdoc" depends="package" description="Generates the documentation in pdf format"> |
| <copy file="${xdocs}/fop.xml" tofile="${xdocs}/book.xml" filtering="on"/> |
| <style in="${xdocs}/fop.xml" style="${xdocs}/xml2xml.xsl" out="${xdocs}/fop-doc.xml"/> |
| <style in="${xdocs}/fop-doc.xml" style="${xdocs}/xml2pdf.xsl" out="${xdocs}/fop.fo"/> |
| |
| <java classname="org.apache.fop.apps.Fop" fork="yes"> |
| <classpath refid="libs-run-classpath"/> |
| <arg line="-fo ${xdocs}/fop.fo -pdf ${xdocs}/fop.pdf"/> |
| </java> |
| </target> |
| |
| <!-- =================================================================== --> |
| <!-- Checkstyle --> |
| <!-- =================================================================== --> |
| <target name="checkstyle" depends="prepare" description="Runs Checkstyle for a code quality report"> |
| <available property="checkstyle.available" classname="com.puppycrawl.tools.checkstyle.CheckStyleTask" classpathref="checkstylepath"/> |
| <fail message="Please put checkstyle-all-*.jar in the lib directory. Get it from http://checkstyle.sourceforge.net" unless="checkstyle.available"/> |
| <taskdef name="checkstyle" classname="com.puppycrawl.tools.checkstyle.CheckStyleTask" classpathref="checkstylepath"/> |
| |
| <checkstyle properties="checkstyle.cfg" failonviolation="false"> |
| <fileset dir="${src.java}" includes="org/apache/fop/**/*.java"/> |
| <formatter type="plain" toFile="${build.dir}/checkstyle_report.txt"/> |
| <formatter type="xml" toFile="${build.dir}/checkstyle_report.xml"/> |
| </checkstyle> |
| <available property="checkstyle.stylesheet.available" file="checkstyle-noframes.xsl"/> |
| <antcall target="checkstyle-html"/> |
| </target> |
| |
| <target name="checkstyle-html" if="checkstyle.stylesheet.available"> |
| <style in="${build.dir}/checkstyle_report.xml" out="${build.dir}/checkstyle_report.html" style="checkstyle-noframes.xsl"/> |
| </target> |
| |
| <!-- =================================================================== --> |
| <!-- Creates the distribution --> |
| <!-- =================================================================== --> |
| <target name="dist" depends="dist-src,dist-bin" description="Generates the distribution package"/> |
| |
| <target name="dist-bin" depends="all"> |
| <echo message="Building the binary distribution files (zip,tar)"/> |
| <mkdir dir="${dist.bin.result.dir}"/> |
| <copy todir="${dist.bin.result.dir}"> |
| <fileset refid="dist.bin"/> |
| <fileset refid="dist.bin.lib"/> |
| </copy> |
| <mkdir dir="${dist.bin.result.dir}/build"/> |
| <copy todir="${dist.bin.result.dir}/build" file="build/fop.jar"/> |
| <chmod file="${dist.bin.result.dir}/fop.sh" perm="ugo+rx"/> |
| |
| <zip zipfile="${Name}-${version}-bin.zip" basedir="${dist.bin.dir}" includes="**"/> |
| <tar tarfile="${Name}-${version}-bin.tar" basedir="${dist.bin.dir}" includes="**"/> |
| <gzip zipfile="${Name}-${version}-bin.tar.gz" src="${Name}-${version}-bin.tar"/> |
| <delete file="${Name}-${version}-bin.tar"/> |
| </target> |
| |
| <target name="dist-src" depends="all, javadocs"> |
| <echo message="Building the source distribution files (zip,tar)"/> |
| <mkdir dir="${dist.src.result.dir}"/> |
| <copy todir="${dist.src.result.dir}"> |
| <fileset refid="dist.src"/> |
| </copy> |
| <copy todir="${dist.src.result.dir}/javadocs"> |
| <fileset dir="${build.javadocs}"/> |
| </copy> |
| <mkdir dir="${dist.src.result.dir}/build"/> |
| <copy todir="${dist.src.result.dir}/build" file="build/fop.jar"/> |
| <chmod file="${dist.src.result.dir}/build.sh" perm="ugo+rx"/> |
| <chmod file="${dist.src.result.dir}/fop.sh" perm="ugo+rx"/> |
| |
| <zip zipfile="${Name}-${version}-src.zip" basedir="${dist.src.dir}" includes="**"/> |
| <tar tarfile="${Name}-${version}-src.tar" basedir="${dist.src.dir}" includes="**"/> |
| <gzip zipfile="${Name}-${version}-src.tar.gz" src="${Name}-${version}-src.tar"/> |
| <delete file="${Name}-${version}-src.tar"/> |
| </target> |
| |
| <!-- =================================================================== --> |
| <!-- Generate example PDFs --> |
| <!-- =================================================================== --> |
| <target name="examples" depends="package" description="Generates example PDF files"> |
| <taskdef name="fop" classname="org.apache.fop.tools.anttasks.Fop" |
| classpathref="libs-run-classpath"/> |
| <mkdir dir="${build.examples.dir}"/> |
| <fop format="${build.property.examples.mime.type}" outdir="${build.examples.dir}" |
| messagelevel="debug" basedir="${fo.examples.dir}"> |
| <fileset dir="${fo.examples.dir}"> |
| <include name="**/*.fo"/> |
| </fileset> |
| </fop> |
| </target> |
| |
| <!-- =================================================================== --> |
| <!-- Special target for Gump --> |
| <!-- =================================================================== --> |
| <target name="gump" depends="all, javadocs"/> |
| <!-- =================================================================== --> |
| <!-- Clean targets --> |
| <!-- =================================================================== --> |
| <target name="clean" depends="init" description="Cleans the build directory"> |
| <delete dir="${build.dir}"/> |
| </target> |
| |
| <target name="distclean" depends="clean" description="Cleans the distribution target directories"> |
| <delete dir="${dist.src.dir}"/> |
| <delete dir="${dist.bin.dir}"/> |
| <delete> |
| <fileset dir="${basedir}" includes="${Name}-*.tar.gz"/> |
| <fileset dir="${basedir}" includes="${Name}-*.zip"/> |
| </delete> |
| </target> |
| |
| <target name="validate-xdocs" depends="init" description="Validate the |
| xdocs. Point schemas.dir to Forrest's 'schemas' directory."> |
| <property name="schemas.dir" value="../xml-forrest/src/resources/schema"/> |
| <xmlvalidate failonerror="no"> |
| <fileset dir="${xdocs.dir}" includes="**.xml"/> |
| <xmlcatalog> |
| <entity publicId="-//APACHE//DTD Compliance V1.0//EN" |
| location="src/documentation/resources/schema/dtd/compliance-v10.dtd"/> |
| <entity publicId="-//APACHE//DTD Documentation V1.1//EN" |
| location="${schemas.dir}/dtd/document-v11.dtd"/> |
| <entity publicId="-//APACHE//DTD Specification V1.1//EN" |
| location="${schemas.dir}/dtd/specification-v11.dtd"/> |
| <entity publicId="-//APACHE//DTD FAQ V1.1//EN" |
| location="${schemas.dir}/dtd/faq-v11.dtd"/> |
| <entity publicId="-//APACHE//DTD Changes V1.1//EN" |
| location="${schemas.dir}/dtd/changes-v11.dtd"/> |
| <entity publicId="-//APACHE//DTD Todo V1.1//EN" |
| location="${schemas.dir}/dtd/todo-v11.dtd"/> |
| <entity publicId="-//APACHE//DTD Cocoon Documentation Book V1.0//EN" |
| location="${schemas.dir}/dtd/book-cocoon-v10.dtd"/> |
| <entity publicId="-//APACHE//DTD Cocoon Documentation Tab V1.0//EN" |
| location="${schemas.dir}/dtd/tab-cocoon-v10.dtd"/> |
| <entity publicId="-//APACHE//DTD How-to V1.0//EN" |
| location="${schemas.dir}/dtd/howto-v10.dtd"/> |
| <entity publicId="-//APACHE//DTD Gump Descriptor V1.0//EN" |
| location="${schemas.dir}/dtd/xgump-draft.dtd"/> |
| <entity publicId="-//APACHE//DTD JavaDoc V1.0//EN" |
| location="${schemas.dir}/dtd/javadoc-v04draft.dtd"/> |
| <entity publicId="-//APACHE//DTD Contributors V1.0//EN" |
| location="${schemas.dir}/dtd/contributors-v10.dtd"/> |
| <entity publicId="-//Outerthought//DTD Libre Configuration V0.1//EN" |
| location="${schemas.dir}/dtd/libre-v01.dtd"/> |
| <entity publicId="-//APACHE//ENTITIES Documentation V1.1//EN" |
| location="${schemas.dir}/dtd/document-v11.mod"/> |
| <entity publicId="-//APACHE//ENTITIES FAQ V1.1//EN" |
| location="${schemas.dir}/dtd/faq-v11.mod"/> |
| <entity publicId="-//APACHE//ENTITIES Todo V1.1//EN" |
| location="${schemas.dir}/dtd/todo-v11.mod"/> |
| <entity publicId="-//APACHE//ENTITIES Common Elements V1.0//EN" |
| location="${schemas.dir}/dtd/common-elems-v10.mod"/> |
| <entity publicId="-//APACHE//ENTITIES Common Character Entity Sets V1.0//EN" |
| location="${schemas.dir}/dtd/common-charents-v10.mod"/> |
| |
| <entity publicId="ISO 8879-1986//ENTITIES Added Latin 1//EN//XML" |
| location="${schemas.dir}/entity/ISOlat1.pen"/> |
| <entity publicId="ISO 9573-15:1993//ENTITIES Greek Letters//EN//XML" |
| location="${schemas.dir}/entity/ISOgrk1.pen"/> |
| <entity publicId="ISO 8879:1986//ENTITIES Publishing//EN//XML" |
| location="${schemas.dir}/entity/ISOpub.pen"/> |
| <entity publicId="ISO 8879:1986//ENTITIES General Technical//EN//XML" |
| location="${schemas.dir}/entity/ISOtech.pen"/> |
| <entity publicId="ISO 8879:1986//ENTITIES Numeric and Special Graphic//EN//XML" |
| location="${schemas.dir}/entity/ISOnum.pen"/> |
| <entity publicId="ISO 8879:1986//ENTITIES Diacritical Marks//EN//XML" |
| location="${schemas.dir}/entity/ISOdia.pen"/> |
| <entity publicId="ISO 8879:1986//ENTITIES Added Latin 1//EN//XML" |
| location="${schemas.dir}/entity/ISOlat1.pen"/> |
| </xmlcatalog> |
| </xmlvalidate> |
| </target> |
| </project> |