<!--

   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.

-->
<!--


              A p a c h e   B a t i k   B u i l d   S y s t e m



Build Tools
..............................................................................

The Batik build system is based on Apache Ant, which is a Java building tool
used in Apache projects.
For more information refer to <http://ant.apache.org/>.

The distribution contains a precompiled version of Ant.

The only thing that you have to make sure, is that the "JAVA_HOME" environment
property should be set to match the JVM you want to use. 

If you are going to be doing development you may want to create a file
called 'build.properties' with the line 'debug=on' in it.  This will 
turn on the generation of debugging information when compiling Batik.

Building Instructions
..............................................................................

First, make sure your current working directory is where this file is located.
Then type:

  [unix]  ./build.sh compile
  [win32] .\build.bat compile

This action will compile the sources to the 'classes' directory.

You can now launch the SVG browser by typing:

  [unix]  ./build.sh squiggle
  [win32] .\build.bat squiggle


Build Targets
..............................................................................

To display the available targets type:

  [unix]  ./build.sh  help
  [win32] .\build.bat help

 
 $Id$

-->

<project default="help" name="batik" basedir=".">

  <!-- Configuring the build -->
  <property file="${basedir}/build-local.properties"/>
  <property environment="env"/>

  <!-- Initializations .................................................... -->
  <target name="init">
    <tstamp>
      <format property="ts" pattern="yyyyMMdd-HHmmss-z"/>
    </tstamp>
    <property name="Project"            value="Apache Batik" />
    <property name="project"            value="batik" />
    <property name="year"               value="2015" />
    <property name="version"            value="1.8" />
    <property name="revisionType"       value="" />
    <property name="revisionNumber"     value="" />
    <property name="completeVersion"    value="${version}${revisionType}${revisionNumber}" />
    <property name="xgcVersion"         value="2.0" />
    <property name="fopVersion"         value="1.1" />
    <property name="vendor"             value="The Apache Software Foundation (http://xmlgraphics.apache.org/batik/)" />

  	<property file="build.properties"/>
    <property name="debug"              value="off"/>
    <property name="optimize"           value="on"/>
    <property name="deprecation"        value="on"/>
  
    <property name="src"                value="sources"/>
    <property name="src-internal-codec" value="sources-internal-codec"/>
    <property name="resources"          value="resources"/>
    <property name="testsrc"            value="test-sources"/>
    <property name="testresources"      value="test-resources"/>
    <property name="dest"               value="classes"/>
    <property name="dest-internal-codec" value="classes-internal-codec"/>
    <property name="build"              value="${project}-${completeVersion}"/>
    <property name="build.id"           value="${ts} (${user.name} [${os.name} ${os.version} ${os.arch}, Java ${java.runtime.version}])"/>
    <property name="docs"               value="${build}/docs"/>
    <property name="forrest-build"      value="${build}/forrest"/>
    <property name="app"                value="${build}/Squiggle.app"/>
    <property name="dmg"                value="${build}/Squiggle-${completeVersion}.dmg"/>
    <property name="maven"              value="${build}/maven"/>
    <property name="lib"                value="lib"/>
    <property name="samples"            value="samples"/>
    <property name="package-prefix"     value="org/apache/${project}"/>
  
    <property name="class-prefix"       value="org.apache.${project}"/>
  
    <property name="dom.javadoc"        value="http://www.w3.org/2003/01/dom2-javadoc/"/>
    <property name="jdk.javadoc"        value="http://docs.oracle.com/javase/6/docs/api/"/>
    <property name="rhino.javadoc"      value="http://www.mozilla.org/rhino/apidocs/"/>
  
    <property name="site"               value="site"/>
  
    <property name="test-reports"       value="test-reports"/>
    <property name="test-references"    value="test-references"/>
    <property name="test-resources"     value="test-resources"/>
  
    <!-- For site deployment -->
    <property name="deploy.svn.url"     value="https://svn.apache.org/repos/asf/xmlgraphics/site/deploy/batik"/>
    <property name="build.site-dir"     value="${site}"/>
  
    <pathconvert property="cwd">
      <path path="."/>
    </pathconvert>
  
    <path id="libs-classpath">
      <fileset dir="lib">
        <include name="*.jar"/>
      </fileset>
    </path>
  
    <path id="libs-build-classpath">
      <fileset dir="lib/build">
        <include name="stylebook*.jar"/>
      </fileset>
      <fileset dir="lib">
        <include name="xalan*.jar"/>
        <include name="xerces*.jar"/>
        <include name="xml-apis-1.3.04.jar"/>
        <include name="xml-apis-ext-1.3.04.jar"/>
        <include name="xmlgraphics-commons*.jar"/>
      </fileset>
    </path>
  
    <available property="rhino.present" classname="org.mozilla.javascript.Context">
      <classpath refid="libs-classpath"/>
    </available>
    <available property="jpython.present" classname="org.python.util.PythonInterpreter">
      <classpath refid="libs-classpath"/>
    </available>
    <available property="jacl.present" classname="tcl.lang.Interp">
      <classpath refid="libs-classpath"/>
    </available>
    
    <!-- When compiling Batik under GNU Classpath, the Sun codecs are not available. -->
    <condition property="sun-codecs.present">
      <and>
        <available classname="com.sun.image.codec.jpeg.JPEGCodec" 
                   classpathref="libs-classpath"/>
        <!-- This became quite tricky in JDK 7, as the Sun codecs were "retired"
             (they are available in run-time although the "classes are not located when compiling")
             http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6527962 -->
        <not>
            <and>
                <equals arg1="${java.specification.vendor}" arg2="Oracle Corporation"/>
                <or>
                    <!-- According to Sun issue 6527962, the classes are to be completely removed in JDK 8
                         (so there should be no need to extend this list any longer) -->
                    <equals arg1="${java.specification.version}" arg2="1.7"/>
                    <equals arg1="${java.specification.version}" arg2="1.8"/>
                </or>
            </and>
        </not>
        <not>
          <equals arg1="${sun-codecs.disabled}" arg2="true"/>
        </not>
      </and>
    </condition>

    <condition property="javadoc-exclusion-rhino"
               value="org.apache.batik.script.rhino">
      <not>
        <equals arg1="${rhino.present}" arg2="true"/>
      </not>
    </condition>
    <condition property="javadoc-exclusion-jpython"
               value="org.apache.batik.script.jpython">
      <not>
        <equals arg1="${jpython.present}" arg2="true"/>
      </not>
    </condition>
    <condition property="javadoc-exclusion-jacl"
               value="org.apache.batik.script.jacl">
      <not>
        <equals arg1="${jacl.present}" arg2="true"/>
      </not>
    </condition>
  
    <property name="javadoc-exclusions"
              value="${javadoc-exclusion-rhino},${javadoc-exclusion-jpython},${javadoc-exclusion-jacl}"/>
  
    <uptodate property="IWasLoadedUpToDate" 
     targetfile="${testresources}/org/apache/batik/bridge/IWasLoaded.jar">
     <srcfiles dir="${testresources}//org/apache/batik/bridge"
               includes="IWasLoaded.java"/>
    </uptodate>
  
    <uptodate property="IWasLoadedTooUpToDate" 
     targetfile="${testresources}/org/apache/batik/bridge/IWasLoadedToo.jar">
     <srcfiles dir="${testresources}//org/apache/batik/bridge"
               includes="IWasLoadedToo.java"/>
    </uptodate>
  
    <condition property="forrest.call" value="cmd" else="${env.FORREST_HOME}/bin/forrest">
      <os family="windows"/>
    </condition>
  
    <condition property="forrest.args" value="/c &quot;${env.FORREST_HOME}\bin\forrest.bat&quot;" else="">
      <os family="windows"/>
    </condition>
  
    <!-- Info ............................................................... -->
    <echo message=" == ${Project} ${completeVersion} build file ================================"/>
    <echo message=""/>
    <echo message="    JAVA_HOME: ${env.JAVA_HOME}"/>
    <echo message="    VM:        ${java.vm.version}, ${java.vm.vendor}"/>
  </target>

  <!-- Help ............................................................... -->
  <target name="help" depends="init" description="Displays the usage">
    <echo message=""/>
    <echo message="The following build targets are available:"/>
    <echo message=""/>
    <echo message=" -- Running -------------------------------------------------------"/>
    <echo message=""/>
    <echo message="    squiggle"/>
    <echo message="        Runs the Squiggle SVG browser application."/>
    <echo message=""/>
    <echo message="    svgrasterizer"/>
    <echo message="        Runs the SVG rasterizer application."/>
    <echo message=""/>
    <echo message="    svgpp"/>
    <echo message="        Runs the SVG pretty-printer application."/>
    <echo message=""/>
    <echo message="    ttf2svg"/>
    <echo message="        Runs the TrueType Font to SVG Font convert application."/>
    <echo message=""/>
    <echo message=" -- Building ------------------------------------------------------"/>
    <echo message=""/>
    <echo message="    dist-zip"/>
    <echo message="        Builds the binary, source and documentation distributions"/>
    <echo message="        as ZIP files."/>
    <echo message="        (Creates ${project}-${completeVersion}.zip, ${project}-docs-${completeVersion}.zip"/>
    <echo message="        and ${project}-src-${completeVersion}.zip.)"/>
    <echo message=""/>
    <echo message="    dist-tgz"/>
    <echo message="        Builds the binary, source and documentation distributions"/>
    <echo message="        as .tar.gz files."/>
    <echo message="        (Creates ${project}-${completeVersion}.tar.gz, ${project}-docs-${completeVersion}.tar.gz"/>
    <echo message="        and ${project}-src-${completeVersion}.tar.gz.)"/>
    <echo message=""/>
    <echo message="    appbundle"/>
    <echo message="        Builds the Mac OS X Squiggle application bundle."/>
    <echo message="        (Creates ${app}.)"/>
    <echo message=""/>
    <echo message="    dmg"/>
    <echo message="        Builds the Mac OS X Squiggle application bundle disk image."/>
    <echo message="        (Creates ${dmg}.)"/>
    <echo message=""/>
    <echo message="    compile"/>
    <echo message="        Compiles all of Batik except the test infrastructure."/>
    <echo message="        (Creates class files in classes/ from files in sources/.)"/>
    <echo message=""/>
    <echo message="    compiletest"/>
    <echo message="        Compiles the Batik test infrastructure."/>
    <echo message="        (Creates class files in classes/ from files in"/>
    <echo message="        test-sources/.)"/>
    <echo message=""/>
    <echo message="    jars"/>
    <echo message="        Builds jar files for all Batik libraries and applications."/>
    <echo message="        (Creates ${build}/.)"/>
    <echo message=""/>
    <echo message="    all-jar"/>
    <echo message="        Builds a single jar that contains all Batik libraries."/>
    <echo message="        (Creates ${build}/lib/${project}-all.jar.)"/>
    <echo message=""/>
    <echo message="    maven-artifacts"/>
    <echo message="        Builds Maven artifacts for all jars."/>
    <echo message="        (Creates ${maven}/.)"/>
    <echo message=""/>
    <echo message="    javadoc"/>
    <echo message="        Generates the API documentation."/>
    <echo message="        (Creates ${docs}/javadoc/.)"/>
    <echo message=""/>
    <echo message="    site"/>
    <echo message="        Generates the http://xmlgraphics.apache.org/batik/ site,"/>
    <echo message="        including Javadocs."/>
    <echo message="        (Creates ${site}/.)"/>
    <echo message=""/>
    <echo message="    sitedoc"/>
    <echo message="        Generates the http://xmlgraphics.apache.org/batik/ site,"/>
    <echo message="        excluding Javadocs."/>
    <echo message="        (Creates ${site}/.)"/>
    <echo message=""/>
    <echo message="    html"/>
    <echo message="        Generates the HTML documentation, including Javadocs."/>
    <echo message="        (Creates ${docs}/.)"/>
    <echo message=""/>
    <echo message="    htmldoc"/>
    <echo message="        Generates the HTML documentation, excluding Javadocs."/>
    <echo message="        (Creates ${docs}/.)"/>
    <echo message=""/>
    <echo message="    splash"/>
    <echo message="        Regenerates the Squiggle browser splash screen."/>
    <echo message=""/>
    <echo message="    clean"/>
    <echo message="        Removes all output files and directories."/>
    <echo message="    "/>
    <echo message=" -- Testing -------------------------------------------------------"/>
    <echo message=""/>
    <echo message="    regard"/>
    <echo message="        Runs the Regard regression testing tool for all tests that"/>
    <echo message="        need no user interaction."/>
    <echo message="        (Creates HTML test reports in test-reports/.)"/>
    <echo message=""/>
    <echo message="    regard.manual"/>
    <echo message="        Runs the Regard regression testing tool for all test that"/>
    <echo message="        need user interaction."/>
    <echo message="        (Creates HTML test reports in test-reports/.)"/>
    <echo message=""/>
    <echo message="    runtestsuite"/>
    <echo message="        Runs a test suite, given an XML test suite document."/>
    <echo message=""/>
    <echo message="    runtest"/>
    <echo message="        Runs an individual test, given a class name."/>
    <echo message=""/>
    <echo message="    showpainter"/>
    <echo message="        Runs an SVG Generator painter test, given a class name."/>
    <echo message=""/>
    <echo message="See the comments in the build.xml file for more details."/>
  </target>

  <!-- Build .............................................................. -->
  <target name="dist-zip" depends="build-zip"/>
  <target name="build-zip" depends="doc-zip, bin-zip, src-zip"/>

  <target name="doc-zip" depends="init, html">
    <delete dir="${build}/docs/images/BE"/>
    <zip zipfile="${project}-docs-${completeVersion}.zip" basedir="${build}"
         includes="docs/javadoc/**"/>
    <delete dir="${build}/docs/javadoc"/>
  </target>

  <target name="bin-zip" depends="init, jars, bundle-script">
    <zip zipfile="${project}-bin-${completeVersion}.zip">
      <zipfileset dir="." prefix="${project}-${completeVersion}">
        <include name="LICENSE"/>
        <include name="NOTICE"/>
        <include name="README"/>
        <include name="CHANGES"/>
      </zipfileset>
      <zipfileset dir="${build}" prefix="${project}-${completeVersion}">
        <include name="*.jar"/>
        <include name="docs/**"/>
        <include name="extensions/**"/>
        <include name="lib/*.jar"/>
        <include name="lib/make-squiggle-app.sh"/>
      </zipfileset>
      <zipfileset dir="lib" prefix="${project}-${completeVersion}/lib">
        <include name="LICENSE.*.txt"/>
        <include name="README.*.txt"/>
      </zipfileset>
      <zipfileset dir="${resources}/${package-prefix}/extensions"
                  prefix="${project}-${completeVersion}/extensions">
        <include name="README.txt"/>
      </zipfileset>
      <zipfileset dir="${src}" prefix="${project}-${completeVersion}/lib">
        <include name="Squiggle.icns"/>
      </zipfileset>
      <zipfileset dir="." includes="samples/**" prefix="${project}-${completeVersion}"/>
    </zip>
  </target>

  <target name="src-zip" depends="init, record-svn-revision">
    <zip zipfile="${project}-src-${completeVersion}.zip">
      <zipfileset dir="." prefix="${project}-${completeVersion}">
        <include name="LICENSE"/>
        <include name="KEYS"/>
        <include name="MAINTAIN"/>
        <include name="NOTICE"/>
        <include name="README"/>
        <include name="CHANGES"/>
        <include name="build.bat"/>
        <include name="build.sh"/>
        <include name="build.xml"/>
        <include name="forrest.properties"/>
        <include name="svn-revision"/>
        <include name="contrib/**"/>
        <include name="lib/**"/>
        <include name="documentation-sources/**"/>
        <include name="resources/**"/>
        <include name="samples/**"/>
        <include name="sources/**"/>
        <include name="test-resources/**"/>
        <include name="test-sources/**"/>
      </zipfileset>
    </zip>
    <delete file="svn-revision" failonerror="false"/>
  </target>

  <target name="dist-tgz" depends="build-tgz"/>
  <target name="build-tgz" depends="doc-tgz, bin-tgz, src-tgz"/>

  <target name="doc-tgz" depends="init, html">
    <delete dir="${build}/docs/images/BE"/>
    <tar tarfile="${project}-docs-${completeVersion}.tar.gz" compression="gzip"
         basedir="${build}" includes="docs/javadoc/**"/>
    <delete dir="${build}/docs/javadoc"/>
  </target>

  <target name="bin-tgz" depends="init, jars, bundle-script">
    <tar tarfile="${project}-bin-${completeVersion}.tar.gz" compression="gzip">
      <tarfileset dir="." prefix="${project}-${completeVersion}">
        <include name="LICENSE"/>
        <include name="NOTICE"/>
        <include name="README"/>
        <include name="CHANGES"/>
      </tarfileset>
      <tarfileset dir="${build}" prefix="${project}-${completeVersion}">
        <include name="*.jar"/>
        <include name="docs/**"/>
        <include name="extensions/**"/>
        <include name="lib/*.jar"/>
        <include name="lib/make-squiggle-app.sh"/>
      </tarfileset>
      <tarfileset dir="lib" prefix="${project}-${completeVersion}/lib">
        <include name="LICENSE.*.txt"/>
        <include name="README.*.txt"/>
      </tarfileset>
      <tarfileset dir="${resources}/${package-prefix}/extensions"
                  prefix="${project}-${completeVersion}/extensions">
        <include name="README.txt"/>
      </tarfileset>
      <tarfileset dir="${src}" prefix="${project}-${completeVersion}/lib">
        <include name="Squiggle.icns"/>
      </tarfileset>
      <tarfileset dir="." includes="samples/**" prefix="${project}-${completeVersion}"/>
    </tar>
  </target>

  <target name="src-tgz" depends="init, record-svn-revision">
    <tar tarfile="${project}-src-${completeVersion}.tar.gz" compression="gzip">
      <tarfileset dir="." prefix="${project}-${completeVersion}">
        <include name="LICENSE"/>
        <include name="KEYS"/>
        <include name="MAINTAIN"/>
        <include name="NOTICE"/>
        <include name="README"/>
        <include name="CHANGES"/>
        <include name="build.bat"/>
        <include name="build.sh"/>
        <include name="build.xml"/>
        <include name="forrest.properties"/>
        <include name="svn-revision"/>
        <include name="contrib/**"/>
        <include name="lib/**"/>
        <include name="documentation-sources/**"/>
        <include name="resources/**"/>
        <include name="samples/**"/>
        <include name="sources/**"/>
        <include name="test-resources/**"/>
        <include name="test-sources/**"/>
      </tarfileset>
    </tar>
    <delete file="svn-revision" failonerror="false"/>
  </target>

  <target name="dmg" depends="appbundle">
    <exec executable="hdiutil">
      <arg line="create -srcfolder ${app} ${dmg}"/>
    </exec>
  </target>

  <target name="appbundle" depends="init, jars, determine-svn-revision">
    <mkdir dir="${app}/Contents/MacOS"/>
    <mkdir dir="${app}/Contents/Resources"/>
    <echo file="${app}/Contents/Info.plist"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>CFBundleExecutable</key>
  <string>Squiggle</string>
  <key>CFBundleVersion</key>
  <string>${completeVersion}</string>
  <key>CFBundleShortVersionString</key>
  <string>${completeVersion}</string>
  <key>CFBundleIconFile</key>
  <string>Squiggle.icns</string>
  <key>CFBundleIdentifier</key>
  <string>org.apache.batik</string>
  <key>CFBundleInfoDictionaryVersion</key>
  <string>6.0</string>
  <key>CFBundleName</key>
  <string>Squiggle</string>
  <key>CFBundlePackageType</key>
  <string>APPL</string>
  <key>CFBundleSignature</key>
  <string>????</string>
  <key>NSHumanReadableCopyright</key>
  <string>Copyright © ${year} Apache Software Foundation. All Rights Reserved.</string>
