<!--


              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 the "JAVA_HOME" environment
property should be set to match the JVM you want to use. 


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 svgbrowser
  [win32] .\build.bat svgbrowser


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="2001"/>
    <property name="version" value="1.1"/>

    <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="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"/>
      <include name="xerces*.jar"/>
      <include name="mail*.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="   svgbrowser    --> runs 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="   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=""/>
    <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 file="LICENSE.rhino" todir="${build}"/>
    <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}/lib/build/mail.jar" />
        <exclude name="xml-${project}/lib/build/activation.jar" />
        <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 file="LICENSE.rhino" todir="${build}"/>
    <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}"/>

    <javac srcdir="${testsrc}" destdir="${dest}" deprecation="on" >
      <classpath>
        <pathelement location="${dest}" />
        <path refid="libs-classpath"/>
        <path refid="libs-build-classpath"/>
      </classpath>
    </javac>
  </target>

  <target name       ="compile"
          depends    ="init"
          description="Compiles the source files">
    <mkdir dir="${dest}"/>

    <javac srcdir="${src}" destdir="${dest}" deprecation="on" debug="off">
      <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,
                               extension-jar,
                               xml-jar,
                               root-jar,
                               svg-pp-jar,
                               svg-slideshow-jar,
                               svggen-jar,
                               svg-browser-jar,
                               rasterizer-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/crimson-parser.jar" dest="${build}/tmp"/>
    <jar jarfile="${build}/lib/${project}-bean.jar"
         manifest="${src}/${project}-bean.mf">
      <fileset dir="${dest}">
        <include name="org/w3c/**"/>
        <include name="org/xml/**"/>
        <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}/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/**"/>
      </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/**"/>
        <include name="org/xml/**"/>
      </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/resources/*.class"/>
        <include name="${package-prefix}/util/svg/*.class"/>
      </fileset>
      <fileset dir="${resources}" excludes="${resources}/**/CVS">
        <include name="${package-prefix}/util/resources/**"/>
        <include name="${package-prefix}/util/svg/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>


  <!-- 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/*.class"/>
        <include name="${package-prefix}/css/event/*.class"/>
        <include name="${package-prefix}/css/parser/*.class"/>
        <include name="${package-prefix}/css/sac/*.class"/>
        <include name="${package-prefix}/css/value/*.class"/>
      </fileset>
      <fileset dir="${resources}" excludes="${resources}/**/CVS">
        <include name="${package-prefix}/css/resources/**"/>
        <include name="${package-prefix}/css/event/resources/**"/>
        <include name="${package-prefix}/css/parser/resources/**"/>
        <include name="${package-prefix}/css/sac/resources/**"/>
        <include name="${package-prefix}/css/value/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"/>
        <include name="${package-prefix}/css/svg/*.class"/>
      </fileset>
      <fileset dir="${resources}" excludes="${resources}/**/CVS">
        <include name="${package-prefix}/dom/svg/resources/**"/>
        <include name="${package-prefix}/css/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"/>
        <include name="${package-prefix}/swing/**/*.class"/>
      </fileset>
      <fileset dir="${resources}" excludes="${resources}/**/CVS">
        <include name="${package-prefix}/bridge/BrokenLink.svg"/>
        <include name="${package-prefix}/bridge/**/resources/*"/>
        <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">
      <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">
      <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>

  <!-- SVG Browser (dependencies: all) -->
  <target name="svg-browser-jar" depends="compile, prepare-build">
    <jar manifest="${src}/${project}-browser.mf"
         jarfile="${build}/${project}-svgbrowser.jar">
      <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/**"/>
      </fileset>
    </jar>
  </target>


  <!-- Rasterizer (dependencies: all except GUI util) -->
  <target name="rasterizer-jar" depends="compile, prepare-build">
    <jar manifest="${src}/${project}-rasterizer.mf"
         jarfile="${build}/${project}-rasterizer.jar">
      <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>
  </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">
      <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"/>
  </target>


  <!-- Applications ....................................................... -->
  <target name="svgbrowser"
          depends="compile"
          description="Runs 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}"/>
    </java>
  </target>

  <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>
      <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/extensions/accepted-variation"/>
    <mkdir dir="${test-references}/samples/extensions/candidate-variation"/>
    <mkdir dir="${test-references}/samples/extensions/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" />
  </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"
          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/regard.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>

  <!-- 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.*"
             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>

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