<!--
/*
*******************************************************************************
* 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="zipTestSrc.file" value="icu4jtsrc.zip"/>
        <property name="jdk.wrapper.jar.file" value="icu4jwrapper.jar"/>
        <property name="fragment.jar.file" value="icu4jfragment.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 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}" /> -->
    </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 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/**/*"
            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="tests" depends="core,testdata" description="build tests">
        <javac includes="com/ibm/icu/dev/test/calendar/**/*.java"
            excludes="**/CVS/**/*"
            srcdir="${src.dir}"
            destdir="${build.dir}"
            classpathref="build.classpath"
            source="${icu4j.javac.source}"
            target="${icu4j.javac.target}"
            debug="on" deprecation="off"/>
        <javac includes="com/ibm/icu/dev/test/collator/**/*.java"
            excludes="**/CVS/**/*"
            srcdir="${src.dir}"
            destdir="${build.dir}"
            classpathref="build.classpath"
            source="${icu4j.javac.source}"
            target="${icu4j.javac.target}"
            debug="on" deprecation="off"/>
        <javac includes="com/ibm/icu/dev/test/format/**/*.java"
            excludes="**/CVS/**/*"
            srcdir="${src.dir}"
            destdir="${build.dir}"
            classpathref="build.classpath"
            source="${icu4j.javac.source}"
            target="${icu4j.javac.target}"
            debug="on" deprecation="off"/>
        <javac includes="com/ibm/icu/dev/test/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"/>
        <javac includes="com/ibm/icu/dev/test/lang/**/*.java, com/ibm/icu/dev/test/normalizer/**/*.java"
            excludes="**/CVS/**/*"
            srcdir="${src.dir}"
            destdir="${build.dir}"
            classpathref="build.classpath"
            source="${icu4j.javac.source}"
            target="${icu4j.javac.target}"
            debug="on" deprecation="off"/>
        <javac includes="com/ibm/icu/dev/test/serializable/**/*.java"
            excludes="**/CVS/**/*"
            srcdir="${src.dir}"
            destdir="${build.dir}"
            classpathref="build.classpath"
            source="${icu4j.javac.source}"
            target="${icu4j.javac.target}"
            debug="on" deprecation="off"/>            
        <javac includes="com/ibm/icu/dev/test/**/*.java"
            excludes="**/CVS/**/*"
            srcdir="${src.dir}"
            destdir="${build.dir}"
            classpathref="build.classpath"
            source="${icu4j.javac.source}"
            target="${icu4j.javac.target}"
            debug="on" deprecation="off"/>
    </target>

    <target name="demos" depends="core,testdata" description="build demos">
        <javac includes="com/ibm/icu/dev/demo/**/*.java"
            excludes="**/CVS/**/*"
            srcdir="${src.dir}"
            destdir="${build.dir}"
            classpathref="build.classpath"
            source="${icu4j.javac.source}"
            target="${icu4j.javac.target}"
            debug="on" deprecation="off"/>
    </target>

    <target name="buildmangle" depends="init,anthack1">
        <javac includes="com/ibm/icu/dev/tool/docs/CodeMangler.java"
            srcdir="${src.dir}"
            destdir="${build.dir}"
            classpathref="build.classpath"
            source="${icu4j.javac.source}"
            target="${icu4j.javac.target}"/>
    </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 includes="com/ibm/icu/dev/localeconverter/docs/*.java,com/ibm/icu/dev/tool/docs/*.java"
            excludes="**/CVS/**/*"
            srcdir="${src.dir}"
            destdir="${build.dir}"
            classpathref="build.classpath"
            source="${icu4j.javac.source}" 
            target="${icu4j.javac.target}"
            debug="on" deprecation="off"/>
    </target>

    <target name="tools" depends="core,one4tools" description="build tools">
        <javac includes="com/ibm/icu/dev/tool/**/*.java"
            excludes="com/ibm/icu/dev/tool/cldr/*,com/ibm/icu/dev/tool/localeconverter/*,com/ibm/icu/dev/tool/docs/*,**/CVS/**/*"
            srcdir="${src.dir}"
            destdir="${build.dir}"
            classpathref="build.classpath"
            source="${icu4j.javac.source}"
            target="${icu4j.javac.target}"
            debug="on" deprecation="off"/>
    </target>

    <target name="build_indexgenerator">
        <javac includes="com/ibm/icu/dev/tool/index/IndexGenerator.java"
            srcdir="${src.dir}"
            destdir="${build.dir}"
            classpathref="build.classpath"
            source="${icu4j.javac.source}"
            target="${icu4j.javac.target}"
            debug="on" deprecation="off"/>
    </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 includes="com/ibm/icu/dev/data/*.java, com/ibm/icu/dev/data/resources/*.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/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 includes="com/ibm/richtext/**/*.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/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.spec.version.string}"/>
                  <attribute name="Specification-Vendor" value="ICU"/>
                  <attribute name="Implementation-Title" value=" ICU for Java"/>
                  <attribute name="Implementation-Version" value="${icu4j.impl.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">
        <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.spec.version.string}"/>
                  <attribute name="Specification-Vendor" value="ICU"/>
                  <attribute name="Implementation-Title" value=" ICU for Java Charsets"/>
                  <attribute name="Implementation-Version" value="${icu4j.impl.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.spec.version.string}"/>
                  <attribute name="Specification-Vendor" value="ICU"/>
                  <attribute name="Implementation-Title" value=" ICU for Java Tests"/>
                  <attribute name="Implementation-Version" value="${icu4j.impl.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}/**,${wrapper.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.spec.version.string}"/>
                  <attribute name="Specification-Vendor" value="ICU"/>
                  <attribute name="Implementation-Title" value=" ICU for Java"/>
                  <attribute name="Implementation-Version" value="${icu4j.impl.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.spec.version.string}"/>
                  <attribute name="Specification-Vendor" value="ICU"/>
                  <attribute name="Implementation-Title" value=" ICU for Java"/>
                  <attribute name="Implementation-Version" value="${icu4j.impl.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="testJvmArgs" depends="initJvmInfo" unless="test.jvmargs"
        description="Load platform specific JVM arguments for icu4j test suite">
        <property file="jvmcfg_${jvm_vendor}_${jvm_version}_${jvm_os}_${jvm_arch}.properties" prefix="jvmprops"/>
        <property file="jvmcfg_${jvm_vendor}_${jvm_version_major}_${jvm_os}_${jvm_arch}.properties" prefix="jvmprops"/>
        <property file="jvmcfg_${jvm_vendor}_${jvm_version}_${jvm_os}.properties" prefix="jvmprops"/>
        <property file="jvmcfg_${jvm_vendor}_${jvm_version_major}_${jvm_os}.properties" prefix="jvmprops"/>
        <property file="jvmcfg_${jvm_vendor}_${jvm_version}.properties" prefix="jvmprops"/>
        <property file="jvmcfg_${jvm_vendor}_${jvm_version_major}.properties" prefix="jvmprops"/>
        <property file="jvmcfg_${jvm_vendor}.properties" prefix="jvmprops"/>
        <property file="jvmcfg.properties" prefix="jvmprops"/>
        <condition property="test.jvmargs" value="${jvmprops.test.jvmargs}">
            <isset property="jvmprops.test.jvmargs"/>
        </condition>
        <!-- when test.jvmargs is not found, set empty string to platform.jvmargs" -->
        <property name="test.jvmargs" value=""/>
        <echo message="Platform specific JVM arguments for tests: ${test.jvmargs}"/>
    </target>

    <target name="initJvmInfo">
        <!-- JVM vendor -->
        <condition property="jvm_vendor" value="sun">
            <contains string="${java.vendor}" substring="sun" casesensitive="false"/>
        </condition>
        <condition property="jvm_vendor" value="ibm">
            <contains string="${java.vendor}" substring="ibm" casesensitive="false"/>
        </condition>

        <!-- JVM version -->
        <property name="jvm_version" value="${java.version}"/>

        <!-- JVM major version -->
        <property name="jvm_version_major" value="${ant.java.version}"/>

        <!-- JVM operatiny system -->
        <condition property="jvm_os" value="Windows">
            <os family="Windows"/>
        </condition>
        <property name="jvm_os" value="${os.name}"/>

        <!-- JVM architecture -->
        <property name="jvm_arch" value="${os.arch}"/>
    </target>

    <target name="check" depends="tests, jar, deleteCore, testJvmArgs" 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 line="${test.jvmargs}"/>
            <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, testJvmArgs" 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 line="${test.jvmargs}"/>
            <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, testJvmArgs" 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"/>-->
            <jvmarg line="${test.jvmargs}"/>
            <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.spec.version.string}"/>
                <param name="-output" value="${api.dir}/icu4j${icu4j.version.number}.api"/>
                <param name="-internal"/>
                <param name="-gzip"/>
            </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="${zipTestSrc.file}"/>
        <delete file="${jdk.wrapper.jar.file}"/>
        <delete file="${fragment.jar.file}"/>
    </target>

    <!--
        Targets to copy the required *.icu files
     -->
    <target name="normalizerData" depends="init" >
        <unjar src="${src.dir}/com/ibm/icu/impl/data/icudata.jar" dest="${build.dir}">
            <patternset>
                <!-- arrgh, includes attributes of patternset does not work here in ant 1.5.3 -->
                <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="copyFullPropsData" depends="init" >
        <unjar src="${src.dir}/com/ibm/icu/impl/data/icudata.jar" dest="${build.dir}">
            <patternset>
                <!-- arrgh, includes attributes of patternset does not work here in ant 1.5.3 -->
                <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="copyBasicPropsData" depends="init" >
        <unjar src="${src.dir}/com/ibm/icu/impl/data/icudata.jar" dest="${build.dir}">
            <patternset>
                <!-- arrgh, includes attributes of patternset does not work here in ant 1.5.3 -->
                <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="copyCollatorData" depends="init">
        <unjar src="${src.dir}/com/ibm/icu/impl/data/icudata.jar" dest="${build.dir}">
            <patternset>
                <!-- arrgh, includes attributes of patternset does not work here in ant 1.5.3 -->
                <include name="**/*.icu"/>
                <include name="**/coll/*.res"/>
                <include name="**/*.brk"/>
            </patternset>
        </unjar>
        <touch file="${build.dir}/${icu4j.data.path}/uprops.icu"/>
    </target>

    <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>
                <!-- arrgh, includes attributes of patternset does not work here in ant 1.5.3 -->
                <include name="**/unorm.icu"/>
                <include name="**/uprops.icu"/>
                <include name="**/pnames.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="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>
                <!-- arrgh, includes attributes of patternset does not work here in ant 1.5.3 -->
                <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="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>
                <!-- arrgh, includes attributes of patternset does not work here in ant 1.5.3 -->
                <include name="**/*.icu"/>
                <include name="**/*.res"/>
                <exclude name="**/translit/*.res"/>
            </patternset>
        </unjar>
        <touch file="${build.dir}/${icu4j.data.path}/uprops.icu"/>
    </target>
    
    <target name="copyAllICUData" depends="init">
        <unjar src="${src.dir}/com/ibm/icu/impl/data/icudata.jar" dest="${build.dir}"/>
    </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.spec.version.string}"/>
                  <attribute name="Specification-Vendor" value="ICU"/>
                  <attribute name="Implementation-Title" value=" ICU for Java Module"/>
                  <attribute name="Implementation-Version" value="${icu4j.impl.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>

    <!--
         Targets to build only Normalization API and Normalization tests
     -->

    <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"/>
    </target>

    <target name="normalizerTests" depends="normalizer">
        <javac includes="com/ibm/icu/dev/test/TestFmwk.java,com/ibm/icu/dev/test/TestLog.java,com/ibm/icu/dev/test/TestUtil.java,com/ibm/icu/dev/test/UTF16Util.java,com/ibm/icu/dev/test/TestAll.java,com/ibm/icu/dev/test/normalizer/**/*.java"
            excludes="**/CVS/**/*,com/ibm/icu/dev/test/normalizer/TestDeprecatedNormalizerAPI.java"
            srcdir="${src.dir}"
            destdir="${build.dir}"
            source="${icu4j.javac.source}"
            target="${icu4j.javac.target}"
            classpathref="build.classpath"
            debug="on" deprecation="off"/>
    </target>

    <!--
            Targets to build only Collation API and Collation tests
     -->

    <target name="collator" depends="init,copyCollatorData" description="modular build of collator services">
         <javac includes="com/ibm/icu/text/*Collator*.java,com/ibm/icu/text/*Collation*.java,com/ibm/icu/text/*BreakIterator*.java,com/ibm/icu/text/Normalizer.java,com/ibm/icu/text/UTF16.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/impl/data/*Break*.java"
            excludes="**/CVS/**/*, com/ibm/icu/lang/UScriptRun.java,com/ibm/icu/impl/UtilityExtensions.java,com/ibm/icu/impl/UnicodeCharacterIterator.java"
            srcdir="${src.dir}"
            destdir="${build.dir}"
            classpathref="build.classpath"
            source="${icu4j.javac.source}"
            target="${icu4j.javac.target}"
            debug="on" deprecation="off"/>
    </target>
   <target name="collatorTests" depends="collator, testdata" description="test collator modular build target">
        <javac includes="com/ibm/icu/dev/test/TestFmwk.java,com/ibm/icu/dev/test/TestLog.java,com/ibm/icu/dev/test/TestUtil.java,com/ibm/icu/dev/test/UTF16Util.java,com/ibm/icu/dev/test/TestAll.java,com/ibm/icu/dev/test/collator/**/*.java,com/ibm/icu/dev/test/search/**/*.java"
            excludes="**/CVS/**/*, com/ibm/icu/dev/test/collator/RandomCollator.java"
            srcdir="${src.dir}"
            destdir="${build.dir}"
            classpathref="build.classpath"
            source="${icu4j.javac.source}"
            target="${icu4j.javac.target}"
            debug="on" deprecation="off"/>
    </target>

    <!--
            Targets to build only Character properties API and tests
     -->

    <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="propertiesClasses">
        <javac includes="com/ibm/icu/lang/**/*, com/ibm/icu/text/*BreakIterator*.java,com/ibm/icu/text/*BreakDictionary*.java,com/ibm/icu/impl/data/*Break*.java,com/ibm/icu/text/UnicodeSetIterator.java,"
            excludes="**/CVS/**/*,com/ibm/icu/impl/UtilityExtensions.java"
            srcdir="${src.dir}"
            destdir="${build.dir}"
            source="${icu4j.javac.source}"
            target="${icu4j.javac.target}"
            classpathref="build.classpath"
            debug="on" deprecation="off"/>
    </target>
    <target name="propertiesBasicTests" depends="propertiesBasic" description="test propertiesBasic modular build target">
        <copy file="${src.dir}/com/ibm/icu/dev/data/unicode/SpecialCasing.txt"
            todir="${build.dir}/com/ibm/icu/dev/data/unicode/"/>
        <javac includes="com/ibm/icu/dev/test/TestFmwk.java,com/ibm/icu/dev/test/TestLog.java,com/ibm/icu/dev/test/TestUtil.java,com/ibm/icu/dev/test/UTF16Util.java,com/ibm/icu/dev/test/TestAll.java,com/ibm/icu/dev/test/lang/**/*.java"
            excludes="**/CVS/**/*,com/ibm/icu/dev/test/lang/TestUScriptRun.java"
            srcdir="${src.dir}"
            destdir="${build.dir}"
            classpathref="build.classpath"
            source="${icu4j.javac.source}"
            target="${icu4j.javac.target}"
            debug="on" deprecation="off"/>
    </target>

    <target name="propertiesFullTests" depends="propertiesFull" description="test propertiesFull modular build target">
        <copy file="${src.dir}/com/ibm/icu/dev/data/unicode/SpecialCasing.txt"
            todir="${build.dir}/com/ibm/icu/dev/data/unicode/"/>
        <javac includes="com/ibm/icu/dev/test/TestFmwk.java,com/ibm/icu/dev/test/TestLog.java,com/ibm/icu/dev/test/TestUtil.java,com/ibm/icu/dev/test/UTF16Util.java,com/ibm/icu/dev/test/TestAll.java,com/ibm/icu/dev/test/lang/**/*.java"
            excludes="**/CVS/**/*,com/ibm/icu/dev/test/lang/TestUScriptRun.java"
            srcdir="${src.dir}"
            destdir="${build.dir}"
            classpathref="build.classpath"
            source="${icu4j.javac.source}"
            target="${icu4j.javac.target}"
            debug="on" deprecation="off"/>
    </target>
    
    <!--
            Targets to build only Compression API API and tests
     -->
    <target name="compression" depends="init" description="modular build of compression services">
        <javac includes="com/ibm/icu/text/SCSU.java, com/ibm/icu/text/UnicodeCompressor.java, com/ibm/icu/text/UnicodeDecompressor.java"
            excludes="**/CVS/**/*"
            srcdir="${src.dir}"
            destdir="${build.dir}"
            source="${icu4j.javac.source}"
            target="${icu4j.javac.target}"
            classpathref="build.classpath"
            debug="on" deprecation="off"/>
    </target>

    <target name="compressionTests" depends="compression" description="test compression modular build target">
        <javac includes="com/ibm/icu/dev/test/TestFmwk.java,com/ibm/icu/dev/test/TestLog.java,com/ibm/icu/dev/test/TestUtil.java,com/ibm/icu/dev/test/UTF16Util.java,com/ibm/icu/dev/test/TestAll.java,com/ibm/icu/dev/test/compression/**/*.java"
            excludes="**/CVS/**/*"
            srcdir="${src.dir}"
            destdir="${build.dir}"
            classpathref="build.classpath"
            source="${icu4j.javac.source}"
            target="${icu4j.javac.target}"
            debug="on" deprecation="off"/>
    </target>

    <!--
            Targets to build only Calendar API and Calendar tests
     -->
    <target name="calendar" depends="init,copyCalendarData" description="modular build of calendar services">
        <javac includes="com/ibm/icu/util/*Calendar*.java,com/ibm/icu/lang/UCharacter.java,com/ibm/icu/text/UnicodeSetIterator.java,com/ibm/icu/text/NumberFormat*Shim.java,com/ibm/icu/impl/data/*Calendar*.java,com/ibm/icu/impl/data/*Holiday*.java"
            excludes="**/CVS/**/*, com/ibm/icu/lang/UScriptRun.java,com/ibm/icu/impl/UtilityExtensions.java,com/ibm/icu/impl/BOCU.java,com/ibm/icu/impl/TrieBuilder.java,com/ibm/icu/impl/IntTrieBuilder.java"
            srcdir="${src.dir}"
            destdir="${build.dir}"
            source="${icu4j.javac.source}"
            target="${icu4j.javac.target}"
            classpathref="build.classpath"
            debug="on" deprecation="off"/>
    </target>

    <target name="calendarTests" depends="calendar" description="test calendar modular build target">
        <javac includes="com/ibm/icu/dev/test/TestFmwk.java,com/ibm/icu/dev/test/TestLog.java,com/ibm/icu/dev/test/TestUtil.java,com/ibm/icu/dev/test/UTF16Util.java,com/ibm/icu/dev/test/TestAll.java,com/ibm/icu/dev/test/calendar/**/*"
            excludes="**/CVS/**/*"
            srcdir="${src.dir}"
            destdir="${build.dir}"
            classpathref="build.classpath"
            source="${icu4j.javac.source}"
            target="${icu4j.javac.target}"
            debug="on" deprecation="off"/>
    </target>

    <!--
            Targets to build only Transliterator API and  tests
     -->

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

    <target name="transliteratorTests" depends="transliterator" description = "test transliterator modular build target">
        <javac includes="com/ibm/icu/dev/test/TestFmwk.java,com/ibm/icu/dev/test/TestLog.java,com/ibm/icu/dev/test/TestUtil.java,com/ibm/icu/dev/test/UTF16Util.java,com/ibm/icu/dev/test/TestAll.java,com/ibm/icu/dev/test/translit/**/*"
            excludes="**/CVS/**/*,com/ibm/icu/dev/test/translit/UnicodeFilterLogic*.java"
            srcdir="${src.dir}"
            destdir="${build.dir}"
            classpathref="build.classpath"
            source="${icu4j.javac.source}"
            target="${icu4j.javac.target}"
            debug="on" deprecation="off"/>
    </target>

    <!--
            Targets to build only Format API
     -->

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

    <target name="formatTests" depends="format" description="test format modular build target">
        <javac includes="com/ibm/icu/dev/test/TestFmwk.java,com/ibm/icu/dev/test/TestLog.java,com/ibm/icu/dev/test/TestUtil.java,com/ibm/icu/dev/test/UTF16Util.java,com/ibm/icu/dev/test/TestAll.java,com/ibm/icu/dev/test/format/**/*"
            excludes="**/CVS/**/*,com/ibm/icu/dev/test/format/GlobalizationPreferencesTest.java"
            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/test/format/NumberFormatTestCases.txt"
            todir="${build.dir}/com/ibm/icu/dev/test/format"/>
    </target>

    <!--
            Targets to build only BreakIterator API
     -->

    <target name="breakIterator" depends="init,copyFullPropsData" description="modular build of break iterator services">
        <javac includes="com/ibm/icu/text/*BreakIterator*.java,com/ibm/icu/impl/data/*Break*.java,com/ibm/icu/lang/**/*,com/ibm/icu/impl/UCharacterName.java,com/ibm/icu/text/UnicodeSetIterator.java"
            excludes="**/CVS/**/*, com/ibm/icu/lang/UScriptRun.java,com/ibm/icu/impl/UtilityExtensions.java,com/ibm/icu/impl/BOCU.java,com/ibm/icu/impl/TrieBuilder.java,com/ibm/icu/impl/IntTrieBuilder.java"
            srcdir="${src.dir}"
            destdir="${build.dir}"
            source="${icu4j.javac.source}"
            target="${icu4j.javac.target}"
            classpathref="build.classpath"
            debug="on" deprecation="off"/>
            <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 includes="com/ibm/icu/dev/test/TestFmwk.java,com/ibm/icu/dev/test/TestLog.java,com/ibm/icu/dev/test/TestUtil.java,com/ibm/icu/dev/test/UTF16Util.java,com/ibm/icu/dev/test/TestAll.java,com/ibm/icu/dev/test/rbbi/**/*"
            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/test/rbbi/rbbitst.txt"
            todir="${build.dir}/com/ibm/icu/dev/test/rbbi"/>
    </target>
    
    <!--
            Targets to build only StringPrep and IDNA API
     -->    
    <target name="copyStringPrepData" depends="init">
        <unjar src="${src.dir}/com/ibm/icu/impl/data/icudata.jar" dest="${build.dir}">
            <patternset>
                <!-- arrgh, includes attributes of patternset does not work here in ant 1.5.3 -->
                <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 includes="com/ibm/icu/text/*StringPrep*.java,com/ibm/icu/text/*IDNA*.java,com/ibm/icu/impl/*StringPrep*.java"
            excludes="**/CVS/**/*, com/ibm/icu/lang/UScriptRun.java,com/ibm/icu/impl/UtilityExtensions.java,com/ibm/icu/impl/BOCU.java,com/ibm/icu/impl/TrieBuilder.java,com/ibm/icu/impl/IntTrieBuilder.java, com/ibm/icu/impl/Calendar*.java"
            srcdir="${src.dir}"
            destdir="${build.dir}"
            source="${icu4j.javac.source}"
            target="${icu4j.javac.target}"
            classpathref="build.classpath"
            debug="on" deprecation="off"/>
    </target>

    <target name="stringPrepTests" depends="stringPrep" description="test stringPrep modular build target">
        <javac includes="com/ibm/icu/dev/test/TestFmwk.java,com/ibm/icu/dev/test/TestLog.java,com/ibm/icu/dev/test/TestUtil.java,com/ibm/icu/dev/test/UTF16Util.java,com/ibm/icu/dev/test/TestAll.java,com/ibm/icu/dev/test/stringprep/**/*"
            excludes="**/CVS/**/*"
            srcdir="${src.dir}"
            destdir="${build.dir}"
            classpathref="build.classpath"
            source="${icu4j.javac.source}"
            target="${icu4j.javac.target}"
            debug="on" deprecation="off"/>
        <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 includes="com/ibm/icu/dev/tool/localeconverter/XLIFF2ICUConverter.java,com/ibm/icu/dev/tool/localeconverter/CalculateCRC32.java,com/ibm/icu/dev/tool/UOption.java,com/ibm/icu/dev/tool/xmlcomparator/XMLValidator.java"
            srcdir="${src.dir}"
            destdir="${build.dir}"
            classpathref="build.classpath"
            source="${icu4j.javac.source}"
            target="${icu4j.javac.target}"
            debug="on" deprecation="off"/>
        <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.spec.version.string}"/>
                  <attribute name="Specification-Vendor" value="ICU"/>
                  <attribute name="Implementation-Title" value="XLIFF2ICUConverter"/>
                  <attribute name="Implementation-Version" value="${icu4j.impl.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.spec.version.string}"/>
                      <attribute name="Specification-Vendor" value="ICU"/>
                      <attribute name="Implementation-Title" value="XLIFF2ICUConverter Sources"/>
                      <attribute name="Implementation-Version" value="${icu4j.impl.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 includes="com/ibm/icu/dev/test/util/*.java,com/ibm/icu/dev/test/TestFmwk.java,com/ibm/icu/dev/tool/UOption.java"
            srcdir="${src.dir}"
            destdir="${build.dir}"
            source="${icu4j.javac.source}"
            target="${icu4j.javac.target}"
            classpathref="build.classpath"
            debug="on" deprecation="off"/>
        <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.spec.version.string}"/>
                  <attribute name="Specification-Vendor" value="ICU"/>
                  <attribute name="Implementation-Title" value="CLDR Utilities"/>
                  <attribute name="Implementation-Version" value="${icu4j.impl.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 includes="TestData_en.java, TestDefaultPackageLoading.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 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, testJvmArgs" 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 line="${test.jvmargs}"/>
            <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="initIcuEclipseVersion" depends="init">
        <tstamp>
            <format property="build.date" pattern="yyyyMMdd"/>
        </tstamp>
        <property name="icu4j.eclipse.build.version.string" value="${icu4j.impl.version.string}.v${build.date}"/>
    </target>

    <target name="eclipseProjects" 
        depends="eclipseCoreProject,eclipseTestProject,eclipseWrapperProject,eclipseFragmentProject"
        description="create all eclipse icu projects"/>

    <target name="eclipsePDEBuild"
        depends="initEclipsePDEBuildEnv, eclipseProjects"
        description="build icu4j plugin files">

        <!-- copy OSGi jar file to baseLocation -->
        <mkdir dir="${eclipse.projects.dir}/baseLocation/features"/>
        <mkdir dir="${eclipse.projects.dir}/baseLocation/plugins"/>
        <copy toDir="${eclipse.projects.dir}/baseLocation/plugins" file="${eclipse.osgi.jar}"/>

        <!-- copy PDE build script files and run the build -->
        <pathconvert property="eclipse.projects.dir.full" dirsep="/">
            <path location="${basedir}/${eclipse.projects.dir}"/>
        </pathconvert>
        <antcall target="runEclipsePDEBuild">
            <param name="icu.plugin.id" value="com.ibm.icu"/>
        </antcall>
        <antcall target="runEclipsePDEBuild">
            <param name="icu.plugin.id" value="com.ibm.icu.base"/>
        </antcall>
        <antcall target="runEclipsePDEBuild">
            <param name="icu.plugin.id" value="com.ibm.icu.jse4"/>
        </antcall>
    </target>

    <target name="initEclipsePDEBuildEnv"
            depends="init,initEclipseHome,initEclipseLauncher,initEclipseOSGiJar,initEclipsePDE"
            description="Initialize eclipse PDE build environment">
        <echo message="[PDE build configuration properties]"/>
        <echo message="    Eclipse home:    ${eclipse.home}"/>
        <echo message="    Launcher jar:    ${eclipse.launcher}"/>
        <echo message="    OSGi bundle jar: ${eclipse.osgi.jar}"/>
        <echo message="    Base OS:         ${eclipse.baseos}"/>
        <echo message="    Base WS:         ${eclipse.basews}"/>
        <echo message="    Base ARCH:       ${eclipse.basearch}"/>

    </target>

    <target name="initEclipseHome"
            if="env.ECLIPSE_HOME"
            unless="eclipse.home"
            description="Initialize the property eclipse.home from the environment variable ECLIPSE_HOME">
        <property name="eclipse.home" value="${env.ECLIPSE_HOME}"/>
    </target>

    <target name="initEclipseLauncher"
            if="eclipse.home"
            description="Locate org.eclipse.equinox.launcher jar file for eclipse 3.3 and beyond">
        <first id="equinox.launcher">
            <fileset dir="${eclipse.home}/plugins">
                <include name="org.eclipse.equinox.launcher_*.jar"/>
            </fileset>
        </first>
        <pathconvert property="eclipse.launcher" dirsep="/" refid="equinox.launcher"/>
    </target>

    <target name="initEclipseOSGiJar"
            if="eclipse.home"
            description="Locate org.eclipse.osgi plugin jar file">
        <first id="osgi.bundle">
            <fileset dir="${eclipse.home}/plugins">
                <include name="org.eclipse.osgi_*.jar"/>
            </fileset>
        </first>
        <pathconvert property="eclipse.osgi.jar" dirsep="/" refid="osgi.bundle"/>
    </target>

    <target name="initEclipsePDE"
            depends="locateEclipsePDE"
            if="eclipse.pde.dir"
            description="Set up PDE runtime arguments">
        <property file="${eclipse.pde.dir}/templates/headless-build/build.properties" prefix="pde.template"/>
        <property name="eclipse.baseos" value="${pde.template.baseos}"/>
        <property name="eclipse.basews" value="${pde.template.basews}"/>
        <property name="eclipse.basearch" value="${pde.template.basearch}"/>
    </target>

    <target name="locateEclipsePDE"
            if="eclipse.home"
            description="Locate org.eclipse.pde.build plug-in and set the property 'eclipse.pde.dir'">
        <first id="eclipse.pde.plugin.dir">
            <dirset dir="${eclipse.home}/plugins">
                <include name="org.eclipse.pde.build_*"/>
            </dirset>
        </first>
        <pathconvert property="eclipse.pde.dir" dirsep="/" refid="eclipse.pde.plugin.dir"/>
    </target>

    <target name="runEclipsePDEBuild">
        <mkdir dir="${eclipse.projects.dir}/buildScripts/${icu.plugin.id}"/>
        <copy toDir="${eclipse.projects.dir}/buildScripts/${icu.plugin.id}">
            <fileset dir="${eclipse.dir}/pdebuild" includes="**/*"/>
            <filterset>
                <filter token="PLUGIN_ID" value="${icu.plugin.id}"/>
                <filter token="BUILD_DIR" value="${eclipse.projects.dir.full}"/>
                <filter token="BUILD_TYPE" value="ICU4J"/>
                <filter token="BUILD_ID" value="${icu.plugin.id}"/>
                <filter token="BASE_LOCATION" value="${eclipse.projects.dir.full}/baseLocation"/>
                <filter token="BASE_OS" value="${eclipse.baseos}"/>
                <filter token="BASE_WS" value="${eclipse.basews}"/>
                <filter token="BASE_ARCH" value="${eclipse.basearch}"/>
            </filterset>
        </copy>

        <java jar="${eclipse.launcher}" fork="true" failonerror="true">
            <arg value="-application"/>
            <arg value="org.eclipse.ant.core.antRunner"/>
            <arg value="-buildfile"/>
            <arg value="${eclipse.pde.dir}/scripts/build.xml"/>
            <arg value="-Dbuilder=${eclipse.projects.dir.full}/buildScripts/${icu.plugin.id}"/>
        </java>

    </target>

    <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"/>
            <arg value="@eclipseFragmentArgs.txt"/>
        </java>
    </target>

    <target name="eclipseCoreMangle" depends="buildmangle">
        <antcall target="undoEclipseMangle"/>
        <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"
            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.spec.version.string}"/>
                  <attribute name="Specification-Vendor" value="ICU"/>
                  <attribute name="Implementation-Title" value=" ICU for Java"/>
                  <attribute name="Implementation-Version" value="${icu4j.impl.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,initIcuEclipseVersion" description="gather eclipse icu core project files">
        <delete failonerror="no">
            <fileset dir="${eclipse.projects.dir}/plugins/com.ibm.icu"/>
            <fileset dir="${eclipse.projects.dir}/features/com.ibm.icu"/>
        </delete>

        <!-- PLUGIN FILES -->
        <!-- icu source -->
        <copy toDir="${eclipse.projects.dir}/plugins/com.ibm.icu/src/com/ibm/icu">
            <fileset dir="src/com/ibm/icu"
                includes="impl/**/*,lang/**/*,math/**/*,text/**/*,util/**/*"
                excludes="**/.svn/**/*,**/*.jar,**/Transliterator_Han_Latin*.txt"/>
        </copy>
        <!-- icu data -->
        <copy todir="${eclipse.projects.dir}/plugins/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>
        <!-- plugin project -->
        <copy todir="${eclipse.projects.dir}/plugins/com.ibm.icu">
            <fileset dir="${eclipse.dir}/plugins/com.ibm.icu" excludes="**/.svn/**/*"/>
            <filterset>
                <filter token="BUILD_VERSION" value="${icu4j.eclipse.build.version.string}"/>
                <filter token="COPYRIGHT" value="${copyright.eclipse}"/>
                <filter token="IMPL_VERSION" value="${icu4j.impl.version.string}"/>
                <filter token="VERSION_NUMBER" value="${icu4j.version.number}"/>
            </filterset>
        </copy>
        <!-- license -->
        <copy file="license.html"
            todir="${eclipse.projects.dir}/plugins/com.ibm.icu/about_files"/>
        <!-- ucd terms -->
        <copy file="src/com/ibm/icu/dev/data/unicode/ucdterms.txt"
            todir="${eclipse.projects.dir}/plugins/com.ibm.icu/about_files"/>
        <!-- about -->
        <copy file="${eclipse.dir}/misc/about_icu.html"
            tofile="${eclipse.projects.dir}/plugins/com.ibm.icu/about.html"/>

        <!-- FEATURE FILES -->
        <copy todir="${eclipse.projects.dir}/features/com.ibm.icu">
            <fileset dir="${eclipse.dir}/features/com.ibm.icu" excludes="**/.svn/**/*"/>
            <filterset>
                <filter token="BUILD_VERSION" value="${icu4j.eclipse.build.version.string}"/>
                <filter token="COPYRIGHT" value="${copyright.eclipse}"/>
                <filter token="VERSION_NUMBER" value="${icu4j.version.number}"/>
            </filterset>
        </copy>
        <!-- common eclipse about file -->
        <copy file="${eclipse.dir}/misc/about.html"
            todir="${eclipse.projects.dir}/features/com.ibm.icu/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="${eclipse.dir}/plugins/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,initIcuEclipseVersion" description="gather eclipse icu core project files">
        <delete failonerror="no">
            <fileset dir="${eclipse.projects.dir}/plugins/com.ibm.icu.base"/>
            <fileset dir="${eclipse.projects.dir}/plugins/com.ibm.icu.base.tests"/>
            <fileset dir="${eclipse.projects.dir}/features/com.ibm.icu.base"/>
        </delete>
        <!-- PLUGIN FILES -->
        <!-- source and project files -->
        <copy todir="${eclipse.projects.dir}/plugins">
            <fileset dir="${eclipse.dir}/plugins"
                includes="com.ibm.icu.base/**/*,com.ibm.icu.base.tests/**/*"
                excludes="**/.svn/**/*"/>
            <filterset>
                <filter token="BUILD_VERSION" value="${icu4j.eclipse.build.version.string}"/>
                <filter token="COPYRIGHT" value="${copyright.eclipse}"/>
                <filter token="IMPL_VERSION" value="${icu4j.impl.version.string}"/>
                <filter token="VERSION_NUMBER" value="${icu4j.version.number}"/>
            </filterset>
        </copy>
        <!-- license -->
        <copy file="license.html"
            todir="${eclipse.projects.dir}/plugins/com.ibm.icu.base/about_files"/>
        <!-- about -->
        <copy file="${eclipse.dir}/misc/about_icu.html"
            tofile="${eclipse.projects.dir}/plugins/com.ibm.icu.base/about.html"/>

        <!-- FEATURE FILES -->
        <!-- project files -->
        <copy todir="${eclipse.projects.dir}/features/com.ibm.icu.base">
            <fileset dir="${eclipse.dir}/features/com.ibm.icu.base"
                excludes="**/.svn/**/*"/>
            <filterset>
                <filter token="BUILD_VERSION" value="${icu4j.eclipse.build.version.string}"/>
                <filter token="COPYRIGHT" value="${copyright.eclipse}"/>
                <filter token="VERSION_NUMBER" value="${icu4j.version.number}"/>
            </filterset>
        </copy>
        <!-- common eclipse about file -->
        <copy file="${eclipse.dir}/misc/about.html"
            todir="${eclipse.projects.dir}/features/com.ibm.icu.base/sourceTemplatePlugin"/>
    </target>

    <target name="eclipseTestMangle" depends="buildmangle">
        <antcall target="eclipseCoreMangle"/>
        <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/**/*.*"
            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.spec.version.string}"/>
                  <attribute name="Specification-Vendor" value="ICU"/>
                  <attribute name="Implementation-Title" value="Tests for ICU4J"/>
                  <attribute name="Implementation-Version" value="${icu4j.impl.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}/plugins/com.ibm.icu.tests"/>
        </delete>
        <!-- copy eclipse test source and project files -->
        <copy toDir="${eclipse.projects.dir}/plugins/com.ibm.icu.tests">
            <fileset dir="${eclipse.dir}/plugins/com.ibm.icu.tests"
                excludes="**/.svn/**/"/>
            <filterset>
                <filter token="COPYRIGHT" value="${copyright.eclipse}"/>
            </filterset>
        </copy>
        <!-- copy icu test jar -->
        <copy toDir="${eclipse.projects.dir}/plugins/com.ibm.icu.tests" file="${testjar.file}"/>
        <!-- copy icu test source zip -->
        <copy toDir="${eclipse.projects.dir}/plugins/com.ibm.icu.tests" file="${zipTestSrc.file}"/>
    </target>

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

    <target name="eclipseFragment" depends="eclipseCore,eclipseFragmentMangle">
        <property name="timepattern" value="yyyyMMdd'T'HHmmss','SSS"/>
        <tstamp>
            <format property="time.before.compile" pattern="${timepattern}"/>
        </tstamp>
        <!--
            Note: *.class files compiled by the target "eclipseCore" are in ${build.dir} directory.
            The target "eclipseFragmentMangle" updates timestamp of .java files, so only modified files
            should be compiled.
        -->
        <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"
            compiler="javac1.4"
            srcdir="${src.dir}"
            destdir="${build.dir}"
            classpathref="build.classpath"
            source="1.3"
            target="1.2"
            debug="on"
            deprecation="off"
            encoding="ascii"
            listfiles="true"/>
        <tstamp>
            <format property="time.after.compile" pattern="${timepattern}"/>
        </tstamp>
        <!-- collect only class files updated, which are fragment specific files -->
        <jar jarfile="${fragment.jar.file}" compress="true">
            <fileset dir="${build.dir}" includes="**/*.class">
                <date datetime="${time.before.compile}" pattern="${timepattern}" when="after"/>
            </fileset>
        </jar>
    </target>

    <target name="eclipseFragmentProject" depends="eclipseFragment,initIcuEclipseVersion" description="gather eclipse icu fragment project files">
        <delete failonerror="no">
            <fileset dir="${eclipse.projects.dir}/plugins/com.ibm.icu.jse4"/>
            <fileset dir="${eclipse.projects.dir}/features/com.ibm.icu.jse4"/>
        </delete>

        <!-- PLUGIN FILES -->
        <!-- source -->
        <copy toDir="${eclipse.projects.dir}/plugins/com.ibm.icu.jse4/src">
            <!-- TODO: Use a single file list as input.  The list is identical with eclipseFragmentArgs.txt -->
            <fileset dir="${src.dir}">
                <include name="com/ibm/icu/impl/CollectionUtilities.java"/>
                <include name="com/ibm/icu/impl/PatternTokenizer.java"/>
                <include name="com/ibm/icu/impl/Utility.java"/>
                <include name="com/ibm/icu/lang/UCharacter.java"/>
                <include name="com/ibm/icu/math/BigDecimal.java"/>
                <include name="com/ibm/icu/text/DateTimePatternGenerator.java"/>
                <include name="com/ibm/icu/text/DecimalFormat.java"/>
                <include name="com/ibm/icu/text/DigitList.java"/>
                <include name="com/ibm/icu/text/NumberFormat.java"/>
                <include name="com/ibm/icu/text/RuleBasedNumberFormat.java"/>
                <include name="com/ibm/icu/text/UnicodeSet.java"/>
                <include name="com/ibm/icu/text/UTF16.java"/>
                <include name="com/ibm/icu/util/GlobalizationPreferences.java"/>
            </fileset>
        </copy>
        <!-- project files -->
        <copy todir="${eclipse.projects.dir}/plugins/com.ibm.icu.jse4">
            <fileset dir="${eclipse.dir}/plugins/com.ibm.icu.jse4"
                excludes="**/.svn/**/*"/>
            <filterset>
                <filter token="BUILD_VERSION" value="${icu4j.eclipse.build.version.string}"/>
                <filter token="COPYRIGHT" value="${copyright.eclipse}"/>
                <filter token="IMPL_VERSION" value="${icu4j.impl.version.string}"/>
                <filter token="VERSION_NUMBER" value="${icu4j.version.number}"/>
            </filterset>
        </copy>
        <!-- license -->
        <copy file="license.html"
            todir="${eclipse.projects.dir}/plugins/com.ibm.icu.jse4/about_files"/>
        <!-- ucd terms -->
        <copy file="src/com/ibm/icu/dev/data/unicode/ucdterms.txt"
            todir="${eclipse.projects.dir}/plugins/com.ibm.icu.jse4/about_files"/>

        <!-- FEATURE FILES -->
        <!-- project files -->
        <copy todir="${eclipse.projects.dir}/features/com.ibm.icu.jse4">
            <fileset dir="${eclipse.dir}/features/com.ibm.icu.jse4"
                excludes="**/.svn/**/*"/>
            <filterset>
                <filter token="BUILD_VERSION" value="${icu4j.eclipse.build.version.string}"/>
                <filter token="COPYRIGHT" value="${copyright.eclipse}"/>
                <filter token="VERSION_NUMBER" value="${icu4j.version.number}"/>
            </filterset>
        </copy>
        <!-- common eclipse about -->
        <copy file="${eclipse.dir}/misc/about.html"
            todir="${eclipse.projects.dir}/features/com.ibm.icu.jse4/sourceTemplatePlugin"/>
    </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="${eclipse.dir}/plugins/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,testJvmArgs">    
        <java classname="com.ibm.icu.dev.test.TestAll" fork="yes" failonerror="true">
            <jvmarg value="-ea"/>
            <jvmarg line="${test.jvmargs}"/>
            <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,testJvmArgs">    
        <java classname="com.ibm.icu.dev.test.TestAll" fork="yes" failonerror="true">
            <jvmarg line="${test.jvmargs}"/>
            <arg value="-n"/>
            <classpath>
                <pathelement path="${java.class.path}/"/>
                <pathelement location="${jar.file}"/>
                <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="eclipseFragmentCheck" depends="eclipseCompat,eclipseFragment,eclipseCompatTests,deleteCore">
        <java classname="com.ibm.icu.dev.test.TestAll" fork="yes" failonerror="true">
            <arg value="-n"/>
            <classpath>
                <pathelement path="${java.class.path}/"/>
                <pathelement location="${fragment.jar.file}"/>
                <pathelement location="${jar.file}"/>
                <pathelement location="clover.jar"/>
                <pathelement path="${build.dir}"/>
            </classpath>
        </java>
    </target>

    <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.spec.version.string}"/>
                  <attribute name="Specification-Vendor" value="ICU"/>
                  <attribute name="Implementation-Title" value=" ICU for Java Charsets"/>
                  <attribute name="Implementation-Version" value="${icu4j.impl.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"/>
</project>