</dict>
</plist>]]></echo>
    <echo file="${app}/Contents/MacOS/Squiggle"><![CDATA[#!/bin/sh

JAVA=/usr/bin/java
[ -e "$JAVA_HOME/bin/java" ] && JAVA="$JAVA_HOME/bin/java"

"$JAVA" -Dcom.apple.mrj.application.apple.menu.about.name=Squiggle -jar "`dirname \"$0\"`/../Resources/batik-squiggle.jar"
]]></echo>
    <chmod perm="a+x" file="${app}/Contents/MacOS/Squiggle"/>
    <copy todir="${app}/Contents/Resources">
      <fileset dir=".">
        <include name="LICENSE"/>
        <include name="NOTICE"/>
        <include name="README"/>
      </fileset>
      <fileset dir="${build}">
        <include name="*.jar"/>
        <include name="lib/**"/>
        <include name="extensions/**"/>
      </fileset>
      <fileset dir="${src}">
        <include name="Squiggle.icns"/>
      </fileset>
    </copy>
    <copy todir="${app}/Contents/Resources/lib">
      <fileset dir="${lib}">
        <include name="LICENSE.*.txt"/>
        <include name="README.*.txt"/>
      </fileset>
    </copy>
    <copy todir="${app}/Contents/Resources/extensions">
      <fileset dir="${resources}/${package-prefix}/extensions">
        <include name="README.txt"/>
      </fileset>
    </copy>
  </target>

  <target name="bundle-script" depends="init, determine-svn-revision">
    <copy file="${src}/make-squiggle-app.sh.template"
          tofile="${build}/lib/make-squiggle-app.sh">
      <filterset>
        <filter token="VERSION" value="${completeVersion}"/>
        <filter token="YEAR" value="${year}"/>
      </filterset>
    </copy>
    <chmod perm="a+x" file="${build}/lib/make-squiggle-app.sh"/>
  </target>

  <!-- 
    Generates maven artifacts to be copied to
    http://people.apache.org/repo/m2-ibiblio-rsync-repository/org/apache/xmlgraphics/.
    Updating maven-metadata.xml files, and PGP signing of artifacts and POMs must be done manually.
  -->
  <target name="maven-artifacts" depends="init, determine-svn-revision, jars">
    <filter token="version" value="${completeVersion}"/>

    <!-- batik-rasterizer application artifact -->
    <mkdir dir="${maven}/${project}-rasterizer/${completeVersion}"/>
    <copy file="${src}/${project}-rasterizer.pom.template"
          tofile="${maven}/${project}-rasterizer/${completeVersion}/${project}-rasterizer-${completeVersion}.pom" filtering="true"/>
    <antcall target="rasterizer-jar-call">
      <param name="jarsLibDir" value="" />
      <param name="jarVersion" value="${completeVersion}" />
      <param name="rasterizerJar" value="${maven}/${project}-rasterizer/${completeVersion}/${project}-rasterizer-${completeVersion}.jar" />
    </antcall>

    <!-- batik-rasterizer-ext application artifact -->
    <mkdir dir="${maven}/${project}-rasterizer-ext/${completeVersion}"/>
    <copy file="${src}/${project}-rasterizer-ext.pom.template" tofile="${maven}/${project}-rasterizer-ext/${completeVersion}/${project}-rasterizer-ext-${completeVersion}.pom" filtering="true"/>
    <antcall target="rasterizer-ext-jar-call">
      <param name="rasterizer-extJar" value="${maven}/${project}-rasterizer-ext/${completeVersion}/${project}-rasterizer-ext-${completeVersion}.jar" />
    </antcall>

    <!-- batik-slideshow application artifact -->
    <mkdir dir="${maven}/${project}-slideshow/${completeVersion}"/>
    <copy file="${src}/${project}-slideshow.pom.template" tofile="${maven}/${project}-slideshow/${completeVersion}/${project}-slideshow-${completeVersion}.pom" filtering="true"/>
      <antcall target="svg-slideshow-jar-call">
        <param name="jarsLibDir" value="lib/" />
        <param name="jarVersion" value="${completeVersion}" />
        <param name="svg-slideshowJar" value= "${maven}/${project}-slideshow/${completeVersion}/${project}-slideshow-${completeVersion}.jar"/>
      </antcall>

    <!-- batik-squiggle application artifact -->
    <mkdir dir="${maven}/${project}-squiggle/${completeVersion}"/>
    <copy file="${src}/${project}-squiggle.pom.template" tofile="${maven}/${project}-squiggle/${completeVersion}/${project}-squiggle-${completeVersion}.pom" filtering="true"/>
    <antcall target="squiggle-jar-call">
        <param name="jarsLibDir" value="" />
        <param name="jarVersion" value="${completeVersion}" />
        <param name="squiggleJar" value="${maven}/${project}-squiggle/${completeVersion}/${project}-squiggle-${completeVersion}.jar" />
    </antcall>

    <!-- batik-squiggle-ext application artifact -->
    <mkdir dir="${maven}/${project}-squiggle-ext/${completeVersion}"/>
    <copy file="${src}/${project}-squiggle-ext.pom.template" tofile="${maven}/${project}-squiggle-ext/${completeVersion}/${project}-squiggle-ext-${completeVersion}.pom" filtering="true"/>
    <antcall target="squiggle-ext-jar-call">
      <param name="jarsLibDir" value="" />
      <param name="jarVersion" value="${completeVersion}" />
      <param name="squiggle-extJar" value="${maven}/${project}-squiggle-ext/${completeVersion}/${project}-squiggle-ext-${completeVersion}.jar" />
    </antcall>

    <!-- batik-svgpp application artifact -->
    <mkdir dir="${maven}/${project}-svgpp/${completeVersion}"/>
    <copy file="${src}/${project}-svgpp.pom.template" tofile="${maven}/${project}-svgpp/${completeVersion}/${project}-svgpp-${completeVersion}.pom" filtering="true"/>
    <antcall target="svg-pp-jar-call">
      <param name="jarsLibDir" value="" />
      <param name="jarVersion" value="${completeVersion}" />
      <param name="svg-ppJar" value="${maven}/${project}-svgpp/${completeVersion}/${project}-svgpp-${completeVersion}.jar" />
    </antcall>

    <!-- batik-ttf2svg application artifact -->
    <mkdir dir="${maven}/${project}-ttf2svg/${completeVersion}"/>
    <copy file="${src}/${project}-ttf2svg.pom.template" tofile="${maven}/${project}-ttf2svg/${completeVersion}/${project}-ttf2svg-${completeVersion}.pom" filtering="true"/>
    <jar jarfile="${maven}/${project}-ttf2svg/${completeVersion}/${project}-ttf2svg-${completeVersion}.jar">
      <manifest>
        <attribute name="Implementation-Title" value="Batik TrueType to SVG Font converter"/>
        <attribute name="Implementation-Version" value="${completeVersion}"/>
        <attribute name="Implementation-Vendor" value="${vendor}"/>
        <attribute name="Build-Id" value="${build.id}"/>
        <attribute name="Main-Class" value="org.apache.batik.apps.ttf2svg.Main"/>
        <attribute name="Class-Path" value="${project}-svggen-${completeVersion}.jar ${project}-util-${completeVersion}.jar"/>
      </manifest>
      <metainf dir="${basedir}" includes="LICENSE,NOTICE"/>
      <fileset dir="${dest}">
        <include name="${package-prefix}/apps/ttf2svg/**/*.class"/>
      </fileset>
    </jar>

    <!-- library artifacts -->
    <mkdir dir="${maven}/${project}-anim/${completeVersion}"/>
    <copy file="${src}/${project}-anim.pom.template" tofile="${maven}/${project}-anim/${completeVersion}/${project}-anim-${completeVersion}.pom" filtering="true"/>
    <copy file="${build}/lib/${project}-anim-${completeVersion}.jar" tofile="${maven}/${project}-anim/${completeVersion}/${project}-anim-${completeVersion}.jar"/>

    <mkdir dir="${maven}/${project}-awt-util/${completeVersion}"/>
    <copy file="${src}/${project}-awt-util.pom.template" tofile="${maven}/${project}-awt-util/${completeVersion}/${project}-awt-util-${completeVersion}.pom" filtering="true"/>
    <copy file="${build}/lib/${project}-awt-util-${completeVersion}.jar" tofile="${maven}/${project}-awt-util/${completeVersion}/${project}-awt-util-${completeVersion}.jar"/>

    <mkdir dir="${maven}/${project}-bridge/${completeVersion}"/>
    <copy file="${src}/${project}-bridge.pom.template" tofile="${maven}/${project}-bridge/${completeVersion}/${project}-bridge-${completeVersion}.pom" filtering="true"/>
    <copy file="${build}/lib/${project}-bridge-${completeVersion}.jar" tofile="${maven}/${project}-bridge/${completeVersion}/${project}-bridge-${completeVersion}.jar"/>

    <mkdir dir="${maven}/${project}-codec/${completeVersion}"/>
    <copy file="${src}/${project}-codec.pom.template" tofile="${maven}/${project}-codec/${completeVersion}/${project}-codec-${completeVersion}.pom" filtering="true"/>
    <copy file="${build}/lib/${project}-codec-${completeVersion}.jar" tofile="${maven}/${project}-codec/${completeVersion}/${project}-codec-${completeVersion}.jar"/>

    <mkdir dir="${maven}/${project}-css/${completeVersion}"/>
    <copy file="${src}/${project}-css.pom.template" tofile="${maven}/${project}-css/${completeVersion}/${project}-css-${completeVersion}.pom" filtering="true"/>
    <copy file="${build}/lib/${project}-css-${completeVersion}.jar" tofile="${maven}/${project}-css/${completeVersion}/${project}-css-${completeVersion}.jar"/>

    <mkdir dir="${maven}/${project}-dom/${completeVersion}"/>
    <copy file="${src}/${project}-dom.pom.template" tofile="${maven}/${project}-dom/${completeVersion}/${project}-dom-${completeVersion}.pom" filtering="true"/>
    <copy file="${build}/lib/${project}-dom-${completeVersion}.jar" tofile="${maven}/${project}-dom/${completeVersion}/${project}-dom-${completeVersion}.jar"/>

    <mkdir dir="${maven}/${project}-extension/${completeVersion}"/>
    <copy file="${src}/${project}-extension.pom.template" tofile="${maven}/${project}-extension/${completeVersion}/${project}-extension-${completeVersion}.pom" filtering="true"/>
    <copy file="${build}/lib/${project}-extension-${completeVersion}.jar" tofile="${maven}/${project}-extension/${completeVersion}/${project}-extension-${completeVersion}.jar"/>

    <mkdir dir="${maven}/${project}-ext/${completeVersion}"/>
    <copy file="${src}/${project}-ext.pom.template" tofile="${maven}/${project}-ext/${completeVersion}/${project}-ext-${completeVersion}.pom" filtering="true"/>
    <copy file="${build}/lib/${project}-ext-${completeVersion}.jar" tofile="${maven}/${project}-ext/${completeVersion}/${project}-ext-${completeVersion}.jar"/>

    <mkdir dir="${maven}/${project}-gui-util/${completeVersion}"/>
    <copy file="${src}/${project}-gui-util.pom.template" tofile="${maven}/${project}-gui-util/${completeVersion}/${project}-gui-util-${completeVersion}.pom" filtering="true"/>
    <copy file="${build}/lib/${project}-gui-util-${completeVersion}.jar" tofile="${maven}/${project}-gui-util/${completeVersion}/${project}-gui-util-${completeVersion}.jar"/>

    <mkdir dir="${maven}/${project}-gvt/${completeVersion}"/>
    <copy file="${src}/${project}-gvt.pom.template" tofile="${maven}/${project}-gvt/${completeVersion}/${project}-gvt-${completeVersion}.pom" filtering="true"/>
    <copy file="${build}/lib/${project}-gvt-${completeVersion}.jar" tofile="${maven}/${project}-gvt/${completeVersion}/${project}-gvt-${completeVersion}.jar"/>

    <mkdir dir="${maven}/${project}-parser/${completeVersion}"/>
    <copy file="${src}/${project}-parser.pom.template" tofile="${maven}/${project}-parser/${completeVersion}/${project}-parser-${completeVersion}.pom" filtering="true"/>
    <copy file="${build}/lib/${project}-parser-${completeVersion}.jar" tofile="${maven}/${project}-parser/${completeVersion}/${project}-parser-${completeVersion}.jar"/>

    <mkdir dir="${maven}/${project}-script/${completeVersion}"/>
    <copy file="${src}/${project}-script.pom.template" tofile="${maven}/${project}-script/${completeVersion}/${project}-script-${completeVersion}.pom" filtering="true"/>
    <copy file="${build}/lib/${project}-script-${completeVersion}.jar" tofile="${maven}/${project}-script/${completeVersion}/${project}-script-${completeVersion}.jar"/>

    <mkdir dir="${maven}/${project}-svg-dom/${completeVersion}"/>
    <copy file="${src}/${project}-svg-dom.pom.template" tofile="${maven}/${project}-svg-dom/${completeVersion}/${project}-svg-dom-${completeVersion}.pom" filtering="true"/>
    <copy file="${build}/lib/${project}-svg-dom-${completeVersion}.jar" tofile="${maven}/${project}-svg-dom/${completeVersion}/${project}-svg-dom-${completeVersion}.jar"/>

    <mkdir dir="${maven}/${project}-svggen/${completeVersion}"/>
    <copy file="${src}/${project}-svggen.pom.template" tofile="${maven}/${project}-svggen/${completeVersion}/${project}-svggen-${completeVersion}.pom" filtering="true"/>
    <copy file="${build}/lib/${project}-svggen-${completeVersion}.jar" tofile="${maven}/${project}-svggen/${completeVersion}/${project}-svggen-${completeVersion}.jar"/>

    <mkdir dir="${maven}/${project}-swing/${completeVersion}"/>
    <copy file="${src}/${project}-swing.pom.template" tofile="${maven}/${project}-swing/${completeVersion}/${project}-swing-${completeVersion}.pom" filtering="true"/>
    <copy file="${build}/lib/${project}-swing-${completeVersion}.jar" tofile="${maven}/${project}-swing/${completeVersion}/${project}-swing-${completeVersion}.jar"/>

    <mkdir dir="${maven}/${project}-transcoder/${completeVersion}"/>
    <copy file="${src}/${project}-transcoder.pom.template" tofile="${maven}/${project}-transcoder/${completeVersion}/${project}-transcoder-${completeVersion}.pom" filtering="true"/>
    <copy file="${build}/lib/${project}-transcoder-${completeVersion}.jar" tofile="${maven}/${project}-transcoder/${completeVersion}/${project}-transcoder-${completeVersion}.jar"/>

    <mkdir dir="${maven}/${project}-util/${completeVersion}"/>
    <copy file="${src}/${project}-util.pom.template" tofile="${maven}/${project}-util/${completeVersion}/${project}-util-${completeVersion}.pom" filtering="true"/>
    <copy file="${build}/lib/${project}-util-${completeVersion}.jar" tofile="${maven}/${project}-util/${completeVersion}/${project}-util-${completeVersion}.jar"/>

    <mkdir dir="${maven}/${project}-xml/${completeVersion}"/>
    <copy file="${src}/${project}-xml.pom.template" tofile="${maven}/${project}-xml/${completeVersion}/${project}-xml-${completeVersion}.pom" filtering="true"/>
    <copy file="${build}/lib/${project}-xml-${completeVersion}.jar" tofile="${maven}/${project}-xml/${completeVersion}/${project}-xml-${completeVersion}.jar"/>

    <mkdir dir="${maven}/${project}-js/${completeVersion}"/>
    <copy file="${src}/${project}-js.pom.template" tofile="${maven}/${project}-js/${completeVersion}/${project}-js-${completeVersion}.pom" filtering="true"/>
    <copy file="${build}/lib/js.jar" tofile="${maven}/${project}-js/${completeVersion}/${project}-js-${completeVersion}.jar"/>

    <!-- Generate checksums of all artifacts and POMs -->
    <checksum algorithm="MD5" fileext=".md5">
      <fileset dir="${maven}">
        <include name="**/*.jar"/>
        <include name="**/*.pom"/>
      </fileset>
    </checksum>
    <checksum algorithm="SHA1" fileext=".sha1">
      <fileset dir="${maven}">
        <include name="**/*.jar"/>
        <include name="**/*.pom"/>
      </fileset>
    </checksum>
  </target>

  <!-- Compilation ........................................................ -->
  <target name="compiletest" depends="init, compile"
          description="Compiles the tests infrastructure source files">
    <mkdir dir="${dest}"/>

    <echo message="debug ${debug}, optimize ${optimize}, deprecation ${deprecation}"/>

    <javac srcdir="${testsrc}" destdir="${dest}"  deprecation="${deprecation}" 
           debug="${debug}" optimize="${optimize}" encoding="UTF-8">
      <classpath>
        <pathelement location="${dest}"/>
        <path refid="libs-classpath"/>
        <path refid="libs-build-classpath"/>
      </classpath>
    </javac>
  </target>

  <!-- Builds Jar Files needed for test purposes. Note that compilation of jars is done -->
  <!-- in a different directory than the usual 'classes' directory ({$dest}).           -->
  <!-- Note that this is needed to avoid having the class files in the classes          -->
  <!-- subdirectory, which interferes with the tests, because classes in that directory -->
  <!-- are loaded first in the development version.                                     -->
  <target name="testjars" depends="security2.jar, IWasLoaded.jar, IWasLoadedToo.jar, JarCheckPermissionsGranted.jar, JarCheckPermissionsDenied.jar, java-binding.jar"/>

  <target name="compiletestjars" depends="init, compile"
          description="Compiles the source files for the samples scripts and the test-resources">
    <mkdir dir="${testresources}/classes"/>
    <mkdir dir="${samples}/tests/resources/java/classes"/>

    <echo message="debug ${debug}, optimize ${optimize}, deprecation ${deprecation}"/>

    <javac srcdir="${samples}/tests/resources/java/sources" destdir="${samples}/tests/resources/java/classes"  deprecation="${deprecation}" 
           debug="${debug}" optimize="${optimize}" encoding="UTF-8">
      <classpath>
        <pathelement location="${dest}"/>
        <pathelement location="${samples}/tests/resources/java/classes"/>
        <path refid="libs-classpath"/>
        <path refid="libs-build-classpath"/>
      </classpath>
    </javac>

    <javac srcdir="${testresources}" destdir="${testresources}/classes"  deprecation="${deprecation}" 
           debug="${debug}" optimize="${optimize}" encoding="UTF-8">
      <classpath>
        <pathelement location="${dest}"/>
        <pathelement location="${testresources}/classes"/>
        <path refid="libs-classpath"/>
        <path refid="libs-build-classpath"/>
      </classpath>
    </javac>
  </target>

  <target name="security2.jar" depends="init, compiletestjars">
    <jar manifest="${samples}/tests/resources/java/resources/com/untrusted/script/security2.mf"
         jarfile="samples/tests/spec/scripting/security2.jar">
      <fileset dir="${samples}/tests/resources/java/classes">
        <include name="com/untrusted/script/**/*.class"/>
      </fileset>
    </jar>
  </target>

  <target name="IWasLoaded.jar" depends="init, compiletestjars" 
          unless="IWasLoadedUpToDate">
    <jar manifest="${testresources}/org/apache/batik/bridge/IWasLoaded.mf"
         jarfile="${testresources}/org/apache/batik/bridge/IWasLoaded.jar">
      <fileset dir="${testresources}/classes">
        <include name="org/apache/batik/bridge/IWasLoaded.class"/>
        <include name="org/apache/batik/bridge/IWasLoaded$*.class"/>
      </fileset>
    </jar>
  </target>

  <target name="IWasLoadedToo.jar" depends="init, compiletestjars" 
          unless="IWasLoadedTooUpToDate">
    <jar manifest="${testresources}/org/apache/batik/bridge/IWasLoadedToo.mf"
         jarfile="${testresources}/org/apache/batik/bridge/IWasLoadedToo.jar">
      <fileset dir="${testresources}/classes">
        <include name="org/apache/batik/bridge/IWasLoadedToo.class"/>
        <include name="org/apache/batik/bridge/IWasLoadedToo$*.class"/>
      </fileset>
    </jar>
  </target>

  <target name="JarCheckPermissionsDenied.jar" depends="init, compiletestjars">
    <jar manifest="${testresources}/org/apache/batik/bridge/JarCheckPermissionsDenied.mf"
         jarfile="${testresources}/org/apache/batik/bridge/JarCheckPermissionsDenied.jar">
      <fileset dir="${testresources}/classes">
        <include name="org/apache/batik/bridge/JarCheckPermissionsDenied*.class"/>
      </fileset>
    </jar>
  </target>

  <target name="JarCheckPermissionsGranted.jar" depends="init, compiletestjars">
    <jar manifest="${testresources}/org/apache/batik/bridge/JarCheckPermissionsGranted.mf"
         jarfile="${testresources}/org/apache/batik/bridge/JarCheckPermissionsGranted.jar">
      <fileset dir="${testresources}/classes">
        <include name="org/apache/batik/bridge/JarCheckPermissionsGranted*.class"/>
      </fileset>
    </jar>
  </target>

  <target name="java-binding.jar" depends="init, compiletestjars">
    <jar manifest="${samples}/tests/resources/java/resources/com/test/script/java-binding.mf"
         jarfile="${samples}/tests/spec/scripting/java-binding.jar">
      <fileset dir="${samples}/tests/resources/java/classes">
        <include name="com/test/script/EventListenerInitializerImpl*.class"/>
      </fileset>
    </jar>
  </target>


  <target name="record-svn-revision" depends="determine-svn-revision"
          if="svn-revision-determined">
    <echo message="${svn-revision-number}" file="svn-revision"/>
  </target>

  <target name="determine-svn-revision"
          depends="determine-svn-revision-svn-info,
                   determine-svn-revision-transform,
                   determine-svn-revision-from-file,
                   determine-svn-revision-set"/>

  <target name="determine-svn-revision-svn-info" depends="init">
    <dirset id="dirs" dir="${src}/${package-prefix}">
      <include name="**"/>
    </dirset>
    <pathconvert refid="dirs" pathsep=" " property="svn-info-dirs"/>
    <exec executable="svn" output="svn-info.xml"
          resultproperty="svn-info-result" failifexecutionfails="false">
      <arg line="info --xml . ${svn-info-dirs}"/>
    </exec>
    <condition property="should-transform-svn-info">
      <equals arg1="${svn-info-result}" arg2="0"/>
    </condition>
  </target>

  <target name="determine-svn-revision-transform" depends="init"
          if="should-transform-svn-info">
    <java fork="yes" classname="org.apache.xalan.xslt.Process"
          outputproperty="svn-revision-number"
          errorproperty="svn-revision-transform-error"
          resultproperty="svn-revision-transform-result">
      <classpath>
        <path refid="libs-build-classpath"/>
      </classpath>
      <arg line="-in svn-info.xml -xsl ${lib}/build/svn-info-revision.xsl"/>
    </java>
    <condition property="svn-revision-determined">
      <equals arg1="${svn-revision-transform-result}" arg2="0"/>
    </condition>
  </target>

  <target name="determine-svn-revision-from-file"
          unless="svn-revision-determined">
    <loadfile property="svn-revision-number" srcFile="svn-revision"
              failonerror="false"/>
    <condition property="svn-revision-determined">
      <not>
        <equals arg1="${svn-revision-suffix-string}" arg2=""/>
      </not>
    </condition>
  </target>

  <target name="determine-svn-revision-set"
          if="svn-revision-determined">
    <property name="svn-revision-suffix" value="+r${svn-revision-number}"/>
    <delete file="svn-info.xml" failonerror="false"/>
  </target>


  <target name="compile-prepare" depends="init" unless="compile-prepare.done">
    <mkdir dir="${dest}"/>
    <echo message="debug ${debug}, optimize ${optimize}, deprecation ${deprecation}"/>
    <property name="compile-prepare.done" value="true"/>
  </target>

  <target name="compile" depends="init, compile-prepare" unless="compile.done">
    <javac destdir="${dest}" deprecation="${deprecation}" 
           debug="${debug}" optimize="${optimize}" encoding="UTF-8"
           includeAntRuntime="true">
      <src path="${src}"/>
      <classpath refid="libs-classpath"/>
      <exclude name="**/*.html"/>
      <exclude name="**/rhino/*"   unless="rhino.present"/>      
      <exclude name="**/jpython/*" unless="jpython.present"/>
      <exclude name="**/jacl/*"    unless="jacl.present"/>
      <exclude name="${package-prefix}/ext/awt/image/codec/jpeg/*"
               unless="sun-codecs.present"/>
      <exclude name="${package-prefix}/ext/awt/image/codec/tiff/*"
               unless="sun-codecs.present"/>
    </javac>
    <property name="compile.done" value="true"/>
  </target>

  <target name="clean-compile" depends="init"
          description="Cleans the files generated by compile">
    <delete dir="${dest}"/>
  </target>

  <target name="clean-apache" depends="init"
          description="Cleans the Apache files generated by compile">
    <delete dir="${dest}/org/apache"/>
  </target>

  <target name="clean-test" depends="init"
          description="Cleans files generated by running tests">
    <delete file="${samples}/tests/spec/scripting/security2.jar"/>
    <delete file="${samples}/tests/spec/scripting/java-binding.jar"/>
    <delete file="${samples}/anne.pdf"/>
    <delete file="${samples}/anne.png"/>
    <delete dir="${test-references}" includes="**/candidate-reference/*"/>
    <delete dir="${test-references}" includes="**/candidate-variation/*"/>
    <delete dir="${test-resources}" includes="**/JarCheckPermissions*.jar"/>
    <delete dir="${test-resources}/classes"/>
    <delete dir="${samples}/tests/resources/java/classes"/>
    <delete dir="${test-reports}"/>
  </target>


  <!-- Jars ............................................................... -->
  <target name="prepare-build" depends="init, determine-svn-revision">
    <mkdir dir="${build}"/>
    <mkdir dir="${build}/docs"/>
    <mkdir dir="${build}/lib"/>
  </target>

  <!-- Generates all the jars except all-jar -->
  <target name="jars" depends="init,
                               ext-jar,
                               util-jar,
                               awt-util-jar,
                               gui-util-jar,
                               dom-jar,
                               css-jar,
                               svg-dom-jar,
                               gvt-jar,
                               parser-jar,
                               script-jar,
                               transcoder-jar,
                               bridge-jar,
                               swing-jar,
                               anim-jar,
                               codec-jar,
                               extension-jar,
                               xml-jar,
                               root-jar,
                               svg-pp-jar,
                               svggen-jar,
                               svg-slideshow-jar,
                               squiggle-jar,
                               squiggle-ext-jar,
                               rasterizer-jar,
                               rasterizer-ext-jar,
                               ttf2svg-jar">
    <copy todir="${build}/lib">
      <fileset dir="${lib}">
        <include name="*.jar"/>
      </fileset>
    </copy>
  </target>


  <!-- All batik in a single jar (dependencies: none) -->
  <target name="all-jar" depends="init, compile, prepare-build"
          description="Creates a combined JAR file of the Batik libraries in ${build}/lib">
    <jar jarfile="${build}/lib/${project}-all-${completeVersion}.jar">
      <manifest>
        <attribute name="Implementation-Title" value="Batik all-in-one JAR"/>
        <attribute name="Implementation-Version" value="${completeVersion}"/>
        <attribute name="Implementation-Vendor" value="${vendor}"/>
        <attribute name="Build-Id" value="${build.id}"/>
        <attribute name="Main-Class" value="${class-prefix}.apps.svgbrowser.Main"/>
      </manifest>
      <metainf dir="${basedir}" includes="LICENSE,NOTICE"/>
      <fileset dir="${dest}" excludes="**/.svn/">
        <include name="**"/>
      </fileset>
      <fileset dir="${resources}" excludes="**/.svn/">
        <include name="**"/>
      </fileset>
    </jar>
  </target>


  <!-- All batik in a single jar, without SAX and DOM bindings
       (dependencies: batik-ext.jar) -->
  <target name="libs-jar" depends="init, compile, prepare-build">
    <jar jarfile="${build}/lib/${project}-libs-${completeVersion}.jar">
      <manifest>
        <attribute name="Implementation-Title" value="Batik all-in-one minus external dependencies"/>
        <attribute name="Implementation-Version" value="${completeVersion}"/>
        <attribute name="Implementation-Vendor" value="${vendor}"/>
        <attribute name="Build-Id" value="${build.id}"/>
      </manifest>
      <fileset dir="${dest}" excludes="**/.svn/">
        <include name="org/apache/batik/**"/>
        <include name="org/w3c/**"/>
      </fileset>
      <fileset dir="${resources}" excludes="**/.svn/">
        <include name="**"/>
      </fileset>
    </jar>
  </target>


  <!-- What is needed to the JSVGCanvas bean in a jar,
       including the XML parser -->
  <target name="bean" depends="init, compile, prepare-build">
    <mkdir dir="${build}/tmp"/>
    <unjar src="lib/xerces_2_5_0.jar" dest="${build}/tmp"/>
    <jar jarfile="${build}/lib/${project}-bean-${completeVersion}.jar">
      <manifest>
        <attribute name="Implementation-Title" value="Batik JavaBean"/>
        <attribute name="Implementation-Version" value="${completeVersion}"/>
        <attribute name="Implementation-Vendor" value="${vendor}"/>
        <attribute name="Build-Id" value="${build.id}"/>
      	<section name="org/apache/batik/swing/JSVGCanvas.class">
            <attribute name="Java-Bean" value="True"/>
        </section>
      </manifest>
      <metainf dir="${basedir}" includes="LICENSE,NOTICE"/>
      <fileset dir="${dest}">
        <include name="org/w3c/**"/>
        <include name="${package-prefix}/bridge/**/*.class"/>
        <include name="${package-prefix}/css/**/*.class"/>
        <include name="${package-prefix}/dom/**/*.class"/>
        <include name="${package-prefix}/ext/**/*.class"/>
        <include name="${package-prefix}/gvt/**/*.class"/>
        <include name="${package-prefix}/i18n/**/*.class"/>
        <include name="${package-prefix}/parser/**/*.class"/>
        <include name="${package-prefix}/script/**/*.class"/>
        <include name="${package-prefix}/swing/**/*.class"/>
        <include name="${package-prefix}/util/*.class"/>
        <include name="${package-prefix}/util/io/*.class"/>
        <include name="${package-prefix}/xml/*.class"/>
      </fileset>
      <fileset dir="${resources}" excludes="**/.svn/">
        <include name="${package-prefix}/bridge/**"/>
        <include name="${package-prefix}/css/**"/>
        <include name="${package-prefix}/dom/**"/>
        <include name="${package-prefix}/ext/**"/>
        <include name="${package-prefix}/parser/**"/>
        <include name="${package-prefix}/swing/**"/>
        <include name="${package-prefix}/util/resources/**"/>
        <include name="${package-prefix}/util/io/resources/**"/>
      </fileset>
      <fileset dir="${build}/tmp">
        <include name="org/**"/>
      </fileset>
    </jar>
    <delete dir="${build}/tmp"/>
  </target>

  <!-- External code (DOM Level 3 Events and ElementTraversal interfaces) (dependencies: none) -->
  <target name="ext-jar" depends="init, compile, prepare-build">
    <jar jarfile="${build}/lib/${project}-ext-${completeVersion}.jar">
      <manifest>
        <attribute name="Implementation-Title" value="Batik external code"/>
        <attribute name="Implementation-Version" value="${completeVersion}"/>
        <attribute name="Implementation-Vendor" value="${vendor}"/>
        <attribute name="Build-Id" value="${build.id}"/>
      </manifest>
      <metainf dir="${lib}">
        <include name="LICENSE.dom-*.txt"/>
      </metainf>
      <fileset dir="${dest}">
        <include name="org/w3c/**"/>
      </fileset>
    </jar>
  </target>

  <!-- Util, i18n (dependencies: none) -->
  <target name="util-jar" depends="init, compile, prepare-build">
    <jar jarfile="${build}/lib/${project}-util-${completeVersion}.jar">
      <manifest>
        <attribute name="Implementation-Title" value="Batik utility library"/>
        <attribute name="Implementation-Version" value="${completeVersion}"/>
        <attribute name="Implementation-Vendor" value="${vendor}"/>
        <attribute name="Build-Id" value="${build.id}"/>
      </manifest>
      <metainf dir="${basedir}" includes="LICENSE,NOTICE"/>
      <fileset dir="${dest}">
        <include name="${package-prefix}/i18n/*.class"/>
        <include name="${package-prefix}/util/*.class"/>
        <include name="${package-prefix}/util/io/*.class"/>
        <include name="${package-prefix}/Version.class"/>
        <include name="${package-prefix}/util/resources/*.class"/>
      </fileset>
      <fileset dir="${resources}" excludes="**/.svn/">
        <include name="${package-prefix}/util/resources/**"/>
        <include name="${package-prefix}/util/io/resources/**"/>
      </fileset>
    </jar>
  </target>


  <!-- AWT Util (dependencies: none) -->
  <target name="awt-util-jar" depends="init, compile, prepare-build">
    <jar jarfile="${build}/lib/${project}-awt-util-${completeVersion}.jar">
      <manifest>
        <attribute name="Implementation-Title" value="Batik AWT utility library"/>
        <attribute name="Implementation-Version" value="${completeVersion}"/>
        <attribute name="Implementation-Vendor" value="${vendor}"/>
        <attribute name="Build-Id" value="${build.id}"/>
      </manifest>
      <metainf dir="${basedir}" includes="LICENSE,NOTICE"/>
      <fileset dir="${dest}">
        <include name="${package-prefix}/ext/awt/**/*.class"/>
        <include name="${package-prefix}/ext/swing/**/*.class"/>
        <exclude name="${package-prefix}/ext/awt/image/codec/**/*.class"/>
      </fileset>
      <fileset dir="${resources}" excludes="**/.svn/">
        <include name="${package-prefix}/ext/awt/image/**"/>
        <include name="${package-prefix}/ext/swing/**"/>
        <exclude name="${package-prefix}/ext/awt/image/codec/**/properties"/>
      </fileset>
    </jar>
  </target>


  <!-- Codecs (dependencies: awt-util, transcoder) -->
  <target name="codec-jar" depends="init, compile, prepare-build">
    <jar jarfile="${build}/lib/${project}-codec-${completeVersion}.jar">
      <manifest>
        <attribute name="Implementation-Title" value="Batik image codecs"/>
        <attribute name="Implementation-Version" value="${completeVersion}"/>
        <attribute name="Implementation-Vendor" value="${vendor}"/>
        <attribute name="Build-Id" value="${build.id}"/>
      </manifest>
      <metainf dir="${basedir}" includes="LICENSE,NOTICE"/>
      <fileset dir="${dest}">
        <include name="${package-prefix}/ext/awt/image/codec/util/*.class"/>
        <include name="${package-prefix}/ext/awt/image/codec/png/*.class"/>
        <include name="${package-prefix}/ext/awt/image/codec/imageio/*.class"
                 unless="sun-codecs.present"/>
        <include name="${package-prefix}/ext/awt/image/codec/tiff/*.class"
                 if="sun-codecs.present"/>
        <include name="${package-prefix}/ext/awt/image/codec/jpeg/*.class"
                 if="sun-codecs.present"/>
      </fileset>
      <fileset dir="${resources}" excludes="**/.svn/">
        <include name="${package-prefix}/ext/awt/image/codec/**/properties"/>
        <include name="META-INF/services/org.apache.batik.ext.awt.image.spi.ImageWriter"/>
        <include name="META-INF/services/org.apache.batik.ext.awt.image.spi.RegistryEntry"/>
      </fileset>
    </jar>
  </target>


  <!-- SVGGraphics2D (dependencies: util, awt-util) -->
  <target name="svggen-jar" depends="init, compile, prepare-build">
    <jar jarfile="${build}/lib/${project}-svggen-${completeVersion}.jar">
      <manifest>
        <attribute name="Implementation-Title" value="Batik SVG generator"/>
        <attribute name="Implementation-Version" value="${completeVersion}"/>
        <attribute name="Implementation-Vendor" value="${vendor}"/>
        <attribute name="Build-Id" value="${build.id}"/>
      </manifest>
      <metainf dir="${basedir}" includes="LICENSE,NOTICE"/>
      <fileset dir="${dest}">
        <include name="${package-prefix}/svggen/**/*.class"/>
      </fileset>
      <fileset dir="${resources}" excludes="**/.svn/">
        <include name="${package-prefix}/svggen/font/resources/**"/>
      </fileset>
    </jar>
  </target>

  <!-- SVGGraphics2D (dependencies: util, awt-util) -->
  <target name="svggen-full-jar" depends="init, compile, prepare-build">
    <jar jarfile="${build}/lib/${project}-svggenfull-${completeVersion}.jar">
      <manifest>
        <attribute name="Implementation-Title" value="Batik SVG generator plus dependencies"/>
        <attribute name="Implementation-Version" value="${completeVersion}"/>
        <attribute name="Implementation-Vendor" value="${vendor}"/>
        <attribute name="Build-Id" value="${build.id}"/>
      </manifest>
      <metainf dir="${basedir}" includes="LICENSE,NOTICE"/>
      <fileset dir="${dest}">
        <include name="${package-prefix}/svggen/**/*.class"/>
        <include name="${package-prefix}/util/Base64*.class"/>
        <include name="${package-prefix}/ext/awt/image/codec/*ImageEncoder.class"/>
        <include name="${package-prefix}/ext/awt/g2d/*.class"/>
        <include name="${package-prefix}/util/*Constants.class"/>
      </fileset>
      <fileset dir="${resources}" excludes="**/.svn/">
        <include name="${package-prefix}/svggen/font/resources/**"/>
      </fileset>
    </jar>
  </target>


  <!-- GUI Util (dependencies: none) -->
  <target name="gui-util-jar" depends="init, compile, prepare-build">
    <jar jarfile="${build}/lib/${project}-gui-util-${completeVersion}.jar">
      <manifest>
        <attribute name="Implementation-Title" value="Batik GUI utility library"/>
        <attribute name="Implementation-Version" value="${completeVersion}"/>
        <attribute name="Implementation-Vendor" value="${vendor}"/>
        <attribute name="Build-Id" value="${build.id}"/>
      </manifest>
      <metainf dir="${basedir}" includes="LICENSE,NOTICE"/>
      <fileset dir="${dest}">
        <include name="${package-prefix}/util/gui/**/*.class"/>
      </fileset>
      <fileset dir="${resources}" excludes="**/.svn/">
        <include name="${package-prefix}/util/gui/**/resources/**"/>
      </fileset>
    </jar>
  </target>


  <!-- DOM Level 3 (dependencies: ext, util) -->
  <target name="dom-jar" depends="init, compile, prepare-build">
    <jar jarfile="${build}/lib/${project}-dom-${completeVersion}.jar">
      <manifest>
        <attribute name="Implementation-Title" value="Batik DOM Level 3 implementation"/>
        <attribute name="Implementation-Version" value="${completeVersion}"/>
        <attribute name="Implementation-Vendor" value="${vendor}"/>
        <attribute name="Build-Id" value="${build.id}"/>
      </manifest>
      <metainf dir="${basedir}" includes="LICENSE,NOTICE"/>
      <fileset dir="${dest}">
        <include name="${package-prefix}/dom/*.class"/>
        <include name="${package-prefix}/dom/events/*.class"/>
        <include name="${package-prefix}/dom/traversal/*.class"/>
        <include name="${package-prefix}/dom/util/*.class"/>
        <include name="${package-prefix}/dom/xbl/*.class"/>
      </fileset>
      <fileset dir="${resources}" excludes="**/.svn/">
        <include name="${package-prefix}/dom/resources/*"/>
        <include name="${package-prefix}/dom/events/resources/**"/>
        <include name="${package-prefix}/dom/traversal/resources/**"/>
        <include name="${package-prefix}/dom/util/resources/**"/>
        <include name="${package-prefix}/dom/xbl/resources/**"/>
      </fileset>
    </jar>
  </target>


  <!-- CSS Engine (dependencies: ext, util) -->
  <target name="css-jar" depends="init, compile, prepare-build">
    <jar jarfile="${build}/lib/${project}-css-${completeVersion}.jar">
      <manifest>
        <attribute name="Implementation-Title" value="Batik CSS engine"/>
        <attribute name="Implementation-Version" value="${completeVersion}"/>
        <attribute name="Implementation-Vendor" value="${vendor}"/>
        <attribute name="Build-Id" value="${build.id}"/>
      </manifest>
      <metainf dir="${basedir}" includes="LICENSE,NOTICE"/>
      <fileset dir="${dest}">
        <include name="${package-prefix}/css/dom/*.class"/>
        <include name="${package-prefix}/css/engine/*.class"/>
        <include name="${package-prefix}/css/engine/sac/*.class"/>
        <include name="${package-prefix}/css/engine/value/*.class"/>
        <include name="${package-prefix}/css/engine/value/css2/*.class"/>
        <include name="${package-prefix}/css/engine/value/svg/*.class"/>
        <include name="${package-prefix}/css/engine/value/svg12/*.class"/>
        <include name="${package-prefix}/css/parser/*.class"/>
      </fileset>
      <fileset dir="${resources}" excludes="**/.svn/">
        <include name="${package-prefix}/css/dom/resources/**"/>
        <include name="${package-prefix}/css/engine/resources/**"/>
        <include name="${package-prefix}/css/engine/sac/resources/**"/>
        <include name="${package-prefix}/css/engine/value/resources/**"/>
        <include name="${package-prefix}/css/engine/value/css2/resources/**"/>
        <include name="${package-prefix}/css/engine/value/svg/resources/**"/>
        <include name="${package-prefix}/css/engine/value/svg12/resources/**"/>
        <include name="${package-prefix}/css/parser/resources/**"/>
      </fileset>
    </jar>
  </target>

  <!-- SVG DOM (dependencies: ext, DOM, CSS, util) -->
  <target name="svg-dom-jar" depends="init, compile, prepare-build">
    <jar jarfile="${build}/lib/${project}-svg-dom-${completeVersion}.jar">
      <manifest>
        <attribute name="Implementation-Title" value="Batik SVG DOM implementation"/>
        <attribute name="Implementation-Version" value="${completeVersion}"/>
        <attribute name="Implementation-Vendor" value="${vendor}"/>
        <attribute name="Build-Id" value="${build.id}"/>
      </manifest>
      <metainf dir="${basedir}" includes="LICENSE,NOTICE"/>
      <fileset dir="${dest}">
        <include name="${package-prefix}/dom/svg/*.class"/>
        <include name="${package-prefix}/dom/svg12/*.class"/>
      </fileset>
      <fileset dir="${resources}" excludes="**/.svn/">
        <include name="${package-prefix}/dom/svg/resources/**"/>
        <include name="${package-prefix}/dom/svg12/resources/**"/>
      </fileset>
    </jar>
  </target>


  <!-- GVT (dependencies: util, awt-util) -->
  <target name="gvt-jar" depends="init, compile, prepare-build">
    <jar jarfile="${build}/lib/${project}-gvt-${completeVersion}.jar">
      <manifest>
        <attribute name="Implementation-Title" value="Batik GVT library"/>
        <attribute name="Implementation-Version" value="${completeVersion}"/>
        <attribute name="Implementation-Vendor" value="${vendor}"/>
        <attribute name="Build-Id" value="${build.id}"/>
      </manifest>
      <metainf dir="${basedir}" includes="LICENSE,NOTICE"/>
      <fileset dir="${dest}">
        <include name="${package-prefix}/gvt/**/*.class"/>
      </fileset>
      <fileset dir="${resources}" excludes="**/.svn/">
        <include name="${package-prefix}/gvt/**/resources/*"/>
      </fileset>
    </jar>
  </target>


  <!-- Parser (dependencies: util) -->
  <target name="parser-jar" depends="init, compile, prepare-build">
    <jar jarfile="${build}/lib/${project}-parser-${completeVersion}.jar">
      <manifest>
        <attribute name="Implementation-Title" value="Batik parser library"/>
        <attribute name="Implementation-Version" value="${completeVersion}"/>
        <attribute name="Implementation-Vendor" value="${vendor}"/>
        <attribute name="Build-Id" value="${build.id}"/>
      </manifest>
      <metainf dir="${basedir}" includes="LICENSE,NOTICE"/>
      <fileset dir="${dest}">
        <include name="${package-prefix}/parser/**/*.class"/>
      </fileset>
      <fileset dir="${resources}" excludes="**/.svn/">
        <include name="${package-prefix}/parser/**/resources/*"/>
      </fileset>
    </jar>
  </target>


  <!-- Script (dependencies: util) -->
  <target name="script-jar" depends="init, compile, prepare-build">
    <jar jarfile="${build}/lib/${project}-script-${completeVersion}.jar">
      <manifest>
        <attribute name="Implementation-Title" value="Batik script library"/>
        <attribute name="Implementation-Version" value="${completeVersion}"/>
        <attribute name="Implementation-Vendor" value="${vendor}"/>
        <attribute name="Build-Id" value="${build.id}"/>
      </manifest>
      <metainf dir="${basedir}" includes="LICENSE,NOTICE"/>
      <fileset dir="${dest}">
        <include name="${package-prefix}/script/**/*.class"/>
      </fileset>
      <fileset dir="${resources}" excludes="**/.svn/">
        <include name="${package-prefix}/script/**/resources/*"/>
        <include name="META-INF/services/org.apache.batik.script.InterpreterFactory"/>
      </fileset>
    </jar>
  </target>


  <!-- Transcoder (dependencies: all) -->
  <target name="transcoder-jar" depends="init, compile, prepare-build">
    <jar jarfile="${build}/lib/${project}-transcoder-${completeVersion}.jar">
      <manifest>
        <attribute name="Implementation-Title" value="Batik transcoder"/>
        <attribute name="Implementation-Version" value="${completeVersion}"/>
        <attribute name="Implementation-Vendor" value="${vendor}"/>
        <attribute name="Build-Id" value="${build.id}"/>
      </manifest>
      <metainf dir="${basedir}" includes="LICENSE,NOTICE"/>
      <fileset dir="${dest}">
        <include name="${package-prefix}/transcoder/**/*.class"/>
      </fileset>
      <fileset dir="${resources}" excludes="**/.svn/">
        <include name="${package-prefix}/transcoder/**/resources/*"/>
      </fileset>
    </jar>
  </target>

  <!-- XML (dependencies: util) -->
  <target name="xml-jar" depends="init, compile, prepare-build">
    <jar jarfile="${build}/lib/${project}-xml-${completeVersion}.jar">
      <manifest>
        <attribute name="Implementation-Title" value="Batik XML utility library"/>
        <attribute name="Implementation-Version" value="${completeVersion}"/>
        <attribute name="Implementation-Vendor" value="${vendor}"/>
        <attribute name="Build-Id" value="${build.id}"/>
      </manifest>
      <metainf dir="${basedir}" includes="LICENSE,NOTICE"/>
      <fileset dir="${dest}">
        <include name="${package-prefix}/xml/**/*.class"/>
      </fileset>
      <fileset dir="${resources}" excludes="**/.svn/">
        <include name="${package-prefix}/xml/**/resources/*"/>
      </fileset>
    </jar>
  </target>

  <!-- Bridge (dependencies: all) -->
  <target name="bridge-jar" depends="init, compile, prepare-build">
    <jar jarfile="${build}/lib/${project}-bridge-${completeVersion}.jar">
      <manifest>
        <attribute name="Implementation-Title" value="Batik bridge"/>
        <attribute name="Implementation-Version" value="${completeVersion}"/>
        <attribute name="Implementation-Vendor" value="${vendor}"/>
        <attribute name="Build-Id" value="${build.id}"/>
      </manifest>
      <metainf dir="${basedir}" includes="LICENSE,NOTICE"/>
      <fileset dir="${dest}">
        <include name="${package-prefix}/bridge/**/*.class"/>
      </fileset>
      <fileset dir="${resources}" excludes="**/.svn/">
        <include name="${package-prefix}/bridge/BrokenLink.svg"/>
        <include name="${package-prefix}/bridge/**/resources/*"/>
      </fileset>
    </jar>
  </target>

  <!-- Swing (dependencies: all) -->
  <target name="swing-jar" depends="init, compile, prepare-build">
    <jar jarfile="${build}/lib/${project}-swing-${completeVersion}.jar">
      <manifest>
        <attribute name="Implementation-Title" value="Batik Swing components"/>
        <attribute name="Implementation-Version" value="${completeVersion}"/>
        <attribute name="Implementation-Vendor" value="${vendor}"/>
        <attribute name="Build-Id" value="${build.id}"/>
      </manifest>
      <metainf dir="${basedir}" includes="LICENSE,NOTICE"/>
      <fileset dir="${dest}">
        <include name="${package-prefix}/swing/**/*.class"/>
      </fileset>
      <fileset dir="${resources}" excludes="**/.svn/">
        <include name="${package-prefix}/swing/**/resources/*"/>
      </fileset>
    </jar>
  </target>

  <!-- Animation (dependencies: dom, util, xml, parser) -->
  <target name="anim-jar" depends="init, compile, prepare-build">
    <jar jarfile="${build}/lib/${project}-anim-${completeVersion}.jar">
      <manifest>
        <attribute name="Implementation-Title" value="Batik animation"/>
        <attribute name="Implementation-Version" value="${completeVersion}"/>
        <attribute name="Implementation-Vendor" value="${vendor}"/>
        <attribute name="Build-Id" value="${build.id}"/>
      </manifest>
      <metainf dir="${basedir}" includes="LICENSE,NOTICE"/>
      <fileset dir="${dest}">
        <include name="${package-prefix}/anim/*.class"/>
        <include name="${package-prefix}/anim/dom/*.class"/>
        <include name="${package-prefix}/anim/timing/*.class"/>
        <include name="${package-prefix}/anim/values/*.class"/>
      </fileset>
      <fileset dir="${resources}" excludes="**/.svn/">
        <include name="${package-prefix}/anim/**/resources/*"/>
      </fileset>
    </jar>
  </target>

  <!-- Extensions (dependencies: all) -->
  <target name="extension-jar" depends="init, compile, prepare-build">
    <jar jarfile="${build}/lib/${project}-extension-${completeVersion}.jar">
      <manifest>
        <attribute name="Implementation-Title" value="Batik extensions"/>
        <attribute name="Implementation-Version" value="${completeVersion}"/>
        <attribute name="Implementation-Vendor" value="${vendor}"/>
        <attribute name="Build-Id" value="${build.id}"/>
      </manifest>
      <metainf dir="${basedir}" includes="LICENSE,NOTICE"/>
      <fileset dir="${resources}" excludes="**/.svn/">
        <include name="META-INF/services/org.apache.batik.bridge.BridgeExtension"/>
        <include name="META-INF/services/org.apache.batik.dom.DomExtension"/>
      </fileset>
      <fileset dir="${dest}">
        <include name="${package-prefix}/extension/**/*.class"/>
      </fileset>
      <fileset dir="${resources}" excludes="**/.svn/">
        <include name="${package-prefix}/extension/**/resources/*"/>
      </fileset>
    </jar>
  </target>

  <!-- SVG Pretty-printer (dependencies: ???) -->
  <target name="svg-pp-jar" depends="init, compile, prepare-build">
    <antcall target = "svg-pp-jar-call">
      <param name="jarsLibDir" value="lib/" />
      <param name="jarVersion" value="${completeVersion}" />
      <param name="svg-ppJar" value= "${build}/${project}-svgpp-${completeVersion}.jar" />
    </antcall>
  </target>

  <target name="svg-pp-jar-call" depends="init, compile, prepare-build">
    <jar flattenAttributes="true"
         jarfile="${svg-ppJar}">
      <manifest>
        <attribute name="Implementation-Title" value="Batik XML pretty printer"/>
        <attribute name="Implementation-Version" value="${completeVersion}"/>
        <attribute name="Implementation-Vendor" value="${vendor}"/>
        <attribute name="Build-Id" value="${build.id}"/>
        <attribute name="Main-Class" value="org.apache.batik.apps.svgpp.Main"/>
        <attribute name="Class-Path" value="${jarsLibDir}${project}-ext-${jarVersion}.jar" />
        <attribute name="Class-Path" value="${jarsLibDir}${project}-dom-${jarVersion}.jar" />
        <attribute name="Class-Path" value="${jarsLibDir}${project}-parser-${jarVersion}.jar" />
        <attribute name="Class-Path" value="${jarsLibDir}${project}-transcoder-${jarVersion}.jar" />
        <attribute name="Class-Path" value="${jarsLibDir}${project}-util-${jarVersion}.jar" />
        <attribute name="Class-Path" value="${jarsLibDir}${project}-xml-${jarVersion}.jar" />
        <attribute name="Class-Path" value="${jarsLibDir}xml-apis-1.3.04.jar" />
        <attribute name="Class-Path" value="${jarsLibDir}xml-apis-ext-1.3.04.jar" />
      </manifest>
      <metainf dir="${basedir}" includes="LICENSE,NOTICE"/>
      <fileset dir="${dest}">
        <include name="${package-prefix}/apps/svgpp/**/*.class"/>
      </fileset>
      <fileset dir="${resources}" excludes="**/.svn/">
        <include name="${package-prefix}/apps/svgpp/**/resources/**"/>
      </fileset>
      </jar>
  </target>

  <!-- SVG Slide-show (dependencies: ???) -->
  <target name="svg-slideshow-jar" depends="init, compile, prepare-build">
      <antcall target="svg-slideshow-jar-call">
        <param name="jarsLibDir" value="lib/" />
        <param name="jarVersion" value="${completeVersion}" />
        <param name="svg-slideshowJar" value= "${build}/${project}-slideshow-${completeVersion}.jar"/>
      </antcall>
  </target>

  <target name="svg-slideshow-jar-call" depends="init, compile, prepare-build">
    <filter token="batikVersion" value="${completeVersion}" />
    <jar flattenAttributes="true"
         jarfile="${svg-slideshowJar}">
      <manifest>
        <attribute name="Implementation-Title" value="Batik SVG slide show tool"/>
        <attribute name="Implementation-Version" value="${completeVersion}"/>
        <attribute name="Implementation-Vendor" value="${vendor}"/>
        <attribute name="Build-Id" value="${build.id}"/>
        <attribute name="Main-Class" value="org.apache.batik.apps.slideshow.Main"/>
        <attribute name="Class-Path" value="${jarsLibDir}${project}-ext-${jarVersion}.jar" />
        <attribute name="Class-Path" value="${jarsLibDir}${project}-dom-${jarVersion}.jar" />
        <attribute name="Class-Path" value="${jarsLibDir}${project}-css-${jarVersion}.jar" />
        <attribute name="Class-Path" value="${jarsLibDir}${project}-svg-dom-${jarVersion}.jar" />
        <attribute name="Class-Path" value="${jarsLibDir}${project}-gvt-${jarVersion}.jar" />
        <attribute name="Class-Path" value="${jarsLibDir}${project}-parser-${jarVersion}.jar" />
        <attribute name="Class-Path" value="${jarsLibDir}${project}-script-${jarVersion}.jar" />
        <attribute name="Class-Path" value="${jarsLibDir}${project}-bridge-${jarVersion}.jar" />
        <attribute name="Class-Path" value="${jarsLibDir}${project}-anim-${jarVersion}.jar" />
        <attribute name="Class-Path" value="${jarsLibDir}${project}-transcoder-${jarVersion}.jar" />
        <attribute name="Class-Path" value="${jarsLibDir}${project}-gui-uti-${jarVersion}.jar" />
        <attribute name="Class-Path" value="${jarsLibDir}${project}-awt-util-${jarVersion}.jar" />
        <attribute name="Class-Path" value="${jarsLibDir}${project}-codec-${jarVersion}.jar" />
        <attribute name="Class-Path" value="${jarsLibDir}${project}-util-${jarVersion}.jar" />
        <attribute name="Class-Path" value="${jarsLibDir}${project}-xml-${jarVersion}.jar" />
        <attribute name="Class-Path" value="${jarsLibDir}xerces_2_5_0.jar" />
        <attribute name="Class-Path" value="${jarsLibDir}xalan-2.7.0.jar" />
        <attribute name="Class-Path" value="${jarsLibDir}xml-apis-1.3.04.jar" />
        <attribute name="Class-Path" value="${jarsLibDir}xml-apis-ext-1.3.04.jar" />
        <attribute name="Class-Path" value="${jarsLibDir}xmlgraphics-commons-${xgcVersion}.jar"/>
      </manifest>
      <metainf dir="${basedir}" includes="LICENSE,NOTICE"/>
      <fileset dir="${dest}">
        <include name="${package-prefix}/apps/slideshow/**/*.class"/>
      </fileset>
      <fileset dir="${resources}">
        <exclude name="**/.svn/" />
        <include name="${package-prefix}/apps/slideshow/**/resources/**" />

      </fileset>
    </jar>
  </target>

  <!-- Squiggle (dependencies: all) -->
  <target name="squiggle-jar" depends="init, compile, prepare-build">
    <antcall target="squiggle-jar-call">
      <param name="jarsLibDir" value="lib/" />
      <param name="jarVersion" value="${completeVersion}" />
      <param name="squiggleJar" value="${build}/${project}-squiggle-${completeVersion}.jar" />
    </antcall>
  </target>

  <target name="squiggle-jar-call" depends="init, compile, prepare-build">
    <filter token="jarsLibDir" value="${jarsLibDir}" />
    <filter token="batikVersion" value="${completeVersion}" />
    <filter token="xgcVersion" value="${xgcVersion}" />
    <copy file="${resources}/${package-prefix}/apps/svgbrowser/resources/svgbrowser.policy.ref"
          tofile="${resources}/${package-prefix}/apps/svgbrowser/resources/svgbrowser.policy.tmp"
          filtering="true" />
    <jar flattenAttributes="true"
         jarfile="${squiggleJar}">
      <manifest>
        <attribute name="Implementation-Title" value="Batik Squiggle SVG browser"/>
        <attribute name="Implementation-Version" value="${completeVersion}"/>
        <attribute name="Implementation-Vendor" value="${vendor}"/>
        <attribute name="Main-Class" value="org.apache.batik.apps.svgbrowser.Main" />
        <!-- this causes ant to emit bogus warning regarding multiple class-path entries -->
        <attribute name="Class-Path" value="${jarsLibDir}${project}-ext-${jarVersion}.jar" />
        <attribute name="Class-Path" value="${jarsLibDir}${project}-dom-${jarVersion}.jar" />
        <attribute name="Class-Path" value="${jarsLibDir}${project}-css-${jarVersion}.jar" />
        <attribute name="Class-Path" value="${jarsLibDir}${project}-svg-dom-${jarVersion}.jar" />
        <attribute name="Class-Path" value="${jarsLibDir}${project}-gvt-${jarVersion}.jar" />
        <attribute name="Class-Path" value="${jarsLibDir}${project}-parser-${jarVersion}.jar" />
        <attribute name="Class-Path" value="${jarsLibDir}${project}-script-${jarVersion}.jar" />
        <attribute name="Class-Path" value="${jarsLibDir}${project}-bridge-${jarVersion}.jar" />
        <attribute name="Class-Path" value="${jarsLibDir}${project}-swing-${jarVersion}.jar" />
        <attribute name="Class-Path" value="${jarsLibDir}${project}-anim-${jarVersion}.jar" />
        <attribute name="Class-Path" value="${jarsLibDir}${project}-transcoder-${jarVersion}.jar" />
        <attribute name="Class-Path" value="${jarsLibDir}${project}-gui-util-${jarVersion}.jar" />
        <attribute name="Class-Path" value="${jarsLibDir}${project}-awt-util-${jarVersion}.jar" />
        <attribute name="Class-Path" value="${jarsLibDir}${project}-codec-${jarVersion}.jar" />
        <attribute name="Class-Path" value="${jarsLibDir}${project}-util-${jarVersion}.jar" />
        <attribute name="Class-Path" value="${jarsLibDir}${project}-xml-${jarVersion}.jar" />
        <attribute name="Class-Path" value="${jarsLibDir}xerces_2_5_0.jar" />
        <attribute name="Class-Path" value="${jarsLibDir}xalan-2.7.0.jar" />
        <attribute name="Class-Path" value="${jarsLibDir}xml-apis-1.3.04.jar" />
        <attribute name="Class-Path" value="${jarsLibDir}xml-apis-ext-1.3.04.jar" />
        <attribute name="Class-Path" value="${jarsLibDir}js.jar" />
        <attribute name="Class-Path" value="${jarsLibDir}xmlgraphics-commons-${xgcVersion}.jar"/>
        <attribute name="Build-Id" value="${build.id}"/>
      </manifest>
      <metainf dir="${basedir}" includes="LICENSE,NOTICE"/>
      <fileset dir="${dest}">
        <include name="${package-prefix}/apps/svgbrowser/**/*.class"/>
      </fileset>
      <fileset dir="${resources}">
        <exclude name="**/.svn/" />
        <include name="${package-prefix}/apps/svgbrowser/**/resources/Messages.properties" />
        <include name="${package-prefix}/apps/svgbrowser/**/resources/**"/>
        <exclude name="${package-prefix}/apps/svgbrowser/resources/squiggle.xsl"/>
        <exclude name="${package-prefix}/apps/svgbrowser/resources/squiggle.svg"/>
        <exclude name="${package-prefix}/apps/svgbrowser/resources/*.policy.tmp"/>

      </fileset>
      <mappedresources>
        <fileset dir="${resources}">
          <!--exclude name="**/.svn/" />
          <include name="${package-prefix}/apps/rasterizer/**/resources/Messages.properties" /-->
          <include name="${package-prefix}/apps/svgbrowser/**/resources/*.policy.tmp" />
        </fileset>
        <globmapper from="*.policy.tmp" to="*.policy" />
      </mappedresources>
    </jar>
    <delete file="${resources}/${package-prefix}/apps/svgbrowser/resources/svgbrowser.policy.tmp" />
  </target>

  <target name="squiggle-ext-jar" depends="init, squiggle-jar">
    <mkdir dir="${build}/extensions"/>
    <antcall target="squiggle-ext-jar-call">
      <param name="jarsLibDir" value="lib/" />
      <param name="jarVersion" value="" />
      <param name="squiggle-extJar" value="${build}/extensions/${project}-squiggle-ext-${completeVersion}.jar" />
    </antcall>
  </target>

  <target name="squiggle-ext-jar-call" depends="init, squiggle-jar">
    <filter token="batikVersion" value="${completeVersion}" />
    <jar flattenAttributes="true"
         jarfile="${squiggle-extJar}">
      <manifest>
        <attribute name="Implementation-Title" value="Batik Squiggle SVG browser with extensions"/>
        <attribute name="Implementation-Version" value="${completeVersion}"/>
        <attribute name="Implementation-Vendor" value="${vendor}"/>
        <attribute name="Build-Id" value="${build.id}"/>
        <attribute name="Main-Class" value="org.apache.batik.apps.svgbrowser.Main"/>
        <attribute name="Class-Path" value="${jarsLibDir}${project}-squiggle-${completeVersion}.jar" />
        <attribute name="Class-Path" value="${jarsLibDir}${project}-${project}-extension-${completeVersion}.ja" />
      </manifest>
      <metainf dir="${basedir}" includes="LICENSE,NOTICE"/>
      <fileset dir="${resources}" excludes="**/.svn/">
        <include name="META-INF/services/**"/>
      </fileset>
    </jar>
  </target>
  <!-- Squiggle - SVG Browser (dependencies: all) -->
  <target name="svg-browser-jar" depends="init, squiggle-jar"/>

  <!-- Rasterizer (dependencies: all except GUI util) -->
  <target name="rasterizer-jar">
    <antcall target="rasterizer-jar-call">
      <param name="jarsLibDir" value="lib/" />
      <param name="jarVersion" value="${completeVersion}" />
      <param name="rasterizerJar" value="${build}/${project}-rasterizer-${completeVersion}.jar" />
    </antcall>
  </target>
  <target name="rasterizer-jar-call" depends="init, compile, prepare-build">
    <filter token="jarsLibDir" value="${jarsLibDir}" />
    <filter token="fopVersion" value="${fopVersion}" />
    <filter token="xgcVersion" value="${xgcVersion}" />
    <filter token="batikVersion" value="${completeVersion}" />
    <copy file="${resources}/${package-prefix}/apps/rasterizer/resources/rasterizer.policy.ref"
          tofile="${resources}/${package-prefix}/apps/rasterizer/resources/rasterizer.policy.tmp"
          filtering="true" />
    <jar flattenAttributes="true"
         jarfile="${rasterizerJar}">
      <manifest>
        <attribute name="Implementation-Title" value="Batik SVG rasterizer"/>
        <attribute name="Implementation-Version" value="${completeVersion}"/>
        <attribute name="Implementation-Vendor" value="${vendor}"/>
        <attribute name="Main-Class" value="org.apache.batik.apps.rasterizer.Main" />
        <attribute name="Build-Id" value="${build.id}"/>
        <!-- this causes ant to emit bogus warning regarding multiple class-path entries -->
        <attribute name="Class-Path" value="${jarsLibDir}${project}-ext-${jarVersion}.jar" />
        <attribute name="Class-Path" value="${jarsLibDir}${project}-dom-${jarVersion}.jar" />
        <attribute name="Class-Path" value="${jarsLibDir}${project}-css-${jarVersion}.jar" />
        <attribute name="Class-Path" value="${jarsLibDir}${project}-svg-dom-${jarVersion}.jar" />
        <attribute name="Class-Path" value="${jarsLibDir}${project}-gvt-${jarVersion}.jar" />
        <attribute name="Class-Path" value="${jarsLibDir}${project}-parser-${jarVersion}.jar" />
        <attribute name="Class-Path" value="${jarsLibDir}${project}-script-${jarVersion}.jar" />
        <attribute name="Class-Path" value="${jarsLibDir}${project}-bridge-${jarVersion}.jar" />
        <attribute name="Class-Path" value="${jarsLibDir}${project}-anim-${jarVersion}.jar" />
        <attribute name="Class-Path" value="${jarsLibDir}${project}-transcoder-${jarVersion}.jar" />
        <attribute name="Class-Path" value="${jarsLibDir}${project}-awt-util-${jarVersion}.jar" />
        <attribute name="Class-Path" value="${jarsLibDir}${project}-codec-${jarVersion}.jar" />
        <attribute name="Class-Path" value="${jarsLibDir}${project}-util-${jarVersion}.jar" />
        <attribute name="Class-Path" value="${jarsLibDir}${project}-xml-${jarVersion}.jar" />
        <attribute name="Class-Path" value="${jarsLibDir}xerces_2_5_0.jar" />
        <attribute name="Class-Path" value="${jarsLibDir}xalan-2.7.0.jar" />
        <attribute name="Class-Path" value="${jarsLibDir}xml-apis-1.3.04.jar" />
        <attribute name="Class-Path" value="${jarsLibDir}xml-apis-ext-1.3.04.jar" />
        <attribute name="Class-Path" value="${jarsLibDir}js.jar" />
        <attribute name="Class-Path" value="${jarsLibDir}fop-transcoder-allinone-${fopVersion}.jar" />
        <attribute name="Class-Path" value="${jarsLibDir}xmlgraphics-commons-${xgcVersion}.jar" />
      </manifest>
      <metainf dir="${basedir}" includes="LICENSE,NOTICE"/>
      <fileset dir="${dest}">
        <include name="${package-prefix}/apps/rasterizer/**/*.class"/>
      </fileset>
      <fileset dir="${resources}">
        <exclude name="**/.svn/" />
        <include name="${package-prefix}/apps/rasterizer/**/resources/Messages.properties" />
      </fileset>
      <mappedresources>
        <fileset dir="${resources}">
          <include name="${package-prefix}/apps/rasterizer/**/resources/*.policy.tmp" />
        </fileset>
        <globmapper from="*.policy.tmp" to="*.policy" />
      </mappedresources>
    </jar>
    <delete file="${resources}/${package-prefix}/apps/rasterizer/resources/rasterizer.policy.tmp" />
  </target>

  <target name="rasterizer-ext-jar" depends="init, rasterizer-jar">
    <mkdir dir="${build}/extensions"/>
    <antcall target="rasterizer-ext-jar-call" >
      <param name="jarsLibDir" value="" />
      <param name="jarVersion" value="${completeVersion}" />
      <param name="rasterizer-extJar" value="${build}/extensions/${project}-rasterizer-ext-${completeVersion}.jar"/>
    </antcall>

  </target>

  <target name="rasterizer-ext-jar-call" depends="init, rasterizer-jar">
    <filter token="batikVersion" value="${completeVersion}" />
    <jar   flattenAttributes="true"
            jarfile="${rasterizer-extJar}">
    <manifest>
      <attribute name="Implementation-Title" value="Batik SVG rasterizer with extensions"/>
      <attribute name="Implementation-Version" value="${completeVersion}"/>
      <attribute name="Implementation-Vendor" value="${vendor}"/>
      <attribute name="Build-Id" value="${build.id}"/>
      <attribute name="Main-Class" value="org.apache.batik.apps.svgbrowser.Main"/>
      <attribute name="Class-Path" value="${jarsLibDir}${project}-extension-${jarVersion}.jar" />
      <attribute name="Class-Path" value="${jarsLibDir}${project}-rasterizer-${jarVersion}.jar" />
    </manifest>
      <metainf dir="${basedir}" includes="LICENSE,NOTICE"/>
      <fileset dir="${resources}" excludes="**/.svn/">
        <include name="META-INF/services/**"/>
      </fileset>
    </jar>
  </target>
  <!-- batik-ttf2svg.jar (dependencies: all) -->
  <target name="ttf2svg-jar" depends="init, compile, prepare-build">
    <antcall target="ttf2svg-jar-call" >
      <param name="jarsLibDir" value="lib/" />
      <param name="jarVersion" value="${completeVersion}" />
      <param name="ttf2svgJar" value="${build}/${project}-ttf2svg-${completeVersion}.jar"/>
    </antcall>
  </target>

  <target name="ttf2svg-jar-call" depends="init, compile, prepare-build">
    <jar   flattenAttributes="true"
           jarfile="${ttf2svgJar}">
    <manifest>
      <attribute name="Implementation-Title" value="Batik TrueType to SVG Font converter"/>
      <attribute name="Implementation-Version" value="${completeVersion}"/>
      <attribute name="Implementation-Vendor" value="${vendor}"/>
      <attribute name="Build-Id" value="${build.id}"/>
      <attribute name="Main-Class" value="org.apache.batik.apps.ttf2svg.Main"/>
      <attribute name="Class-Path" value="${jarsLibDir}${project}-svggen-${jarVersion}.jar" />
      <attribute name="Class-Path" value="${jarsLibDir}${project}-util-${jarVersion}.jar" />
    </manifest>
      <metainf dir="${basedir}" includes="LICENSE,NOTICE"/>
      <fileset dir="${dest}">
        <include name="${package-prefix}/apps/ttf2svg/**/*.class"/>
      </fileset>
    </jar>
  </target>

  <!-- batik.jar (dependencies: all) -->
  <target name="root-jar" depends="init, compile, prepare-build">
    <jar flattenAttributes="true" jarfile="${build}/${project}-${completeVersion}.jar">
      <manifest>
        <attribute name="Implementation-Title" value="Batik"/>
        <attribute name="Implementation-Version" value="${completeVersion}"/>
        <attribute name="Implementation-Vendor" value="${vendor}"/>
        <attribute name="Build-Id" value="${build.id}"/>
        <attribute name="Main-Class" value="org.apache.batik.apps.svgbrowser.Main" />
        <!-- this causes ant to emit bogus warning regarding multiple class-path entries -->
        <attribute name="Class-Path" value="lib/${project}-ext-${completeVersion}.jar" />
        <attribute name="Class-Path" value="lib/${project}-dom-${completeVersion}.jar" />
        <attribute name="Class-Path" value="lib/${project}-css-${completeVersion}.jar" />
        <attribute name="Class-Path" value="lib/${project}-svg-dom-${completeVersion}.jar" />
        <attribute name="Class-Path" value="lib/${project}-gvt-${completeVersion}.jar" />
        <attribute name="Class-Path" value="lib/${project}-parser-${completeVersion}.jar" />
        <attribute name="Class-Path" value="lib/${project}-script-${completeVersion}.jar" />
        <attribute name="Class-Path" value="lib/${project}-bridge-${completeVersion}.jar" />
        <attribute name="Class-Path" value="lib/${project}-swing-${completeVersion}.jar" />
        <attribute name="Class-Path" value="lib/${project}-anim-${completeVersion}.jar" />
        <attribute name="Class-Path" value="lib/${project}-transcoder-${completeVersion}.jar" />
        <attribute name="Class-Path" value="lib/${project}-gui-util-${completeVersion}.jar" />
        <attribute name="Class-Path" value="lib/${project}-awt-util-${completeVersion}.jar" />
        <attribute name="Class-Path" value="lib/${project}-codec-${completeVersion}.jar" />
        <attribute name="Class-Path" value="lib/${project}-util-${completeVersion}.jar" />
        <attribute name="Class-Path" value="lib/${project}-svggen-${completeVersion}.jar" />
        <attribute name="Class-Path" value="lib/${project}-xml-${completeVersion}.jar" />
        <attribute name="Class-Path" value="${project}-squiggle-${completeVersion}.jar" />
        <attribute name="Class-Path" value="${project}-rasterizer-${completeVersion}.jar" />
        <attribute name="Class-Path" value="${project}-svgpp-${completeVersion}.jar" />
        <attribute name="Class-Path" value="lib/xerces_2_5_0.jar" />
        <attribute name="Class-Path" value="lib/xalan-2.7.0.jar" />
        <attribute name="Class-Path" value="lib/xml-apis-1.3.04.jar" />
        <attribute name="Class-Path" value="lib/xml-apis-ext-1.3.04.jar" />
        <attribute name="Class-Path" value="lib/js.jar" />
        <attribute name="Class-Path" value="lib/fop-transcoder-allinone-${fopVersion}.jar" />
        <attribute name="Class-Path" value="lib/xmlgraphics-commons-${xgcVersion}.jar" />
      </manifest>
      <metainf dir="${basedir}" includes="LICENSE,NOTICE"/>
    </jar>
  </target>

  <!-- regard.jar : A jar containing the regard test infrastructure. -->
  <!-- This jar only contains the generic parts of the Batik test    -->
  <!-- infrastructure.                                               -->
  <target name="regard-jar" depends="init, compiletest, prepare-build">
    <jar jarfile="regard-${completeVersion}.jar">
      <manifest>
        <attribute name="Implementation-Title" value="Batik Regard regression testing tool"/>
        <attribute name="Implementation-Version" value="${completeVersion}"/>
        <attribute name="Implementation-Vendor" value="${vendor}"/>
        <attribute name="Build-Id" value="${build.id}"/>
      </manifest>
      <fileset dir="${dest}">
        <include name="${package-prefix}/test/*.class"/>
        <include name="${package-prefix}/test/xml/*.class"/>
        <include name="${package-prefix}/i18n/Localizable.class"/>
        <include name="${package-prefix}/i18n/LocalizableSupport.class"/>
        <include name="${package-prefix}/i18n/LocaleGroup.class"/>
        <include name="${package-prefix}/util/XMLConstants.class"/>
      </fileset>
      <fileset dir="${test-resources}">
        <include name="${package-prefix}/test/resources/*.properties"/>
        <include name="${package-prefix}/test/xml/resources/*.properties"/>
      </fileset>
    </jar>
  </target>

  <!-- imageCodecs.jar : A jar containing the image codecs -->
  <target name="imageCodecs-jar" depends="init, compiletest, prepare-build">
    <jar jarfile="imageCodecs-${completeVersion}.jar">
      <manifest>
        <attribute name="Implementation-Title" value="Batik image codecs"/>
        <attribute name="Implementation-Version" value="${completeVersion}"/>
        <attribute name="Implementation-Vendor" value="${vendor}"/>
        <attribute name="Build-Id" value="${build.id}"/>
      </manifest>
      <metainf dir="${basedir}" includes="LICENSE,NOTICE"/>
      <fileset dir="${dest}">
        <include name="${package-prefix}/ext/awt/image/codec/*.class"/>
      </fileset>
      <fileset dir="${test-resources}">
        <include name="${package-prefix}/ext/awt/image/codec/resources/*.properties"/>
      </fileset>
    </jar>
  </target>

  <!-- Applications ....................................................... -->
  <target name="squiggle" depends="init, compile"
          description="Runs Squiggle - the SVG browser">
    <condition property="squiggle-suffix" value="osx" else="others">
      <os name="Mac OS X"/>
    </condition>
    <antcall target="squiggle-${squiggle-suffix}"/>
  </target>

  <target name="squiggle-osx" depends="appbundle">
    <exec executable="open">
      <arg value="${app}"/>
    </exec>
  </target>

  <target name="squiggle-others">
    <java fork="yes" 
          classname="${class-prefix}.apps.svgbrowser.Main">
