<!--

   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="2017" />
    <property name="version"            value="1.9" />
    <property name="revisionType"       value="" />
    <property name="revisionNumber"     value="" />
    <property name="completeVersion"    value="${version}${revisionType}${revisionNumber}" />
    <property name="xgcVersion"         value="2.2" />
    <property name="fopVersion"         value="2.2" />
    <property name="vendor"             value="The Apache Software Foundation (http://xmlgraphics.apache.org/batik/)" />

  	<property file="build.properties"/>
    <property name="debug"              value="on"/>
    <property name="optimize"           value="on"/>
    <property name="deprecation"        value="on"/>
    <property name="javac.source" value="1.6"/>
    <property name="javac.target" value="1.6"/>
  
    <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="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}"/>
    
    <path id="source.files">
        <pathelement path="batik-anim/src/main/java"/>
        <pathelement path="batik-awt-util/src/main/java"/>
        <pathelement path="batik-bridge/src/main/java"/>
        <pathelement path="batik-codec/src/main/java"/>
        <pathelement path="batik-constants/src/main/java"/>
        <pathelement path="batik-css/src/main/java"/>
        <pathelement path="batik-dom/src/main/java"/>
        <pathelement path="batik-ext/src/main/java"/>
        <pathelement path="batik-extension/src/main/java"/>
        <pathelement path="batik-gui-util/src/main/java"/>
        <pathelement path="batik-gvt/src/main/java"/>
        <pathelement path="batik-i18n/src/main/java"/>
        <pathelement path="batik-parser/src/main/java"/>
        <pathelement path="batik-rasterizer/src/main/java"/>
        <pathelement path="batik-rasterizer-ext/src/main/java"/>
        <pathelement path="batik-script/src/main/java"/>
        <pathelement path="batik-slideshow/src/main/java"/>
        <pathelement path="batik-squiggle/src/main/java"/>
        <pathelement path="batik-svg-dom/src/main/java"/>
        <pathelement path="batik-svgbrowser/src/main/java"/>
        <pathelement path="batik-svggen/src/main/java"/>
        <pathelement path="batik-svgpp/src/main/java"/>
        <pathelement path="batik-svgrasterizer/src/main/java"/>
        <pathelement path="batik-swing/src/main/java"/>
        <pathelement path="batik-transcoder/src/main/java"/>
        <pathelement path="batik-ttf2svg/src/main/java"/>
        <pathelement path="batik-util/src/main/java"/>
        <pathelement path="batik-xml/src/main/java"/>
    </path>
  
    <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="serializer-2.7.2.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="    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="batik-extension/src/main/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="**/pom.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="*/src/**"/>
        <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="batik-extension/src/main/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="**/pom.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="*/src/**"/>
        <include name="test-resources/**"/>
        <include name="test-sources/**"/>
      </tarfileset>
    </tar>
    <delete file="svn-revision" failonerror="false"/>
  </target>

  <target name="src-jar" depends="init, record-svn-revision">
    <jar jarfile="${build}/lib/${project}-src-${completeVersion}.jar">
      <fileset dir=".">
        <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="*/src/**"/>
        <include name="test-resources/**"/>
        <include name="test-sources/**"/>
      </fileset>
    </jar>
    <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>

  <!-- 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 source="${javac.source}" target="${javac.target}" destdir="${dest}"  deprecation="${deprecation}" 
           debug="${debug}" optimize="${optimize}" encoding="UTF-8">
      <src path="${testsrc}"/>
      <src path="batik-test/src/main/java"/>
      <src path="batik-test-svg/src/main/java"/>
      <src path="batik-test-swing/src/main/java"/>
      <src path="batik-test-util/src/main/java"/>
      <src path="batik-util/src/test/java"/>
      <exclude name="org/apache/batik/util/*TestCases.java"/>
      <exclude name="org/apache/batik/util/*TestSuite.java"/>
      <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 source="${javac.source}" target="${javac.target}" 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 source="${javac.source}" target="${javac.target}" 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="${basedir}">
      <include name="batik-anim/src/main/java/${package-prefix}/**"/>
      <include name="batik-awt-util/src/main/java/${package-prefix}/**"/>
      <include name="batik-bridge/src/main/java/${package-prefix}/**"/>
      <include name="batik-codec/src/main/java/${package-prefix}/**"/>
      <include name="batik-constants/src/main/java/${package-prefix}/**"/>
      <include name="batik-css/src/main/java/${package-prefix}/**"/>
      <include name="batik-dom/src/main/java/${package-prefix}/**"/>
      <include name="batik-ext/src/main/java/${package-prefix}/**"/>
      <include name="batik-extension/src/main/java/${package-prefix}/**"/>
      <include name="batik-gui-util/src/main/java/${package-prefix}/**"/>
      <include name="batik-gvt/src/main/java/${package-prefix}/**"/>
      <include name="batik-i18n/src/main/java/${package-prefix}/**"/>
      <include name="batik-parser/src/main/java/${package-prefix}/**"/>
      <include name="batik-rasterizer/src/main/java/${package-prefix}/**"/>
      <include name="batik-rasterizer-ext/src/main/java/${package-prefix}/**"/>
      <include name="batik-script/src/main/java/${package-prefix}/**"/>
      <include name="batik-slideshow/src/main/java/${package-prefix}/**"/>
      <include name="batik-squiggle/src/main/java/${package-prefix}/**"/>
      <include name="batik-svg-dom/src/main/java/${package-prefix}/**"/>
      <include name="batik-svgbrowser/src/main/java/${package-prefix}/**"/>
      <include name="batik-svggen/src/main/java/${package-prefix}/**"/>
      <include name="batik-svgpp/src/main/java/${package-prefix}/**"/>
      <include name="batik-svgrasterizer/src/main/java/${package-prefix}/**"/>
      <include name="batik-swing/src/main/java/${package-prefix}/**"/>
      <include name="batik-transcoder/src/main/java/${package-prefix}/**"/>
      <include name="batik-ttf2svg/src/main/java/${package-prefix}/**"/>
      <include name="batik-util/src/main/java/${package-prefix}/**"/>
      <include name="batik-xml/src/main/java/${package-prefix}/**"/>
    </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-copy-resources" depends="init, compile-prepare" unless="compile-copy-resources.done">
    <property name="compile-copy-resources.done" value="true"/>
    <copy todir="${dest}">
      <fileset dir="batik-anim/src/main/resources">
        <include name="**"/>
      </fileset>
      <fileset dir="batik-awt-util/src/main/resources">
        <include name="**"/>
      </fileset>
      <fileset dir="batik-bridge/src/main/resources">
        <include name="**"/>
      </fileset>
      <fileset dir="batik-codec/src/main/resources">
        <include name="**"/>
      </fileset>
      <fileset dir="batik-css/src/main/resources">
        <include name="**"/>
      </fileset>
      <fileset dir="batik-dom/src/main/resources">
        <include name="**"/>
      </fileset>
