12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421 |
- <?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 file="${basedir}/build-local.properties"/>
- <property file="${basedir}/build.properties"/>
- <property environment="env"/>
- <property name="build.lib.dir" value="${basedir}/lib/build"/>
- <fileset dir="${basedir}" id="dist.bin">
- <include name="conf/**"/>
- <include name="examples/**"/>
- <include name="LICENSE"/>
- <include name="NOTICE"/>
- <include name="README"/>
- <include name="KEYS"/>
- <include name="status.xml"/>
- <include name="fop.bat"/>
- <include name="fop.cmd"/>
- <include name="fop.js"/>
- <include name="fop"/>
- </fileset>
- <fileset dir="${basedir}" id="dist.bin.lib">
- <patternset id="dist.lib">
- <include name="lib/avalon-framework*"/>
- <include name="lib/xmlgraphics-commons*"/>
- <include name="lib/batik*"/>
- <include name="lib/commons-io*"/>
- <include name="lib/commons-logging*"/>
- <include name="lib/README*"/>
- <include name="lib/serializer*"/>
- <include name="lib/xalan*"/>
- <include name="lib/xerces*"/>
- <include name="lib/xml-apis*"/>
- </patternset>
- </fileset>
- <fileset dir="${basedir}" id="dist.src">
- <include name="src/**"/>
- <include name="conf/**"/>
- <include name="hyph/hyphenation.dtd"/>
- <include name="hyph/readme"/>
- <patternset refid="dist.lib"/>
- <include name="lib/servlet*"/>
- <include name="test/**"/>
- <include name="examples/**"/>
- <include name="LICENSE"/>
- <include name="NOTICE"/>
- <include name="README"/>
- <include name="KEYS"/>
- <include name="known-issues.xml"/>
- <include name="status.xml"/>
- <include name="build.*"/>
- <include name="forrest.properties"/>
- <include name="fop.bat"/>
- <include name="fop"/>
- </fileset>
- <path id="libs-build-classpath">
- <fileset dir="${basedir}/lib">
- <include name="*.jar"/>
- </fileset>
- </path>
- <property name="lib-build-tools" value="${basedir}/lib/build"/>
- <path id="libs-build-tools-classpath">
- <path refid="libs-build-classpath"/>
- <fileset dir="${lib-build-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>
- <property name="Name" value="Apache FOP"/>
- <property name="name" value="fop"/>
- <property name="NAME" value="FOP"/>
- <property name="version" value="svn-trunk"/>
- <property name="year" value="1999-2009"/>
- <property name="javac.debug" value="on"/>
- <property name="javac.optimize" value="off"/>
- <property name="javac.deprecation" value="on"/>
- <property name="javac.source" value="1.4"/>
- <property name="javac.target" value="1.4"/>
- <property name="javac.fork" value="no"/>
- <property name="junit.fork" value="on"/>
- <property name="junit.haltonfailure" value="off"/>
- <property name="javadoc.packages" value="org.apache.fop.*"/>
- <property name="src.dir" value="${basedir}/src"/>
- <property name="src.codegen.dir" value="${src.dir}/codegen"/>
- <property name="src.codegen.fonts.dir" value="${src.codegen.dir}/fonts"/>
- <property name="src.java.dir" value="${src.dir}/java"/>
- <property name="src.sandbox.dir" value="${src.dir}/sandbox"/>
- <property name="src.viewer.resources.dir" value="${src.java.dir}/org/apache/fop/render/awt/viewer/resources"/>
- <property name="src.viewer.images.dir" value="${src.java.dir}/org/apache/fop/render/awt/viewer/images"/>
- <property name="xdocs.dir" value="${src.dir}/documentation/content/xdocs"/>
- <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="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="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.javadocs.dir" value="${build.dir}/javadocs"/>
- <property name="build.examples.dir" value="${build.dir}/examples"/>
- <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="layoutengine.disabled" value="test/layoutengine/disabled-testcases.txt"/-->
- <!--property name="fotree.disabled" value="test/fotree/disabled-testcases.txt"/-->
- <property name="layoutengine.disabled" value="test/layoutengine/disabled-testcases.xml"/>
- <property name="fotree.disabled" value="test/fotree/disabled-testcases.xml"/>
- <property name="dist.bin.dir" value="${basedir}/dist-bin"/>
- <property name="dist.src.dir" value="${basedir}/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="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"/>
- -->
- <!-- =================================================================== -->
- <!-- 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="junit.framework.TestCase" classpathref="libs-build-tools-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-build-tools-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 -->
- <!-- =================================================================== -->
- <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.gensrc.dir}/org/apache/fop/fonts/CodePointMapping.java"/>
- <!-- Task unrolled because of a bug in Xalan included in some
- JDK 1.4 releases
- <xslt basedir="src/codegen" includes="Helvetica*.xml,Times*.xml,Courier*.xml"
- style="${src.codegen.fonts.dir}/font-file.xsl"
- destdir="${build.gensrc.dir}/org/apache/fop/fonts/base14" extension=".java">
- <param name="encoding" expression="WinAnsiEncoding"/>
- </xslt>
- -->
- <xslt in="${src.codegen.fonts.dir}/Courier.xml" style="${src.codegen.fonts.dir}/font-file.xsl" out="${build.gensrc.dir}/org/apache/fop/fonts/base14/Courier.java">
- <param name="encoding" expression="WinAnsiEncoding"/>
- </xslt>
- <xslt in="${src.codegen.fonts.dir}/CourierOblique.xml" style="${src.codegen.fonts.dir}/font-file.xsl" out="${build.gensrc.dir}/org/apache/fop/fonts/base14/CourierOblique.java">
- <param name="encoding" expression="WinAnsiEncoding"/>
- </xslt>
- <xslt in="${src.codegen.fonts.dir}/CourierBold.xml" style="${src.codegen.fonts.dir}/font-file.xsl" out="${build.gensrc.dir}/org/apache/fop/fonts/base14/CourierBold.java">
- <param name="encoding" expression="WinAnsiEncoding"/>
- </xslt>
- <xslt in="${src.codegen.fonts.dir}/CourierBoldOblique.xml" style="${src.codegen.fonts.dir}/font-file.xsl" out="${build.gensrc.dir}/org/apache/fop/fonts/base14/CourierBoldOblique.java">
- <param name="encoding" expression="WinAnsiEncoding"/>
- </xslt>
- <xslt in="${src.codegen.fonts.dir}/Helvetica.xml" style="${src.codegen.fonts.dir}/font-file.xsl" destdir="${build.gensrc.dir}/org/apache/fop/fonts/base14" out="${build.gensrc.dir}/org/apache/fop/fonts/base14/Helvetica.java">
- <param name="encoding" expression="WinAnsiEncoding"/>
- </xslt>
- <xslt in="${src.codegen.fonts.dir}/HelveticaBold.xml" style="${src.codegen.fonts.dir}/font-file.xsl" out="${build.gensrc.dir}/org/apache/fop/fonts/base14/HelveticaBold.java">
- <param name="encoding" expression="WinAnsiEncoding"/>
- </xslt>
- <xslt in="${src.codegen.fonts.dir}/HelveticaOblique.xml" style="${src.codegen.fonts.dir}/font-file.xsl" out="${build.gensrc.dir}/org/apache/fop/fonts/base14/HelveticaOblique.java">
- <param name="encoding" expression="WinAnsiEncoding"/>
- </xslt>
- <xslt in="${src.codegen.fonts.dir}/HelveticaBoldOblique.xml" style="${src.codegen.fonts.dir}/font-file.xsl" out="${build.gensrc.dir}/org/apache/fop/fonts/base14/HelveticaBoldOblique.java">
- <param name="encoding" expression="WinAnsiEncoding"/>
- </xslt>
- <xslt in="${src.codegen.fonts.dir}/TimesRoman.xml" style="${src.codegen.fonts.dir}/font-file.xsl" out="${build.gensrc.dir}/org/apache/fop/fonts/base14/TimesRoman.java">
- <param name="encoding" expression="WinAnsiEncoding"/>
- </xslt>
- <xslt in="${src.codegen.fonts.dir}/TimesItalic.xml" style="${src.codegen.fonts.dir}/font-file.xsl" out="${build.gensrc.dir}/org/apache/fop/fonts/base14/TimesItalic.java">
- <param name="encoding" expression="WinAnsiEncoding"/>
- </xslt>
- <xslt in="${src.codegen.fonts.dir}/TimesBold.xml" style="${src.codegen.fonts.dir}/font-file.xsl" out="${build.gensrc.dir}/org/apache/fop/fonts/base14/TimesBold.java">
- <param name="encoding" expression="WinAnsiEncoding"/>
- </xslt>
- <xslt in="${src.codegen.fonts.dir}/TimesBoldItalic.xml" style="${src.codegen.fonts.dir}/font-file.xsl" out="${build.gensrc.dir}/org/apache/fop/fonts/base14/TimesBoldItalic.java">
- <param name="encoding" expression="WinAnsiEncoding"/>
- </xslt>
- <xslt in="${src.codegen.fonts.dir}/Symbol.xml" style="${src.codegen.fonts.dir}/font-file.xsl" out="${build.gensrc.dir}/org/apache/fop/fonts/base14/Symbol.java"/>
- <xslt in="${src.codegen.fonts.dir}/ZapfDingbats.xml" style="${src.codegen.fonts.dir}/font-file.xsl" out="${build.gensrc.dir}/org/apache/fop/fonts/base14/ZapfDingbats.java"/>
- </target>
- <!-- =================================================================== -->
- <!-- Compiles the source directory -->
- <!-- =================================================================== -->
- <target name="compile-java" depends="init, codegen">
- <!-- create directories -->
- <mkdir dir="${build.classes.dir}"/>
- <javac destdir="${build.classes.dir}" fork="${javac.fork}" debug="${javac.debug}" deprecation="${javac.deprecation}" optimize="${javac.optimize}" source="${javac.source}" target="${javac.target}">
- <src path="${build.gensrc.dir}"/>
- <src path="${src.java.dir}"/>
- <patternset includes="**/*.java"/>
- <patternset refid="exclude-jce-dependencies"/>
- <patternset refid="exclude-jai"/>
- <classpath refid="libs-build-classpath"/>
- </javac>
- <mkdir dir="${build.sandbox-classes.dir}"/>
- <javac destdir="${build.sandbox-classes.dir}" fork="${javac.fork}" debug="${javac.debug}" deprecation="${javac.deprecation}" optimize="${javac.optimize}" source="${javac.source}" target="${javac.target}">
- <src path="${src.sandbox.dir}"/>
- <patternset includes="**/*.java"/>
- <patternset refid="exclude-jai"/>
- <classpath>
- <path refid="libs-build-classpath"/>
- <pathelement location="${build.classes.dir}"/>
- </classpath>
- </javac>
- </target>
- <target name="resourcegen" depends="compile-java">
- <mkdir dir="${build.codegen-classes.dir}"/>
- <javac destdir="${build.codegen-classes.dir}" fork="${javac.fork}" debug="${javac.debug}" deprecation="${javac.deprecation}" optimize="${javac.optimize}" source="${javac.source}" target="${javac.target}">
- <src path="${src.codegen.dir}/java"/>
- <patternset includes="**/*.java"/>
- <classpath>
- <path refid="libs-build-tools-classpath"/>
- <pathelement location="${build.classes.dir}"/>
- </classpath>
- </javac>
- <copy todir="${build.codegen-classes.dir}">
- <fileset dir="${src.codegen.dir}/java">
- <include name="**/*.xsl"/>
- </fileset>
- </copy>
- <taskdef name="eventResourceGenerator" classname="org.apache.fop.tools.EventProducerCollectorTask">
- <classpath>
- <path refid="libs-build-tools-classpath"/>
- <pathelement location="${build.classes.dir}"/>
- <pathelement location="${build.codegen-classes.dir}"/>
- </classpath>
- </taskdef>
- <eventResourceGenerator modelfile="${build.gensrc.dir}/org/apache/fop/events/event-model.xml" translationfile="${src.java.dir}/org/apache/fop/events/EventFormatter.xml">
- <fileset dir="${src.java.dir}">
- <include name="**/*.java"/>
- <exclude name="org/apache/fop/render/*/**/*.java"/>
- <exclude name="org/apache/fop/afp/**/*.java"/>
- </fileset>
- </eventResourceGenerator>
- <fixcrlf file="${src.java.dir}/org/apache/fop/events/EventFormatter.xml" tab="remove" tablength="2"/>
- <eventResourceGenerator modelfile="${build.gensrc.dir}/org/apache/fop/afp/event-model.xml" translationfile="${src.java.dir}/org/apache/fop/afp/AFPEventProducer.xml">
- <fileset dir="${src.java.dir}">
- <include name="org/apache/fop/afp/**/*.java"/>
- </fileset>
- </eventResourceGenerator>
- <fixcrlf file="${src.java.dir}/org/apache/fop/afp/AFPEventProducer.xml" tab="remove" tablength="2"/>
- <eventResourceGenerator modelfile="${build.gensrc.dir}/org/apache/fop/render/bitmap/event-model.xml" translationfile="${src.java.dir}/org/apache/fop/render/bitmap/BitmapRendererEventProducer.xml">
- <fileset dir="${src.java.dir}">
- <include name="org/apache/fop/render/bitmap/**/*.java"/>
- </fileset>
- </eventResourceGenerator>
- <fixcrlf file="${src.java.dir}/org/apache/fop/render/bitmap/BitmapRendererEventProducer.xml" tab="remove" tablength="2"/>
- <eventResourceGenerator modelfile="${build.gensrc.dir}/org/apache/fop/render/pcl/event-model.xml" translationfile="${src.java.dir}/org/apache/fop/render/pcl/PCLEventProducer.xml">
- <fileset dir="${src.java.dir}">
- <include name="org/apache/fop/render/pcl/**/*.java"/>
- </fileset>
- </eventResourceGenerator>
- <fixcrlf file="${src.java.dir}/org/apache/fop/render/pcl/PCLEventProducer.xml" tab="remove" tablength="2"/>
- <eventResourceGenerator modelfile="${build.gensrc.dir}/org/apache/fop/render/pdf/event-model.xml" translationfile="${src.java.dir}/org/apache/fop/render/pdf/PDFEventProducer.xml">
- <fileset dir="${src.java.dir}">
- <include name="org/apache/fop/render/pdf/**/*.java"/>
- </fileset>
- </eventResourceGenerator>
- <fixcrlf file="${src.java.dir}/org/apache/fop/render/pdf/PDFEventProducer.xml" tab="remove" tablength="2"/>
- <eventResourceGenerator modelfile="${build.gensrc.dir}/org/apache/fop/render/ps/event-model.xml" translationfile="${src.java.dir}/org/apache/fop/render/ps/PSEventProducer.xml">
- <fileset dir="${src.java.dir}">
- <include name="org/apache/fop/render/ps/**/*.java"/>
- </fileset>
- </eventResourceGenerator>
- <fixcrlf file="${src.java.dir}/org/apache/fop/render/ps/PSEventProducer.xml" tab="remove" tablength="2"/>
- <eventResourceGenerator modelfile="${build.gensrc.dir}/org/apache/fop/render/rtf/event-model.xml" translationfile="${src.java.dir}/org/apache/fop/render/rtf/RTFEventProducer.xml">
- <fileset dir="${src.java.dir}">
- <include name="org/apache/fop/render/rtf/**/*.java"/>
- </fileset>
- </eventResourceGenerator>
- <fixcrlf file="${src.java.dir}/org/apache/fop/render/rtf/RTFEventProducer.xml" tab="remove" tablength="2"/>
- </target>
- <target name="compile-copy-resources" depends="resourcegen">
- <copy todir="${build.classes.dir}">
- <fileset dir="${src.java.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>
- <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}" fork="${javac.fork}" debug="${javac.debug}" deprecation="${javac.deprecation}" optimize="${javac.optimize}" source="${javac.source}" target="${javac.target}">
- <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.dir}/java/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}])"/>
- </manifest>
- </jar>
- </target>
- <!-- =================================================================== -->
- <!-- Retroweaver -->
- <!-- =================================================================== -->
- <target name="retro-unavail" unless="java14.rt.lib">
- <echo message="Please set the path to a JDK 1.4 installation in your build-local.properties" />
- <echo message="to allow for verification!" />
- </target>
- <target name="retro-avail" depends="compile" if="java14.rt.lib">
- <taskdef name="retroweaver" classname="net.sourceforge.retroweaver.ant.RetroWeaverTask">
- <classpath>
- <path refid="libs-build-tools-classpath"/>
- </classpath>
- </taskdef>
- <path id="verify-classpath">
- <pathelement location="${java14.rt.lib}"/>
- <pathelement location="${java14.jce.lib}"/>
- <pathelement location="${ant.home}/lib/ant.jar"/>
- <path refid="libs-build-classpath"/>
- </path>
- <!-- If we decide to use retroweaver for the actual weaving, the mkdir and
- destdir= will have to be removed. Also, the weaving task would additionally
- need to be defined even if no jdk 14 is available. -->
- <mkdir dir="${build.dir}/temp"/>
- <retroweaver srcdir="${build.classes.dir}" destdir="${build.dir}/temp"
- classpath="${toString:verify-classpath}" lazy="false"
- verify="true" target="1.4" />
- </target>
- <target name="retro" depends="retro-avail,retro-unavail,compile">
- </target>
- <!-- =================================================================== -->
- <!-- main FOP JARs -->
- <!-- =================================================================== -->
- <target name="uptodate-jar-main" depends="retro">
- <uptodate property="jar.main.uptodate" targetfile="${build.dir}/fop.jar">
- <srcfiles dir="${build.classes.dir}"/>
- </uptodate>
- </target>
- <target name="jar-main" depends="retro,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" basedir="${build.classes.dir}">
- <manifest>
- <attribute name="Main-Class" value="org.apache.fop.cli.Main"/>
- <attribute name="Class-Path" value="${manifest.classpath}"/>
- <attribute name="Build-Id" value="${ts} (${user.name} [${os.name} ${os.version} ${os.arch}, Java ${java.runtime.version}])"/>
- <section name="org/apache/fop/">
- <attribute name="Specification-Title" value="XSL-FO - Extensible Stylesheet Language"/>
- <attribute name="Specification-Version" value="1.0"/>
- <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"/>
- </jar>
- </target>
- <target name="uptodate-jar-sandbox" depends="retro">
- <uptodate property="jar.sandbox.uptodate" targetfile="${build.dir}/fop-sandbox.jar">
- <srcfiles dir="${build.sandbox-classes.dir}"/>
- </uptodate>
- </target>
- <target name="jar-sandbox" depends="retro,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}])"/>
- </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="${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="${src.dir}/conf/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/apps/Fop.class"/>
- <include name="org/apache/fop/apps/FOPException.class"/>
- <include name="org/apache/fop/fo/Constants.class"/>
- <include name="org/apache/fop/fo/FOTreeBuilder.class"/>
- <include name="org/apache/fop/area/AreaTreeControl*"/>
- <include name="org/apache/fop/svg/**"/>
- <include name="org/apache/fop/fonts/**"/>
- <include name="org/apache/fop/image/loader/batik/BatikImageFlavors*.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"/>
- </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/**Configurator**"/>
- <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="retro">
- <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="uptodate-transcoder-pkg, retro" 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="1.0beta2"/>
- <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}])"/>
- </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"/>
- <!-- TODO Remove the following lines once Batik switches over to using XML Graphics Commons -->
- <include name="org/apache/xmlgraphics/java2d/**"/>
- <include name="org/apache/xmlgraphics/ps/**"/>
- <include name="org/apache/xmlgraphics/fonts/**"/>
- <include name="org/apache/xmlgraphics/util/io/**"/>
- </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}])"/>
- </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-with-xmlunit" depends="init-avail" if="xmlunit.present">
- <patternset id="test-sources"/>
- </target>
- <target name="junit-without-xmlunit" depends="init-avail" 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.dir}/test-classes"/>
- <mkdir dir="${build.dir}/test-gensrc"/>
- <mkdir dir="${junit.reports.dir}"/>
- <javac destdir="${build.dir}/test-classes" fork="${javac.fork}" debug="${javac.debug}" deprecation="${javac.deprecation}" optimize="${javac.optimize}" source="${javac.source}" target="${javac.target}">
- <src path="${basedir}/test/java"/>
- <patternset refid="test-sources"/>
- <classpath>
- <path refid="libs-build-tools-classpath"/>
- <fileset dir="${build.dir}">
- <include name="fop.jar"/>
- </fileset>
- </classpath>
- </javac>
- <copy todir="${build.dir}/test-classes">
- <fileset dir="${basedir}/test/java">
- <include name="**/*.xsl"/>
- </fileset>
- </copy>
- </target>
- <target name="junit-compile-copy-resources" if="junit.present">
- <eventResourceGenerator modelfile="${build.dir}/test-gensrc/org/apache/fop/events/test-event-model.xml">
- <fileset dir="${basedir}/test/java">
- <include name="**/*.java"/>
- </fileset>
- </eventResourceGenerator>
- <copy todir="${build.dir}/test-classes">
- <fileset dir="${basedir}/test/java">
- <include name="META-INF/**"/>
- <include name="**/*.xml"/>
- </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">
- <echo message="Running basic functionality tests for fop-transcoder.jar"/>
- <junit dir="${basedir}" haltonfailure="${junit.haltonfailure}" fork="${junit.fork}">
- <sysproperty key="basedir" value="${basedir}"/>
- <sysproperty key="jawa.awt.headless" value="true"/>
- <formatter type="brief" usefile="false"/>
- <formatter type="plain" usefile="true"/>
- <formatter type="xml" usefile="true"/>
- <classpath>
- <pathelement location="${build.dir}/test-classes"/>
- <path refid="libs-build-classpath"/>
- <fileset dir="${build.dir}">
- <include name="fop-transcoder.jar"/>
- </fileset>
- </classpath>
- <test name="org.apache.fop.BasicTranscoderTestSuite" todir="${junit.reports.dir}" outfile="TEST-transcoder"/>
- </junit>
- <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.
- -->
- <junit dir="${basedir}" haltonfailure="${junit.haltonfailure}" fork="${junit.fork}" errorproperty="fop.junit.error" failureproperty="fop.junit.failure">
- <sysproperty key="basedir" value="${basedir}"/>
- <sysproperty key="jawa.awt.headless" value="true"/>
- <formatter type="brief" usefile="false"/>
- <formatter type="plain" usefile="true"/>
- <formatter type="xml" usefile="true"/>
- <classpath>
- <pathelement location="${build.dir}/test-classes"/>
- <path refid="libs-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>
- </classpath>
- <test name="org.apache.fop.BasicTranscoderTestSuite" todir="${junit.reports.dir}" outfile="TEST-transcoder-allinone"/>
- </junit>
- </target>
- <target name="junit-userconfig" depends="junit-compile" if="junit.present" description="Runs FOP's user config JUnit tests">
- <echo message="Running user config tests"/>
- <junit dir="${basedir}" haltonfailure="${junit.haltonfailure}" fork="${junit.fork}" errorproperty="fop.junit.error" failureproperty="fop.junit.failure">
- <sysproperty key="basedir" value="${basedir}"/>
- <sysproperty key="jawa.awt.headless" value="true"/>
- <sysproperty key="fop.layoutengine.disabled" value="${layoutengine.disabled}"/>
- <sysproperty key="fop.layoutengine.testset" value="standard"/>
- <formatter type="brief" usefile="false"/>
- <formatter type="plain" usefile="true"/>
- <formatter type="xml" usefile="true"/>
- <classpath>
- <pathelement location="${build.dir}/test-classes"/>
- <path refid="libs-run-classpath"/>
- </classpath>
- <test name="org.apache.fop.config.UserConfigTestSuite" todir="${junit.reports.dir}" outfile="TEST-userconfig"/>
- </junit>
- </target>
- <target name="junit-basic" depends="junit-compile" description="Runs FOP's JUnit basic tests" if="junit.present">
- <echo message="Running basic functionality tests for fop.jar"/>
- <junit dir="${basedir}" haltonfailure="${junit.haltonfailure}" fork="${junit.fork}" errorproperty="fop.junit.error" failureproperty="fop.junit.failure">
- <sysproperty key="basedir" value="${basedir}"/>
- <sysproperty key="jawa.awt.headless" value="true"/>
- <formatter type="brief" usefile="false"/>
- <formatter type="plain" usefile="true"/>
- <formatter type="xml" usefile="true"/>
- <classpath>
- <pathelement location="${build.dir}/test-classes"/>
- <path refid="libs-build-classpath"/>
- <fileset dir="build">
- <include name="fop.jar"/>
- </fileset>
- </classpath>
- <test name="org.apache.fop.StandardTestSuite" todir="${junit.reports.dir}"/>
- </junit>
- </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>
- <target name="junit-layout-standard" depends="junit-compile, junit-fotree" if="junit.present" description="Runs FOP's standard JUnit layout tests">
- <echo message="Running standard layout engine tests"/>
- <junit dir="${basedir}" haltonfailure="${junit.haltonfailure}" fork="${junit.fork}" errorproperty="fop.junit.error" failureproperty="fop.junit.failure">
- <sysproperty key="basedir" value="${basedir}"/>
- <sysproperty key="jawa.awt.headless" value="true"/>
- <sysproperty key="fop.layoutengine.disabled" value="${layoutengine.disabled}"/>
- <sysproperty key="fop.layoutengine.testset" value="standard"/>
- <formatter type="brief" usefile="false"/>
- <formatter type="plain" usefile="true"/>
- <formatter type="xml" usefile="true"/>
- <classpath>
- <pathelement location="${build.dir}/test-classes"/>
- <path refid="libs-run-classpath"/>
- </classpath>
- <test name="org.apache.fop.layoutengine.LayoutEngineTestSuite" todir="${junit.reports.dir}" outfile="TEST-layoutengine-standard"/>
- </junit>
- </target>
- <target name="junit-layout-hyphenation" depends="hyphenation-present, junit-compile" if="hyphenation.present" description="Runs FOP's JUnit hyphenation layout tests">
- <echo message="Running hyphenation layout engine tests"/>
- <junit dir="${basedir}" haltonfailure="${junit.haltonfailure}" fork="${junit.fork}" errorproperty="fop.junit.error" failureproperty="fop.junit.failure">
- <sysproperty key="basedir" value="${basedir}"/>
- <sysproperty key="jawa.awt.headless" value="true"/>
- <sysproperty key="fop.layoutengine.disabled" value="${layoutengine.disabled}"/>
- <sysproperty key="fop.layoutengine.testset" value="hyphenation"/>
- <formatter type="brief" usefile="false"/>
- <formatter type="plain" usefile="true"/>
- <formatter type="xml" usefile="true"/>
- <classpath>
- <pathelement location="${build.dir}/test-classes"/>
- <path refid="libs-run-classpath"/>
- </classpath>
- <test name="org.apache.fop.layoutengine.LayoutEngineTestSuite" todir="${junit.reports.dir}" outfile="TEST-layoutengine-hyphenation"/>
- </junit>
- </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">
- <echo message="Running fo tree tests"/>
- <junit dir="${basedir}" haltonfailure="${junit.haltonfailure}" fork="${junit.fork}" errorproperty="fop.junit.error" failureproperty="fop.junit.failure">
- <sysproperty key="basedir" value="${basedir}"/>
- <sysproperty key="jawa.awt.headless" value="true"/>
- <sysproperty key="fop.layoutengine.disabled" value="${fotree.disabled}"/>
- <formatter type="brief" usefile="false"/>
- <formatter type="plain" usefile="true"/>
- <formatter type="xml" usefile="true"/>
- <classpath>
- <pathelement location="${build.dir}/test-classes"/>
- <path refid="libs-build-classpath"/>
- <fileset dir="build">
- <include name="fop.jar"/>
- </fileset>
- </classpath>
- <test name="org.apache.fop.fotreetest.FOTreeTestSuite" todir="${junit.reports.dir}" outfile="TEST-FO-tree"/>
- </junit>
- </target>
- <macrodef name="junit-run">
- <attribute name="title"/>
- <element name="tests"/>
- <sequential>
- <echo message="Running @{title} tests..."/>
- <junit dir="${basedir}" haltonfailure="${junit.haltonfailure}" fork="${junit.fork}" errorproperty="fop.junit.error" failureproperty="fop.junit.failure">
- <sysproperty key="basedir" value="${basedir}"/>
- <sysproperty key="jawa.awt.headless" value="true"/>
- <sysproperty key="fop.layoutengine.disabled" value="${layoutengine.disabled}"/>
- <formatter type="brief" usefile="false"/>
- <formatter type="plain" usefile="true"/>
- <formatter type="xml" usefile="true"/>
- <classpath>
- <pathelement location="${build.dir}/test-classes"/>
- <path refid="libs-build-tools-classpath"/>
- <fileset dir="build">
- <include name="fop.jar"/>
- </fileset>
- </classpath>
- <tests/>
- </junit>
- </sequential>
- </macrodef>
- <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">
- <tests>
- <sysproperty key="fop.layoutengine.testset" value="standard"/>
- <test name="org.apache.fop.intermediate.AreaTreeXMLFormatTestSuite" todir="${junit.reports.dir}" outfile="TEST-area-tree-xml-format"/>
- </tests>
- </junit-run>
- </target>
- <target name="junit-intermediate-format" depends="junit-compile" description="Runs FOP's intermediate format JUnit tests" if="xmlunit.present">
- <junit-run title="intermediate format">
- <tests>
- <sysproperty key="fop.layoutengine.testset" value="standard"/>
- <test name="org.apache.fop.intermediate.IntermediateFormatTestSuite" todir="${junit.reports.dir}" outfile="TEST-intermediate-format"/>
- </tests>
- </junit-run>
- </target>
- <target name="junit-text-linebreak" depends="junit-compile" description="Runs FOP's JUnit unicode linebreak tests" if="junit.present">
- <echo message="Running tests for Unicode UAX#14 support"/>
- <junit dir="${basedir}" haltonfailure="${junit.haltonfailure}" fork="${junit.fork}" errorproperty="fop.junit.error" failureproperty="fop.junit.failure">
- <sysproperty key="basedir" value="${basedir}"/>
- <sysproperty key="jawa.awt.headless" value="true"/>
- <formatter type="brief" usefile="false"/>
- <formatter type="plain" usefile="true"/>
- <formatter type="xml" usefile="true"/>
- <classpath>
- <pathelement location="${build.dir}/test-classes"/>
- <path refid="libs-build-classpath"/>
- <fileset dir="build">
- <include name="fop.jar"/>
- </fileset>
- </classpath>
- <test name="org.apache.fop.text.linebreak.LineBreakStatusTest" todir="${junit.reports.dir}"/>
- </junit>
- </target>
- <target name="junit-reduced" depends="junit-userconfig, junit-basic, junit-transcoder, junit-text-linebreak, junit-fotree"/>
- <target name="junit-full" depends="junit-reduced, junit-layout, junit-area-tree-xml-format, junit-intermediate-format"/>
- <target name="junit" depends="junit-full" 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.dir}/java/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="todo" scope="all" description="To do:"/>
- <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}])"/>
- </manifest>
- <fileset dir="${build.javadocs.dir}"/>
- <metainf dir="${basedir}" includes="LICENSE,NOTICE"/>
- </jar>
- </target>
- <!-- =================================================================== -->
- <!-- Checkstyle -->
- <!-- =================================================================== -->
- <property name="checkstyle.noframes.xslt" value="${basedir}/checkstyle-noframes.xsl" />
- <condition property="checkstyle.avail">
- <and>
- <available classname="com.puppycrawl.tools.checkstyle.CheckStyleTask">
- <classpath>
- <path refid="libs-build-tools-classpath"/>
- </classpath>
- </available>
- <available file="${checkstyle.noframes.xslt}"/>
- </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="..copy or link checkstyle-all-5.0.jar to ${lib-build-tools}"/>
- <echo message="..copy or link checkstyle-noframes.xsl to ${checkstyle.noframes.xslt}"/>
- </target>
- <target name="checkstyle" depends="init, checkstyle-avail" if="checkstyle.avail" description="Runs Checkstyle for a code quality report">
- <taskdef name="checkstyle" classname="com.puppycrawl.tools.checkstyle.CheckStyleTask" classpathref="libs-build-tools-classpath"/>
- <checkstyle config="checkstyle-5.0.xml" failonviolation="false">
- <fileset dir="${src.java.dir}" includes="**/*.java"/>
- <formatter type="xml" toFile="${build.dir}/report_checkstyle.xml"/>
- </checkstyle>
- <xslt in="${build.dir}/report_checkstyle.xml" out="${build.dir}/report_checkstyle.html" style="${checkstyle.noframes.xslt}"/>
- </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-build-tools-classpath"/>
- </classpath>
- </taskdef>
- <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-build-tools-classpath"/>
- </classpath>
- </taskdef>
- <cpd minimumTokenCount="100" outputFile="${build.dir}/report_cpd.txt">
- <fileset dir="${src.java.dir}">
- <include name="**/*.java"/>
- </fileset>
- </cpd>
- </target>
- <!-- =================================================================== -->
- <!-- Findbugs -->
- <!-- =================================================================== -->
- <property name="findbugs.lib" value="${findbugs.home.dir}/lib"/>
- <path id="libs-findbugs">
- <fileset dir="${findbugs.lib}">
- <include name="*.jar"/>
- </fileset>
- </path>
- <target name="findbugs-avail" unless="findbugs.home.dir">
- <echo message="Findbugs Support NOT Present. Please download it from http://findbugs.sf.net/ and set findbugs.home.dir in build-local.properties"/>
- </target>
- <target name="findbugs" depends="init, findbugs-avail, compile-java" if="findbugs.home.dir">
- <taskdef name="findbugs" classname="edu.umd.cs.findbugs.anttask.FindBugsTask" classpathref="libs-findbugs"/>
- <findbugs home="${findbugs.home.dir}" output="html" reportLevel="low" effort="max" outputFile="${build.dir}/report_findbugs.html" jvmargs="-Xmx1024m">
- <sourcePath path="${src.java.dir}"/>
- <class location="${build.classes.dir}"/>
- </findbugs>
- </target>
- <!-- =================================================================== -->
- <!-- Creates the reports -->
- <!-- =================================================================== -->
- <target name="reports" depends="checkstyle, pmd, cpd, findbugs" description="Runs all configured code quality reports"/>
- <!-- =================================================================== -->
- <!-- Creates the documentation -->
- <!-- =================================================================== -->
- <target name="docs" description="Generates documentation">
- <echo message="Building documentation with Forrest..."/>
- <!--
- <echo message="Make sure that you have installed Apache Forrest and"/>
- <echo message="the FORREST_HOME environment variable is set (see http://forrest.apache.org/)"/>
- <echo message="FORREST_HOME = ${forrest.home}"/>
- -->
- <echo message="Make sure you have a proper Forrest installation (see http://forrest.apache.org/)"/>
- <condition property="forrest.call" value="forrest.bat" else="forrest">
- <os family="windows"/>
- </condition>
- <exec executable="${forrest.call}"/>
- </target>
- <!-- =================================================================== -->
- <!-- Creates the distribution -->
- <!-- =================================================================== -->
- <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,docs">
- <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}/docs">
- <fileset dir="${build.dir}/site"/>
- </copy>
- <copy todir="${dist.bin.result.dir}/javadocs">
- <fileset dir="${build.javadocs.dir}"/>
- </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" 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" depends="all">
- <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>
- <!-- =================================================================== -->
- <!-- Maven artifacts -->
- <!-- =================================================================== -->
- <target name="maven-artifacts" depends="jar-main, jar-sources, jar-javadocs" description="Builds a Maven artifact that can be uploaded to a Maven repository">
- <filter token="version" value="${version}"/>
- <mkdir dir="${build.dir}/maven"/>
- <copy file="${basedir}/xmlgraphics-fop-pom-template.pom" tofile="${build.dir}/maven/pom.xml" filtering="true"/>
- <copy file="${build.dir}/${name}.jar" tofile="${build.dir}/maven/${name}-${version}.jar"/>
- <jar jarfile="${build.dir}/${name}-${version}-bundle.jar">
- <manifest>
- <attribute name="Build-Id" value="${ts} (${user.name} [${os.name} ${os.version} ${os.arch}, Java ${java.runtime.version}])"/>
- </manifest>
- <fileset dir="${build.dir}">
- <include name="${name}-${version}-sources.jar"/>
- <include name="${name}-${version}-javadoc.jar"/>
- </fileset>
- <fileset dir="${build.dir}/maven"/>
- <metainf dir="${basedir}" includes="LICENSE,NOTICE"/>
- </jar>
- </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}" userconfig="${fo.examples.userconfig}" force="${fo.examples.force}">
- <fileset dir="${fo.examples.dir}">
- <include name="${fo.examples.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 task 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" >
- <mkdir dir="${build.codegen-classes.dir}"/>
- <javac destdir="${build.codegen-classes.dir}" fork="${javac.fork}" debug="${javac.debug}" deprecation="${javac.deprecation}" optimize="${javac.optimize}" source="${javac.source}" target="${javac.target}">
- <src path="${src.codegen.dir}/unicode/java"/>
- </javac>
- <java classname="org.apache.fop.text.linebreak.GenerateLineBreakUtils" classpath="${build.codegen-classes.dir}">
- <arg line="-o ${src.dir}/java/org/apache/fop/text/linebreak/LineBreakUtils.java"/>
- </java>
- </target>
- <!-- =================================================================== -->
- <!-- Special target for Gump -->
- <!-- =================================================================== -->
- <target name="gump" depends="junit-reduced"/>
- <!-- =================================================================== -->
- <!-- Clean targets -->
- <!-- =================================================================== -->
- <target name="clean" 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" 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>
|