<!--          jvm="C:\Documents and Settings\<user>\.netbeans\4.0\modules\profiler-ea-vm\jre\bin\java"> -->
      <classpath>
        <pathelement location="${dest}"/>
        <path refid="libs-classpath"/>
        <pathelement location="resources"/>
      </classpath>
      <arg line="${args}"/> 
      <!-- <jvmarg value="-Xmx512m"/>  <jvmarg value="-Xms64m"/> -->
      <!-- <jvmarg value="-Djava.security.debug=all"/>  
           <jvmarg value="-verbose"/> -->
     <!-- 
      <jvmarg value="-Djava.security.debug=access failure"/> 
      <jvmarg value="-Djava.security.debug=policy"/> 
      <jvmarg value="-Djava.security.manager"/> 
      <jvmarg value="-Djava.security.policy=resources/org/apache/batik/apps/svgbrowser/resources/svgbrowser.policy"/> 
      -->
    </java>
  </target>

  <target name="svgbrowser" depends="squiggle"
          description="Runs Squiggle - the SVG browser"/>

  <target name="svgrasterizer" depends="init, compile"
          description="Runs the SVG rasterizer">
    <java fork="yes"
          classname="${class-prefix}.apps.rasterizer.Main">
      <classpath>
        <pathelement location="${dest}"/>
        <path refid="libs-classpath"/>
        <pathelement location="resources"/>
      </classpath>
