<?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="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="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.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="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"/>
        <exclude name="org/apache/fop/accessibility/**/*.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/accessibility/event-model.xml" translationfile="${src.java.dir}/org/apache/fop/accessibility/AccessibilityEventProducer.xml">
      <fileset dir="${src.java.dir}">
        <include name="org/apache/fop/accessibility/**/*.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/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="${test.dir}/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="${test.dir}/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="${test.dir}/java">
        <include name="**/*.java"/>
      </fileset>
    </eventResourceGenerator>
    <copy todir="${build.dir}/test-classes">
      <fileset dir="${test.dir}/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 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 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>