<!--       <fileset dir="batik-ext/src/main/resources">
        <include name="**"/>
      </fileset> -->
      <fileset dir="batik-extension/src/main/resources">
        <include name="**"/>
      </fileset>
      <fileset dir="batik-gui-util/src/main/resources">
        <include name="**"/>
      </fileset>
<!--       <fileset dir="batik-gvt/src/main/resources">
        <include name="**"/>
      </fileset> -->
      <fileset dir="batik-parser/src/main/resources">
        <include name="**"/>
      </fileset>
<!--       <fileset dir="batik-rasterizer/src/main/resources">
        <include name="**"/>
      </fileset> -->
<!--       <fileset dir="batik-rasterizer-ext/src/main/resources">
        <include name="**"/>
      </fileset> -->
      <fileset dir="batik-script/src/main/resources">
        <include name="**"/>
      </fileset>
<!--       <fileset dir="batik-slideshow/src/main/resources">
        <include name="**"/>
      </fileset> -->
<!--       <fileset dir="batik-squiggle/src/main/resources">
        <include name="**"/>
      </fileset> -->
      <fileset dir="batik-svg-dom/src/main/resources">
        <include name="**"/>
      </fileset>
      <fileset dir="batik-svgbrowser/src/main/resources">
        <include name="**"/>
      </fileset>
      <fileset dir="batik-svggen/src/main/resources">
        <include name="**"/>
      </fileset>
      <fileset dir="batik-svgpp/src/main/resources">
        <include name="**"/>
      </fileset>
      <fileset dir="batik-svgrasterizer/src/main/resources">
        <include name="**"/>
      </fileset>
      <fileset dir="batik-swing/src/main/resources">
        <include name="**"/>
      </fileset>
      <fileset dir="batik-transcoder/src/main/resources">
        <include name="**"/>
      </fileset>
