<!--


              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://jakarta.apache.org/ant/".

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" basedir=".">

  <!-- Initializations .................................................... -->
  <target name="init-args" unless="args">
    <property name="args" value=""/>
  </target>

  <target name="init" depends="init-args">
    <tstamp/>
    <property name="Project"  value="Batik"/>
    <property name="project"  value="batik"/>
    <property name="year"     value="2002"/>
    <property name="version"  value="1.5"/>
    <property name="revisionType" value=""/>
    <property name="revisionNumber" value="" />

    <property file="build.properties"/>
    <property name="debug"       value="off"/>
    <property name="optimize"    value="on"/>
    <property name="deprecation" value="on"/>

    <property name="src"             value="sources"/>
    <property name="resources"       value="resources"/>
    <property name="testsrc"         value="test-sources"/>
    <property name="testresources"   value="test-resources"/>
    <property name="dest"            value="classes"/>
    <property name="build"           value="${project}-${version}"/>
    <property name="docs"            value="${build}/docs"/>
    <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="xdocs"           value="xdocs"/>
    <property name="skins"           value="xdocs/skins"/>
    <property name="stylebook-class" value="org.apache.stylebook.StyleBook"/>

    <property name="site"            value="../xml-site/targets/${project}"/>
    <property name="site-skin"       value="${skins}/xml.apache.org/"/>
    <property name="print-skin"      value="${skins}/printer/"/>

    <property name="test-reports"    value="test-reports" />
    <property name="test-references" value="test-references" />
    <property name="test-resources"  value="test-resources" />

    <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>

  </target>

  <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"/>
      <include name="xalan*.jar"/>
    </fileset>
    <fileset dir="lib">
      <include name="xerces*.jar"/>
      <include name="xml-apis.jar"/>
    </fileset>
  </path>


  <!-- Help ............................................................... -->
  <target name       ="help"
          depends    ="init"
          description="Displays the usage">
    <echo message=""/>
    <echo message="${project} build file"/>
    <echo message=""/>
    <echo message=" Available targets are:"/>
    <echo message=""/>
    <echo message="   dist-zip      --> build the zip distributions"/>
    <echo message="   dist-tgz      --> build the tgz distributions"/>
    <echo message="   compile       --> compiles the source code"/>
    <echo message="   compiletest   --> compiles the tests source code"/>
    <echo message="   squiggle      --> runs Squiggle the SVG browser"/>
    <echo message="   svgbrowser    --> runs Squiggle the SVG browser"/>
    <echo message="   svgrasterizer --> runs the SVG rasterizer"/>
    <echo message="   svgpp         --> runs the SVG pretty-printer"/>
    <echo message="   ttf2svg       --> converts selected glyphs from a True Type"/>
    <echo message="                     Font file to the SVG Font format"/>
    <echo message="   regard        --> runs the regard regression utility"/>
    <echo message="   runtestsuite  --> runs a TestSuite, given an XML test suite"/>
    <echo message="                     document"/>
    <echo message="   runtest       --> runs a test whose class name is given at the command line"/>
    <echo message="   showpainter   --> runs a Painter test instance to check its rendering."/>
    <echo message="   javadoc       --> generates the API documentation"/>
    <echo message="   site          --> generates the site documentation"/>
    <echo message="   sitedoc       --> generates the site documentation without"/>
    <echo message="                     the Javadoc"/>
    <echo message="   html          --> generates the site documentation in"/>
    <echo message="                     ${build}/docs/"/>
    <echo message="   htmldoc       --> generates the site documentation in"/>
    <echo message="                     ${build}/docs/ without the Javadoc"/>
    <echo message="   printerdoc    --> generates the printable documentation in"/>
    <echo message="                     ${build}/docs/print"/>
    <echo message="   clean         --> cleans up the directory"/>
    <echo message="   splash        --> Updates documentation and browser splash screens"/>
    <echo message="   jarDepend     --> Updates jar files dependency image"/>
    <echo message=""/>
    <echo message=" See the comments in the build.xml file for more details."/>
    <echo message=""/>
    <echo message=""/>
  </target>

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

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

  <target name="bin-zip" depends="jars">
    <copy file="README" todir="${build}"/>
    <copy file="LICENSE" todir="${build}"/>
    <copy todir="${build}/lib">
       <fileset dir="lib">
           <include name="LICENSE.*.txt"/>
           <include name="README.*.txt"/>
       </fileset>
    </copy>
    <copy todir="${build}/samples">
      <fileset dir="samples"/>
    </copy>
    <zip zipfile="${project}-${version}.zip" basedir="." includes="${build}/**"/> 
  </target>

  <target name="src-zip">
    <zip zipfile="${project}-src-${version}.zip" basedir=".." 
         includes="xml-${project}/**" excludes="xml-${project}/test-references/**">
        <exclude name="xml-${project}/${project}-src-${version}.zip" />
        <exclude name="xml-${project}/${project}-${version}.zip" />
        <exclude name="xml-${project}/${project}-docs-${version}.zip" />
        <exclude name="xml-${project}/classes/**" />
        <exclude name="xml-${project}/test-references/**" />
        <exclude name="xml-${project}/${build}/**" />
    </zip>
  </target>

  <target name="dist-tgz" depends="build-tgz"/>
  <target name="build-tgz" depends="jars, html">
    <delete dir="${build}/docs/images/BE"/>
    <tar tarfile="${project}-docs-${version}.tar" basedir="${build}"
         includes="docs/javadoc/**"/>
    <gzip zipfile="${project}-docs-${version}.tar.gz"
          src="${project}-docs-${version}.tar"/>
    <delete file="${project}-${version}.tar"/>
    <delete dir="${build}/docs/javadoc"/>

    <copy file="README" todir="${build}"/>
    <copy file="LICENSE" todir="${build}"/>
    <copy todir="${build}/lib">
       <fileset dir="lib">
           <include name="LICENSE.*.txt"/>
           <include name="README.*.txt"/>
       </fileset>
    </copy>
    <copy file="${resources}/${package-prefix}/extensions/README.txt" 
	  todir="${build}/extensions"/>
    <copy todir="${build}/samples">
      <fileset dir="samples"/>
    </copy>
    <tar tarfile="${project}-${version}.tar" basedir="." includes="${build}/**"/>
    <gzip zipfile="${project}-${version}.tar.gz" src="${project}-${version}.tar"/>
    <delete file="${project}-docs-${version}.tar"/>

    <cvs cvsRoot=":pserver:anoncvs@cvs.apache.org:/home/cvspublic"
         package="xml-batik"
         dest="xml-${project}"/>
    <tar tarfile="${project}-src-${version}.tar" basedir="." includes="xml-${project}"/>
    <gzip zipfile="${project}-src-${version}.tar.gz"
          src="${project}-src-${version}.tar"/>
    <delete file="${project}-src-${version}.tar"/>
  </target>


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

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

    <javac srcdir="${testsrc}" destdir="${dest}"  deprecation="${deprecation}" 
           debug="${debug}" optimize="${optimize}" >
      <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    ="compile"
          description="Compiles the source files for the samples scripts and the test-resources">
    <mkdir dir="${testresources}/classes"/>
    <mkdir dir="${samples}/tests/resources/java/classes"/>

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

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

    <javac srcdir="${testresources}" destdir="${testresources}/classes"  deprecation="${deprecation}" 
           debug="${debug}" optimize="${optimize}" >
      <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="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="compiletestjars" >
    <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"/>
      </fileset>
    </jar>
  </target>

  <target name="IWasLoadedToo.jar" depends="compiletestjars" >
    <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"/>
      </fileset>
    </jar>
  </target>

  <target name="JarCheckPermissionsDenied.jar" depends="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="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="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       ="compile"
          depends    ="init"
          description="Compiles the source files">
    <mkdir dir="${dest}"/>
    <echo message="debug ${debug}, optimize ${optimize}, deprecation ${deprecation}"/>
    <javac srcdir="${src}" destdir="${dest}" deprecation="${deprecation}" 
           debug="${debug}" optimize="${optimize}">
      <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"/>
    </javac>
  </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>


  <!-- Jars ............................................................... -->
  <target name="prepare-build">
    <mkdir dir="${build}"/>
    <mkdir dir="${build}/docs"/>
    <mkdir dir="${build}/lib"/>
  </target>

  <!-- Generates all the jars except all-jar -->
  <target name="jars" depends="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,
                               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="compile, prepare-build">
    <jar jarfile="${build}/lib/${project}-all.jar">
      <fileset dir="${dest}" excludes="**/CVS">
        <include name="**"/>
      </fileset>
      <fileset dir="${resources}" excludes="${resources}/**/CVS">
        <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="compile, prepare-build">
    <jar jarfile="${build}/lib/${project}-libs.jar">
      <fileset dir="${dest}" excludes="**/CVS">
        <include name="org/apache/batik/**"/>
        <include name="org/w3c/css/sac/**"/>
        <include name="org/w3c/dom/smil/**"/>
        <include name="org/w3c/dom/svg/**"/>
      </fileset>
      <fileset dir="${resources}" excludes="${resources}/**/CVS">
        <include name="**"/>
      </fileset>
    </jar>
  </target>


  <!-- What is needed to the JSVGCanvas bean in a jar,
       including the XML parser -->
  <target name="bean" depends="compile, prepare-build">
    <mkdir dir="${build}/tmp"/>
    <unjar src="lib/xerces_2_3_0.jar" dest="${build}/tmp"/>
    <jar jarfile="${build}/lib/${project}-bean.jar"
         manifest="${src}/${project}-bean.mf">
      <manifest>
        <attribute name="Implementation-Title" value="Batik Java Bean"/>
        <attribute name="Implementation-Version" value="${version}${revisionType}${revisionNumber}"/>
        <attribute name="Implementation-Vendor" value="Apache Software Foundation (http://xml.apache.org/batik/)"/>
      </manifest>
      <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="${resources}/**/CVS">
        <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 packages (dependencies: none) -->
  <target name="ext-jar" depends="compile, prepare-build">
    <jar jarfile="${build}/lib/${project}-ext.jar">
      <fileset dir="${dest}">
        <include name="org/w3c/**"/>
      </fileset>
    </jar>
  </target>


  <!-- Util, i18n (dependencies: none) -->
  <target name="util-jar" depends="compile, prepare-build">
    <jar jarfile="${build}/lib/${project}-util.jar">
      <fileset dir="${dest}">
        <include name="${package-prefix}/i18n/*.class"/>
        <include name="${package-prefix}/util/*.class"/>
        <include name="${package-prefix}/util/io/*.class"/>
        <include name="${package-prefix}/Version.class"/>
        <include name="${package-prefix}/util/resources/*.class"/>
      </fileset>
      <fileset dir="${resources}" excludes="${resources}/**/CVS">
        <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="compile, prepare-build">
    <jar jarfile="${build}/lib/${project}-awt-util.jar">
      <fileset dir="${dest}">
        <include name="${package-prefix}/ext/awt/**/*.class"/>
        <include name="${package-prefix}/ext/swing/**/*.class"/>
      </fileset>
      <fileset dir="${resources}" excludes="${resources}/**/CVS">
        <include name="${package-prefix}/ext/awt/image/**"/>
        <include name="${package-prefix}/ext/swing/**"/>
      </fileset>
    </jar>
  </target>


  <!-- SVGGraphics2D (dependencies: util, awt-util) -->
  <target name="svggen-jar" depends="compile, prepare-build">
    <jar jarfile="${build}/lib/${project}-svggen.jar">
      <fileset dir="${dest}">
        <include name="${package-prefix}/svggen/**/*.class"/>
      </fileset>
      <fileset dir="${resources}" excludes="${resources}/**/CVS">
        <include name="${package-prefix}/svggen/font/resources/**"/>
      </fileset>
    </jar>
  </target>

  <!-- SVGGraphics2D (dependencies: util, awt-util) -->
  <target name="svggen-full-jar" depends="compile, prepare-build">
    <jar jarfile="${build}/lib/${project}-svggenfull.jar">
      <fileset dir="${dest}">
        <include name="${package-prefix}/svggen/**/*.class"/>
        <include name="${package-prefix}/util/Base64*.class"/>
        <include name="${package-prefix}/ext/awt/image/codec/*ImageEncoder.class"/>
        <include name="${package-prefix}/ext/awt/g2d/*.class"/>
        <include name="${package-prefix}/util/*Constants.class"/>
      </fileset>
      <fileset dir="${resources}" excludes="${resources}/**/CVS">
        <include name="${package-prefix}/svggen/font/resources/**"/>
      </fileset>
    </jar>
  </target>


  <!-- GUI Util (dependencies: none) -->
  <target name="gui-util-jar" depends="compile, prepare-build">
    <jar jarfile="${build}/lib/${project}-gui-util.jar">
      <fileset dir="${dest}">
        <include name="${package-prefix}/util/gui/**/*.class"/>
      </fileset>
      <fileset dir="${resources}" excludes="${resources}/**/CVS">
        <include name="${package-prefix}/util/gui/**/resources/**"/>
      </fileset>
    </jar>
  </target>


  <!-- DOM Level 2 (dependencies: ext, util) -->
  <target name="dom-jar" depends="compile, prepare-build">
    <jar jarfile="${build}/lib/${project}-dom.jar">
      <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"/>
      </fileset>
      <fileset dir="${resources}" excludes="${resources}/**/CVS">
        <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/**"/>
      </fileset>
    </jar>
  </target>


  <!-- CSS Engine (dependencies: ext, util) -->
  <target name="css-jar" depends="compile, prepare-build">
    <jar jarfile="${build}/lib/${project}-css.jar">
      <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/parser/*.class"/>
      </fileset>
      <fileset dir="${resources}" excludes="${resources}/**/CVS">
        <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/parser/resources/**"/>
      </fileset>
    </jar>
  </target>

  <!-- SVG DOM (dependencies: ext, DOM, CSS, util) -->
  <target name="svg-dom-jar" depends="compile, prepare-build">
    <jar jarfile="${build}/lib/${project}-svg-dom.jar">
      <fileset dir="${dest}">
        <include name="${package-prefix}/dom/svg/*.class"/>
      </fileset>
      <fileset dir="${resources}" excludes="${resources}/**/CVS">
        <include name="${package-prefix}/dom/svg/resources/**"/>
      </fileset>
    </jar>
  </target>


  <!-- GVT (dependencies: util, awt-util) -->
  <target name="gvt-jar" depends="compile, prepare-build">
    <jar jarfile="${build}/lib/${project}-gvt.jar">
      <fileset dir="${dest}">
        <include name="${package-prefix}/gvt/**/*.class"/>
      </fileset>
      <fileset dir="${resources}" excludes="${resources}/**/CVS">
        <include name="${package-prefix}/gvt/**/resources/*"/>
      </fileset>
    </jar>
  </target>


  <!-- Parser (dependencies: util) -->
  <target name="parser-jar" depends="compile, prepare-build">
    <jar jarfile="${build}/lib/${project}-parser.jar">
      <fileset dir="${dest}">
        <include name="${package-prefix}/parser/**/*.class"/>
      </fileset>
      <fileset dir="${resources}" excludes="${resources}/**/CVS">
        <include name="${package-prefix}/parser/**/resources/*"/>
      </fileset>
    </jar>
  </target>


  <!-- Script (dependencies: util) -->
  <target name="script-jar" depends="compile, prepare-build">
    <jar jarfile="${build}/lib/${project}-script.jar">
      <fileset dir="${dest}">
        <include name="${package-prefix}/script/**/*.class"/>
      </fileset>
      <fileset dir="${resources}" excludes="${resources}/**/CVS">
        <include name="${package-prefix}/script/**/resources/*"/>
      </fileset>
    </jar>
  </target>


  <!-- Transcoder (dependencies: all) -->
  <target name="transcoder-jar" depends="compile, prepare-build">
    <jar jarfile="${build}/lib/${project}-transcoder.jar">
      <fileset dir="${dest}">
        <include name="${package-prefix}/transcoder/**/*.class"/>
      </fileset>
      <fileset dir="${resources}" excludes="${resources}/**/CVS">
        <include name="${package-prefix}/transcoder/**/resources/*"/>
      </fileset>
    </jar>
  </target>

  <!-- XML (dependencies: util) -->
  <target name="xml-jar" depends="compile, prepare-build">
    <jar jarfile="${build}/lib/${project}-xml.jar">
      <fileset dir="${dest}">
        <include name="${package-prefix}/xml/**/*.class"/>
      </fileset>
      <fileset dir="${resources}" excludes="${resources}/**/CVS">
        <include name="${package-prefix}/xml/**/resources/*"/>
      </fileset>
    </jar>
  </target>

  <!-- Bridge (dependencies: all) -->
  <target name="bridge-jar" depends="compile, prepare-build">
    <jar jarfile="${build}/lib/${project}-bridge.jar">
      <fileset dir="${dest}">
        <include name="${package-prefix}/bridge/**/*.class"/>
      </fileset>
      <fileset dir="${resources}" excludes="${resources}/**/CVS">
        <include name="${package-prefix}/bridge/BrokenLink.svg"/>
        <include name="${package-prefix}/bridge/**/resources/*"/>
      </fileset>
    </jar>
  </target>

  <!-- Swing (dependencies: all) -->
  <target name="swing-jar" depends="compile, prepare-build">
    <jar jarfile="${build}/lib/${project}-swing.jar">
      <fileset dir="${dest}">
        <include name="${package-prefix}/swing/**/*.class"/>
      </fileset>
      <fileset dir="${resources}" excludes="${resources}/**/CVS">
        <include name="${package-prefix}/swing/**/resources/*"/>
      </fileset>
    </jar>
  </target>

  <!-- Extensions (dependencies: all) -->
  <target name="extension-jar" depends="compile, prepare-build">
    <jar jarfile="${build}/lib/${project}-extension.jar">
      <fileset dir="${resources}" excludes="${resources}/**/CVS">
        <include name="META-INF/services/*"/>
      </fileset>
      <fileset dir="${dest}">
        <include name="${package-prefix}/extension/**/*.class"/>
      </fileset>
      <fileset dir="${resources}" excludes="${resources}/**/CVS">
        <include name="${package-prefix}/extension/**/resources/*"/>
      </fileset>
    </jar>
  </target>

  <!-- SVG Pretty-printer (dependencies: ???) -->
  <target name="svg-pp-jar" depends="compile, prepare-build">
    <jar manifest="${src}/${project}-pp.mf"
         jarfile="${build}/${project}-svgpp.jar">
      <manifest>
        <attribute name="Implementation-Title" value="Batik XML Pretty Printer"/>
        <attribute name="Implementation-Version" value="${version}${revisionType}${revisionNumber}"/>
        <attribute name="Implementation-Vendor" value="Apache Software Foundation (http://xml.apache.org/batik/)"/>
      </manifest>
      <fileset dir="${dest}">
        <include name="${package-prefix}/apps/svgpp/**/*.class"/>
      </fileset>
      <fileset dir="${resources}" excludes="${resources}/**/CVS">
        <include name="${package-prefix}/apps/svgpp/**/resources/**"/>
      </fileset>
    </jar>
  </target>

  <!-- SVG Slide-show (dependencies: ???) -->
  <target name="svg-slideshow-jar" depends="compile, prepare-build">
    <jar manifest="${src}/${project}-slideshow.mf"
         jarfile="${build}/${project}-slideshow.jar">
      <manifest>
        <attribute name="Implementation-Title" value="Batik SVG Slide Show Tool"/>
        <attribute name="Implementation-Version" value="${version}${revisionType}${revisionNumber}"/>
        <attribute name="Implementation-Vendor" value="Apache Software Foundation (http://xml.apache.org/batik/)"/>
      </manifest>
      <fileset dir="${dest}">
        <include name="${package-prefix}/apps/slideshow/**/*.class"/>
      </fileset>
      <fileset dir="${resources}" excludes="${resources}/**/CVS">
        <include name="${package-prefix}/apps/slideshow/**/resources/**"/>
      </fileset>
    </jar>
  </target>


  <!-- Squiggle (dependencies: all) -->
  <target name="squiggle-jar" depends="compile, prepare-build">
    <move file="${resources}/${package-prefix}/apps/svgbrowser/resources/svgbrowser.policy"
          tofile="${resources}/${package-prefix}/apps/svgbrowser/resources/svgbrowser.classes.policy" />
    <move file="${resources}/${package-prefix}/apps/svgbrowser/resources/svgbrowser.bin.policy"
          tofile="${resources}/${package-prefix}/apps/svgbrowser/resources/svgbrowser.policy" />
    <jar manifest="${src}/${project}-browser.mf"
         jarfile="${build}/${project}-squiggle.jar">
      <manifest>
        <attribute name="Implementation-Title" value="Batik Squiggle Viewer"/>
        <attribute name="Implementation-Version" value="${version}${revisionType}${revisionNumber}"/>
        <attribute name="Implementation-Vendor" value="Apache Software Foundation (http://xml.apache.org/batik/)"/>
      </manifest>
      <fileset dir="${dest}">
        <include name="${package-prefix}/apps/svgbrowser/**/*.class"/>
        <include name="${package-prefix}/experiment/**/*.class"/>
      </fileset>
      <fileset dir="${resources}" excludes="${resources}/**/CVS">
        <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" />
      </fileset>
    </jar>
    <move file="${resources}/${package-prefix}/apps/svgbrowser/resources/svgbrowser.policy"
          tofile="${resources}/${package-prefix}/apps/svgbrowser/resources/svgbrowser.bin.policy" />
    <move file="${resources}/${package-prefix}/apps/svgbrowser/resources/svgbrowser.classes.policy"
          tofile="${resources}/${package-prefix}/apps/svgbrowser/resources/svgbrowser.policy" />
  </target>

  <target name="squiggle-ext-jar" depends="squiggle-jar">
     <mkdir dir="${build}/extensions"/>
     <jar manifest="${src}/${project}-browser-ext.mf"
	  jarfile="${build}/extensions/${project}-squiggle-ext.jar">
      <manifest>
        <attribute name="Implementation-Title" value="Batik Squiggle Viewer With Extensions"/>
        <attribute name="Implementation-Version" value="${version}${revisionType}${revisionNumber}"/>
        <attribute name="Implementation-Vendor" value="Apache Software Foundation (http://xml.apache.org/batik/)"/>
      </manifest>
        <fileset dir="${resources}" excludes="${resources}/**/CVS">
            <include name="META-INF/services/**"/>
        </fileset>
     </jar>
  </target>

  <!-- Squiggle - SVG Browser (dependencies: all) -->
  <target name="svg-browser-jar" depends="squiggle-jar"/>

  <!-- Rasterizer (dependencies: all except GUI util) -->
  <target name="rasterizer-jar" depends="compile, prepare-build">
    <move file="${resources}/${package-prefix}/apps/rasterizer/resources/rasterizer.policy"
          tofile="${resources}/${package-prefix}/apps/rasterizer/resources/rasterizer.classes.policy" />
    <move file="${resources}/${package-prefix}/apps/rasterizer/resources/rasterizer.bin.policy"
          tofile="${resources}/${package-prefix}/apps/rasterizer/resources/rasterizer.policy" />
    <jar manifest="${src}/${project}-rasterizer.mf"
         jarfile="${build}/${project}-rasterizer.jar">
      <manifest>
        <attribute name="Implementation-Title" value="Batik SVG Rasterizer"/>
        <attribute name="Implementation-Version" value="${version}${revisionType}${revisionNumber}"/>
        <attribute name="Implementation-Vendor" value="Apache Software Foundation (http://xml.apache.org/batik/)"/>
      </manifest>
      <fileset dir="${dest}">
        <include name="${package-prefix}/apps/rasterizer/**/*.class"/>
      </fileset>
      <fileset dir="${resources}" excludes="${resources}/**/CVS">
        <include name="${package-prefix}/apps/rasterizer/**/resources/**"/>
      </fileset>
    </jar>
     <move file="${resources}/${package-prefix}/apps/rasterizer/resources/rasterizer.policy"
          tofile="${resources}/${package-prefix}/apps/rasterizer/resources/rasterizer.bin.policy" />
    <move file="${resources}/${package-prefix}/apps/rasterizer/resources/rasterizer.classes.policy"
          tofile="${resources}/${package-prefix}/apps/rasterizer/resources/rasterizer.policy" />
 </target>

  <target name="rasterizer-ext-jar" depends="rasterizer-jar">
     <mkdir dir="${build}/extensions"/>
     <jar manifest="${src}/${project}-rasterizer-ext.mf"
	  jarfile="${build}/extensions/${project}-rasterizer-ext.jar">
      <manifest>
        <attribute name="Implementation-Title" value="Batik SVG Rasterizer With Extensions"/>
        <attribute name="Implementation-Version" value="${version}${revisionType}${revisionNumber}"/>
        <attribute name="Implementation-Vendor" value="Apache Software Foundation (http://xml.apache.org/batik/)"/>
      </manifest>
        <fileset dir="${resources}" excludes="${resources}/**/CVS">
            <include name="META-INF/services/**"/>
        </fileset>
     </jar>
  </target>

  <!-- batik-ttf2svg.jar (dependencies: all) -->
  <target name="ttf2svg-jar" depends="compile, prepare-build">
    <jar manifest="${src}/${project}-ttf2svg.mf"
         jarfile="${build}/${project}-ttf2svg.jar">
      <manifest>
        <attribute name="Implementation-Title" value="Batik TrueType to SVG Font Converter"/>
        <attribute name="Implementation-Version" value="${version}${revisionType}${revisionNumber}"/>
        <attribute name="Implementation-Vendor" value="Apache Software Foundation (http://xml.apache.org/batik/)"/>
      </manifest>
      <fileset dir="${dest}">
        <include name="${package-prefix}/apps/ttf2svg/**/*.class"/>
      </fileset>
    </jar>
  </target>

  <!-- batik.jar (dependencies: all) -->
  <target name="root-jar" depends="compile, prepare-build">
    <jar manifest="${src}/${project}.mf"
         jarfile="${build}/${project}.jar">
      <manifest>
        <attribute name="Implementation-Title" value="Batik All Jar"/>
        <attribute name="Implementation-Version" value="${version}${revisionType}${revisionNumber}"/>
        <attribute name="Implementation-Vendor" value="Apache Software Foundation (http://xml.apache.org/batik/)"/>
      </manifest>
    </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="compiletest, prepare-build">
    <jar jarfile="regard.jar">
        <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="compiletest, prepare-build">
    <jar jarfile="imageCodecs.jar">
        <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="compile"
          description="Runs Squiggle - the SVG browser">
    <java fork="yes"
          classname="${class-prefix}.apps.svgbrowser.Main">
      <classpath>
        <pathelement location="${dest}" />
        <path refid="libs-classpath"/>
        <pathelement location="resources" />
      </classpath>
      <arg line="${args}"/> 
      <!-- <jvmarg value="-Xmx256m"/>  <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="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="-Djava.awt.headless=true"/>  -->
      <arg line="${args}"/>
    </java>
  </target>

  <target name="svgpp"
          depends="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"
          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/accepted-variation"/>
    <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/coordinates/accepted-variation" />
    <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/fonts/accepted-variation" />
    <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/masking/accepted-variation" />
    <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/paints/accepted-variation" />
    <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/shapes/accepted-variation" />
    <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/styling/accepted-variation" />
    <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/color/accepted-variation" />
    <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/filters/accepted-variation" />
    <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/linking/accepted-variation" />
    <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/painting/accepted-variation" />
    <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/rendering/accepted-variation" />
    <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/structure/accepted-variation" />
    <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/text/accepted-variation" />
    <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/interactivity/accepted-variation" />
    <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/spec/scripting/accepted-variation" />
    <mkdir dir="${test-references}/samples/extensions/accepted-variation"/>
    <mkdir dir="${test-references}/samples/extensions/candidate-variation"/>
    <mkdir dir="${test-references}/samples/extensions/candidate-reference"/>
    <mkdir dir="${test-references}/samples/extensions/opera/accepted-variation"/>
    <mkdir dir="${test-references}/samples/extensions/opera/candidate-variation"/>
    <mkdir dir="${test-references}/samples/extensions/opera/candidate-reference"/>
    <mkdir dir="${test-references}/svgbe/accepted-variation"/>
    <mkdir dir="${test-references}/svgbe/candidate-variation"/>
    <mkdir dir="${test-references}/svgbe/candidate-reference"/>
    <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/svggen/rendering/accepted-variation" />
    <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/accepted-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="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="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">
