<!--
*******************************************************************************
* Copyright (C) 1997-2015, International Business Machines Corporation and    *
* others. All Rights Reserved.                                                *
*******************************************************************************
-->
<project name="icu4j" default="jar" basedir="."
    xmlns:jacoco="antlib:org.jacoco.ant">

    <property file="build-local.properties"/>
    <property file="build.properties"/>

    <property name="shared.dir" value="main/shared"/>
    <import file="${shared.dir}/build/common-targets.xml"/>

    <property environment="env"/>

    <!-- icu4j binaries -->
    <property name="icu4j.jar.file" value="icu4j.jar"/>
    <property name="icu4jtests.jar.file" value="icu4jtests.jar"/>
    <property name="icu4j-charset.jar.file" value="icu4j-charset.jar"/>
    <property name="icu4j-localespi.jar.file" value="icu4j-localespi.jar"/>

    <property name="icu4jdemos.jar.file" value="icu4jdemos.jar"/>

    <!-- icu4j API doc jar file -->
    <property name="icu4jdocs.jar.file" value="icu4j-docs.jar"/>

    <!-- icu4j src jar files -->
    <property name="icu4j-src.jar.file" value="icu4j-src.jar"/>
    <property name="icu4j-charset-src.jar.file" value="icu4j-charset-src.jar"/>
    <property name="icu4j-localespi-src.jar.file" value="icu4j-localespi-src.jar"/>

    <!-- icu4j source package archive files -->
    <property name="icu4jsrc.zip.file" value="icu4j.zip"/>
    <property name="icu4jsrc.tgz.file" value="icu4j.tgz"/>

    <!-- icu4j versioned release files -->
    <property name="icu4j.jar.versioned.file" value="icu4j-${release.file.ver}.jar"/>
    <property name="icu4j-charset.jar.versioned.file" value="icu4j-charset-${release.file.ver}.jar"/>
    <property name="icu4j-localespi.jar.versioned.file" value="icu4j-localespi-${release.file.ver}.jar"/>

    <property name="icu4j-src.jar.versioned.file" value="icu4j-${release.file.ver}-src.jar"/>
    <property name="icu4j-charset-src.jar.versioned.file" value="icu4j-charset-${release.file.ver}-src.jar"/>
    <property name="icu4j-localespi-src.jar.versioned.file" value="icu4j-localespi-${release.file.ver}-src.jar"/>

    <property name="icu4jdocs.jar.versioned.file" value="icu4j-${release.file.ver}-docs.jar"/>

    <!-- <property name="icu4jsrc.zip.versioned.file" value="icu4j-${release.file.ver}.zip"/> -->
    <property name="icu4jsrc.tgz.versioned.file" value="icu4j-${release.file.ver}.tgz"/>

    <!-- API doc -->
    <property name="icu4j.api.doc.title" value="ICU4J ${api.doc.version} API Specification"/>
    <property name="icu4j.api.doc.window.title" value="ICU4J ${api.doc.version}"/>
    <property name="icu4j.api.doc.header" value="ICU4J ${api.doc.version}"/>
    <property name="icu4j.api.doc.jdk.link" value="https://docs.oracle.com/javase/7/docs/api/"/>

    <!-- directories -->
    <property name="release.dir" value="release"/>
    <property name="doc.dir" value="doc"/>
    <property name="cldr.util.out.dir" value="${out.dir}/cldr_util"/>
    <property name="cldr.release.dir" value="release_cldr"/>

    <!-- Java version check -->
    <condition property="is.java6.plus">
        <or>
            <contains string="${java.version}" substring="1.6."/>
            <contains string="${java.version}" substring="1.7."/>
            <contains string="${java.version}" substring="1.8."/>
        </or>
    </condition>
    <condition property="is.java5">
        <contains string="${java.version}" substring="1.5."/>
    </condition>
    <fail message="The JDK version is too old or unknown.">
        <condition>
            <not>
                <or>
                    <isset property="is.java6.plus"/>
                    <isset property="is.java5"/>
                </or>
             </not>
        </condition>
    </fail>

    <condition property="is.java7">
            <contains string="${java.version}" substring="1.7."/>
    </condition>

    <condition property="is.java7.plus">
        <or>
            <contains string="${java.version}" substring="1.7."/>
            <contains string="${java.version}" substring="1.8."/>
        </or>
    </condition>
    <condition property="is.pre.java8">
        <or>
            <contains string="${java.version}" substring="1.5."/>
            <contains string="${java.version}" substring="1.6."/>
            <contains string="${java.version}" substring="1.7."/>
        </or>
    </condition>
    

    <!-- Build environment info -->
    <property name="env.COMPUTERNAME" value="${env.HOSTNAME}"/>
    <target name="info" description="Display the build environment information">
        <echo message="----- Build Environment Information -------------------"/>
        <echo message="Java Home:    ${java.home}"/>
        <echo message="Java Version: ${java.version}"/>
        <echo message="Ant Home:     ${ant.home}"/>
        <echo message="Ant Version:  ${ant.version}"/>
        <echo message="OS:           ${os.name}"/>
        <echo message="OS Version:   ${os.version}"/>
        <echo message="OS Arch:      ${os.arch}"/>
        <echo message="Host:         ${env.COMPUTERNAME}"/>
        <echo message="-------------------------------------------------------"/>
    </target>

    <target name="clean" description="Clean up build outputs">
        <ant dir="${icu4j.core.dir}" target="clean" inheritAll="false"/>
        <ant dir="${icu4j.collate.dir}" target="clean" inheritAll="false"/>
        <ant dir="${icu4j.charset.dir}" target="clean" inheritAll="false"/>
        <ant dir="${icu4j.currdata.dir}" target="clean" inheritAll="false"/>
        <ant dir="${icu4j.langdata.dir}" target="clean" inheritAll="false"/>
        <ant dir="${icu4j.localespi.dir}" target="clean" inheritAll="false"/>
        <ant dir="${icu4j.regiondata.dir}" target="clean" inheritAll="false"/>
        <ant dir="${icu4j.translit.dir}" target="clean" inheritAll="false"/>
        <ant dir="${icu4j.test-framework.dir}" target="clean" inheritAll="false"/>
        <ant dir="${icu4j.core-tests.dir}" target="clean" inheritAll="false"/>
        <ant dir="${icu4j.collate-tests.dir}" target="clean" inheritAll="false"/>
        <ant dir="${icu4j.charset-tests.dir}" target="clean" inheritAll="false"/>
        <ant dir="${icu4j.localespi-tests.dir}" target="clean" inheritAll="false"/>
        <ant dir="${icu4j.packaging-tests.dir}" target="clean" inheritAll="false"/>
        <ant dir="${icu4j.translit-tests.dir}" target="clean" inheritAll="false"/>
        <ant dir="${icu4j.testall.dir}" target="clean" inheritAll="false"/>
        <ant dir="${icu4j.build-tools.dir}" target="clean" inheritAll="false"/>
        <ant dir="${icu4j.tools.dir}" target="clean" inheritAll="false"/>
        <ant dir="${icu4j.demos.dir}" target="clean" inheritAll="false"/>
        <ant dir="${icu4j.samples.dir}" target="clean" inheritAll="false"/>
        <ant dir="${icu4j.perf-tests.dir}" target="clean" inheritAll="false"/>

        <!-- delete all .jar files root directory -->
        <delete>
            <fileset dir="." includes="icu4j*.jar"/>
        </delete>

        <delete dir="${release.dir}"/>
        <delete dir="${doc.dir}"/>
        <delete dir="${out.dir}"/>
        <delete dir="${module.dir}"/>
        <delete dir="${cldr.release.dir}"/>

        <available file="eclipse-build" type="dir" property="eclipse-build.dir.present"/>
        <antcall target="_clean.eclipse-build"/>
    </target>

    <target name="_clean.eclipse-build" if="eclipse-build.dir.present">
        <ant dir="eclipse-build" target="clean" inheritAll="false"/>
    </target>

    <!-- meta build targets -->
    <target name="all" depends="info, main, tests, build-tools, tools, demos, samples, perf-tests, jar, docs" description="Build all primary targets"/>
    <target name="main" depends="info, core, collate, charset, currdata, langdata, regiondata, translit, localespi" description="Build ICU4J runtime library classes"/>
    <target name="tests" depends="info, core-tests, charset-tests, collate-tests, packaging-tests, translit-tests, testall, localespi-tests" description="Build ICU4J test classes"/>

    <target name="secure" depends="icu4jJar" description="(Deprecated)Build ICU4J API and test classes for running the ICU4J test suite with Java security manager enabled"/>
    
    <!-- Check to see if JVM_OPTIONS enviroment variable is set. This can be use to set the heap size. -->
    <property name="env.JVM_OPTIONS" value=""/>
    <property name="jvm_options" value="${env.JVM_OPTIONS}"/>
    <target name="check" description="Run the standard ICU4J test suite">
        <antcall target="_runCheck">
            <param name="runcheck.arg" value=""/>
            <param name="runcheck.jvmarg" value="${jvm_options} -ea"/>
        </antcall>
    </target>

    <target name="exhaustiveCheck" description="Run the standard ICU4J test suite in exhaustive mode">
        <antcall target="_runCheck">
            <param name="runcheck.arg" value="-e10"/>
            <param name="runcheck.jvmarg" value="${jvm_options} -ea"/>
        </antcall>
    </target>

    <target name="timeZoneCheck" description="Run the complete test for TimeZoneRoundTripAll">
        <antcall target="_runCheck">
            <param name="runcheck.arg" value="-prop:TimeZoneRoundTripAll=true Core/Format/DateFormat/TimeZoneFormatTest -v"/>
            <param name="runcheck.jvmarg" value="${jvm_options}"/>
        </antcall>
    </target>

    <target name="jdktzCheck" description="Run the standard ICU4J test suite with JDK TimeZone">
        <antcall target="_runCheck">
            <param name="runcheck.arg" value=""/>
            <param name="runcheck.jvmarg" value="${jvm_options} -Dcom.ibm.icu.util.TimeZone.DefaultTimeZoneType=JDK"/>
        </antcall>
    </target>

    <target name="_runCheck" depends="main, tests">
        <echo message="JVM argument:   ${runcheck.jvmarg} -Djava.awt.headless=true"/>
        <echo message="Test argument:   ${runcheck.arg}"/>

        <java classname="com.ibm.icu.dev.test.TestAll" fork="yes" failonerror="true">
            <arg line="${runcheck.arg}"/>
            <jvmarg line="${runcheck.jvmarg} -Djava.awt.headless=true"/>
            <classpath>
                <pathelement location="${icu4j.core.jar}"/>
                <pathelement location="${icu4j.collate.jar}"/>
                <pathelement location="${icu4j.charset.jar}"/>
                <pathelement location="${icu4j.currdata.jar}"/>
                <pathelement location="${icu4j.langdata.jar}"/>
                <pathelement location="${icu4j.regiondata.jar}"/>
                <pathelement location="${icu4j.translit.jar}"/>
                <pathelement location="${icu4j.test-framework.jar}"/>
                <pathelement location="${icu4j.core-tests.jar}"/>
                <pathelement location="${icu4j.collate-tests.jar}"/> 
                <pathelement location="${icu4j.charset-tests.jar}"/>
                <pathelement location="${icu4j.translit-tests.jar}"/>
                <pathelement location="${icu4j.testall.jar}"/>
            </classpath>
        </java>
    </target>

    <target name="_runTestArgCheck" unless="testarg">
        <echo message="No test arguments are supplied."/>
        <echo message="For specifying test arguments, use '-Dtestarg=[test args]' as"/>
        <echo message="ant command line argument. For example:"/>
        <echo message="  &#x3E;ant runTest -Dtestarg=&#x22;Core/Format -e10&#x22;"/>
        <echo message="for running ICU4J core format test suite in exhaustive mode."/>
    </target>

    <target name="runTest" depends="_runTestArgCheck" description="Run a ICU4J test case, without calling any other build targets">
        <echo message="JVM argument:   ${jvm_options} -Djava.awt.headless=true"/>
        <echo message="Test argument:   ${testarg}"/>

        <java classname="com.ibm.icu.dev.test.TestAll" fork="yes" failonerror="true">
            <arg line="${testarg}"/>
            <jvmarg line="${jvm_options} -Djava.awt.headless=true"/>
            <classpath>
                <pathelement location="${icu4j.core.jar}"/>
                <pathelement location="${icu4j.collate.jar}"/>
                <pathelement location="${icu4j.charset.jar}"/>
                <pathelement location="${icu4j.currdata.jar}"/>
                <pathelement location="${icu4j.langdata.jar}"/>
                <pathelement location="${icu4j.regiondata.jar}"/>
                <pathelement location="${icu4j.translit.jar}"/>
                <pathelement location="${icu4j.test-framework.jar}"/>
                <pathelement location="${icu4j.core-tests.jar}"/>
                <pathelement location="${icu4j.collate-tests.jar}"/> 
                <pathelement location="${icu4j.charset-tests.jar}"/>
                <pathelement location="${icu4j.translit-tests.jar}"/>
                <pathelement location="${icu4j.testall.jar}"/>
            </classpath>
        </java>
    </target>

    <target name="packagingCheck" depends="info, core, packaging-tests" description="Run packaging tests">
        <!-- region data but no language data -->
        <java classname="com.ibm.icu.dev.test.TestPackaging" fork="yes" failonerror="true">
            <arg line="-w"/>
            <classpath>
                <pathelement location="${icu4j.core.jar}"/>
                <pathelement location="${icu4j.charset.jar}"/>
                <pathelement location="${icu4j.test-framework.jar}"/>
                <pathelement location="${icu4j.packaging-tests.jar}"/>
                <pathelement location="${icu4j.regiondata.jar}"/>
            </classpath>
        </java>
        <!-- language data but no region data -->
        <java classname="com.ibm.icu.dev.test.TestPackaging" fork="yes" failonerror="true">
            <arg line="-w"/>
            <classpath>
                <pathelement location="${icu4j.core.jar}"/>
                <pathelement location="${icu4j.charset.jar}"/>
                <pathelement location="${icu4j.test-framework.jar}"/>
                <pathelement location="${icu4j.packaging-tests.jar}"/>
                <pathelement location="${icu4j.langdata.jar}"/>
            </classpath>
        </java>
        <!-- neither region nor language data -->
        <java classname="com.ibm.icu.dev.test.TestPackaging" fork="yes" failonerror="true">
            <arg line="-w"/>
            <classpath>
                <pathelement location="${icu4j.core.jar}"/>
                <pathelement location="${icu4j.charset.jar}"/>
                <pathelement location="${icu4j.test-framework.jar}"/>
                <pathelement location="${icu4j.packaging-tests.jar}"/>
            </classpath>
        </java>
    </target>

    <target name="coreCheck" depends="info, core, currdata, langdata, regiondata, core-tests" description="Run only the core tests">
        <java classname="com.ibm.icu.dev.test.TestAllCore" fork="yes" failonerror="true">
            <classpath>
                <pathelement location="${icu4j.core.jar}"/>
                <pathelement location="${icu4j.currdata.jar}"/>
                <pathelement location="${icu4j.langdata.jar}"/>
                <pathelement location="${icu4j.regiondata.jar}"/>
                <pathelement location="${icu4j.test-framework.jar}"/>
                <pathelement location="${icu4j.core-tests.jar}"/>
            </classpath>
        </java>
    </target>

    <target name="collateCheck" depends="info, core, collate, currdata, langdata, regiondata, core-tests, collate-tests" description="Run only the collation tests">
        <java classname="com.ibm.icu.dev.test.TestAllCollate" fork="yes" failonerror="true">
            <classpath>
                <pathelement location="${icu4j.core.jar}"/>
                <pathelement location="${icu4j.collate.jar}"/>
                <pathelement location="${icu4j.test-framework.jar}"/>
                <pathelement location="${icu4j.collate-tests.jar}"/>

                <!-- for now, collateCheck needs currdata, langdata and regiondata, because of GlobalizationPreferencesTest" -->
                <pathelement location="${icu4j.currdata.jar}"/>
                <pathelement location="${icu4j.langdata.jar}"/>
                <pathelement location="${icu4j.regiondata.jar}"/>
                <pathelement location="${icu4j.core-tests.jar}"/>
            </classpath>
        </java>
    </target>

    <target name="translitCheck" depends="info, core, translit, translit-tests" description="Run the ICU4J Translit test suite">
        <java classname="com.ibm.icu.dev.test.TestAllTranslit" fork="yes" failonerror="true">
            <classpath>
                <pathelement location="${icu4j.core.jar}"/>
                <pathelement location="${icu4j.translit.jar}"/>
                <pathelement location="${icu4j.test-framework.jar}"/>
                <pathelement location="${icu4j.translit-tests.jar}"/>
            </classpath>
        </java>
    </target>

    <target name="localespiCheck" if="is.java6.plus" depends="info" description="Run the ICU4J Locale SPI test suite">
        <antcall target="_runLocalespiCheck"/>
    </target>

    <target name="_runLocalespiCheck" depends="localespi, localespi-tests">
        <java classname="com.ibm.icu.dev.test.localespi.TestAll" fork="yes" failonerror="true">
            <jvmarg line="-Djava.ext.dirs=${icu4j.core.dir}/${jar.dir}${path.separator}${icu4j.localespi.dir}/${jar.dir}${path.separator}${icu4j.collate.dir}/${jar.dir}${path.separator}${icu4j.currdata.dir}/${jar.dir}${path.separator}${icu4j.langdata.dir}/${jar.dir}${path.separator}${icu4j.regiondata.dir}/${jar.dir}${path.separator}${java.ext.dirs}"/>
            <classpath>
                <pathelement location="${icu4j.localespi-tests.jar}"/>
                <pathelement location="${icu4j.test-framework.jar}"/>
            </classpath>
        </java>
    </target>

    <target name="secureCheck" depends="main, jar, icu4jtestsJar" description="Run the secure (applet-like) ICU4J test suite">
        <property name="securecheck.arg" value="-w"/>
        <property name="securecheck.jvmarg"
                value="${jvm_options} -Djava.security.manager -Djava.security.policy=${shared.dir}/data/security.policy -Djava.awt.headless=true"/>

        <echo message="JVM argument:   ${securecheck.jvmarg}"/>
        <echo message="Test argument:  ${securecheck.arg}"/>

        <java classname="com.ibm.icu.dev.test.TestAll" fork="yes" failonerror="true">
            <arg line="${securecheck.arg}"/>
            <jvmarg line="${securecheck.jvmarg}"/>
            <classpath>
                <pathelement location="${icu4j.jar.file}"/>
                <pathelement location="${icu4j-charset.jar.file}"/>
                <pathelement location="${icu4jtests.jar.file}"/>
            </classpath>
        </java>
    </target>

    <!-- jar targets -->
    <target name="jar" depends="icu4jJar, charset, localespi" description="Build ICU4J runtime library jar files">
        <copy file="${icu4j.charset.jar}" tofile="${icu4j-charset.jar.file}"/>
        <copy file="${icu4j.localespi.jar}" tofile="${icu4j-localespi.jar.file}" failonerror="false"/>
    </target>

    <target name="icu4jJar" depends="info, core, collate, currdata, langdata, regiondata, translit" description="Build ICU4J all-in-one core jar">
        <mkdir dir="${out.dir}"/>

        <!-- manifest -->
        <copy file="manifest.stub" todir="${out.dir}">
            <filterset>
                <filter token="SPECVERSION" value="${jar.spec.version}"/>
                <filter token="IMPLVERSION" value="${jar.impl.version}"/>
                <filter token="COPYRIGHT" value="${jar.copyright.info}"/>
                <filter token="EXECENV" value="${jar.exec.env}"/>
            </filterset>
        </copy>

        <!-- jar -->
        <jar jarfile="${icu4j.jar.file}"
                compress="true"
                manifest="${out.dir}/manifest.stub">
            <fileset dir="${icu4j.core.dir}/${bin.dir}" includes="**/*"/>
            <fileset dir="${icu4j.collate.dir}/${bin.dir}" includes="**/*"/>
            <fileset dir="${icu4j.currdata.dir}/${bin.dir}" includes="**/*"/>
            <fileset dir="${icu4j.langdata.dir}/${bin.dir}" includes="**/*"/>
            <fileset dir="${icu4j.regiondata.dir}/${bin.dir}" includes="**/*"/>
            <fileset dir="${icu4j.translit.dir}/${bin.dir}" includes="**/*"/>
            <fileset dir="${shared.dir}/licenses">
                <include name="license.html"/>
            </fileset>
        </jar>
    </target>

    <target name="icu4jSrcJar" description="Build icu4j-src.jar">
        <jar jarfile="${icu4j-src.jar.file}"
                compress="true">
            <fileset dir="${icu4j.core.dir}/${src.dir}" includes="**/*.java"/>
            <fileset dir="${icu4j.collate.dir}/${src.dir}" includes="**/*.java"/>
            <fileset dir="${icu4j.currdata.dir}/${src.dir}" includes="**/*.java"/>
            <fileset dir="${icu4j.langdata.dir}/${src.dir}" includes="**/*.java"/>
            <fileset dir="${icu4j.regiondata.dir}/${src.dir}" includes="**/*.java"/>
            <fileset dir="${icu4j.translit.dir}/${src.dir}" includes="**/*.java"/>
            <fileset dir="${shared.dir}/licenses">
                <include name="license.html"/>
            </fileset>
        </jar>
    </target>

    <target name="icu4jtestsJar" depends="info, tests" description="Build ICU4J all-in-one test jar">
        <jar jarfile="${icu4jtests.jar.file}"
                compress="true">
            <fileset dir="${icu4j.test-framework.dir}/${bin.dir}" includes="**/*"/>
            <fileset dir="${icu4j.core-tests.dir}/${bin.dir}" includes="**/*"/>
            <fileset dir="${icu4j.collate-tests.dir}/${bin.dir}" includes="**/*"/>
            <fileset dir="${icu4j.translit-tests.dir}/${bin.dir}" includes="**/*"/>
            <fileset dir="${icu4j.charset-tests.dir}/${bin.dir}" includes="**/*"/>
            <fileset dir="${icu4j.testall.dir}/${bin.dir}" includes="**/*"/>
        </jar>
    </target>

    <target name="jarDemos" depends="icu4jJar, demos" description="Build ICU4J demo jar file">
        <copy file="${icu4j.demos.jar}" tofile="${icu4jdemos.jar.file}"/>
    </target>


    <!-- release targets -->
    <target name="_check_config_for_release">
        <condition property="release.build.config.ok">
            <and>
                <isset property="is.java7"/>
                <isset property="java5.bootclasspath"/>
                <isset property="java6.bootclasspath"/>
                <isset property="jcite.libs"/>
            </and>
        </condition>
    </target>

    <target name="_verify_config_for_release" depends="_check_config_for_release" unless="release.build.config.ok">
        <condition property="disp.is.java7" value="${java.version}" else="${java.version} - Must be 1.7!">
            <isset property="is.java7"/>
        </condition>
        <condition property="disp.java5.bootclasspath" value="${java5.bootclasspath}" else="Not Defined!">
            <isset property="java5.bootclasspath"/>
        </condition>
        <condition property="disp.java6.bootclasspath" value="${java5.bootclasspath}" else="Not Defined!">
            <isset property="java6.bootclasspath"/>
        </condition>
        <condition property="disp.jcite.libs" value="${jcite.libs}" else="Not Defined!">
            <isset property="jcite.libs"/>
        </condition>

        <echo message="################################################################"/>
        <echo message="[WARNING] Insufficient Build Configuration for ICU4J Release"/>
        <echo message="JDK Tools Version:              ${disp.is.java7}"/>
        <echo message="JRE 5 System Library Path:      ${disp.java5.bootclasspath}"/>
        <echo message="JRE 6 System Library Path:      ${disp.java6.bootclasspath}"/>
        <echo message="JCite Library Path:             ${disp.jcite.libs}"/>
        <echo message="################################################################"/>
    </target>

    <target name="releaseVer" depends="info, releaseBinaries, releaseSrcJars, releaseDocs, releaseSourceArchiveTgz"
            description="Build all ICU4J release files for distribution with versioned file names">
        <!-- binaries -->
        <move file="${release.dir}/${icu4j.jar.file}" tofile="${release.dir}/${icu4j.jar.versioned.file}"/>
        <move file="${release.dir}/${icu4j-charset.jar.file}" tofile="${release.dir}/${icu4j-charset.jar.versioned.file}"/>
        <move file="${release.dir}/${icu4j-localespi.jar.file}" tofile="${release.dir}/${icu4j-localespi.jar.versioned.file}"/>

        <!-- source jars -->
        <move file="${release.dir}/${icu4j-src.jar.file}" tofile="${release.dir}/${icu4j-src.jar.versioned.file}"/>
        <move file="${release.dir}/${icu4j-charset-src.jar.file}" tofile="${release.dir}/${icu4j-charset-src.jar.versioned.file}"/>
        <move file="${release.dir}/${icu4j-localespi-src.jar.file}" tofile="${release.dir}/${icu4j-localespi-src.jar.versioned.file}"/>

        <!-- docs -->
        <move file="${release.dir}/${icu4jdocs.jar.file}" tofile="${release.dir}/${icu4jdocs.jar.versioned.file}"/>

        <!-- package archive -->
        <move file="${release.dir}/${icu4jsrc.tgz.file}" tofile="${release.dir}/${icu4jsrc.tgz.versioned.file}"/>

        <!-- md5 checksum file -->
        <mkdir dir="${out.dir}/checksum"/>
        <delete dir="${out.dir}/checksum" includes="**/*"/>

        <checksum todir="${out.dir}/checksum" format="MD5SUM">
            <fileset dir="${release.dir}">
                <include name="*.jar"/>
                <include name="*.tgz"/>
            </fileset>
        </checksum>

        <concat destfile="${release.dir}/icu4j-${release.file.ver}.md5">
            <fileset dir="${out.dir}/checksum" includes="*"/>
            <filterchain>
                <fixcrlf eol="lf"/>
            </filterchain>
        </concat>

        <antcall target="_verify_config_for_release"/>
    </target>

    <target name="release" depends="info, releaseBinaries, releaseSrcJars, releaseDocs, releaseSourceArchiveTgz" description="Build all ICU4J release files for distribution">
        <mkdir dir="${out.dir}/checksum"/>
        <delete dir="${out.dir}/checksum" includes="**/*"/>

        <checksum todir="${out.dir}/checksum" format="MD5SUM">
            <fileset dir="${release.dir}">
                <include name="*.jar"/>
                <include name="*.tgz"/>
            </fileset>
        </checksum>

        <concat destfile="${release.dir}/icu4j.md5">
            <fileset dir="${out.dir}/checksum" includes="*"/>
            <filterchain>
                <fixcrlf eol="lf"/>
            </filterchain>
        </concat>

        <antcall target="_verify_config_for_release"/>
    </target>

    <target name="releaseBinaries" depends="icu4jJar, charset, localespi" description="Build ICU4J binary files for distribution">
        <mkdir dir="${release.dir}"/>
        <copy file="${icu4j.jar.file}" tofile="${release.dir}/${icu4j.jar.file}"/>
        <copy file="${icu4j.charset.jar}" tofile="${release.dir}/${icu4j-charset.jar.file}"/>
        <copy file="${icu4j.localespi.jar}" tofile="${release.dir}/${icu4j-localespi.jar.file}"/>
    </target>

    <target name="releaseSrcJars" depends="icu4jSrcJar" description="Build ICU4J src jar files for distribution">
        <mkdir dir="${release.dir}"/>

        <!-- icu4j src-jar -->
        <copy file="${icu4j-src.jar.file}" tofile="${release.dir}/${icu4j-src.jar.file}"/>

        <!-- charset/localespi src-jar -->
        <ant dir="${icu4j.charset.dir}" target="src-jar" inheritAll="false"/>
        <ant dir="${icu4j.localespi.dir}" target="src-jar" inheritAll="false"/>

        <copy file="${icu4j.charset.dir}/${out.dir}/lib/${icu4j-charset-src.jar.file}" tofile="${release.dir}/${icu4j-charset-src.jar.file}"/>
        <copy file="${icu4j.localespi.dir}/${out.dir}/lib/${icu4j-localespi-src.jar.file}" tofile="${release.dir}/${icu4j-localespi-src.jar.file}"/>
    </target>


    <target name="releaseDocs" depends="docs" description="Build ICU4J API reference doc jar file for distribution">
        <mkdir dir="${release.dir}"/>
        <jar jarfile="${release.dir}/${icu4jdocs.jar.file}" compress="true" basedir="${doc.dir}"/>
    </target>

    <property name="src.release.wrk.dir" value="${out.dir}/tmpsrc"/>

    <target name="releaseSourceArchiveZip" description="Build ICU4J source release archive (.zip)">
        <delete dir="${src.release.wrk.dir}"/>
        <delete file="${icu4jsrc.zip.file}"/>

        <mkdir dir="${src.release.wrk.dir}"/>

        <fixcrlf srcdir="."
                destdir="${src.release.wrk.dir}"
                encoding="UTF-8"
                eol="crlf">
            <include name="demos/**/*"/>
            <include name="main/**/*"/>
            <include name="perf-tests/**/*"/>
            <include name="samples/**/*"/>
            <include name="tools/**/*"/>
            <include name="*.html"/>
            <include name="*.xml"/>
            <include name="*.properties"/>
            <include name="*.css"/>
            <include name="*.stub"/>
            <exclude name="**/out/**/*"/>
            <exclude name="**/*.jar"/>
            <exclude name="**/build-local.properties"/>
            <exclude name="main/tests/core/src/com/ibm/icu/dev/data/rbbi/english.dict"/>
            <exclude name="main/tests/core/src/com/ibm/icu/dev/test/serializable/data/**/*.dat"/>
            <exclude name="main/tests/core/src/com/ibm/icu/dev/test/util/Trie2Test.*.tri2"/>
            <exclude name="tools/build/icu4j*.api*.gz"/>
        </fixcrlf>

        <mkdir dir="${release.dir}"/>
        <zip destfile="${release.dir}/${icu4jsrc.zip.file}">
            <fileset dir="${src.release.wrk.dir}" includes="**/*"/>
            <fileset dir="${basedir}">
                <include name="main/shared/data/*.jar"/>
                <include name="main/tests/core/src/com/ibm/icu/dev/data/rbbi/english.dict"/>
                <include name="main/tests/core/src/com/ibm/icu/dev/test/serializable/data/**/*.dat"/>
                <include name="main/tests/core/src/com/ibm/icu/dev/test/util/Trie2Test.*.tri2"/>
                <include name="tools/build/icu4j*.api*.gz"/>
            </fileset>
        </zip>

        <delete dir="${src.release.wrk.dir}"/>
    </target>

    <target name="releaseSourceArchiveTgz" description="Build ICU4J source release archive (.tgz)">
        <delete dir="${src.release.wrk.dir}"/>
        <delete file="${icu4jsrc.tgz.file}"/>

        <mkdir dir="${src.release.wrk.dir}"/>

        <fixcrlf srcdir="."
                destdir="${src.release.wrk.dir}"
                encoding="UTF-8"
                eol="lf">
            <include name="demos/**/*"/>
            <include name="main/**/*"/>
            <include name="perf-tests/**/*"/>
            <include name="samples/**/*"/>
            <include name="tools/**/*"/>
            <include name="*.html"/>
            <include name="*.xml"/>
            <include name="*.properties"/>
            <include name="*.css"/>
            <include name="*.stub"/>
            <exclude name="**/out/**/*"/>
            <exclude name="**/*.jar"/>
            <exclude name="**/build-local.properties"/>
            <exclude name="main/tests/core/src/com/ibm/icu/dev/data/rbbi/english.dict"/>
            <exclude name="main/tests/core/src/com/ibm/icu/dev/test/serializable/data/**/*.dat"/>
            <exclude name="main/tests/core/src/com/ibm/icu/dev/test/util/Trie2Test.*.tri2"/>
            <exclude name="tools/build/icu4j*.api*.gz"/>
        </fixcrlf>

        <property name="icu4jsrc.tar" value="${out.dir}/icu4jsrc.tar"/>

        <tar destfile="${icu4jsrc.tar}" longfile="gnu">
            <fileset dir="${src.release.wrk.dir}" includes="**/*"/>
            <fileset dir="${basedir}">
                <include name="main/shared/data/*.jar"/>
                <include name="main/tests/core/src/com/ibm/icu/dev/data/rbbi/english.dict"/>
                <include name="main/tests/core/src/com/ibm/icu/dev/test/serializable/data/**/*.dat"/>
                <include name="main/tests/core/src/com/ibm/icu/dev/test/util/Trie2Test.*.tri2"/>
                <include name="tools/build/icu4j*.api*.gz"/>
            </fileset>
        </tar>

        <mkdir dir="${release.dir}"/>
        <gzip destfile="${release.dir}/${icu4jsrc.tgz.file}" src="${icu4jsrc.tar}"/>

        <delete dir="${src.release.wrk.dir}"/>
        <delete file="${icu4jsrc.tar}"/>
    </target>

    <!-- findbugs targets -->

    <target name="findbugs" description="Run FindBugs on all library sub projects.">
        <property name="findbugs.out.dir" value="${out.dir}/findbugs"/>
        <mkdir dir="${findbugs.out.dir}"/>

        <ant dir="${icu4j.core.dir}" inheritAll="false" target="findbugs"/>
        <copy file="${icu4j.core.dir}/${out.dir}/fb-core.html" todir="${findbugs.out.dir}"/>

        <ant dir="${icu4j.collate.dir}" inheritAll="false" target="findbugs"/>
        <copy file="${icu4j.collate.dir}/${out.dir}/fb-collate.html" todir="${findbugs.out.dir}"/>

        <ant dir="${icu4j.currdata.dir}" inheritAll="false" target="findbugs"/>
        <copy file="${icu4j.currdata.dir}/${out.dir}/fb-currdata.html" todir="${findbugs.out.dir}"/>

        <ant dir="${icu4j.langdata.dir}" inheritAll="false" target="findbugs"/>
        <copy file="${icu4j.langdata.dir}/${out.dir}/fb-langdata.html" todir="${findbugs.out.dir}"/>

        <ant dir="${icu4j.regiondata.dir}" inheritAll="false" target="findbugs"/>
        <copy file="${icu4j.regiondata.dir}/${out.dir}/fb-regiondata.html" todir="${findbugs.out.dir}"/>

        <ant dir="${icu4j.translit.dir}" inheritAll="false" target="findbugs"/>
        <copy file="${icu4j.translit.dir}/${out.dir}/fb-translit.html" todir="${findbugs.out.dir}"/>


        <ant dir="${icu4j.charset.dir}" inheritAll="false" target="findbugs"/>
        <copy file="${icu4j.charset.dir}/${out.dir}/fb-charset.html" todir="${findbugs.out.dir}"/>

        <ant dir="${icu4j.localespi.dir}" inheritAll="false" target="findbugs"/>
        <copy file="${icu4j.localespi.dir}/${out.dir}/fb-localespi.html" todir="${findbugs.out.dir}"/>
    </target>

    <!-- compile targets -->
    <target name="core" description="Build core classes">
        <ant dir="${icu4j.core.dir}" inheritAll="false"/>
    </target>

    <target name="collate" depends="core" description="Build collation classes">
        <ant dir="${icu4j.collate.dir}" inheritAll="false"/>
    </target>

    <target name="charset" depends="core" description="Build charset classes">
        <ant dir="${icu4j.charset.dir}" inheritAll="false"/>
    </target>

    <target name="currdata" depends="core" description="Build currency data classes">
        <ant dir="${icu4j.currdata.dir}" inheritAll="false"/>
    </target>

    <target name="langdata" depends="core" description="Build language data classes">
        <ant dir="${icu4j.langdata.dir}" inheritAll="false"/>
    </target>

    <target name="localespi" if="is.java6.plus" description="Build Locale SPI classes">
        <antcall target="_build-localespi"/>
    </target>

    <target name="_build-localespi" depends="core, collate, currdata, langdata, regiondata">
        <ant dir="${icu4j.localespi.dir}" inheritAll="false"/>
    </target>

    <target name="regiondata" depends="core" description="Build region data classes">
        <ant dir="${icu4j.regiondata.dir}" inheritAll="false"/>
    </target>

    <target name="translit" depends="core" description="Build translit classes">
        <ant dir="${icu4j.translit.dir}" inheritAll="false"/>
    </target>

    <target name="test-framework" depends="core" description="Build test framework classes">
        <ant dir="${icu4j.test-framework.dir}" inheritAll="false"/>
    </target>

    <target name="core-tests" depends="core, test-framework" description="Build core tests">
        <ant dir="${icu4j.core-tests.dir}" inheritAll="false"/>
    </target>

    <target name="collate-tests" depends="collate, test-framework" description="Build core tests">
        <ant dir="${icu4j.collate-tests.dir}" inheritAll="false"/>
    </target>

    <target name="charset-tests" depends="charset, test-framework" description="Build charset tests">
        <ant dir="${icu4j.charset-tests.dir}" inheritAll="false"/>
    </target>

    <target name="localespi-tests" if="is.java6.plus" description="Build Locale SPI tests">
        <antcall target="_build-localespi-tests"/>
    </target>

    <target name="_build-localespi-tests" depends="localespi, test-framework">
        <ant dir="${icu4j.localespi-tests.dir}" inheritAll="false"/>
    </target>

    <target name="packaging-tests" depends="test-framework" description="Build packaging tests">
        <ant dir="${icu4j.packaging-tests.dir}" inheritAll="false"/>
    </target>

    <target name="translit-tests" depends="translit, test-framework" description="Build translit tests">
        <ant dir="${icu4j.translit-tests.dir}" inheritAll="false"/>
    </target>

    <target name="testall" depends="test-framework" description="Build top level TestAll">
        <ant dir="${icu4j.testall.dir}" inheritAll="false"/>
    </target>

    <target name="demos" depends="core, charset, translit" description="Build demo classes">
        <ant dir="${icu4j.demos.dir}" inheritAll="false"/>
    </target>

    <target name="samples" depends="core, charset, collate, translit" description="Build sample classes">
        <ant dir="${icu4j.samples.dir}" inheritAll="false"/>
    </target>

    <target name="build-tools" description="Build build-tool classes">
        <ant dir="${icu4j.build-tools.dir}" inheritAll="false"/>
    </target>

    <target name="tools" depends="core, core-tests, collate, translit, translit-tests" description="Build tool classes">
        <ant dir="${icu4j.tools.dir}" inheritAll="false"/>
    </target>

    <target name="perf-tests" if="is.java6.plus" depends="core, charset, collate, tools" description="Build performance test classes">
        <ant dir="${icu4j.perf-tests.dir}" inheritAll="false"/>
    </target>

    <!-- doc targets -->
    <target name="docs" depends="info, build-tools, _checkJCite, _docsWithJCite, _docsWithoutJCite" description="Build API documents"/>

    <target name="_checkJCite" if="env.JCITE_DIR">
        <fileset dir="${env.JCITE_DIR}" id="jcite.files">
            <include name="build/*.jar"/>
            <include name="lib/*.jar"/>
        </fileset>
        <pathconvert property="jcite.libs" refid="jcite.files"/>

        <dirset dir="${basedir}" id="jcite.src.dirs">
            <include name="samples/src"/>
            <include name="demos/src"/>
            <include name="main/tests/*/src"/>
        </dirset>
        <pathconvert property="jcite.addl.src" refid="jcite.src.dirs"/>
    </target>

    <target name="_docsStyleSheet">
        <condition property="docs.style.sheet" value="stylesheet7.css" else="stylesheet.css">
            <isset property="is.java7.plus"/>
        </condition>
    </target>

    <!-- doclint in V8 is too strict to handle existing html in javadoc -->
    <target name="_setLintV8" unless="is.pre.java8">
        <property name="lintParam" value="-Xdoclint:-html"/>
    </target>
    <target name="_setLintPreV8" if="is.pre.java8">
        <property name="lintParam" value=""/>
    </target>
    
    <target name="_docsWithJCite" depends="_docsStyleSheet, _setLintV8, _setLintPreV8" if="jcite.libs">
        <echo message="JCite library path:             ${jcite.libs}"/>
        <echo message="JCite additional source path:   ${jcite.addl.src}"/>
        <echo message="Custom stylesheet:              ${docs.style.sheet}"/>
        <javadoc
                destdir="${doc.dir}"
                nodeprecatedlist="true"
                windowtitle="${icu4j.api.doc.window.title}"
                doctitle="${icu4j.api.doc.title}"
                header="${icu4j.api.doc.header}"
                encoding="${java.src.encoding}"
                docencoding="UTF-8"
                charset="UTF-8"
                bottom="&lt;font size=-1&gt;Copyright (c) ${current.year} IBM Corporation and others.&lt;/font&gt;"
                additionalparam="${lintParam} -breakiterator -use -tagletpath ${icu4j.build-tools.jar}${path.separator}${jcite.libs} -taglet com.ibm.icu.dev.tool.docs.ICUTaglet -taglet ch.arrenbrecht.jcite.JCiteTaglet -J-Djcitesourcepath=${jcite.addl.src} -J-Dfile.encoding=UTF-8"
                link="${icu4j.api.doc.jdk.link}"
                source="1.5"
                stylesheetfile="${docs.style.sheet}">
            <packageset dir="${icu4j.core.dir}/src">
                <include name="com/ibm/icu/lang/**"/>
                <include name="com/ibm/icu/math/**"/>
                <include name="com/ibm/icu/text/**"/>
                <include name="com/ibm/icu/util/**"/>
            </packageset>
            <packageset dir="${icu4j.collate.dir}/src">
                <include name="com/ibm/icu/text/**"/>
            </packageset>
            <packageset dir="${icu4j.translit.dir}/src">
                <include name="com/ibm/icu/text/**"/>
            </packageset>
            <packageset dir="${icu4j.charset.dir}/src">
                <include name="com/ibm/icu/charset/**"/>
            </packageset>
        </javadoc>
    </target>

    <target name="_docsWithoutJCite" unless="jcite.libs">
        <javadoc
                destdir="${doc.dir}"
                nodeprecatedlist="true"
                windowtitle="${icu4j.api.doc.window.title}"
                doctitle="${icu4j.api.doc.title}"
                header="${icu4j.api.doc.header}"
                encoding="${java.src.encoding}"
                docencoding="UTF-8"
                charset="UTF-8"
                bottom="&lt;font size=-1&gt;Copyright (c) ${current.year} IBM Corporation and others.&lt;/font&gt;"
                additionalparam="-breakiterator -use -tagletpath ${icu4j.build-tools.jar} -taglet com.ibm.icu.dev.tool.docs.ICUTaglet"
                link="${icu4j.api.doc.jdk.link}"
                source="1.5">
            <packageset dir="${icu4j.core.dir}/src">
                <include name="com/ibm/icu/lang/**"/>
                <include name="com/ibm/icu/math/**"/>
                <include name="com/ibm/icu/text/**"/>
                <include name="com/ibm/icu/util/**"/>
            </packageset>
            <packageset dir="${icu4j.collate.dir}/src">
                <include name="com/ibm/icu/text/**"/>
            </packageset>
            <packageset dir="${icu4j.translit.dir}/src">
                <include name="com/ibm/icu/text/**"/>
            </packageset>
            <packageset dir="${icu4j.charset.dir}/src">
                <include name="com/ibm/icu/charset/**"/>
            </packageset>
        </javadoc>
    </target>

    <!-- JaCoCo code coverage target -->
    <taskdef uri="antlib:org.jacoco.ant" resource="org/jacoco/ant/antlib.xml" onerror="ignore">
        <classpath path="${env.JACOCO_DIR}/lib/jacocoant.jar"/>
    </taskdef>

    <target name="coverageJaCoCo" depends="jar, tests" description="Run the ICU4J unit tests and generate code coverage report">
        <property name="jacoco.out.dir" value="${out.dir}/jacoco"/>
        <property name="jacoco.exec.data.file" value="${jacoco.out.dir}/jacoco.exec"/>
        <property name="jacoco.report.html.zip" value="${jacoco.out.dir}/report_html.zip"/>
        <property name="jacoco.report.xml" value="${jacoco.out.dir}/report.xml"/>
        <property name="jacoco.report.csv" value="${jacoco.out.dir}/report.csv"/>

        <delete dir="${jacoco.out.dir}"/>
        <mkdir dir="${jacoco.out.dir}"/>

        <jacoco:coverage destfile="${jacoco.exec.data.file}">
            <java classname="com.ibm.icu.dev.test.TestAll" fork="yes" failonerror="true">
                <jvmarg line="${jvm_options} -ea -Djava.awt.headless=true"/>
                <classpath>
                    <pathelement location="${icu4j.jar.file}"/>
                    <pathelement location="${icu4j-charset.jar.file}"/>
                    <pathelement location="${icu4j.test-framework.jar}"/>
                    <pathelement location="${icu4j.core-tests.jar}"/>
                    <pathelement location="${icu4j.collate-tests.jar}"/>
                    <pathelement location="${icu4j.charset-tests.jar}"/>
                    <pathelement location="${icu4j.translit-tests.jar}"/>
                    <pathelement location="${icu4j.testall.jar}"/>
            </classpath>
        </java>
        </jacoco:coverage>

        <jacoco:report>
            <executiondata>
                <file file="${jacoco.exec.data.file}"/>
            </executiondata>

            <structure name="ICU4J Project">
                <classfiles>
                    <fileset dir=".">
                        <include name="${icu4j.jar.file}"/>
                        <include name="${icu4j-charset.jar.file}"/>
                    </fileset>
                </classfiles>
                <sourcefiles encoding="UTF-8">
                    <fileset dir="${icu4j.core.dir}/src"/>
                    <fileset dir="${icu4j.collate.dir}/src"/>
                    <fileset dir="${icu4j.currdata.dir}/src"/>
                    <fileset dir="${icu4j.langdata.dir}/src"/>
                    <fileset dir="${icu4j.regiondata.dir}/src"/>
                    <fileset dir="${icu4j.translit.dir}/src"/>

                    <fileset dir="${icu4j.charset.dir}/src"/>
                </sourcefiles>
            </structure>

            <html destfile="${jacoco.report.html.zip}"/>
            <xml destfile="${jacoco.report.xml}"/>
            <csv destfile="${jacoco.report.csv}"/>
        </jacoco:report>
    </target>

    <!-- Clover code coverage target -->
    <property name="clover.out.dir" value="${out.dir}/clover"/>
    <property name="clover.jar" location="${env.CLOVER_DIR}/clover.jar"/>
    <taskdef resource="cloverlib.xml" classpath="${clover.jar}" onerror="ignore"/>

    <target name="codeCoverage" depends="clean" description="Generate code coverage report with clover">
        <!-- Set up clover -->
        <mkdir dir="${clover.out.dir}"/>
        <clover-setup initstring="${clover.out.dir}/clover.db">
            <files>
                <exclude name="**/dev/**/*.java"/>
            </files>
            <methodContext name="API" regexp="(.* )?public .*"/>
        </clover-setup>

        <!-- Build components with clover instrumentation -->
        <ant dir="${icu4j.core.dir}" inheritAll="false" inheritRefs="true">
            <property name="build.compiler" value="${build.compiler}"/>
        </ant>
        <ant dir="${icu4j.collate.dir}" inheritAll="false" inheritRefs="true">
            <property name="build.compiler" value="${build.compiler}"/>
        </ant>
        <ant dir="${icu4j.charset.dir}" inheritAll="false" inheritRefs="true">
            <property name="build.compiler" value="${build.compiler}"/>
        </ant>
        <ant dir="${icu4j.currdata.dir}" inheritAll="false" inheritRefs="true">
            <property name="build.compiler" value="${build.compiler}"/>
        </ant>
        <ant dir="${icu4j.langdata.dir}" inheritAll="false" inheritRefs="true">
            <property name="build.compiler" value="${build.compiler}"/>
        </ant>
        <ant dir="${icu4j.regiondata.dir}" inheritAll="false" inheritRefs="true">
            <property name="build.compiler" value="${build.compiler}"/>
        </ant>
        <ant dir="${icu4j.translit.dir}" inheritAll="false" inheritRefs="true">
            <property name="build.compiler" value="${build.compiler}"/>
        </ant>
        <ant dir="${icu4j.test-framework.dir}" inheritAll="false" inheritRefs="true">
            <property name="build.compiler" value="${build.compiler}"/>
        </ant>
        <ant dir="${icu4j.core-tests.dir}" inheritAll="false" inheritRefs="true">
            <property name="build.compiler" value="${build.compiler}"/>
        </ant>
        <ant dir="${icu4j.collate-tests.dir}" inheritAll="false" inheritRefs="true">
            <property name="build.compiler" value="${build.compiler}"/>
        </ant>
        <ant dir="${icu4j.charset-tests.dir}" inheritAll="false" inheritRefs="true">
            <property name="build.compiler" value="${build.compiler}"/>
        </ant>
        <ant dir="${icu4j.translit-tests.dir}" inheritAll="false" inheritRefs="true">
            <property name="build.compiler" value="${build.compiler}"/>
        </ant>
        <ant dir="${icu4j.testall.dir}" inheritAll="false" inheritRefs="true">
            <property name="build.compiler" value="${build.compiler}"/>
        </ant>

        <!-- Run the test suites -->
        <java classname="com.ibm.icu.dev.test.TestAll" fork="yes" failonerror="true">
            <classpath>
                <pathelement location="${icu4j.core.jar}"/>
                <pathelement location="${icu4j.collate.jar}"/>
                <pathelement location="${icu4j.charset.jar}"/>
                <pathelement location="${icu4j.currdata.jar}"/>
                <pathelement location="${icu4j.langdata.jar}"/>
                <pathelement location="${icu4j.regiondata.jar}"/>
                <pathelement location="${icu4j.translit.jar}"/>
                <pathelement location="${icu4j.test-framework.jar}"/>
                <pathelement location="${icu4j.core-tests.jar}"/>
                <pathelement location="${icu4j.collate-tests.jar}"/>
                <pathelement location="${icu4j.charset-tests.jar}"/>
                <pathelement location="${icu4j.translit-tests.jar}"/>
                <pathelement location="${icu4j.testall.jar}"/>
                <pathelement location="${clover.jar}"/>
            </classpath>
        </java>

        <!-- Generate HTML coverage report -->
        <!-- <clover-html-report outdir="${clover.out.dir}/html" title="ICU4J Code Coverage"/> -->
        <clover-report>
            <current outfile="${clover.out.dir}/html" title="ICU4J Code Coverage">
                <format type="html" filter="assert" />
            </current>
        </clover-report>
    </target>

    <!-- Release management targets -->
    <target name="checktags" depends="info, build-tools" description="Check API tags before release">
        <javadoc source="1.5"
                 encoding="${java.src.encoding}">
            <packageset dir="${icu4j.core.dir}/src">
                <include name="com/ibm/icu/lang/**"/>
                <include name="com/ibm/icu/math/**"/>
                <include name="com/ibm/icu/text/**"/>
                <include name="com/ibm/icu/util/**"/>
            </packageset>
            <packageset dir="${icu4j.collate.dir}/src">
                <include name="com/ibm/icu/**"/>
            </packageset>
            <packageset dir="${icu4j.charset.dir}/src">
                <include name="com/ibm/icu/charset/**"/>
            </packageset>
            <doclet name="com.ibm.icu.dev.tool.docs.CheckTags" path="${icu4j.build-tools.jar}"/>
        </javadoc>
    </target>

    <target name="gatherapi" depends="info, build-tools" description="Run API database generator tool">
        <mkdir dir="${out.dir}"/>
        <javadoc source="1.5"
                 encoding="${java.src.encoding}">
            <packageset dir="${icu4j.core.dir}/src">
                <include name="com/ibm/icu/lang/**"/>
                <include name="com/ibm/icu/math/**"/>
                <include name="com/ibm/icu/text/**"/>
                <include name="com/ibm/icu/util/**"/>
            </packageset>
            <packageset dir="${icu4j.collate.dir}/src">
                <include name="com/ibm/icu/text/**"/>
                <include name="com/ibm/icu/util/**"/>
            </packageset>
            <packageset dir="${icu4j.charset.dir}/src">
                <include name="com/ibm/icu/charset/**"/>
            </packageset>
            <packageset dir="${icu4j.translit.dir}/src">
                <include name="com/ibm/icu/text/**"/>
            </packageset>
            <doclet name="com.ibm.icu.dev.tool.docs.GatherAPIData" path="${icu4j.build-tools.jar}">
                <param name="-name" value="ICU4J ${icu4j.impl.version}"/>
                <param name="-output" value="${out.dir}/icu4j${api.report.version}.api3"/>
                <param name="-internal"/>
                <param name="-version"/>
                <param name="-gzip"/>
            </doclet>
        </javadoc>
    </target>

    <target name="apireport" depends="info, gatherapi" description="Run API report generator tool">
        <java classname="com.ibm.icu.dev.tool.docs.ReportAPI"
                classpath="${icu4j.build-tools.jar}"
                failonerror="true">
            <arg value="-old:" />
            <arg value="${icu4j.build-tools.dir}/icu4j${api.report.prev.version}.api3.gz" />
            <arg value="-new:" />
            <arg value="${out.dir}/icu4j${api.report.version}.api3.gz" />
            <arg value="-html" />
            <arg value="-out:" />
            <arg value="${out.dir}/icu4j_compare_${api.report.prev.version}_${api.report.version}.html" />
        </java>
    </target>

    <target name="gatherapiOld" depends="info, build-tools" description="Run API database generator tool (Pre Java 5 style)">
        <mkdir dir="${out.dir}"/>
        <javadoc source="1.5"
                 encoding="${java.src.encoding}">
            <packageset dir="${icu4j.core.dir}/src">
                <include name="com/ibm/icu/lang/**"/>
                <include name="com/ibm/icu/math/**"/>
                <include name="com/ibm/icu/text/**"/>
                <include name="com/ibm/icu/util/**"/>
            </packageset>
            <packageset dir="${icu4j.collate.dir}/src">
                <include name="com/ibm/icu/text/**"/>
                <include name="com/ibm/icu/util/**"/>
            </packageset>
            <packageset dir="${icu4j.charset.dir}/src">
                <include name="com/ibm/icu/charset/**"/>
            </packageset>
            <packageset dir="${icu4j.translit.dir}/src">
                <include name="com/ibm/icu/text/**"/>
            </packageset>
            <doclet name="com.ibm.icu.dev.tool.docs.GatherAPIDataOld" path="${icu4j.build-tools.jar}">
                <param name="-name" value="ICU4J ${icu4j.impl.version}"/>
                <param name="-output" value="${out.dir}/icu4j${api.report.version}.api"/>
                <param name="-internal"/>
                <param name="-gzip"/>
            </doclet>
        </javadoc>
    </target>

    <target name="apireportOld" depends="info, gatherapiOld" description="Run API report generator tool (Pre Java 5 Style)">
        <java classname="com.ibm.icu.dev.tool.docs.ReportAPI"
                classpath="${icu4j.build-tools.jar}"
                failonerror="true">
            <arg value="-old:" />
            <arg value="${icu4j.build-tools.dir}/icu4j${api.report.prev.version}.api.gz" />
            <arg value="-new:" />
            <arg value="${out.dir}/icu4j${api.report.version}.api.gz" />
            <arg value="-html" />
            <arg value="-internal" />
            <arg value="-out:" />
            <arg value="${out.dir}/icu4j_compare_${api.report.prev.version}_${api.report.version}.html" />
        </java>
    </target>

    <target name="checkDeprecated" depends="info, build-tools, gatherapi, main"
        description="Check consistency between javadoc @deprecated and @Deprecated annotation">
        <java classname="com.ibm.icu.dev.tool.docs.DeprecatedAPIChecker"
                failonerror="true">
            <arg value="${out.dir}/icu4j${api.report.version}.api3.gz" />
            <classpath>
                <pathelement location="${icu4j.build-tools.jar}"/>
                <pathelement location="${icu4j.core.jar}"/>
                <pathelement location="${icu4j.collate.jar}"/>
                <pathelement location="${icu4j.charset.jar}"/>
                <pathelement location="${icu4j.currdata.jar}"/>
                <pathelement location="${icu4j.langdata.jar}"/>
                <pathelement location="${icu4j.regiondata.jar}"/>
                <pathelement location="${icu4j.translit.jar}"/>
            </classpath>
        </java>
    </target>

    <target name="draftAPIs" depends="info, gatherapi" description="Run API collector tool and generate draft API report">
        <java classname="com.ibm.icu.dev.tool.docs.CollectAPI"
                classpath="${icu4j.build-tools.jar}"
                failonerror="true">
            <arg value="-f"/>
            <arg value="Draft"/>
            <arg value="-o"/>
            <arg value="${out.dir}/draftAPIs.html"/>
            <arg value="${out.dir}/icu4j${api.report.version}.api3.gz" />
        </java>
    </target>

    <target name="swatDeprecated" depends="build-tools" description="Convert @deprecated @draft tags to @provisional">
        <antcall target="_runSwatDeprecated">
            <param name="swat.deprecated.opt" value="-dep"/>
        </antcall>
    </target>

    <target name="swatProvisional" depends="build-tools" description="Convert @provisional tags to @deprecated @draft">
        <antcall target="_runSwatDeprecated">
            <param name="swat.deprecated.opt" value="-prov"/>
        </antcall>
    </target>

    <target name="_runSwatDeprecated">
        <java classname="com.ibm.icu.dev.tool.docs.SwatDeprecated"
                classpath="${icu4j.build-tools.jar}"
                failonerror="true">
            <arg value="${swat.deprecated.opt}"/>
            <arg value="-src"/>
            <arg value="${icu4j.core.dir}/src"/>
            <arg value="-dst"/>
            <arg value="${icu4j.core.dir}/src"/>
            <arg value="-overwrite"/>
            <arg value="-verbose"/>
        </java>
        <java classname="com.ibm.icu.dev.tool.docs.SwatDeprecated"
                classpath="${icu4j.build-tools.jar}"
                failonerror="true">
            <arg value="${swat.deprecated.opt}"/>
            <arg value="-src"/>
            <arg value="${icu4j.charset.dir}/src"/>
            <arg value="-dst"/>
            <arg value="${icu4j.charset.dir}/src"/>
            <arg value="-overwrite"/>
            <arg value="-verbose"/>
        </java>
    </target>

    <target name="serialTestData" depends="main, tests">
        <property name="serial.test.data.dir" value="${out.dir}/serialTestData"/>
        <delete dir="${serial.test.data.dir}"/>
        <mkdir dir="${serial.test.data.dir}"/>
        <java classname="com.ibm.icu.dev.test.serializable.SerializableWriter" fork="yes" failonerror="true">
            <arg line="${serial.test.data.dir}"/>
            <classpath>
                <pathelement location="${icu4j.core.jar}"/>
                <pathelement location="${icu4j.collate.jar}"/>
                <pathelement location="${icu4j.charset.jar}"/>
                <pathelement location="${icu4j.currdata.jar}"/>
                <pathelement location="${icu4j.langdata.jar}"/>
                <pathelement location="${icu4j.regiondata.jar}"/>
                <pathelement location="${icu4j.translit.jar}"/>
                <pathelement location="${icu4j.test-framework.jar}"/>
                <pathelement location="${icu4j.core-tests.jar}"/>
            </classpath>
        </java>
        <echo message="Note: The serialization compatibility test data files were"/>
        <echo message="created in ${serial.test.data.dir}. Once you confirm"/>
        <echo message="the test runs clean, you should copy the data file directory to"/>
        <echo message="main/tests/core/src/com/ibm/icu/dev/test/serializable/data."/>
    </target>

    <!-- Special packaging targets -->
    <target name="translitIMEJar" depends="info" description="Build transliterator IME 'icutransime.jar' jar file">
        <property name="translit.ime.out.dir" value="${out.dir}/translit_ime"/>
 
        <mkdir dir="${translit.ime.out.dir}/bin"/>
        <javac destdir="${translit.ime.out.dir}/bin"
                source="${javac.source}"
                target="${javac.target}"
                encoding="${java.src.encoding}"
                debug="on" deprecation="off">
            <src path="${icu4j.core.dir}/src"/>
            <src path="${icu4j.translit.dir}/src"/>
            <src path="${icu4j.tools.dir}/src"/>
            <include name="com/ibm/icu/dev/tool/ime/translit/*.java"/>
        </javac>

        <copy file="${icu4j.tools.dir}/src/com/ibm/icu/dev/tool/ime/translit/Transliterator.properties"
                todir="${translit.ime.out.dir}/bin/com/ibm/icu/dev/tool/ime/translit"/>

        <mkdir dir="${translit.ime.out.dir}/lib"/>
        <jar jarfile="${translit.ime.out.dir}/lib/icutransime.jar"
                compress="true"
                basedir="${translit.ime.out.dir}/bin"
                includes="com/ibm/icu/dev/tool/ime/translit/**/*"
                manifest="${icu4j.tools.dir}/src/com/ibm/icu/dev/tool/ime/translit/manifest.stub">
            <metainf dir="${icu4j.tools.dir}/src/com/ibm/icu/dev/tool/ime/translit" includes="services/*" />
        </jar>
    </target>

    <target name="indicIMEJar" depends="info" description="Build indic IME 'icuindicime.jar' jar file">
        <property name="indic.ime.out.dir" value="${out.dir}/indic_ime"/>
 
        <mkdir dir="${indic.ime.out.dir}/bin"/>
        <javac destdir="${indic.ime.out.dir}/bin"
                source="${javac.source}"
                target="${javac.target}"
                encoding="${java.src.encoding}"
                debug="on" deprecation="off">
            <src path="${icu4j.core.dir}/src"/>
            <src path="${icu4j.tools.dir}/src"/>
            <include name="com/ibm/icu/dev/tool/ime/indic/*.java"/>
        </javac>

        <copy file="${icu4j.tools.dir}/src/com/ibm/icu/dev/tool/ime/indic/DisplayNames.properties"
                todir="${indic.ime.out.dir}/bin/com/ibm/icu/dev/tool/ime/indic"/>

        <mkdir dir="${indic.ime.out.dir}/lib"/>
        <jar jarfile="${indic.ime.out.dir}/lib/icuindicime.jar"
                compress="true"
                basedir="${indic.ime.out.dir}/bin"
                includes="com/ibm/icu/dev/tool/ime/indic/**/*"
                manifest="${icu4j.tools.dir}/src/com/ibm/icu/dev/tool/ime/indic/manifest.stub">
            <metainf dir="${icu4j.tools.dir}/src/com/ibm/icu/dev/tool/ime/indic" includes="services/*" />
        </jar>
    </target>

    <target name="cldrUtil" depends="icu4jJar" description="Build Utilities for CLDR tooling">
        <mkdir dir="${cldr.util.out.dir}/bin"/>
        <javac destdir="${cldr.util.out.dir}/bin"
                source="${javac.source}"
                target="${javac.target}"
                encoding="${java.src.encoding}"
                debug="on" deprecation="off"
                classpath="${icu4j.jar.file}">

            <src path="${icu4j.tools.dir}/src"/>
            <src path="${icu4j.translit-tests.dir}/src"/>
            <src path="${icu4j.test-framework.dir}/src"/>

            <include name="com/ibm/icu/dev/test/TestFmwk.java" />
            <include name="com/ibm/icu/dev/util/*.java" />
            <include name="com/ibm/icu/dev/tool/UOption.java" />
        </javac>

        <mkdir dir="${cldr.util.out.dir}/lib"/>
        <jar jarfile="${cldr.util.out.dir}/lib/utilities.jar"
                compress="true"
                basedir="${cldr.util.out.dir}/bin">
            <include name="com/ibm/icu/dev/test/*.class"/>
            <include name="com/ibm/icu/dev/util/*.class"/>
            <include name="com/ibm/icu/dev/tool/UOption*.class"/>
        </jar>
    </target>

    <target name="releaseCLDR" depends="icu4jJar,icu4jSrcJar,cldrUtil" description="Build release files for CLDR tooling">
        <mkdir dir="${cldr.release.dir}"/>
        <!-- icu4j.jar -->
        <copy file="${icu4j.jar.file}" todir="${cldr.release.dir}"/>
        <!-- icu4j-src.jar -->
        <copy file="${icu4j-src.jar.file}" todir="${cldr.release.dir}"/>
        <!-- utilities.jar -->
        <copy file="${cldr.util.out.dir}/lib/utilities.jar" todir="${cldr.release.dir}"/>
        <!-- utilities-src.jar -->
        <jar jarfile="${cldr.release.dir}/utilities-src.jar" compress="true">
            <fileset dir="${icu4j.test-framework.dir}/${src.dir}">
                <include name="com/ibm/icu/dev/test/TestFmwk.java"/>
                <include name="com/ibm/icu/dev/test/*Log*.java"/>
                <include name="com/ibm/icu/dev/test/TestUtil.java"/>
                <include name="com/ibm/icu/dev/test/UTF16Util.java"/>
            </fileset>
            <fileset dir="${icu4j.test-framework.dir}/${src.dir}" includes="com/ibm/icu/dev/util/*.java"/>
            <fileset dir="${icu4j.translit-tests.dir}/${src.dir}" includes="com/ibm/icu/dev/util/*.java"/>
            <fileset dir="${icu4j.tools.dir}/${src.dir}" includes="com/ibm/icu/dev/tool/UOption.java"/>
       </jar>
    </target>

    <target name="xliff" description="Build xliff converter tool">
        <property name="xliff.out.dir" value="${out.dir}/xliff"/>

        <mkdir dir="${xliff.out.dir}/bin"/>
        <javac destdir="${xliff.out.dir}/bin"
                source="1.3"
                target="1.3"
                encoding="${java.src.encoding}"
                debug="on" deprecation="off">
            <src path="${icu4j.tools.dir}/src"/>
            <include name="com/ibm/icu/dev/tool/localeconverter/CalculateCRC32.java"/>
            <include name="com/ibm/icu/dev/tool/localeconverter/XLIFF2ICUConverter.java"/>
            <include name="com/ibm/icu/dev/tool/UOption.java"/>
       </javac>

        <mkdir dir="${xliff.out.dir}/lib"/>

        <jar jarfile="${xliff.out.dir}/lib/xliff-src.jar"
                compress="true"
                basedir="${icu4j.tools.dir}/src">
            <include name="com/ibm/icu/dev/tool/localeconverter/CalculateCRC32.java"/>
            <include name="com/ibm/icu/dev/tool/localeconverter/XLIFF2ICUConverter.java"/>
            <include name="com/ibm/icu/dev/tool/UOption.java"/>
        </jar>

        <jar jarfile="${xliff.out.dir}/lib/xliff.jar"
                compress="true"
                basedir="${xliff.out.dir}/bin"
                manifest="${icu4j.tools.dir}/src/com/ibm/icu/dev/tool/localeconverter/manifest.stub"/>
    </target>


    <!-- ICU4J modularization targets -->
    <property name="module.dir" value="${out.dir}/module"/>
    <property name="module.bin.dir" value="${module.dir}/bin"/>
    <property name="module.tests.dir" value="${module.dir}/tests"/>
    <property name="module.jar.dir" value="${module.dir}/lib"/>
    <property name="module.jar" value="${module.jar.dir}/icu4j-module.jar"/>

    <target name="moduleJar" description="Create a ICU4J module jar file">
        <mkdir dir="${module.jar.dir}"/>
        <jar jarfile="${module.jar}"
                compress="true"
                basedir="${module.bin.dir}">
            <manifest>
                <attribute name="Built-By" value="${corp}" />
                <section name="com/ibm/icu">
                    <attribute name="Specification-Title" value="ICU4J Modularized Build" />
                    <attribute name="Specification-Version" value="${jar.spec.version}" />
                    <attribute name="Specification-Vendor" value="ICU" />
                    <attribute name="Implementation-Title" value=" ICU for Java Module" />
                    <attribute name="Implementation-Version" value="${jar.impl.version}" />
                    <attribute name="Implementation-Vendor" value="${corp}" />
                    <attribute name="Implementation-Vendor-Id" value="com.ibm" />
                    <attribute name="Copyright-Info" value="${jar.copyright.info}" />
                    <attribute name="Sealed" value="false" />
                </section>
            </manifest>
        </jar>
        <copy file="${module.jar}" tofile="icu4j.jar"/>
    </target>

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

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

    <!-- Break Iterator -->
    <target name="breakIterator" depends="_copyFullPropsData" description="Modular build of break iterator services">
        <mkdir dir="${module.bin.dir}"/>
        <javac srcdir="${icu4j.core.dir}/src"
                destdir="${module.bin.dir}"
                source="${javac.source}"
                target="${javac.target}"
                encoding="${java.src.encoding}"
                debug="on" deprecation="off">
            <include name="com/ibm/icu/impl/UCharacterName.java"/>
            <include name="com/ibm/icu/impl/data/*Break*.java"/>
            <include name="com/ibm/icu/lang/**/*.java"/>
            <include name="com/ibm/icu/text/*BreakIterator*.java"/>
            <include name="com/ibm/icu/text/UnicodeSetIterator.java"/>
        </javac>
    </target>

    <target name="breakIteratorTests" depends="breakIterator" description="Modular build of break iterator test suite">
        <mkdir dir="${module.tests.dir}"/>
        <javac destdir="${module.tests.dir}"
                source="${javac.source}"
                target="${javac.target}"
                encoding="${java.src.encoding}"
                classpath="${module.bin.dir}"
                debug="on" deprecation="off">
            <src path="${icu4j.core.dir}/src"/>
            <src path="${icu4j.test-framework.dir}/src"/>
            <src path="${icu4j.core-tests.dir}/src"/>
            <src path="${icu4j.testall.dir}/src"/>

            <patternset refid="common.test.sources"/>
            <include name="com/ibm/icu/dev/test/rbbi/**/*.java"/>
        </javac>

        <copy file="${icu4j.core-tests.dir}/src/com/ibm/icu/dev/test/rbbi/rbbitst.txt"
                todir="${module.tests.dir}/com/ibm/icu/dev/test/rbbi"/>
    </target>

    <!-- Calendar -->
    <target name="calendar" description="Modular build of calendar services">
        <mkdir dir="${module.bin.dir}"/>
        <javac srcdir="${icu4j.core.dir}/src"
                destdir="${module.bin.dir}"
                source="${javac.source}"
                target="${javac.target}"
                encoding="${java.src.encoding}"
                debug="on" deprecation="off">
            <include name="com/ibm/icu/impl/data/*Holiday*.java"/>
            <include name="com/ibm/icu/impl/TimeZoneNames*.java"/>
            <include name="com/ibm/icu/lang/UCharacter.java"/>
            <include name="com/ibm/icu/text/UnicodeSetIterator.java"/>
            <include name="com/ibm/icu/text/NumberFormatServiceShim.java"/>
            <include name="com/ibm/icu/util/*Calendar*.java"/>
        </javac>

        <!-- Calendar does not require Collation data, BreakIterator data -->
        <unjar src="${icu4j.data.jar}" dest="${module.bin.dir}">
            <patternset>
                <include name="**/pnames.icu" />
                <include name="**/ucase.icu" />
                <include name="**/unorm.icu" />
                <include name="**/uprops.icu" />
                <include name="**/unames.icu" />
                <include name="**/*.res" />
                <exclude name="**/coll/*.res" />
                <exclude name="**/translit/*.res" />
            </patternset>
        </unjar>
        <unjar src="${icu4j.tzdata.jar}" dest="${module.bin.dir}">
            <patternset>
                <include name="**/*.res" />
            </patternset>
        </unjar>
    </target>

    <target name="calendarTests" depends="calendar" description="Modular build of calendar test suite">
        <mkdir dir="${module.tests.dir}"/>
        <javac destdir="${module.tests.dir}"
                source="${javac.source}"
                target="${javac.target}"
                encoding="${java.src.encoding}"
                classpath="${module.bin.dir}"
                debug="on" deprecation="off">
            <src path="${icu4j.core.dir}/src"/>
            <src path="${icu4j.test-framework.dir}/src"/>
            <src path="${icu4j.core-tests.dir}/src"/>
            <src path="${icu4j.testall.dir}/src"/>

            <patternset refid="common.test.sources"/>
            <include name="com/ibm/icu/dev/test/calendar/**/*.java" />
        </javac>

        <unjar src="${icu4j.testdata.jar}" dest="${module.tests.dir}">
            <patternset>
                <include name="**/calendar.res"/>
            </patternset>
        </unjar>
    </target>

    <!-- Collator -->
    <!-- this module will soon be obsolete, use the collate jar -->
    <target name="collator" description="Modular build of collator services">
        <mkdir dir="${module.bin.dir}"/>
        <javac  destdir="${module.bin.dir}"
                source="${javac.source}"
                target="${javac.target}"
                encoding="${java.src.encoding}"
                debug="on" deprecation="off">
            <src path="${icu4j.core.dir}/src"/>
            <src path="${icu4j.collate.dir}/src"/>

            <include name="com/ibm/icu/impl/coll/*.java"/>
            <include name="com/ibm/icu/impl/data/*Break*.java"/>
            <include name="com/ibm/icu/text/*BreakIterator*.java"/>
            <include name="com/ibm/icu/text/*Collation*.java"/>
            <include name="com/ibm/icu/text/*Collator*.java"/>
            <include name="com/ibm/icu/text/Normalizer.java"/>
            <include name="com/ibm/icu/text/Replaceable.java"/>
            <include name="com/ibm/icu/text/ReplaceableString.java"/>
            <include name="com/ibm/icu/text/UnicodeFilter.java"/>
            <include name="com/ibm/icu/text/UnicodeSetIterator.java"/>
            <include name="com/ibm/icu/text/UTF16.java"/>
        </javac>

        <unjar src="${icu4j.data.jar}" dest="${module.bin.dir}">
            <patternset>
                <include name="**/*.icu"/>
                <include name="**/coll/*.res"/>
                <include name="**/*.brk"/>
                <include name="**/*.nrm"/>
                <include name="**/icudt${icu4j.data.version}b/res_index.res"/>
                <include name="**/keyTypeData.res"/>
            </patternset>
        </unjar>
    </target>

    <target name="collatorTests" depends="collator" description="Modular build of collator test suite">
        <mkdir dir="${module.tests.dir}"/>
        <javac destdir="${module.tests.dir}"
                source="${javac.source}"
                target="${javac.target}"
                encoding="${java.src.encoding}"
                classpath="${module.bin.dir}"
                debug="on" deprecation="off">
            <src path="${icu4j.core.dir}/src"/>
            <src path="${icu4j.test-framework.dir}/src"/>
            <src path="${icu4j.collate-tests.dir}/src"/>
            <src path="${icu4j.testall.dir}/src"/>

            <patternset refid="common.test.sources"/>
            <include name="com/ibm/icu/dev/test/TestAllCollate.java"/>
            <include name="com/ibm/icu/dev/test/collator/**/*.java"/>
            <include name="java,com/ibm/icu/dev/test/search/**/*.java"/>
            <exclude name="com/ibm/icu/dev/test/collator/AlphabeticIndexTest.java"/>
            <exclude name="com/ibm/icu/dev/test/collator/RandomCollator.java"/>
            <exclude name="com/ibm/icu/dev/test/collator/IndexCharactersTest.java"/>
        </javac>

        <copy todir="${module.tests.dir}">
            <fileset dir="${icu4j.collate-tests.dir}/src">
                <include name="com/ibm/icu/dev/data/*.txt"/>
            </fileset>
        </copy>
    </target>

    <!-- Compression -->
    <target name="compression" description="Modular build of compression services">
        <mkdir dir="${module.bin.dir}"/>
        <javac srcdir="${icu4j.core.dir}/src"
                destdir="${module.bin.dir}"
                source="${javac.source}"
                target="${javac.target}"
                encoding="${java.src.encoding}"
                debug="on" deprecation="off">
            <include name="com/ibm/icu/text/SCSU.java"/>
            <include name="com/ibm/icu/text/UnicodeCompressor.java"/>
            <include name="com/ibm/icu/text/UnicodeDecompressor.java"/>
        </javac>
    </target>

    <target name="compressionTests" depends="compression" description="Modular build of compression test suite">
        <mkdir dir="${module.tests.dir}"/>
        <javac destdir="${module.tests.dir}"
                source="${javac.source}"
                target="${javac.target}"
                encoding="${java.src.encoding}"
                classpath="${module.bin.dir}"
                debug="on" deprecation="off">
            <src path="${icu4j.core.dir}/src"/>
            <src path="${icu4j.test-framework.dir}/src"/>
            <src path="${icu4j.core-tests.dir}/src"/>
            <src path="${icu4j.testall.dir}/src"/>

            <patternset refid="common.test.sources"/>
            <include name="com/ibm/icu/dev/test/compression/**/*.java"/>
        </javac>
    </target>

    <!-- Format -->
    <target name="format" description="Modular build of format services">
        <mkdir dir="${module.bin.dir}"/>
        <javac srcdir="${icu4j.core.dir}/src"
                destdir="${module.bin.dir}"
                source="${javac.source}"
                target="${javac.target}"
                encoding="${java.src.encoding}"
                debug="on" deprecation="off">
            <include name="com/ibm/icu/impl/LocaleDisplayNamesImpl.java"/>
            <include name="com/ibm/icu/impl/TimeZoneNames*.java"/>
            <include name="com/ibm/icu/lang/UCharacter.java"/>
            <include name="com/ibm/icu/text/BreakIteratorFactory.java"/>
            <include name="com/ibm/icu/text/*Collator*.java"/>
            <include name="com/ibm/icu/text/*Format*.java"/>
            <include name="com/ibm/icu/text/UnicodeSetIterator.java"/>
            <include name="com/ibm/icu/util/CalendarServiceShim.java"/>
        </javac>

        <javac srcdir="${icu4j.regiondata.dir}/src"
                destdir="${module.bin.dir}"
                source="${javac.source}"
                target="${javac.target}"
                encoding="${java.src.encoding}"
                debug="on" deprecation="off"/>

        <javac srcdir="${icu4j.currdata.dir}/src"
                destdir="${module.bin.dir}"
                source="${javac.source}"
                target="${javac.target}"
                encoding="${java.src.encoding}"
                debug="on" deprecation="off"/>

        <unjar src="${icu4j.data.jar}" dest="${module.bin.dir}">
            <patternset>
                <include name="**/*.icu"/>
                <include name="**/*.brk"/>
                <include name="**/*.res"/>
                <exclude name="**/translit/*.res"/>
            </patternset>
        </unjar>
        <unjar src="${icu4j.tzdata.jar}" dest="${module.bin.dir}">
            <patternset>
                <include name="**/*.res" />
            </patternset>
        </unjar>
    </target>

    <target name="formatTests" depends="format" description="Modular build of format test suite">
        <mkdir dir="${module.tests.dir}"/>
        <javac destdir="${module.tests.dir}"
                source="${javac.source}"
                target="${javac.target}"
                encoding="${java.src.encoding}"
                classpath="${module.bin.dir}"
                debug="on" deprecation="off">
            <src path="${icu4j.core.dir}/src"/>
            <src path="${icu4j.test-framework.dir}/src"/>
            <src path="${icu4j.core-tests.dir}/src"/>
            <src path="${icu4j.testall.dir}/src"/>

            <patternset refid="common.test.sources"/>
            <include name="com/ibm/icu/dev/test/format/**/*.java"/>
            <exclude name="com/ibm/icu/dev/test/format/GlobalizationPreferencesTest.java"/>
        </javac>

        <unjar src="${icu4j.testdata.jar}" dest="${module.tests.dir}">
            <patternset>
                <include name="**/format.res"/>
            </patternset>
        </unjar>

        <copy file="${icu4j.core-tests.dir}/src/com/ibm/icu/dev/test/format/NumberFormatTestCases.txt"
                todir="${module.tests.dir}/com/ibm/icu/dev/test/format"/>

        <copy file="${icu4j.core-tests.dir}/src/com/ibm/icu/dev/data/numberformattestspecification.txt"
                todir="${module.tests.dir}/com/ibm/icu/dev/data"/>

    </target>

    <!-- Normalizer -->
    <target name="normalizer" description="Modular build of normalizer services">
        <mkdir dir="${module.bin.dir}"/>
        <javac srcdir="${icu4j.core.dir}/src"
                destdir="${module.bin.dir}"
                source="${javac.source}"
                target="${javac.target}"
                encoding="${java.src.encoding}"
                debug="on" deprecation="off">
            <include name="com/ibm/icu/lang/**/*"/>
            <include name="com/ibm/icu/text/CanonicalIterator.java"/>
            <include name="com/ibm/icu/text/Normalizer.java"/>
            <include name="com/ibm/icu/text/Replaceable.java"/>
            <include name="com/ibm/icu/text/ReplaceableString.java"/>
            <include name="com/ibm/icu/text/UCharacterIterator.java"/>
            <include name="com/ibm/icu/text/UForwardCharacterIterator.java"/>
            <include name="com/ibm/icu/text/UnicodeFilter.java"/>
            <include name="com/ibm/icu/text/UnicodeSetIterator.java"/>
            <include name="com/ibm/icu/text/UTF16.java"/>
        </javac>

        <unjar src="${icu4j.data.jar}" dest="${module.bin.dir}">
            <patternset>
                <include name="**/ubidi.icu"/>
                <include name="**/ucase.icu"/>
                <include name="**/unorm.icu"/>
                <include name="**/uprops.icu"/>
                <include name="**/pnames.icu"/>
                <include name="**/unames.icu"/>
                <include name="**/*.nrm"/>
            </patternset>
        </unjar>
    </target>

    <target name="normalizerTests" depends="normalizer" description="Modular build of normalizer test suite">
        <mkdir dir="${module.tests.dir}"/>
        <javac destdir="${module.tests.dir}"
                source="${javac.source}"
                target="${javac.target}"
                encoding="${java.src.encoding}"
                classpath="${module.bin.dir}"
                debug="on" deprecation="off">
            <src path="${icu4j.core.dir}/src"/>
            <src path="${icu4j.test-framework.dir}/src"/>
            <src path="${icu4j.core-tests.dir}/src"/>
            <src path="${icu4j.testall.dir}/src"/>

            <patternset refid="common.test.sources"/>
            <include name="com/ibm/icu/dev/test/normalizer/**/*.java"/>
            <exclude name="com/ibm/icu/dev/test/normalizer/TestDeprecatedNormalizerAPI.java"/>
        </javac>

        <copy todir="${module.tests.dir}">
            <fileset dir="${icu4j.core-tests.dir}/src">
                <include name="com/ibm/icu/dev/data/unicode/*.txt"/>
            </fileset>
        </copy>

        <unjar src="${icu4j.testdata.jar}" dest="${module.tests.dir}">
            <patternset>
                <include name="**/testnorm.nrm"/>
            </patternset>
        </unjar>

    </target>

    <!-- Character Properties -->
    <target name="_copyBasicPropsData">
        <mkdir dir="${module.bin.dir}"/>
        <unjar src="${icu4j.data.jar}" dest="${module.bin.dir}">
            <patternset>
                <include name="**/unorm.icu"/>
                <include name="**/uprops.icu"/>
                <include name="**/ubidi.icu"/>
                <include name="**/ucase.icu"/>
                <include name="**/pnames.icu"/>
                <include name="**/unames.icu"/>
                <include name="**/*.nrm"/>
            </patternset>
        </unjar>
    </target>

    <target name="_copyFullPropsData">
        <mkdir dir="${module.bin.dir}"/>
        <unjar src="${icu4j.data.jar}" dest="${module.bin.dir}">
            <patternset>
                <include name="**/unorm.icu"/>
                <include name="**/uprops.icu"/>
                <include name="**/ubidi.icu"/>
                <include name="**/ucase.icu"/>
                <include name="**/unames.icu"/>
                <include name="**/pnames.icu"/>
                <include name="**/*.res"/>
                <include name="**/*.brk"/>
                <include name="**/*.dict"/>
                <include name="**/*.nrm"/>
                <exclude name="**/coll/*.res"/>
                <exclude name="**/translit/*.res"/>
                <exclude name="**/rbnf/*.res"/>
            </patternset>
        </unjar>
        <unjar src="${icu4j.tzdata.jar}" dest="${module.bin.dir}">
            <patternset>
                <include name="**/*.res" />
            </patternset>
        </unjar>
    </target>

    <target name="_propertiesClasses">
        <mkdir dir="${module.bin.dir}"/>
        <javac srcdir="${icu4j.core.dir}/src"
                destdir="${module.bin.dir}"
                source="${javac.source}"
                target="${javac.target}"
                encoding="${java.src.encoding}"
                debug="on" deprecation="off">
            <include name="com/ibm/icu/impl/data/*Break*.java"/>
            <include name="com/ibm/icu/lang/**/*"/>
            <include name="com/ibm/icu/text/*BreakDictionary*.java"/>
            <include name="com/ibm/icu/text/*BreakIterator*.java"/>
            <include name="com/ibm/icu/text/UnicodeSetIterator.java"/>
        </javac>
    </target>

    <target name="_propertiesTests">
        <mkdir dir="${module.tests.dir}"/>
        <javac destdir="${module.tests.dir}"
                source="${javac.source}"
                target="${javac.target}"
                encoding="${java.src.encoding}"
                classpath="${module.bin.dir}"
                debug="on" deprecation="off">
            <src path="${icu4j.core.dir}/src"/>
            <src path="${icu4j.test-framework.dir}/src"/>
            <src path="${icu4j.core-tests.dir}/src"/>
            <src path="${icu4j.testall.dir}/src"/>

            <patternset refid="common.test.sources"/>
            <include name="com/ibm/icu/dev/test/lang/**/*.java"/>
            <exclude name="com/ibm/icu/dev/test/lang/TestUScriptRun.java"/>
        </javac>

        <copy todir="${module.tests.dir}">
            <fileset dir="${icu4j.core-tests.dir}/src">
                <include name="com/ibm/icu/dev/data/unicode/SpecialCasing.txt"/>
                <include name="com/ibm/icu/dev/data/unicode/UnicodeData.txt"/>
            </fileset>
        </copy>
    </target>

    <target name="propertiesBasic" depends="_propertiesClasses, _copyBasicPropsData" description="Modular build of basic character properties"/>

    <target name="propertiesBasicTests" depends="propertiesBasic, _propertiesTests" description="Modular build of basic character properties test suite"/>

    <target name="propertiesFull" depends="_propertiesClasses, _copyFullPropsData" description="Modular build of full character properties"/>

    <target name="propertiesFullTests" depends="propertiesFull, _propertiesTests" description="Modular build of full character properties test suite"/>

    <!-- Transliterator -->
    <!-- this module will soon be obsolete, use the translit jar -->
    <target name="transliterator" depends="_propertiesClasses" description="Modular build of transliterator services">
        <mkdir dir="${module.bin.dir}"/>
        <javac  destdir="${module.bin.dir}"
                source="${javac.source}"
                target="${javac.target}"
                encoding="${java.src.encoding}"
                debug="on" deprecation="off">
            <src path="${icu4j.core.dir}/src"/>
            <src path="${icu4j.translit.dir}/src"/>

            <include name="com/ibm/icu/impl/*Iterator*.java"/>
            <include name="com/ibm/icu/impl/*Property*.java"/>
            <include name="com/ibm/icu/impl/data/ResourceReader.java"/>
            <include name="com/ibm/icu/impl/UtilityExtensions.java"/>
            <include name="com/ibm/icu/text/*Transliterator*.java"/>
            <include name="com/ibm/icu/text/UnicodeSetIterator.java"/>
            <include name="com/ibm/icu/text/BreakIteratorFactory.java"/>
        </javac>

        <unjar src="${icu4j.data.jar}" dest="${module.bin.dir}">
            <patternset>
                <include name="**/unorm.icu"/>
                <include name="**/uprops.icu"/>
                <include name="**/ubidi.icu"/>
                <include name="**/ucase.icu"/>
                <include name="**/unames.icu"/>
                <include name="**/pnames.icu"/>
                <include name="**/*.brk"/>
                <include name="**/*.dict"/>
                <include name="**/*.nrm"/>
                <include name="**/brkitr/*.res"/>
                <include name="**/translit/*.res"/>
                <include name="**/likelySubtags.res"/>
            </patternset>
        </unjar>
    </target>

    <target name="transliteratorTests" depends="transliterator" description="Modular build of transliterator test suite">
        <mkdir dir="${module.tests.dir}"/>
        <javac destdir="${module.tests.dir}"
                source="${javac.source}"
                target="${javac.target}"
                encoding="${java.src.encoding}"
                classpath="${module.bin.dir}"
                debug="on" deprecation="off">
            <src path="${icu4j.core.dir}/src"/>
            <src path="${icu4j.test-framework.dir}/src"/>
            <src path="${icu4j.translit-tests.dir}/src"/>
            <src path="${icu4j.testall.dir}/src"/>

            <patternset refid="common.test.sources"/>
            <include name="com/ibm/icu/dev/test/TestAllTranslit.java"/>
            <include name="com/ibm/icu/dev/test/translit/**/*.java"/>
            <exclude name="com/ibm/icu/dev/test/translit/UnicodeFilterLogic*.java"/>
        </javac>

        <copy file="${icu4j.translit-tests.dir}/src/com/ibm/icu/dev/test/translit/langtagRegex.txt"
                todir="${module.tests.dir}/com/ibm/icu/dev/test/translit"/>
    </target>

    <!-- StringPrep -->
    <target name="stringPrep" depends="normalizer" description="Modular build of stringprep services">
        <mkdir dir="${module.bin.dir}"/>
        <javac srcdir="${icu4j.core.dir}/src"
                destdir="${module.bin.dir}"
                source="${javac.source}"
                target="${javac.target}"
                encoding="${java.src.encoding}"
                debug="on" deprecation="off">
            <include name="com/ibm/icu/impl/*StringPrep*.java"/>
            <include name="com/ibm/icu/text/*IDNA*.java"/>
            <include name="com/ibm/icu/text/*StringPrep*.java"/>
        </javac>

        <unjar src="${icu4j.data.jar}" dest="${module.bin.dir}">
            <patternset>
                <include name="**/*.spp"/>
                <include name="**/ubidi.icu"/>
                <include name="**/ucase.icu"/>
                <include name="**/unorm.icu"/>
                <include name="**/uprops.icu"/>
                <include name="**/pnames.icu"/>
                <include name="**/unames.icu"/>
            </patternset>
        </unjar>
    </target>

    <target name="stringPrepTests" depends="stringPrep" description="Modular build of stringprep test suite">
        <mkdir dir="${module.tests.dir}"/>
        <javac destdir="${module.tests.dir}"
                source="${javac.source}"
                target="${javac.target}"
                encoding="${java.src.encoding}"
                classpath="${module.bin.dir}"
                debug="on" deprecation="off">
            <src path="${icu4j.core.dir}/src"/>
            <src path="${icu4j.test-framework.dir}/src"/>
            <src path="${icu4j.core-tests.dir}/src"/>
            <src path="${icu4j.testall.dir}/src"/>

            <patternset refid="common.test.sources"/>
            <include name="com/ibm/icu/dev/test/stringprep/**/*.java"/>
        </javac>

        <unjar src="${icu4j.testdata.jar}" dest="${module.tests.dir}">
            <patternset>
                <include name="**/*.spp"/>
                <include name="**/idna_rules.res"/>
            </patternset>
        </unjar>

        <copy file="${icu4j.core-tests.dir}/src/com/ibm/icu/dev/data/IDNATestInput.txt"
                todir="${module.tests.dir}/com/ibm/icu/dev/data"/>
    </target>

    <target name="publishToMavenRepo" depends="releaseVer">
        <!--
            Publish libraries to Maven repositories, snapshot or release depending on current
            version in pom.xml.

            Prerequisites
            
            1) Apache Maven Ant tasks - http://maven.apache.org/ant-tasks
            2) GnuPG
            3) Put build-local.properties to specify followings
            
                maven-ant-tasks.jar = [location of maven ant tasks jar file]
                gpg.user = ICU Project
                gpg.passphrase = [passprase for ICU Project's PGP key]

            4) Maven configuration file ~/.m2/settings.xml
                <settings>
                    <servers>
                        <server>
                            <id>icu4j-releases</id>
                            <username>[your JIRA/Nexus ID]</username>
                            <password>[your JIRA/Nexus password]</password>
                        </server>
                        <server>
                            <id>icu4j-snapshots</id>
                            <username>[your JIRA/Nexus ID]</username>
                            <password>[your JIRA/Nexus password]</password>
                        </server>
                    </servers>
                </settings>

            Note: For now, charset.jar and localespi.jar are excluded.
        -->
        <fail message="Maven Ant Tasks are required to publish libraries. Set maven-ant-tasks.jar property. Maven Ant Tasks URL: http://maven.apache.org/ant-tasks/" unless="maven-ant-tasks.jar"/>
        <condition property="no_maven-ant-tasks">
            <available file="${maven-ant-tasks.jar}"/>
        </condition>
        <fail message="Maven Ant Tasks not found at ${maven-ant-tasks.jar}" unless="no_maven-ant-tasks"/>

        <path id="maven-ant-tasks.classpath" path="${maven-ant-tasks.jar}"/>
        <typedef resource="org/apache/maven/artifact/ant/antlib.xml" uri="urn:maven-artifact-ant"
            classpathref="maven-ant-tasks.classpath"/>

        <xmlproperty file="pom.xml" prefix="pom.xml"/>

        <!-- copy release files -->
        <property name="maven.release.dir" value="${release.dir}/maven"/>

        <property name="maven.icu4j.jar.versioned.file" value="icu4j-${pom.xml.project.version}.jar"/>
        <property name="maven.icu4j-src.jar.versioned.file" value="icu4j-${pom.xml.project.version}-src.jar"/>
        <property name="maven.icu4jdocs.jar.file" value="icu4j-${pom.xml.project.version}-javadoc.jar"/>

        <mkdir dir="${maven.release.dir}"/>

        <copy file="${release.dir}/${icu4j.jar.versioned.file}" tofile="${maven.release.dir}/${maven.icu4j.jar.versioned.file}"/>
        <copy file="${release.dir}/${icu4j-src.jar.versioned.file}" tofile="${maven.release.dir}/${maven.icu4j-src.jar.versioned.file}"/>
        <copy file="${release.dir}/${icu4jdocs.jar.versioned.file}" tofile="${maven.release.dir}/${maven.icu4jdocs.jar.file}"/>

        <copy file="pom.xml" todir="${maven.release.dir}"/>

        <!-- sign release files-->
        <macrodef name="gpg">
            <attribute name="file"/>
            <sequential>
                <delete file="@{file}.asc" failonerror="false"/>
                <exec executable="gpg">
                    <arg value="-u"/>
                    <arg value="${gpg.user}"/>
                    <arg value="-ab"/>
                    <arg value="--passphrase"/>
                    <arg value="${gpg.passphrase}"/>
                    <arg value="-o"/>
                    <arg value="@{file}.asc"/>
                    <arg value="@{file}"/>
                </exec>
            </sequential>
        </macrodef>

        <gpg file="${maven.release.dir}/${maven.icu4j.jar.versioned.file}"/>
        <gpg file="${maven.release.dir}/${maven.icu4j-src.jar.versioned.file}"/>
        <gpg file="${maven.release.dir}/${maven.icu4jdocs.jar.file}"/>

        <gpg file="${maven.release.dir}/pom.xml"/>

        <!-- deploy files to the repository -->
        <deploy xmlns="urn:maven-artifact-ant" file="${maven.release.dir}/${maven.icu4j.jar.versioned.file}">
            <pom file="${maven.release.dir}/pom.xml"/>
            <attach file="${maven.release.dir}/pom.xml.asc" type="pom.asc"/>

            <attach file="${maven.release.dir}/${maven.icu4j.jar.versioned.file}.asc" type="jar.asc"/>
            <attach file="${maven.release.dir}/${maven.icu4j-src.jar.versioned.file}" classifier="sources"/>
            <attach file="${maven.release.dir}/${maven.icu4j-src.jar.versioned.file}.asc" classifier="sources" type="jar.asc"/>
            <attach file="${maven.release.dir}/${maven.icu4jdocs.jar.file}" classifier="javadoc"/>
            <attach file="${maven.release.dir}/${maven.icu4jdocs.jar.file}.asc" classifier="javadoc" type="jar.asc"/>
        </deploy>

        <antcall target="_verify_config_for_release"/>
    </target>

</project>
