blob: 796a8a7c597a648a0fb7fd631601f04851fd0791 [file] [log] [blame]
<?xml version="1.0"?>
<!-- ===================================================================
Read the README file for build instruction.
Authors:
Stefano Mazzocchi <stefano@apache.org>
Anupam Bagchi <abagchi@apache.org>
Andy Clark, IBM
Copyright:
Copyright (c) 2000-2003 The Apache Software Foundation.
$Id$
==================================================================== -->
<project default="usage" basedir=".">
<!-- enable compilation under IBM JDK 1.4 -->
<taskdef name="xjavac" classname="org.apache.xerces.util.XJavac"/>
<!-- Allow properties following these statements to be overridden -->
<!-- Note that all of these don't have to exist. They've just been defined
incase they are used. -->
<property file="build.properties"/>
<property file=".ant.properties"/>
<property file="${user.home}/.ant.properties"/>
<property file="default.properties"/>
<target name="init">
<property name='parser.Name' value='Xerces-J'/>
<property name='parser.name' value='xerces-j'/>
<property name='parser.shortname' value='xerces'/>
<property name='parser.Version' value='2.6.0'/>
<property name='parser.version' value='2.6.0'/>
<property name='parser_version' value='2_6_0'/>
<property name='deprecatedjar.parser' value='xerces.jar'/>
<property name='jar.apis' value='xml-apis.jar'/>
<property name='deprecatedjar.apis' value='xmlParserAPIs.jar'/>
<property name='jar.parser' value='xercesImpl.jar'/>
<property name='jar.samples' value='xercesSamples.jar'/>
<property name='jar.dv' value='xercesDV.jar'/>
<property name='default.parser.config.name' value='XML11Configuration'/>
<property name='default.parser.config.qualified' value='org.apache.xerces.parsers.XML11Configuration'/>
<property name="year" value="1999-2003"/>
<property name="copyright" value="Copyright &#169; ${year} Apache XML Project. All Rights Reserved."/>
<echo message= "---------------- ${parser.Name} ${parser.Version} [${year}] ---------------"/>
<!-- changed made to synchronize with a patch from Sam Ruby (<rubys@apache.org>) to Xerces1
<property name="build.compiler" value="classic"/> -->
<property name="debug" value="off"/>
<property name="optimize" value="on"/>
<property name="deprecation" value="off"/>
<property name="src.dir" value="./src"/>
<property name="tools.dir" value="./tools"/>
<property name="docs.dir" value="./docs"/>
<property name="data.dir" value="./data"/>
<property name="samples.dir" value="./samples"/>
<property name="tests.dir" value="./tests"/>
<property name="tools.dir" value="./tools"/>
<property name="docs.book" value="${docs.dir}/docs-book.xml"/>
<property name="packages" value="org.*"/>
<property name="doc.generator" value="org.apache.stylebook.StyleBook"/>
<property name="doc.generator.package" value="${tools.dir}/stylebook-1.0-b2.jar"/>
<property name="build.dir" value="./build"/>
<property name="build.src" value="${build.dir}/src"/>
<property name="build.dest" value="${build.dir}/classes"/>
<property name="build.docs" value="${build.dir}/docs"/>
<property name="build.samples" value="${build.dir}/samples"/>
<property name="build.tests" value="${build.dir}/tests"/>
<property name="build.data" value="${build.dir}/data"/>
<property name="build.javadocs" value="${build.dir}/docs/javadocs"/>
<property name="distsrc.dir" value="${build.dir}/${parser.shortname}-${parser_version}"/>
<property name="disttools.dir" value="${build.dir}/tools"/>
<property name="distbin.dir" value="${build.dir}/${parser.shortname}-${parser_version}"/>
<property name='src.apis.zip' value="${tools.dir}/xml-commons-external-1.2.01-src.zip"/>
<filter token="year" value="${year}"/>
<filter token="version" value="${parser.Version}"/>
<filter token="date" value="${TODAY}"/>
<filter token="log" value="true"/>
<filter token="verbose" value="true"/>
</target>
<!-- =================================================================== -->
<!-- Help on usage -->
<!-- =================================================================== -->
<target name="usage">
<echo message=""/>
<echo message=""/>
<echo message="${parser.Name} Build instructions"/>
<echo message="-------------------------------------------------------------"/>
<echo message=""/>
<echo message=" available targets are:"/>
<echo message=""/>
<echo message=" jar --> generates the xercesImpl.jar file"/>
<echo message=" sampjar --> generates the xercesSamples.jar file"/>
<echo message=" jars --> generates xercesImpl &amp; xercesSamples jars"/>
<echo message=" jar-dom3 --> 'jar' + DOM Level 3 support"/>
<echo message=" sampjar-dom3 --> 'sampjar' + DOM Level 3 support"/>
<echo message=" apijar-dom3 --> 'apijar' + DOM Level 3 support."/>
<echo message=" jars-dom3 --> 'jars' + DOM Level 3 support."/>
<echo message=" docs --> generates the HTML documentation"/>
<echo message=" javadocs --> generates the API docs (needs Java 1.2 or higher)"/>
<echo message=" samples --> compiles the samples source code"/>
<echo message=" samples-dom3 --> 'samples' + DOM Level 3 support."/>
<echo message=" compile --> compiles the source code"/>
<echo message=" compile-dom3 --> 'compile' + DOM Level 3 support."/>
<echo message=" deprecatedjar --> generates the xerces.jar file"/>
<echo message=" tests --> compiles the tests source code"/>
<echo message=" tests-dom3 --> 'tests' + DOM Level 3 support."/>
<echo message=" deprecatedjars --> generates xerces.jar and samples jar"/>
<echo message=" dtdjars --> generates xercesImpl containing no schema support or WML/HTML DOM and xercesSamples &amp; xmlParserAPIs jars"/>
<echo message=" dvjar --> generates a Schema datatype jar"/>
<echo message=" pack-tools --> generates the tools distributions (zip and tar.gz)"/>
<echo message=" pack-src --> generates the source distributions (zip and tar.gz)"/>
<echo message=" deprecated-bin --> generates the binary distributions (zip and tar.gz)"/>
<echo message=" pack-bin --> generates the binary distributions (zip and tar.gz)"/>
<echo message=" all --> generates the binary, source and tools distributions"/>
<echo message=" deprecatedall --> generates the binary, source and tools distributions with the xerces.jar"/>
<echo message=" test --> runs a sanity test on the sample files"/>
<echo message=" test-dom3 --> 'test' + DOM Level 3 support."/>
<echo message=" clean --> cleans up all generated files and directories"/>
<echo message=" usage --> provides help on using the build tool (default)"/>
<echo message=""/>
<echo message=" See comments inside the build.xml file for more details."/>
<echo message="-------------------------------------------------------------"/>
<echo message=""/>
<echo message=""/>
</target>
<!-- =================================================================== -->
<!-- Prepares the build directory -->
<!-- =================================================================== -->
<target name="prepare" depends="init">
<mkdir dir="${build.dir}"/>
</target>
<!-- =================================================================== -->
<!-- directory creation and file copying common to all configurations -->
<!-- =================================================================== -->
<target name="prepare-common" depends="prepare">
<!-- create directories -->
<mkdir dir="${build.src}"/>
<mkdir dir="${build.dest}"/>
<mkdir dir="${build.dest}/META-INF"/>
<mkdir dir="${build.dest}/META-INF/services"/>
<copy file="${src.dir}/org/apache/xerces/jaxp/javax.xml.parsers.DocumentBuilderFactory"
tofile="${build.dest}/META-INF/services/javax.xml.parsers.DocumentBuilderFactory"/>
<copy file="${src.dir}/org/apache/xerces/jaxp/javax.xml.parsers.SAXParserFactory"
tofile="${build.dest}/META-INF/services/javax.xml.parsers.SAXParserFactory"/>
<copy file="${src.dir}/org/apache/xerces/parsers/org.xml.sax.driver"
tofile="${build.dest}/META-INF/services/org.xml.sax.driver"/>
</target>
<!-- =================================================================== -->
<!-- Prepares the source code -->
<!-- =================================================================== -->
<target name="prepare-src" depends="prepare-common">
<copy file="${src.dir}/org/apache/xerces/parsers/org.apache.xerces.xni.parser.XMLParserConfiguration"
tofile="${build.dest}/META-INF/services/org.apache.xerces.xni.parser.XMLParserConfiguration"/>
<!-- copy src files -->
<copy todir="${build.src}">
<fileset
dir="${src.dir}"
includes="org/apache/**
org/w3c/dom/ls/**
org/w3c/dom/html/HTMLDOMImplementation.java"
excludes="**/classfiles_updated **/CVS* **/.#* **/XMLMessages.java
**/DatatypeContentModel.java **/ComplexTypeInfo.java
**/v1/** **/v2/**
javax.xml.parsers.ConvertToURI.java">
</fileset>
</copy>
<!-- now deal with API's: -->
<unzip src="${src.apis.zip}" dest="${build.src}">
<patternset
includes="org/xml/sax/**
javax/xml/parsers/**
org/w3c/dom/*
org/w3c/dom/events/**
org/w3c/dom/html/**
org/w3c/dom/ranges/**
org/w3c/dom/traversal/**"
/>
</unzip>
<!-- substitute tokens as needed -->
<replace file="${build.dir}/src/org/apache/xerces/impl/Version.java"
token="@@VERSION@@" value="${parser.Name} ${parser.Version}"/>
</target>
<!-- =================================================================== -->
<!-- Compiles the source directory -->
<!-- =================================================================== -->
<target name="compile" depends="prepare-src">
<copy todir="${build.dest}">
<fileset dir="${build.src}"
includes="**/*.res, **/*.properties">
</fileset>
</copy>
<xjavac srcdir="${build.src}"
destdir="${build.dest}"
classpath="${build.dir}/classes:${tools.dir}/${jar.apis}"
debug="${debug}"
deprecation="${deprecation}"
optimize="${optimize}"
includeAntRuntime="false"
includeJavaRuntime="false"
excludes="org/xml/sax/**
javax/xml/parsers/**
org/w3c/dom/*
org/w3c/dom/events/**
org/w3c/dom/html/**
org/w3c/dom/ranges/**
org/w3c/dom/traversal/**"
/>
</target>
<!-- =================================================================== -->
<!-- Creates the omnibus class package -->
<!-- =================================================================== -->
<target name="deprecatedjar" depends="compile">
<jar jarfile="${build.dir}/${deprecatedjar.parser}"
basedir="${build.dest}"
compress="true"
includes="org/**, javax/**,META-INF/**"/>
</target>
<!-- =================================================================== -->
<!-- Creates the implementation class package, excluding DOM Level 3 -->
<!-- =================================================================== -->
<target name="jar" depends="compile">
<!-- take care of manifest file -->
<filter token="java.version" value="${java.version}"/>
<filter token="java.vendor" value="${java.vendor}"/>
<filter token="impl.name" value="${parser.Name} ${parser.Version}"/>
<filter token="impl.version" value="${parser.Version}"/>
<copy todir="${build.dir}" file="${src.dir}/manifest.xerces" filtering="true"/>
<jar jarfile="${build.dir}/${jar.parser}"
basedir="${build.dest}"
compress="true"
includes="org/apache/**, META-INF/**
org/w3c/dom/html/HTMLDOMImplementation.class
org/w3c/dom/ls/**
org/w3c/dom/DOMError.class
org/w3c/dom/DOMErrorHandler.class
org/w3c/dom/DOMImplementationSource.class
org/w3c/dom/DOMImplementationRegistry.class
org/w3c/dom/DOMLocator.class
org/w3c/dom/UserDataHandler.class"
manifest="${build.dir}/manifest.xerces">
<manifest>
<attribute name="Ant-Version" value="${ant.version}"/>
</manifest>
</jar>
</target>
<!-- =================================================================== -->
<!-- Compiles the samples -->
<!-- =================================================================== -->
<target name="samples" depends="compile">
<mkdir dir="${build.samples}"/>
<copy todir="${build.samples}" >
<fileset dir="${samples.dir}"
excludes="dom/DOMAddLines.java
dom/DOM3.java" />
</copy>
<xjavac srcdir="${build.samples}"
destdir="${build.dest}"
classpath="${build.dir}/classes:${tools.dir}/${jar.apis}"
debug="${debug}"
includeAntRuntime="false"
includeJavaRuntime="true"/>
</target>
<!-- =================================================================== -->
<!-- Compiles the tests -->
<!-- =================================================================== -->
<target name="tests" depends="samples">
<mkdir dir="${build.tests}"/>
<copy todir="${build.tests}">
<fileset dir="${tests.dir}"
excludes="dom/rename/**, dom/registry/**" />
</copy>
<xjavac srcdir="${build.tests}"
destdir="${build.dest}"
classpath="${tools.dir}/${jar.apis}:${build.dir}/classes:./tools/junit.jar"
debug="${debug}"
includeAntRuntime="false"
includeJavaRuntime="true"/>
</target>
<!-- =================================================================== -->
<!-- Creates the samples package -->
<!-- =================================================================== -->
<target name="sampjar" depends="samples">
<jar jarfile="${build.dir}/${jar.samples}"
basedir="${build.dest}"
compress="true"
includes="dom/**,sax/**,socket/**,ui/**,xni/**,xs/**"/>
</target>
<!-- =================================================================== -->
<!-- Prepares the docs -->
<!-- =================================================================== -->
<target name="prepare-docs" depends="init">
<mkdir dir="${build.docs}"/>
<mkdir dir="${build.dir}/xdocs"/>
<copy todir="${build.dir}/xdocs">
<fileset dir="${docs.dir}"/>
</copy>
<replace file="${build.dir}/xdocs/dtd/entities.ent"
token="@@VERSION@@" value="${parser.Version}"/>
<replace file="${build.dir}/xdocs/dtd/entities.ent"
token="@@version@@" value="${parser.version}"/>
<replace file="${build.dir}/xdocs/dtd/entities.ent"
token="@@_version_@@" value="${parser_version}"/>
<replace file="${build.dir}/xdocs/dtd/entities.ent"
token="@@DEFAULT_CONFIG@@" value="${default.parser.config.name}"/>
<replace file="${build.dir}/xdocs/dtd/entities.ent"
token="@@DEFAULT_CONFIG_LONG@@" value="${default.parser.config.qualified}"/>
</target>
<!-- =================================================================== -->
<!-- Generate HTML docs -->
<!-- =================================================================== -->
<target name="docs" depends="prepare, prepare-docs">
<echo message="Building docs for ${parser.Name} ${parser.Version} ..." />
<java fork="yes"
classpath="${java.class.path}:${doc.generator.package}:./tools/xalan.jar"
classname="${doc.generator}"
failOnError="yes">
<arg value="targetDirectory=${build.docs}"/>
<arg value="${build.dir}/xdocs/docs-book.xml"/>
<arg value="${build.dir}/xdocs/style"/>
</java>
<copy file="${docs.dir}/download.cgi" tofile="${build.docs}/download.cgi"/>
</target>
<!-- =================================================================== -->
<!-- Creates the API documentation -->
<!-- =================================================================== -->
<target name="javadocs" depends="prepare-src">
<mkdir dir='${build.dir}/docs/javadocs/api'/>
<javadoc packagenames='javax.xml.parsers,org.w3c.*,org.xml.*'
locale='en_US'
sourcepath='${build.src}' destdir='${build.dir}/docs/javadocs/api'
author='true' version='true'
windowtitle='XML Standard API' doctitle='XML Standard API'
bottom='${copyright}'
/>
<mkdir dir='${build.dir}/docs/javadocs/xni'/>
<javadoc packagenames='org.apache.xerces.xni.*'
locale='en_US'
sourcepath='${build.src}' destdir='${build.dir}/docs/javadocs/xni'
author='true' version='true'
windowtitle='Xerces Native Interface'
doctitle='Xerces Native Interface'
bottom='${copyright}'
/>
<mkdir dir='${build.dir}/docs/javadocs/xs'/>
<javadoc packagenames='org.apache.xerces.xs'
locale='en_US'
sourcepath='${build.src}' destdir='${build.dir}/docs/javadocs/xs'
author='true' version='true'
windowtitle='XML Schema API'
doctitle='XML Schema API'
bottom='${copyright}'
/>
<mkdir dir='${build.dir}/docs/javadocs/dom3-api'/>
<javadoc packagenames='org.apache.xerces.dom3.*'
locale='en_US'
sourcepath='${build.src}' destdir='${build.dir}/docs/javadocs/dom3-api'
author='true' version='true'
windowtitle='DOM Level 3 API' doctitle='DOM Level 3 API'
bottom='${copyright}'
/>
<mkdir dir='${build.dir}/docs/javadocs/xerces2'/>
<javadoc packagenames='org.apache.xerces.dom.*,
org.apache.xerces.impl.*,
org.apache.xerces.jaxp,
org.apache.xerces.parsers,
org.apache.xerces.util,
org.apache.xerces.xinclude'
locale='en_US'
sourcepath='${build.src}' destdir='${build.dir}/docs/javadocs/xerces2'
author='true' version='true'
windowtitle='Xerces2 Implementation'
doctitle='Xerces2 Implementation'
bottom='${copyright}'
/>
<mkdir dir='${build.dir}/docs/javadocs/other'/>
<javadoc packagenames='org.apache.html.*,
org.apache.wml.*,
org.apache.xml.serialize.*'
locale='en_US'
sourcepath='${build.src}' destdir='${build.dir}/docs/javadocs/other'
author='true' version='true'
windowtitle='Other Classes' doctitle='Other Classes'
bottom='${copyright}'
/>
</target>
<!-- =================================================================== -->
<!-- Prepares the source distribution -->
<!-- =================================================================== -->
<target name="pack-src" depends="init">
<echo message="Building the source distribution files (zip,tar)"/>
<delete dir="${distbin.dir}"/>
<mkdir dir="${distsrc.dir}"/>
<mkdir dir="${distsrc.dir}/src"/>
<mkdir dir="${distsrc.dir}/data"/>
<mkdir dir="${distsrc.dir}/docs"/>
<mkdir dir="${distsrc.dir}/samples"/>
<copy todir="${distsrc.dir}/src" >
<fileset
dir="${src.dir}"
includes="org/**, dom3/**, javax/**, manifest.xerces"
excludes="**/CVS*, **/.#*, **/*.class
**/v1/** **/v2/**"
/>
</copy>
<copy todir="${distsrc.dir}/data" >
<fileset
dir="${data.dir}"
excludes="**/CVS*, **/.#*"
/>
</copy>
<copy todir="${distsrc.dir}/docs" >
<fileset
dir="${docs.dir}"
excludes="**/CVS*, **/*.#*, pdf/**, html/**, **/javadocs*"
/>
</copy>
<copy todir="${distsrc.dir}/samples" >
<fileset
dir="${samples.dir}"
excludes="**/CVS*, **/*.#*"
/>
</copy>
<copy file="LICENSE" tofile="${distsrc.dir}/LICENSE"/>
<copy file="LICENSE-DOM.html" tofile="${distsrc.dir}/LICENSE-DOM.html"/>
<copy file="LICENSE-SAX.html" tofile="${distsrc.dir}/LICENSE-SAX.html"/>
<copy file="README" tofile="${distsrc.dir}/README"/>
<copy file="Readme.html" tofile="${distsrc.dir}/Readme.html"/>
<copy file="STATUS" tofile="${distsrc.dir}/STATUS"/>
<copy file="TODO" tofile="${distsrc.dir}/TODO"/>
<copy file="ISSUES" tofile="${distsrc.dir}/ISSUES"/>
<copy file="build.xml" tofile="${distsrc.dir}/build.xml"/>
<copy file="${basedir}/build.sh" tofile="${distsrc.dir}/build.sh" />
<chmod file="${distsrc.dir}/build.sh" perm="ugo+rx" />
<copy file="${basedir}/build.bat" tofile="${distsrc.dir}/build.bat" />
<zip zipfile="${build.dir}/${parser.Name}-src.${parser.version}.zip"
basedir="${build.dir}"
includes="${parser.shortname}-${parser_version}/**" excludes="*.class"/>
<tar tarfile="${build.dir}/${parser.Name}-src.${parser.version}.tar"
basedir="${build.dir}"
includes="${parser.shortname}-${parser_version}/**" excludes="*.class"/>
<gzip zipfile="${build.dir}/${parser.Name}-src.${parser.version}.tar.gz"
src="${build.dir}/${parser.Name}-src.${parser.version}.tar" />
<!-- and why not get rid of the un-gzip'd tarball and save ourselves 15 Mb? -->
<delete file="${build.dir}/${parser.Name}-src.${parser.version}.tar"/>
</target>
<!-- =================================================================== -->
<!-- Prepares the tools distribution -->
<!-- =================================================================== -->
<target name="pack-tools" depends="init">
<echo message="Building the tools distribution files (zip,tar)"/>
<mkdir dir="${disttools.dir}"/>
<copy todir="${disttools.dir}" >
<fileset
dir="${tools.dir}"
includes="**/*.txt, **/*.bat, **/*.jar, **/*.zip"
excludes="**/CVS*, **/.#*, **/*.class"
/>
</copy>
<zip zipfile="${build.dir}/${parser.Name}-tools.${parser.version}.zip"
basedir="${build.dir}"
includes="tools/**"/>
<tar tarfile="${build.dir}/${parser.Name}-tools.${parser.version}.tar"
basedir="${build.dir}"
includes="tools/**"/>
<gzip zipfile="${build.dir}/${parser.Name}-tools.${parser.version}.tar.gz"
src="${build.dir}/${parser.Name}-tools.${parser.version}.tar" />
<!-- and why not get rid of the un-gzip'd tarball and save ourselves Mb? -->
<delete file="${build.dir}/${parser.Name}-tools.${parser.version}.tar"/>
<!-- and delete the directory: -->
<delete dir="${disttools.dir}"/>
</target>
<!-- =================================================================== -->
<!-- Prepares common parts of the binary distributions -->
<!-- =================================================================== -->
<target name="pack-bin-common" depends="javadocs, docs, sampjar">
<echo message="Building the binary distribution files (zip,tar)"/>
<delete dir="${distbin.dir}"/>
<mkdir dir="${distbin.dir}"/>
<mkdir dir="${distbin.dir}/data"/>
<mkdir dir="${distbin.dir}/docs"/>
<mkdir dir="${distbin.dir}/docs/javadocs"/>
<mkdir dir="${distsrc.dir}/samples"/>
<copy todir="${distbin.dir}/data" >
<fileset
dir="${data.dir}"
excludes="**/CVS*, **/*.#*"
/>
</copy>
<copy todir="${distbin.dir}/docs" >
<fileset dir="${build.docs}" />
</copy>
<copy todir="${distbin.dir}/docs/javadocs/api" >
<fileset dir="${build.dir}/docs/javadocs/api" />
</copy>
<copy todir="${distbin.dir}/docs/javadocs/xni" >
<fileset dir="${build.dir}/docs/javadocs/xni" />
</copy>
<copy todir="${distbin.dir}/docs/javadocs/xerces2" >
<fileset dir="${build.dir}/docs/javadocs/xerces2" />
</copy>
<copy todir="${distbin.dir}/docs/javadocs/other" >
<fileset dir="${build.dir}/docs/javadocs/other" />
</copy>
<copy file="LICENSE" tofile="${distbin.dir}/LICENSE"/>
<copy file="LICENSE-DOM.html" tofile="${distbin.dir}/LICENSE-DOM.html"/>
<copy file="LICENSE-SAX.html" tofile="${distbin.dir}/LICENSE-SAX.html"/>
<copy file="Readme.html" tofile="${distbin.dir}/Readme.html"/>
<copy file="${build.dir}/${jar.samples}" tofile="${distbin.dir}/${jar.samples}"/>
<copy todir="${distsrc.dir}/samples" >
<fileset
dir="${samples.dir}"
excludes="**/CVS*, **/*.#*"
/>
</copy>
<copydir src="${samples.dir}" dest="${distsrc.dir}/samples" excludes="**/CVS*, **/*.#*"/>
</target>
<!-- =================================================================== -->
<!-- Prepares the binary distribution -->
<!-- =================================================================== -->
<target name="pack-bin" depends="pack-bin-common, jars">
<copy file="${build.dir}/${jar.parser}" tofile="${distbin.dir}/${jar.parser}"/>
<!-- support xml-commons APIs -->
<copy file="${tools.dir}/${jar.apis}" tofile="${distbin.dir}/${jar.apis}"/>
<copy file="${tools.dir}/${jar.apis}" tofile="${distbin.dir}/${deprecatedjar.apis}"/>
<zip zipfile="${build.dir}/${parser.Name}-bin.${parser.version}.zip"
basedir="${build.dir}"
includes="${parser.shortname}-${parser_version}/**"
excludes="*.class, **/${deprecatedjar.parser}"/>
<tar tarfile="${build.dir}/${parser.Name}-bin.${parser.version}.tar"
basedir="${build.dir}"
includes="${parser.shortname}-${parser_version}/**"
excludes="*.class, **/${deprecatedjar.parser}"/>
<gzip zipfile="${build.dir}/${parser.Name}-bin.${parser.version}.tar.gz"
src="${build.dir}/${parser.Name}-bin.${parser.version}.tar" />
<!-- as before, let's kill of the ungzip'd tarball! -->
<delete file="${build.dir}/${parser.Name}-bin.${parser.version}.tar"/>
</target>
<!-- =================================================================== -->
<!-- Prepares the deprecated binary distribution -->
<!-- =================================================================== -->
<target name="deprecated-bin" depends="pack-bin-common, deprecatedjars">
<copy file="${build.dir}/${deprecatedjar.parser}" tofile="${distbin.dir}/${deprecatedjar.parser}"/>
<zip zipfile="${build.dir}/deprecated${parser.Name}-bin.${parser.version}.zip"
basedir="${build.dir}"
includes="${parser.shortname}-${parser_version}/**"
excludes="*.class, **/${jar.parser}, **/${jar.apis}"/>
<tar tarfile="${build.dir}/deprecated${parser.Name}-bin.${parser.version}.tar"
basedir="${build.dir}"
includes="${parser.shortname}-${parser_version}/**"
excludes="*.class, **/${jar.parser}, **/${jar.apis}"/>
<gzip zipfile="${build.dir}/deprecated${parser.Name}-bin.${parser.version}.tar.gz"
src="${build.dir}/deprecated${parser.Name}-bin.${parser.version}.tar" />
<!-- as before, let's kill of the ungzip'd tarball! -->
<delete file="${build.dir}/deprecated${parser.Name}-bin.${parser.version}.tar"/>
</target>
<!-- =================================================================== -->
<!-- Do a sanity test using samples -->
<!-- =================================================================== -->
<target name="test" depends="tests">
<echo message="Performing sanity test for ${parser.Name} ${parser.Version} ..." />
<echo message="Using classpath=&apos;${tools.dir}/${jar.apis}:${build.dir}/classes&apos;" />
<echo message="Running sax.Counter ..." />
<java fork="yes"
classpath="${tools.dir}/${jar.apis}:${build.dir}/classes"
classname="sax.Counter"
failOnError="yes">
<arg value="${data.dir}/personal.xml"/>
</java>
<echo message="Running sax.Writer ..." />
<java fork="yes"
classpath="${tools.dir}/${jar.apis}:${build.dir}/classes"
classname="sax.Writer"
failOnError="yes">
<arg value="${data.dir}/personal.xml"/>
</java>
<echo message="Running dom.Counter ..." />
<java fork="yes"
classpath="${tools.dir}/${jar.apis}:${build.dir}/classes"
classname="dom.Counter"
failOnError="yes">
<arg value="${data.dir}/personal.xml"/>
</java>
<echo message="Running dom.Writer ..." />
<java fork="yes"
classpath="${tools.dir}/${jar.apis}:${build.dir}/classes"
classname="dom.Writer"
failOnError="yes">
<arg value="${data.dir}/personal.xml"/>
</java>
<echo message="Running thread.Test dom" />
<java fork="yes"
classpath="${tools.dir}/${jar.apis}:${build.dir}/classes"
classname="thread.Test"
failOnError="yes">
<arg value="-dom"/>
<arg value="-threads"/>
<arg value="20"/>
<arg value="-time"/>
<arg value="10"/>
<arg value="${data.dir}/personal-schema.xml"/>
</java>
<echo message="Running thread.Test sax" />
<java fork="yes"
classpath="${tools.dir}/${jar.apis}:${build.dir}/classes"
classname="thread.Test"
failOnError="yes">
<arg value="-threads"/>
<arg value="20"/>
<arg value="-time"/>
<arg value="10"/>
<arg value="${data.dir}/personal-schema.xml"/>
</java>
<!--
<echo message="Running DOMFilter ..." />
<java fork="yes"
classpath="${tools.dir}/${jar.apis}:${build.dir}/classes"
classname="dom.DOMFilter"
args="-p dom.wrappers.DOMParser ${data.dir}/personal.xml"/>
-->
<!-- The following are samples but not command-line applications.
<echo message="Running IteratorView ..." />
<java fork="yes"
classpath="${tools.dir}/${jar.apis}:${build.dir}/classes"
classname="dom.traversal.IteratorView"
failOnError="yes"
args="${data.dir}/personal.xml"/>
<echo message="Running TreeWalkerView ..." />
<java fork="yes"
classpath="${tools.dir}/${jar.apis}:${build.dir}/classes"
classname="dom.traversal.TreeWalkerView"
failOnError="yes"
args="${data.dir}/personal.xml"/>
<echo message="Running TreeViewer ..." />
<java fork="yes"
classpath="${tools.dir}/${jar.apis}:${build.dir}/classes"
classname="dom.TreeViewer"
failOnError="yes"
args="${data.dir}/personal.xml"/>
-->
<echo message="Running dom.DTest ..." />
<java fork="yes"
classpath="${tools.dir}/${jar.apis}:${build.dir}/classes"
classname="dom.DTest"
failOnError="yes">
</java>
<echo message="Running dom.mem.Test ..." />
<java fork="yes"
classpath="${tools.dir}/${jar.apis}:${build.dir}/classes"
classname="dom.mem.Test"
failOnError="yes">
</java>
<echo message="Running dom.range.Test ..." />
<java fork="yes"
classpath="${tools.dir}/${jar.apis}:${build.dir}/classes"
classname="dom.range.Test"
failOnError="yes">
<arg value="all"/>
</java>
<echo message="Running dom.ids.Test ..." />
<java fork="yes"
classpath="${tools.dir}/${jar.apis}:${build.dir}/classes"
classname="dom.ids.Test"
failOnError="yes">
</java>
<echo message="Running dom.serialization.Test ..." />
<java fork="yes"
classpath="${tools.dir}/${jar.apis}:${build.dir}/classes"
classname="dom.serialization.Test"
failOnError="yes">
<arg value="${data.dir}/personal-schema.xml"/>
<arg value="out.xml"/>
</java>
<echo message="Running schema.Test ..." />
<java fork="yes"
classpath="${tools.dir}/${jar.apis}:${build.dir}/classes"
classname="schema.Test"
failOnError="yes">
</java>
<echo message="Running jaxp.PropertyTest ..." />
<java fork="yes"
classpath="${tools.dir}/${jar.apis}:${build.dir}/classes"
classname="jaxp.PropertyTest"
failOnError="yes">
</java>
<echo message="Running jaxp.JAXPSpecTest ..." />
<java fork="yes"
classpath="${tools.dir}/${jar.apis}:${build.dir}/classes"
classname="jaxp.JAXPSpecTest"
failOnError="yes">
<arg value="testSchemaLanguageSAX"/>
<arg value="testSchemaSourceSAX"/>
<arg value="testSchemaLanguageDOM"/>
<arg value="testSchemaSourceDOM"/>
</java>
<echo message="Running xinclude.Test ..." />
<java fork="yes"
classpath="${tools.dir}/${jar.apis}:${build.dir}/classes"
classname="xinclude.Test"
failOnError="yes">
</java>
</target>
<!-- =================================================================== -->
<!-- Builds both deprecated xerces and sample jar files -->
<!-- =================================================================== -->
<target name="deprecatedjars" depends="deprecatedjar, sampjar">
</target>
<!-- =================================================================== -->
<!-- Builds xercesImpl, xmlParserAPIs and sample jar files -->
<!-- =================================================================== -->
<target name="jars" depends="jar, sampjar">
<!-- support xml-commons APIs -->
<copy file="${tools.dir}/${jar.apis}" tofile="${build.dir}/${jar.apis}"/>
<copy file="${tools.dir}/${jar.apis}" tofile="${build.dir}/${deprecatedjar.apis}"/>
</target>
<!-- =================================================================== -->
<!-- Builds and packages tools, sources and binary distributions -->
<!-- =================================================================== -->
<target name="all" depends="pack-bin, pack-src, pack-tools">
</target>
<!-- =================================================================== -->
<!-- Builds and packages tools, sources and binary distributions -->
<!-- =================================================================== -->
<target name="deprecatedall" depends="pack-src, deprecated-bin, pack-tools">
</target>
<!-- =================================================================== -->
<!-- Cleans everything -->
<!-- =================================================================== -->
<target name="clean" depends="init">
<delete dir="${build.dir}"/>
</target>
<!-- =================================================================== -->
<!-- Creates the dtd implementation class package -->
<!-- (that is, with no schema support or WML/HTML DOM.) -->
<!-- =================================================================== -->
<target name="dtdjar" depends="dtdcompile">
<jar jarfile="${build.dir}/dtd-${jar.parser}"
basedir="${build.dest}"
compress="true"
includes="org/apache/**, META-INF/**
org/w3c/dom/html/HTMLDOMImplementation.class
org/w3c/dom/ls/**
org/w3c/dom/DOMError.class
org/w3c/dom/DOMErrorHandler.class
org/w3c/dom/DOMImplementationSource.class
org/w3c/dom/DOMImplementationRegistry.class
org/w3c/dom/DOMLocator.class
org/w3c/dom/UserDataHandler.class"/>
</target>
<!-- =================================================================== -->
<!-- Compiles the dtd source directory -->
<!-- =================================================================== -->
<target name="dtdcompile" depends="dtdprepare-src">
<copy todir="${build.dest}">
<fileset dir="${build.src}"
includes="**/*.res, **/*.properties">
</fileset>
</copy>
<xjavac srcdir="${build.src}"
destdir="${build.dest}"
debug="${debug}"
deprecation="${deprecation}"
optimize="${optimize}"
includeAntRuntime="false"
includeJavaRuntime="true"/>
</target>
<!-- =================================================================== -->
<!-- Compiles the dtd source code package -->
<!-- =================================================================== -->
<target name="dtdprepare-src" depends="prepare-common">
<copy file="${src.dir}/org/apache/xerces/parsers/org.apache.xerces.xni.parser.DTDConfiguration"
tofile="${build.dest}/META-INF/services/org.apache.xerces.xni.parser.XMLParserConfiguration"/>
<!-- copy src files -->
<copy todir="${build.src}">
<fileset
dir="${src.dir}"
includes="javax/**, org/**"
excludes="**/classfiles_updated **/CVS* **/.#* **/XMLMessages.java
**/DatatypeContentModel.java **/ComplexTypeInfo.java
**/v1/** **/v2/**
javax.xml.parsers.ConvertToURI.java
org/apache/xerces/dom/DOMXSImplementationSourceImpl.java
org/apache/xerces/impl/xs/*.java
org/apache/xerces/impl/dv/xs/**
org/apache/xerces/impl/xs/identity/**
org/apache/xerces/impl/xs/traversers/**
org/apache/xerces/impl/xs/models/**
org/apache/xerces/impl/xs/opti/**
org/apache/xerces/impl/xs/util/NSItemListImpl.java
org/apache/xerces/impl/xs/util/XInt.java
org/apache/xerces/impl/xs/util/XIntPool.java
org/apache/xerces/impl/xs/util/XSNamedMap4Types.java
org/apache/xerces/impl/xs/util/XSNamedMapImpl.java
org/apache/xerces/impl/xs/util/XSGrammarPool.java
org/apache/xerces/impl/xs/dom/**
org/apache/xerces/impl/xpath/**
org/apache/xerces/impl/xpath/regex/**
org/apache/xerces/impl/dv/Schema*.java
org/apache/xerces/impl/msg/XMLSchema**
org/apache/xerces/parsers/DOMASBuilderImpl.java
org/apache/xerces/parsers/StandardParserConfiguration.java
org/apache/xerces/parsers/IntegratedParserConfiguration.java
org/apache/xerces/parsers/XIncludeParserConfiguration.java
org/apache/xerces/parsers/SecurityConfiguration.java
org/apache/xerces/parsers/XML11Configuration.java
org/apache/xerces/parsers/XMLGrammarCachingConfiguration.java
org/apache/xerces/parsers/CachingParserPool.java
org/apache/xerces/xinclude/**
org/apache/xerces/dom/ASModelImpl.java
org/apache/xerces/dom/ASDOMImplementationImpl.java
org/apache/xerces/impl/XML11D*.java
org/apache/xerces/impl/XML11NamespaceBinder.java
org/apache/xerces/impl/XML11NSDocumentScannerImpl.java
org/apache/xerces/impl/XMLVersionDetector.java
org/apache/xerces/util/DOMUtil.java
org/apache/html/**
org/apache/wml/**
">
</fileset>
</copy>
<!-- copy src files -->
<copy todir="${build.src}">
<fileset
dir="${src.dir}"
includes="org/apache/xerces/xs/**,
org/apache/xerces/impl/xs/XSTypeDecl.java
">
</fileset>
</copy>
<!-- HACK: DOM implementation now is aware of type information
and thus is imports XSSimpleTypeDecl (for XML Schema type support)
Since in DTD jars we never going to have XSSimpleTypeDecl we can safely
replace it by String. The code after replacement may look a bit strange..
but there is nothing we can do at this point-->
<replace file="${build.dir}/src/org/apache/xerces/dom/AttrNSImpl.java"
token="import org.apache.xerces.impl.dv.xs.XSSimpleTypeDecl;" value=""/>
<replace file="${build.dir}/src/org/apache/xerces/dom/AttrNSImpl.java"
token="XSSimpleTypeDecl" value="String"/>
<replace file="${build.dir}/src/org/apache/xerces/dom/AttrNSImpl.java"
token="return ((String)type).getName();" value="return (String)type;"/>
<replace file="${build.dir}/src/org/apache/xerces/dom/AttrNSImpl.java"
token="return ((String)type).getNamespace();" value="return null;"/>
<!-- now deal with API's: -->
<unzip src="${src.apis.zip}" dest="${build.src}">
<patternset
includes="org/xml/sax/**
javax/xml/parsers/**
org/w3c/dom/*
org/w3c/dom/events/**
org/w3c/dom/html/**
org/w3c/dom/ranges/**
org/w3c/dom/traversal/**"
/>
</unzip>
<!-- substitute tokens as needed -->
<replace file="${build.dir}/src/org/apache/xerces/impl/Version.java"
token="@@VERSION@@" value="${parser.Name} ${parser.Version}"/>
</target>
<!-- =================================================================== -->
<!-- Builds xercesImpl (dtd), xmlParserAPIs, and sample jars -->
<!-- =================================================================== -->
<target name="dtdjars" depends="dtdjar, sampjar">
<!-- support xml-commons APIs -->
<copy file="${tools.dir}/${jar.apis}" tofile="${build.dir}/${jar.apis}"/>
<copy file="${tools.dir}/${jar.apis}" tofile="${build.dir}/${deprecatedjar.apis}"/>
</target>
<!-- =================================================================== -->
<!-- Build xercesDV jar -->
<!-- =================================================================== -->
<target name="dvjar" depends="dvcompile">
<jar jarfile="${build.dir}/${jar.dv}"
basedir="${build.dest}"
compress="true"
includes="org/apache/xerces/**"/>
</target>
<!-- =================================================================== -->
<!-- Compiles the dv source directory -->
<!-- =================================================================== -->
<target name="dvcompile" depends="dvprepare-src">
<copy todir="${build.dest}">
<fileset dir="${build.src}"
includes="**/*.properties">
</fileset>
</copy>
<xjavac srcdir="${build.src}"
destdir="${build.dest}"
debug="${debug}"
deprecation="${deprecation}"
optimize="${optimize}"
includeAntRuntime="false"
includeJavaRuntime="true"/>
</target>
<!-- =================================================================== -->
<!-- Compiles the dv source code package -->
<!-- =================================================================== -->
<target name="dvprepare-src" depends="prepare">
<!-- copy src files -->
<copy todir="${build.src}">
<fileset
dir="${src.dir}"
includes="org/apache/xerces/impl/dv/**,
org/apache/xerces/impl/msg/XMLSchema**,
org/apache/xerces/impl/xpath/regex/**,
org/apache/xerces/impl/xs/util/ShortListImpl.java,
org/apache/xerces/impl/xs/XSTypeDecl.java,
org/apache/xerces/xs/XSException.java
org/apache/xerces/xs/StringList.java
org/apache/xerces/xs/ShortList.java
org/apache/xerces/xs/XSAnnotation.java
org/apache/xerces/xs/XSAttributeDeclaration.java
org/apache/xerces/xs/XSAttributeGroupDefinition.java
org/apache/xerces/xs/XSAttributeUse.java
org/apache/xerces/xs/XSComplexTypeDefinition.java
org/apache/xerces/xs/XSConstants.java
org/apache/xerces/xs/XSElementDeclaration.java
org/apache/xerces/xs/XSIDCDefinition.java
org/apache/xerces/xs/XSModel.java
org/apache/xerces/xs/XSModelGroup.java
org/apache/xerces/xs/XSModelGroupDefinition.java
org/apache/xerces/xs/XSNamedMap.java
org/apache/xerces/xs/XSNamespaceItem.java
org/apache/xerces/xs/XSNamespaceItemList.java
org/apache/xerces/xs/XSNotationDeclaration.java
org/apache/xerces/xs/XSObject.java
org/apache/xerces/xs/XSObjectList.java
org/apache/xerces/xs/XSParticle.java
org/apache/xerces/xs/XSSimpleTypeDefinition.java
org/apache/xerces/xs/XSTerm.java
org/apache/xerces/xs/XSTypeDefinition.java
org/apache/xerces/xs/XSWildcard.java
org/apache/xerces/xs/XSFacet.java
org/apache/xerces/xs/XSMultiValueFacet.java
org/apache/xerces/impl/xs/util/StringListImpl.java,
org/apache/xerces/impl/xs/util/XSObjectListImpl.java,
org/apache/xerces/util/ObjectFactory.java,
org/apache/xerces/util/SecuritySupport.java,
org/apache/xerces/util/SecuritySupport12.java,
org/apache/xerces/util/SymbolHash.java,
org/apache/xerces/util/URI.java,
org/apache/xerces/util/XMLChar.java,
org/apache/xerces/xni/NamespaceContext.java,
org/apache/xerces/xni/QName.java
"
excludes="org/apache/xerces/impl/dv/DatatypeValidator.java
org/apache/xerces/impl/dv/DTDDVFactory.java
org/apache/xerces/impl/dv/dtd/**
org/apache/xerces/impl/dv/xs/SchemaDVFactoryImpl.java
">
</fileset>
</copy>
<!-- substitute tokens as needed -->
<replace file="${build.src}/org/apache/xerces/impl/dv/SchemaDVFactory.java"
token="SchemaDVFactoryImpl" value="FullDVFactory"/>
</target>
<!-- =================================================================== -->
<!-- Retrieve the XML Conformance test suite from sourceforge -->
<!-- =================================================================== -->
<target name="get-conftests" depends="init">
<mkdir dir="tests/conformance"/>
<get src="http://prdownloads.sourceforge.net/xmlconf/utilities.jar" dest="tests/conformance/utilties.jar" verbose="true" usetimestamp="true"/>
<cvspass cvsroot=":pserver:anonymous@cvs.xmlconf.sourceforge.net:/cvsroot/xmlconf" password=""/>
<cvs cvsRoot=":pserver:anonymous@cvs.xmlconf.sourceforge.net:/cvsroot/xmlconf" package="xml" dest="tests/conformance"/>
</target>
<!-- =================================================================== -->
<!-- Run the XML Conformance test suite from sourceforge -->
<!-- =================================================================== -->
<target name="run-conftests" depends="init">
<java classname="xml.testing.Driver" output="tests/conformance/report-nv.html">
<arg value="tests/conformance/xml/suite/xmlconf.xml"/>
<arg value="org.apache.xerces.parsers.SAXParser"/>
<arg value="tests/conformance/xml/template.xml"/>
<arg value="nv"/>
<arg value="${parser.version}"/>
<classpath>
<pathelement location="tests/conformance/utilities.jar"/>
<pathelement location="build/xmlParserAPIs.jar"/>
<pathelement location="build/xercesImpl.jar"/>
</classpath>
</java>
<java classname="xml.testing.Driver" output="tests/conformance/report-val.html">
<arg value="tests/conformance/xml/suite/xmlconf.xml"/>
<arg value="org.apache.xerces.parsers.SAXParser"/>
<arg value="tests/conformance/xml/template.xml"/>
<arg value="val"/>
<arg value="${parser.version}"/>
<classpath>
<pathelement location="tests/conformance/utilities.jar"/>
<pathelement location="build/xmlParserAPIs.jar"/>
<pathelement location="build/xercesImpl.jar"/>
</classpath>
</java>
</target>
<!-- =================================================================== -->
<!-- Prepares the source code with DOM Level 3 -->
<!-- =================================================================== -->
<target name="prepare-src-dom3" depends="prepare-common">
<copy file="${src.dir}/org/apache/xerces/parsers/org.apache.xerces.xni.parser.XMLParserConfiguration"
tofile="${build.dest}/META-INF/services/org.apache.xerces.xni.parser.XMLParserConfiguration"/>
<!-- copy src files -->
<copy todir="${build.src}">
<fileset
dir="${src.dir}"
includes="javax/**, org/**"
excludes="**/classfiles_updated **/CVS* **/.#* **/XMLMessages.java
**/DatatypeContentModel.java **/ComplexTypeInfo.java
**/v1/** **/v2/**
javax.xml.parsers.ConvertToURI.java
org/apache/xerces/dom3/*.java
org/apache/xerces/dom3/bootstrap/*.java
org/w3c/dom/*.java">
</fileset>
</copy>
<!-- copy dom 3 src files -->
<copy todir="${build.src}">
<fileset
dir="${src.dir}/dom3"
includes="org/**"
excludes="**/classfiles_updated **/CVS* **/.#*">
</fileset>
</copy>
<!-- substitute tokens as needed -->
<replace file="${build.dir}/src/org/apache/xerces/impl/Version.java"
token="@@VERSION@@" value="${parser.Name} ${parser.Version}"/>
<!-- DOM level 3 hack: replace import statements-->
<replace file="${build.src}/org/apache/xerces/dom/NodeImpl.java" token="org.apache.xerces.dom3" value="org.w3c.dom"/>
<replace file="${build.src}/org/apache/xerces/dom/ElementImpl.java"
token="org.apache.xerces.dom3" value="org.w3c.dom"/>
<replace file="${build.src}/org/apache/xerces/dom/ElementNSImpl.java"
token="org.apache.xerces.dom3" value="org.w3c.dom"/>
<replace file="${build.src}/org/apache/xerces/dom/AttrImpl.java"
token="org.apache.xerces.dom3" value="org.w3c.dom"/>
<replace file="${build.src}/org/apache/xerces/dom/AttrNSImpl.java"
token="org.apache.xerces.dom3" value="org.w3c.dom"/>
<replace file="${build.src}/org/apache/xerces/dom/DocumentImpl.java"
token="org.apache.xerces.dom3" value="org.w3c.dom"/>
<replace file="${build.src}/org/apache/xerces/dom/DOMNormalizer.java"
token="org.apache.xerces.dom3" value="org.w3c.dom"/>
<replace file="${build.src}/org/apache/xerces/dom/DOMConfigurationImpl.java"
token="org.apache.xerces.dom3" value="org.w3c.dom"/>
<replace file="${build.src}/org/apache/xerces/dom/PSVIDocumentImpl.java"
token="org.apache.xerces.dom3" value="org.w3c.dom"/>
<replace file="${build.src}/org/apache/xerces/dom/DOMLocatorImpl.java"
token="org.apache.xerces.dom3" value="org.w3c.dom"/>
<replace file="${build.src}/org/apache/xerces/dom/DOMImplementationSourceImpl.java"
token="org.apache.xerces.dom3" value="org.w3c.dom"/>
<replace file="${build.src}/org/apache/xerces/dom/DOMXSImplementationSourceImpl.java"
token="org.apache.xerces.dom3" value="org.w3c.dom"/>
<replace file="${build.src}/org/apache/xerces/dom/DOMErrorImpl.java"
token="org.apache.xerces.dom3" value="org.w3c.dom"/>
<replace file="${build.src}/org/apache/xerces/dom/CoreDocumentImpl.java"
token="org.apache.xerces.dom3" value="org.w3c.dom"/>
<replace file="${build.src}/org/apache/xerces/parsers/DOMParserImpl.java"
token="org.apache.xerces.dom3" value="org.w3c.dom"/>
<replace file="${build.src}/org/apache/xerces/parsers/AbstractDOMParser.java"
token="org.apache.xerces.dom3" value="org.w3c.dom"/>
<replace file="${build.src}/org/apache/xerces/util/DOMErrorHandlerWrapper.java"
token="org.apache.xerces.dom3" value="org.w3c.dom"/>
<replace file="${build.src}/org/apache/xml/serialize/XMLSerializer.java"
token="org.apache.xerces.dom3" value="org.w3c.dom"/>
<replace file="${build.src}/org/apache/xml/serialize/BaseMarkupSerializer.java"
token="org.apache.xerces.dom3" value="org.w3c.dom"/>
<replace file="${build.src}/org/apache/xml/serialize/DOMSerializerImpl.java"
token="org.apache.xerces.dom3" value="org.w3c.dom"/>
<replace file="${build.src}/org/apache/xml/serialize/XML11Serializer.java"
token="org.apache.xerces.dom3" value="org.w3c.dom"/>
<replace file="${build.src}/org/w3c/dom/ls/LSSerializer.java"
token="org.apache.xerces.dom3" value="org.w3c.dom"/>
<replace file="${build.src}/org/w3c/dom/ls/LSParser.java"
token="org.apache.xerces.dom3" value="org.w3c.dom"/>
<replace file="${build.src}/org/apache/xerces/impl/xs/opti/DefaultNode.java"
token="org.apache.xerces.dom3" value="org.w3c.dom"/>
<replace file="${build.src}/org/apache/xerces/impl/xs/opti/AttrImpl.java"
token="org.apache.xerces.dom3" value="org.w3c.dom"/>
<replace file="${build.src}/org/apache/xerces/impl/xs/opti/DefaultElement.java"
token="org.apache.xerces.dom3" value="org.w3c.dom"/>
<replace file="${build.src}/org/apache/xerces/impl/xs/opti/DefaultDocument.java"
token="org.apache.xerces.dom3" value="org.w3c.dom"/>
<replace file="${build.src}/org/apache/xerces/xs/XSLoader.java"
token="org.apache.xerces.dom3" value="org.w3c.dom"/>
<replace file="${build.src}/org/apache/xerces/dom/DOMStringListImpl.java"
token="org.apache.xerces.dom3" value="org.w3c.dom"/>
<replace file="${build.src}/org/apache/xerces/impl/xs/XMLSchemaLoader.java"
token="org.apache.xerces.dom3" value="org.w3c.dom"/>
</target>
<!-- =================================================================== -->
<!-- Compiles the source directory with DOM Level 3 -->
<!-- =================================================================== -->
<target name="compile-dom3" depends="prepare-src-dom3">
<copy todir="${build.dest}">
<fileset dir="${build.src}"
includes="**/*.res, **/*.properties">
</fileset>
</copy>
<xjavac srcdir="${build.src}"
destdir="${build.dest}"
debug="${debug}"
deprecation="${deprecation}"
optimize="${optimize}"
includeAntRuntime="false"
includeJavaRuntime="true"
classpath="${tools.dir}/${jar.apis}"/>
</target>
<!-- =================================================================== -->
<!-- Compiles the samples with DOM Level 3 -->
<!-- =================================================================== -->
<target name="samples-dom3" depends="jar-dom3, apijar-dom3">
<mkdir dir="${build.samples}"/>
<copy todir="${build.samples}" >
<fileset dir="${samples.dir}" />
</copy>
<!-- DOM Level 3 hack: replace import statements-->
<replace file="${build.samples}/dom/ASBuilder.java"
token="org.apache.xerces.dom3.DOMError" value="org.w3c.dom.DOMError"/>
<replace file="${build.samples}/dom/ASBuilder.java"
token="org.apache.xerces.dom3.DOMErrorHandler" value="org.w3c.dom.DOMErrorHandler"/>
<replace file="${build.samples}/dom/ASBuilder.java"
token="org.apache.xerces.dom3.DOMConfiguration" value="org.w3c.dom.DOMConfiguration"/>
<replace file="${build.samples}/xs/QueryXS.java"
token="org.apache.xerces.dom3" value="org.w3c.dom"/>
<xjavac srcdir="${build.samples}"
destdir="${build.dest}"
classpath="${build.dir}/classes:${build.dir}/dom3-${jar.parser}:${build.dir}/dom3-${jar.apis}:${tools.dir}/${jar.apis}"
debug="${debug}"
includeAntRuntime="false"
includeJavaRuntime="true"/>
</target>
<!-- =================================================================== -->
<!-- Compiles the tests with DOM Level 3 -->
<!-- =================================================================== -->
<target name="tests-dom3" depends="samples-dom3">
<mkdir dir="${build.tests}"/>
<copy todir="${build.tests}">
<fileset dir="${tests.dir}" />
</copy>
<replace file="${build.tests}/dom/mem/Test.java"
token="org.apache.xerces.dom3" value="org.w3c.dom"/>
<replace file="${build.tests}/dom/dom3/Test.java"
token="org.apache.xerces.dom3" value="org.w3c.dom"/>
<replace file="${build.tests}/dom/ids/Test.java"
token="org.apache.xerces.dom3" value="org.w3c.dom"/>
<replace file="${build.tests}/thread/Test.java"
token="org.apache.xerces.dom3" value="org.w3c.dom"/>
<xjavac srcdir="${build.tests}"
destdir="${build.dest}"
classpath="${build.dir}/dom3-${jar.apis}:${build.dir}/classes:./tools/junit.jar"
debug="${debug}"
includeAntRuntime="false"
includeJavaRuntime="true"/>
</target>
<!-- =================================================================== -->
<!-- Do a sanity test using samples with DOM Level 3 -->
<!-- =================================================================== -->
<target name="test-dom3" depends="tests-dom3">
<echo message="Performing sanity test for ${parser.Name} ${parser.Version} ..." />
<echo message="Using classpath=&apos;${build.dir}/classes&apos;" />
<echo message="Running sax.Counter ..." />
<java fork="yes"
classpath="${build.dir}/dom3-${jar.apis}:${build.dir}/classes"
classname="sax.Counter"
failOnError="yes">
<arg value="${data.dir}/personal.xml"/>
</java>
<echo message="Running sax.Writer ..." />
<java fork="yes"
classpath="${build.dir}/dom3-${jar.apis}:${build.dir}/classes"
classname="sax.Writer"
failOnError="yes">
<arg value="${data.dir}/personal.xml"/>
</java>
<echo message="Running dom.Counter ..." />
<java fork="yes"
classpath="${build.dir}/dom3-${jar.apis}:${build.dir}/classes"
classname="dom.Counter"
failOnError="yes">
<arg value="${data.dir}/personal.xml"/>
</java>
<echo message="Running dom.Writer ..." />
<java fork="yes"
classpath="${build.dir}/dom3-${jar.apis}:${build.dir}/classes"
classname="dom.Writer"
failOnError="yes">
<arg value="${data.dir}/personal.xml"/>
</java>
<echo message="Running QueryXS ..." />
<java fork="yes"
classpath="${build.dir}/dom3-${jar.apis}:${build.dir}/classes"
classname="xs.QueryXS"
args="${data.dir}/personal.xsd"/>
<!-- The following are samples but not command-line applications.
<echo message="Running IteratorView ..." />
<java fork="yes"
classpath="${build.dir}/dom3-${jar.apis}:${build.dir}/classes"
classname="dom.traversal.IteratorView"
failOnError="yes"
args="${data.dir}/personal.xml"/>
<echo message="Running TreeWalkerView ..." />
<java fork="yes"
classpath="${build.dir}/dom3-${jar.apis}:${build.dir}/classes"
classname="dom.traversal.TreeWalkerView"
failOnError="yes"
args="${data.dir}/personal.xml"/>
<echo message="Running TreeViewer ..." />
<java fork="yes"
classpath="${build.dir}/dom3-${jar.apis}:${build.dir}/classes"
classname="dom.TreeViewer"
failOnError="yes"
args="${data.dir}/personal.xml"/>
-->
<echo message="Running dom.mem.Test ..." />
<java fork="yes"
classpath="${build.dir}/dom3-${jar.apis}:${build.dir}/classes"
classname="dom.mem.Test"
failOnError="yes">
</java>
<echo message="Running thread.Test ..." />
<java fork="yes"
classpath="${build.dir}/dom3-${jar.apis}:${build.dir}/classes"
classname="thread.Test"
failOnError="yes">
<arg value="-dom"/>
<arg value="-threads"/>
<arg value="20"/>
<arg value="-time"/>
<arg value="10"/>
<arg value="${data.dir}/personal-schema.xml"/>
</java>
<echo message="Running dom.ids.Test ..." />
<java fork="yes"
classpath="${build.dir}/dom3-${jar.apis}:${build.dir}/classes"
classname="dom.ids.Test"
failOnError="yes">
</java>
<echo message="Running dom.DTest ..." />
<java fork="yes"
classpath="${build.dir}/dom3-${jar.apis}:${build.dir}/classes"
classname="dom.DTest"
failOnError="yes">
</java>
<echo message="Running dom.serialization.Test ..." />
<java fork="yes"
classpath="${build.dir}/dom3-${jar.apis}:${build.dir}/classes"
classname="dom.serialization.Test"
failOnError="yes">
<arg value="${data.dir}/personal.xml"/>
<arg value="out.xml"/>
</java>
<java fork="yes"
classpath="${build.dir}/dom3-${jar.apis}:${build.dir}/classes"
classname="dom.registry.Test"
failOnError="yes">
</java>
<java fork="yes"
classpath="${build.dir}/dom3-${jar.apis}:${build.dir}/classes"
classname="dom.dom3.Test"
failOnError="yes">
</java>
</target>
<!-- =================================================================== -->
<!-- Creates the implementation class package with DOM Level 3 -->
<!-- =================================================================== -->
<target name="jar-dom3" depends="compile-dom3">
<jar jarfile="${build.dir}/dom3-${jar.parser}"
basedir="${build.dest}"
compress="true"
includes="org/apache/**, META-INF/**" />
</target>
<!-- =================================================================== -->
<!-- Creates the API class package with DOM Level 3 -->
<!-- =================================================================== -->
<target name="apijar-dom3" depends="compile-dom3">
<copy file="${tools.dir}/${jar.apis}"
tofile="${build.dir}/dom3-${jar.apis}"/>
<jar jarfile="${build.dir}/dom3-${jar.apis}"
basedir="${build.dest}"
compress="true"
includes="org/xml/**, org/w3c/**"
update="yes"/>
</target>
<!-- =================================================================== -->
<!-- Creates the samples package with DOM Level 3 -->
<!-- =================================================================== -->
<target name="sampjar-dom3" depends="samples-dom3">
<jar jarfile="${build.dir}/${jar.samples}"
basedir="${build.dest}"
compress="true"
includes="dom/**,sax/**,socket/**,ui/**,xni/**,xs/**"/>
</target>
<!-- =================================================================== -->
<!-- Builds xercesImpl, xmlParserAPIs, and sample jars with DOM Level 3 -->
<!-- =================================================================== -->
<target name="jars-dom3" depends="jar-dom3, apijar-dom3, sampjar-dom3">
</target>
</project>