<!--      <jvmarg value="-Xrunhprof:format=b" /> -->
<!--      <jvmarg value="-Xrunhprof:net=localhost:7001,format=b" /> -->
      <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="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="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="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="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="prepare-docs" depends="init">
    <mkdir dir="${docs}"/>
  </target>

  <target name="html" depends="javadoc, htmldoc"/>
  <target name="htmldoc" depends="prepare-docs">
    <copy file="${xdocs}/site-book.xml"
          tofile="${xdocs}/book.xml"
          filtering="on"/>
    <java classname="${stylebook-class}" fork="yes">
      <classpath refid="libs-build-classpath"/>
      <arg line="targetDirectory=${docs} ${xdocs}/book.xml ${site-skin}"/>
    </java>
  </target>

  <target name="printerdoc" depends="prepare-docs">
    <mkdir dir="${docs}/print"/>
    <copy file="${xdocs}/docs-book.xml"
          tofile="${xdocs}/book.xml"
          filtering="on"/>
    <java classname="${stylebook-class}" fork="yes">
      <classpath refid="libs-build-classpath"/>
      <arg line="targetDirectory=${docs}/print ${xdocs}/book.xml ${print-skin}"/>
    </java>
  </target>

  <target name="site" depends="site-javadoc, sitedoc"/>
  <target name="sitedoc" depends="init">
    <copy file="${xdocs}/site-book.xml"
          tofile="${xdocs}/book.xml"
          filtering="on"/>
    <java classname="${stylebook-class}" fork="yes">
      <classpath refid="libs-build-classpath"/>
      <arg line="targetDirectory=${site} ${xdocs}/book.xml ${site-skin}"/>
    </java>
  </target>

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

  <target name="javadocs" depends="javadoc"/>
  <target name="javadoc" depends="prepare-docs">
    <mkdir dir="${docs}/javadoc"/>
    <javadoc packagenames="${class-prefix}.*,
                           org.xml.*,
                           org.w3c.css.*,
                           org.w3c.dom.*"
             maxmemory="128m"
             sourcepath="${src}"
             destdir="${docs}/javadoc"
             author="false"
             version="false"
             use="true"
             windowtitle="${Project} Javadoc"
             doctitle="${Project} API Specification"
             bottom="Copyright &#169; ${year} Apache Software Foundation. All Rights Reserved.">
      <classpath refid="libs-classpath"/>
    </javadoc>
  </target>

  <target name="clean-docs" depends="init">
    <delete dir="${docs}"/>
  </target>

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

  <!-- Simply transform the splash.xsl stylesheet, rasterize the result and -->
  <!-- copy to all destinations                                             -->

  <target name="splash" depends="compile" 
          description="Updates documentation and browser splash screens">
    <java fork="yes"
          classname="org.apache.xalan.xslt.Process" >
        <classpath>
            <path refid="libs-build-classpath"/>
        </classpath>
        <arg line="-PARAM version ${version} -PARAM revisionType revisionType${revisionType} -PARAM revisionNumber revisionNumber${revisionNumber} -in ${xdocs}/images/splash.xsl -xsl ${xdocs}/images/splash.xsl -out ${xdocs}/images/splash.svg" />
    </java>

    <java fork="yes"
          classname="org.apache.xalan.xslt.Process" >
        <classpath>
            <path refid="libs-build-classpath"/>
        </classpath>
        <arg line="-PARAM version ${version} -PARAM revisionType revisionType${revisionType} -PARAM revisionNumber revisionNumber${revisionNumber} -in ${resources}/org/apache/batik/apps/svgbrowser/resources/squiggle.xsl -xsl ${resources}/org/apache/batik/apps/svgbrowser/resources/squiggle.xsl -out ${resources}/org/apache/batik/apps/svgbrowser/resources/squiggle.svg" />
    </java>

    <java fork="yes"
          classname="${class-prefix}.apps.rasterizer.Main">
      <classpath>
        <pathelement location="${dest}" />
        <path refid="libs-classpath"/>
        <pathelement location="resources" />
      </classpath>
      <arg line="${xdocs}/images/splash.svg"/>
    </java>

    <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="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="${xdocs}/images/jarDependImg.svg"/>
    </java>
  </target>

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

</project>
