blob: c0054ef717594c527d7f04dc04b516d839d58c4d [file] [log] [blame]
<!--
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 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="2002"/>
<property name="version" value="1.5"/>
<property name="revisionType" value="beta"/>
<property name="revisionNumber" value="3" />
<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"/>
<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=" 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=""/>
<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="lib/LICENSE.js.txt" todir="${build}/lib"/>
<copy file="lib/README.js.txt" todir="${build}/lib"/>
<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="lib/LICENSE.js.txt" todir="${build}/lib"/>
<copy file="lib/README.js.txt" todir="${build}/lib"/>
<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" />
<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 ="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,
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}/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/**"/>
<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/io/*.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>
<!-- 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">
<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">
<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}-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/**"/>
<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>
<!-- 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">
<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>
<!-- 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}"/>
<!-- <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="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/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}/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" />
</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">
<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>
<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>
<!-- 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>