scuffed-code/icu4j/build.xml
2007-01-06 02:32:49 +00:00

2457 lines
123 KiB
XML

<!--
/*
*******************************************************************************
* Copyright (C) 1997-2007, International Business Machines Corporation and *
* others. All Rights Reserved. *
*******************************************************************************
* This is the ant build file for ICU4J. See readme.html for more information.
*/
-->
<project name="ICU4J" default="core" basedir=".">
<!-- ### Begin Clover 1.2 setup ### -->
<typedef resource="clovertypes"/>
<taskdef resource="clovertasks"/>
<target name="with.clover">
<mkdir dir="tmp/"/>
<clover-setup initString="tmp/icu4j.db">
<files>
<exclude name="**/dev/**/*.java"/>
</files>
<methodContext name="API" regexp="(.* )?public .*"/>
</clover-setup>
</target>
<target name="clover.summary" depends="with.clover">
<clover-report >
<current outfile="icu4j_html" summary="true">
<format type="html" srcLevel="false"/>
</current>
</clover-report>
</target>
<target name="clover.report" depends="with.clover">
<clover-report >
<current outfile="icu4j_html">
<format type="html"/>
</current>
</clover-report>
</target>
<target name="clover.log" depends="with.clover">
<clover-log level="method" filter="private">
<package name="com.ibm.icu.text"/>
<package name="com.ibm.icu.lang"/>
<package name="com.ibm.icu.math"/>
<package name="com.ibm.icu.util"/>
</clover-log>
</target>
<!-- ### End Clover 1.2 setup ### -->
<target name="anthack1">
<!-- It's a real pain to set properties conditionally.
Ant 1.5 isn't really any better than 1.4, in fact 1.5 enforces that
properties are write-once so you can't even set a default and then
override it, which we used to do for Ant 1.4. -->
<condition property="version.1.4">
<or>
<equals arg1="${ant.java.version}" arg2="1.4"/>
<equals arg1="${ant.java.version}" arg2="1.5"/>
<equals arg1="${ant.java.version}" arg2="1.6"/>
</or>
</condition>
<condition property="doc.params"
value="-breakiterator -use -tagletpath ./classes -taglet com.ibm.icu.dev.tool.docs.ICUTaglet -group 'ICU Core' 'com.ibm.icu.lang*:com.ibm.icu.math*:com.ibm.icu.text*:com.ibm.icu.util*:com.ibm.icu.charset' -group 'ICU Tests' 'com.ibm.icu.dev.test*' -group 'Demos' 'com.ibm.icu.dev.demo*' -group 'ICU Tools' 'com.ibm.icu.dev*'">
<equals arg1="${version.1.4}" arg2="true"/>
</condition>
<condition property="richeditdoc.params"
value="-breakiterator -use -tagletpath ./classes -taglet com.ibm.icu.dev.tool.docs.ICUTaglet -group 'Rich Text Editing' 'com.ibm.richtext*'">
<equals arg1="${version.1.4}" arg2="true"/>
</condition>
</target>
<target name="anthack2" unless="doc.params">
<property name="doc.params" value=""/>
</target>
<target name="init">
<tstamp/>
<property name="src.dir" value="src"/>
<property name="build.dir" value="classes"/>
<property name="api.dir" value="${src.dir}/com/ibm/icu/dev/tool/docs"/>
<property name="doc.dir" value="doc"/>
<property name="testjar.file" value="icu4jtests.jar"/>
<property name="jar.file" value="icu4j.jar"/>
<property name="charsets.jar.file" value="icu4j-charsets.jar"/>
<property name="jarSrc.file" value="icu4jsrc.jar"/>
<property name="zipCoreSrc.file" value="icu4jcsrc.zip"/>
<property name="zipTestSrc.file" value="icu4jtsrc.zip"/>
<property name="jdk.wrapper.jar.file" value="icu4jwrapper.jar"/>
<property name="eclipse.dir" value="${src.dir}/com/ibm/icu/dev/eclipse"/>
<property name="eclipse.projects.dir" value="eclipseProjects"/>
<property name="wrapper.build.dir" value="classes.wrapper"/>
<property name="jarDocs.file" value="icu4jdocs.jar"/>
<property name="ime.translit.jar.file" value="icutransime.jar"/>
<property name="ime.indic.jar.file" value="icuindicime.jar"/>
<property name="ime.translit.manifest" value="${src.dir}/com/ibm/icu/dev/tool/ime/translit/manifest.stub"/>
<property name="ime.indic.manifest" value="${src.dir}/com/ibm/icu/dev/tool/ime/indic/manifest.stub"/>
<property name="zip.file" value="../icu4j${DSTAMP}.zip"/>
<property name="zipSrc.file" value="../icu4jSrc${DSTAMP}.zip"/>
<property file="build.properties" />
<!-- fix the data folder every time there is a version update-->
<property name="icu4j.data.path" value="com/ibm/icu/impl/data/icudt${icu4j.version.number}b/" />
<property name="icu4j.testdata.path" value="com/ibm/icu/dev/data/testdata/" />
<property name="icu4j.javac.source" value="1.3"/>
<property name="icu4j.javac.target" value="1.3"/>
<path id="build.classpath">
<pathelement path="${build.dir}"/>
</path>
<property name="richedit.dir" value="richedit"/>
<property name="richedit.doc.dir" value="${richedit.dir}/doc"/>
<property name="richedit.jar.file" value="${richedit.dir}/richedit.jar"/>
<property name="richedit.zip.file" value="${richedit.dir}/richedit.zip"/>
<property name="richedit.manifest" value="${src.dir}/com/ibm/richtext/manifest.stub"/>
<!-- Load environment variables -->
<property environment="env"/>
<!-- Capture the computer name in a cross-platform manner -->
<property name="env.COMPUTERNAME" value="${env.HOSTNAME}"/>
<mkdir dir="${build.dir}"/>
<mkdir dir="${wrapper.build.dir}"/>
<echo message="java home: ${java.home}"/>
<echo message="java version: ${java.version}"/>
<echo message="ant java version: ${ant.java.version}"/>
<echo message="${ant.version}"/>
<echo message="${env.COMPUTERNAME} with ${os.name} ${os.version} on ${os.arch}"/>
<echo message="clover initstring = '${clover.initstring}'"/>
<uptodate property="icu4j.resources" targetfile="${src.dir}/com/ibm/icu/impl/data">
<!-- note must not have '/' before 'com' in srcfiles includes arg! -->
<srcfiles dir="${build.dir}" includes="${icu4j.data.path}/res_index.res"/>
</uptodate>
<uptodate property="icu4j.testdata.resources" targetfile="${src.dir}/com/ibm/icu/dev/data">
<!-- note must not have '/' before 'com' in srcfiles includes arg! -->
<srcfiles dir="${build.dir}" includes="${icu4j.testdatadata.path}/root.res"/>
</uptodate>
<uptodate property="icu4j.module.resources" targetfile="${src.dir}/com/ibm/icu/impl/data/icudata.jar" >
<srcfiles dir="${build.dir}" includes="${icu4j.data.path}/*.icu"/>
</uptodate>
<!-- <echo message="icu4j.module.resources result: ${icu4j.module.resources}" /> -->
</target>
<!-- build everything but dist-related stuff -->
<target name="all" depends="core,tests,tools,richedit,demos,jar,docs" description="build all primary targets"/>
<target name="resources" depends="init, icudata, coreData, testdata" description="builds all the resources"/>
<target name="icudata" depends="init" if="icu4j.resources">
<!-- use this target to force resources to be rebuilt -->
<unjar src="${src.dir}/com/ibm/icu/impl/data/icudata.jar" dest="${build.dir}"/>
<touch file="${build.dir}/${icu4j.data.path}/res_index.res"/>
<copy todir="${build.dir}/META-INF">
<fileset dir="${src.dir}/META-INF" includes="**/*"/>
</copy>
</target>
<!--
use this target to conditionally build resources only if icu4j.resources is set
<target name="icu" depends="init" if="icu4j.resources">
<unjar src="${src.dir}/com/ibm/icu/impl/data/ICULocaleData.jar" dest="${build.dir}"/>
<touch file="${build.dir}/com/ibm/icu/impl/data/LocaleElements_index.class"/>
</target>
-->
<!-- core does not build richedit or tests -->
<target name="core" depends="init,coreData,icudata" description="build core classes and data">
<javac sourcepath=""
srcdir="${src.dir}"
destdir="${build.dir}"
classpathref="build.classpath"
source="${icu4j.javac.source}"
target="${icu4j.javac.target}"
debug="on" deprecation="off"
encoding="ascii">
<exclude name="**/CVS/**/*"/>
<include name="com/ibm/icu/charset/**/*.java"/>
<include name="com/ibm/icu/impl/**/*.java"/>
<include name="com/ibm/icu/lang/*.java"/>
<include name="com/ibm/icu/math/**/*.java"/>
<include name="com/ibm/icu/text/**/*.java"/>
<include name="com/ibm/icu/util/**/*.java"/>
</javac>
</target>
<target name="tests" depends="core,testdata" description="build tests">
<javac srcdir="${src.dir}"
destdir="${build.dir}"
classpathref="build.classpath"
source="${icu4j.javac.source}"
target="${icu4j.javac.target}"
debug="on" deprecation="off">
<exclude name="**/CVS/**/*"/>
<include name="com/ibm/icu/dev/test/calendar/**/*.java"/>
</javac>
<javac srcdir="${src.dir}"
destdir="${build.dir}"
classpathref="build.classpath"
source="${icu4j.javac.source}"
target="${icu4j.javac.target}"
debug="on" deprecation="off">
<exclude name="**/CVS/**/*"/>
<include name="com/ibm/icu/dev/test/collator/**/*.java"/>
</javac>
<javac srcdir="${src.dir}"
destdir="${build.dir}"
classpathref="build.classpath"
source="${icu4j.javac.source}"
target="${icu4j.javac.target}"
debug="on" deprecation="off">
<exclude name="**/CVS/**/*"/>
<include name="com/ibm/icu/dev/test/format/**/*.java"/>
</javac>
<javac srcdir="${src.dir}"
destdir="${build.dir}"
classpathref="build.classpath"
source="${icu4j.javac.source}"
target="${icu4j.javac.target}"
debug="on" deprecation="off">
<exclude name="**/CVS/**/*"/>
<include name="com/ibm/icu/dev/test/translit/**/*.java"/>
</javac>
<javac srcdir="${src.dir}"
destdir="${build.dir}"
classpathref="build.classpath"
source="${icu4j.javac.source}"
target="${icu4j.javac.target}"
debug="on" deprecation="off">
<exclude name="**/CVS/**/*"/>
<include name="com/ibm/icu/dev/test/lang/**/*.java"/>
<include name="com/ibm/icu/dev/test/normalizer/**/*.java"/>
</javac>
<javac srcdir="${src.dir}"
destdir="${build.dir}"
classpathref="build.classpath"
source="${icu4j.javac.source}"
target="${icu4j.javac.target}"
debug="on" deprecation="off">
<exclude name="**/CVS/**/*"/>
<include name="com/ibm/icu/dev/test/serializable/**/*.java"/>
</javac>
<javac srcdir="${src.dir}"
destdir="${build.dir}"
classpathref="build.classpath"
source="${icu4j.javac.source}"
target="${icu4j.javac.target}"
debug="on" deprecation="off">
<exclude name="**/CVS/**/*"/>
<include name="com/ibm/icu/dev/test/**/*.java"/>
</javac>
</target>
<target name="demos" depends="core,testdata" description="build demos">
<javac srcdir="${src.dir}"
destdir="${build.dir}"
classpathref="build.classpath"
source="${icu4j.javac.source}"
target="${icu4j.javac.target}"
debug="on" deprecation="off">
<exclude name="**/CVS/**/*"/>
<include name="com/ibm/icu/dev/demo/**/*.java"/>
</javac>
</target>
<target name="buildmangle" depends="init,anthack1">
<javac srcdir="${src.dir}"
destdir="${build.dir}"
classpathref="build.classpath"
source="${icu4j.javac.source}"
target="${icu4j.javac.target}">
<include name="com/ibm/icu/dev/tool/docs/CodeMangler.java"/>
</javac>
</target>
<target name="mangle" depends="buildmangle">
<!-- this is a hack for now, need a way to express dependency on the .jpp files
and to provide directories or trees of files to the code mangler tool. -->
<java classname="com.ibm.icu.dev.tool.docs.CodeMangler" classpath="${build.dir}" logError="true">
<arg value="-dVERSION_${ant.java.version}"/>
<arg value="${src.dir}/com/ibm/icu/dev/tool/docs/ICUTaglet.java"/>
</java>
</target>
<target name="indices" depends="icudata,build_indexgenerator">
<java classname="com.ibm.icu.dev.tool.index.IndexGenerator" classpath="${build.dir}" logError="true">
<arg value="${build.dir}/${icu4j.data.path}" />
</java>
<java classname="com.ibm.icu.dev.tool.index.IndexGenerator" classpath="${build.dir}" logError="true">
<arg value="${build.dir}/${icu4j.data.path}/rbnf" />
</java>
<java classname="com.ibm.icu.dev.tool.index.IndexGenerator" classpath="${build.dir}" logError="true">
<arg value="${build.dir}/${icu4j.data.path}/coll" />
</java>
<java classname="com.ibm.icu.dev.tool.index.IndexGenerator" classpath="${build.dir}" logError="true">
<arg value="${build.dir}/${icu4j.data.path}/translit" />
</java>
</target>
<target name="one4tools" depends="anthack1,anthack2,mangle" if="version.1.4">
<javac srcdir="${src.dir}"
destdir="${build.dir}"
classpathref="build.classpath"
source="${icu4j.javac.source}"
target="${icu4j.javac.target}"
debug="on" deprecation="off">
<exclude name="**/CVS/**/*"/>
<include name="com/ibm/icu/dev/localeconverter/docs/*.java"/>
<include name="com/ibm/icu/dev/tool/docs/*.java"/>
</javac>
</target>
<target name="tools" depends="core,one4tools" description="build tools">
<javac srcdir="${src.dir}"
destdir="${build.dir}"
classpathref="build.classpath"
source="${icu4j.javac.source}"
target="${icu4j.javac.target}"
debug="on" deprecation="off">
<exclude name="com/ibm/icu/dev/tool/cldr/*"/>
<exclude name="com/ibm/icu/dev/tool/localeconverter/*"/>
<exclude name="com/ibm/icu/dev/tool/docs/*"/>
<exclude name="**/CVS/**/*"/>
<include name="com/ibm/icu/dev/tool/**/*.java"/>
</javac>
</target>
<target name="build_indexgenerator" >
<javac srcdir="${src.dir}"
destdir="${build.dir}"
classpathref="build.classpath"
source="${icu4j.javac.source}"
target="${icu4j.javac.target}"
debug="on" deprecation="off">
<include name="com/ibm/icu/dev/tool/index/IndexGenerator.java"/>
</javac>
</target>
<!-- use excludefiles below when we move to ant 1.5 -->
<target name="docs" depends="anthack1,anthack2,tools" description="build user javadoc">
<echo message="doc params: ${doc.params}"/>
<mkdir dir="${doc.dir}"/>
<javadoc
packagenames="com.ibm.icu.lang,com.ibm.icu.text,com.ibm.icu.util,com.ibm.icu.math,com.ibm.icu.charset,com.ibm.icu.dev"
sourcepath="${src.dir}"
destdir="${doc.dir}"
nodeprecatedlist="true"
windowtitle="icu4j"
doctitle="icu4j"
encoding="iso-8859-1"
docencoding="iso-8859-1"
bottom="&lt;font size=-1>Copyright (c) ${current.year} IBM Corporation and others.&lt;/font>"
additionalparam="${doc.params}"
link="http://java.sun.com/j2se/1.5/docs/api"
source="1.4"/>
</target>
<target name="fulldocs" depends="anthack1,anthack2,tools" description="build all javadoc">
<echo message="doc params: ${doc.params}"/>
<mkdir dir="${doc.dir}"/>
<javadoc
packagenames="com.ibm.icu.*"
sourcepath="${src.dir}"
destdir="${doc.dir}"
nodeprecatedlist="true"
windowtitle="icu4j"
doctitle="icu4j"
encoding="iso-8859-1"
docencoding="iso-8859-1"
bottom="&lt;font size=-1>Copyright (c) 2004 IBM Corporation and others.&lt;/font>"
additionalparam="${doc.params}"
link="http://java.sun.com/j2se/1.4/docs/api"
source="1.4"/>
</target>
<target name ="coreData" depends="init">
<copy todir="${build.dir}/com/ibm/icu/impl/data">
<fileset dir="${src.dir}/com/ibm/icu/impl/data"
includes="*.icu,*.spp,*.brk"
excludes="**/CVS/**/*,Transliterator_Han_Latin_*.txt"/>
</copy>
</target>
<target name ="testdata" depends="init">
<copy file="${src.dir}/com/ibm/icu/dev/data/rbbi/english.dict"
todir="${build.dir}/com/ibm/icu/dev/data/rbbi"/>
<copy file="${src.dir}/com/ibm/icu/dev/test/rbbi/rbbitst.txt"
todir="${build.dir}/com/ibm/icu/dev/test/rbbi"/>
<copy file="${src.dir}/com/ibm/icu/dev/test/charsetdet/CharsetDetectionTests.xml"
todir="${build.dir}/com/ibm/icu/dev/test/charsetdet"/>
<copy todir="${build.dir}/com/ibm/icu/dev/test/serializable/data">
<fileset dir="${src.dir}/com/ibm/icu/dev/test/serializable/data">
<include name="**/*.dat"/>
</fileset>
</copy>
<copy file="${src.dir}/com/ibm/icu/dev/data/riwords.txt"
todir="${build.dir}/com/ibm/icu/dev/data"/>
<copy file="${src.dir}/com/ibm/icu/dev/data/IDNATestInput.txt"
todir="${build.dir}/com/ibm/icu/dev/data"/>
<javac srcdir="${src.dir}"
destdir="${build.dir}"
classpathref="build.classpath"
source="${icu4j.javac.source}"
target="${icu4j.javac.target}"
debug="on" deprecation="off">
<exclude name="**/CVS/**/*"/>
<include name="com/ibm/icu/dev/data/*.java"/>
<include name="com/ibm/icu/dev/data/resources/*.java"/>
</javac>
<copy todir="${build.dir}/com/ibm/icu/dev/data">
<fileset dir="${src.dir}/com/ibm/icu/dev/data"
includes="*.spp,*.txt"/>
</copy>
<copy todir="${build.dir}/com/ibm/icu/dev/data/unicode/">
<fileset dir="${src.dir}/com/ibm/icu/dev/data/unicode/"
includes="*.txt"/>
</copy>
<copy file="${src.dir}/com/ibm/icu/dev/test/format/NumberFormatTestCases.txt"
todir="${build.dir}/com/ibm/icu/dev/test/format"/>
<copy todir="${build.dir}/com/ibm/icu/dev/data/resources/">
<fileset dir="${src.dir}/com/ibm/icu/dev/data/resources/"
includes="*.properties"/>
</copy>
<!-- use this target to force resources to be rebuilt -->
<unjar src="${src.dir}/com/ibm/icu/dev/data/testdata.jar" dest="${build.dir}"/>
<touch file="${build.dir}/${icu4j.testdata.path}/root.res"/>
</target>
<!-- builds richedit and richedit tests -->
<target name="richedit" depends="init" description="build richedit classes and tests">
<javac srcdir="${src.dir}"
destdir="${build.dir}"
classpathref="build.classpath"
source="${icu4j.javac.source}"
target="${icu4j.javac.target}"
debug="on" deprecation="off">
<exclude name="**/CVS/**/*"/>
<include name="com/ibm/richtext/**/*.java"/>
</javac>
<copy todir="${build.dir}/com/ibm/richtext/textapps/resources" overwrite="yes" includeEmptyDirs="no">
<fileset dir="${src.dir}/com/ibm/richtext/textapps/resources" includes="*.red"/>
</copy>
</target>
<!-- Creates the 3 release jar archives for distribution -->
<target name="jarRelease" depends="jar,jarSrc,jarDocs"/>
<target name="jar" depends="core,indices,charsetsJar" description="build 'icu4j.jar' jar file">
<jar jarfile="${jar.file}" compress="true">
<fileset dir="${basedir}" includes="license.html, unicode-license.txt" />
<fileset dir="${build.dir}"
includes="com/ibm/icu/util/**/*,com/ibm/icu/text/**/*,com/ibm/icu/math/**/*,com/ibm/icu/impl/**/*,com/ibm/icu/lang/**/*"
excludes="META-INF/services/**/*,com/ibm/icu/charset/**/*,${icu4j.data.path}/*.cnv, ${icu4j.data.path}/cnvalias.icu"/>
<manifest>
<attribute name="Built-By" value="${corp}"/>
<section name="common">
<attribute name="Specification-Title" value="ICU4J"/>
<attribute name="Specification-Version" value="${icu4j.version.string}"/>
<attribute name="Specification-Vendor" value="ICU"/>
<attribute name="Implementation-Title" value=" ICU for Java"/>
<attribute name="Implementation-Version" value="${icu4j.version.string}"/>
<attribute name="Implementation-Vendor" value="${corp}"/>
<attribute name="Implementation-Vendor-Id" value="com.ibm"/>
<attribute name="Copyright-Info" value="${copyright}"/>
<attribute name="Sealed" value="false"/>
</section>
</manifest>
</jar>
</target>
<target name="charsetsJar" depends="core,indices" description="build 'icu4j-charstes.jar' jar file">
<jar jarfile="${charsets.jar.file}" compress="true">
<fileset dir="${basedir}" includes="license.html, unicode-license.txt" />
<fileset dir="${build.dir}"
includes="META-INF/services/**/*,com/ibm/icu/charset/**/*,${icu4j.data.path}/*.cnv, ${icu4j.data.path}/cnvalias.icu"/>
<manifest>
<attribute name="Built-By" value="${corp}"/>
<section name="common">
<attribute name="Specification-Title" value="ICU4J Charsets"/>
<attribute name="Specification-Version" value="${icu4j.version.string}"/>
<attribute name="Specification-Vendor" value="ICU"/>
<attribute name="Implementation-Title" value=" ICU for Java Charsets"/>
<attribute name="Implementation-Version" value="${icu4j.version.string}"/>
<attribute name="Implementation-Vendor" value="${corp}"/>
<attribute name="Implementation-Vendor-Id" value="com.ibm"/>
<attribute name="Copyright-Info" value="${copyright}"/>
<attribute name="Sealed" value="false"/>
</section>
</manifest>
</jar>
</target>
<target name="jarTests" depends="tests,jar" description="build runtime 'icu4jtests.jar' jar file">
<jar jarfile="${testjar.file}" compress="true">
<fileset dir="${build.dir}" includes="com/ibm/icu/dev/test/**/*"/>
<fileset dir="${build.dir}" includes="com/ibm/icu/dev/data/**/*"/>
<manifest>
<attribute name="Built-By" value="${corp}"/>
<section name="common">
<attribute name="Specification-Title" value="ICU4J Tests"/>
<attribute name="Specification-Version" value="${icu4j.version.string}"/>
<attribute name="Specification-Vendor" value="ICU"/>
<attribute name="Implementation-Title" value=" ICU for Java Tests"/>
<attribute name="Implementation-Version" value="${icu4j.version.string}"/>
<attribute name="Implementation-Vendor" value="${corp}"/>
<attribute name="Implementation-Vendor-Id" value="com.ibm"/>
<attribute name="Copyright-Info" value="${copyright}"/>
<attribute name="Sealed" value="false"/>
</section>
</manifest>
</jar>
</target>
<target name="jarSrc" depends="init" description="build source 'icu4jsrc.jar' jar file">
<!--Create a jar archive of just the source for distribution. The
jar file will be created in the directory above the root ICU4J
directory. The exclude pattern ${src.dir}/com/ibm/icu/dev/data/unicode/UnicodeData-*.txt
and ${src.dir}/com/ibm/icu/dev/data/unicode/SpecialCasing-*.txt
eliminates old archive copies like SpecialCasing-2.txt and
UnicodeData-2.1.8.txt -->
<jar jarfile="${jarSrc.file}"
compress="true"
basedir="."
excludes="${richedit.dir}/**/*,test_*,${src.dir}/com/ibm/icu/dev/data/unicode//UnicodeData-*.txt,${src.dir}/com/ibm/icu/dev/data/unicode/SpecialCasing-*.txt,${src.dir}/com/ibm/icu/dev/data/unicode/CompositionExclusions-*.txt,${obsolete.dir}/**,**/*~,${src.dir}/**/*.class,${build.dir}/**,**/CVS/**/*,${doc.dir}/**,*.jar,*.zip, *.gz">
<manifest>
<attribute name="Built-By" value="${corp}"/>
<section name="common">
<attribute name="Specification-Title" value="ICU4J Source Files"/>
<attribute name="Specification-Version" value="${icu4j.version.string}"/>
<attribute name="Specification-Vendor" value="ICU"/>
<attribute name="Implementation-Title" value=" ICU for Java"/>
<attribute name="Implementation-Version" value="${icu4j.version.string}"/>
<attribute name="Implementation-Vendor" value="${corp}"/>
<attribute name="Implementation-Vendor-Id" value="com.ibm"/>
<attribute name="Copyright-Info" value="${copyright}"/>
<attribute name="Sealed" value="false"/>
</section>
</manifest>
</jar>
</target>
<target name="jarDocs" depends="docs" description="build documentation 'icu4jdocs.jar' jar file">
<jar jarfile="${jarDocs.file}"
compress="true"
basedir="${doc.dir}">
<manifest>
<attribute name="Built-By" value="${corp}"/>
<section name="common">
<attribute name="Specification-Title" value="ICU4J Source Files"/>
<attribute name="Specification-Version" value="${icu4j.version.string}"/>
<attribute name="Specification-Vendor" value="ICU"/>
<attribute name="Implementation-Title" value=" ICU for Java"/>
<attribute name="Implementation-Version" value="${icu4j.version.string}"/>
<attribute name="Implementation-Vendor" value="${corp}"/>
<attribute name="Implementation-Vendor-Id" value="com.ibm"/>
<attribute name="Copyright-Info" value="${copyright}"/>
<attribute name="Sealed" value="false"/>
</section>
</manifest>
</jar>
</target>
<target name="translitIMEJar" depends="collator, transliterator" description="build transliterator IME 'icutransime.jar' jar file">
<javac includes="com/ibm/icu/dev/tool/ime/translit/*.java"
excludes="**/CVS/**/*"
srcdir="${src.dir}"
destdir="${build.dir}"
classpathref="build.classpath"
source="${icu4j.javac.source}"
target="${icu4j.javac.target}"
debug="on" deprecation="off"/>
<copy file="${src.dir}/com/ibm/icu/dev/tool/ime/translit/Transliterator.properties"
todir="${build.dir}/com/ibm/icu/dev/tool/ime/translit"/>
<jar jarfile="${ime.translit.jar.file}"
compress="true"
basedir="${build.dir}"
includes="com/ibm/icu/dev/tool/ime/translit/**/*"
manifest="${ime.translit.manifest}">
<metainf dir="${src.dir}/com/ibm/icu/dev/tool/ime/translit" includes="services/*"/>
</jar>
</target>
<target name="indicIMEJar" depends="init" description="build indic IME 'icuindicime.jar' jar file">
<javac includes="com/ibm/icu/dev/tool/ime/indic/*.java"
excludes="**/CVS/**/*"
srcdir="${src.dir}"
destdir="${build.dir}"
classpathref="build.classpath"
source="${icu4j.javac.source}"
target="${icu4j.javac.target}"
debug="on" deprecation="off"/>
<copy file="${src.dir}/com/ibm/icu/dev/tool/ime/indic/DisplayNames.properties"
todir="${build.dir}/com/ibm/icu/dev/tool/ime/indic"/>
<jar jarfile="${ime.indic.jar.file}"
compress="true"
basedir="${build.dir}"
includes="com/ibm/icu/dev/tool/ime/indic/**/*"
manifest="${ime.indic.manifest}">
<metainf dir="${src.dir}/com/ibm/icu/dev/tool/ime/indic" includes="services/*"/>
</jar>
</target>
<!--
<target name="translitimeStandaloneJar" depends="collator, transliterator">
<javac includes="com/ibm/icu/dev/tool/ime/translit/*.java"
excludes="**/CVS/**/*"
srcdir="${src.dir}"
destdir="${build.dir}"
classpathref="build.classpath"
source="${icu4j.javac.source}"
target="${icu4j.javac.target}"
debug="on" deprecation="off"/>
<copy toDir="${build.dir}/com/ibm/icu/dev/tool/ime/translit">
<fileset dir="${src.dir}/com/ibm/icu/dev/tool/ime/translit" includes="*.properties"/>
</copy>
<jar jarfile="${ime.jar.file}"
compress="true"
basedir="${build.dir}"
includes="com/ibm/icu/util/**/*,com/ibm/icu/text/**/*,com/ibm/icu/math/**/*,com/ibm/icu/impl/**/*,com/ibm/icu/lang/**/*,com/ibm/icu/dev/tool/ime/translit/**/*"
manifest="${ime.translit.manifest}">
<metainf dir="${src.dir}/com/ibm/icu/dev/tool/ime/translit" includes="services/*"/>
</jar>
</target>
-->
<!-- jars up richedit but without tests -->
<target name="richeditJar" depends="richedit" description="build richedit runtime 'richedit.jar' jar file">
<mkdir dir="${richedit.dir}"/>
<jar jarfile="${richedit.jar.file}"
compress="true"
includes="com/ibm/richtext/**/*"
excludes="com/ibm/richtext/test/**/*"
basedir="${build.dir}"
manifest="${richedit.manifest}"/>
</target>
<!--
Note: I used to use -linkoffline http://java.sun.com/products/jdk/1.2/docs/api/ C:\jdk1.2.2\docs\api
This links to core docs on Sun's site - a very nice feature. But it requires the 1.2 docs to be
on the build machine at a known location.
-->
<!-- the 'public' docs for richedit -->
<target name="richeditDocs" depends="init" description="build richedit javadoc">
<mkdir dir="${richedit.doc.dir}"/>
<javadoc packagenames="com.ibm.richtext.demo,com.ibm.richtext.awtui,com.ibm.richtext.swingui,com.ibm.richtext.textpanel,com.ibm.richtext.styledtext,com.ibm.richtext.textlayout.attributes,com.ibm.richtext.print"
sourcepath="${src.dir}"
destdir="${richedit.doc.dir}"
nodeprecatedlist="true"
windowtitle="RichEdit Control"
doctitle="RichEdit Control"
encoding="iso-8859-1"
docencoding="iso-8859-1"
bottom="&lt;font size=-1>Copyright (c) 1998-2004 IBM Corporation and others.&lt;/font>"/>
</target>
<!-- richedit alphaworks distribution - jar and docs, but no source -->
<target name="richeditZip" depends="richeditJar,richeditDocs" description="build richedit zip file">
<!--Create a zip archive of the richedit jar and readme -->
<copy file="license.html" todir="${richedit.dir}"/>
<zip zipfile="${richedit.zip.file}"
basedir="${richedit.dir}"
includes="doc/**/*,richedit.jar,license.html"/>
</target>
<target name="deleteCore" depends="init" >
<delete failonerror="no">
<fileset dir="${build.dir}/com/ibm/icu/text"/>
<fileset dir="${build.dir}/com/ibm/icu/impl"/>
<fileset dir="${build.dir}/com/ibm/icu/math"/>
<fileset dir="${build.dir}/com/ibm/icu/lang"/>
<fileset dir="${build.dir}/com/ibm/icu/util"/>
<fileset dir="${build.dir}/com/ibm/icu/charset"/>
</delete>
</target>
<target name="check" depends="tests, jar, deleteCore" description="run standard icu4j test suite">
<java classname="com.ibm.icu.dev.test.TestAll" fork="yes" failonerror="true">
<jvmarg value="-ea"/> <!-- enable assertion checks -->
<arg value="-n"/>
<classpath>
<pathelement path="${java.class.path}/"/>
<pathelement location="${jar.file}"/>
<pathelement location="${charsets.jar.file}"/>
<pathelement location="clover.jar"/>
<pathelement path="${build.dir}"/>
</classpath>
</java>
</target>
<target name="exhaustiveCheck" depends="tests, jar, deleteCore" description="run standard icu4j test suite in exhaustive mode">
<java classname="com.ibm.icu.dev.test.TestAll" fork="yes" failonerror="true">
<jvmarg value="-ea"/> <!-- enable assertion checks -->
<jvmarg value="-Xmx128m"/> <!-- set the max heap size to 128m -->
<arg value="-n"/>
<arg value="-e10"/>
<classpath>
<pathelement path="${java.class.path}/"/>
<pathelement location="${jar.file}"/>
<pathelement location="${charsets.jar.file}"/>
<pathelement location="clover.jar"/>
<pathelement path="${build.dir}"/>
</classpath>
</java>
</target>
<target name="secure" depends="jarTests" description="builds icu4j.jar and icu4jtests.jar"/>
<target name="secureCheck" depends="secure" description="run secure (applet-like) icu4j test suite">
<java classname="com.ibm.icu.dev.test.TestAll" fork="yes" failonerror="true">
<!-- jvmarg value="-verbose"/ -->
<!-- (use for debugging, LOTS of output) <jvmarg value="-Djava.security.debug=access:trace"/ -->
<!-- <jvmarg value="-Djava.security.debug=access:failure,domain"/> -->
<jvmarg value="-Djava.security.manager"/>
<jvmarg value="-Djava.security.policy=${src.dir}/com/ibm/icu/dev/test/security.policy"/>
<!--<jvmarg value="-Djava.security.debug=access:failure"/>-->
<arg value="-w"/>
<arg value="-nothrow"/>
<classpath>
<pathelement location="clover.jar"/>
<pathelement location="${jar.file}"/>
<pathelement location="${charsets.jar.file}"/>
<pathelement location="${testjar.file}"/>
</classpath>
</java>
</target>
<target name="noData" depends="core, tests" description="builds ICU4J without any data">
<delete failonerror="no">
<fileset dir="${build.dir}/${icu4j.data.path}/../" includes="Holiday*.class"/>
<fileset dir="${build.dir}/${icu4j.data.path}/../" includes="BreakIterator*.class"/>
<fileset dir="${build.dir}/${icu4j.data.path}"/>
<fileset dir="${build.dir}/${icu4j.testdata.path}"/>
<fileset dir="${build.dir}/${icu4j.testdata.path}../"/>
</delete>
</target>
<target name="noDataCheck" depends="noData" description="runs the tests when no data is present">
<java classname="com.ibm.icu.dev.test.TestAll" fork="yes" failonerror="true">
<arg value="-nothrow"/>
<arg value="-nodata"/>
<classpath>
<pathelement location="clover.jar"/>
<pathelement location="${build.dir}"/>
</classpath>
</java>
</target>
<target name="_requires14" unless="version.1.4">
<echo message="One of your targets requires JAVA_HOME to be set to JDK version 1.4"/>
</target>
<target name="_checktags" depends="anthack1,anthack2,tools" if="version.1.4">
<echo message="doc params: ${doc.params}"/>
<javadoc sourcepath="${src.dir}"
packagenames="com.ibm.icu.*"
excludepackagenames="com.ibm.icu.dev.*,com.ibm.icu.impl.*"
classpath="${build.dir}"
source="1.4">
<doclet name="com.ibm.icu.dev.tool.docs.CheckTags"
path="${build.dir}">
<!-- <param name="-short"/> -->
</doclet>
</javadoc>
</target>
<target name="checktags" depends="anthack1,anthack2,_requires14,_checktags" description="check API tags before release"/>
<target name="gatherapi" depends="tools" if="version.1.4" description="run API database generator tool">
<javadoc classpath="${build.dir}"
sourcepath="${src.dir}"
packagenames="com.ibm.icu.lang,com.ibm.icu.math,com.ibm.icu.text,com.ibm.icu.util"
source="1.4">
<doclet name="com.ibm.icu.dev.tool.docs.GatherAPIData"
path="${build.dir}">
<param name="-name" value="ICU4J ${icu4j.version.string}"/>
<param name="-output" value="${api.dir}/icu4j${icu4j.version.number}.api"/>
<param name="-internal"/>
<param name="-gzip"/>
</doclet>
</javadoc>
</target>
<target name="apireport" depends="tools, gatherapi" if="version.1.4" description="run API report generator tool">
<java classname="com.ibm.icu.dev.tool.docs.ReportAPI" classpath="${build.dir}" failonerror="true">
<arg value="-old:"/>
<arg value="${api.dir}/icu4j${icu4j.previous.version.number}.api.gz"/>
<arg value="-new:"/>
<arg value="${api.dir}/icu4j${icu4j.version.number}.api.gz"/>
<arg value="-html"/>
<arg value="-internal"/>
<arg value="-out:"/>
<arg value="${api.report.out}"/>
</java>
</target>
<target name="clean" depends="init" description="remove all build targets">
<delete dir="${build.dir}"/>
<delete dir="${doc.dir}"/>
<delete file="${jar.file}"/>
<delete file="${charsets.jar.file}"/>
<delete dir="${richedit.dir}"/>
<delete file="${testjar.file}"/>
<delete file="${jarSrc.file}"/>
<delete dir="${eclipse.projects.dir}"/>
<delete dir="${wrapper.build.dir}"/>
<delete file="${zipCoreSrc.file}"/>
<delete file="${zipTestSrc.file}"/>
<delete file="${jdk.wrapper.jar.file}"/>
</target>
<!--
Targets to copy the required *.icu files
-->
<target name="normalizerData" depends="init" >
<unjar src="${src.dir}/com/ibm/icu/impl/data/icudata.jar" dest="${build.dir}">
<patternset>
<!-- arrgh, includes attributes of patternset does not work here in ant 1.5.3 -->
<include name="**/unorm.icu"/>
<include name="**/uprops.icu"/>
<include name="**/pnames.icu"/>
<include name="**/unames.icu"/>
</patternset>
</unjar>
<touch file="${build.dir}/${icu4j.data.path}/uprops.icu"/>
</target>
<target name="copyFullPropsData" depends="init" >
<unjar src="${src.dir}/com/ibm/icu/impl/data/icudata.jar" dest="${build.dir}">
<patternset>
<!-- arrgh, includes attributes of patternset does not work here in ant 1.5.3 -->
<include name="**/unorm.icu"/>
<include name="**/uprops.icu"/>
<include name="**/ubidi.icu"/>
<include name="**/ucase.icu"/>
<include name="**/unames.icu"/>
<include name="**/pnames.icu"/>
<include name="**/*.res"/>
<include name="**/*.brk"/>
<exclude name="**/coll/*.res"/>
<exclude name="**/translit/*.res"/>
<exclude name="**/rbnf/*.res"/>
</patternset>
</unjar>
<touch file="${build.dir}/${icu4j.data.path}/uprops.icu"/>
</target>
<target name="copyBasicPropsData" depends="init" >
<unjar src="${src.dir}/com/ibm/icu/impl/data/icudata.jar" dest="${build.dir}">
<patternset>
<!-- arrgh, includes attributes of patternset does not work here in ant 1.5.3 -->
<include name="**/unorm.icu"/>
<include name="**/uprops.icu"/>
<include name="**/ubidi.icu"/>
<include name="**/ucase.icu"/>
<include name="**/pnames.icu"/>
<include name="**/unames.icu"/>
</patternset>
</unjar>
<touch file="${build.dir}/${icu4j.data.path}/uprops.icu"/>
</target>
<target name="copyCollatorData" depends="init">
<unjar src="${src.dir}/com/ibm/icu/impl/data/icudata.jar" dest="${build.dir}">
<patternset>
<!-- arrgh, includes attributes of patternset does not work here in ant 1.5.3 -->
<include name="**/*.icu"/>
<include name="**/coll/*.res"/>
<include name="**/*.brk"/>
</patternset>
</unjar>
<touch file="${build.dir}/${icu4j.data.path}/uprops.icu"/>
</target>
<target name="copyCalendarData" depends="init">
<!-- Calendar does not require Collation data, BreakIterator data -->
<unjar src="${src.dir}/com/ibm/icu/impl/data/icudata.jar" dest="${build.dir}">
<patternset>
<!-- arrgh, includes attributes of patternset does not work here in ant 1.5.3 -->
<include name="**/unorm.icu"/>
<include name="**/uprops.icu"/>
<include name="**/pnames.icu"/>
<include name="**/unames.icu"/>
<include name="**/*.res"/>
<exclude name="**/coll/*.res"/>
<exclude name="**/translit/*.res"/>
<exclude name="**/rbnf/*.res"/>
</patternset>
</unjar>
<touch file="${build.dir}/${icu4j.data.path}/uprops.icu"/>
</target>
<target name="copyTranslitData" depends="init">
<!-- Calendar does not require Collation data, BreakIterator data -->
<unjar src="${src.dir}/com/ibm/icu/impl/data/icudata.jar" dest="${build.dir}">
<patternset>
<!-- arrgh, includes attributes of patternset does not work here in ant 1.5.3 -->
<include name="**/unorm.icu"/>
<include name="**/uprops.icu"/>
<include name="**/ubidi.icu"/>
<include name="**/ucase.icu"/>
<include name="**/unames.icu"/>
<include name="**/pnames.icu"/>
<include name="**/*.brk"/>
<include name="**/translit/*.res"/>
</patternset>
</unjar>
<touch file="${build.dir}/${icu4j.data.path}/uprops.icu"/>
</target>
<target name="copyFormatData" depends="init" if="icu4j.module.resources">
<!-- Format does not require BreakIterator data -->
<unjar src="${src.dir}/com/ibm/icu/impl/data/icudata.jar" dest="${build.dir}">
<patternset>
<!-- arrgh, includes attributes of patternset does not work here in ant 1.5.3 -->
<include name="**/*.icu"/>
<include name="**/*.res"/>
<exclude name="**/translit/*.res"/>
</patternset>
</unjar>
<touch file="${build.dir}/${icu4j.data.path}/uprops.icu"/>
</target>
<target name="copyAllICUData" depends="init">
<unjar src="${src.dir}/com/ibm/icu/impl/data/icudata.jar" dest="${build.dir}"/>
</target>
<target name="moduleJar" depends="init" description="modular build of 'icu4j.jar' jar file">
<jar jarfile="${jar.file}"
compress="true"
includes="com/ibm/icu/util/**/*,com/ibm/icu/text/**/*,com/ibm/icu/math/**/*,com/ibm/icu/impl/**/*,com/ibm/icu/lang/**/*"
basedir="${build.dir}">
<manifest>
<attribute name="Built-By" value="${corp}"/>
<section name="common">
<attribute name="Specification-Title" value="ICU4J Modularized Build"/>
<attribute name="Specification-Version" value="${icu4j.version.string}"/>
<attribute name="Specification-Vendor" value="ICU"/>
<attribute name="Implementation-Title" value=" ICU for Java Module"/>
<attribute name="Implementation-Version" value="${icu4j.version.string}"/>
<attribute name="Implementation-Vendor" value="${corp}"/>
<attribute name="Implementation-Vendor-Id" value="com.ibm"/>
<attribute name="Copyright-Info" value="${copyright}"/>
<attribute name="Sealed" value="false"/>
</section>
</manifest>
</jar>
</target>
<!--
Targets to build only Normalization API and Normalization tests
-->
<target name="normalizer" depends="init,normalizerData" description="modular build of normalizer services">
<javac sourcepath=""
srcdir="${src.dir}"
destdir="${build.dir}"
source="${icu4j.javac.source}"
target="${icu4j.javac.target}"
classpathref="build.classpath"
debug="on" deprecation="off">
<exclude name="**/CVS/**/*"/>
<exclude name="com/ibm/icu/lang/UScriptRun.java"/>
<exclude name="com/ibm/icu/impl/ICUListResourceBundle.java"/>
<exclude name="com/ibm/icu/impl/UtilityExtensions.java"/>
<exclude name="com/ibm/icu/impl/TrieBuilder.java"/>
<exclude name="com/ibm/icu/impl/IntTrieBuilder.java"/>
<exclude name="com/ibm/icu/impl/BOCU.java"/>
<exclude name="com/ibm/icu/impl/UnicodeCharacterIterator.java"/>
<include name="com/ibm/icu/impl/Assert.java"/>
<include name="com/ibm/icu/impl/CharacterIteratorWrapper.java"/>
<include name="com/ibm/icu/impl/CharTrie.java"/>
<include name="com/ibm/icu/impl/ICUBinary.java"/>
<include name="com/ibm/icu/impl/ICUBinaryStream.java"/>
<include name="com/ibm/icu/impl/ICUData.java"/>
<include name="com/ibm/icu/impl/ICUDebug.java"/>
<include name="com/ibm/icu/impl/ICUListResourceBundle.java"/>
<include name="com/ibm/icu/impl/ICUResourceBundle.java"/>
<include name="com/ibm/icu/impl/ICUResourceBundleImpl.java"/>
<include name="com/ibm/icu/impl/ICUResourceBundleIterator.java"/>
<include name="com/ibm/icu/impl/ICUResourceBundleReader.java"/>
<include name="com/ibm/icu/impl/IntTrie.java"/>
<include name="com/ibm/icu/impl/LocaleUtility.java"/>
<include name="com/ibm/icu/impl/NormalizerImpl.java"/>
<include name="com/ibm/icu/impl/NormalizerDataReader.java"/>
<include name="com/ibm/icu/impl/ReplaceableUCharacterIterator.java"/>
<include name="com/ibm/icu/impl/ResourceBundleWrapper.java"/>
<include name="com/ibm/icu/impl/RuleCharacterIterator.java"/>
<include name="com/ibm/icu/impl/SortedSetRelation.java"/>
<include name="com/ibm/icu/impl/Trie.java"/>
<include name="com/ibm/icu/impl/TrieIterator.java"/>
<include name="com/ibm/icu/impl/UBiDiProps.java"/>
<include name="com/ibm/icu/impl/UCaseProps.java"/>
<include name="com/ibm/icu/impl/UCharacter*.java"/>
<include name="com/ibm/icu/impl/UCharArrayIterator.java"/>
<include name="com/ibm/icu/impl/UPropertyAliases.java"/>
<include name="com/ibm/icu/impl/URLHandler.java"/>
<include name="com/ibm/icu/impl/USerializedSet.java"/>
<include name="com/ibm/icu/impl/Utility.java"/>
<include name="com/ibm/icu/lang/**"/>
<include name="com/ibm/icu/text/BreakIterator.java"/>
<include name="com/ibm/icu/text/CanonicalIterator.java"/>
<include name="com/ibm/icu/text/Normalizer.java"/>
<include name="com/ibm/icu/text/UCharacterIterator.java"/>
<include name="com/ibm/icu/text/UForwardCharacterIterator.java"/>
<include name="com/ibm/icu/text/UTF16.java"/>
<include name="com/ibm/icu/text/Replaceable.java"/>
<include name="com/ibm/icu/text/ReplaceableString.java"/>
<include name="com/ibm/icu/text/SymbolTable.java"/>
<include name="com/ibm/icu/text/UnicodeFilter.java"/>
<include name="com/ibm/icu/text/UnicodeMatcher.java"/>
<include name="com/ibm/icu/text/UnicodeSet.java"/>
<include name="com/ibm/icu/text/UnicodeSetIterator.java"/>
<include name="com/ibm/icu/util/Freezable.java"/>
<include name="com/ibm/icu/util/RangeValueIterator.java"/>
<include name="com/ibm/icu/util/StringTokenizer.java"/>
<include name="com/ibm/icu/util/ULocale.java"/>
<include name="com/ibm/icu/util/UResourceBundle.java"/>
<include name="com/ibm/icu/util/UResourceTypeMismatchException.java"/>
<include name="com/ibm/icu/util/ValueIterator.java"/>
<include name="com/ibm/icu/util/VersionInfo.java"/>
</javac>
</target>
<target name="normalizerTests" depends="normalizer, testdata">
<javac srcdir="${src.dir}"
destdir="${build.dir}"
source="${icu4j.javac.source}"
target="${icu4j.javac.target}"
classpathref="build.classpath"
debug="on" deprecation="off">
<exclude name="**/CVS/**/*"/>
<exclude name="com/ibm/icu/dev/test/normalizer/TestDeprecatedNormalizerAPI.java"/>
<include name="com/ibm/icu/dev/test/normalizer/**/*.java"/>
<include name="com/ibm/icu/dev/test/TestAll.java"/>
<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"/>
</javac>
</target>
<!--
Targets to build only Collation API and Collation tests
-->
<target name="collator" depends="init,copyCollatorData" description="modular build of collator services">
<javac sourcepath=""
srcdir="${src.dir}"
destdir="${build.dir}"
classpathref="build.classpath"
source="${icu4j.javac.source}"
target="${icu4j.javac.target}"
debug="on" deprecation="off">
<exclude name="**/CVS/**/*"/>
<exclude name="com/ibm/icu/impl/UnicodeCharacterIterator.java"/>
<exclude name="com/ibm/icu/impl/UtilityExtensions.java"/>
<exclude name="com/ibm/icu/lang/UScriptRun.java"/>
<include name="com/ibm/icu/impl/Assert.java"/>
<include name="com/ibm/icu/impl/BOCU.java"/>
<include name="com/ibm/icu/impl/CharacterIteratorWrapper.java"/>
<include name="com/ibm/icu/impl/CharTrie.java"/>
<include name="com/ibm/icu/impl/data/*Break*.java"/>
<include name="com/ibm/icu/impl/ICUBinary.java"/>
<include name="com/ibm/icu/impl/ICUBinaryStream.java"/>
<include name="com/ibm/icu/impl/ICUData.java"/>
<include name="com/ibm/icu/impl/ICUDebug.java"/>
<include name="com/ibm/icu/impl/ICULocaleService.java"/>
<include name="com/ibm/icu/impl/ICUNotifier.java"/>
<include name="com/ibm/icu/impl/ICUResourceBundle.java"/>
<include name="com/ibm/icu/impl/ICUResourceBundleImpl.java"/>
<include name="com/ibm/icu/impl/ICUResourceBundleIterator.java"/>
<include name="com/ibm/icu/impl/ICUResourceBundleReader.java"/>
<include name="com/ibm/icu/impl/ICURWLock.java"/>
<include name="com/ibm/icu/impl/ICUService.java"/>
<include name="com/ibm/icu/impl/ImplicitCEGenerator.java"/>
<include name="com/ibm/icu/impl/IntTrie.java"/>
<include name="com/ibm/icu/impl/IntTrieBuilder.java"/>
<include name="com/ibm/icu/impl/LocaleUtility.java"/>
<include name="com/ibm/icu/impl/NormalizerDataReader.java"/>
<include name="com/ibm/icu/impl/NormalizerImpl.java"/>
<include name="com/ibm/icu/impl/ReplaceableUCharacterIterator.java"/>
<include name="com/ibm/icu/impl/ResourceBundleWrapper.java"/>
<include name="com/ibm/icu/impl/RuleCharacterIterator.java"/>
<include name="com/ibm/icu/impl/SortedSetRelation.java"/>
<include name="com/ibm/icu/impl/StringUCharacterIterator.java"/>
<include name="com/ibm/icu/impl/Trie.java"/>
<include name="com/ibm/icu/impl/TrieBuilder.java"/>
<include name="com/ibm/icu/impl/TrieIterator.java"/>
<include name="com/ibm/icu/impl/UBiDiProps.java"/>
<include name="com/ibm/icu/impl/UCaseProps.java"/>
<include name="com/ibm/icu/impl/UCharArrayIterator.java"/>
<include name="com/ibm/icu/impl/UCharacterIteratorWrapper.java"/>
<include name="com/ibm/icu/impl/UCharacterName.java"/>
<include name="com/ibm/icu/impl/UCharacterNameChoice.java"/>
<include name="com/ibm/icu/impl/UCharacterNameReader.java"/>
<include name="com/ibm/icu/impl/UCharacterProperty.java"/>
<include name="com/ibm/icu/impl/UCharacterPropertyReader.java"/>
<include name="com/ibm/icu/impl/UCharacterUtility.java"/>
<include name="com/ibm/icu/impl/URLHandler.java"/>
<include name="com/ibm/icu/impl/UPropertyAliases.java"/>
<include name="com/ibm/icu/impl/USerializedSet.java"/>
<include name="com/ibm/icu/impl/Utility.java"/>
<include name="com/ibm/icu/lang/*.java"/>
<include name="com/ibm/icu/text/BreakDictionary.java"/>
<include name="com/ibm/icu/text/BreakIterator.java"/>
<include name="com/ibm/icu/text/BreakIteratorFactory.java"/>
<include name="com/ibm/icu/text/CanonicalIterator.java"/>
<include name="com/ibm/icu/text/Collation.java"/>
<include name="com/ibm/icu/text/CollationElementIterator.java"/>
<include name="com/ibm/icu/text/CollationKey.java"/>
<include name="com/ibm/icu/text/CollationParsedRuleBuilder.java"/>
<include name="com/ibm/icu/text/CollationRuleParser.java"/>
<include name="com/ibm/icu/text/Collator.java"/>
<include name="com/ibm/icu/text/CollatorReader.java"/>
<include name="com/ibm/icu/text/CollatorServiceShim.java"/>
<include name="com/ibm/icu/text/DictionaryBasedBreakIterator.java"/>
<include name="com/ibm/icu/text/Normalizer.java"/>
<include name="com/ibm/icu/text/RawCollationKey.java"/>
<include name="com/ibm/icu/text/RBBIDataWrapper.java"/>
<include name="com/ibm/icu/text/Replaceable.java"/>
<include name="com/ibm/icu/text/ReplaceableString.java"/>
<include name="com/ibm/icu/text/RuleBasedBreakIterator.java"/>
<include name="com/ibm/icu/text/RuleBasedBreakIterator_Old.java"/>
<include name="com/ibm/icu/text/RuleBasedBreakIterator_New.java"/>
<include name="com/ibm/icu/text/RuleBasedCollator.java"/>
<include name="com/ibm/icu/text/SymbolTable.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/UnicodeMatcher.java"/>
<include name="com/ibm/icu/text/UnicodeSet.java"/>
<include name="com/ibm/icu/text/UnicodeSetIterator.java"/>
<include name="com/ibm/icu/text/UTF16.java"/>
<include name="com/ibm/icu/util/ByteArrayWrapper.java"/>
<include name="com/ibm/icu/util/CompactByteArray.java"/>
<include name="com/ibm/icu/util/RangeValueIterator.java"/>
<include name="com/ibm/icu/util/StringTokenizer.java"/>
<include name="com/ibm/icu/util/ULocale.java"/>
<include name="com/ibm/icu/util/UResourceBundle.java"/>
<include name="com/ibm/icu/util/UResourceTypeMismatchException.java"/>
<include name="com/ibm/icu/util/ValueIterator.java"/>
<include name="com/ibm/icu/util/VersionInfo.java"/>
</javac>
</target>
<target name="collatorTests" depends="collator, testdata" description="test collator modular build target">
<javac srcdir="${src.dir}"
destdir="${build.dir}"
classpathref="build.classpath"
source="${icu4j.javac.source}"
target="${icu4j.javac.target}"
debug="on" deprecation="off">
<exclude name="**/CVS/**/*"/>
<exclude name="com/ibm/icu/dev/test/collator/RandomCollator.java"/>
<include name="com/ibm/icu/dev/test/collator/**/*.java"/>
<include name="com/ibm/icu/dev/test/search/**/*.java"/>
<include name="com/ibm/icu/dev/test/TestAll.java"/>
<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"/>
</javac>
</target>
<!--
Targets to build only Character properties API and tests
-->
<target name="propertiesBasic" depends="init, propertiesClasses, copyBasicPropsData" description="modular build of basic character properties">
</target>
<target name="propertiesFull" depends="init,propertiesClasses,copyFullPropsData" description="modular build of full character properties">
</target>
<target name="propertiesClasses">
<javac sourcepath=""
srcdir="${src.dir}"
destdir="${build.dir}"
source="${icu4j.javac.source}"
target="${icu4j.javac.target}"
classpathref="build.classpath"
debug="on" deprecation="off">
<exclude name="**/CVS/**/*"/>
<exclude name="com/ibm/icu/impl/UtilityExtensions.java"/>
<include name="com/ibm/icu/lang/**/*"/>
<include name="com/ibm/icu/impl/data/*Break*.java"/>
<include name="com/ibm/icu/impl/Assert.java"/>
<include name="com/ibm/icu/impl/CharTrie.java"/>
<include name="com/ibm/icu/impl/CharacterIteratorWrapper.java"/>
<include name="com/ibm/icu/impl/ICUBinary.java"/>
<include name="com/ibm/icu/impl/ICUBinaryStream.java"/>
<include name="com/ibm/icu/impl/ICUData.java"/>
<include name="com/ibm/icu/impl/ICUDebug.java"/>
<include name="com/ibm/icu/impl/ICUResourceBundle.java"/>
<include name="com/ibm/icu/impl/ICUResourceBundleImpl.java"/>
<include name="com/ibm/icu/impl/ICUResourceBundleIterator.java"/>
<include name="com/ibm/icu/impl/ICUResourceBundleReader.java"/>
<include name="com/ibm/icu/impl/IntTrie.java"/>
<include name="com/ibm/icu/impl/LocaleUtility.java"/>
<include name="com/ibm/icu/impl/NormalizerDataReader.java"/>
<include name="com/ibm/icu/impl/NormalizerImpl.java"/>
<include name="com/ibm/icu/impl/ResourceBundleWrapper.java"/>
<include name="com/ibm/icu/impl/ReplaceableUCharacterIterator.java"/>
<include name="com/ibm/icu/impl/RuleCharacterIterator.java"/>
<include name="com/ibm/icu/impl/SortedSetRelation.java"/>
<include name="com/ibm/icu/impl/Trie.java"/>
<include name="com/ibm/icu/impl/TrieBuilder.java"/>
<include name="com/ibm/icu/impl/TrieIterator.java"/>
<include name="com/ibm/icu/impl/UBiDiProps.java"/>
<include name="com/ibm/icu/impl/UCaseProps.java"/>
<include name="com/ibm/icu/impl/UCharArrayIterator.java"/>
<include name="com/ibm/icu/impl/UCharacterIteratorWrapper.java"/>
<include name="com/ibm/icu/impl/UCharacterName.java"/>
<include name="com/ibm/icu/impl/UCharacterNameChoice.java"/>
<include name="com/ibm/icu/impl/UCharacterNameReader.java"/>
<include name="com/ibm/icu/impl/UCharacterProperty.java"/>
<include name="com/ibm/icu/impl/UCharacterPropertyReader.java"/>
<include name="com/ibm/icu/impl/UCharacterUtility.java"/>
<include name="com/ibm/icu/impl/UPropertyAliases.java"/>
<include name="com/ibm/icu/impl/URLHandler.java"/>
<include name="com/ibm/icu/impl/USerializedSet.java"/>
<include name="com/ibm/icu/impl/Utility.java"/>
<include name="com/ibm/icu/text/BreakIterator.java"/>
<include name="com/ibm/icu/text/BreakDictionary.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/SymbolTable.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/UnicodeMatcher.java"/>
<include name="com/ibm/icu/text/UnicodeSet.java"/>
<include name="com/ibm/icu/text/UnicodeSetIterator.java"/>
<include name="com/ibm/icu/text/UTF16.java"/>
<include name="com/ibm/icu/util/CompactByteArray.java"/>
<include name="com/ibm/icu/util/RangeValueIterator.java"/>
<include name="com/ibm/icu/util/StringTokenizer.java"/>
<include name="com/ibm/icu/util/ULocale.java"/>
<include name="com/ibm/icu/util/UResourceBundle.java"/>
<include name="com/ibm/icu/util/UResourceTypeMismatchException.java"/>
<include name="com/ibm/icu/util/ValueIterator.java"/>
<include name="com/ibm/icu/util/VersionInfo.java"/>
</javac>
</target>
<target name="propertiesBasicTests" depends="propertiesBasic" description="test propertiesBasic modular build target">
<copy file="${src.dir}/com/ibm/icu/dev/data/unicode/SpecialCasing.txt"
todir="${build.dir}/com/ibm/icu/dev/data/unicode/"/>
<javac srcdir="${src.dir}"
destdir="${build.dir}"
classpathref="build.classpath"
source="${icu4j.javac.source}"
target="${icu4j.javac.target}"
debug="on" deprecation="off">
<exclude name="**/CVS/**/*"/>
<exclude name="com/ibm/icu/dev/test/lang/TestUScriptRun.java"/>
<include name="com/ibm/icu/dev/test/lang/**/*.java"/>
<include name="com/ibm/icu/dev/test/TestAll.java"/>
<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"/>
</javac>
</target>
<target name="propertiesFullTests" depends="propertiesFull" description="test propertiesFull modular build target">
<copy file="${src.dir}/com/ibm/icu/dev/data/unicode/SpecialCasing.txt"
todir="${build.dir}/com/ibm/icu/dev/data/unicode/"/>
<javac srcdir="${src.dir}"
destdir="${build.dir}"
classpathref="build.classpath"
source="${icu4j.javac.source}"
target="${icu4j.javac.target}"
debug="on" deprecation="off">
<exclude name="**/CVS/**/*"/>
<exclude name="com/ibm/icu/dev/test/lang/TestUScriptRun.java"/>
<include name="com/ibm/icu/dev/test/lang/**/*.java"/>
<include name="com/ibm/icu/dev/test/TestAll.java"/>
<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/impl/data/*Break*.java"/>
<include name="com/ibm/icu/text/*BreakDictionary*.java"/>
<include name="com/ibm/icu/text/*BreakIterator*.java"/>
</javac>
</target>
<!--
Targets to build only Compression API API and tests
-->
<target name="compression" depends="init" description="modular build of compression services">
<javac sourcepath=""
srcdir="${src.dir}"
destdir="${build.dir}"
source="${icu4j.javac.source}"
target="${icu4j.javac.target}"
classpathref="build.classpath"
debug="on" deprecation="off">
<exclude name="**/CVS/**/*"/>
<include name="com/ibm/icu/text/SCSU.java"/>
<include name="com/ibm/icu/text/UnicodeCompressor.java"/>
<include name="com/ibm/icu/text/UnicodeDecompressor.java"/>
</javac>
</target>
<target name="compressionTests" depends="compression" description="test compression modular build target">
<javac srcdir="${src.dir}"
destdir="${build.dir}"
classpathref="build.classpath"
source="${icu4j.javac.source}"
target="${icu4j.javac.target}"
debug="on" deprecation="off">
<exclude name="**/CVS/**/*"/>
<include name="com/ibm/icu/dev/test/TestAll.java"/>
<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/compression/**/*.java"/>
</javac>
</target>
<!--
Targets to build only Calendar API and Calendar tests
-->
<target name="calendar" depends="init,copyCalendarData" description="modular build of calendar services">
<javac sourcepath=""
srcdir="${src.dir}"
destdir="${build.dir}"
source="${icu4j.javac.source}"
target="${icu4j.javac.target}"
classpathref="build.classpath"
debug="on" deprecation="off">
<exclude name="**/CVS/**/*"/>
<exclude name="com/ibm/icu/impl/UtilityExtensions.java"/>
<exclude name="com/ibm/icu/lang/UScriptRun.java"/>
<include name="com/ibm/icu/impl/data/*Calendar*.java"/>
<include name="com/ibm/icu/impl/data/*Holiday*.java"/>
<include name="com/ibm/icu/impl/Assert.java"/>
<include name="com/ibm/icu/impl/BOCU.java"/>
<include name="com/ibm/icu/impl/CalendarAstronomer.java"/>
<include name="com/ibm/icu/impl/CalendarCache.java"/>
<include name="com/ibm/icu/impl/CalendarData.java"/>
<include name="com/ibm/icu/impl/CharacterIteratorWrapper.java"/>
<include name="com/ibm/icu/impl/CharTrie.java"/>
<include name="com/ibm/icu/impl/ICUBinary.java"/>
<include name="com/ibm/icu/impl/ICUBinaryStream.java"/>
<include name="com/ibm/icu/impl/ICUData.java"/>
<include name="com/ibm/icu/impl/ICUDebug.java"/>
<include name="com/ibm/icu/impl/ICUListResourceBundle.java"/>
<include name="com/ibm/icu/impl/ICULocaleData.java"/>
<include name="com/ibm/icu/impl/ICULocaleService.java"/>
<include name="com/ibm/icu/impl/ICUNotifier.java"/>
<include name="com/ibm/icu/impl/ICUResourceBundle.java"/>
<include name="com/ibm/icu/impl/ICUResourceBundleImpl.java"/>
<include name="com/ibm/icu/impl/ICUResourceBundleIterator.java"/>
<include name="com/ibm/icu/impl/ICUResourceBundleReader.java"/>
<include name="com/ibm/icu/impl/ICURWLock.java"/>
<include name="com/ibm/icu/impl/ICUService.java"/>
<include name="com/ibm/icu/impl/ImplicitCEGenerator.java"/>
<include name="com/ibm/icu/impl/IntTrie.java"/>
<include name="com/ibm/icu/impl/IntTrieBuilder.java"/>
<include name="com/ibm/icu/impl/JDKTimeZone.java"/>
<include name="com/ibm/icu/impl/LocaleUtility.java"/>
<include name="com/ibm/icu/impl/NormalizerDataReader.java"/>
<include name="com/ibm/icu/impl/NormalizerImpl.java"/>
<include name="com/ibm/icu/impl/OlsonTimeZone.java"/>
<include name="com/ibm/icu/impl/ReplaceableUCharacterIterator.java"/>
<include name="com/ibm/icu/impl/ResourceBundleReader.java"/>
<include name="com/ibm/icu/impl/ResourceBundleWrapper.java"/>
<include name="com/ibm/icu/impl/RuleCharacterIterator.java"/>
<include name="com/ibm/icu/impl/SortedSetRelation.java"/>
<include name="com/ibm/icu/impl/StringUCharacterIterator.java"/>
<include name="com/ibm/icu/impl/TimeZoneAdapter.java"/>
<include name="com/ibm/icu/impl/Trie.java"/>
<include name="com/ibm/icu/impl/TrieBuilder.java"/>
<include name="com/ibm/icu/impl/TrieIterator.java"/>
<include name="com/ibm/icu/impl/UBiDiProps.java"/>
<include name="com/ibm/icu/impl/UCaseProps.java"/>
<include name="com/ibm/icu/impl/UCharArrayIterator.java"/>
<include name="com/ibm/icu/impl/UCharacterIteratorWrapper.java"/>
<include name="com/ibm/icu/impl/UCharacterName.java"/>
<include name="com/ibm/icu/impl/UCharacterNameChoice.java"/>
<include name="com/ibm/icu/impl/UCharacterNameReader.java"/>
<include name="com/ibm/icu/impl/UCharacterProperty.java"/>
<include name="com/ibm/icu/impl/UCharacterPropertyReader.java"/>
<include name="com/ibm/icu/impl/UCharacterUtility.java"/>
<include name="com/ibm/icu/impl/URLHandler.java"/>
<include name="com/ibm/icu/impl/USerializedSet.java"/>
<include name="com/ibm/icu/impl/Utility.java"/>
<include name="com/ibm/icu/impl/UPropertyAliases.java"/>
<include name="com/ibm/icu/impl/ZoneInfoExt.java"/>
<include name="com/ibm/icu/impl/ZoneMeta.java"/>
<include name="com/ibm/icu/lang/*"/>
<include name="com/ibm/icu/math/BigDecimal.java"/>
<include name="com/ibm/icu/math/MathContext.java"/>
<include name="com/ibm/icu/text/BreakIterator.java"/>
<include name="com/ibm/icu/text/CanonicalIterator.java"/>
<include name="com/ibm/icu/text/ChineseDateFormat.java"/>
<include name="com/ibm/icu/text/ChineseDateFormatSymbols.java"/>
<include name="com/ibm/icu/text/CollationElementIterator.java"/>
<include name="com/ibm/icu/text/CollationKey.java"/>
<include name="com/ibm/icu/text/CollationRuleParser.java"/>
<include name="com/ibm/icu/text/CollationParsedRuleBuilder.java"/>
<include name="com/ibm/icu/text/Collator.java"/>
<include name="com/ibm/icu/text/CollatorReader.java"/>
<include name="com/ibm/icu/text/DateFormat.java"/>
<include name="com/ibm/icu/text/DateFormatSymbols.java"/>
<include name="com/ibm/icu/text/DecimalFormat.java"/>
<include name="com/ibm/icu/text/DecimalFormatSymbols.java"/>
<include name="com/ibm/icu/text/DigitList.java"/>
<include name="com/ibm/icu/text/MessageFormat.java"/>
<include name="com/ibm/icu/text/NFRule.java"/>
<include name="com/ibm/icu/text/NFRuleSet.java"/>
<include name="com/ibm/icu/text/NFSubstitution.java"/>
<include name="com/ibm/icu/text/Normalizer.java"/>
<include name="com/ibm/icu/text/NumberFormat.java"/>
<include name="com/ibm/icu/text/NumberFormat*Shim.java"/>
<include name="com/ibm/icu/text/RawCollationKey.java"/>
<include name="com/ibm/icu/text/RBNFPostProcessor.java"/>
<include name="com/ibm/icu/text/Replaceable.java"/>
<include name="com/ibm/icu/text/ReplaceableString.java"/>
<include name="com/ibm/icu/text/RuleBasedCollator.java"/>
<include name="com/ibm/icu/text/RuleBasedNumberFormat.java"/>
<include name="com/ibm/icu/text/SimpleDateFormat.java"/>
<include name="com/ibm/icu/text/SymbolTable.java"/>
<include name="com/ibm/icu/text/UCharacterIterator.java"/>
<include name="com/ibm/icu/text/UFormat.java"/>
<include name="com/ibm/icu/text/UForwardCharacterIterator.java"/>
<include name="com/ibm/icu/text/UnicodeFilter.java"/>
<include name="com/ibm/icu/text/UnicodeMatcher.java"/>
<include name="com/ibm/icu/text/UnicodeSet.java"/>
<include name="com/ibm/icu/text/UnicodeSetIterator.java"/>
<include name="com/ibm/icu/text/UTF16.java"/>
<include name="com/ibm/icu/util/ByteArrayWrapper.java"/>
<include name="com/ibm/icu/util/Currency.java"/>
<include name="com/ibm/icu/util/CurrencyAmount.java"/>
<include name="com/ibm/icu/util/*Calendar*.java"/>
<include name="com/ibm/icu/util/*Holiday*.java"/>
<include name="com/ibm/icu/util/DateRule.java"/>
<include name="com/ibm/icu/util/Measure.java"/>
<include name="com/ibm/icu/util/MeasureUnit.java"/>
<include name="com/ibm/icu/util/RangeDateRule.java"/>
<include name="com/ibm/icu/util/RangeValueIterator.java"/>
<include name="com/ibm/icu/util/SimpleDateRule.java"/>
<include name="com/ibm/icu/util/SimpleTimeZone.java"/>
<include name="com/ibm/icu/util/StringTokenizer.java"/>
<include name="com/ibm/icu/util/STZInfo.java"/>
<include name="com/ibm/icu/util/TimeZone.java"/>
<include name="com/ibm/icu/util/ULocale.java"/>
<include name="com/ibm/icu/util/UResourceBundle.java"/>
<include name="com/ibm/icu/util/UResourceTypeMismatchException.java"/>
<include name="com/ibm/icu/util/ValueIterator.java"/>
<include name="com/ibm/icu/util/VersionInfo.java"/>
</javac>
</target>
<target name="calendarTests" depends="calendar" description="test calendar modular build target">
<javac srcdir="${src.dir}"
destdir="${build.dir}"
classpathref="build.classpath"
source="${icu4j.javac.source}"
target="${icu4j.javac.target}"
debug="on" deprecation="off">
<exclude name="**/CVS/**/*"/>
<include name="com/ibm/icu/dev/test/calendar/**/*"/>
<include name="com/ibm/icu/dev/test/TestAll.java"/>
<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"/>
</javac>
</target>
<!--
Targets to build only Transliterator API and tests
-->
<target name="transliterator" depends="init,propertiesClasses,copyTranslitData" description="modular build of unicode transform services">
<javac sourcepath=""
srcdir="${src.dir}"
destdir="${build.dir}"
source="${icu4j.javac.source}"
target="${icu4j.javac.target}"
classpathref="build.classpath"
debug="on" deprecation="off">
<exclude name="**/CVS/**/*"/>
<exclude name="com/ibm/icu/impl/BOCU.java"/>
<exclude name="com/ibm/icu/impl/IntTrieBuilder.java"/>
<exclude name="com/ibm/icu/impl/TrieBuilder.java"/>
<exclude name="com/ibm/icu/lang/UScriptRun.java"/>
<exclude name="com/ibm/icu/text/UnicodeFilterLogic*.java"/>
<include name="com/ibm/icu/impl/data/ResourceReader.java"/>
<include name="com/ibm/icu/impl/*Iterator*.java"/>
<include name="com/ibm/icu/impl/*Property*.java"/>
<include name="com/ibm/icu/impl/ICULocaleService.java"/>
<include name="com/ibm/icu/impl/ICUNotifier.java"/>
<include name="com/ibm/icu/impl/ICURWLock.java"/>
<include name="com/ibm/icu/impl/ICUService.java"/>
<include name="com/ibm/icu/impl/UtilityExtensions.java"/>
<include name="com/ibm/icu/text/BreakIteratorFactory.java"/>
<include name="com/ibm/icu/text/*Transliterator*.java"/>
<include name="com/ibm/icu/text/DictionaryBasedBreakIterator.java"/>
<include name="com/ibm/icu/text/FunctionReplacer.java"/>
<include name="com/ibm/icu/text/Quantifier.java"/>
<include name="com/ibm/icu/text/RBBIDataWrapper.java"/>
<include name="com/ibm/icu/text/ReplaceableContextIterator.java"/>
<include name="com/ibm/icu/text/RuleBasedBreakIterator.java"/>
<include name="com/ibm/icu/text/RuleBasedBreakIterator_New.java"/>
<include name="com/ibm/icu/text/RuleBasedBreakIterator_Old.java"/>
<include name="com/ibm/icu/text/StringMatcher.java"/>
<include name="com/ibm/icu/text/StringReplacer.java"/>
<include name="com/ibm/icu/text/TransliterationRule.java"/>
<include name="com/ibm/icu/text/TransliterationRuleSet.java"/>
<include name="com/ibm/icu/text/UnicodeReplacer.java"/>
<include name="com/ibm/icu/text/UnicodeSetIterator.java"/>
<include name="com/ibm/icu/util/CaseInsensitiveString.java"/>
</javac>
</target>
<target name="transliteratorTests" depends="transliterator" description = "test transliterator modular build target">
<javac srcdir="${src.dir}"
destdir="${build.dir}"
classpathref="build.classpath"
source="${icu4j.javac.source}"
target="${icu4j.javac.target}"
debug="on" deprecation="off">
<exclude name="**/CVS/**/*"/>
<exclude name="com/ibm/icu/dev/test/translit/UnicodeFilterLogic*.java"/>
<include name="com/ibm/icu/dev/test/TestAll.java"/>
<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/translit/**/*"/>
<include name="com/ibm/icu/dev/test/UTF16Util.java"/>
</javac>
</target>
<!--
Targets to build only Format API
-->
<target name="format" depends="init,copyFormatData" description="modular build of formatting services">
<javac sourcepath=""
srcdir="${src.dir}"
destdir="${build.dir}"
source="${icu4j.javac.source}"
target="${icu4j.javac.target}"
classpathref="build.classpath"
debug="on" deprecation="off">
<exclude name="**/CVS/**/*"/>
<exclude name="com/ibm/icu/impl/UtilityExtensions.java"/>
<exclude name="com/ibm/icu/lang/UScriptRun.java"/>
<include name="com/ibm/icu/impl/data/CalendarData*.java"/>
<include name="com/ibm/icu/impl/Assert.java"/>
<include name="com/ibm/icu/impl/BOCU.java"/>
<include name="com/ibm/icu/impl/CalendarAstronomer.java"/>
<include name="com/ibm/icu/impl/CalendarCache.java"/>
<include name="com/ibm/icu/impl/CalendarData.java"/>
<include name="com/ibm/icu/impl/CharacterIteratorWrapper.java"/>
<include name="com/ibm/icu/impl/CharTrie.java"/>
<include name="com/ibm/icu/impl/ICUBinary.java"/>
<include name="com/ibm/icu/impl/ICUBinaryStream.java"/>
<include name="com/ibm/icu/impl/ICUData.java"/>
<include name="com/ibm/icu/impl/ICUDebug.java"/>
<include name="com/ibm/icu/impl/ICUListResourceBundle.java"/>
<include name="com/ibm/icu/impl/ICULocaleData.java"/>
<include name="com/ibm/icu/impl/ICULocaleService.java"/>
<include name="com/ibm/icu/impl/ICUNotifier.java"/>
<include name="com/ibm/icu/impl/ICUResourceBundle.java"/>
<include name="com/ibm/icu/impl/ICUResourceBundleImpl.java"/>
<include name="com/ibm/icu/impl/ICUResourceBundleIterator.java"/>
<include name="com/ibm/icu/impl/ICUResourceBundleReader.java"/>
<include name="com/ibm/icu/impl/ICURWLock.java"/>
<include name="com/ibm/icu/impl/ICUService.java"/>
<include name="com/ibm/icu/impl/ImplicitCEGenerator.java"/>
<include name="com/ibm/icu/impl/IntTrie.java"/>
<include name="com/ibm/icu/impl/IntTrieBuilder.java"/>
<include name="com/ibm/icu/impl/JDKTimeZone.java"/>
<include name="com/ibm/icu/impl/LocaleUtility.java"/>
<include name="com/ibm/icu/impl/NormalizerDataReader.java"/>
<include name="com/ibm/icu/impl/NormalizerImpl.java"/>
<include name="com/ibm/icu/impl/OlsonTimeZone.java"/>
<include name="com/ibm/icu/impl/ReplaceableUCharacterIterator.java"/>
<include name="com/ibm/icu/impl/ResourceBundleWrapper.java"/>
<include name="com/ibm/icu/impl/RuleCharacterIterator.java"/>
<include name="com/ibm/icu/impl/SortedSetRelation.java"/>
<include name="com/ibm/icu/impl/StringUCharacterIterator.java"/>
<include name="com/ibm/icu/impl/TimeZoneAdapter.java"/>
<include name="com/ibm/icu/impl/Trie.java"/>
<include name="com/ibm/icu/impl/TrieBuilder.java"/>
<include name="com/ibm/icu/impl/TrieIterator.java"/>
<include name="com/ibm/icu/impl/UBiDiProps.java"/>
<include name="com/ibm/icu/impl/UCaseProps.java"/>
<include name="com/ibm/icu/impl/UCharArrayIterator.java"/>
<include name="com/ibm/icu/impl/UCharacterIteratorWrapper.java"/>
<include name="com/ibm/icu/impl/UCharacterName.java"/>
<include name="com/ibm/icu/impl/UCharacterNameChoice.java"/>
<include name="com/ibm/icu/impl/UCharacterNameReader.java"/>
<include name="com/ibm/icu/impl/UCharacterProperty.java"/>
<include name="com/ibm/icu/impl/UCharacterPropertyReader.java"/>
<include name="com/ibm/icu/impl/UCharacterUtility.java"/>
<include name="com/ibm/icu/impl/UPropertyAliases.java"/>
<include name="com/ibm/icu/impl/URLHandler.java"/>
<include name="com/ibm/icu/impl/UResourceTypeMismatchException.java"/>
<include name="com/ibm/icu/impl/USerializedSet.java"/>
<include name="com/ibm/icu/impl/Utility.java"/>
<include name="com/ibm/icu/impl/ZoneInfoExt.java"/>
<include name="com/ibm/icu/impl/ZoneMeta.java"/>
<include name="com/ibm/icu/lang/*"/>
<include name="com/ibm/icu/math/BigDecimal.java"/>
<include name="com/ibm/icu/math/MathContext.java"/>
<include name="com/ibm/icu/text/BreakIterator.java"/>
<include name="com/ibm/icu/text/*Format*.java"/>
<include name="com/ibm/icu/text/*Collator*.java"/>
<include name="com/ibm/icu/text/CanonicalIterator.java"/>
<include name="com/ibm/icu/text/ChineseDateFormat.java"/>
<include name="com/ibm/icu/text/CollationElementIterator.java"/>
<include name="com/ibm/icu/text/CollationKey.java"/>
<include name="com/ibm/icu/text/CollationParsedRuleBuilder.java"/>
<include name="com/ibm/icu/text/CollationRuleParser.java"/>
<include name="com/ibm/icu/text/CollatorReader.java"/>
<include name="com/ibm/icu/text/NFRule.java"/>
<include name="com/ibm/icu/text/NFRuleSet.java"/>
<include name="com/ibm/icu/text/NFSubstitution.java"/>
<include name="com/ibm/icu/text/Normalizer.java"/>
<include name="com/ibm/icu/text/DigitList.java"/>
<include name="com/ibm/icu/text/RawCollationKey.java"/>
<include name="com/ibm/icu/text/RBNFPostProcessor.java"/>
<include name="com/ibm/icu/text/Replaceable.java"/>
<include name="com/ibm/icu/text/ReplaceableString.java"/>
<include name="com/ibm/icu/text/SymbolTable.java"/>
<include name="com/ibm/icu/text/UForwardCharacterIterator.java"/>
<include name="com/ibm/icu/text/UCharacterIterator.java"/>
<include name="com/ibm/icu/text/UnicodeFilter.java"/>
<include name="com/ibm/icu/text/UnicodeMatcher.java"/>
<include name="com/ibm/icu/text/UnicodeSet.java"/>
<include name="com/ibm/icu/text/UnicodeSetIterator.java"/>
<include name="com/ibm/icu/text/UTF16.java"/>
<include name="com/ibm/icu/util/ByteArrayWrapper.java"/>
<include name="com/ibm/icu/util/BuddhistCalendar.java"/>
<include name="com/ibm/icu/util/Calendar.java"/>
<include name="com/ibm/icu/util/CalendarData.java"/>
<include name="com/ibm/icu/util/CalendarFactory.java"/>
<include name="com/ibm/icu/util/CECalendar.java"/>
<include name="com/ibm/icu/util/ChineseCalendar.java"/>
<include name="com/ibm/icu/util/CopticCalendar.java"/>
<include name="com/ibm/icu/util/Currency.java"/>
<include name="com/ibm/icu/util/CurrencyAmount.java"/>
<include name="com/ibm/icu/util/EthiopicCalendar.java"/>
<include name="com/ibm/icu/util/GregorianCalendar.java"/>
<include name="com/ibm/icu/util/HebrewCalendar.java"/>
<include name="com/ibm/icu/util/IslamicCalendar.java"/>
<include name="com/ibm/icu/util/JapaneseCalendar.java"/>
<include name="com/ibm/icu/util/Measure.java"/>
<include name="com/ibm/icu/util/MeasureUnit.java"/>
<include name="com/ibm/icu/util/RangeValueIterator.java"/>
<include name="com/ibm/icu/util/SimpleTimeZone.java"/>
<include name="com/ibm/icu/util/STZInfo.java"/>
<include name="com/ibm/icu/util/StringTokenizer.java"/>
<include name="com/ibm/icu/util/TimeZone.java"/>
<include name="com/ibm/icu/util/ULocale.java"/>
<include name="com/ibm/icu/util/UResourceBundle.java"/>
<include name="com/ibm/icu/util/UResourceTypeMismatchException.java"/>
<include name="com/ibm/icu/util/ValueIterator.java"/>
<include name="com/ibm/icu/util/VersionInfo.java"/>
</javac>
</target>
<target name="formatTests" depends="format" description="test format modular build target">
<javac srcdir="${src.dir}"
destdir="${build.dir}"
classpathref="build.classpath"
source="${icu4j.javac.source}"
target="${icu4j.javac.target}"
debug="on" deprecation="off">
<exclude name="**/CVS/**/*"/>
<include name="com/ibm/icu/dev/test/format/**/*"/>
<include name="com/ibm/icu/dev/test/TestAll.java"/>
<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"/>
</javac>
<copy file="${src.dir}/com/ibm/icu/dev/test/format/NumberFormatTestCases.txt"
todir="${build.dir}/com/ibm/icu/dev/test/format"/>
</target>
<!--
Targets to build only BreakIterator API
-->
<target name="breakIterator" depends="init,copyFullPropsData" description="modular build of break iterator services">
<javac sourcepath=""
srcdir="${src.dir}"
destdir="${build.dir}"
source="${icu4j.javac.source}"
target="${icu4j.javac.target}"
classpathref="build.classpath"
debug="on" deprecation="off">
<exclude name="**/CVS/**/*"/>
<exclude name="com/ibm/icu/impl/BOCU.java"/>
<exclude name="com/ibm/icu/impl/UtilityExtensions.java"/>
<exclude name="com/ibm/icu/lang/UScriptRun.java"/>
<include name="com/ibm/icu/impl/data/*Break*.java"/>
<include name="com/ibm/icu/impl/Assert.java"/>
<include name="com/ibm/icu/impl/CharacterIteratorWrapper.java"/>
<include name="com/ibm/icu/impl/CharTrie.java"/>
<include name="com/ibm/icu/impl/ICUBinary.java"/>
<include name="com/ibm/icu/impl/ICUBinaryStream.java"/>
<include name="com/ibm/icu/impl/ICUDebug.java"/>
<include name="com/ibm/icu/impl/ICUData.java"/>
<include name="com/ibm/icu/impl/ICUListResourceBundle.java"/>
<include name="com/ibm/icu/impl/ICUListResourceBundleImpl.java"/>
<include name="com/ibm/icu/impl/ICULocaleData.java"/>
<include name="com/ibm/icu/impl/ICULocaleService.java"/>
<include name="com/ibm/icu/impl/ICUNotifier.java"/>
<include name="com/ibm/icu/impl/ICUResourceBundle.java"/>
<include name="com/ibm/icu/impl/ICUResourceBundleImpl.java"/>
<include name="com/ibm/icu/impl/ICUResourceBundleIterator.java"/>
<include name="com/ibm/icu/impl/ICUResourceBundleReader.java"/>
<include name="com/ibm/icu/impl/ICURWLock.java"/>
<include name="com/ibm/icu/impl/ICUService.java"/>
<include name="com/ibm/icu/impl/IntTrie.java"/>
<include name="com/ibm/icu/impl/IntTrieBuilder.java"/>
<include name="com/ibm/icu/impl/LocaleUtility.java"/>
<include name="com/ibm/icu/impl/NormalizerDataReader.java"/>
<include name="com/ibm/icu/impl/NormalizerImpl.java"/>
<include name="com/ibm/icu/impl/ReplaceableUCharacterIterator.java"/>
<include name="com/ibm/icu/impl/ResourceBundleWrapper.java"/>
<include name="com/ibm/icu/impl/RuleCharacterIterator.java"/>
<include name="com/ibm/icu/impl/SortedSetRelation.java"/>
<include name="com/ibm/icu/impl/Trie.java"/>
<include name="com/ibm/icu/impl/TrieIterator.java"/>
<include name="com/ibm/icu/impl/TrieBuilder.java"/>
<include name="com/ibm/icu/impl/UBiDiProps.java"/>
<include name="com/ibm/icu/impl/UCaseProps.java"/>
<include name="com/ibm/icu/impl/UCharacterIteratorWrapper.java"/>
<include name="com/ibm/icu/impl/UCharacterName.java"/>
<include name="com/ibm/icu/impl/UCharacterNameChoice.java"/>
<include name="com/ibm/icu/impl/UCharacterNameReader.java"/>
<include name="com/ibm/icu/impl/UCharacterProperty.java"/>
<include name="com/ibm/icu/impl/UCharacterPropertyReader.java"/>
<include name="com/ibm/icu/impl/UCharacterUtility.java"/>
<include name="com/ibm/icu/impl/UCharArrayIterator.java"/>
<include name="com/ibm/icu/impl/UPropertyAliases.java"/>
<include name="com/ibm/icu/impl/URLHandler.java"/>
<include name="com/ibm/icu/impl/USerializedSet.java"/>
<include name="com/ibm/icu/impl/Utility.java"/>
<include name="com/ibm/icu/lang/**/*"/>
<include name="com/ibm/icu/text/*BreakIterator*.java"/>
<include name="com/ibm/icu/text/BreakDictionary.java"/>
<include name="com/ibm/icu/text/Normalizer.java"/>
<include name="com/ibm/icu/text/RBBIDataWrapper.java"/>
<include name="com/ibm/icu/text/Replaceable.java"/>
<include name="com/ibm/icu/text/ReplaceableString.java"/>
<include name="com/ibm/icu/text/SymbolTable.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/UnicodeMatcher.java"/>
<include name="com/ibm/icu/text/UnicodeSet.java"/>
<include name="com/ibm/icu/text/UnicodeSetIterator.java"/>
<include name="com/ibm/icu/text/UTF16.java"/>
<include name="com/ibm/icu/util/CompactByteArray.java"/>
<include name="com/ibm/icu/util/RangeValueIterator.java"/>
<include name="com/ibm/icu/util/StringTokenizer.java"/>
<include name="com/ibm/icu/util/UResourceBundle.java"/>
<include name="com/ibm/icu/util/UResourceTypeMismatchException.java"/>
<include name="com/ibm/icu/util/ULocale.java"/>
<include name="com/ibm/icu/util/ValueIterator.java"/>
<include name="com/ibm/icu/util/VersionInfo.java"/>
</javac>
<copy file="${src.dir}/com/ibm/icu/impl/data/th.brk"
todir="${build.dir}/com/ibm/icu/impl/data/"/>
</target>
<target name="breakIteratorTests" depends="breakIterator" description="test breakIterator modular build target">
<javac srcdir="${src.dir}"
destdir="${build.dir}"
classpathref="build.classpath"
source="${icu4j.javac.source}"
target="${icu4j.javac.target}"
debug="on" deprecation="off">
<exclude name="**/CVS/**/*"/>
<include name="com/ibm/icu/dev/test/rbbi/**/*"/>
<include name="com/ibm/icu/dev/test/TestAll.java"/>
<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"/>
</javac>
<copy file="${src.dir}/com/ibm/icu/dev/test/rbbi/rbbitst.txt"
todir="${build.dir}/com/ibm/icu/dev/test/rbbi"/>
</target>
<!--
Targets to build only StringPrep and IDNA API
-->
<target name="copyStringPrepData" depends="init">
<unjar src="${src.dir}/com/ibm/icu/impl/data/icudata.jar" dest="${build.dir}">
<patternset>
<!-- arrgh, includes attributes of patternset does not work here in ant 1.5.3 -->
<include name="**/*.spp"/>
<include name="**/ubidi.icu"/>
<include name="**/ucase.icu"/>
<include name="**/unorm.icu"/>
<include name="**/uprops.icu"/>
<include name="**/pnames.icu"/>
<include name="**/unames.icu"/>
</patternset>
</unjar>
</target>
<target name="stringPrep" depends="init,normalizer,copyStringPrepData" description="modular build of stringprep services">
<javac sourcepath=""
srcdir="${src.dir}"
destdir="${build.dir}"
source="${icu4j.javac.source}"
target="${icu4j.javac.target}"
classpathref="build.classpath"
debug="on" deprecation="off">
<exclude name="**/CVS/**/*"/>
<exclude name="com/ibm/icu/impl/BOCU.java"/>
<exclude name="com/ibm/icu/impl/Calendar*.java"/>
<exclude name="com/ibm/icu/impl/IntTrieBuilder.java"/>
<exclude name="com/ibm/icu/impl/TrieBuilder.java"/>
<exclude name="com/ibm/icu/impl/UtilityExtensions.java"/>
<exclude name="com/ibm/icu/lang/UScriptRun.java"/>
<include name="com/ibm/icu/impl/*StringPrep*.java"/>
<include name="com/ibm/icu/text/*StringPrep*.java"/>
<include name="com/ibm/icu/text/*IDNA*.java"/>
<include name="com/ibm/icu/text/Punycode.java"/>
</javac>
</target>
<target name="stringPrepTests" depends="stringPrep" description="test stringPrep modular build target">
<javac srcdir="${src.dir}"
destdir="${build.dir}"
classpathref="build.classpath"
source="${icu4j.javac.source}"
target="${icu4j.javac.target}"
debug="on" deprecation="off">
<exclude name="**/CVS/**/*"/>
<include name="com/ibm/icu/dev/test/stringprep/**/*"/>
<include name="com/ibm/icu/dev/test/TestAll.java"/>
<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"/>
</javac>
<unjar src="${src.dir}/com/ibm/icu/dev/data/testdata.jar" dest="${build.dir}">
<patternset>
<include name="**/*.spp"/>
<include name="**/idna_rules.res"/>
</patternset>
</unjar>
</target>
<target name="excludeCharset" depends="core" description="excludes charset module from ICU4J">
<delete failonerror="yes">
<fileset dir="${build.dir}/com/ibm/icu/impl/data/icudt${icu4j.version.number}b/">
<include name="*.cnv"/>
<include name="cnvalias.icu"/>
</fileset>
<fileset dir="${build.dir}/com/ibm/icu/charset"/>
<fileset dir="${build.dir}/META-INF/"/>
</delete>
</target>
<target name="excludeCharsetTests" depends="tests" description="excludes charset test from ICU4J">
<delete failonerror="yes">
<fileset dir="${build.dir}/com/ibm/icu/dev/test/charset"/>
</delete>
</target>
<target name="moduleCheck" depends="init" description="run tests for module jar">
<java classname="com.ibm.icu.dev.test.TestAll" fork="yes" failonerror="true">
<arg value="-nothrow"/>
<arg value="-nodata"/>
<classpath>
<pathelement location="${build.dir}"/>
</classpath>
</java>
</target>
<!-- build the extra Transliterator data pertaining to Han-Latin transliteration -->
<target name="extraTransliteratorData" depends="init" description="build han-to-latin transliterator data (normally omitted)">
<copy todir="${build.dir}/com/ibm/icu/impl/data">
<fileset dir="${src.dir}/com/ibm/icu/impl/data" includes="Transliterator_Han_Latin_*.txt"/>
</copy>
</target>
<!-- Target for builing XLIFF2ICUConverter Jar -->
<target name="xliff" depends="init" description="build xliff converter tool">
<javac sourcepath=""
srcdir="${src.dir}"
destdir="${build.dir}"
classpathref="build.classpath"
source="${icu4j.javac.source}"
target="${icu4j.javac.target}"
debug="on" deprecation="off">
<include name="com/ibm/icu/dev/tool/localeconverter/CalculateCRC32.java"/>
<include name="com/ibm/icu/dev/tool/localeconverter/XLIFF2ICUConverter.java"/>
<include name="com/ibm/icu/dev/tool/UOption.java"/>
<include name="com/ibm/icu/dev/tool/xmlcomparator/XMLValidator.java"/>
</javac>
<jar jarfile="xliff.jar"
compress="true"
includes="com/ibm/icu/dev/tool/localeconverter/XLIFF2ICUConverter*.class,com/ibm/icu/dev/tool/localeconverter/CalculateCRC32.class,com/ibm/icu/dev/tool/UOption.class"
basedir="${build.dir}">
<manifest>
<attribute name="Built-By" value="${corp}"/>
<section name="common">
<attribute name="Specification-Title" value="XLIFF To ICU Converter"/>
<attribute name="Specification-Version" value="${icu4j.version.string}"/>
<attribute name="Specification-Vendor" value="ICU"/>
<attribute name="Implementation-Title" value="XLIFF2ICUConverter"/>
<attribute name="Implementation-Version" value="${icu4j.version.string}"/>
<attribute name="Implementation-Vendor" value="${corp}"/>
<attribute name="Implementation-Vendor-Id" value="com.ibm"/>
<attribute name="Copyright-Info" value="${copyright}"/>
<attribute name="Sealed" value="false"/>
</section>
</manifest>
</jar>
<jar jarfile="xliff-src.jar"
compress="true"
includes="com/ibm/icu/dev/tool/localeconverter/XLIFF2ICUConverter.java,com/ibm/icu/dev/tool/localeconverter/CalculateCRC32.java,com/ibm/icu/dev/tool/UOption.java"
basedir="${src.dir}">
<manifest>
<attribute name="Built-By" value="${corp}"/>
<section name="common">
<attribute name="Specification-Title" value="XLIFF To ICU Converter Sources"/>
<attribute name="Specification-Version" value="${icu4j.version.string}"/>
<attribute name="Specification-Vendor" value="ICU"/>
<attribute name="Implementation-Title" value="XLIFF2ICUConverter Sources"/>
<attribute name="Implementation-Version" value="${icu4j.version.string}"/>
<attribute name="Implementation-Vendor" value="${corp}"/>
<attribute name="Implementation-Vendor-Id" value="com.ibm"/>
<attribute name="Copyright-Info" value="${copyright}"/>
<attribute name="Sealed" value="false"/>
</section>
</manifest>
</jar>
</target>
<!-- Target for builing Utilities Jar for CLDR -->
<target name="cldrUtil" depends="init" description="build Utilities for CLDR">
<javac srcdir="${src.dir}"
destdir="${build.dir}"
source="${icu4j.javac.source}"
target="${icu4j.javac.target}"
classpathref="build.classpath"
debug="on" deprecation="off">
<include name="com/ibm/icu/dev/test/TestFmwk.java"/>
<include name="com/ibm/icu/dev/test/util/*.java"/>
<include name="com/ibm/icu/dev/tool/UOption.java"/>
</javac>
<jar jarfile="utilities.jar"
compress="true"
includes="com/ibm/icu/dev/test/util/*.class,com/ibm/icu/dev/test/TestFmwk*.class,com/ibm/icu/dev/test/AbstractTest*.class,com/ibm/icu/dev/test/TestLog*.class,com/ibm/icu/dev/tool/UOption*.class"
basedir="${build.dir}">
<manifest>
<attribute name="Built-By" value="${corp}"/>
<section name="common">
<attribute name="Specification-Title" value="Utilities for CLDR Tools"/>
<attribute name="Specification-Version" value="${icu4j.version.string}"/>
<attribute name="Specification-Vendor" value="ICU"/>
<attribute name="Implementation-Title" value="CLDR Utilities"/>
<attribute name="Implementation-Version" value="${icu4j.version.string}"/>
<attribute name="Implementation-Vendor" value="${corp}"/>
<attribute name="Implementation-Vendor-Id" value="com.ibm"/>
<attribute name="Copyright-Info" value="${copyright}"/>
<attribute name="Sealed" value="false"/>
</section>
</manifest>
</jar>
</target>
<!--Target for building jars -->
<target name="distJars" depends="jarSrc, jar, jarDocs" />
<!-- Target for checking the loading of bundles from the default package.
This is hack to get around Eclipse's build problems.
-->
<target name="defaultPackage" depends="tests" description="Tests for loading resources in the default package">
<copy file="${src.dir}/com/ibm/icu/dev/test/util/TestDefaultPackageLoading.jpp"
tofile="${src.dir}/TestDefaultPackageLoading.java"/>
<copy file="${src.dir}/com/ibm/icu/dev/test/util/TestData_en.jpp"
tofile="${src.dir}/TestData_en.java"/>
<javac srcdir="${src.dir}"
destdir="${build.dir}"
classpathref="build.classpath"
source="${icu4j.javac.source}"
target="${icu4j.javac.target}"
debug="on" deprecation="off">
<exclude name="**/CVS/**/*"/>
<include name="TestData_en.java"/>
<include name="TestDefaultPackageLoading.java"/>
</javac>
<!-- copy the file to default package and test if we can load it -->
<copy file="${build.dir}/com/ibm/icu/dev/data/testdata/te.res"
todir="${build.dir}/"/>
<!-- copy the file up one level and test if java style base name loading works -->
<copy file="${build.dir}/com/ibm/icu/dev/data/testdata/te.res"
tofile="${build.dir}/com/ibm/icu/dev/data/TestData_bge.res"/>
</target>
<target name="defaultPackageCheck" depends="tests, defaultPackage" description="Run Tests for loading resources in the default package">
<!--run the tests -->
<java classname="TestDefaultPackageLoading" fork="yes" failonerror="true">
<jvmarg value="-ea"/> <!-- enable assertion checks -->
<arg value="-n"/>
<classpath>
<pathelement path="${java.class.path}/"/>
<pathelement location="clover.jar"/>
<pathelement path="${build.dir}"/>
</classpath>
</java>
</target>
<!-- convert @deprecated @draft tags to @provisional -->
<target name="swatDeprecated" depends="init, tools" if="version.1.4">
<java classname="com.ibm.icu.dev.tool.docs.SwatDeprecated" classpath="${build.dir}" failonerror="true">
<arg value="-src"/>
<arg value="${src.dir}"/>
<arg value="-dst"/>
<arg value="${src.dir}"/>
<arg value="-overwrite"/>
<arg value="-verbose"/>
</java>
</target>
<!-- convert @provisional tags to @deprecated -->
<target name="restoreDeprecated" depends="init, tools" if="version.1.4">
<java classname="com.ibm.icu.dev.tool.docs.SwatDeprecated" classpath="${build.dir}" failonerror="true">
<arg value="-prov"/>
<arg value="-src"/>
<arg value="${src.dir}"/>
<arg value="-dst"/>
<arg value="${src.dir}"/>
<arg value="-overwrite"/>
<arg value="-verbose"/>
</java>
</target>
<!-- for building eclipse distribution -->
<target name="eclipseProjects"
depends="eclipseCoreProject,eclipseTestProject,eclipseWrapperProject"
description="create all eclipse icu projects"/>
<target name="undoEclipseMangle" depends="buildmangle" description="preprocess files back to default)">
<java classname="com.ibm.icu.dev.tool.docs.CodeMangler" classpath="${build.dir}" logError="true">
<arg value="@eclipseCoreArgs.txt"/>
<arg value="@eclipseTestArgs.txt"/>
</java>
</target>
<target name="eclipseCoreMangle" depends="buildmangle">
<java classname="com.ibm.icu.dev.tool.docs.CodeMangler" classpath="${build.dir}" logError="true">
<arg value="-dFOUNDATION"/>
<arg value="-t"/>
<arg value="@eclipseCoreArgs.txt"/>
</java>
</target>
<target name="eclipseCore" depends="init,coreData,icudata,eclipseCoreMangle">
<javac includes="com/ibm/icu/util/**/*.java,com/ibm/icu/text/**/*.java,com/ibm/icu/math/**/*.java,com/ibm/icu/impl/**/*.java,com/ibm/icu/lang/*.java"
excludes="**/CVS/**/*,com/ibm/icu/charset/**/*.*"
compiler="javac1.3"
srcdir="${src.dir}"
destdir="${build.dir}"
classpathref="build.classpath"
bootclasspath="ee.foundation.jar"
source="1.3"
target="1.1"
debug="on"
deprecation="off"
encoding="ascii"/>
<antcall target="indices"/>
<jar jarfile="${jar.file}" compress="true">
<fileset dir="${basedir}" includes="license.html, unicode-license.txt" />
<fileset dir="${build.dir}"
includes="com/ibm/icu/util/**/*,com/ibm/icu/text/**/*,com/ibm/icu/math/**/*,com/ibm/icu/impl/**/*,com/ibm/icu/lang/**/*"
excludes="META-INF/services/**/*,com/ibm/icu/charset/**/*,${icu4j.data.path}/*.cnv, ${icu4j.data.path}/cnvalias.icu"/>
<manifest>
<attribute name="Built-By" value="${corp}"/>
<section name="common">
<attribute name="Specification-Title" value="ICU4J Eclipse Build"/>
<attribute name="Specification-Version" value="${icu4j.version.string}"/>
<attribute name="Specification-Vendor" value="ICU"/>
<attribute name="Implementation-Title" value=" ICU for Java"/>
<attribute name="Implementation-Version" value="${icu4j.version.string}"/>
<attribute name="Implementation-Vendor" value="${corp}"/>
<attribute name="Implementation-Vendor-Id" value="com.ibm"/>
<attribute name="Copyright-Info" value="${copyright}"/>
<attribute name="Sealed" value="false"/>
</section>
</manifest>
</jar>
</target>
<target name="eclipseCoreProject" depends="eclipseCore" description="gather eclipse icu core project files">
<delete failonerror="no">
<fileset dir="${eclipse.projects.dir}/com.ibm.icu"/>
<fileset dir="${eclipse.projects.dir}/com.ibm.icu-feature"/>
</delete>
<!-- collect source files -->
<copy toDir="${eclipse.projects.dir}/com.ibm.icu/src/com/ibm/icu">
<fileset dir="src/com/ibm/icu"
includes="impl/**/*,lang/**/*,math/**/*,text/**/*,util/**/*"
excludes="**/CVS/**/*,**/*.jar,**/Transliterator_Han_Latin*.txt"/>
</copy>
<!-- collect icu data files -->
<copy todir="${eclipse.projects.dir}/com.ibm.icu/src/com/ibm/icu/impl/data">
<fileset dir="${build.dir}/com/ibm/icu/impl/data"
includes="**/*.brk,**/*.icu,**/*.res,**/*.spp,**/*.txt"
excludes="**/Transliterator_Han_Latin*.txt"/>
</copy>
<!-- collect eclipse project files -->
<copy todir="${eclipse.projects.dir}">
<fileset dir="${eclipse.dir}"
includes="com.ibm.icu/**/*,com.ibm.icu-feature/**/*"
excludes="**/CVS/**/*"/>
</copy>
<!-- copy ICU license file -->
<copy file="license.html"
todir="${eclipse.projects.dir}/com.ibm.icu/about_files"/>
<!-- ucd terms -->
<copy file="src/com/ibm/icu/dev/data/unicode/ucdterms.txt"
todir="${eclipse.projects.dir}/com.ibm.icu/about_files"/>
<!-- copy ICU about file -->
<copy file="${eclipse.dir}/misc/about_icu.html"
tofile="${eclipse.projects.dir}/com.ibm.icu/about.html"/>
<!-- common eclipse about file -->
<copy file="${eclipse.dir}/misc/about.html"
todir="${eclipse.projects.dir}/com.ibm.icu-feature/sourceTemplatePlugin"/>
</target>
<!-- ensure eclipse wrapper code builds with foundation1.0/java1.3 -->
<target name="eclipseWrapper" depends="init">
<javac includes="com/ibm/icu/util/**/*.java,com/ibm/icu/text/**/*.java"
compiler="javac1.3"
srcdir="${src.dir}/com/ibm/icu/dev/eclipse/com.ibm.icu.base/src"
destdir="${wrapper.build.dir}"
classpathref="build.classpath"
bootclasspath="ee.foundation.jar"
source="1.3"
target="1.1"
debug="on"
deprecation="off"
encoding="ascii"/>
<jar jarfile="${jdk.wrapper.jar.file}"
compress="true"
basedir="${wrapper.build.dir}"/>
</target>
<target name="eclipseWrapperTest" depends="init">
<!-- TODO: build the wrapper test code this ant target -->
</target>
<target name="eclipseWrapperProject" depends="eclipseWrapper,eclipseWrapperTest" description="gather eclipse icu core project files">
<delete failonerror="no">
<fileset dir="${eclipse.projects.dir}/com.ibm.icu.base"/>
<fileset dir="${eclipse.projects.dir}/com.ibm.icu.base-feature"/>
<fileset dir="${eclipse.projects.dir}/com.ibm.icu.base.tests"/>
</delete>
<!-- collect eclipse project files -->
<copy todir="${eclipse.projects.dir}">
<fileset dir="${eclipse.dir}"
includes="com.ibm.icu.base/**/*,com.ibm.icu.base-feature/**/*,com.ibm.icu.base.tests/**/*"
excludes="**/CVS/**/*"/>
</copy>
<!-- copy ICU license file -->
<copy file="license.html"
todir="${eclipse.projects.dir}/com.ibm.icu.base/about_files"/>
<!-- copy ICU about file -->
<copy file="${eclipse.dir}/misc/about_icu.html"
tofile="${eclipse.projects.dir}/com.ibm.icu.base/about.html"/>
<!-- common eclipse about file -->
<copy file="${eclipse.dir}/misc/about.html"
todir="${eclipse.projects.dir}/com.ibm.icu.base-feature/sourceTemplatePlugin"/>
</target>
<target name="eclipseTestMangle" depends="buildmangle">
<java classname="com.ibm.icu.dev.tool.docs.CodeMangler" classpath="${build.dir}" logError="true">
<arg value="-dFOUNDATION"/>
<arg value="-t"/>
<arg value="@eclipseTestArgs.txt"/>
</java>
</target>
<target name="eclipseTests" depends="eclipseCore,testdata,eclipseTestMangle" description="build tests trimmed for eclipse API">
<!-- TODO: we should actually use ee.foundation.jar for eclipse env -->
<javac includes="com/ibm/icu/dev/test/**/*.java"
excludes="**/CVS/**/*,com/ibm/icu/dev/test/charset/**/*.*,com/ibm/icu/dev/test/perf/**/*.*,com/ibm/icu/dev/test/translit/UnicodeMapTest.java"
srcdir="${src.dir}"
destdir="${build.dir}"
source="1.3"
target="1.3"
classpathref="build.classpath"
debug="on"
deprecation="off"/>
<antcall target="indices"/>
<jar jarfile="${testjar.file}" compress="true" >
<fileset dir="${build.dir}" includes="com/ibm/icu/dev/test/**/*"/>
<fileset dir="${build.dir}" includes="com/ibm/icu/dev/data/**/*"/>
<manifest>
<attribute name="Built-By" value="${corp}"/>
<section name="common">
<attribute name="Specification-Title" value="Tests for ICU4J "/>
<attribute name="Specification-Version" value="${icu4j.version.string}"/>
<attribute name="Specification-Vendor" value="ICU"/>
<attribute name="Implementation-Title" value="Tests for ICU4J"/>
<attribute name="Implementation-Version" value="${icu4j.version.string}"/>
<attribute name="Implementation-Vendor" value="${corp}"/>
<attribute name="Implementation-Vendor-Id" value="com.ibm"/>
<attribute name="Copyright-Info" value="${copyright}"/>
<attribute name="Sealed" value="false"/>
</section>
</manifest>
</jar>
</target>
<target name="eclipseTestProject" depends="eclipseTests,zipTestSrc" description="gather eclipse icu test project files">
<delete failonerror="no">
<fileset dir="${eclipse.projects.dir}/com.ibm.icu.tests"/>
</delete>
<!-- copy eclipse test source and project files -->
<copy toDir="${eclipse.projects.dir}/com.ibm.icu.tests">
<fileset dir="${eclipse.dir}/com.ibm.icu.tests"
includes="**/*"
excludes="**/CVS/**/"/>
</copy>
<!-- copy icu test jar -->
<copy toDir="${eclipse.projects.dir}/com.ibm.icu.tests" file="${testjar.file}"/>
<!-- copy icu test source zip -->
<copy toDir="${eclipse.projects.dir}/com.ibm.icu.tests" file="${zipTestSrc.file}"/>
</target>
<target name="zipCoreSrc" depends="init" description="build zip of core sources for debugging">
<!-- for eclipse -->
<zip destfile="${zipCoreSrc.file}"
compress="true"
basedir="${src.dir}"
includes="../license.html,../Copyright_Assignment.rtf,com/ibm/icu/impl/**/*,com/ibm/icu/lang/**/*,com/ibm/icu/math/**/*,com/ibm/icu/text/**/*,com/ibm/icu/util/**/*"/>
</target>
<target name="zipTestSrc" depends="init" description="build zip of test sources for debugging">
<!-- for eclipse -->
<zip destfile="${zipTestSrc.file}"
compress="true"
basedir="${src.dir}"
includes="com/ibm/icu/dev/test/**/*"
excludes="com/ibm/icu/dev/test/cldr/**/*, com/ibm/icu/dev/test/perf/**/*"/>
</target>
<target name="gatherICU4JWrapperAPI" depends="tools" if="version.1.4">
<javadoc classpath="${build.dir}"
sourcepath="${src.dir}"
packagenames="com.ibm.icu.text,com.ibm.icu.util"
source="1.4">
<doclet name="com.ibm.icu.dev.tool.docs.GatherAPIData"
path="${build.dir}">
<param name="-name" value="ICU4J 3.6"/>
<param name="-base" value="com.ibm.icu"/>
<param name="-output" value="${api.dir}/icu4j36w_i.api"/>
<param name="-filter" value="BreakIterator|CollationKey|Collator|DateFormat|DecimalFormat|MessageFormat|NumberFormat|SimpleDateFormat|StringTokenizer|Calendar|TimeZone|ULocale|DateFormatSymbols|DecimalFormatSymbols|Calendar|TimeZone"/>
<!-- param name="-gzip"/ -->
</doclet>
</javadoc>
</target>
<target name="gatherEclipseWrapperAPI" depends="tools" if="version.1.4">
<javadoc classpath="${build.dir}"
sourcepath="${src.dir}/com/ibm/icu/dev/eclipse/com.ibm.icu.base/src"
packagenames="com.ibm.icu.text,com.ibm.icu.util"
source="1.4">
<doclet name="com.ibm.icu.dev.tool.docs.GatherAPIData"
path="${build.dir}">
<param name="-name" value="ICU4J 3.6 Wrapper"/>
<param name="-base" value="com.ibm.icu"/>
<param name="-output" value="${api.dir}/icu4j36w_e.api"/>
<!-- param name="-gzip"/ -->
</doclet>
</javadoc>
</target>
<target name="reportWrapperAPI" depends="tools" if="version.1.4">
<java classname="com.ibm.icu.dev.tool.docs.ReportAPI" classpath="${build.dir}" failonerror="true">
<arg value="-old:"/>
<arg value="${api.dir}/icu4j${icu4j.previous.version.number}w_i.api"/>
<arg value="-new:"/>
<arg value="${api.dir}/icu4j${icu4j.version.number}w_e.api"/>
<arg value="-html"/>
<arg value="-out:"/>
<arg value="${api.dir}/icu4j_compare_${icu4j.previous.version.number}_wrapper_java.html"/>
</java>
</target>
<target name="runCheck" depends="init,tests">
<java classname="com.ibm.icu.dev.test.TestAll" fork="yes" failonerror="true">
<arg value="-n"/>
<classpath>
<pathelement path="${java.class.path}/"/>
<pathelement location="${jar.file}"/>
<pathelement location="${charsets.jar.file}"/>
<pathelement location="clover.jar"/>
<pathelement path="${build.dir}"/>
</classpath>
</java>
</target>
<target name="eclipseRunCheck" depends="init,eclipseTests">
<java classname="com.ibm.icu.dev.test.TestAll" fork="yes" failonerror="true">
<arg value="-n"/>
<classpath>
<pathelement path="${java.class.path}/"/>
<pathelement location="icu4j.jar"/>
<pathelement location="clover.jar"/>
<pathelement path="${build.dir}"/>
</classpath>
</java>
</target>
<target name="eclipseCompat" depends="init, eclipseCore"/>
<target name="eclipseCompatTests" depends="init, eclipseTestMangle, eclipseTests" />
<target name="eclipseCompatCheck" depends="init, eclipseCompat, eclipseCompatTests, deleteCore, eclipseRunCheck"/>
<target name="core13" depends="init,coreData,icudata" description="build core classes and data">
<javac includes="com/ibm/icu/util/**/*.java,com/ibm/icu/text/**/*.java,com/ibm/icu/math/**/*.java,com/ibm/icu/impl/**/*.java,com/ibm/icu/lang/*.java,com/ibm/icu/charset/**/*.java"
excludes="**/CVS/**/*,com/ibm/icu/charset/**/*.*"
srcdir="${src.dir}"
destdir="${build.dir}"
classpathref="build.classpath"
source="${icu4j.javac.source}"
target="${icu4j.javac.target}"
debug="on" deprecation="off"
encoding="ascii"/>
</target>
<target name="jar13" depends="core13,indices" description="build full 'icu4j.jar' jar file for jdk1.3">
<jar jarfile="${jar.file}" compress="true">
<fileset dir="${basedir}" includes="license.html, unicode-license.txt" />
<fileset dir="${build.dir}"
includes="com/ibm/icu/util/**/*,com/ibm/icu/text/**/*,com/ibm/icu/math/**/*,com/ibm/icu/impl/**/*,com/ibm/icu/lang/**/*"
excludes="META-INF/services/**/*,com/ibm/icu/charset/**/*,${icu4j.data.path}/*.cnv, ${icu4j.data.path}/cnvalias.icu"/>
<manifest>
<attribute name="Built-By" value="${corp}"/>
<section name="common">
<attribute name="Specification-Title" value="ICU4J JDK 1.3 Compatible Build"/>
<attribute name="Specification-Version" value="${icu4j.version.string}"/>
<attribute name="Specification-Vendor" value="ICU"/>
<attribute name="Implementation-Title" value=" ICU for Java Charsets"/>
<attribute name="Implementation-Version" value="${icu4j.version.string}"/>
<attribute name="Implementation-Vendor" value="${corp}"/>
<attribute name="Implementation-Vendor-Id" value="com.ibm"/>
<attribute name="Copyright-Info" value="${copyright}"/>
<attribute name="Sealed" value="false"/>
</section>
</manifest>
</jar>
</target>
<target name="jdk13Compat" depends="init, eclipseCoreMangle, core13" description="builds ICU4J core with JDK 1.3"/>
<target name="jdk13CompatTests" depends="init, jdk13Compat, eclipseTestMangle, eclipseTests" description="builds ICU4J tests with JDK 1.3"/>
<target name="jdk13CompatCheck" depends="init, jdk13CompatTests, jar13, deleteCore, eclipseRunCheck" description="runs the tests with JDK 1.3"/>
</project>