<!--      <jvmarg value="-Xmx512m"/>  <jvmarg value="-Xms64m"/>  -->
<!--      <jvmarg value="-Djava.awt.headless=true"/>  -->
      <arg line="${args}"/>
    </java>
  </target>

  <target name="svgpp" depends="init, compile"
          description="Runs the SVG pretty-printer">
    <java fork="yes"
          classname="${class-prefix}.apps.svgpp.Main">
      <classpath>
        <pathelement location="${dest}"/>
        <path refid="libs-classpath"/>
        <pathelement location="resources"/>
      </classpath>
      <arg line="${args}"/>
    </java>
  </target>

  <target name="testdirs" depends="init"
          description="Created directories needed for test suite">

    <mkdir dir="${test-reports}"/>
    <mkdir dir="${test-reports}/style"/>
    <mkdir dir="${test-reports}/images"/>
    <copy todir="${test-reports}/style">
      <fileset dir="${test-resources}/org/apache/batik/test/svg/resources/style"/>
    </copy>
    <copy todir="${test-reports}/images">
      <fileset dir="${test-resources}/org/apache/batik/test/svg/resources/images"/>
    </copy>

    <mkdir dir="${test-references}/samples/candidate-variation"/>
    <mkdir dir="${test-references}/samples/candidate-reference"/>
    <mkdir dir="${test-references}/samples/tests/spec/coordinates/candidate-variation"/>
    <mkdir dir="${test-references}/samples/tests/spec/coordinates/candidate-reference"/>
    <mkdir dir="${test-references}/samples/tests/spec/fonts/candidate-variation"/>
    <mkdir dir="${test-references}/samples/tests/spec/fonts/candidate-reference"/>
    <mkdir dir="${test-references}/samples/tests/spec/masking/candidate-variation"/>
    <mkdir dir="${test-references}/samples/tests/spec/masking/candidate-reference"/>
    <mkdir dir="${test-references}/samples/tests/spec/paints/candidate-variation"/>
    <mkdir dir="${test-references}/samples/tests/spec/paints/candidate-reference"/>
    <mkdir dir="${test-references}/samples/tests/spec/shapes/candidate-variation"/>
    <mkdir dir="${test-references}/samples/tests/spec/shapes/candidate-reference"/>
    <mkdir dir="${test-references}/samples/tests/spec/styling/candidate-variation"/>
    <mkdir dir="${test-references}/samples/tests/spec/styling/candidate-reference"/>
    <mkdir dir="${test-references}/samples/tests/spec/color/candidate-variation"/>
    <mkdir dir="${test-references}/samples/tests/spec/color/candidate-reference"/>
    <mkdir dir="${test-references}/samples/tests/spec/filters/candidate-variation"/>
    <mkdir dir="${test-references}/samples/tests/spec/filters/candidate-reference"/>
    <mkdir dir="${test-references}/samples/tests/spec/linking/candidate-variation"/>
    <mkdir dir="${test-references}/samples/tests/spec/linking/candidate-reference"/>
    <mkdir dir="${test-references}/samples/tests/spec/painting/candidate-variation"/>
    <mkdir dir="${test-references}/samples/tests/spec/painting/candidate-reference"/>
    <mkdir dir="${test-references}/samples/tests/spec/rendering/candidate-variation"/>
    <mkdir dir="${test-references}/samples/tests/spec/rendering/candidate-reference"/>
    <mkdir dir="${test-references}/samples/tests/spec/structure/candidate-variation"/>
    <mkdir dir="${test-references}/samples/tests/spec/structure/candidate-reference"/>
    <mkdir dir="${test-references}/samples/tests/spec/text/candidate-variation"/>
    <mkdir dir="${test-references}/samples/tests/spec/text/candidate-reference"/>
    <mkdir dir="${test-references}/samples/tests/spec/interactivity/candidate-variation"/>
    <mkdir dir="${test-references}/samples/tests/spec/interactivity/candidate-reference"/>
    <mkdir dir="${test-references}/samples/tests/spec/scripting/candidate-variation"/>
    <mkdir dir="${test-references}/samples/tests/spec/scripting/candidate-reference"/>
    <mkdir dir="${test-references}/samples/tests/spec12/filters/candidate-variation"/>
    <mkdir dir="${test-references}/samples/tests/spec12/filters/candidate-reference"/>
    <mkdir dir="${test-references}/samples/tests/spec12/paints/candidate-variation"/>
    <mkdir dir="${test-references}/samples/tests/spec12/paints/candidate-reference"/>
    <mkdir dir="${test-references}/samples/tests/spec12/structure/candidate-variation"/>
    <mkdir dir="${test-references}/samples/tests/spec12/structure/candidate-reference"/>
    <mkdir dir="${test-references}/samples/tests/spec12/structure/opera/candidate-variation"/>
    <mkdir dir="${test-references}/samples/tests/spec12/structure/opera/candidate-reference"/>
    <mkdir dir="${test-references}/samples/tests/spec12/text/candidate-variation"/>
    <mkdir dir="${test-references}/samples/tests/spec12/text/candidate-reference"/>
    <mkdir dir="${test-references}/samples/extensions/candidate-variation"/>
    <mkdir dir="${test-references}/samples/extensions/candidate-reference"/>
    <mkdir dir="${test-references}/samples/extensions/opera/candidate-variation"/>
    <mkdir dir="${test-references}/samples/extensions/opera/candidate-reference"/>
    <mkdir dir="${test-references}/svgbe/candidate-variation"/>
    <mkdir dir="${test-references}/svgbe/candidate-reference"/>
    <mkdir dir="${test-references}/org/apache/batik/transcoder/wmf/candidate"/>
    <mkdir dir="${test-references}/org/apache/batik/svggen/candidate-ref"/>
    <mkdir dir="${test-references}/org/apache/batik/svggen/rendering/candidate-variation"/>
    <mkdir dir="${test-references}/org/apache/batik/svggen/rendering/candidate-reference"/>
    <mkdir dir="${test-references}/org/apache/batik/gvt/candidate"/>
    <mkdir dir="${test-references}/org/apache/batik/gvt/variation"/>
    <mkdir dir="${test-references}/org/apache/batik/ext/awt/geom/candidate"/>
    <mkdir dir="${test-references}/org/apache/batik/ext/awt/geom/variation"/>
    <mkdir dir="${test-references}/org/apache/batik/transcoder/image/candidate-reference"/>
    <mkdir dir="${test-references}/org/apache/batik/transcoder/image/candidate-variation"/>
    <mkdir dir="${test-references}/test-resources/org/apache/batik/test/svg/candidate-variation"/>
    <mkdir dir="${test-references}/test-resources/org/apache/batik/test/svg/candidate-reference"/>

  </target>

  <target name="ttf2svg" depends="init, compile, testdirs"
          description="converts selected glyphs from a True Type Font file to the SVG Font format">
    <java fork="yes"
          classname="${class-prefix}.apps.ttf2svg.Main">
      <classpath>
        <pathelement location="${dest}"/>
        <path refid="libs-classpath"/>
        <pathelement location="resources"/>
      </classpath>
      <arg line="${args}"/>
    </java>
  </target>

  <target name="regard" depends="init, compiletest, testdirs, testjars"
          description="Runs test suite whose file or uri is passed as an input">
    <java fork="yes"
          classname="${class-prefix}.test.xml.XMLTestSuiteRunner">
