| |
| <!-- |
| |
| |
| 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 viewer by typing: |
| |
| [unix] ./build.sh svgviewer |
| [win32] .\build.bat svgviewer |
| |
| |
| 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="resources/org/apache/batik/apps/svgviewer/resources/usage.svg"/> |
| </target> |
| |
| <target name="init" depends="init-args"> |
| <tstamp/> |
| <property name="Project" value="Batik"/> |
| <property name="project" value="batik"/> |
| <property name="year" value="2000"/> |
| <property name="version" value="1.0beta"/> |
| |
| <property name="src" value="sources"/> |
| <property name="resources" value="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/"/> |
| |
| <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="*.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=" build --> build the distributions"/> |
| <echo message=" compile --> compiles the source code"/> |
| <echo message=" svgviewer --> runs the SVG viewer"/> |
| <echo message=" regard --> runs the regard regression utility"/> |
| <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 ${build}/docs/"/> |
| <echo message=" htmldoc --> generates the site documentation in ${build}/docs/"/> |
| <echo message=" 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="build" depends="jars, html"> |
| <delete dir="${build}/docs/images/BE"/> |
| <zip zipfile="${project}-docs-${version}.zip" basedir="${build}" |
| includes="docs/javadoc/**"/> |
| <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> |
| <zip zipfile="${build}/samples.zip" basedir="." includes="samples/**"/> |
| <zip zipfile="${project}-${version}.zip" basedir="." includes="${build}/**"/> |
| |
| <cvs cvsRoot=":pserver:anoncvs@xml.apache.org:/home/cvspublic" |
| package="xml-batik" |
| dest="xml-${project}"/> |
| <zip zipfile="${project}-src-${version}.zip" basedir="." includes="xml-${project}"/> |
| </target> |
| |
| |
| <!-- Compilation ........................................................ --> |
| <target name ="compile" |
| depends ="init" |
| description="Compiles the source files"> |
| <mkdir dir="${dest}"/> |
| |
| <javac srcdir="${src}" destdir="${dest}" deprecation="on"> |
| <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> |
| |
| <copy file="${src}/org/w3c/flute/util/encoding.properties" |
| todir="${dest}/org/w3c/flute/util"/> |
| </target> |
| |
| <target name="clean-compile" |
| depends="init" |
| description="Cleans the files generated by compile"> |
| <delete dir="${dest}"/> |
| </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, |
| svg-viewer-jar, |
| rasterizer-jar"> |
| <copy todir="${build}/lib"> |
| <fileset dir="${lib}"> |
| <include name="*.jar"/> |
| </fileset> |
| </copy> |
| </target> |
| |
| |
| <!-- All batik in a jar (dependencies: none) --> |
| <target name="all-jar" depends="compile, prepare-build"> |
| <jar jarfile="${build}/lib/${project}-all.jar"> |
| <fileset dir="${dest}"> |
| <include name="**"/> |
| </fileset> |
| <fileset dir="${resources}"> |
| <include name="**"/> |
| </fileset> |
| </jar> |
| </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}"> |
| <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}/util/awt/**/*.class"/> |
| </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}"> |
| <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}"> |
| <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/sac/*.class"/> |
| <include name="${package-prefix}/css/value/*.class"/> |
| </fileset> |
| <fileset dir="${resources}"> |
| <include name="${package-prefix}/css/resources/**"/> |
| <include name="${package-prefix}/css/event/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}"> |
| <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"/> |
| <include name="${package-prefix}/refimpl/gvt/**/*.class"/> |
| </fileset> |
| <fileset dir="${resources}"> |
| <include name="${package-prefix}/gvt/**/resources/*"/> |
| <include name="${package-prefix}/refimpl/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"/> |
| <include name="${package-prefix}/refimpl/parser/**/*.class"/> |
| </fileset> |
| <fileset dir="${resources}"> |
| <include name="${package-prefix}/parser/**/resources/*"/> |
| <include name="${package-prefix}/refimpl/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"/> |
| <include name="${package-prefix}/refimpl/script/**/*.class"/> |
| </fileset> |
| <fileset dir="${resources}"> |
| <include name="${package-prefix}/script/**/resources/*"/> |
| <include name="${package-prefix}/refimpl/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"/> |
| <include name="${package-prefix}/refimpl/transcoder/**/*.class"/> |
| </fileset> |
| <fileset dir="${resources}"> |
| <include name="${package-prefix}/transcoder/**/resources/*"/> |
| <include name="${package-prefix}/refimpl/transcoder/**/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}/rasterizer/**/*.class"/> |
| <include name="${package-prefix}/refimpl/bridge/**/*.class"/> |
| <include name="${package-prefix}/refimpl/raterizer/**/*.class"/> |
| <include name="${package-prefix}/refimpl/util/**/*.class"/> |
| </fileset> |
| <fileset dir="${resources}"> |
| <include name="${package-prefix}/bridge/**/resources/*"/> |
| <include name="${package-prefix}/rasterizer/**/resources/*"/> |
| <include name="${package-prefix}/refimpl/bridge/**/resources/**"/> |
| <include name="${package-prefix}/refimpl/rasterizer/**/resources/**"/> |
| <include name="${package-prefix}/refimpl/util/**/resources/**"/> |
| </fileset> |
| </jar> |
| </target> |
| |
| |
| <!-- SVG Viewer (dependencies: all) --> |
| <target name="svg-viewer-jar" depends="compile, prepare-build"> |
| <jar manifest="${src}/${project}-viewer.mf" |
| jarfile="${build}/${project}-svgviewer.jar"> |
| <fileset dir="${dest}"> |
| <include name="${package-prefix}/apps/svgviewer/**/*.class"/> |
| <include name="${package-prefix}/experiment/**/*.class"/> |
| </fileset> |
| <fileset dir="${resources}"> |
| <include name="${package-prefix}/apps/svgviewer/**/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}"> |
| <include name="${package-prefix}/apps/rasterizer/**/resources/**"/> |
| </fileset> |
| </jar> |
| </target> |
| |
| |
| <!-- Applications ....................................................... --> |
| <target name="svgviewer" |
| depends="compile" |
| description="Runs the SVG viewer"> |
| <java fork="yes" |
| classname="${class-prefix}.apps.svgviewer.Main"> |
| <classpath> |
| <pathelement location="${dest}" /> |
| <path refid="libs-classpath"/> |
| <pathelement location="resources" /> |
| </classpath> |
| <arg value="${args}"/> |
| </java> |
| </target> |
| |
| <target name="regard" |
| depends="compile" |
| description="Runs the regression utility"> |
| <java fork="yes" |
| classname="${class-prefix}.apps.regard.Main"> |
| <classpath> |
| <path refid="libs-classpath"/> |
| <pathelement location="resources" /> |
| <pathelement location="${dest}" /> |
| </classpath> |
| <arg value="${args}"/> |
| </java> |
| </target> |
| |
| <target name="regsvggen" |
| depends="compile" |
| description="Runs the SVG generator regression utility"> |
| <java fork="yes" |
| classname="${class-prefix}.apps.regsvggen.Main"> |
| <classpath> |
| <path refid="libs-classpath"/> |
| <pathelement location="resources" /> |
| <pathelement location="regsvggen/classes" /> |
| <pathelement location="${dest}" /> |
| </classpath> |
| <arg value="${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}.apps.*, |
| ${class-prefix}.bridge.*, |
| ${class-prefix}.css.*, |
| ${class-prefix}.dom.*, |
| ${class-prefix}.gvt.*, |
| ${class-prefix}.i18n.*, |
| ${class-prefix}.parser.*, |
| ${class-prefix}.refimpl.*, |
| ${class-prefix}.script.*, |
| ${class-prefix}.transcoder.*, |
| ${class-prefix}.util.*, |
| 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 © ${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"/> |
| </target> |
| |
| </project> |