<!--
/*
*******************************************************************************
* Copyright (C) 1997-2007, International Business Machines Corporation and    *
* others. All Rights Reserved.                                                *
*******************************************************************************
* This is the ant build file for ICU4J.  See readme.html for more information.
*/
-->

<project name="ICU4J" default="core" basedir=".">

  <!-- ### Begin Clover 1.2 setup ### -->
  <typedef resource="clovertypes" />
  <taskdef resource="clovertasks" />

  <target name="with.clover">
    <mkdir dir="tmp/" />
    <clover-setup initString="tmp/icu4j.db">
      <files>
        <exclude name="**/dev/**/*.java" />
      </files>
      <methodContext name="API" regexp="(.* )?public .*" />
    </clover-setup>
  </target>

  <target name="clover.summary" depends="with.clover">
    <clover-report>
      <current outfile="icu4j_html" summary="true">
        <format type="html" srcLevel="false" />
      </current>
    </clover-report>
  </target>
  <target name="clover.report" depends="with.clover">
    <clover-report>
      <current outfile="icu4j_html">
        <format type="html" />
      </current>
    </clover-report>
  </target>
  <target name="clover.log" depends="with.clover">
    <clover-log level="method" filter="private">
      <package name="com.ibm.icu.text" />
      <package name="com.ibm.icu.lang" />
      <package name="com.ibm.icu.math" />
      <package name="com.ibm.icu.util" />
    </clover-log>
  </target>

  <!-- ### End Clover 1.2 setup ### -->

  <target name="anthack1">
    <!-- It's a real pain to set properties conditionally.
          Ant 1.5 isn't really any better than 1.4, in fact 1.5 enforces that
          properties are write-once so you can't even set a default and then
          override it, which we used to do for Ant 1.4. -->
    <condition property="version.1.4">
      <or>
        <equals arg1="${ant.java.version}" arg2="1.4" />
        <equals arg1="${ant.java.version}" arg2="1.5" />
        <equals arg1="${ant.java.version}" arg2="1.6" />
      </or>
    </condition>

    <condition property="doc.params" value="-breakiterator -use -tagletpath ./classes -taglet com.ibm.icu.dev.tool.docs.ICUTaglet -group 'ICU Core' 'com.ibm.icu.lang*:com.ibm.icu.math*:com.ibm.icu.text*:com.ibm.icu.util*:com.ibm.icu.charset' -group 'ICU Tests' 'com.ibm.icu.dev.test*' -group 'Demos' 'com.ibm.icu.dev.demo*' -group 'ICU Tools' 'com.ibm.icu.dev*'">
      <equals arg1="${version.1.4}" arg2="true" />
    </condition>

    <condition property="richeditdoc.params" value="-breakiterator -use -tagletpath ./classes -taglet com.ibm.icu.dev.tool.docs.ICUTaglet -group 'Rich Text Editing' 'com.ibm.richtext*'">
      <equals arg1="${version.1.4}" arg2="true" />
    </condition>
  </target>

  <target name="anthack2" unless="doc.params">
    <property name="doc.params" value="" />
  </target>

  <target name="init">
    <tstamp />
    <property name="src.dir" value="src" />
    <property name="build.dir" value="classes" />
    <property name="api.dir" value="${src.dir}/com/ibm/icu/dev/tool/docs" />
    <property name="doc.dir" value="doc" />
    <property name="testjar.file" value="icu4jtests.jar" />
    <property name="jar.file" value="icu4j.jar" />
    <property name="charsets.jar.file" value="icu4j-charsets.jar" />
    <property name="jarSrc.file" value="icu4jsrc.jar" />
    <property name="zipCoreSrc.file" value="icu4jcsrc.zip" />
    <property name="zipTestSrc.file" value="icu4jtsrc.zip" />
    <property name="jdk.wrapper.jar.file" value="icu4jwrapper.jar" />
    <property name="eclipse.dir" value="${src.dir}/com/ibm/icu/dev/eclipse" />
    <property name="eclipse.projects.dir" value="eclipseProjects" />
    <property name="wrapper.build.dir" value="classes.wrapper" />
    <property name="jarDocs.file" value="icu4jdocs.jar" />
    <property name="ime.translit.jar.file" value="icutransime.jar" />
    <property name="ime.indic.jar.file" value="icuindicime.jar" />
    <property name="ime.translit.manifest" value="${src.dir}/com/ibm/icu/dev/tool/ime/translit/manifest.stub" />
    <property name="ime.indic.manifest" value="${src.dir}/com/ibm/icu/dev/tool/ime/indic/manifest.stub" />
    <property name="zip.file" value="../icu4j${DSTAMP}.zip" />
    <property name="zipSrc.file" value="../icu4jSrc${DSTAMP}.zip" />
    <property name="tzu.src.path" value="com/ibm/icu/dev/tool/tzu" />
    <property name="tzu.bin.dir" value="${basedir}/icu4jtzu" />
    <property name="tzu.jar.file" value="icutzu.jar" />
    <property name="tzu.test.dir" value="${basedir}/icu4jtzu/test" />
    <property name="tzu.temp.dir" value="${basedir}/icu4jtzu/Temp" />
    <property name="tzu.src.zip.file" value="icutzu-src.zip" />
    <property name="tzu.bin.zip.file" value="icutzu-bin.zip" />
    <property file="build.properties" />
    <!-- fix the data folder every time there is a version update-->

    <property name="icu4j.data.path" value="com/ibm/icu/impl/data/icudt${icu4j.version.number}b" />
    <property name="icu4j.testdata.path" value="com/ibm/icu/dev/data/testdata" />
    <property name="icu4j.javac.source" value="1.3" />
    <property name="icu4j.javac.target" value="1.3" />

    <path id="build.classpath">
      <pathelement path="${build.dir}" />
    </path>

    <property name="richedit.dir" value="richedit" />
    <property name="richedit.doc.dir" value="${richedit.dir}/doc" />
    <property name="richedit.jar.file" value="${richedit.dir}/richedit.jar" />
    <property name="richedit.zip.file" value="${richedit.dir}/richedit.zip" />
    <property name="richedit.manifest" value="${src.dir}/com/ibm/richtext/manifest.stub" />

    <!-- Load environment variables -->
    <property environment="env" />

    <!-- Capture the computer name in a cross-platform manner -->
    <property name="env.COMPUTERNAME" value="${env.HOSTNAME}" />

    <mkdir dir="${build.dir}" />
    <mkdir dir="${wrapper.build.dir}" />

    <echo message="java home: ${java.home}" />
    <echo message="java version: ${java.version}" />
    <echo message="ant java version: ${ant.java.version}" />
    <echo message="${ant.version}" />
    <echo message="${env.COMPUTERNAME} with ${os.name} ${os.version} on ${os.arch}" />
    <echo message="clover initstring = '${clover.initstring}'" />

    <uptodate property="icu4j.resources" targetfile="${src.dir}/com/ibm/icu/impl/data">
      <!-- note must not have '/' before 'com' in srcfiles includes arg! -->
      <srcfiles dir="${build.dir}" includes="${icu4j.data.path}/res_index.res" />
    </uptodate>

    <uptodate property="icu4j.testdata.resources" targetfile="${src.dir}/com/ibm/icu/dev/data">
      <!-- note must not have '/' before 'com' in srcfiles includes arg! -->
      <srcfiles dir="${build.dir}" includes="${icu4j.testdatadata.path}/root.res" />
    </uptodate>

    <uptodate property="icu4j.module.resources" targetfile="${src.dir}/com/ibm/icu/impl/data/icudata.jar">
      <srcfiles dir="${build.dir}" includes="${icu4j.data.path}/*.icu" />
    </uptodate>
    <!-- <echo message="icu4j.module.resources result: ${icu4j.module.resources}" /> -->
    <tstamp>
      <format property="date.time" pattern="yyyy-MM-dd 'at' hh:mm:ss z" locale="en,US" />
    </tstamp>
    <echo message="Initialized at ${date.time}" />
  </target>

  <!-- build everything but dist-related stuff -->
  <target name="all" depends="core,tests,tools,richedit,demos,jar,docs" description="build all primary targets" />

  <target name="resources" depends="init, icudata, coreData, testdata" description="builds all the resources" />

  <target name="icudata" depends="init" if="icu4j.resources">
    <!-- use this target to force resources to be rebuilt -->
    <unjar src="${src.dir}/com/ibm/icu/impl/data/icudata.jar" dest="${build.dir}" />
    <touch file="${build.dir}/${icu4j.data.path}/res_index.res" />
    <copy todir="${build.dir}/META-INF">
      <fileset dir="${src.dir}/META-INF" includes="**/*" />
    </copy>
  </target>

  <!--
    use this target to conditionally build resources only if icu4j.resources is set
    <target name="icu" depends="init" if="icu4j.resources">
        <unjar src="${src.dir}/com/ibm/icu/impl/data/ICULocaleData.jar" dest="${build.dir}"/>
        <touch file="${build.dir}/com/ibm/icu/impl/data/LocaleElements_index.class"/>
    </target>
 -->

  <!-- core does not build richedit or tests -->
  <target name="core" depends="init,coreData,icudata" description="build core classes and data">
    <javac sourcepath="" srcdir="${src.dir}" destdir="${build.dir}" classpathref="build.classpath" source="${icu4j.javac.source}" target="${icu4j.javac.target}" debug="on" deprecation="off" encoding="ascii">

      <exclude name="**/CVS/**/*" />
      <include name="com/ibm/icu/charset/**/*.java" />
      <include name="com/ibm/icu/impl/**/*.java" />
      <include name="com/ibm/icu/lang/*.java" />
      <include name="com/ibm/icu/math/**/*.java" />
      <include name="com/ibm/icu/text/**/*.java" />
      <include name="com/ibm/icu/util/**/*.java" />
    </javac>
  </target>

  <target name="tests" depends="core,testdata" description="build tests">
    <javac srcdir="${src.dir}" destdir="${build.dir}" classpathref="build.classpath" source="${icu4j.javac.source}" target="${icu4j.javac.target}" debug="on" deprecation="off">

      <exclude name="**/CVS/**/*" />
      <include name="com/ibm/icu/dev/test/calendar/**/*.java" />
    </javac>

    <javac srcdir="${src.dir}" destdir="${build.dir}" classpathref="build.classpath" source="${icu4j.javac.source}" target="${icu4j.javac.target}" debug="on" deprecation="off">

      <exclude name="**/CVS/**/*" />
      <include name="com/ibm/icu/dev/test/collator/**/*.java" />

    </javac>

    <javac srcdir="${src.dir}" destdir="${build.dir}" classpathref="build.classpath" source="${icu4j.javac.source}" target="${icu4j.javac.target}" debug="on" deprecation="off">

      <exclude name="**/CVS/**/*" />
      <include name="com/ibm/icu/dev/test/format/**/*.java" />
    </javac>

    <javac srcdir="${src.dir}" destdir="${build.dir}" classpathref="build.classpath" source="${icu4j.javac.source}" target="${icu4j.javac.target}" debug="on" deprecation="off">

      <exclude name="**/CVS/**/*" />
      <include name="com/ibm/icu/dev/test/translit/**/*.java" />
    </javac>

    <javac srcdir="${src.dir}" destdir="${build.dir}" classpathref="build.classpath" source="${icu4j.javac.source}" target="${icu4j.javac.target}" debug="on" deprecation="off">

      <exclude name="**/CVS/**/*" />
      <include name="com/ibm/icu/dev/test/lang/**/*.java" />
      <include name="com/ibm/icu/dev/test/normalizer/**/*.java" />
    </javac>

    <javac srcdir="${src.dir}" destdir="${build.dir}" classpathref="build.classpath" source="${icu4j.javac.source}" target="${icu4j.javac.target}" debug="on" deprecation="off">

      <exclude name="**/CVS/**/*" />
      <include name="com/ibm/icu/dev/test/serializable/**/*.java" />
    </javac>

    <javac srcdir="${src.dir}" destdir="${build.dir}" classpathref="build.classpath" source="${icu4j.javac.source}" target="${icu4j.javac.target}" debug="on" deprecation="off">

      <exclude name="**/CVS/**/*" />
      <include name="com/ibm/icu/dev/test/**/*.java" />
    </javac>

  </target>

  <target name="demos" depends="core,testdata" description="build demos">
    <javac srcdir="${src.dir}" destdir="${build.dir}" classpathref="build.classpath" source="${icu4j.javac.source}" target="${icu4j.javac.target}" debug="on" deprecation="off">

      <exclude name="**/CVS/**/*" />
      <include name="com/ibm/icu/dev/demo/**/*.java" />
    </javac>
  </target>

  <target name="buildmangle" depends="init,anthack1">
    <javac srcdir="${src.dir}" destdir="${build.dir}" classpathref="build.classpath" source="${icu4j.javac.source}" target="${icu4j.javac.target}">

      <include name="com/ibm/icu/dev/tool/docs/CodeMangler.java" />
    </javac>
  </target>

  <target name="mangle" depends="buildmangle">
    <!-- this is a hack for now, need a way to express dependency on the .jpp files
    and to provide directories or trees of files to the code mangler tool. -->
    <java classname="com.ibm.icu.dev.tool.docs.CodeMangler" classpath="${build.dir}" logError="true">
      <arg value="-dVERSION_${ant.java.version}" />
      <arg value="${src.dir}/com/ibm/icu/dev/tool/docs/ICUTaglet.java" />
    </java>
  </target>

  <target name="indices" depends="icudata,build_indexgenerator">
    <java classname="com.ibm.icu.dev.tool.index.IndexGenerator" classpath="${build.dir}" logError="true">
      <arg value="${build.dir}/${icu4j.data.path}" />
    </java>
    <java classname="com.ibm.icu.dev.tool.index.IndexGenerator" classpath="${build.dir}" logError="true">
      <arg value="${build.dir}/${icu4j.data.path}/rbnf" />
    </java>
    <java classname="com.ibm.icu.dev.tool.index.IndexGenerator" classpath="${build.dir}" logError="true">
      <arg value="${build.dir}/${icu4j.data.path}/coll" />
    </java>
    <java classname="com.ibm.icu.dev.tool.index.IndexGenerator" classpath="${build.dir}" logError="true">
      <arg value="${build.dir}/${icu4j.data.path}/translit" />
    </java>
  </target>

  <target name="one4tools" depends="anthack1,anthack2,mangle" if="version.1.4">
    <javac srcdir="${src.dir}" destdir="${build.dir}" classpathref="build.classpath" source="${icu4j.javac.source}" target="${icu4j.javac.target}" debug="on" deprecation="off">

      <exclude name="**/CVS/**/*" />

      <include name="com/ibm/icu/dev/localeconverter/docs/*.java" />
      <include name="com/ibm/icu/dev/tool/docs/*.java" />
    </javac>
  </target>

  <target name="tools" depends="core,one4tools" description="build tools">
    <javac srcdir="${src.dir}" destdir="${build.dir}" classpathref="build.classpath" source="${icu4j.javac.source}" target="${icu4j.javac.target}" debug="on" deprecation="off">

      <exclude name="com/ibm/icu/dev/tool/cldr/*" />
      <exclude name="com/ibm/icu/dev/tool/localeconverter/*" />
      <exclude name="com/ibm/icu/dev/tool/docs/*" />
      <exclude name="**/CVS/**/*" />

      <include name="com/ibm/icu/dev/tool/**/*.java" />
    </javac>
  </target>

  <target name="build_indexgenerator">
    <javac srcdir="${src.dir}" destdir="${build.dir}" classpathref="build.classpath" source="${icu4j.javac.source}" target="${icu4j.javac.target}" debug="on" deprecation="off">

      <include name="com/ibm/icu/dev/tool/index/IndexGenerator.java" />
    </javac>
  </target>

  <!-- use excludefiles below when we move to ant 1.5 -->
  <target name="docs" depends="anthack1,anthack2,tools" description="build user javadoc">
    <echo message="doc params: ${doc.params}" />
    <mkdir dir="${doc.dir}" />
    <javadoc packagenames="com.ibm.icu.lang,com.ibm.icu.text,com.ibm.icu.util,com.ibm.icu.math,com.ibm.icu.charset,com.ibm.icu.dev" sourcepath="${src.dir}" destdir="${doc.dir}" nodeprecatedlist="true" windowtitle="icu4j" doctitle="icu4j" encoding="iso-8859-1" docencoding="iso-8859-1" bottom="&lt;font size=-1>Copyright (c) ${current.year} IBM Corporation and others.&lt;/font>" additionalparam="${doc.params}" link="http://java.sun.com/j2se/1.5/docs/api" source="1.4" />
  </target>

  <target name="fulldocs" depends="anthack1,anthack2,tools" description="build all javadoc">
    <echo message="doc params: ${doc.params}" />
    <mkdir dir="${doc.dir}" />
    <javadoc packagenames="com.ibm.icu.*" sourcepath="${src.dir}" destdir="${doc.dir}" nodeprecatedlist="true" windowtitle="icu4j" doctitle="icu4j" encoding="iso-8859-1" docencoding="iso-8859-1" bottom="&lt;font size=-1>Copyright (c) 2004 IBM Corporation and others.&lt;/font>" additionalparam="${doc.params}" link="http://java.sun.com/j2se/1.4/docs/api" source="1.4" />
  </target>

  <target name="coreData" depends="init">
    <copy todir="${build.dir}/com/ibm/icu/impl/data">
      <fileset dir="${src.dir}/com/ibm/icu/impl/data" includes="*.icu,*.spp,*.brk" excludes="**/CVS/**/*,Transliterator_Han_Latin_*.txt" />
    </copy>
  </target>

  <target name="testdata" depends="init">
    <copy file="${src.dir}/com/ibm/icu/dev/data/rbbi/english.dict" todir="${build.dir}/com/ibm/icu/dev/data/rbbi" />
    <copy file="${src.dir}/com/ibm/icu/dev/test/rbbi/rbbitst.txt" todir="${build.dir}/com/ibm/icu/dev/test/rbbi" />
    <copy file="${src.dir}/com/ibm/icu/dev/test/charsetdet/CharsetDetectionTests.xml" todir="${build.dir}/com/ibm/icu/dev/test/charsetdet" />
    <copy todir="${build.dir}/com/ibm/icu/dev/test/serializable/data">
      <fileset dir="${src.dir}/com/ibm/icu/dev/test/serializable/data">
        <include name="**/*.dat" />
      </fileset>
    </copy>
    <copy file="${src.dir}/com/ibm/icu/dev/data/riwords.txt" todir="${build.dir}/com/ibm/icu/dev/data" />
    <copy file="${src.dir}/com/ibm/icu/dev/data/IDNATestInput.txt" todir="${build.dir}/com/ibm/icu/dev/data" />
    <javac srcdir="${src.dir}" destdir="${build.dir}" classpathref="build.classpath" source="${icu4j.javac.source}" target="${icu4j.javac.target}" debug="on" deprecation="off">

      <exclude name="**/CVS/**/*" />

      <include name="com/ibm/icu/dev/data/*.java" />
      <include name="com/ibm/icu/dev/data/resources/*.java" />
    </javac>
    <copy todir="${build.dir}/com/ibm/icu/dev/data">
      <fileset dir="${src.dir}/com/ibm/icu/dev/data" includes="*.spp,*.txt" />
    </copy>
    <copy todir="${build.dir}/com/ibm/icu/dev/data/unicode/">
      <fileset dir="${src.dir}/com/ibm/icu/dev/data/unicode/" includes="*.txt" />
    </copy>
    <copy file="${src.dir}/com/ibm/icu/dev/test/format/NumberFormatTestCases.txt" todir="${build.dir}/com/ibm/icu/dev/test/format" />
    <copy todir="${build.dir}/com/ibm/icu/dev/data/resources/">
      <fileset dir="${src.dir}/com/ibm/icu/dev/data/resources/" includes="*.properties" />
    </copy>
    <!-- use this target to force resources to be rebuilt -->
    <unjar src="${src.dir}/com/ibm/icu/dev/data/testdata.jar" dest="${build.dir}" />
    <touch file="${build.dir}/${icu4j.testdata.path}/root.res" />
  </target>

  <!-- builds richedit and richedit tests -->
  <target name="richedit" depends="init" description="build richedit classes and tests">
    <javac srcdir="${src.dir}" destdir="${build.dir}" classpathref="build.classpath" source="${icu4j.javac.source}" target="${icu4j.javac.target}" debug="on" deprecation="off">

      <exclude name="**/CVS/**/*" />
      <include name="com/ibm/richtext/**/*.java" />
    </javac>
    <copy todir="${build.dir}/com/ibm/richtext/textapps/resources" overwrite="yes" includeEmptyDirs="no">
      <fileset dir="${src.dir}/com/ibm/richtext/textapps/resources" includes="*.red" />
    </copy>
  </target>

  <!-- Creates the 3 release jar archives for distribution -->
  <target name="jarRelease" depends="jar,jarSrc,jarDocs" />

  <target name="jar" depends="core,indices,charsetsJar" description="build 'icu4j.jar' jar file">
    <jar jarfile="${jar.file}" compress="true">
      <fileset dir="${basedir}" includes="license.html, unicode-license.txt" />
      <fileset dir="${build.dir}" includes="com/ibm/icu/util/**/*,com/ibm/icu/text/**/*,com/ibm/icu/math/**/*,com/ibm/icu/impl/**/*,com/ibm/icu/lang/**/*" excludes="META-INF/services/**/*,com/ibm/icu/charset/**/*,${icu4j.data.path}/*.cnv,${icu4j.data.path}/cnvalias.icu" />
      <manifest>
        <attribute name="Built-By" value="${corp}" />
        <section name="common">
          <attribute name="Specification-Title" value="ICU4J" />
          <attribute name="Specification-Version" value="${icu4j.version.string}" />
          <attribute name="Specification-Vendor" value="ICU" />
          <attribute name="Implementation-Title" value=" ICU for Java" />
          <attribute name="Implementation-Version" value="${icu4j.version.string}" />
          <attribute name="Implementation-Vendor" value="${corp}" />
          <attribute name="Implementation-Vendor-Id" value="com.ibm" />
          <attribute name="Copyright-Info" value="${copyright}" />
          <attribute name="Sealed" value="false" />
        </section>
      </manifest>
    </jar>
  </target>

  <target name="charsetsJar" depends="core,indices" description="build  'icu4j-charstes.jar' jar file">
    <echo message="${icu4j.data.path}/cnvalias.icu"/>
    <jar jarfile="${charsets.jar.file}" compress="true">
      <fileset dir="${basedir}" includes="license.html, unicode-license.txt" />
      <fileset dir="${build.dir}"
        includes="META-INF/services/**/*,com/ibm/icu/charset/**/*,${icu4j.data.path}/*.cnv,${icu4j.data.path}/cnvalias.icu" />
      <manifest>
        <attribute name="Built-By" value="${corp}" />
        <section name="common">
          <attribute name="Specification-Title" value="ICU4J Charsets" />
          <attribute name="Specification-Version" value="${icu4j.version.string}" />
          <attribute name="Specification-Vendor" value="ICU" />
          <attribute name="Implementation-Title" value=" ICU for Java Charsets" />
          <attribute name="Implementation-Version" value="${icu4j.version.string}" />
          <attribute name="Implementation-Vendor" value="${corp}" />
          <attribute name="Implementation-Vendor-Id" value="com.ibm" />
          <attribute name="Copyright-Info" value="${copyright}" />
          <attribute name="Sealed" value="false" />
        </section>
      </manifest>
    </jar>
  </target>

  <target name="jarTests" depends="tests,jar" description="build runtime 'icu4jtests.jar' jar file">
    <jar jarfile="${testjar.file}" compress="true">
      <fileset dir="${build.dir}" includes="com/ibm/icu/dev/test/**/*" />
      <fileset dir="${build.dir}" includes="com/ibm/icu/dev/data/**/*" />
      <manifest>
        <attribute name="Built-By" value="${corp}" />
        <section name="common">
          <attribute name="Specification-Title" value="ICU4J Tests" />
          <attribute name="Specification-Version" value="${icu4j.version.string}" />
          <attribute name="Specification-Vendor" value="ICU" />
          <attribute name="Implementation-Title" value=" ICU for Java Tests" />
          <attribute name="Implementation-Version" value="${icu4j.version.string}" />
          <attribute name="Implementation-Vendor" value="${corp}" />
          <attribute name="Implementation-Vendor-Id" value="com.ibm" />
          <attribute name="Copyright-Info" value="${copyright}" />
          <attribute name="Sealed" value="false" />
        </section>
      </manifest>
    </jar>
  </target>

  <target name="jarSrc" depends="init" description="build source 'icu4jsrc.jar' jar file">
    <!--Create a jar archive of just the source for distribution.  The
        jar file will be created in the directory above the root ICU4J
        directory. The exclude pattern ${src.dir}/com/ibm/icu/dev/data/unicode/UnicodeData-*.txt
        and ${src.dir}/com/ibm/icu/dev/data/unicode/SpecialCasing-*.txt
        eliminates old archive copies like SpecialCasing-2.txt and
        UnicodeData-2.1.8.txt -->
    <jar jarfile="${jarSrc.file}" compress="true" basedir="." excludes="${richedit.dir}/**/*,test_*,${src.dir}/com/ibm/icu/dev/data/unicode//UnicodeData-*.txt,${src.dir}/com/ibm/icu/dev/data/unicode/SpecialCasing-*.txt,${src.dir}/com/ibm/icu/dev/data/unicode/CompositionExclusions-*.txt,${obsolete.dir}/**,**/*~,${src.dir}/**/*.class,${build.dir}/**,**/CVS/**/*,${doc.dir}/**,*.jar,*.zip, *.gz">
      <manifest>
        <attribute name="Built-By" value="${corp}" />
        <section name="common">
          <attribute name="Specification-Title" value="ICU4J Source Files" />
          <attribute name="Specification-Version" value="${icu4j.version.string}" />
          <attribute name="Specification-Vendor" value="ICU" />
          <attribute name="Implementation-Title" value=" ICU for Java" />
          <attribute name="Implementation-Version" value="${icu4j.version.string}" />
          <attribute name="Implementation-Vendor" value="${corp}" />
          <attribute name="Implementation-Vendor-Id" value="com.ibm" />
          <attribute name="Copyright-Info" value="${copyright}" />
          <attribute name="Sealed" value="false" />
        </section>
      </manifest>
    </jar>
  </target>

  <target name="jarDocs" depends="docs" description="build documentation 'icu4jdocs.jar' jar file">
    <jar jarfile="${jarDocs.file}" compress="true" basedir="${doc.dir}">
      <manifest>
        <attribute name="Built-By" value="${corp}" />
        <section name="common">
          <attribute name="Specification-Title" value="ICU4J Source Files" />
          <attribute name="Specification-Version" value="${icu4j.version.string}" />
          <attribute name="Specification-Vendor" value="ICU" />
          <attribute name="Implementation-Title" value=" ICU for Java" />
          <attribute name="Implementation-Version" value="${icu4j.version.string}" />
          <attribute name="Implementation-Vendor" value="${corp}" />
          <attribute name="Implementation-Vendor-Id" value="com.ibm" />
          <attribute name="Copyright-Info" value="${copyright}" />
          <attribute name="Sealed" value="false" />
        </section>
      </manifest>
    </jar>
  </target>

  <target name="translitIMEJar" depends="collator, transliterator" description="build transliterator IME 'icutransime.jar' jar file">
    <javac includes="com/ibm/icu/dev/tool/ime/translit/*.java" excludes="**/CVS/**/*" srcdir="${src.dir}" destdir="${build.dir}" classpathref="build.classpath" source="${icu4j.javac.source}" target="${icu4j.javac.target}" debug="on" deprecation="off" />
    <copy file="${src.dir}/com/ibm/icu/dev/tool/ime/translit/Transliterator.properties" todir="${build.dir}/com/ibm/icu/dev/tool/ime/translit" />
    <jar jarfile="${ime.translit.jar.file}" compress="true" basedir="${build.dir}" includes="com/ibm/icu/dev/tool/ime/translit/**/*" manifest="${ime.translit.manifest}">
      <metainf dir="${src.dir}/com/ibm/icu/dev/tool/ime/translit" includes="services/*" />
    </jar>
  </target>

  <target name="indicIMEJar" depends="init" description="build indic IME 'icuindicime.jar' jar file">
    <javac includes="com/ibm/icu/dev/tool/ime/indic/*.java" excludes="**/CVS/**/*" srcdir="${src.dir}" destdir="${build.dir}" classpathref="build.classpath" source="${icu4j.javac.source}" target="${icu4j.javac.target}" debug="on" deprecation="off" />
    <copy file="${src.dir}/com/ibm/icu/dev/tool/ime/indic/DisplayNames.properties" todir="${build.dir}/com/ibm/icu/dev/tool/ime/indic" />
    <jar jarfile="${ime.indic.jar.file}" compress="true" basedir="${build.dir}" includes="com/ibm/icu/dev/tool/ime/indic/**/*" manifest="${ime.indic.manifest}">
      <metainf dir="${src.dir}/com/ibm/icu/dev/tool/ime/indic" includes="services/*" />
    </jar>
  </target>

  <!--
    <target name="translitimeStandaloneJar" depends="collator, transliterator">
        <javac includes="com/ibm/icu/dev/tool/ime/translit/*.java"
            excludes="**/CVS/**/*"
            srcdir="${src.dir}"
            destdir="${build.dir}"
            classpathref="build.classpath"
            source="${icu4j.javac.source}"
            target="${icu4j.javac.target}"
            debug="on" deprecation="off"/>
        <copy toDir="${build.dir}/com/ibm/icu/dev/tool/ime/translit">
            <fileset dir="${src.dir}/com/ibm/icu/dev/tool/ime/translit" includes="*.properties"/>
        </copy>
        <jar jarfile="${ime.jar.file}"
            compress="true"
            basedir="${build.dir}"
            includes="com/ibm/icu/util/**/*,com/ibm/icu/text/**/*,com/ibm/icu/math/**/*,com/ibm/icu/impl/**/*,com/ibm/icu/lang/**/*,com/ibm/icu/dev/tool/ime/translit/**/*"
            manifest="${ime.translit.manifest}">
            <metainf dir="${src.dir}/com/ibm/icu/dev/tool/ime/translit" includes="services/*"/>
        </jar>
    </target>