<!-- Using -Xincgc makes the memory leak tests _much_ more accurate but
     Also slows down the regard run by 3-4x,  In general I suggest running
     just the memory leak tests with -Xincgc, I might also experiment with
     a higher -Xms setting. -->
<!--      <jvmarg value="-Xincgc"/> -->
<!--      <jvmarg value="-Xrunhprof:format=b"/> -->
<!--      <jvmarg value="-Xrunhprof:net=localhost:1234,format=b"/> -->
      <jvmarg value="-Xmx256m"/>  <jvmarg value="-Xms64m"/>
      <classpath>
        <pathelement location="${dest}"/>
        <path refid="libs-classpath"/>
        <path refid="libs-build-classpath"/>
        <pathelement location="resources"/>
        <pathelement location="test-resources"/>
      </classpath>
      <arg line="test-resources/org/apache/batik/test/regard.xml ${args}"/>
    </java>
  </target>

  <target name="regard.manual" depends="init, compiletest, testdirs, testjars"
          description="Runs test suite whose file or uri is passed as an input">
    <java fork="yes"
          classname="${class-prefix}.test.xml.XMLTestSuiteRunner">
      <classpath>
        <pathelement location="${dest}"/>
        <path refid="libs-classpath"/>
        <path refid="libs-build-classpath"/>
        <pathelement location="resources"/>
        <pathelement location="test-resources"/>
      </classpath>
      <arg line="test-resources/org/apache/batik/test/regardManual.xml ${args}"/>
    </java>
  </target>

  <target name="showpainter" depends="init, compiletest, testdirs"
          description="Runs test suite whose file or uri is passed as an input">
    <java fork="yes"
          classname="${class-prefix}.svggen.JPainterCompare">
      <classpath>
        <pathelement location="${dest}"/>
        <path refid="libs-classpath"/>
        <path refid="libs-build-classpath"/>
        <pathelement location="resources"/>
        <pathelement location="test-resources"/>
      </classpath>
      <arg line="${args}"/>
    </java>
  </target>

  <target name="runtestsuite" depends="init, compiletest, testdirs"
          description="Runs test suite whose file or uri is passed as an input">
    <mkdir dir="${test-reports}"/>
    <java fork="yes"
          classname="${class-prefix}.test.xml.XMLTestSuiteRunner">
      <classpath>
        <pathelement location="${dest}"/>
        <path refid="libs-classpath"/>
        <path refid="libs-build-classpath"/>
        <pathelement location="resources"/>
        <pathelement location="test-resources"/>
      </classpath>
      <arg line="${args}"/>
    </java>
  </target>

  <target name="runtest" depends="init, compiletest, testdirs"
          description="Runs test whose class name is passed as an input">
    <java fork="yes"
          classname="${args}">
      <classpath>
        <pathelement location="${dest}"/>
        <path refid="libs-classpath"/>
        <path refid="libs-build-classpath"/>
        <pathelement location="resources"/>
        <pathelement location="test-resources"/>
      </classpath>
    </java>
  </target>

  <!-- Documentation ...................................................... -->
  <target name="html" depends="javadoc"
          description="Generates the HTML documentation, including javadocs, in ${build}/docs/"/>
  <target name="htmldoc" depends="init"
          description="Generates HTML documentation">
    <mkdir dir="${docs}"/>
    <copy todir="${docs}">
      <fileset dir="${forrest-build}/site" excludes="doap.rdf, download.cgi"/>
    </copy>
  </target>

  <target name="site" depends="site-javadoc, sitedoc"/>
  <target name="sitedoc" depends="init"
          description="Generates the http://xmlgraphics.apache.org/batik/ site">
    <mkdir dir="${site}"/>
    <copy todir="${site}">
      <fileset dir="${forrest-build}/site"/>
    </copy>
  </target>

  <target name="site-javadoc" depends="init, javadoc">
    <mkdir dir="${site}/javadoc"/>
    <copy todir="${site}/javadoc">
      <fileset dir="${docs}/javadoc"/>
    </copy>
  </target>

  <target name="forrest" depends="init">
    <property name="forrest-build.dir" value="${cwd}${file.separator}${forrest-build}"/>
    <exec executable="${forrest.call}">
      <arg line="${forrest.args}"/>
      <arg value="-Dproject.build-dir=${forrest-build.dir}"/>
      <arg value="-Dproject.temp-dir=${forrest-build.dir}${file.separator}tmp"/>
      <arg value="-Dproject.webapp=${forrest-build.dir}${file.separator}webapp"/>
    </exec>
    <delete dir="${forrest-build}/tmp"/>
    <!-- Ideally Forrest would put its log files in ${forrest-build}, but it
         insists on creating a directory called 'build' for these. -->
    <delete dir="build"/>
  </target>

  <target name="javadocs" depends="javadoc"/>
  <target name="javadoc" depends="init">
    <mkdir dir="${docs}/javadoc"/>
    <javadoc packagenames="${class-prefix}.*,
                           org.xml.*,
                           org.w3c.css.*,
                           org.w3c.dom.*"
             excludepackagenames="${javadoc-exclusions}"
             maxmemory="512m"
             failonerror="yes"
             destdir="${docs}/javadoc"
             encoding="UTF-8"
             docencoding="UTF-8"
             author="false"
             version="false"
             use="true"
             splitindex="true"
             windowtitle="${Project} Javadoc"
             doctitle="${Project} API Specification ${completeVersion}"
             bottom="Copyright &#169; ${year} &lt;a href='http://www.apache.org/'&gt;Apache Software Foundation&lt;/a&gt;. All Rights Reserved.">
      <arg value="-notimestamp"/>
      <sourcepath path="${src}"/>
      <classpath refid="libs-classpath"/>
      <link href="${dom.javadoc}"/>
      <link href="${jdk.javadoc}"/>
      <link href="${rhino.javadoc}"/>
    </javadoc>
  </target>

  <target name="prepare-publish" depends="init">
    <mkdir dir="${site}"/>
    <mkdir dir="${forrest-build}"/>
    <exec executable="svn" dir="${site}" output="${forrest-build}/publish.info"
          failonerror="false">
      <arg value="info"/>
    </exec>
    <loadfile srcfile="${forrest-build}/publish.info" property="publish.info">
      <filterchain>
        <linecontains>
          <contains value="URL:"/>
        </linecontains>
        <tokenfilter>
          <replacestring from="URL: " to=""/>
        </tokenfilter>
        <striplinebreaks/>
      </filterchain>
    </loadfile>
    <delete file="${forrest-build}/publish.info"/>
    <condition property="publish-checkout-task" value="prepare-publish-up" else="prepare-publish-co">
      <equals arg1="${publish.info}" arg2="${deploy.svn.url}"/>
    </condition>
    <antcall target="${publish-checkout-task}"/>
  </target>

  <target name="prepare-publish-up">
    <exec executable="svn" dir="${site}" failonerror="true">
      <arg value="update"/>
    </exec>
  </target>

  <target name="prepare-publish-co">
    <exec executable="svn" dir="." failonerror="true">
      <arg value="checkout"/>
      <arg value="${deploy.svn.url}"/>
      <arg value="${site}"/>
    </exec>
  </target>

  <target name="do-publish" depends="init">
    <property name="deploy.svn.svn-filestoadd" location="${forrest-build}/publish.toadd"/>
    <exec executable="svn" dir="${site}" output="${deploy.svn.svn-filestoadd}"
          failonerror="true">
      <arg value="status"/>
    </exec>
    <replace file="${deploy.svn.svn-filestoadd}" token="?      " value=""/>
    <replace file="${deploy.svn.svn-filestoadd}" token="M      " value=""/>
    <exec executable="svn" dir="${site}" failonerror="true">
      <arg value="add"/>
      <arg value="--targets"/>
      <arg value="${deploy.svn.svn-filestoadd}"/>
    </exec>
    <exec executable="svn" dir="${site}" failonerror="true">
      <arg value="commit"/>
      <arg value="-m"/>
      <arg value="Automatic publish"/>
    </exec>
    <delete file="${forrest-build}/publish.toadd}"/>
    <echo message=""/>
    <echo message="Site has been committed to .../repos/asf/xmlgraphics/site/deploy/batik/."/>
    <echo message=""/>
    <echo message="Don't forget to run 'svn up' from /www/xmlgraphics.apache.org/batik on"/>
    <echo message="people.apache.org now."/>
  </target>

  <target name="publishdoc" depends="prepare-publish,sitedoc,do-publish"
          description="Generates the http://xmlgraphics.apache.org/batik/ site without the javadocs and commits it to SVN"/>

  <target name="publish" depends="prepare-publish,site,do-publish"
          description="Generates the http://xmlgraphics.apache.org/batik/ site including the javadocs and commits it to SVN"/>

  <target name="clean-docs" depends="init">
    <delete dir="${forrest-build}"/>
    <delete dir="${docs}"/>
    <delete dir="${site}"/>
    <delete dir="build"/>  <!-- In case it's left behind by Forrest. -->
  </target>

  <!-- Generates splash screens for the browser ........................... -->

  <target name="splash" depends="init, compile" 
          description="Updates browser splash screen">
    <java fork="yes"
          classname="${class-prefix}.apps.rasterizer.Main">
      <classpath>
        <pathelement location="${dest}"/>
        <path refid="libs-classpath"/>
        <pathelement location="resources"/>
      </classpath>
      <arg line="${resources}/org/apache/batik/apps/svgbrowser/resources/squiggle.svg"/>
    </java>
  </target>

  <target name="jarDependImg" depends="init, compile"
          description="Updates jarDependImg PNG">
    <java fork="yes"
          classname="${class-prefix}.apps.rasterizer.Main">
      <classpath>
        <pathelement location="${dest}"/>
        <path refid="libs-classpath"/>
        <pathelement location="resources"/>
      </classpath>
      <arg line="documentation-sources/resources/images/jarDependImg.source.svg -d documentation-sources/resources/images/jarDependImg.png"/>
    </java>
  </target>

  <!-- Cleans everything .................................................. -->
  <target name="clean"
          depends="init, clean-compile, clean-docs, clean-test"
          description="Cleans everything">
    <delete dir="${build}"/>
    <delete file="${project}-bin-${completeVersion}.zip"/>
    <delete file="${project}-docs-${completeVersion}.zip"/>
    <delete file="${project}-src-${completeVersion}.zip"/>
    <delete file="${project}-bin-${completeVersion}.tar.gz"/>
    <delete file="${project}-docs-${completeVersion}.tar.gz"/>
    <delete file="${project}-src-${completeVersion}.tar.gz"/>
  </target>
</project>