<!--       <fileset dir="batik-ttf2svg/src/main/resources">
        <include name="**"/>
      </fileset> -->
      <fileset dir="batik-util/src/main/resources">
        <include name="**"/>
      </fileset>
      <fileset dir="batik-xml/src/main/resources">
        <include name="**"/>
      </fileset>
    </copy>
  </target>

  <target name="compile" depends="init, compile-prepare, compile-copy-resources" unless="compile.done">
    <javac source="${javac.source}" target="${javac.target}" destdir="${dest}" deprecation="${deprecation}" 
           debug="${debug}" optimize="${optimize}" encoding="UTF-8"
           includeAntRuntime="true">
      <src path="batik-anim/src/main/java"/>
      <src path="batik-awt-util/src/main/java"/>
      <src path="batik-bridge/src/main/java"/>
      <src path="batik-codec/src/main/java"/>
      <src path="batik-constants/src/main/java"/>
      <src path="batik-css/src/main/java"/>
      <src path="batik-dom/src/main/java"/>
      <src path="batik-ext/src/main/java"/>
      <src path="batik-extension/src/main/java"/>
      <src path="batik-gui-util/src/main/java"/>
      <src path="batik-gvt/src/main/java"/>
      <src path="batik-i18n/src/main/java"/>
      <src path="batik-parser/src/main/java"/>
      <!-- <src path="batik-rasterizer/src/main/java"/> -->
      <!-- <src path="batik-rasterizer-ext/src/main/java"/> -->
      <src path="batik-script/src/main/java"/>
      <src path="batik-slideshow/src/main/java"/>
      <!-- <src path="batik-squiggle/src/main/java"/> -->
      <src path="batik-svg-dom/src/main/java"/>
      <src path="batik-svgbrowser/src/main/java"/>
      <src path="batik-svggen/src/main/java"/>
      <src path="batik-svgpp/src/main/java"/>
      <src path="batik-svgrasterizer/src/main/java"/>
      <src path="batik-swing/src/main/java"/>
      <src path="batik-transcoder/src/main/java"/>
      <src path="batik-ttf2svg/src/main/java"/>
      <src path="batik-util/src/main/java"/>
      <src path="batik-xml/src/main/java"/>
      <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/**" includeemptydirs="true"/>
    <delete dir="${test-references}" includes="**/candidate-reference" includeemptydirs="true"/>
    <delete dir="${test-references}" includes="**/candidate-variation/**" includeemptydirs="true"/>
    <delete dir="${test-references}" includes="**/candidate-variation" includeemptydirs="true"/>
    <delete dir="${test-references}" includes="${package-prefix}/ext/awt/geom/candidate" includeemptydirs="true"/>
    <delete dir="${test-references}" includes="${package-prefix}/ext/awt/geom/variation" includeemptydirs="true"/>
    <delete dir="${test-references}" includes="${package-prefix}/gvt/candidate" includeemptydirs="true"/>
    <delete dir="${test-references}" includes="${package-prefix}/gvt/variation" includeemptydirs="true"/>
    <delete dir="${test-references}" includes="${package-prefix}/svggen/candidate-ref/**" includeemptydirs="true"/>
    <delete dir="${test-references}" includes="${package-prefix}/transcoder/wmf/candidate/**" includeemptydirs="true"/>
    <delete dir="${test-resources}" includes="**/JarCheckPermissions*.jar"/>
    <delete file="${test-resources}/${package-prefix}/apps/rasterizer/invalidSVG.png"/>
    <delete file="${test-resources}/${package-prefix}/bridge/IWasLoaded.jar"/>
    <delete file="${test-resources}/${package-prefix}/bridge/IWasLoadedToo.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="batik-anim/src/main/resources" excludes="**/.svn/">
        <include name="**"/>
      </fileset>
      <fileset dir="batik-awt-util/src/main/resources" excludes="**/.svn/">
        <include name="**"/>
      </fileset>
      <fileset dir="batik-bridge/src/main/resources" excludes="**/.svn/">
        <include name="**"/>
      </fileset>
      <fileset dir="batik-codec/src/main/resources" excludes="**/.svn/">
        <include name="**"/>
      </fileset>
      <fileset dir="batik-css/src/main/resources" excludes="**/.svn/">
        <include name="**"/>
      </fileset>
      <fileset dir="batik-dom/src/main/resources" excludes="**/.svn/">
        <include name="**"/>
      </fileset>
      <fileset dir="batik-ext/src/main/resources" excludes="**/.svn/">
        <include name="**"/>
      </fileset>
      <fileset dir="batik-extension/src/main/resources" excludes="**/.svn/">
        <include name="**"/>
      </fileset>
      <fileset dir="batik-gui-util/src/main/resources" excludes="**/.svn/">
        <include name="**"/>
      </fileset>
      <fileset dir="batik-gvt/src/main/resources" excludes="**/.svn/">
        <include name="**"/>
      </fileset>
      <fileset dir="batik-parser/src/main/resources" excludes="**/.svn/">
        <include name="**"/>
      </fileset>
      <fileset dir="batik-rasterizer/src/main/resources" excludes="**/.svn/">
        <include name="**"/>
      </fileset>
      <fileset dir="batik-rasterizer-ext/src/main/resources" excludes="**/.svn/">
        <include name="**"/>
      </fileset>
      <fileset dir="batik-script/src/main/resources" excludes="**/.svn/">
        <include name="**"/>
      </fileset>
      <fileset dir="batik-slideshow/src/main/resources" excludes="**/.svn/">
        <include name="**"/>
      </fileset>
      <fileset dir="batik-squiggle/src/main/resources" excludes="**/.svn/">
        <include name="**"/>
      </fileset>
      <fileset dir="batik-svg-dom/src/main/resources" excludes="**/.svn/">
        <include name="**"/>
      </fileset>
      <fileset dir="batik-svgbrowser/src/main/resources" excludes="**/.svn/">
        <include name="**"/>
      </fileset>
      <fileset dir="batik-svggen/src/main/resources" excludes="**/.svn/">
        <include name="**"/>
      </fileset>
      <fileset dir="batik-svgpp/src/main/resources" excludes="**/.svn/">
        <include name="**"/>
      </fileset>
      <fileset dir="batik-svgrasterizer/src/main/resources" excludes="**/.svn/">
        <include name="**"/>
      </fileset>
      <fileset dir="batik-swing/src/main/resources" excludes="**/.svn/">
        <include name="**"/>
      </fileset>
      <fileset dir="batik-transcoder/src/main/resources" excludes="**/.svn/">
        <include name="**"/>
      </fileset>
      <fileset dir="batik-ttf2svg/src/main/resources" excludes="**/.svn/">
        <include name="**"/>
      </fileset>
      <fileset dir="batik-util/src/main/resources" excludes="**/.svn/">
        <include name="**"/>
      </fileset>
      <fileset dir="batik-xml/src/main/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="batik-anim/src/main/resources" excludes="**/.svn/">
        <include name="**"/>
      </fileset>
      <fileset dir="batik-awt-util/src/main/resources" excludes="**/.svn/">
        <include name="**"/>
      </fileset>
      <fileset dir="batik-bridge/src/main/resources" excludes="**/.svn/">
        <include name="**"/>
      </fileset>
      <fileset dir="batik-codec/src/main/resources" excludes="**/.svn/">
        <include name="**"/>
      </fileset>
      <fileset dir="batik-css/src/main/resources" excludes="**/.svn/">
        <include name="**"/>
      </fileset>
      <fileset dir="batik-dom/src/main/resources" excludes="**/.svn/">
        <include name="**"/>
      </fileset>
      <fileset dir="batik-ext/src/main/resources" excludes="**/.svn/">
        <include name="**"/>
      </fileset>
      <fileset dir="batik-extension/src/main/resources" excludes="**/.svn/">
        <include name="**"/>
      </fileset>
      <fileset dir="batik-gui-util/src/main/resources" excludes="**/.svn/">
        <include name="**"/>
      </fileset>
      <fileset dir="batik-gvt/src/main/resources" excludes="**/.svn/">
        <include name="**"/>
      </fileset>
      <fileset dir="batik-parser/src/main/resources" excludes="**/.svn/">
        <include name="**"/>
      </fileset>
      <fileset dir="batik-rasterizer/src/main/resources" excludes="**/.svn/">
        <include name="**"/>
      </fileset>
      <fileset dir="batik-rasterizer-ext/src/main/resources" excludes="**/.svn/">
        <include name="**"/>
      </fileset>
      <fileset dir="batik-script/src/main/resources" excludes="**/.svn/">
        <include name="**"/>
      </fileset>
      <fileset dir="batik-slideshow/src/main/resources" excludes="**/.svn/">
        <include name="**"/>
      </fileset>
      <fileset dir="batik-squiggle/src/main/resources" excludes="**/.svn/">
        <include name="**"/>
      </fileset>
      <fileset dir="batik-svg-dom/src/main/resources" excludes="**/.svn/">
        <include name="**"/>
      </fileset>
      <fileset dir="batik-svgbrowser/src/main/resources" excludes="**/.svn/">
        <include name="**"/>
      </fileset>
      <fileset dir="batik-svggen/src/main/resources" excludes="**/.svn/">
        <include name="**"/>
      </fileset>
      <fileset dir="batik-svgpp/src/main/resources" excludes="**/.svn/">
        <include name="**"/>
      </fileset>
      <fileset dir="batik-svgrasterizer/src/main/resources" excludes="**/.svn/">
        <include name="**"/>
      </fileset>
      <fileset dir="batik-swing/src/main/resources" excludes="**/.svn/">
        <include name="**"/>
      </fileset>
      <fileset dir="batik-transcoder/src/main/resources" excludes="**/.svn/">
        <include name="**"/>
      </fileset>
      <fileset dir="batik-ttf2svg/src/main/resources" excludes="**/.svn/">
        <include name="**"/>
      </fileset>
      <fileset dir="batik-util/src/main/resources" excludes="**/.svn/">
        <include name="**"/>
      </fileset>
      <fileset dir="batik-xml/src/main/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="batik-util/src/main/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="batik-awt-util/src/main/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"/>
        <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="batik-codec/src/main/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="batik-svggen/src/main/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="batik-svggen/src/main/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="batik-gui-util/src/main/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="batik-dom/src/main/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="batik-css/src/main/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="batik-svg-dom/src/main/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="batik-gvt/src/main/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="batik-parser/src/main/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="batik-script/src/main/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="batik-transcoder/src/main/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="batik-xml/src/main/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="batik-bridge/src/main/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="batik-swing/src/main/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="batik-anim/src/main/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="${dest}">
        <include name="${package-prefix}/extension/**/*.class"/>
      </fileset>
      <fileset dir="batik-extension/src/main/resources" excludes="**/.svn/">
        <include name="META-INF/services/org.apache.batik.bridge.BridgeExtension"/>
        <include name="META-INF/services/org.apache.batik.dom.DomExtension"/>
      </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="batik-svgpp/src/main/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="batik-slideshow/src/main/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="batik-svgbrowser/src/main/resources/${package-prefix}/apps/svgbrowser/resources/svgbrowser.policy.ref"
          tofile="batik-svgbrowser/src/main/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" />
        <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}-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"/>
      </manifest>
      <metainf dir="${basedir}" includes="LICENSE,NOTICE"/>
      <fileset dir="${dest}">
        <include name="${package-prefix}/apps/svgbrowser/**/*.class"/>
      </fileset>
      <fileset dir="batik-svgbrowser/src/main/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="batik-svgbrowser/src/main/resources">
          <include name="${package-prefix}/apps/svgbrowser/**/resources/*.policy.tmp" />
        </fileset>
        <globmapper from="*.policy.tmp" to="*.policy" />
      </mappedresources>
    </jar>
    <delete file="batik-svgbrowser/src/main/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="batik-svgbrowser/src/main/resources" excludes="**/.svn/">
        <include name="META-INF/services/**"/>
      </fileset>
      <fileset dir="batik-extension/src/main/resources" excludes="**/.svn/">
        <include name="META-INF/services/**"/>
      </fileset>
      <fileset dir="batik-codec/src/main/resources" excludes="**/.svn/">
        <include name="META-INF/services/**"/>
      </fileset>
      <fileset dir="batik-script/src/main/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" depends="init, compile, prepare-build">
    <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="batikVersion" value="${completeVersion}" />
    <filter token="fopVersion" value="${fopVersion}" />
    <filter token="xgcVersion" value="${xgcVersion}" />
    <copy file="batik-svgrasterizer/src/main/resources/${package-prefix}/apps/rasterizer/resources/rasterizer.policy.ref"
          tofile="batik-svgrasterizer/src/main/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="batik-svgrasterizer/src/main/resources">
        <exclude name="**/.svn/" />
        <include name="${package-prefix}/apps/rasterizer/**/resources/Messages.properties" />
      </fileset>
      <mappedresources>
        <fileset dir="batik-svgrasterizer/src/main/resources">
          <include name="${package-prefix}/apps/rasterizer/**/resources/*.policy.tmp" />
        </fileset>
        <globmapper from="*.policy.tmp" to="*.policy" />
      </mappedresources>
    </jar>
    <delete file="batik-svgrasterizer/src/main/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="batik-svgbrowser/src/main/resources" excludes="**/.svn/">
        <include name="META-INF/services/**"/>
      </fileset>
      <fileset dir="batik-extension/src/main/resources" excludes="**/.svn/">
        <include name="META-INF/services/**"/>
      </fileset>
      <fileset dir="batik-codec/src/main/resources" excludes="**/.svn/">
        <include name="META-INF/services/**"/>
      </fileset>
      <fileset dir="batik-script/src/main/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/xercesImpl-2.9.1.jar" />
        <attribute name="Class-Path" value="lib/xalan-2.7.2.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="-Xmx1024m"/>  <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."
             sourcepathref="source.files">
      <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>