-->

  <!-- jars up richedit but without tests -->
  <target name="richeditJar" depends="richedit" description="build richedit runtime 'richedit.jar' jar file">
    <mkdir dir="${richedit.dir}" />
    <jar jarfile="${richedit.jar.file}" compress="true" includes="com/ibm/richtext/**/*" excludes="com/ibm/richtext/test/**/*" basedir="${build.dir}" manifest="${richedit.manifest}" />
  </target>

  <!--
        Note:  I used to use -linkoffline http://java.sun.com/products/jdk/1.2/docs/api/ C:\jdk1.2.2\docs\api
        This links to core docs on Sun's site - a very nice feature.  But it requires the 1.2 docs to be
        on the build machine at a known location.
    -->

  <!-- the 'public' docs for richedit -->
  <target name="richeditDocs" depends="init" description="build richedit javadoc">
    <mkdir dir="${richedit.doc.dir}" />
    <javadoc packagenames="com.ibm.richtext.demo,com.ibm.richtext.awtui,com.ibm.richtext.swingui,com.ibm.richtext.textpanel,com.ibm.richtext.styledtext,com.ibm.richtext.textlayout.attributes,com.ibm.richtext.print" sourcepath="${src.dir}" destdir="${richedit.doc.dir}" nodeprecatedlist="true" windowtitle="RichEdit Control" doctitle="RichEdit Control" encoding="iso-8859-1" docencoding="iso-8859-1" bottom="&lt;font size=-1>Copyright (c) 1998-2004 IBM Corporation and others.&lt;/font>" />
  </target>

  <!-- richedit alphaworks distribution - jar and docs, but no source -->
  <target name="richeditZip" depends="richeditJar,richeditDocs" description="build richedit zip file">
    <!--Create a zip archive of the richedit jar and readme -->
    <copy file="license.html" todir="${richedit.dir}" />
    <zip zipfile="${richedit.zip.file}" basedir="${richedit.dir}" includes="doc/**/*,richedit.jar,license.html" />
  </target>
  <target name="deleteCore" depends="init">
    <delete failonerror="no">
      <fileset dir="${build.dir}/com/ibm/icu/text" />
      <fileset dir="${build.dir}/com/ibm/icu/impl" />
      <fileset dir="${build.dir}/com/ibm/icu/math" />
      <fileset dir="${build.dir}/com/ibm/icu/lang" />
      <fileset dir="${build.dir}/com/ibm/icu/util" />
      <fileset dir="${build.dir}/com/ibm/icu/charset" />
    </delete>
  </target>
  <target name="check" depends="tests, jar, deleteCore" description="run standard icu4j test suite">
    <java classname="com.ibm.icu.dev.test.TestAll" fork="yes" failonerror="true">
      <!-- enable assertion checks -->
      <jvmarg value="-ea" />
      <jvmarg value="-Xms96m" />
      <jvmarg value="-Xmx128m" />
      <arg value="-n" />
      <classpath>
        <pathelement path="${java.class.path}/" />
        <pathelement location="${jar.file}" />
        <pathelement location="${charsets.jar.file}" />
        <pathelement location="clover.jar" />
        <pathelement path="${build.dir}" />
      </classpath>
    </java>
  </target>

  <target name="exhaustiveCheck" depends="tests, jar, deleteCore" description="run standard icu4j test suite in exhaustive mode">
    <java classname="com.ibm.icu.dev.test.TestAll" fork="yes" failonerror="true">
      <!-- enable assertion checks -->
      <jvmarg value="-ea" />
      <jvmarg value="-Xms96m" />
      <jvmarg value="-Xmx128m" />
      <!-- set the max heap size to 128m -->
      <arg value="-n" />
      <arg value="-e10" />
      <classpath>
        <pathelement path="${java.class.path}/" />
        <pathelement location="${jar.file}" />
        <pathelement location="${charsets.jar.file}" />
        <pathelement location="clover.jar" />
        <pathelement path="${build.dir}" />
      </classpath>
    </java>
  </target>

  <target name="secure" depends="jarTests" description="builds icu4j.jar and icu4jtests.jar" />

  <target name="secureCheck" depends="secure" description="run secure (applet-like) icu4j test suite">
    <java classname="com.ibm.icu.dev.test.TestAll" fork="yes" failonerror="true">
      <!-- jvmarg value="-verbose"/ -->
      <!-- (use for debugging, LOTS of output) <jvmarg value="-Djava.security.debug=access:trace"/ -->
      <!-- <jvmarg value="-Djava.security.debug=access:failure,domain"/> -->
      <jvmarg value="-Djava.security.manager" />
      <jvmarg value="-Djava.security.policy=${src.dir}/com/ibm/icu/dev/test/security.policy" />
      <!--<jvmarg value="-Djava.security.debug=access:failure"/>-->
      <arg value="-w" />
      <arg value="-nothrow" />
      <classpath>
        <pathelement location="clover.jar" />
        <pathelement location="${jar.file}" />
        <pathelement location="${charsets.jar.file}" />
        <pathelement location="${testjar.file}" />
      </classpath>
    </java>
  </target>

  <target name="noData" depends="core, tests" description="builds ICU4J without any data">
    <delete failonerror="no">
      <fileset dir="${build.dir}/${icu4j.data.path}/../" includes="Holiday*.class" />
      <fileset dir="${build.dir}/${icu4j.data.path}/../" includes="BreakIterator*.class" />
      <fileset dir="${build.dir}/${icu4j.data.path}" />
      <fileset dir="${build.dir}/${icu4j.testdata.path}" />
      <fileset dir="${build.dir}/${icu4j.testdata.path}/../" />
    </delete>
  </target>
  <target name="noDataCheck" depends="noData" description="runs the tests when no data is present">
    <java classname="com.ibm.icu.dev.test.TestAll" fork="yes" failonerror="true">
      <arg value="-nothrow" />
      <arg value="-nodata" />
      <classpath>
        <pathelement location="clover.jar" />
        <pathelement location="${build.dir}" />
      </classpath>
    </java>
  </target>
  <target name="_requires14" unless="version.1.4">
    <echo message="One of your targets requires JAVA_HOME to be set to JDK version 1.4" />
  </target>

  <target name="_checktags" depends="anthack1,anthack2,tools" if="version.1.4">
    <echo message="doc params: ${doc.params}" />
    <javadoc sourcepath="${src.dir}" packagenames="com.ibm.icu.*" excludepackagenames="com.ibm.icu.dev.*,com.ibm.icu.impl.*" classpath="${build.dir}" source="1.4">
      <doclet name="com.ibm.icu.dev.tool.docs.CheckTags" path="${build.dir}">
        <!-- <param name="-short"/> -->
      </doclet>
    </javadoc>
  </target>

  <target name="checktags" depends="anthack1,anthack2,_requires14,_checktags" description="check API tags before release" />

  <target name="gatherapi" depends="tools" if="version.1.4" description="run API database generator tool">
    <javadoc classpath="${build.dir}" sourcepath="${src.dir}" packagenames="com.ibm.icu.lang,com.ibm.icu.math,com.ibm.icu.text,com.ibm.icu.util" source="1.4">
      <doclet name="com.ibm.icu.dev.tool.docs.GatherAPIData" path="${build.dir}">
        <param name="-name" value="ICU4J ${icu4j.version.string}" />
        <param name="-output" value="${api.dir}/icu4j${icu4j.version.number}.api" />
        <param name="-internal" />
        <param name="-gzip" />
      </doclet>
    </javadoc>
  </target>

  <target name="gatherapi.with.version" depends="tools" if="version.1.4" description="run API database generator tool">
    <javadoc classpath="${build.dir}" sourcepath="${src.dir}" packagenames="com.ibm.icu.lang,com.ibm.icu.math,com.ibm.icu.text,com.ibm.icu.util" source="1.4">
      <doclet name="com.ibm.icu.dev.tool.docs.GatherAPIData" path="${build.dir}">
        <param name="-name" value="ICU4J ${icu4j.version.string}" />
        <param name="-output" value="${api.dir}/icu4j${icu4j.version.number}.stver.api" />
        <param name="-internal" />
        <param name="-version" />
      </doclet>
    </javadoc>
  </target>

  <target name="apireport" depends="tools, gatherapi" if="version.1.4" description="run API report generator tool">
    <java classname="com.ibm.icu.dev.tool.docs.ReportAPI" classpath="${build.dir}" failonerror="true">
      <arg value="-old:" />
      <arg value="${api.dir}/icu4j${icu4j.previous.version.number}.api.gz" />
      <arg value="-new:" />
      <arg value="${api.dir}/icu4j${icu4j.version.number}.api.gz" />
      <arg value="-html" />
      <arg value="-internal" />
      <arg value="-out:" />
      <arg value="${api.report.out}" />
    </java>
  </target>

  <target name="clean" depends="init" description="remove all build targets">
    <delete dir="${build.dir}" />
    <delete dir="${doc.dir}" />
    <delete file="${jar.file}" />
    <delete file="${charsets.jar.file}" />
    <delete dir="${richedit.dir}" />
    <delete file="${testjar.file}" />
    <delete file="${jarSrc.file}" />

    <delete dir="${eclipse.projects.dir}" />
    <delete dir="${wrapper.build.dir}" />
    <delete file="${zipCoreSrc.file}" />
    <delete file="${zipTestSrc.file}" />
    <delete file="${jdk.wrapper.jar.file}" />

    <delete dir="${tzu.bin.dir}" />
    <delete file="${tzu.bin.zip.file}" />
    <delete file="${tzu.src.zip.file}" />
  </target>

  <target name="moduleJar" depends="init" description="modular build of 'icu4j.jar' jar file">
    <jar jarfile="${jar.file}" compress="true" includes="com/ibm/icu/util/**/*,com/ibm/icu/text/**/*,com/ibm/icu/math/**/*,com/ibm/icu/impl/**/*,com/ibm/icu/lang/**/*" basedir="${build.dir}">
      <manifest>
        <attribute name="Built-By" value="${corp}" />
        <section name="common">
          <attribute name="Specification-Title" value="ICU4J Modularized Build" />
          <attribute name="Specification-Version" value="${icu4j.version.string}" />
          <attribute name="Specification-Vendor" value="ICU" />
          <attribute name="Implementation-Title" value=" ICU for Java Module" />
          <attribute name="Implementation-Version" value="${icu4j.version.string}" />
          <attribute name="Implementation-Vendor" value="${corp}" />
          <attribute name="Implementation-Vendor-Id" value="com.ibm" />
          <attribute name="Copyright-Info" value="${copyright}" />
          <attribute name="Sealed" value="false" />
        </section>
      </manifest>
    </jar>
  </target>

  <patternset id="common.test.sources">
    <include name="com/ibm/icu/dev/test/TestFmwk.java" />
    <include name="com/ibm/icu/dev/test/TestLog.java" />
    <include name="com/ibm/icu/dev/test/TestUtil.java" />
    <include name="com/ibm/icu/dev/test/UTF16Util.java" />
    <include name="com/ibm/icu/dev/test/TestAll.java" />
  </patternset>

  <!-- Module: BreakIterator -->
  <target name="breakIterator" depends="init,copyFullPropsData" description="modular build of break iterator services">
    <javac srcdir="${src.dir}"
           destdir="${build.dir}"
           source="${icu4j.javac.source}"
           target="${icu4j.javac.target}"
           classpathref="build.classpath"
           debug="on"
           deprecation="off">
      <include name="com/ibm/icu/impl/UCharacterName.java"/>
      <include name="com/ibm/icu/impl/data/*Break*.java"/>
      <include name="com/ibm/icu/lang/**/*.java"/>
      <include name="com/ibm/icu/text/*BreakIterator*.java"/>
      <include name="com/ibm/icu/text/UnicodeSetIterator.java"/>
    </javac>
    <copy file="${src.dir}/com/ibm/icu/impl/data/th.brk"
          todir="${build.dir}/com/ibm/icu/impl/data/"/>
  </target>

  <target name="breakIteratorTests" depends="breakIterator" description="test breakIterator modular build target">
    <javac srcdir="${src.dir}"
           destdir="${build.dir}"
           classpathref="build.classpath"
           source="${icu4j.javac.source}"
           target="${icu4j.javac.target}"
           debug="on" deprecation="off">
      <patternset refid="common.test.sources" />
      <include name="com/ibm/icu/dev/test/rbbi/**/*.java"/>
    </javac>
    <copy file="${src.dir}/com/ibm/icu/dev/test/rbbi/rbbitst.txt"
          todir="${build.dir}/com/ibm/icu/dev/test/rbbi"/>
  </target>

  <!-- Module: Calendar -->
  <target name="copyCalendarData" depends="init">
    <!-- Calendar does not require Collation data, BreakIterator data -->
    <unjar src="${src.dir}/com/ibm/icu/impl/data/icudata.jar" dest="${build.dir}">
      <patternset>
        <include name="**/pnames.icu" />
        <include name="**/ucase.icu" />
        <include name="**/unorm.icu" />
        <include name="**/uprops.icu" />
        <include name="**/unames.icu" />
        <include name="**/*.res" />
        <exclude name="**/coll/*.res" />
        <exclude name="**/translit/*.res" />
        <exclude name="**/rbnf/*.res" />
      </patternset>
    </unjar>
    <touch file="${build.dir}/${icu4j.data.path}/uprops.icu" />
  </target>

  <target name="calendar" depends="init,copyCalendarData" description="modular build of calendar services">
    <javac srcdir="${src.dir}"
           destdir="${build.dir}"
           source="${icu4j.javac.source}"
           target="${icu4j.javac.target}"
           classpathref="build.classpath"
           debug="on"
           deprecation="off">
      <include name="com/ibm/icu/impl/data/*Holiday*.java"/>
      <include name="com/ibm/icu/lang/UCharacter.java"/>
      <include name="com/ibm/icu/text/UnicodeSetIterator.java"/>
      <include name="com/ibm/icu/text/NumberFormatServiceShim.java"/>
      <include name="com/ibm/icu/util/*Calendar*.java"/>
    </javac>
  </target>

  <target name="calendarTests" depends="calendar" description="test calendar modular build target">
    <javac srcdir="${src.dir}"
           destdir="${build.dir}"
           classpathref="build.classpath"
           source="${icu4j.javac.source}"
           target="${icu4j.javac.target}"
           debug="on"
           deprecation="off">
      <patternset refid="common.test.sources" />
      <include name="com/ibm/icu/dev/test/calendar/**/*.java" />
    </javac>
  </target>

  <target name="copyCollatorData" depends="init">
    <unjar src="${src.dir}/com/ibm/icu/impl/data/icudata.jar" dest="${build.dir}">
      <patternset>
        <include name="**/*.icu" />
        <include name="**/coll/*.res" />
        <include name="**/*.brk" />
      </patternset>
    </unjar>
    <touch file="${build.dir}/${icu4j.data.path}/uprops.icu" />
  </target>

  <!-- Module: Collator -->
  <target name="collator" depends="init,copyCollatorData" description="modular build of collator services">
    <javac srcdir="${src.dir}"
           destdir="${build.dir}"
           classpathref="build.classpath"
           source="${icu4j.javac.source}"
           target="${icu4j.javac.target}"
           debug="on"
           deprecation="off">
      <include name="com/ibm/icu/impl/data/*Break*.java"/>
      <include name="com/ibm/icu/text/*BreakIterator*.java"/>
      <include name="com/ibm/icu/text/*Collation*.java"/>
      <include name="com/ibm/icu/text/*Collator*.java"/>
      <include name="com/ibm/icu/text/Normalizer.java"/>
      <include name="com/ibm/icu/text/Replaceable.java"/>
      <include name="com/ibm/icu/text/ReplaceableString.java"/>
      <include name="com/ibm/icu/text/UnicodeFilter.java"/>
      <include name="com/ibm/icu/text/UnicodeSetIterator.java"/>
      <include name="com/ibm/icu/text/UTF16.java"/>
    </javac>
  </target>

  <target name="collatorTests" depends="collator,testdata" description="test collator modular build target">
    <javac srcdir="${src.dir}"
           destdir="${build.dir}"
           classpathref="build.classpath"
           source="${icu4j.javac.source}"
           target="${icu4j.javac.target}"
           debug="on"
           deprecation="off">
      <patternset refid="common.test.sources" />
      <include name="com/ibm/icu/dev/test/collator/**/*.java"/>
      <include name="java,com/ibm/icu/dev/test/search/**/*.java"/>
      <exclude name="com/ibm/icu/dev/test/collator/RandomCollator.java"/>
    </javac>
  </target>

  <!-- Module: Compression -->
  <target name="compression" depends="init" description="modular build of compression services">
    <javac srcdir="${src.dir}"
           destdir="${build.dir}"
           source="${icu4j.javac.source}"
           target="${icu4j.javac.target}"
           classpathref="build.classpath"
           debug="on"
           deprecation="off">
      <include name="com/ibm/icu/text/SCSU.java"/>
      <include name="com/ibm/icu/text/UnicodeCompressor.java"/>
      <include name="com/ibm/icu/text/UnicodeDecompressor.java"/>
    </javac>
  </target>

  <target name="compressionTests" depends="compression" description="test compression modular build target">
    <javac srcdir="${src.dir}"
           destdir="${build.dir}"
           classpathref="build.classpath"
           source="${icu4j.javac.source}"
           target="${icu4j.javac.target}"
           debug="on"
           deprecation="off">
      <patternset refid="common.test.sources" />
      <include name="com/ibm/icu/dev/test/compression/**/*.java"/>
    </javac>
  </target>

  <!-- Module: Format -->
  <target name="copyFormatData" depends="init" if="icu4j.module.resources">
    <!-- Format does not require BreakIterator data -->
    <unjar src="${src.dir}/com/ibm/icu/impl/data/icudata.jar" dest="${build.dir}">
      <patternset>
        <include name="**/*.icu" />
        <include name="**/*.res" />
        <exclude name="**/translit/*.res" />
      </patternset>
    </unjar>
    <touch file="${build.dir}/${icu4j.data.path}/uprops.icu" />
  </target>

  <target name="format" depends="init,copyFormatData" description="modular build of formatting services">
    <javac srcdir="${src.dir}"
           destdir="${build.dir}"
           source="${icu4j.javac.source}"
           target="${icu4j.javac.target}"
           classpathref="build.classpath"
           debug="on"
           deprecation="off">
      <include name="com/ibm/icu/lang/UCharacter.java"/>
      <include name="com/ibm/icu/text/*Collator*.java"/>
      <include name="com/ibm/icu/text/*Format*.java"/>
      <include name="com/ibm/icu/text/UnicodeSetIterator.java"/>
      <include name="com/ibm/icu/util/CalendarServiceShim.java"/>    </javac>
  </target>

  <target name="formatTests" depends="format" description="test format modular build target">
    <javac srcdir="${src.dir}"
           destdir="${build.dir}"
           classpathref="build.classpath"
           source="${icu4j.javac.source}"
           target="${icu4j.javac.target}"
           debug="on"
           deprecation="off">
      <patternset refid="common.test.sources" />
      <include name="com/ibm/icu/dev/test/format/**/*.java"/>
      <exclude name="com/ibm/icu/dev/test/format/GlobalizationPreferencesTest.java"/>
    </javac>
    <copy file="${src.dir}/com/ibm/icu/dev/test/format/NumberFormatTestCases.txt"
          todir="${build.dir}/com/ibm/icu/dev/test/format"/>
  </target>

  <!-- Module: Normalizer -->
  <target name="normalizerData" depends="init">
    <unjar src="${src.dir}/com/ibm/icu/impl/data/icudata.jar" dest="${build.dir}">
      <patternset>
        <include name="**/ucase.icu" />
        <include name="**/unorm.icu" />
        <include name="**/uprops.icu" />
        <include name="**/pnames.icu" />
        <include name="**/unames.icu" />
      </patternset>
    </unjar>
    <touch file="${build.dir}/${icu4j.data.path}/uprops.icu" />
  </target>

  <target name="normalizer" depends="init,normalizerData" description="modular build of normalizer services">
    <javac includes="com/ibm/icu/text/Normalizer.java,com/ibm/icu/text/CanonicalIterator.java,com/ibm/icu/text/UTF16.java,com/ibm/icu/text/UCharacterIterator.java,com/ibm/icu/text/UForwardCharacterIterator.java,com/ibm/icu/text/Replaceable.java,com/ibm/icu/text/ReplaceableString.java,com/ibm/icu/text/UnicodeFilter.java,com/ibm/icu/text/UnicodeSetIterator.java,com/ibm/icu/lang/**/*"
            excludes="**/CVS/**/*,com/ibm/icu/lang/UScriptRun.java, com/ibm/icu/impl/ICUListResourceBundle.java, com/ibm/icu/impl/UtilityExtensions.java,com/ibm/icu/impl/TrieBuilder.java,com/ibm/icu/impl/IntTrieBuilder.java,com/ibm/icu/impl/BOCU.java,com/ibm/icu/impl/UnicodeCharacterIterator.java"
           srcdir="${src.dir}"
           destdir="${build.dir}"
           source="${icu4j.javac.source}"
           target="${icu4j.javac.target}"
           classpathref="build.classpath"
           debug="on"
           deprecation="off">
      <include name="com/ibm/icu/lang/**/*"/>
      <include name="com/ibm/icu/text/CanonicalIterator.java"/>
      <include name="com/ibm/icu/text/Normalizer.java"/>
      <include name="com/ibm/icu/text/Replaceable.java"/>
      <include name="com/ibm/icu/text/ReplaceableString.java"/>
      <include name="com/ibm/icu/text/UCharacterIterator.java"/>
      <include name="com/ibm/icu/text/UForwardCharacterIterator.java"/>
      <include name="com/ibm/icu/text/UnicodeFilter.java"/>
      <include name="com/ibm/icu/text/UnicodeSetIterator.java"/>
      <include name="com/ibm/icu/text/UTF16.java"/>
    </javac>
  </target>

  <target name="normalizerTests" depends="normalizer">
    <javac srcdir="${src.dir}"
           destdir="${build.dir}"
           classpathref="build.classpath"
           source="${icu4j.javac.source}"
           target="${icu4j.javac.target}"
           debug="on"
           deprecation="off">
      <patternset refid="common.test.sources" />
      <include name="com/ibm/icu/dev/test/normalizer/**/*.java"/>
      <exclude name="com/ibm/icu/dev/test/normalizer/TestDeprecatedNormalizerAPI.java"/>
    </javac>
  </target>

  <!-- Module: Basic Properties / Full Properties -->
  <target name="copyBasicPropsData" depends="init">
    <unjar src="${src.dir}/com/ibm/icu/impl/data/icudata.jar" dest="${build.dir}">
      <patternset>
        <include name="**/unorm.icu" />
        <include name="**/uprops.icu" />
        <include name="**/ubidi.icu" />
        <include name="**/ucase.icu" />
        <include name="**/pnames.icu" />
        <include name="**/unames.icu" />
      </patternset>
    </unjar>
    <touch file="${build.dir}/${icu4j.data.path}/uprops.icu" />
  </target>

  <target name="copyFullPropsData" depends="init">
    <unjar src="${src.dir}/com/ibm/icu/impl/data/icudata.jar" dest="${build.dir}">
      <patternset>
        <include name="**/unorm.icu" />
        <include name="**/uprops.icu" />
        <include name="**/ubidi.icu" />
        <include name="**/ucase.icu" />
        <include name="**/unames.icu" />
        <include name="**/pnames.icu" />
        <include name="**/*.res" />
        <include name="**/*.brk" />
        <exclude name="**/coll/*.res" />
        <exclude name="**/translit/*.res" />
        <exclude name="**/rbnf/*.res" />
      </patternset>
    </unjar>
    <touch file="${build.dir}/${icu4j.data.path}/uprops.icu" />
  </target>

  <target name="propertiesBasic" depends="init,propertiesClasses,copyBasicPropsData" description="modular build of basic character properties">
  </target>

  <target name="propertiesFull" depends="init,propertiesClasses,copyFullPropsData" description="modular build of full character properties">
  </target>

  <target name="propertiesBasicTests" depends="propertiesBasic,propertiesTests" description="modular build of basic character properties">
  </target>

  <target name="propertiesFullTests" depends="propertiesFull,propertiesTests" description="modular build of full character properties">
  </target>

  <target name="propertiesClasses">
    <javac srcdir="${src.dir}"
           destdir="${build.dir}"
           source="${icu4j.javac.source}"
           target="${icu4j.javac.target}"
           classpathref="build.classpath"
           debug="on"
           deprecation="off">
      <include name="com/ibm/icu/impl/data/*Break*.java"/>
      <include name="com/ibm/icu/lang/**/*"/>
      <include name="com/ibm/icu/text/*BreakDictionary*.java"/>
      <include name="com/ibm/icu/text/*BreakIterator*.java"/>
      <include name="com/ibm/icu/text/UnicodeSetIterator.java"/>
    </javac>
  </target>

  <target name="propertiesTests">
    <javac srcdir="${src.dir}"
           destdir="${build.dir}"
           classpathref="build.classpath"
           source="${icu4j.javac.source}"
           target="${icu4j.javac.target}"
           debug="on"
           deprecation="off">
      <patternset refid="common.test.sources" />
      <include name="com/ibm/icu/dev/test/lang/**/*.java"/>
      <exclude name="com/ibm/icu/dev/test/lang/TestUScriptRun.java"/>
    </javac>
    <copy file="${src.dir}/com/ibm/icu/dev/data/unicode/SpecialCasing.txt"
          todir="${build.dir}/com/ibm/icu/dev/data/unicode/" />
  </target>

  <!-- Module: Transliterator -->
  <target name="copyTranslitData" depends="init">
    <!-- Calendar does not require Collation data, BreakIterator data -->
    <unjar src="${src.dir}/com/ibm/icu/impl/data/icudata.jar" dest="${build.dir}">
      <patternset>
        <include name="**/unorm.icu" />
        <include name="**/uprops.icu" />
        <include name="**/ubidi.icu" />
        <include name="**/ucase.icu" />
        <include name="**/unames.icu" />
        <include name="**/pnames.icu" />
        <include name="**/*.brk" />
        <include name="**/translit/*.res" />
      </patternset>
    </unjar>
    <touch file="${build.dir}/${icu4j.data.path}/uprops.icu" />
  </target>

  <target name="transliterator" depends="init,propertiesClasses,copyTranslitData" description="modular build of unicode transform services">
    <javac srcdir="${src.dir}"
           destdir="${build.dir}"
           source="${icu4j.javac.source}"
           target="${icu4j.javac.target}"
           classpathref="build.classpath"
           debug="on"
           deprecation="off">
      <include name="com/ibm/icu/impl/*Iterator*.java"/>
      <include name="com/ibm/icu/impl/*Property*.java"/>
      <include name="com/ibm/icu/impl/data/ResourceReader.java"/>
      <include name="com/ibm/icu/impl/UtilityExtensions.java"/>
      <include name="com/ibm/icu/text/*Transliterator*.java"/>
      <include name="com/ibm/icu/text/UnicodeSetIterator.java"/>
    </javac>
  </target>

  <target name="transliteratorTests" depends="transliterator" description = "test transliterator modular build target">
    <javac srcdir="${src.dir}"
           destdir="${build.dir}"
           classpathref="build.classpath"
           source="${icu4j.javac.source}"
           target="${icu4j.javac.target}"
           debug="on"
           deprecation="off">
      <patternset refid="common.test.sources" />
      <include name="com/ibm/icu/dev/test/translit/**/*.java"/>
      <exclude name="com/ibm/icu/dev/test/translit/UnicodeFilterLogic*.java"/>
    </javac>
  </target>

  <!-- Module: StringPrep, IDNA -->
  <target name="copyStringPrepData" depends="init">
    <unjar src="${src.dir}/com/ibm/icu/impl/data/icudata.jar" dest="${build.dir}">
      <patternset>
        <include name="**/*.spp" />
        <include name="**/ubidi.icu" />
        <include name="**/ucase.icu" />
        <include name="**/unorm.icu" />
        <include name="**/uprops.icu" />
        <include name="**/pnames.icu" />
        <include name="**/unames.icu" />
      </patternset>
    </unjar>
  </target>

  <target name="stringPrep" depends="init,normalizer,copyStringPrepData" description="modular build of stringprep services">
    <javac srcdir="${src.dir}"
           destdir="${build.dir}"
           source="${icu4j.javac.source}"
           target="${icu4j.javac.target}"
           classpathref="build.classpath"
           debug="on"
           deprecation="off">
      <include name="com/ibm/icu/impl/*StringPrep*.java"/>
      <include name="com/ibm/icu/text/*IDNA*.java"/>
      <include name="com/ibm/icu/text/*StringPrep*.java"/>
    </javac>
  </target>

  <target name="stringPrepTests" depends="stringPrep" description="test stringPrep modular build target">
    <javac srcdir="${src.dir}"
           destdir="${build.dir}"
           classpathref="build.classpath"
           source="${icu4j.javac.source}"
           target="${icu4j.javac.target}"
           debug="on"
           deprecation="off">
      <patternset refid="common.test.sources" />
      <include name="com/ibm/icu/dev/test/stringprep/**/*.java"/>
    </javac>
    <unjar src="${src.dir}/com/ibm/icu/dev/data/testdata.jar" dest="${build.dir}">
      <patternset>
        <include name="**/*.spp"/>
        <include name="**/idna_rules.res"/>
      </patternset>
    </unjar>
  </target>



  <target name="excludeCharset" depends="core" description="excludes charset module from ICU4J">
    <delete failonerror="yes">
      <fileset dir="${build.dir}/com/ibm/icu/impl/data/icudt${icu4j.version.number}b/">
        <include name="*.cnv" />
        <include name="cnvalias.icu" />
      </fileset>
      <fileset dir="${build.dir}/com/ibm/icu/charset" />
      <fileset dir="${build.dir}/META-INF/" />
    </delete>
  </target>
  <target name="excludeCharsetTests" depends="tests" description="excludes charset  test from ICU4J">
    <delete failonerror="yes">
      <fileset dir="${build.dir}/com/ibm/icu/dev/test/charset" />
    </delete>
  </target>

  <target name="moduleCheck" depends="init" description="run tests for module jar">
    <java classname="com.ibm.icu.dev.test.TestAll" fork="yes" failonerror="true">
      <arg value="-nothrow" />
      <arg value="-nodata" />
      <classpath>
        <pathelement location="${build.dir}" />
      </classpath>
    </java>
  </target>

  <!-- build the extra Transliterator data pertaining to Han-Latin transliteration -->
  <target name="extraTransliteratorData" depends="init" description="build han-to-latin transliterator data (normally omitted)">
    <copy todir="${build.dir}/com/ibm/icu/impl/data">
      <fileset dir="${src.dir}/com/ibm/icu/impl/data" includes="Transliterator_Han_Latin_*.txt" />
    </copy>
  </target>

  <!-- Target for builing XLIFF2ICUConverter Jar -->

  <target name="xliff" depends="init" description="build xliff converter tool">
    <javac sourcepath="" srcdir="${src.dir}" destdir="${build.dir}" classpathref="build.classpath" source="${icu4j.javac.source}" target="${icu4j.javac.target}" debug="on" deprecation="off">

      <include name="com/ibm/icu/dev/tool/localeconverter/CalculateCRC32.java" />
      <include name="com/ibm/icu/dev/tool/localeconverter/XLIFF2ICUConverter.java" />
      <include name="com/ibm/icu/dev/tool/UOption.java" />
      <include name="com/ibm/icu/dev/tool/xmlcomparator/XMLValidator.java" />
    </javac>
    <jar jarfile="xliff.jar" compress="true" includes="com/ibm/icu/dev/tool/localeconverter/XLIFF2ICUConverter*.class,com/ibm/icu/dev/tool/localeconverter/CalculateCRC32.class,com/ibm/icu/dev/tool/UOption.class" basedir="${build.dir}">
      <manifest>
        <attribute name="Built-By" value="${corp}" />
        <section name="common">
          <attribute name="Specification-Title" value="XLIFF To ICU Converter" />
          <attribute name="Specification-Version" value="${icu4j.version.string}" />
          <attribute name="Specification-Vendor" value="ICU" />
          <attribute name="Implementation-Title" value="XLIFF2ICUConverter" />
          <attribute name="Implementation-Version" value="${icu4j.version.string}" />
          <attribute name="Implementation-Vendor" value="${corp}" />
          <attribute name="Implementation-Vendor-Id" value="com.ibm" />
          <attribute name="Copyright-Info" value="${copyright}" />
          <attribute name="Sealed" value="false" />
        </section>
      </manifest>
    </jar>

    <jar jarfile="xliff-src.jar" compress="true" includes="com/ibm/icu/dev/tool/localeconverter/XLIFF2ICUConverter.java,com/ibm/icu/dev/tool/localeconverter/CalculateCRC32.java,com/ibm/icu/dev/tool/UOption.java" basedir="${src.dir}">
      <manifest>
        <attribute name="Built-By" value="${corp}" />
        <section name="common">
          <attribute name="Specification-Title" value="XLIFF To ICU Converter Sources" />
          <attribute name="Specification-Version" value="${icu4j.version.string}" />
          <attribute name="Specification-Vendor" value="ICU" />
          <attribute name="Implementation-Title" value="XLIFF2ICUConverter Sources" />
          <attribute name="Implementation-Version" value="${icu4j.version.string}" />
          <attribute name="Implementation-Vendor" value="${corp}" />
          <attribute name="Implementation-Vendor-Id" value="com.ibm" />
          <attribute name="Copyright-Info" value="${copyright}" />
          <attribute name="Sealed" value="false" />
        </section>
      </manifest>
    </jar>
  </target>

  <!-- Target for builing Utilities Jar for CLDR -->

  <target name="cldrUtil" depends="init" description="build Utilities for CLDR">
    <javac srcdir="${src.dir}" destdir="${build.dir}" source="${icu4j.javac.source}" target="${icu4j.javac.target}" classpathref="build.classpath" debug="on" deprecation="off">

      <include name="com/ibm/icu/dev/test/TestFmwk.java" />
      <include name="com/ibm/icu/dev/test/util/*.java" />
      <include name="com/ibm/icu/dev/tool/UOption.java" />
    </javac>
    <jar jarfile="utilities.jar" compress="true" includes="com/ibm/icu/dev/test/util/*.class,com/ibm/icu/dev/test/TestFmwk*.class,com/ibm/icu/dev/test/AbstractTest*.class,com/ibm/icu/dev/test/TestLog*.class,com/ibm/icu/dev/tool/UOption*.class" basedir="${build.dir}">
      <manifest>
        <attribute name="Built-By" value="${corp}" />
        <section name="common">
          <attribute name="Specification-Title" value="Utilities for CLDR Tools" />
          <attribute name="Specification-Version" value="${icu4j.version.string}" />
          <attribute name="Specification-Vendor" value="ICU" />
          <attribute name="Implementation-Title" value="CLDR Utilities" />
          <attribute name="Implementation-Version" value="${icu4j.version.string}" />
          <attribute name="Implementation-Vendor" value="${corp}" />
          <attribute name="Implementation-Vendor-Id" value="com.ibm" />
          <attribute name="Copyright-Info" value="${copyright}" />
          <attribute name="Sealed" value="false" />
        </section>
      </manifest>
    </jar>
  </target>

  <!--Target for building jars -->
  <target name="distJars" depends="jarSrc, jar, jarDocs" />

  <!-- Target for checking the loading of bundles from the default package.
          This is hack to get around Eclipse's build problems. 
     -->
  <target name="defaultPackage" depends="tests" description="Tests for loading resources in the default package">
    <copy file="${src.dir}/com/ibm/icu/dev/test/util/TestDefaultPackageLoading.jpp" tofile="${src.dir}/TestDefaultPackageLoading.java" />
    <copy file="${src.dir}/com/ibm/icu/dev/test/util/TestData_en.jpp" tofile="${src.dir}/TestData_en.java" />
    <javac srcdir="${src.dir}" destdir="${build.dir}" classpathref="build.classpath" source="${icu4j.javac.source}" target="${icu4j.javac.target}" debug="on" deprecation="off">

      <exclude name="**/CVS/**/*" />
      <include name="TestData_en.java" />
      <include name="TestDefaultPackageLoading.java" />
    </javac>
    <!-- copy the file to default package and test if we can load it -->
    <copy file="${build.dir}/com/ibm/icu/dev/data/testdata/te.res" todir="${build.dir}/" />
    <!-- copy the file up one level and test if java style base name loading works -->
    <copy file="${build.dir}/com/ibm/icu/dev/data/testdata/te.res" tofile="${build.dir}/com/ibm/icu/dev/data/TestData_bge.res" />
  </target>

  <target name="defaultPackageCheck" depends="tests, defaultPackage" description="Run Tests for loading resources in the default package">
    <!--run the tests -->
    <java classname="TestDefaultPackageLoading" fork="yes" failonerror="true">
      <!-- enable assertion checks -->
      <jvmarg value="-ea" />
      <jvmarg value="-Xms96m" />
      <jvmarg value="-Xmx128m" />
      <arg value="-n" />
      <classpath>
        <pathelement path="${java.class.path}/" />
        <pathelement location="clover.jar" />
        <pathelement path="${build.dir}" />
      </classpath>
    </java>
  </target>

  <!-- convert @deprecated @draft tags to @provisional -->
  <target name="swatDeprecated" depends="init, tools" if="version.1.4">
    <java classname="com.ibm.icu.dev.tool.docs.SwatDeprecated" classpath="${build.dir}" failonerror="true">
      <arg value="-src" />
      <arg value="${src.dir}" />
      <arg value="-dst" />
      <arg value="${src.dir}" />
      <arg value="-overwrite" />
      <arg value="-verbose" />
    </java>
  </target>

  <!-- convert @provisional tags to @deprecated -->
  <target name="restoreDeprecated" depends="init, tools" if="version.1.4">
    <java classname="com.ibm.icu.dev.tool.docs.SwatDeprecated" classpath="${build.dir}" failonerror="true">
      <arg value="-prov" />
      <arg value="-src" />
      <arg value="${src.dir}" />
      <arg value="-dst" />
      <arg value="${src.dir}" />
      <arg value="-overwrite" />
      <arg value="-verbose" />
    </java>
  </target>

  <!-- for building eclipse distribution -->
  <target name="eclipseProjects" depends="eclipseCoreProject,eclipseTestProject,eclipseWrapperProject" description="create all eclipse icu projects" />

  <target name="undoEclipseMangle" depends="buildmangle" description="preprocess files back to default)">
    <java classname="com.ibm.icu.dev.tool.docs.CodeMangler" classpath="${build.dir}" logError="true">
      <arg value="@eclipseCoreArgs.txt" />
      <arg value="@eclipseTestArgs.txt" />
    </java>
  </target>

  <target name="eclipseCoreMangle" depends="buildmangle">
    <java classname="com.ibm.icu.dev.tool.docs.CodeMangler" classpath="${build.dir}" logError="true">
      <arg value="-dFOUNDATION" />
      <arg value="-t" />
      <arg value="@eclipseCoreArgs.txt" />
    </java>
  </target>

  <target name="eclipseCore" depends="init,coreData,icudata,eclipseCoreMangle">
    <javac includes="com/ibm/icu/util/**/*.java,com/ibm/icu/text/**/*.java,com/ibm/icu/math/**/*.java,com/ibm/icu/impl/**/*.java,com/ibm/icu/lang/*.java" excludes="**/CVS/**/*,com/ibm/icu/charset/**/*.*" compiler="javac1.3" srcdir="${src.dir}" destdir="${build.dir}" classpathref="build.classpath" bootclasspath="ee.foundation.jar" source="1.3" target="1.1" debug="on" deprecation="off" encoding="ascii" />
    <antcall target="indices" />
    <jar jarfile="${jar.file}" compress="true">
      <fileset dir="${basedir}" includes="license.html, unicode-license.txt" />
      <fileset dir="${build.dir}" includes="com/ibm/icu/util/**/*,com/ibm/icu/text/**/*,com/ibm/icu/math/**/*,com/ibm/icu/impl/**/*,com/ibm/icu/lang/**/*" excludes="META-INF/services/**/*,com/ibm/icu/charset/**/*,${icu4j.data.path}/*.cnv, ${icu4j.data.path}/cnvalias.icu" />
      <manifest>
        <attribute name="Built-By" value="${corp}" />
        <section name="common">
          <attribute name="Specification-Title" value="ICU4J Eclipse Build" />
          <attribute name="Specification-Version" value="${icu4j.version.string}" />
          <attribute name="Specification-Vendor" value="ICU" />
          <attribute name="Implementation-Title" value=" ICU for Java" />
          <attribute name="Implementation-Version" value="${icu4j.version.string}" />
          <attribute name="Implementation-Vendor" value="${corp}" />
          <attribute name="Implementation-Vendor-Id" value="com.ibm" />
          <attribute name="Copyright-Info" value="${copyright}" />
          <attribute name="Sealed" value="false" />
        </section>
      </manifest>
    </jar>
  </target>

  <target name="eclipseCoreProject" depends="eclipseCore" description="gather eclipse icu core project files">
    <delete failonerror="no">
      <fileset dir="${eclipse.projects.dir}/com.ibm.icu" />
      <fileset dir="${eclipse.projects.dir}/com.ibm.icu-feature" />
    </delete>
    <!-- collect source files -->
    <copy toDir="${eclipse.projects.dir}/com.ibm.icu/src/com/ibm/icu">
      <fileset dir="src/com/ibm/icu" includes="impl/**/*,lang/**/*,math/**/*,text/**/*,util/**/*" excludes="**/CVS/**/*,**/*.jar,**/Transliterator_Han_Latin*.txt" />
    </copy>
    <!-- collect icu data files -->
    <copy todir="${eclipse.projects.dir}/com.ibm.icu/src/com/ibm/icu/impl/data">
      <fileset dir="${build.dir}/com/ibm/icu/impl/data" includes="**/*.brk,**/*.icu,**/*.res,**/*.spp,**/*.txt" excludes="**/Transliterator_Han_Latin*.txt" />
    </copy>
    <!-- collect eclipse project files -->
    <copy todir="${eclipse.projects.dir}">
      <fileset dir="${eclipse.dir}" includes="com.ibm.icu/**/*,com.ibm.icu-feature/**/*" excludes="**/CVS/**/*" />
    </copy>
    <!-- copy ICU license file -->
    <copy file="license.html" todir="${eclipse.projects.dir}/com.ibm.icu/about_files" />
    <!-- ucd terms -->
    <copy file="src/com/ibm/icu/dev/data/unicode/ucdterms.txt" todir="${eclipse.projects.dir}/com.ibm.icu/about_files" />
    <!-- copy ICU about file -->
    <copy file="${eclipse.dir}/misc/about_icu.html" tofile="${eclipse.projects.dir}/com.ibm.icu/about.html" />
    <!-- common eclipse about file -->
    <copy file="${eclipse.dir}/misc/about.html" todir="${eclipse.projects.dir}/com.ibm.icu-feature/sourceTemplatePlugin" />
  </target>


  <!-- ensure eclipse wrapper code builds with foundation1.0/java1.3 -->
  <target name="eclipseWrapper" depends="init">
    <javac includes="com/ibm/icu/util/**/*.java,com/ibm/icu/text/**/*.java" compiler="javac1.3" srcdir="${src.dir}/com/ibm/icu/dev/eclipse/com.ibm.icu.base/src" destdir="${wrapper.build.dir}" classpathref="build.classpath" bootclasspath="ee.foundation.jar" source="1.3" target="1.1" debug="on" deprecation="off" encoding="ascii" />
    <jar jarfile="${jdk.wrapper.jar.file}" compress="true" basedir="${wrapper.build.dir}" />
  </target>

  <target name="eclipseWrapperTest" depends="init">
    <!-- TODO: build the wrapper test code this ant target -->
  </target>

  <target name="eclipseWrapperProject" depends="eclipseWrapper,eclipseWrapperTest" description="gather eclipse icu core project files">
    <delete failonerror="no">
      <fileset dir="${eclipse.projects.dir}/com.ibm.icu.base" />
      <fileset dir="${eclipse.projects.dir}/com.ibm.icu.base-feature" />
      <fileset dir="${eclipse.projects.dir}/com.ibm.icu.base.tests" />
    </delete>
    <!-- collect eclipse project files -->
    <copy todir="${eclipse.projects.dir}">
      <fileset dir="${eclipse.dir}" includes="com.ibm.icu.base/**/*,com.ibm.icu.base-feature/**/*,com.ibm.icu.base.tests/**/*" excludes="**/CVS/**/*" />
    </copy>
    <!-- copy ICU license file -->
    <copy file="license.html" todir="${eclipse.projects.dir}/com.ibm.icu.base/about_files" />
    <!-- copy ICU about file -->
    <copy file="${eclipse.dir}/misc/about_icu.html" tofile="${eclipse.projects.dir}/com.ibm.icu.base/about.html" />
    <!-- common eclipse about file -->
    <copy file="${eclipse.dir}/misc/about.html" todir="${eclipse.projects.dir}/com.ibm.icu.base-feature/sourceTemplatePlugin" />
  </target>

  <target name="eclipseTestMangle" depends="buildmangle">
    <java classname="com.ibm.icu.dev.tool.docs.CodeMangler" classpath="${build.dir}" logError="true">
      <arg value="-dFOUNDATION" />
      <arg value="-t" />
      <arg value="@eclipseTestArgs.txt" />
    </java>
  </target>

  <target name="eclipseTests" depends="eclipseCore,testdata,eclipseTestMangle" description="build tests trimmed for eclipse API">
    <!-- TODO: we should actually use ee.foundation.jar for eclipse env -->
    <javac includes="com/ibm/icu/dev/test/**/*.java"
      excludes="**/CVS/**/*,com/ibm/icu/dev/test/charset/**/*.*,com/ibm/icu/dev/test/perf/**/*.*,com/ibm/icu/dev/test/translit/UnicodeMapTest.java"
      srcdir="${src.dir}" destdir="${build.dir}" source="1.3" target="1.3" classpathref="build.classpath" debug="on" deprecation="off" />
    <antcall target="indices" />
    <jar jarfile="${testjar.file}" compress="true">
      <fileset dir="${build.dir}" includes="com/ibm/icu/dev/test/**/*" />
      <fileset dir="${build.dir}" includes="com/ibm/icu/dev/data/**/*" />
      <manifest>
        <attribute name="Built-By" value="${corp}" />
        <section name="common">
          <attribute name="Specification-Title" value="Tests for ICU4J " />
          <attribute name="Specification-Version" value="${icu4j.version.string}" />
          <attribute name="Specification-Vendor" value="ICU" />
          <attribute name="Implementation-Title" value="Tests for ICU4J" />
          <attribute name="Implementation-Version" value="${icu4j.version.string}" />
          <attribute name="Implementation-Vendor" value="${corp}" />
          <attribute name="Implementation-Vendor-Id" value="com.ibm" />
          <attribute name="Copyright-Info" value="${copyright}" />
          <attribute name="Sealed" value="false" />
        </section>
      </manifest>
    </jar>
  </target>

  <target name="eclipseTestProject" depends="eclipseTests,zipTestSrc" description="gather eclipse icu test project files">
    <delete failonerror="no">
      <fileset dir="${eclipse.projects.dir}/com.ibm.icu.tests" />
    </delete>
    <!-- copy eclipse test source and project files -->
    <copy toDir="${eclipse.projects.dir}/com.ibm.icu.tests">
      <fileset dir="${eclipse.dir}/com.ibm.icu.tests" includes="**/*" excludes="**/CVS/**/" />
    </copy>
    <!-- copy icu test jar -->
    <copy toDir="${eclipse.projects.dir}/com.ibm.icu.tests" file="${testjar.file}" />
    <!-- copy icu test source zip -->
    <copy toDir="${eclipse.projects.dir}/com.ibm.icu.tests" file="${zipTestSrc.file}" />
  </target>

  <target name="zipCoreSrc" depends="init" description="build zip of core sources for debugging">
    <!-- for eclipse -->
    <zip destfile="${zipCoreSrc.file}" compress="true" basedir="${src.dir}" includes="../license.html,../Copyright_Assignment.rtf,com/ibm/icu/impl/**/*,com/ibm/icu/lang/**/*,com/ibm/icu/math/**/*,com/ibm/icu/text/**/*,com/ibm/icu/util/**/*" />
  </target>

  <target name="zipTestSrc" depends="init" description="build zip of test sources for debugging">
    <!-- for eclipse -->
    <zip destfile="${zipTestSrc.file}" compress="true" basedir="${src.dir}" includes="com/ibm/icu/dev/test/**/*" excludes="com/ibm/icu/dev/test/cldr/**/*, com/ibm/icu/dev/test/perf/**/*" />
  </target>

  <target name="gatherICU4JWrapperAPI" depends="tools" if="version.1.4">
    <javadoc classpath="${build.dir}" sourcepath="${src.dir}" packagenames="com.ibm.icu.text,com.ibm.icu.util" source="1.4">
      <doclet name="com.ibm.icu.dev.tool.docs.GatherAPIData" path="${build.dir}">
        <param name="-name" value="ICU4J 3.6" />
        <param name="-base" value="com.ibm.icu" />
        <param name="-output" value="${api.dir}/icu4j36w_i.api" />
        <param name="-filter" value="BreakIterator|CollationKey|Collator|DateFormat|DecimalFormat|MessageFormat|NumberFormat|SimpleDateFormat|StringTokenizer|Calendar|TimeZone|ULocale|DateFormatSymbols|DecimalFormatSymbols|Calendar|TimeZone" />
        <!-- param name="-gzip"/ -->
      </doclet>
    </javadoc>
  </target>

  <target name="gatherEclipseWrapperAPI" depends="tools" if="version.1.4">
    <javadoc classpath="${build.dir}" sourcepath="${src.dir}/com/ibm/icu/dev/eclipse/com.ibm.icu.base/src" packagenames="com.ibm.icu.text,com.ibm.icu.util" source="1.4">
      <doclet name="com.ibm.icu.dev.tool.docs.GatherAPIData" path="${build.dir}">
        <param name="-name" value="ICU4J 3.6 Wrapper" />
        <param name="-base" value="com.ibm.icu" />
        <param name="-output" value="${api.dir}/icu4j36w_e.api" />
        <!-- param name="-gzip"/ -->
      </doclet>
    </javadoc>
  </target>

  <target name="reportWrapperAPI" depends="tools" if="version.1.4">
    <java classname="com.ibm.icu.dev.tool.docs.ReportAPI" classpath="${build.dir}" failonerror="true">
      <arg value="-old:" />
      <arg value="${api.dir}/icu4j${icu4j.previous.version.number}w_i.api" />
      <arg value="-new:" />
      <arg value="${api.dir}/icu4j${icu4j.version.number}w_e.api" />
      <arg value="-html" />
      <arg value="-out:" />
      <arg value="${api.dir}/icu4j_compare_${icu4j.previous.version.number}_wrapper_java.html" />
    </java>
  </target>

  <target name="runCheck" depends="init,tests">
    <java classname="com.ibm.icu.dev.test.TestAll" fork="yes" failonerror="true">
      <jvmarg value="-ea" />
      <jvmarg value="-Xms96m" />
      <jvmarg value="-Xmx128m" />
      <arg value="-n" />
      <classpath>
        <pathelement path="${java.class.path}/" />
        <pathelement location="${jar.file}" />
        <pathelement location="${charsets.jar.file}" />
        <pathelement location="clover.jar" />
        <pathelement path="${build.dir}" />
      </classpath>
    </java>
  </target>

  <target name="eclipseRunCheck" depends="init,eclipseTests">
    <java classname="com.ibm.icu.dev.test.TestAll" fork="yes" failonerror="true">
      <jvmarg value="-Xms96m" />
      <jvmarg value="-Xmx128m" />
      <arg value="-n" />
      <classpath>
        <pathelement path="${java.class.path}/" />
        <pathelement location="icu4j.jar" />
        <pathelement location="clover.jar" />
        <pathelement path="${build.dir}" />
      </classpath>
    </java>
  </target>

  <target name="eclipseCompat" depends="init, eclipseCore" />
  <target name="eclipseCompatTests" depends="init, eclipseTestMangle, eclipseTests" />
  <target name="eclipseCompatCheck" depends="init, eclipseCompat, eclipseCompatTests, deleteCore, eclipseRunCheck" />


  <target name="core13" depends="init,coreData,icudata" description="build core classes and data">
    <javac includes="com/ibm/icu/util/**/*.java,com/ibm/icu/text/**/*.java,com/ibm/icu/math/**/*.java,com/ibm/icu/impl/**/*.java,com/ibm/icu/lang/*.java,com/ibm/icu/charset/**/*.java" excludes="**/CVS/**/*,com/ibm/icu/charset/**/*.*" srcdir="${src.dir}" destdir="${build.dir}" classpathref="build.classpath" source="${icu4j.javac.source}" target="${icu4j.javac.target}" debug="on" deprecation="off" encoding="ascii" />
  </target>

  <target name="jar13" depends="core13,indices" description="build full 'icu4j.jar' jar file for jdk1.3">
    <jar jarfile="${jar.file}" compress="true">
      <fileset dir="${basedir}" includes="license.html, unicode-license.txt" />
      <fileset dir="${build.dir}" includes="com/ibm/icu/util/**/*,com/ibm/icu/text/**/*,com/ibm/icu/math/**/*,com/ibm/icu/impl/**/*,com/ibm/icu/lang/**/*" excludes="META-INF/services/**/*,com/ibm/icu/charset/**/*,${icu4j.data.path}/*.cnv, ${icu4j.data.path}/cnvalias.icu" />

      <manifest>
        <attribute name="Built-By" value="${corp}" />
        <section name="common">
          <attribute name="Specification-Title" value="ICU4J JDK 1.3 Compatible Build" />
          <attribute name="Specification-Version" value="${icu4j.version.string}" />
          <attribute name="Specification-Vendor" value="ICU" />
          <attribute name="Implementation-Title" value=" ICU for Java Charsets" />
          <attribute name="Implementation-Version" value="${icu4j.version.string}" />
          <attribute name="Implementation-Vendor" value="${corp}" />
          <attribute name="Implementation-Vendor-Id" value="com.ibm" />
          <attribute name="Copyright-Info" value="${copyright}" />
          <attribute name="Sealed" value="false" />
        </section>
      </manifest>
    </jar>
  </target>

  <target name="jdk13Compat" depends="init, eclipseCoreMangle, core13" description="builds ICU4J core with JDK 1.3" />
  <target name="jdk13CompatTests" depends="init, jdk13Compat, eclipseTestMangle, eclipseTests" description="builds ICU4J tests with JDK 1.3" />
  <target name="jdk13CompatCheck" depends="init, jdk13CompatTests, jar13, deleteCore, eclipseRunCheck" description="runs the tests with JDK 1.3" />


  <target name="icutzu" depends="init" description="build ICU4J TimeZone Update Utility Classes">
    <javac includes="${tzu.src.path}/**/*.java" excludes="**/.svn/**/*" srcdir="${src.dir}" destdir="${build.dir}" classpathref="build.classpath" source="${icu4j.javac.source}" target="${icu4j.javac.target}" debug="on" deprecation="off" encoding="ascii" />
  </target>

  <target name="icutzudata" depends="init, jar13">
    <mkdir dir="${tzu.bin.dir}" />
    <copy todir="${tzu.bin.dir}">
      <fileset dir="${src.dir}/${tzu.src.path}">
        <include name="*.cmd" />
        <include name="*.bat" />
        <include name="*.sh" />
        <include name="*.gif" />
        <include name="*.txt" />
        <include name="*.html" />
        <include name="*.css" />
      </fileset>
      <fileset file="${basedir}/${jar.file}" />
      <fileset file="${build.dir}/${icu4j.data.path}/zoneinfo.res" />
    </copy>
  </target>

  <target name="icutzujar" depends="init, icutzu, icutzudata" description="build ICU4J TimeZone Update Utility classes">
    <jar jarfile="${tzu.bin.dir}/${tzu.jar.file}" compress="true">
      <fileset dir="${basedir}" includes="license.html" />
      <fileset dir="${build.dir}" includes="${tzu.src.path}/**/*.class" />
      <manifest>
        <attribute name="Main-Class" value="com.ibm.icu.dev.tool.tzu.ICUTZUMain" />
        <attribute name="Built-By" value="${corp}" />
        <section name="common">
          <attribute name="Specification-Title" value="ICU4J TimeZone Update Utility" />
          <attribute name="Specification-Version" value="${icu4j.version.string}" />
          <attribute name="Specification-Vendor" value="ICU" />
          <attribute name="Implementation-Title" value="ICUTZU" />
          <attribute name="Implementation-Version" value="${icu4j.version.string}" />
          <attribute name="Implementation-Vendor" value="${corp}" />
          <attribute name="Implementation-Vendor-Id" value="com.ibm" />
          <attribute name="Copyright-Info" value="${copyright}" />
          <attribute name="Sealed" value="false" />
        </section>
      </manifest>
    </jar>
    <echo message="Please see ${tzu.bin.dir} directory for the files." />
  </target>

  <target name="icutzucheck" depends="icutzujar" description="check ICU4J TimeZone Update Utility">
    <echo>Testing ICUTZU ...</echo>

    <mkdir dir="${tzu.temp.dir}" />
    <copy todir="${tzu.temp.dir}">
      <fileset file="${tzu.bin.dir}/DirectorySearch.txt" />
      <fileset file="${tzu.bin.dir}/zoneinfo.res" />
    </copy>

    <get dest="${tzu.bin.dir}/zoneinfo.res" src="http://icu-project.org/tzdata/2006a/be/zoneinfo.res" />
    <copy todir="${tzu.test.dir}" file="${tzu.bin.dir}/icu4j.jar" />
    <echo file="${tzu.bin.dir}/DirectorySearch.txt">+${tzu.test.dir}</echo>

    <echo>Running ICUTZU in Discovery Mode ...</echo>
    <exec dir="${tzu.bin.dir}" executable="${java.home}/bin/java">
      <arg value="-cp" />
      <arg path="${tzu.bin.dir}/${jar.file};${tzu.bin.dir}/${tzu.jar.file}" />
      <arg value="-Dnogui=true" />
      <arg value="-Ddiscoveronly=true" />
      <arg value="-Dsilentpatch=true" />
      <arg value="-Doffline=true" />
      <arg value="com.ibm.icu.dev.tool.tzu.ICUTZUMain" />
      <arg file="${tzu.bin.dir}" />
      <arg value="DirectorySearch.txt" />
      <arg value="ICUList.txt" />
      <arg value="zoneinfo.res" />
      <arg value="Temp" />
      <arg value="icu.gif" />
    </exec>

    <echo>Running ICUTZU in Patch Mode ...</echo>
    <exec dir="${tzu.bin.dir}" executable="${java.home}/bin/java">
      <arg value="-cp" />
      <arg path="${tzu.bin.dir}/${jar.file};${tzu.bin.dir}/${tzu.jar.file}" />
      <arg value="-Dnogui=true" />
      <arg value="-Ddiscoveronly=false" />
      <arg value="-Dsilentpatch=true" />
      <arg value="-Doffline=true" />
      <arg value="com.ibm.icu.dev.tool.tzu.ICUTZUMain" />
      <arg file="${tzu.bin.dir}" />
      <arg value="DirectorySearch.txt" />
      <arg value="ICUList.txt" />
      <arg value="zoneinfo.res" />
      <arg value="Temp" />
      <arg value="icu.gif" />
    </exec>

    <echo>Comparing results ...</echo>
    <unjar src="${tzu.test.dir}/${jar.file}" dest="${tzu.test.dir}">
      <patternset>
        <include name="**/zoneinfo.res" />
      </patternset>
    </unjar>
    <copy todir="${tzu.test.dir}" file="${tzu.test.dir}/${icu4j.data.path}/zoneinfo.res" />
    <condition property="tzu.zoneinfo.match">
      <filesmatch file1="${tzu.bin.dir}/zoneinfo.res" file2="${tzu.test.dir}/zoneinfo.res" />
    </condition>

    <fail unless="tzu.zoneinfo.match">ICUTZU test failed. ${tzu.bin.dir}/zoneinfo.res does not match ${tzu.test.dir}/zoneinfo.res</fail>

    <echo>Cleaning up ...</echo>
    <delete>
      <fileset file="${tzu.bin.dir}/DirectorySearch.txt" />
      <fileset file="${tzu.bin.dir}/zoneinfo.res" />
    </delete>
    <copy todir="${tzu.bin.dir}">
      <fileset file="${tzu.temp.dir}/DirectorySearch.txt" />
      <fileset file="${tzu.temp.dir}/zoneinfo.res" />
    </copy>
    <delete includeEmptyDirs="true">
      <fileset dir="${tzu.temp.dir}" />
      <fileset dir="${tzu.test.dir}" />
    </delete>

    <echo>ICUTZU test successful.</echo>
  </target>

  <target name="icutzusrc-dist" depends="init" description="ICUTZU source distributable zip">
    <zip zipfile="${basedir}/${tzu.src.zip.file}" basedir="${basedir}" includes="${src.dir}/${tzu.src.path}/**/*" />
  </target>

  <target name="icutzubin-dist" depends="icutzujar" description="ICUTZU binaries distributable zip">
    <zip zipfile="${basedir}/${tzu.bin.zip.file}" basedir="${tzu.bin.dir}" includes="*" />
  </target>
</project>
