1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510 |
- <?xml version="1.0"?>
- <!--
- 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.
- -->
- <!-- ===========================================================================
-
- * ================== *
- | FOP build system |
- * ================== *
-
- Building instructions
- =====================
-
- First, install Ant (http://ant.apache.org). Check that ant or ant.bat
- is in your search path and that JAVA_HOME and ANT_HOME are properly set.
- Next make sure your current working directory is where this very file is
- located. Then type
-
- ant
-
- 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://xmlgraphics.apache.org/fop
-
-
- Build targets
- =============
-
- The build system is not only responsible for compiling Fop into a jar file,
- but is also responsible for creating the javadocs, distributions, examples
- and a miscellaneous stuff. In fact, the file you have here is _exactly_ what
- is used by fop maintainers to take care of nearly everything in the Fop
- project, no less and no more.
-
- Call the Ant (see above) with the parameter "-projecthelp" to get a
- list of possible build targets.
-
- ============================================================================ -->
- <project default="all" basedir="." name="fop">
- <!-- See build.properties and build-local.properties for overriding build settings. -->
- <!-- build-local.properties is not stored in SVN and overrides values from build.properties -->
- <property environment="env"/>
- <property file="${basedir}/build-local.properties"/>
- <property file="${basedir}/build.properties"/>
- <fileset dir="${basedir}/.." id="dist.bin">
- <include name="KEYS"/>
- <include name="LICENSE"/>
- <include name="NOTICE"/>
- <include name="README"/>
- <include name="fop/conf/**"/>
- <include name="fop/examples/**"/>
- <include name="fop/fop"/>
- <include name="fop/fop.bat"/>
- <include name="fop/fop.cmd"/>
- <include name="fop/fop.js"/>
- <include name="fop/status.xml"/>
- </fileset>
- <fileset dir="${basedir}/.." id="dist.bin.lib">
- <patternset id="dist.lib">
- <include name="fop/lib/README*"/>
- <include name="fop/lib/avalon-framework*"/>
- <include name="fop/lib/batik*"/>
- <include name="fop/lib/commons-io*"/>
- <include name="fop/lib/commons-logging*"/>
- <include name="fop/lib/fontbox*"/>
- <include name="fop/lib/serializer*"/>
- <include name="fop/lib/xalan*"/>
- <include name="fop/lib/xerces*"/>
- <include name="fop/lib/xml-apis*"/>
- <include name="fop/lib/xmlgraphics-commons*"/>
- </patternset>
- </fileset>
- <patternset id="dist.src.lib.build">
- <include name="fop/lib/build/asm*"/>
- <include name="fop/lib/build/hamcrest*"/>
- <include name="fop/lib/build/jaxen*"/>
- <include name="fop/lib/build/mockito*"/>
- <include name="fop/lib/build/objenesis*"/>
- <include name="fop/lib/build/pmd*"/>
- <include name="fop/lib/build/qdox*"/>
- <include name="fop/lib/build/xmlunit*"/>
- </patternset>
- <fileset dir="${basedir}/.." id="dist.src">
- <include name="KEYS"/>
- <include name="LICENSE"/>
- <include name="NOTICE"/>
- <include name="README"/>
- <include name="fop/build.*"/>
- <include name="fop/checkstyle*"/>
- <exclude name="fop/checkstyle-noframes.xsl"/>
- <include name="fop/conf/**"/>
- <include name="fop/examples/**"/>
- <include name="fop/findbugs*"/>
- <include name="fop/fop"/>
- <include name="fop/fop.bat"/>
- <include name="fop/fop.cmd"/>
- <include name="fop/fop.js"/>
- <include name="fop/forrest.*"/>
- <include name="fop/hyph/hyphenation.dtd"/>
- <include name="fop/hyph/readme"/>
- <include name="fop/jacoco*"/>
- <include name="fop/known-issues.xml"/>
- <include name="fop/lib/servlet*"/>
- <include name="fop/status.xml"/>
- <include name="fop*/pom.xml"/>
- <include name="pom.xml"/>
- <include name="*/src/**"/>
- <include name="fop/test/**"/>
- <patternset refid="dist.lib"/>
- <patternset refid="dist.src.lib.build"/>
- </fileset>
- <path id="libs-build-classpath">
- <fileset dir="${basedir}/lib">
- <include name="*.jar"/>
- </fileset>
- </path>
- <property name="lib-tools" value="${basedir}/lib/build"/>
- <path id="libs-tools-build-classpath">
- <path refid="libs-build-classpath"/>
- <fileset dir="${lib-tools}">
- <include name="*.jar"/>
- </fileset>
- </path>
- <path id="libs-run-classpath">
- <path refid="libs-build-classpath"/>
- <fileset dir="${basedir}/build">
- <include name="fop.jar"/>
- <include name="fop-hyph.jar"/>
- </fileset>
- </path>
- <patternset id="exclude-jai">
- <exclude name="org/apache/fop/util/bitmap/JAIMonochromeBitmapConverter.java" unless="jai.present"/>
- </patternset>
- <patternset id="exclude-jce-dependencies">
- <exclude name="org/apache/fop/pdf/PDFEncryptionJCE.java" unless="jce.present"/>
- </patternset>
- <patternset id="exclude-codegen">
- <exclude name="org/apache/fop/tools/Event*.java"/>
- </patternset>
- <property name="Name" value="Apache FOP"/>
- <property name="name" value="fop"/>
- <property name="NAME" value="FOP"/>
- <property name="version" value="2.2.0-SNAPSHOT"/>
- <property name="year" value="1999-2017"/>
- <property name="javac.debug" value="on"/>
- <property name="javac.optimize" value="off"/>
- <property name="javac.deprecation" value="on"/>
- <property name="javac.source" value="1.6"/>
- <property name="javac.target" value="1.6"/>
- <property name="javac.fork" value="no"/>
- <property name="junit.fork" value="yes"/>
- <property name="junit.haltonfailure" value="off"/>
- <property name="junit.maxmemory" value="1024m"/>
- <property name="junit.printsummary" value="off"/>
- <property name="junit.formatter.brief" value="on"/>
- <property name="javadoc.packages" value="org.apache.fop.*"/>
- <property name="core.dir" value="${basedir}/../fop-core"/>
- <property name="core.src.dir" value="${core.dir}/src"/>
- <property name="core.src.java.dir" value="${core.src.dir}/main/java"/>
- <property name="core.checkstyle.dir" value="${core.src.dir}/tools/resources/checkstyle"/>
- <property name="core.findbugs.dir" value="${core.src.dir}/tools/resources/findbugs"/>
- <property name="events.dir" value="${basedir}/../fop-events"/>
- <property name="events.src.dir" value="${events.dir}/src"/>
- <property name="events.src.java.dir" value="${events.src.dir}/main/java"/>
- <property name="events.checkstyle.dir" value="${events.src.dir}/tools/resources/checkstyle"/>
- <property name="events.findbugs.dir" value="${events.src.dir}/tools/resources/findbugs"/>
- <property name="sandbox.dir" value="${basedir}/../fop-sandbox"/>
- <property name="sandbox.src.dir" value="${sandbox.dir}/src"/>
- <property name="sandbox.src.java.dir" value="${sandbox.src.dir}/main/java"/>
- <property name="servlet.dir" value="${basedir}/../fop-servlet"/>
- <property name="servlet.src.dir" value="${servlet.dir}/src"/>
- <property name="servlet.src.java.dir" value="${servlet.src.dir}/main/java"/>
- <property name="util.dir" value="${basedir}/../fop-util"/>
- <property name="util.src.dir" value="${util.dir}/src"/>
- <property name="util.src.java.dir" value="${util.src.dir}/main/java"/>
- <property name="util.checkstyle.dir" value="${util.src.dir}/tools/resources/checkstyle"/>
- <property name="util.findbugs.dir" value="${util.src.dir}/tools/resources/findbugs"/>
- <property name="src.dir" value="${core.src.dir}"/>
- <property name="src.codegen.dir" value="${src.dir}/main/codegen"/>
- <property name="src.codegen.fonts.dir" value="${src.codegen.dir}/fonts"/>
- <property name="src.java.dir" value="${src.dir}/main/java"/>
- <property name="src.resources.dir" value="${src.dir}/main/resources"/>
- <property name="src.sandbox.dir" value="${sandbox.src.dir}"/>
- <property name="src.viewer.resources.dir" value="${core.src.dir}/main/resources/org/apache/fop/render/awt/viewer/resources"/>
- <property name="src.viewer.images.dir" value="${core.src.dir}/main/resources/org/apache/fop/render/awt/viewer/images"/>
- <property name="fo.examples.dir" value="${basedir}/examples/fo/basic"/>
- <property name="fo.examples.userconfig" value="conf/fop.xconf"/>
- <property name="fo.examples.include" value="**/*.fo"/>
- <property name="fo.examples.force" value="false"/>
- <property name="xml.tests.include" value="**/*.xml"/>
- <property name="xml.tests.force" value="false"/>
- <property name="xml.tests.userconfig" value="conf/fop.xconf"/>
- <property name="lib.dir" value="${basedir}/lib"/>
- <property name="user.hyph.dir" value="${basedir}/hyph"/>
- <property name="unidata.dir" value="${basedir}/UNIDATA"/>
- <property name="hyph.stacksize" value="512k"/>
- <property name="test.dir" value="${basedir}/test"/>
- <property name="test.java.dir" value="${src.dir}/test/java"/>
- <property name="test.resources.dir" value="${src.dir}/test/resources"/>
- <property name="build.dir" value="${basedir}/build"/>
- <property name="build.gensrc.dir" value="${build.dir}/gensrc"/>
- <property name="build.classes.dir" value="${build.dir}/classes"/>
- <property name="build.sandbox-classes.dir" value="${build.dir}/sandbox-classes"/>
- <property name="build.codegen-classes.dir" value="${build.dir}/codegen-classes"/>
- <property name="build.codegen.fonts.dir" value="${build.gensrc.dir}/org/apache/fop/fonts/"/>
- <property name="build.javadocs.dir" value="${build.dir}/javadocs"/>
- <property name="build.examples.dir" value="${build.dir}/examples"/>
- <property name="build.unit.tests.dir" value="${build.dir}/test-classes"/>
- <property name="build.tests.dir" value="${build.dir}/tests"/>
- <property name="build.viewer.resources.dir" value="${build.classes.dir}/org/apache/fop/render/awt/viewer/resources"/>
- <property name="build.viewer.images.dir" value="${build.classes.dir}/org/apache/fop/render/awt/viewer/images"/>
- <property name="build.property.examples.mime.type" value="application/pdf"/>
- <property name="build.property.tests.mime.type" value="application/pdf"/>
- <property name="dist.bin.dir" value="${basedir}/dist-bin"/>
- <property name="dist.src.dir" value="${basedir}/dist-src"/>
- <property name="nightly.dir" value="${basedir}/nightly"/>
- <property name="dist.bin.result.dir" value="${dist.bin.dir}/${name}-${version}"/>
- <property name="dist.src.result.dir" value="${dist.src.dir}/${name}-${version}"/>
- <tstamp/>
- <property name="samedir" value="${basedir}"/>
- <property name="junit.reports.dir" value="${build.dir}/test-reports"/>
- <property name="junit.html.reports.dir" value="${build.dir}/test-reports/html"/>
- <!-- Importing Apache Forrest for building the docs -->
- <!--
- <property environment="env"/>
- <property name="forrest.home" value="${env.FORREST_HOME}"/>
- <import file="${env.FORREST_HOME}/main/forrest.build.xml" optional="true"/>
- -->
-
- <presetdef name="javac">
- <javac fork="${javac.fork}"
- debug="${javac.debug}"
- deprecation="${javac.deprecation}"
- optimize="${javac.optimize}"
- source="${javac.source}" target="${javac.target}"/>
- </presetdef>
-
- <presetdef name="junit">
- <junit haltonfailure="${junit.haltonfailure}"
- fork="${junit.fork}"
- printsummary="${junit.printsummary}"
- maxmemory="${junit.maxmemory}"/>
- </presetdef>
-
- <!-- =================================================================== -->
- <!-- Initialization target -->
- <!-- =================================================================== -->
- <target name="init" depends="init-avail">
- </target>
- <target name="init-avail">
- <echo message="------------------- ${Name} ${version} [${year}] ----------------"/>
- <echo message="See build.properties and build-local.properties for additional build settings"/>
- <echo message="${ant.version}"/>
- <echo message="VM: ${java.vm.version}, ${java.vm.vendor}"/>
- <echo message="JAVA_HOME: ${env.JAVA_HOME}"/>
- <available property="jai.present" classname="javax.media.jai.JAI" classpathref="libs-build-classpath"/>
- <condition property="jai.message" value="JAI Support PRESENT">
- <equals arg1="${jai.present}" arg2="true"/>
- </condition>
- <condition property="jai.message" value="JAI Support NOT Present">
- <not>
- <equals arg1="${jai.present}" arg2="true"/>
- </not>
- </condition>
- <echo message="${jai.message}"/>
- <available property="jce.present" classname="javax.crypto.Cipher" classpathref="libs-build-classpath"/>
- <condition property="jce.message" value="JCE Support PRESENT">
- <equals arg1="${jce.present}" arg2="true"/>
- </condition>
- <condition property="jce.message" value="JCE Support NOT Present">
- <not>
- <equals arg1="${jce.present}" arg2="true"/>
- </not>
- </condition>
- <echo message="${jce.message}"/>
- <available property="jdk14.present" classname="java.lang.CharSequence"/>
- <fail message="${Name} requires at least Java 1.4!" unless="jdk14.present"/>
- <available property="junit.present" classname="org.junit.Test" classpathref="libs-tools-build-classpath"/>
- <condition property="junit.message" value="JUnit Support PRESENT">
- <equals arg1="${junit.present}" arg2="true"/>
- </condition>
- <condition property="junit.message" value="JUnit Support NOT Present - Committers are required to have JUnit working">
- <not>
- <equals arg1="${junit.present}" arg2="true"/>
- </not>
- </condition>
- <echo message="${junit.message}"/>
- <condition property="xmlunit.present">
- <and>
- <available classname="org.custommonkey.xmlunit.XMLTestCase" classpathref="libs-tools-build-classpath"/>
- <isset property="junit.present"/>
- </and>
- </condition>
- <condition property="xmlunit.message" value="XMLUnit Support PRESENT">
- <equals arg1="${xmlunit.present}" arg2="true"/>
- </condition>
- <condition property="xmlunit.message" value="XMLUnit Support NOT Present - you can get it from http://xmlunit.sourceforge.net">
- <not>
- <equals arg1="${xmlunit.present}" arg2="true"/>
- </not>
- </condition>
- <echo message="${xmlunit.message}"/>
- </target>
- <!-- =================================================================== -->
- <!-- Help on usage -->
- <!-- =================================================================== -->
- <target name="usage">
- <echo message="Use the -projecthelp option instead"/>
- </target>
- <!-- =================================================================== -->
- <!-- Generate the source code -->
- <!-- =================================================================== -->
- <macrodef name="create-font">
- <attribute name="name"/>
- <sequential>
- <xslt in="${src.codegen.fonts.dir}/@{name}.xml" style="${src.codegen.fonts.dir}/font-file.xsl" out="${build.codegen.fonts.dir}/base14/@{name}.java"/>
- </sequential>
- </macrodef>
- <target name="codegen" depends="init" description="Generates the java files from the xml resources">
- <echo message="Generating the java files from xml resources"/>
- <mkdir dir="${build.gensrc.dir}"/>
- <mkdir dir="${build.gensrc.dir}/org/apache/fop/fonts/base14"/>
- <xslt in="${src.codegen.fonts.dir}/encodings.xml" style="${src.codegen.fonts.dir}/code-point-mapping.xsl" out="${build.codegen.fonts.dir}/CodePointMapping.java"/>
- <xslt basedir="${src.codegen.fonts.dir}" includes="Helvetica*.xml,Times*.xml,Courier*.xml" style="${src.codegen.fonts.dir}/font-file.xsl" destdir="${build.codegen.fonts.dir}/base14/" extension=".java">
- <param name="encoding" expression="WinAnsiEncoding"/>
- </xslt>
- <create-font name="Symbol"/>
- <create-font name="ZapfDingbats"/>
- </target>
- <!-- =================================================================== -->
- <!-- Compiles the source directory -->
- <!-- =================================================================== -->
- <target name="compile-java" depends="init, codegen">
- <!-- create directories -->
- <mkdir dir="${build.classes.dir}"/>
- <javac destdir="${build.classes.dir}" includeAntRuntime="true">
- <src path="${build.gensrc.dir}"/>
- <src path="${core.src.java.dir}"/>
- <src path="${events.src.java.dir}"/>
- <src path="${util.src.java.dir}"/>
- <patternset includes="**/*.java"/>
- <patternset refid="exclude-jce-dependencies"/>
- <patternset refid="exclude-jai"/>
- <patternset refid="exclude-codegen"/>
- <classpath refid="libs-build-classpath"/>
- <compilerarg value="-Xlint:cast"/>
- </javac>
- <mkdir dir="${build.sandbox-classes.dir}"/>
- <javac destdir="${build.sandbox-classes.dir}" includeAntRuntime="true">
- <src path="${src.sandbox.dir}"/>
- <patternset includes="**/*.java"/>
- <patternset refid="exclude-jai"/>
- <patternset refid="exclude-codegen"/>
- <classpath>
- <path refid="libs-build-classpath"/>
- <pathelement location="${build.classes.dir}"/>
- </classpath>
- </javac>
- </target>
- <target name="resourcegen" depends="compile-java">
- <javac destdir="${build.classes.dir}" includeAntRuntime="true">
- <src path="${events.src.java.dir}"/>
- <patternset includes="**/tools/Event*.java"/>
- <classpath>
- <path refid="libs-tools-build-classpath"/>
- <pathelement location="${build.classes.dir}"/>
- </classpath>
- </javac>
- <copy todir="${build.classes.dir}">
- <fileset dir="${src.resources.dir}">
- <include name="**/tools/*.xsl"/>
- </fileset>
- </copy>
- <taskdef name="eventResourceGenerator" classname="org.apache.fop.tools.EventProducerCollectorTask">
- <classpath>
- <path refid="libs-tools-build-classpath"/>
- <pathelement location="${build.classes.dir}"/>
- <pathelement location="${build.codegen-classes.dir}"/>
- </classpath>
- </taskdef>
- <eventResourceGenerator destdir="${build.gensrc.dir}">
- <fileset dir="${src.java.dir}">
- <include name="**/*.java"/>
- </fileset>
- </eventResourceGenerator>
- </target>
- <target name="compile-copy-resources" depends="resourcegen">
- <copy todir="${build.classes.dir}">
- <fileset dir="${src.resources.dir}">
- <include name="META-INF/**"/>
- <include name="**/*.icm"/>
- <include name="**/*.xml"/>
- <include name="**/*.LICENSE.txt"/>
- <include name="**/*.xsl"/>
- </fileset>
- <fileset dir="${build.gensrc.dir}">
- <include name="**/*.xml"/>
- </fileset>
- </copy>
- <copy todir="${build.sandbox-classes.dir}">
- <fileset dir="${src.resources.dir}">
- <include name="META-INF/services/*.ElementMapping"/>
- <include name="META-INF/services/*.FOEventHandler"/>
- <include name="META-INF/services/*.IFDocumentHandler"/>
- <include name="META-INF/services/*.ImageHandler"/>
- <include name="META-INF/services/*.XMLHandler"/>
- </fileset>
- </copy>
- <mkdir dir="${build.viewer.resources.dir}"/>
- <copy todir="${build.viewer.resources.dir}">
- <fileset dir="${src.viewer.resources.dir}"/>
- </copy>
- <mkdir dir="${build.viewer.images.dir}"/>
- <copy todir="${build.viewer.images.dir}">
- <fileset dir="${src.viewer.images.dir}"/>
- </copy>
- <!-- sandbox -->
- <copy todir="${build.sandbox-classes.dir}">
- <fileset dir="${src.sandbox.dir}">
- <include name="META-INF/**"/>
- </fileset>
- </copy>
- </target>
- <target name="compile" depends="compile-java, compile-copy-resources" description="Compiles the source code"/>
- <!-- =================================================================== -->
- <!-- Helper task to generate source files that have already been checked -->
- <!-- into the repository. This task uses Unicode Character Database -->
- <!-- files. This task need only be run when the latter files have been -->
- <!-- updated. This target should never be part of the normal build -->
- <!-- process. Output is UnicodeClasses.CLASSES_XML -->
- <!-- (src/java/org/apache/fop/hyphenation/classes.xml). -->
- <!-- =================================================================== -->
- <target name="codegen-hyphenation-classes">
- <javac destdir="${build.codegen-classes.dir}">
- <src path="${src.codegen.dir}/unicode/java"/>
- </javac>
- <java classname="org.apache.fop.hyphenation.UnicodeClasses" resultproperty="classes.result" classpath="${build.codegen-classes.dir}">
- <arg value="${src.java.dir}/org/apache/fop/hyphenation/classes.xml"/>
- </java>
- <condition property="classes.result.message" value="Generation of classes successful">
- <not>
- <isfailure code="${classes.result}"/>
- </not>
- </condition>
- <condition property="classes.result.message" value="Generation of classes failed">
- <isfailure code="${classes.result}"/>
- </condition>
- <echo message="${classes.result.message}"/>
- </target>
- <!-- =================================================================== -->
- <!-- compiles hyphenation patterns -->
- <!-- =================================================================== -->
- <target name="compile-hyphenation" depends="compile" description="Compiles the hyphenation pattern files">
- <path id="hyph-classpath">
- <path refid="libs-build-classpath"/>
- <pathelement location="${build.classes.dir}"/>
- </path>
- <mkdir dir="${build.classes.dir}/hyph"/>
- <java classname="org.apache.fop.hyphenation.SerializeHyphPattern" fork="true" resultproperty="hyph.result" classpathref="hyph-classpath">
- <arg value="${user.hyph.dir}"/>
- <arg value="${build.classes.dir}/hyph"/>
- <jvmarg value="-Xss${hyph.stacksize}"/>
- </java>
- <condition property="hyph.result.message" value="Hyphenation successful">
- <not>
- <isfailure code="${hyph.result}"/>
- </not>
- </condition>
- <condition property="hyph.result.message" value="Hyphenation failed">
- <isfailure code="${hyph.result}"/>
- </condition>
- <echo message="${hyph.result.message}"/>
- </target>
- <target name="uptodate-jar-hyphenation" depends="compile-hyphenation">
- <uptodate property="jar.hyphenation.uptodate" targetfile="${build.dir}/fop-hyph.jar">
- <srcfiles dir="${build.classes.dir}/hyph"/>
- </uptodate>
- </target>
- <target name="jar-hyphenation" depends="compile-hyphenation,uptodate-jar-hyphenation" description="Generates the hyphenation jar file" unless="jar.hyphenation.uptodate">
- <tstamp>
- <format property="ts" pattern="yyyyMMdd-HHmmss-z"/>
- </tstamp>
- <jar jarfile="${build.dir}/fop-hyph.jar" basedir="${build.classes.dir}" includes="hyph/*.hyp">
- <manifest>
- <attribute name="Implementation-Title" value="${Name}"/>
- <attribute name="Implementation-Version" value="${version}"/>
- <attribute name="Implementation-Vendor" value="The Apache Software Foundation (http://xmlgraphics.apache.org/fop/)"/>
- <attribute name="Build-Id" value="${ts} (${user.name} [${os.name} ${os.version} ${os.arch}, Java ${java.runtime.version}, Target Java ${javac.target}])"/>
- </manifest>
- </jar>
- </target>
- <!-- =================================================================== -->
- <!-- main FOP JARs -->
- <!-- =================================================================== -->
- <target name="uptodate-jar-main" depends="compile">
- <uptodate property="jar.main.uptodate" targetfile="${build.dir}/fop.jar">
- <srcfiles dir="${build.classes.dir}"/>
- </uptodate>
- </target>
- <target name="jar-main" depends="compile,uptodate-jar-main" description="Generates the main jar file" unless="jar.main.uptodate">
- <tstamp>
- <format property="ts" pattern="yyyyMMdd-HHmmss-z"/>
- </tstamp>
- <pathconvert property="manifest.classpath" dirsep="/" pathsep=" " refid="libs-build-classpath">
- <map from="${basedir}${file.separator}lib${file.separator}" to=""/>
- </pathconvert>
- <jar jarfile="${build.dir}/fop.jar">
- <manifest>
- <attribute name="Main-Class" value="org.apache.fop.cli.Main"/>
- <attribute name="Build-Id" value="${ts} (${user.name} [${os.name} ${os.version} ${os.arch}, Java ${java.runtime.version}, Target Java ${javac.target}])"/>
- <section name="org/apache/fop/">
- <attribute name="Specification-Title" value="XSL-FO - Extensible Stylesheet Language"/>
- <attribute name="Specification-Version" value="1.1"/>
- <attribute name="Specification-Vendor" value="World Wide Web Consortium"/>
- <attribute name="Specification-URL" value="http://www.w3.org/TR/xsl"/>
- <attribute name="Implementation-Title" value="${Name}"/>
- <attribute name="Implementation-Version" value="${version}"/>
- <attribute name="Implementation-Vendor" value="The Apache Software Foundation (http://xmlgraphics.apache.org/fop/)"/>
- </section>
- </manifest>
- <metainf dir="${basedir}/.." includes="LICENSE,NOTICE"/>
- <fileset dir="${build.classes.dir}">
- <exclude name="**/tools/Event*.class"/>
- <exclude name="**/tools/*.xsl"/>
- </fileset>
- </jar>
- </target>
- <target name="uptodate-jar-sandbox" depends="compile">
- <uptodate property="jar.sandbox.uptodate" targetfile="${build.dir}/fop-sandbox.jar">
- <srcfiles dir="${build.sandbox-classes.dir}"/>
- </uptodate>
- </target>
- <target name="jar-sandbox" depends="compile,uptodate-jar-sandbox" description="Generates the sandbox jar file" unless="jar.sandbox.uptodate">
- <tstamp>
- <format property="ts" pattern="yyyyMMdd-HHmmss-z"/>
- </tstamp>
- <jar jarfile="${build.dir}/fop-sandbox.jar" basedir="${build.sandbox-classes.dir}">
- <manifest>
- <attribute name="Build-Id" value="${ts} (${user.name} [${os.name} ${os.version} ${os.arch}, Java ${java.runtime.version}, Target Java ${javac.target}])"/>
- </manifest>
- <metainf dir="${basedir}/.." includes="LICENSE,NOTICE"/>
- </jar>
- </target>
- <target name="uptodate-jar-sources" depends="codegen">
- <uptodate property="jar.sources.uptodate" targetfile="${build.dir}/fop-sources.jar">
- <srcfiles dir="${build.gensrc.dir}"/>
- <srcfiles dir="${src.java.dir}"/>
- </uptodate>
- </target>
- <target name="jar-sources" depends="codegen" description="Generates a jar file with all the sources" unless="jar.sources.uptodate">
- <tstamp>
- <format property="ts" pattern="yyyyMMdd-HHmmss-z"/>
- </tstamp>
- <patternset id="java-only">
- <include name="**/*.java"/>
- </patternset>
- <jar jarfile="${build.dir}/${name}-${version}-sources.jar">
- <fileset dir="${build.gensrc.dir}">
- <patternset refid="java-only"/>
- </fileset>
- <fileset dir="${src.java.dir}">
- <patternset refid="java-only"/>
- </fileset>
- <fileset dir="${events.src.java.dir}">
- <patternset refid="java-only"/>
- </fileset>
- <fileset dir="${util.src.java.dir}">
- <patternset refid="java-only"/>
- </fileset>
- <fileset dir="${basedir}/..">
- <include name="LICENSE"/>
- <include name="NOTICE"/>
- </fileset>
- </jar>
- </target>
- <!-- =================================================================== -->
- <!-- Creates the class package -->
- <!-- =================================================================== -->
- <target name="package" depends="jar-main,jar-hyphenation,jar-sandbox" description="Generates the jar files"/>
- <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="${servlet.src.dir}/main/webapp/WEB-INF/web.xml">
- <lib dir="${lib.dir}">
- <include name="avalon-framework*.jar"/>
- <include name="commons-logging*.jar"/>
- <include name="batik*.jar"/>
- <include name="commons-io*.jar"/>
- <include name="xmlgraphics*.jar"/>
- </lib>
- <lib dir="${build.dir}">
- <include name="fop.jar"/>
- </lib>
- </war>
- </target>
- <patternset id="transcoder-classes">
- <!-- General classes -->
- <patternset>
- <include name="org/apache/fop/Version.class"/>
- <include name="org/apache/fop/accessibility/StructureTreeElement.class"/>
- <include name="org/apache/fop/apps/Fop.class"/>
- <include name="org/apache/fop/apps/FOPException.class"/>
- <include name="org/apache/fop/apps/io/**"/>
- <include name="org/apache/fop/area/AreaTreeControl*"/>
- <include name="org/apache/fop/complexscripts/bidi/BidiClass.class"/>
- <include name="org/apache/fop/complexscripts/bidi/BidiConstants.class"/>
- <include name="org/apache/fop/complexscripts/bidi/UnicodeBidiAlgorithm.class"/>
- <include name="org/apache/fop/complexscripts/fonts/*.class"/>
- <include name="org/apache/fop/complexscripts/util/GlyphTester.class"/>
- <include name="org/apache/fop/events/EventProducer.class"/>
- <include name="org/apache/fop/fo/Constants.class"/>
- <include name="org/apache/fop/fo/FOTreeBuilder.class"/>
- <include name="org/apache/fop/image/loader/batik/BatikImageFlavors*.class"/>
- <include name="org/apache/fop/svg/**"/>
- <include name="org/apache/fop/fonts/**"/>
- <include name="org/apache/fop/render/gradient/**"/>
- <include name="org/apache/fop/traits/Direction.class"/>
- <include name="org/apache/fop/traits/MinOptMax.class"/>
- <include name="org/apache/fop/traits/TraitEnum.class"/>
- <include name="org/apache/fop/util/CMYKColorSpace*.class"/>
- <include name="org/apache/fop/util/Color*.class"/>
- <include name="org/apache/fop/util/ASCII*.class"/>
- <include name="org/apache/fop/util/*OutputStream.class"/>
- <include name="org/apache/fop/util/SubInputStream.class"/>
- <include name="org/apache/fop/util/Finalizable.class"/>
- <include name="org/apache/fop/util/CharUtilities.class"/>
- <include name="org/apache/fop/util/DecimalFormatCache*.class"/>
- <include name="org/apache/fop/util/ImageObject.class"/>
- </patternset>
- <!-- PDF transcoder -->
- <patternset>
- <include name="org/apache/fop/render/pdf/**"/>
- <exclude name="org/apache/fop/render/pdf/PDFRenderer.class"/>
- <exclude name="org/apache/fop/render/pdf/PDFXMLHandler*"/>
- <include name="org/apache/fop/render/intermediate/IFDocumentHandlerConfigurator.class"/>
- <include name="org/apache/fop/render/**Config**"/>
- <include name="org/apache/fop/util/AbstractPaintingState**"/>
- <include name="org/apache/fop/pdf/**"/>
- </patternset>
- <!-- PS transcoder -->
- <patternset>
- <include name="org/apache/fop/render/ps/**"/>
- <exclude name="org/apache/fop/render/pdf/PSRenderer.class"/>
- <exclude name="org/apache/fop/render/pdf/PSXMLHandler*"/>
- </patternset>
- </patternset>
- <fileset dir="${build.classes.dir}" id="transcoder-classes-files">
- <patternset refid="transcoder-classes"/>
- </fileset>
- <fileset dir="${lib.dir}" id="transcoder-lib-files">
- <include name="commons-io*.jar"/>
- <include name="avalon-framework*.jar"/>
- <include name="commons-logging*.jar"/>
- <include name="xmlgraphics-commons*.jar"/>
- </fileset>
- <target name="uptodate-transcoder-pkg" depends="compile">
- <uptodate property="transcoder.pkg.uptodate" targetfile="${build.dir}/fop-transcoder.jar">
- <srcfiles refid="transcoder-classes-files"/>
- <srcfiles refid="transcoder-lib-files"/>
- </uptodate>
- </target>
- <target name="transcoder-pkg" depends="remove-cache, uptodate-transcoder-pkg, compile" description="Generates the jar for the transcoder package for Batik" unless="transcoder.pkg.uptodate">
- <echo message="Creating the jar file ${build.dir}/fop-transcoder.jar"/>
- <property name="fop-transcoder.name" value="FOP Transcoder Package"/>
- <property name="fop-transcoder.version" value="${version}"/>
- <tstamp>
- <format property="ts" pattern="yyyyMMdd-HHmmss-z"/>
- </tstamp>
- <!-- lean transcoder jar -->
- <jar jarfile="${build.dir}/fop-transcoder.jar">
- <fileset refid="transcoder-classes-files"/>
- <manifest>
- <attribute name="Implementation-Title" value="${fop-transcoder.name}"/>
- <attribute name="Implementation-Version" value="${fop-transcoder.version}"/>
- <attribute name="Implementation-Vendor" value="The Apache Software Foundation (http://xmlgraphics.apache.org/fop/)"/>
- <attribute name="Build-Id" value="${ts} (${user.name} [${os.name} ${os.version} ${os.arch}, Java ${java.runtime.version}, Target Java ${javac.target}])"/>
- </manifest>
- <metainf dir="${basedir}/.." includes="LICENSE,NOTICE"/>
- </jar>
- <!-- all-in-one transcoder jar -->
- <property name="transcoder-deps" value="${build.dir}/transcoder-dependencies"/>
- <mkdir dir="${transcoder-deps}"/>
- <unjar dest="${transcoder-deps}">
- <patternset>
- <include name="org/apache/avalon/framework/*"/>
- <include name="org/apache/avalon/framework/activity/*"/>
- <include name="org/apache/avalon/framework/configuration/*"/>
- <include name="org/apache/avalon/framework/container/*"/>
- <include name="org/apache/commons/logging/**"/>
- <include name="org/apache/commons/io/*.class"/>
- <include name="org/apache/commons/io/filefilter/*.class"/>
- <include name="org/apache/commons/io/output/*.class"/>
- </patternset>
- <fileset refid="transcoder-lib-files"/>
- </unjar>
- <mkdir dir="${transcoder-deps}/legal"/>
- <copy todir="${transcoder-deps}/legal">
- <fileset dir="${lib.dir}">
- <include name="avalon.LICENSE.txt"/>
- <include name="commons-io.LICENSE.txt"/>
- <include name="commons-logging.LICENSE.txt"/>
- </fileset>
- </copy>
- <jar jarfile="${build.dir}/fop-transcoder-allinone.jar">
- <fileset refid="transcoder-classes-files"/>
- <fileset dir="${transcoder-deps}"/>
- <manifest>
- <attribute name="Implementation-Title" value="${fop-transcoder.name}"/>
- <attribute name="Implementation-Version" value="${fop-transcoder.version}"/>
- <attribute name="Implementation-Vendor" value="The Apache Software Foundation (http://xmlgraphics.apache.org/fop/)"/>
- <attribute name="Build-Id" value="${ts} (${user.name} [${os.name} ${os.version} ${os.arch}, Java ${java.runtime.version}, Target Java ${javac.target}])"/>
- </manifest>
- <metainf dir="${basedir}/.." includes="LICENSE,NOTICE"/>
- </jar>
- </target>
- <target name="all" depends="package, servlet, transcoder-pkg, junit"/>
- <!-- "all" target for us Makefile converts ;-) -->
- <!-- =================================================================== -->
- <!-- Testing -->
- <!-- =================================================================== -->
- <target name="junit-init" depends="init-avail" if="xmlunit.present">
- <condition property="junit.formatter.brief.use">
- <istrue value="${junit.formatter.brief}"/>
- </condition>
- </target>
- <target name="junit-with-xmlunit" depends="junit-init" if="xmlunit.present">
- <patternset id="test-sources"/>
- </target>
- <target name="junit-without-xmlunit" depends="junit-init" unless="xmlunit.present">
- <patternset id="test-sources">
- <exclude name="**/intermediate/*"/>
- </patternset>
- </target>
- <target name="junit-compile-java" depends="package, transcoder-pkg, junit-with-xmlunit, junit-without-xmlunit" if="junit.present">
- <mkdir dir="${build.unit.tests.dir}"/>
- <mkdir dir="${build.dir}/test-gensrc"/>
- <mkdir dir="${junit.reports.dir}"/>
- <javac destdir="${build.unit.tests.dir}" includeAntRuntime="true">
- <src path="${test.java.dir}"/>
- <patternset refid="test-sources"/>
- <classpath>
- <path refid="libs-tools-build-classpath"/>
- <fileset dir="${build.dir}">
- <include name="fop.jar"/>
- </fileset>
- </classpath>
- </javac>
- <copy todir="${build.unit.tests.dir}">
- <fileset dir="${test.java.dir}">
- <include name="**/*.xsl"/>
- <include name="**/*.txt"/>
- <include name="**/*.afm"/>
- <include name="**/*.fo"/>
- <include name="**/*.svg"/>
- </fileset>
- </copy>
- </target>
- <target name="junit-compile-copy-resources" if="junit.present">
- <eventResourceGenerator
- destdir="${build.dir}/test-gensrc">
- <fileset dir="${test.java.dir}">
- <include name="**/*.java"/>
- </fileset>
- </eventResourceGenerator>
- <copy todir="${build.unit.tests.dir}">
- <fileset dir="${test.resources.dir}">
- <include name="**/*"/>
- </fileset>
- <fileset dir="${build.dir}/test-gensrc">
- <include name="**/*.xml"/>
- </fileset>
- </copy>
- </target>
- <target name="junit-compile" depends="junit-compile-java, junit-compile-copy-resources" description="Compiles FOP's JUnit tests" if="junit.present"/>
- <target name="junit-transcoder" depends="junit-compile" description="Runs FOP's JUnit transcoder tests" if="junit.present">
- <path id="transcoder-classpath">
- <pathelement location="${build.unit.tests.dir}"/>
- <path refid="libs-tools-build-classpath"/>
- <fileset dir="${build.dir}">
- <include name="fop-transcoder.jar"/>
- </fileset>
- </path>
- <junit-run classpath="transcoder-classpath" title="basic functionality for fop-transcoder.jar" testsuite="org.apache.fop.BasicTranscoderTestSuite" outfile="TEST-transcoder"/>
- <echo message="Running basic functionality tests for fop-transcoder-allinone.jar"/>
- <!-- These are the same tests as in the block above but testing the "allinone" JAR
- instead. Please don't add any additional paths other than the test classes, the
- allinone JAR and the any Batik JARs to the classpath. If this fails, but the
- previous test block succeeded it indicates that the packaging of the allinone
- JAR needs to be updated.
- -->
- <path id="transcoder-all-classpath">
- <pathelement location="${build.unit.tests.dir}"/>
- <path refid="libs-tools-build-classpath"/>
- <fileset dir="build">
- <include name="fop-transcoder-allinone.jar"/>
- </fileset>
- <fileset dir="${lib.dir}">
- <include name="xml-apis*.jar"/>
- <include name="xerces*.jar"/>
- <include name="batik*.jar"/>
- </fileset>
- </path>
- <junit-run classpath="transcoder-all-classpath" title="basic functionality for fop-transcoder-allinone.jar" testsuite="org.apache.fop.BasicTranscoderTestSuite" outfile="TEST-transcoder-allinone"/>
- </target>
- <target name="hyphenation-present" depends="junit-compile" if="junit.present">
- <condition property="hyphenation.present">
- <and>
- <!-- All the hyphenation files required by the layout test cases to be listed here -->
- <available resource="hyph/en.hyp" classpathref="libs-run-classpath"/>
- <available resource="hyph/de.hyp" classpathref="libs-run-classpath"/>
- </and>
- </condition>
- <condition property="hyphenation.message" value="Hyphenation Support PRESENT">
- <equals arg1="${hyphenation.present}" arg2="true"/>
- </condition>
- <condition property="hyphenation.message" value="Hyphenation Support NOT Present - Layout tests which require hyphenation are NOT being run!">
- <not>
- <equals arg1="${hyphenation.present}" arg2="true"/>
- </not>
- </condition>
- <echo message="${hyphenation.message}"/>
- </target>
- <path id="standard-junit-classpath">
- <pathelement location="${build.unit.tests.dir}"/>
- <path refid="libs-tools-build-classpath"/>
- <fileset dir="${build.dir}">
- <include name="fop.jar"/>
- <include name="fop-hyph.jar"/>
- </fileset>
- </path>
- <macrodef name="junit-run">
- <attribute name="title"/>
- <attribute name="basedir" default=""/>
- <attribute name="testsuite"/>
- <attribute name="outfile"/>
- <attribute name="classpath" default="standard-junit-classpath"/>
- <sequential>
- <echo message="Running @{title} tests..."/>
- <junit dir="${basedir}" haltonfailure="yes" fork="${junit.fork}" forkmode="once"
- errorproperty="fop.junit.error" failureproperty="fop.junit.failure" printsummary="${junit.printsummary}">
- <sysproperty key="basedir" value="${basedir}/@{basedir}"/>
- <sysproperty key="jawa.awt.headless" value="true"/>
- <formatter type="brief" usefile="false" if="junit.formatter.brief.use"/>
- <formatter type="plain" usefile="true"/>
- <formatter type="xml" usefile="true"/>
- <classpath>
- <path refid="@{classpath}"/>
- </classpath>
- <assertions>
- <enable/>
- </assertions>
- <test name="@{testsuite}" todir="${junit.reports.dir}" outfile="@{outfile}"/>
- </junit>
- </sequential>
- </macrodef>
- <target name="junit-all" depends="junit-compile, junit-transcoder, junit-layout-hyphenation"
- description="Runs FOP's JUnit basic tests" if="junit.present">
- <junit dir="${basedir}" haltonfailure="yes" fork="${junit.fork}" forkmode="once"
- errorproperty="fop.junit.error" failureproperty="fop.junit.failure" printsummary="${junit.printsummary}">
- <sysproperty key="jawa.awt.headless" value="true"/>
- <formatter type="brief" usefile="false" if="junit.formatter.brief.use"/>
- <formatter type="plain" usefile="true"/>
- <formatter type="xml" usefile="true"/>
- <classpath>
- <path refid="standard-junit-classpath"/>
- </classpath>
- <assertions>
- <enable/>
- </assertions>
- <batchtest todir="${junit.reports.dir}">
- <fileset dir="${build.unit.tests.dir}" includes="**/*TestCase.class"/>
- </batchtest>
- </junit>
- </target>
- <target name="junit-basic" depends="junit-compile" description="Runs FOP's JUnit basic tests" if="junit.present">
- <junit-run title="Standard test suite" testsuite="org.apache.fop.StandardTestSuite" outfile="TEST-standard-tests-suite"/>
- </target>
- <target name="junit-userconfig" depends="junit-compile" if="junit.present" description="Runs FOP's user config JUnit tests">
- <junit-run title="user config" testsuite="org.apache.fop.config.UserConfigTestSuite" outfile="TEST-userconfig"/>
- </target>
- <target name="junit-layout-standard" depends="junit-compile, junit-fotree" if="junit.present" description="Runs FOP's standard JUnit layout tests">
- <junit-run title="standard layout engine" testsuite="org.apache.fop.layoutengine.LayoutEngineTestSuite" outfile="TEST-layoutengine-standard"/>
- </target>
- <target name="junit-layout-hyphenation" depends="hyphenation-present, junit-compile" if="hyphenation.present" description="Runs FOP's JUnit hyphenation layout tests">
- <junit-run title="hyphenation layout engine" testsuite="org.apache.fop.layoutengine.HyphenationLayoutTestCase"
- outfile="TEST-layoutengine-hyphenation"/>
- </target>
- <target name="junit-layout" depends="junit-layout-standard, junit-layout-hyphenation" description="Runs all FOP's JUnit layout tests"/>
- <target name="junit-fotree" depends="junit-compile" description="Runs FOP's FO tree JUnit tests" if="junit.present">
- <junit-run title="fo tree" testsuite="org.apache.fop.fotreetest.FOTreeTestSuite" outfile="TEST-FO-tree"/>
- </target>
- <target name="junit-area-tree-xml-format" depends="junit-compile" description="Runs FOP's area tree XML format JUnit tests" if="xmlunit.present">
- <junit-run title="area tree XML format" testsuite="org.apache.fop.intermediate.AreaTreeXMLFormatTestSuite" outfile="TEST-area-tree-xml-format"/>
- </target>
- <target name="junit-intermediate-layout" depends="junit-compile" if="xmlunit.present">
- <junit-run title="intermediate format from layout tests"
- testsuite="org.apache.fop.intermediate.LayoutIFTestSuite"
- outfile="TEST-intermediate-format-from-layout"/>
- </target>
-
- <target name="junit-intermediate-format" depends="junit-compile,junit-intermediate-layout"
- description="Runs FOP's intermediate format JUnit tests" if="xmlunit.present">
- <junit-run title="intermediate format"
- testsuite="org.apache.fop.intermediate.IntermediateFormatTestSuite"
- outfile="TEST-intermediate-format"/>
- </target>
- <target name="junit-events" depends="junit-compile" description="Runs FOP's event JUnit tests" if="junit.present">
- <junit-run title="event" testsuite="org.apache.fop.events.EventProcessingTestCase" outfile="TEST-events"/>
- </target>
- <target name="junit-text-linebreak" depends="junit-compile" description="Runs FOP's JUnit unicode linebreak tests" if="junit.present">
- <junit-run title="Unicode UAX#14 support" testsuite="org.apache.fop.text.linebreak.LineBreakStatusTestCase" outfile="TEST-linebreak"/>
- </target>
- <target name="junit-fonts" depends="junit-compile">
- <echo message="Running tests for the fonts package"/>
- <junit-run title="fonts" testsuite="org.apache.fop.fonts.FOPFontsTestSuite" outfile="TEST-fonts"/>
- </target>
- <target name="junit-render-ps" depends="junit-compile">
- <echo message="Running tests for the render ps package"/>
- <junit-run title="render-ps" testsuite="org.apache.fop.render.ps.RenderPSTestSuite" outfile="TEST-render-ps"/>
- </target>
- <target name="junit-render-pdf" depends="junit-compile">
- <junit-run title="render-pdf" testsuite="org.apache.fop.render.pdf.RenderPDFTestSuite" outfile="TEST-render-pdf"/>
- </target>
- <target name="junit-complexscripts" depends="junit-compile">
- <junit-run title="complexscripts" testsuite="org.apache.fop.complexscripts.ComplexScriptsTestSuite" outfile="TEST-complexscripts"/>
- </target>
- <target name="junit-complexscripts-layout" depends="junit-compile" if="junit.present">
- <junit-run title="standard layout engine" testsuite="org.apache.fop.complexscripts.layout.ComplexScriptsLayoutTestSuite" outfile="TEST-complexscripts-layout"/>
- </target>
- <target name="junit-reduced" depends="junit-userconfig, junit-basic, junit-transcoder,
- junit-text-linebreak, junit-fotree, junit-fonts, junit-render-pdf, junit-render-ps,
- junit-complexscripts, junit-complexscripts-layout"/>
- <target name="junit" depends="remove-cache, junit-all" description="Runs all of FOP's JUnit tests"
- if="junit.present">
- <fail><condition><or><isset property="fop.junit.error"/><isset
- property="fop.junit.failure"/><not><isset
- property="hyphenation.present"/></not></or></condition>
- NOTE:
- **************************************************************************
- * One or more of the Junit tests had Failures or Errors or were skipped! *
- * Please check the output above for relevant messages. *
- * Or use the "junit-reports" target to generate HTML test reports. *
- **************************************************************************
- </fail>
- <echo>All Junit tests passed!</echo>
- <echo>Use the "junit-reports" target to generate HTML test reports</echo>
- </target>
- <!-- haven't made this dependent on "junit" as that would rerun all tests -->
- <target name="junit-reports" description="Generates HTML test reports">
- <mkdir dir="${junit.html.reports.dir}"/>
- <junitreport todir="${junit.reports.dir}">
- <fileset dir="${junit.reports.dir}">
- <include name="TEST-*.xml"/>
- </fileset>
- <report format="frames" todir="${junit.html.reports.dir}"/>
- </junitreport>
- <echo>JUnit HTML test reports should be available in ${junit.html.reports.dir}</echo>
- </target>
- <!-- =================================================================== -->
- <!-- Creates the API documentation -->
- <!-- =================================================================== -->
- <target name="javadocs" depends="codegen" description="Generates javadocs">
- <!--condition property="javadoc.version.ok">
- <not>
- <or>
- <equals arg1="${ant.java.version}" arg2="1.1"/>
- <equals arg1="${ant.java.version}" arg2="1.2"/>
- <equals arg1="${ant.java.version}" arg2="1.3"/>
- </or>
- </not>
- </condition>
- <fail message="Building FOP javadocs requires at least Java 1.4" unless="javadoc.version.ok"/-->
- <property name="javadoc.public" value="false"/>
- <property name="javadoc.package" value="false"/>
- <property name="javadoc.private" value="false"/>
- <condition property="javadoc.level" value=" (level: private)">
- <equals arg1="${javadoc.private}" arg2="true"/>
- </condition>
- <condition property="javadoc.level" value=" (level: package)">
- <equals arg1="${javadoc.package}" arg2="true"/>
- </condition>
- <condition property="javadoc.level" value=" (level: public)">
- <equals arg1="${javadoc.public}" arg2="true"/>
- </condition>
- <property name="javadoc.level" value=""/>
- <echo message="Producing the javadoc files${javadoc.level}"/>
- <mkdir dir="${build.javadocs.dir}"/>
- <javadoc failonerror="true" source="${javac.source}" destdir="${build.javadocs.dir}"
- packagenames="${javadoc.packages}"
- public="${javadoc.public}" package="${javadoc.package}" private="${javadoc.private}"
- author="true" version="true" use="true"
- windowtitle="${Name} ${version} API"
- doctitle="Apache Formatting Objects Processor (FOP)"
- bottom="Copyright ${year} The Apache Software Foundation. All Rights Reserved."
- overview="${src.java.dir}/org/apache/fop/overview.html"
- maxmemory="256M">
- <header><![CDATA[${name} ${version}]]></header>
- <footer><![CDATA[${name} ${version}]]></footer>
- <classpath>
- <path refid="libs-build-classpath"/>
- <pathelement path="${java.class.path}"/>
- </classpath>
- <sourcepath>
- <pathelement path="${src.java.dir}"/>
- <pathelement path="${src.sandbox.dir}"/>
- <pathelement path="${build.gensrc.dir}"/>
- </sourcepath>
- <tag name="asf.todo" scope="all" description="TODO"/>
- <tag name="event.severity" scope="all" description="Event severity level:"/>
- <group title="Control and Startup">
- <package name="org.apache.fop"/>
- <package name="org.apache.fop.apps"/>
- <package name="org.apache.fop.cli"/>
- <package name="org.apache.fop.configuration"/>
- <package name="org.apache.fop.messaging"/>
- <package name="org.apache.fop.servlet"/>
- </group>
- <group title="XSL-FO Tree">
- <package name="org.apache.fop.fo"/>
- <package name="org.apache.fop.fo.*"/>
- <package name="org.apache.fop.datatypes"/>
- <package name="org.apache.fop.extensions"/>
- </group>
- <group title="Layout">
- <package name="org.apache.fop.layoutmgr"/>
- <package name="org.apache.fop.layoutmgr.*"/>
- </group>
- <group title="Area Tree">
- <package name="org.apache.fop.area"/>
- <package name="org.apache.fop.area.*"/>
- <package name="org.apache.fop.traits"/>
- </group>
- <group title="Paginated Rendering">
- <package name="org.apache.fop.render"/>
- <package name="org.apache.fop.render.*"/>
- </group>
- <group title="Structural Rendering">
- <package name="org.apache.fop.render.rtf"/>
- <package name="org.apache.fop.render.mif"/>
- </group>
- <group title="Fonts">
- <package name="org.apache.fop.fonts"/>
- <package name="org.apache.fop.fonts.*"/>
- </group>
- <group title="Events">
- <package name="org.apache.fop.events"/>
- <package name="org.apache.fop.events.*"/>
- </group>
- <group title="Utility">
- <package name="org.apache.fop.hyphenation"/>
- <package name="org.apache.fop.tools"/>
- <package name="org.apache.fop.tools.*"/>
- <package name="org.apache.fop.image"/>
- <package name="org.apache.fop.image.*"/>
- <package name="org.apache.fop.text.*"/>
- <package name="org.apache.fop.util"/>
- <package name="org.apache.fop.util.*"/>
- </group>
- <group title="AFP library">
- <package name="org.apache.fop.afp"/>
- <package name="org.apache.fop.afp.*"/>
- </group>
- <group title="PDF library">
- <package name="org.apache.fop.pdf"/>
- <package name="org.apache.fop.svg"/>
- </group>
- <group title="RTFLib (formerly JFor) Subpackage Candidate">
- <package name="org.apache.fop.render.rtf.rtflib"/>
- <package name="org.apache.fop.render.rtf.rtflib.*"/>
- </group>
- </javadoc>
- </target>
- <target name="jar-javadocs" depends="javadocs" description="Generates a jar file containing the Javadocs">
- <jar jarfile="${build.dir}/${name}-${version}-javadoc.jar">
- <manifest>
- <attribute name="Build-Id" value="${ts} (${user.name} [${os.name} ${os.version} ${os.arch}, Java ${java.runtime.version}, Target Java ${javac.target}])"/>
- </manifest>
- <fileset dir="${build.javadocs.dir}"/>
- <metainf dir="${basedir}/.." includes="LICENSE,NOTICE"/>
- </jar>
- </target>
- <!-- =================================================================== -->
- <!-- Checkstyle -->
- <!-- =================================================================== -->
- <property name="checkstyle.location" value="${lib-tools}/checkstyle-5.5-all.jar" />
- <property name="checkstyle.config" value="${core.checkstyle.dir}/checkstyle.xml" />
- <property name="checkstyle.suppressions.file" value="${core.checkstyle.dir}/suppressions.xml" />
- <path id="checkstyle-classpath">
- <pathelement location="${checkstyle.location}"/>
- </path>
- <condition property="checkstyle.avail">
- <and>
- <available classname="com.puppycrawl.tools.checkstyle.CheckStyleTask">
- <classpath refid="checkstyle-classpath"/>
- </available>
- <available file="${checkstyle.config}"/>
- </and>
- </condition>
- <target name="checkstyle-avail" unless="checkstyle.avail">
- <echo message="Checkstyle support NOT present. Please download it from http://checkstyle.sf.net/ and"/>
- <echo message="... please provide ${checkstyle.location}"/>
- <echo message="... please provide ${checkstyle.config}"/>
- </target>
- <target name="checkstyle" depends="package, checkstyle-avail" if="checkstyle.avail" description="Runs Checkstyle for a code quality report">
- <taskdef name="checkstyle" classname="com.puppycrawl.tools.checkstyle.CheckStyleTask" classpathref="checkstyle-classpath"/>
- <mkdir dir="${build.dir}"/>
- <checkstyle config="${checkstyle.config}" failonviolation="true" maxWarnings="0">
- <classpath>
- <path refid="checkstyle-classpath"/>
- <pathelement location="${build.classes.dir}"/>
- <pathelement location="${build.sandbox-classes.dir}"/>
- <pathelement location="${build.codegen-classes.dir}"/>
- </classpath>
- <fileset dir="${core.src.dir}" includes="**/*.java"/>
- <fileset dir="${events.src.dir}" includes="**/*.java"/>
- <fileset dir="${sandbox.src.dir}" includes="**/*.java"/>
- <fileset dir="${util.src.dir}" includes="**/*.java"/>
- <fileset dir="${test.dir}" includes="**/*.java"/>
- <formatter type="xml" toFile="${build.dir}/report_checkstyle.xml"/>
- <formatter type="plain"/>
- </checkstyle>
- </target>
- <!-- =================================================================== -->
- <!-- PMD -->
- <!-- =================================================================== -->
- <target name="pmd" depends="init" description="Runs PMD for a code quality report">
- <taskdef name="pmd" classname="net.sourceforge.pmd.ant.PMDTask">
- <classpath>
- <path refid="libs-build-classpath"/>
- <path refid="libs-tools-build-classpath"/>
- </classpath>
- </taskdef>
- <mkdir dir="${build.dir}"/>
- <pmd shortFilenames="true" targetjdk="${javac.target}">
- <ruleset>basic</ruleset>
- <ruleset>rulesets/migrating_to_14.xml</ruleset>
- <ruleset>sunsecure</ruleset>
- <formatter type="html" toFile="${build.dir}/report_pmd.html"/>
- <fileset dir="${src.java.dir}">
- <include name="**/*.java"/>
- </fileset>
- </pmd>
- </target>
-
- <target name="cpd" depends="init" description="Runs PMD/CDP for a code quality report">
- <taskdef name="cpd" classname="net.sourceforge.pmd.cpd.CPDTask">
- <classpath>
- <path refid="libs-build-classpath"/>
- <path refid="libs-tools-build-classpath"/>
- </classpath>
- </taskdef>
- <cpd minimumTokenCount="100" outputFile="${build.dir}/report_cpd.txt">
- <fileset dir="${src.java.dir}">
- <include name="**/*.java"/>
- </fileset>
- </cpd>
- </target>
- <!-- =================================================================== -->
- <!-- Findbugs -->
- <!-- =================================================================== -->
- <target name="findbugs-maybe-describe-install" unless="findbugs.present">
- <echo message="Please download FINDBUGS from http://findbugs.sf.net/ and set property findbugs.home.dir"/>
- <echo message="in build-local.properties to the top-level directory of the binary distribution."/>
- </target>
- <target name="findbugs-avail">
- <condition property="findbugs.present">
- <and>
- <isset property="findbugs.home.dir"/>
- <available file="${findbugs.home.dir}" type="dir"/>
- </and>
- </condition>
- <condition property="findbugs.message" value="FINDBUGS Support PRESENT">
- <equals arg1="${findbugs.present}" arg2="true"/>
- </condition>
- <condition property="findbugs.message" value="FINDBUGS Support NOT Present">
- <not>
- <equals arg1="${findbugs.present}" arg2="true"/>
- </not>
- </condition>
- <echo message="${findbugs.message}"/>
- <antcall target="findbugs-maybe-describe-install"/>
- </target>
- <target name="findbugs-exec" depends="compile-java" if="findbugs.present">
- <taskdef name="findbugs" classname="edu.umd.cs.findbugs.anttask.FindBugsTask">
- <classpath>
- <fileset dir="${findbugs.home.dir}/lib">
- <include name="*.jar"/>
- </fileset>
- </classpath>
- </taskdef>
- <findbugs home="${findbugs.home.dir}" output="${findbugs.output.format}" reportLevel="low" effort="max"
- outputFile="${build.dir}/report_findbugs.${findbugs.output.extension}" excludeFilter="${core.findbugs.dir}/exclusions.xml" jvmargs="-Xmx1024m" warningsProperty="findbugs.warnings">
- <sourcePath path="${src.java.dir}"/>
- <class location="${build.classes.dir}"/>
- <auxClasspath>
- <path refid="libs-build-classpath"/>
- <path refid="libs-tools-build-classpath"/>
- <path>
- <fileset dir="${ant.library.dir}">
- <include name="ant.jar"/>
- <include name="ant-launcher.jar"/>
- </fileset>
- </path>
- </auxClasspath>
- </findbugs>
- <fail if="findbugs.warnings"/>
- </target>
- <target name="findbugs-xml" depends="findbugs-avail" if="findbugs.present" description="Runs findbugs for a code quality report in XML">
- <property name="findbugs.output.format" value="xml"/>
- <property name="findbugs.output.extension" value="xml"/>
- <antcall target="findbugs-exec"/>
- </target>
- <target name="findbugs-html" depends="findbugs-avail" if="findbugs.present" description="Runs findbugs for a code quality report in HTML">
- <property name="findbugs.output.format" value="html"/>
- <property name="findbugs.output.extension" value="html"/>
- <antcall target="findbugs-exec"/>
- </target>
- <target name="findbugs" depends="findbugs-html" description="Runs findbugs for a code quality report in HTML"/>
- <!-- =================================================================== -->
- <!-- Creates the reports -->
- <!-- =================================================================== -->
- <target name="reports" depends="checkstyle, pmd, cpd, findbugs" description="Runs all configured code quality reports"/>
- <!-- =================================================================== -->
- <!-- Creates the documentation - (CL20130210 moved to ASF-CMS) -->
- <!-- =================================================================== -->
- <!-- =================================================================== -->
- <!-- Creates the distribution -->
- <!-- =================================================================== -->
- <!-- It would be better to make dist depend on distclean. But as long as the forrest projectInfo plugin depends on a higher Java version (1.5) than we use for the compilation (1.4), leaving it out enables a workaround -->
- <target name="dist" depends="dist-prereq,dist-src,dist-bin" description="Generates the distribution package"/>
- <target name="dist-prereq" depends="init,dist-get-jai">
- <fail message="A complete binary build requires JAI" unless="jai.present"/>
- <fail message="A complete binary build requires JCE" unless="jce.present"/>
- </target>
- <target name="dist-get-jai" description="Attempts to download the JAI library dependency" unless="jai.present">
- <echo message="JAI Support NOT present - attempting to download... "/>
- <get src="http://download.java.net/media/jai/builds/release/1_1_3/jai-1_1_3-lib.zip" dest="${java.io.tmpdir}/jai-1_1_3-lib.zip" verbose="true" />
- <unzip src="${java.io.tmpdir}/jai-1_1_3-lib.zip" dest="${java.io.tmpdir}">
- <patternset>
- <include name="jai-1_1_3/lib/*"/>
- </patternset>
- </unzip>
- <copy todir="${basedir}/lib" file="${java.io.tmpdir}/jai-1_1_3/lib/jai_core.jar" />
- <copy todir="${basedir}/lib" file="${java.io.tmpdir}/jai-1_1_3/lib/jai_codec.jar" />
- <delete dir="${java.io.tmpdir}/jai-1_1_3" />
- <delete file="${java.io.tmpdir}/jai-1_1_3-lib.zip" />
- <property name="jai.present" value="true"/>
- </target>
- <target name="dist-bin" depends="all,javadocs">
- <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>
- <copy todir="${dist.bin.result.dir}/javadocs">
- <fileset dir="${build.javadocs.dir}"/>
- </copy>
- <mkdir dir="${dist.bin.result.dir}/fop/build"/>
- <copy todir="${dist.bin.result.dir}/fop/build" file="build/fop.jar"/>
- <chmod file="${dist.bin.result.dir}/fop/fop" perm="ugo+rx"/>
- <zip zipfile="${name}-${version}-bin.zip" basedir="${dist.bin.dir}" includes="**"/>
- <tar longfile="gnu" destfile="${name}-${version}-bin.tar">
- <tarfileset dir="${dist.bin.dir}" mode="755">
- <include name="${name}-${version}/fop"/>
- </tarfileset>
- <tarfileset dir="${dist.bin.dir}">
- <include name="**"/>
- <exclude name="${name}-${version}/fop"/>
- </tarfileset>
- </tar>
- <gzip zipfile="${name}-${version}-bin.tar.gz" src="${name}-${version}-bin.tar"/>
- <delete file="${name}-${version}-bin.tar"/>
- </target>
- <target name="dist-src">
- <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>
- <chmod file="${dist.src.result.dir}/fop" perm="ugo+rx"/>
- <zip zipfile="${name}-${version}-src.zip" basedir="${dist.src.dir}" includes="**"/>
- <tar longfile="gnu" destfile="${name}-${version}-src.tar">
- <tarfileset dir="${dist.src.dir}" mode="755">
- <include name="${name}-${version}/fop"/>
- </tarfileset>
- <tarfileset dir="${dist.src.dir}">
- <include name="**"/>
- <exclude name="${name}-${version}/fop"/>
- </tarfileset>
- </tar>
- <gzip zipfile="${name}-${version}-src.tar.gz" src="${name}-${version}-src.tar"/>
- <delete file="${name}-${version}-src.tar"/>
- </target>
- <target name="release-dist" depends="dist" description="Generates the distribution package and signs the release">
- <property name="bin.suffix" value="bin"/>
- <input message="Passphrase for your default private key (attention: passphrase will be echoed in clear text on the display!)" addproperty="pwd"/>
- <antcall target="md5">
- <param name="sign.archive" value="${name}-${version}-src.zip"/>
- </antcall>
- <antcall target="sign-file">
- <param name="sign.archive" value="${name}-${version}-src.zip"/>
- <param name="pwd" value="${pwd}"/>
- </antcall>
- <antcall target="md5">
- <param name="sign.archive" value="${name}-${version}-src.tar.gz"/>
- </antcall>
- <antcall target="sign-file">
- <param name="sign.archive" value="${name}-${version}-src.tar.gz"/>
- <param name="pwd" value="${pwd}"/>
- </antcall>
- <antcall target="md5">
- <param name="sign.archive" value="${name}-${version}-${bin.suffix}.zip"/>
- </antcall>
- <antcall target="sign-file">
- <param name="sign.archive" value="${name}-${version}-${bin.suffix}.zip"/>
- <param name="pwd" value="${pwd}"/>
- </antcall>
- <antcall target="md5">
- <param name="sign.archive" value="${name}-${version}-${bin.suffix}.tar.gz"/>
- </antcall>
- <antcall target="sign-file">
- <param name="sign.archive" value="${name}-${version}-${bin.suffix}.tar.gz"/>
- <param name="pwd" value="${pwd}"/>
- </antcall>
- </target>
- <target name="md5">
- <property name="md5.exec" value="md5sum"/>
- <property name="md5.options" value=""/>
- <exec executable="${md5.exec}" output="${sign.archive}.md5">
- <arg line="${md5.options} ${sign.archive}"/>
- </exec>
- </target>
- <target name="sign-file">
- <property name="gpg.exec" value="gpg"/>
- <property name="gpg.options" value="--armor --detach-sign --force-v3-sigs --batch --verbose --passphrase-fd 0"/>
- <delete file="${sign.archive}.asc"/>
- <exec executable="${gpg.exec}" inputstring="${pwd}">
- <arg line="${gpg.options} ${sign.archive}"/>
- </exec>
- </target>
- <!-- =================================================================== -->
- <!-- Nightly builds -->
- <!-- =================================================================== -->
- <target name="junit-nightly-build" depends="junit-userconfig,junit-text-linebreak,junit-fotree">
- <fail>
- <condition>
- <or>
- <isset property="fop.junit.error"/>
- <isset property="fop.junit.failure"/>
- </or>
- </condition>
- NOTE:
- **************************************************************************
- * One or more of the Junit tests had Failures or Errors or were skipped! *
- * Please check the output above for relevant messages. *
- * Or use the "junit-reports" target to generate HTML test reports. *
- **************************************************************************
- </fail>
- <echo>All Junit tests passed!</echo>
- </target>
- <target name="nightly-build">
- <echo message="Build process now processed by Jenkins, see https://builds.apache.org/job/xmlgraphics-fop-maven/."/>
- </target>
- <!-- =================================================================== -->
- <!-- Generate examples -->
- <!-- =================================================================== -->
- <target name="examples" depends="package" description="Generates the example 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}" userconfig="${fo.examples.userconfig}" force="${fo.examples.force}">
- <fileset dir="${fo.examples.dir}">
- <include name="${fo.examples.include}"/>
- </fileset>
- </fop>
- </target>
-
- <!-- =================================================================== -->
- <!-- Generate unit tests -->
- <!-- =================================================================== -->
- <target name="tests" depends="package" description="Generates the test files">
- <taskdef name="fop" classname="org.apache.fop.tools.anttasks.Fop" classpathref="libs-run-classpath"/>
- <mkdir dir="${build.tests.dir}"/>
- <fop format="${build.property.tests.mime.type}" xsltfile="${test.dir}/layoutengine/testcase2fo.xsl" outdir="${build.tests.dir}" messagelevel="debug" basedir="${test.dir}" userconfig="${fo.examples.userconfig}" force="${xml.tests.force}">
- <fileset dir="${test.dir}">
- <include name="${xml.tests.include}"/>
- </fileset>
- </fop>
- </target>
-
- <!-- =================================================================== -->
- <!-- Helper task to generate source files that have already been -->
- <!-- checked into CVS. For these files, CVS version is the official one -->
- <!-- and may have updates that will *not* be generated by below. This -->
- <!-- target should never be part of the normal build process. -->
- <!-- =================================================================== -->
- <target name="codegen-fo">
- <style in="${src.codegen.dir}/fo/constants.xml" style="${src.codegen.dir}/fo/constants.xsl" out="Constants.java"/>
- <style in="${src.codegen.dir}/fo/foelements.xml" style="${src.codegen.dir}/fo/property-sets.xsl" out="PropertySets.java"/>
- </target>
-
- <!-- =================================================================== -->
- <!-- Helper tasks to generate source files that have already been checked -->
- <!-- into the repository. For these files, the version in the -->
- <!-- repository is the official one and may have updates that will *not* -->
- <!-- be generated by below. This target should never be part of the -->
- <!-- normal build process. -->
- <!-- =================================================================== -->
- <target name="codegen-unicode" depends="compile-java">
- <mkdir dir="${build.codegen-classes.dir}"/>
- <javac destdir="${build.codegen-classes.dir}">
- <src path="${src.codegen.dir}/unicode/java"/>
- <classpath>
- <path refid="libs-build-classpath"/>
- <pathelement location="${build.classes.dir}"/>
- <pathelement location="${build.codegen-classes.dir}"/>
- </classpath>
- </javac>
- <java classname="org.apache.fop.text.linebreak.GenerateLineBreakUtils" classpath="${build.codegen-classes.dir}">
- <arg line="-o ${src.java.dir}/org/apache/fop/text/linebreak/LineBreakUtils.java"/>
- </java>
- </target>
- <target name="codegen-unicode-bidi" depends="compile-java">
- <mkdir dir="${build.codegen-classes.dir}"/>
- <javac destdir="${build.codegen-classes.dir}" includeAntRuntime="true">
- <src path="${src.codegen.dir}/unicode/java"/>
- <classpath>
- <path refid="libs-build-classpath"/>
- <pathelement location="${build.classes.dir}"/>
- <pathelement location="${build.codegen-classes.dir}"/>
- </classpath>
- </javac>
- <java classname="org.apache.fop.complexscripts.bidi.GenerateBidiClass" classpath="${build.codegen-classes.dir}">
- <arg line="-b http://www.unicode.org/Public/6.0.0/ucd/extracted/DerivedBidiClass.txt"/>
- <arg line="-o ${src.java.dir}/org/apache/fop/complexscripts/bidi/BidiClass.java"/>
- </java>
- <delete>
- <fileset dir="${test.java.dir}/org/apache/fop/complexscripts/bidi">
- <include name="**/BidiTestData*.ser"/>
- </fileset>
- </delete>
- <java classname="org.apache.fop.text.bidi.GenerateBidiTestData" classpath="${build.codegen-classes.dir}" fork="yes">
- <arg line="-v"/>
- <arg line="-i"/>
- <arg line="-b http://www.unicode.org/Public/6.0.0/ucd/BidiTest.txt"/>
- <arg line="-d http://www.unicode.org/Public/6.0.0/ucd/UnicodeData.txt"/>
- <arg line="-o ${test.java.dir}/org/apache/fop/complexscripts/bidi/BidiTestData.java"/>
- </java>
- </target>
- <target name="resgen-complexscripts" depends="compile-java">
- <mkdir dir="${build.unit.tests.dir}"/>
- <javac destdir="${build.unit.tests.dir}" includeAntRuntime="true" memoryMaximumSize="1024m">
- <src path="${test.java.dir}/org/apache/fop/complexscripts/"/>
- <classpath>
- <path refid="libs-build-classpath"/>
- <pathelement location="${build.classes.dir}"/>
- </classpath>
- </javac>
- <java classname="org.apache.fop.complexscripts.scripts.arabic.GenerateArabicTestData">
- <classpath>
- <path refid="libs-build-classpath"/>
- <pathelement location="${build.classes.dir}"/>
- <pathelement location="${build.unit.tests.dir}"/>
- </classpath>
- <arg line="-c"/>
- </java>
- </target>
- <!-- =================================================================== -->
- <!-- Special target for Gump -->
- <!-- =================================================================== -->
- <target name="gump"/>
- <target name="gump-test"/>
- <!-- =================================================================== -->
- <!-- Clean targets -->
- <!-- =================================================================== -->
- <target name="clean" description="Cleans the build directory">
- <delete dir="${build.dir}"/>
- </target>
- <target name="remove-cache" description="Removes the .fop cache directory">
- <delete dir="${user.home}/.fop" />
- </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"/>
- <fileset dir="${basedir}" includes="${name}-bundle.jar"/>
- </delete>
- </target>
- <!-- =================================================================== -->
- <!-- Local targets -->
- <!-- =================================================================== -->
- <import file="build-local.targets.xml" optional="true"/>
-
- </project>
|