<?xml version="1.0"?>

<!-- ===================================================================

Build file for Xerces-Java

Notes:
   This is a build file for use with the Jakarta Ant build tool.

Installation Instructions:
   To install Ant on your system, you need to checkout the
   "jakarta-tools" CVS module. Then you should place the files
     - ant.jar
     - projectx-tr2.jar
     - javac.jar
   in your classpath.

Build Instructions:
   To build, run

     java org.apache.tools.ant.Main <target>

   on the directory where this file is located with the target you want.
   There is also a batch file called "build.bat" to invoke Ant from a
   Windows command line shell. On the UNIX platform, use "build.sh" shell
   script to invoke Ant.

Most useful targets:

 - package -> creates the "xerces.jar" package in "./build"
 - docs -> creates the HTML documentation in "./build/docs"
 - javadocs - crates the javadocs in "./build/javadocs"
 - dist -> creates the complete distribution
 - site -> regenerates the web site

Note:

  In order to regenerate the web site, you must have the "xml-site" and "xml-xerces"
  CVS modules checked-out in the same directory, or this won't work. for example

    xml.apache.org/xml-site
    xml.apache.org/xml-xerces
    ...

  Have fun!

Authors:
  Stefano Mazzocchi <stefano@apache.org>
  Anupam Bagchi     <abagchi@apache.org>

Copyright:
  Copyright (c) 2000 The Apache Software Foundation.

   $Id$

==================================================================== -->

<project default="usage" basedir=".">

  <target name="init">
    <property name="name" value="xerces"/>
    <property name="Name" value="Xerces-J"/>
    <property name="version" value="1.2.0"/>
    <property name="version_postfix" value="_1_2_0"/>
    <property name="year" value="1999-2000"/>
	<property name="copyright" value="Copyright &#169; ${year} Apache XML Project. All Rights Reserved."/>

	<echo message= "---------------- ${Name} ${version} [${year}] ---------------"/>
    <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="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="version.file" value="org/apache/xerces/framework/Version.java"/>

    <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="doc.style" value="${tools.dir}/style-apachexml.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/html"/>
    <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/apiDocs"/>

    <property name="distsrc.dir" value="${build.dir}/${Name}-src${version_postfix}"/>
    <property name="distbin.dir" value="${build.dir}/${Name}-bin${version_postfix}"/>

    <filter token="year" value="${year}"/>
    <filter token="version" value="${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="${Name} Build instructions"/>
    <echo message="-------------------------------------------------------------"/>
    <echo message=""/>
    <echo message=" available targets are:"/>
    <echo message=""/>
    <echo message="   compile  --> compiles the source code"/>
    <echo message="   jar      --> generates the xerces.jar file"/>
    <echo message="   samples  --> compiles the samples source code"/>
    <echo message="   tests    --> compiles the tests source code"/>
    <echo message="   sampjar  --> generates the xercesSamples.jar file"/>
    <echo message="   jars     --> generates the xerces and xercesSamples jar files"/>
    <echo message="   docs     --> generates the HTML documentation"/>
    <echo message="   javadocs --> generates the API documentation (needs Java 1.2 or higher)"/>
    <echo message="   pack-src --> generates the source distributions of Xerces-Java (zip and tar.gz)"/>
    <echo message="   pack-bin --> generates the binary distributions of Xerces-Java (zip and tar.gz)"/>
    <echo message="   all      --> generates the binary and source distributions of Xerces-Java"/>
    <echo message="   test     --> runs a sanity test on the sample files"/>
    <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>

  <!-- =================================================================== -->
  <!-- Compiles the source code                                            -->
  <!-- =================================================================== -->
  <target name="prepare-src" depends="prepare">
    <!-- create directories -->
    <mkdir dir="${build.src}"/>
    <mkdir dir="${build.dest}"/>

    <!-- copy src files -->
    <copydir src="${src.dir}" dest="${build.src}" includes="**/Makefile, **/Makefile.incl, javax/**, org/**"
             excludes="**/classfiles_updated **/CVS* **/.#*
                       **/SchemaImporter.java **/RevalidatingDOMParser.java
                       **/DatatypeContentModel.java **/ComplexTypeInfo.java
                       **/DTDImporter.java "/>
	<deltree dir="${build.src}/whiteboard"/>

    <!-- substitute tokens as needed -->
    <replace file="${build.src}/${version.file}" token="@@version@@" value="${version}"/>
    <!-- <replace file="${build.src}/${version.file}" token="@@year@@" value="${year}"/> -->
  </target>

  <!-- =================================================================== -->
  <!-- Compiles the source directory                                       -->
  <!-- =================================================================== -->
  <target name="compile" depends="prepare-src">
    <javac srcdir="${build.src}"
           excludes="**/RevalidatingDOMParser.java "
    	   destdir="${build.dest}"
    	   debug="${debug}"
	       deprecation="${deprecation}"
	       optimize="${optimize}" />
  </target>

  <!-- =================================================================== -->
  <!-- Creates the class package                                           -->
  <!-- =================================================================== -->
  <target name="jar" depends="compile">
    <jar jarfile="${build.dir}/${name}.jar"
         basedir="${build.dest}"
         includes="org/**, javax/**"/>
  </target>

  <!-- =================================================================== -->
  <!-- Compiles the samples                                                -->
  <!-- =================================================================== -->
  <target name="samples" depends="jar">
    <mkdir dir="${build.samples}"/>
    <copydir src="${samples.dir}" dest="${build.samples}" />
    <javac srcdir="${build.samples}"
           destdir="${build.dest}"
           classpath="${build.dir}/${name}.jar"
           debug="${debug}"/>
  </target>

  <!-- =================================================================== -->
  <!-- Compiles the tests                                                  -->
  <!-- =================================================================== -->
  <target name="tests" depends="samples">
    <mkdir dir="${build.tests}"/>
    <copydir src="${tests.dir}" dest="${build.tests}" />
    <javac srcdir="${build.tests}"
           destdir="${build.dest}"
           classpath="${build.dir}/${name}.jar"
           debug="${debug}"/>
  </target>

  <!-- =================================================================== -->
  <!-- Creates the samples package                                         -->
  <!-- =================================================================== -->
  <target name="sampjar" depends="samples">
    <jar jarfile="${build.dir}/${name}Samples.jar"
         basedir="${build.dest}"
         includes="dom/**,sax/**,ui/**,util/**"/>
  </target>

  <!-- =================================================================== -->
  <!-- Prepares the docs                                                   -->
  <!-- =================================================================== -->
  <target name="prepare-docs" depends="init">
    <mkdir dir="${build.docs}"/>
  </target>

  <!-- =================================================================== -->
  <!-- Generate HTML docs                                                  -->
  <!-- =================================================================== -->
  <target name="docs" depends="prepare, prepare-docs">
	<echo message="Building docs for ${Name} ${version} ..." />
    <java fork="yes"
          classpath="${java.class.path}:${doc.generator.package}"
          classname="${doc.generator}"
          args="targetDirectory=${build.docs} ${docs.book} ${doc.style}"/>
  </target>

  <!-- =================================================================== -->
  <!-- Creates the API documentation                                       -->
  <!-- =================================================================== -->
  <target name="javadocs" depends="prepare-src">
    <mkdir dir="${build.javadocs}"/>
    <javadoc packagenames="${packages}"
             sourcepath="${build.src}"
             destdir="${build.javadocs}"
             author="true"
             version="true"
             use="true"
             windowtitle="${Name} API"
             doctitle="${Name}"
             bottom="${copyright}" />
  </target>

  <!-- =================================================================== -->
  <!-- Prepares the source distribution                                    -->
  <!-- =================================================================== -->
  <target name="pack-src" depends="init">
    <echo message="Building the source distribution files (zip,tar)"/>
    <mkdir dir="${distsrc.dir}"/>
    <mkdir dir="${distsrc.dir}/src"/>
    <mkdir dir="${distsrc.dir}/data"/>
    <mkdir dir="${distsrc.dir}/docs"/>
    <mkdir dir="${distsrc.dir}/samples"/>

    <copydir src="${src.dir}" dest="${distsrc.dir}/src" excludes="**/CVS*, **/.#*"
             includes="**/Makefile, **/Makefile.incl, org/**, javax/**"/>
    <copydir src="${data.dir}" dest="${distsrc.dir}/data" excludes="**/CVS*, **/.#*"/>
    <copydir src="${docs.dir}" dest="${distsrc.dir}/docs"
             excludes="**/CVS*, **/*.#*, pdf/**, html/**, **/apiDocs*"/>
    <copydir src="${samples.dir}" dest="${distsrc.dir}/samples" excludes="**/CVS*, **/*.#*"/>

    <copyfile src="LICENSE" dest="${distsrc.dir}/LICENSE"/>
    <copyfile src="README" dest="${distsrc.dir}/README"/>
    <copyfile src="Readme.html" dest="${distsrc.dir}/Readme.html"/>
    <copyfile src="STATUS" dest="${distsrc.dir}/STATUS"/>
    <copyfile src="build.xml" dest="${distsrc.dir}/build.xml"/>
    <copyfile src="${basedir}/build.sh" dest="${distsrc.dir}/build.sh" />
    <chmod src="${distsrc.dir}/build.sh" perm="ugo+rx" />
    <copyfile src="${basedir}/build.bat" dest="${distsrc.dir}/build.bat" />

    <zip zipfile="${build.dir}/${Name}-src${version_postfix}.zip" basedir="${build.dir}"
         includes="${Name}-src${version_postfix}/**"/>
    <tar tarfile="${build.dir}/${Name}-src${version_postfix}.tar" basedir="${build.dir}"
         includes="${Name}-src${version_postfix}/**"/>
    <gzip zipfile="${build.dir}/${Name}-src${version_postfix}.tar.gz"
          src="${build.dir}/${Name}-src${version_postfix}.tar" />
  </target>

  <!-- =================================================================== -->
  <!-- Prepares the binary distribution                                    -->
  <!-- =================================================================== -->
  <target name="pack-bin" depends="jar, sampjar, javadocs, docs">

    <echo message="Building the binary distribution files (zip,tar)"/>
    <mkdir dir="${distbin.dir}"/>
    <mkdir dir="${distbin.dir}/data"/>
    <mkdir dir="${distbin.dir}/docs"/>
    <mkdir dir="${distbin.dir}/docs/html"/>
    <mkdir dir="${distbin.dir}/docs/apiDocs"/>

    <copydir src="${data.dir}" dest="${distbin.dir}/data" excludes="**/CVS*, **/*.#*"/>
    <copydir src="${build.docs}" dest="${distbin.dir}/docs/html"/>
    <copydir src="${build.javadocs}" dest="${distbin.dir}/docs/apiDocs"/>

    <copyfile src="${build.dir}/${name}.jar" dest="${distbin.dir}/${name}.jar"/>
    <copyfile src="${build.dir}/${name}Samples.jar" dest="${distbin.dir}/${name}Samples.jar"/>

    <copyfile src="LICENSE" dest="${distbin.dir}/LICENSE"/>
    <copyfile src="Readme.html" dest="${distbin.dir}/Readme.html"/>

    <zip zipfile="${build.dir}/${Name}-bin${version_postfix}.zip" basedir="${build.dir}"
         includes="${Name}-bin${version_postfix}/**"/>
    <tar tarfile="${build.dir}/${Name}-bin${version_postfix}.tar" basedir="${build.dir}"
         includes="${Name}-bin${version_postfix}/**"/>
    <gzip zipfile="${build.dir}/${Name}-bin${version_postfix}.tar.gz"
          src="${build.dir}/${Name}-bin${version_postfix}.tar" />

  </target>

  <!-- =================================================================== -->
  <!-- Do a sanity test using xercesSamples.jar                            -->
  <!-- =================================================================== -->
  <target name="test" depends="sampjar">
	<echo message="Performing sanity test for ${Name} ${version} ..." />
	<echo message="Using classpath=&apos;${build.dir}/${name}Samples.jar;${build.dir}/${name}.jar&apos;" />
	<echo message="Running SAXCount ..." />
    <java fork="yes"
          classpath="${build.dir}/${name}Samples.jar:${build.dir}/${name}.jar;"
          classname="sax.SAXCount"
          args="${data.dir}/personal.xml"/>
	<echo message="Running SAX2Count ..." />
    <java fork="yes"
          classpath="${build.dir}/${name}Samples.jar:${build.dir}/${name}.jar;"
          classname="sax.SAX2Count"
          args="${data.dir}/personal.xml"/>
	<echo message="Running SAXWriter ..." />
    <java fork="yes"
          classpath="${build.dir}/${name}Samples.jar:${build.dir}/${name}.jar"
          classname="sax.SAXWriter"
          args="${data.dir}/personal.xml"/>
	<echo message="Running DOMCount ..." />
    <java fork="yes"
          classpath="${build.dir}/${name}Samples.jar:${build.dir}/${name}.jar"
          classname="dom.DOMCount"
          args="${data.dir}/personal.xml"/>
	<echo message="Running DOMWriter ..." />
    <java fork="yes"
          classpath="${build.dir}/${name}Samples.jar:${build.dir}/${name}.jar"
          classname="dom.DOMWriter"
          args="${data.dir}/personal.xml"/>
	<echo message="Running DOMFilter ..." />
    <java fork="yes"
          classpath="${build.dir}/${name}Samples.jar:${build.dir}/${name}.jar"
          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="${build.dir}/${name}Samples.jar:${build.dir}/${name}.jar"
          classname="dom.traversal.IteratorView"
          args="${data.dir}/personal.xml"/>
	<echo message="Running TreeWalkerView ..." />
    <java fork="yes"
          classpath="${build.dir}/${name}Samples.jar:${build.dir}/${name}.jar"
          classname="dom.traversal.TreeWalkerView"
          args="${data.dir}/personal.xml"/>
	<echo message="Running TreeViewer ..." />
    <java fork="yes"
          classpath="${build.dir}/${name}Samples.jar:${build.dir}/${name}.jar"
          classname="dom.TreeViewer"
          args="${data.dir}/personal.xml"/>
     -->
  </target>

  <!-- =================================================================== -->
  <!-- Builds both xerces and sample jar files                             -->
  <!-- =================================================================== -->
  <target name="jars" depends="jar, sampjar">
  </target>

  <!-- =================================================================== -->
  <!-- Builds and packages sources and binary distributions                -->
  <!-- =================================================================== -->
  <target name="all" depends="pack-src, pack-bin">
  </target>

  <!-- =================================================================== -->
  <!-- Cleans everything                                                   -->
  <!-- =================================================================== -->
  <target name="clean" depends="init">
    <delete file="${name}.jar"/>
    <delete file="${name}Samples.jar"/>
    <deltree dir="${build.dir}"/>
  </target>

</project>
