]> gitweb.fperrin.net Git - Dictionary.git/blob - jars/icu4j-4_4_2-src/build.xml
go
[Dictionary.git] / jars / icu4j-4_4_2-src / build.xml
1 <!--\r
2 *******************************************************************************\r
3 * Copyright (C) 1997-2010, International Business Machines Corporation and    *\r
4 * others. All Rights Reserved.                                                *\r
5 *******************************************************************************\r
6 -->\r
7 <project name="icu4j" default="jar" basedir=".">\r
8     <property file="build.properties"/>\r
9 \r
10     <property name="shared.dir" value="main/shared"/>\r
11     <import file="${shared.dir}/build/common-targets.xml"/>\r
12 \r
13     <property name="icu4j.jar.file" value="icu4j.jar"/>\r
14     <property name="icu4jtests.jar.file" value="icu4jtests.jar"/>\r
15     <property name="icu4j-charsets.jar.file" value="icu4j-charsets.jar"/>\r
16     <property name="icu4j-localespi.jar.file" value="icu4j-localespi.jar"/>\r
17     <property name="icu4jdocs.jar.file" value="icu4jdocs.jar"/>\r
18     <property name="icu4jsrc.jar.file" value="icu4jsrc.jar"/>\r
19     <property name="icu4jdemos.jar.file" value="icu4jdemos.jar"/>\r
20 \r
21     <property name="doc.dir" value="doc"/>\r
22 \r
23     <property environment="env"/>\r
24 \r
25     <!-- Java version check -->\r
26     <condition property="is.java6.plus">\r
27         <or>\r
28             <contains string="${java.version}" substring="1.6."/>\r
29             <contains string="${java.version}" substring="1.7."/>\r
30         </or>\r
31     </condition>\r
32     <condition property="is.java5">\r
33         <contains string="${java.version}" substring="1.5."/>\r
34     </condition>\r
35     <fail message="The JDK version is too old or unknown.">\r
36         <condition>\r
37             <not>\r
38                 <or>\r
39                     <isset property="is.java6.plus"/>\r
40                     <isset property="is.java5"/>\r
41                 </or>\r
42              </not>\r
43         </condition>\r
44     </fail>\r
45 \r
46     <!-- Build environment info -->\r
47     <property name="env.COMPUTERNAME" value="${env.HOSTNAME}"/>\r
48     <target name="info" description="Display the build environment information">\r
49         <echo message="----- Build Environment Information -------------------"/>\r
50         <echo message="Java Home:    ${java.home}"/>\r
51         <echo message="Java Version: ${java.version}"/>\r
52         <echo message="Ant Home:     ${ant.home}"/>\r
53         <echo message="Ant Version:  ${ant.version}"/>\r
54         <echo message="OS:           ${os.name}"/>\r
55         <echo message="OS Version:   ${os.version}"/>\r
56         <echo message="OS Arch:      ${os.arch}"/>\r
57         <echo message="Host:         ${env.COMPUTERNAME}"/>\r
58         <echo message="-------------------------------------------------------"/>\r
59     </target>\r
60 \r
61     <target name="clean" description="Clean up build outputs">\r
62         <ant dir="${icu4j.core.dir}" target="clean" inheritAll="false"/>\r
63         <ant dir="${icu4j.collate.dir}" target="clean" inheritAll="false"/>\r
64         <ant dir="${icu4j.charset.dir}" target="clean" inheritAll="false"/>\r
65         <ant dir="${icu4j.currdata.dir}" target="clean" inheritAll="false"/>\r
66         <ant dir="${icu4j.langdata.dir}" target="clean" inheritAll="false"/>\r
67         <ant dir="${icu4j.localespi.dir}" target="clean" inheritAll="false"/>\r
68         <ant dir="${icu4j.regiondata.dir}" target="clean" inheritAll="false"/>\r
69         <ant dir="${icu4j.translit.dir}" target="clean" inheritAll="false"/>\r
70         <ant dir="${icu4j.test-framework.dir}" target="clean" inheritAll="false"/>\r
71         <ant dir="${icu4j.core-tests.dir}" target="clean" inheritAll="false"/>\r
72         <ant dir="${icu4j.collate-tests.dir}" target="clean" inheritAll="false"/>\r
73         <ant dir="${icu4j.charset-tests.dir}" target="clean" inheritAll="false"/>\r
74         <ant dir="${icu4j.localespi-tests.dir}" target="clean" inheritAll="false"/>\r
75         <ant dir="${icu4j.packaging-tests.dir}" target="clean" inheritAll="false"/>\r
76         <ant dir="${icu4j.translit-tests.dir}" target="clean" inheritAll="false"/>\r
77         <ant dir="${icu4j.build-tools.dir}" target="clean" inheritAll="false"/>\r
78         <ant dir="${icu4j.tools.dir}" target="clean" inheritAll="false"/>\r
79         <ant dir="${icu4j.demos.dir}" target="clean" inheritAll="false"/>\r
80 \r
81         <!-- delete all .jar files in icu4j root directory -->\r
82         <delete>\r
83             <fileset dir="." includes="icu4j*.jar"/>\r
84         </delete>\r
85 \r
86         <delete dir="${doc.dir}"/>\r
87         <delete dir="${out.dir}"/>\r
88         <delete dir="${module.dir}"/>\r
89     </target>\r
90 \r
91     <!-- meta build targets -->\r
92     <target name="all" depends="info, main, tests, build-tools, tools, demos, jar, docs" description="Build all primary targets"/>\r
93     <target name="main" depends="info, core, collate, charset, currdata, langdata, regiondata, translit, localespi" description="Build ICU4J runtime library classes"/>\r
94     <target name="tests" depends="info, core-tests, charset-tests, collate-tests, packaging-tests, translit-tests, localespi-tests" description="Build ICU4J test classes"/>\r
95     <target name="releaseJar" depends="info, jar, jarDocs, jarSrc" description="Build all jar files for distribution"/>\r
96 \r
97     <target name="secure" depends="icu4jJar" description="(Deprecated)Build ICU4J API and test classes for running the ICU4J test suite with Java security manager enabled"/>\r
98     \r
99     <!-- Check to see if JVM_OPTIONS enviroment variable is set. This can be use to set the heap size. -->\r
100     <property name="env.JVM_OPTIONS" value=""/>\r
101     <property name="jvm_options" value="${env.JVM_OPTIONS}"/>\r
102     <target name="check" description="Run the standard ICU4J test suite">\r
103         <antcall target="_runCheck">\r
104             <param name="runcheck.arg" value="-n"/>\r
105             <param name="runcheck.jvmarg" value="${jvm_options}"/>\r
106         </antcall>\r
107     </target>\r
108 \r
109     <target name="exhaustiveCheck" description="Run the standard ICU4J test suite in exhaustive mode">\r
110         <antcall target="_runCheck">\r
111             <param name="runcheck.arg" value="-n -e10"/>\r
112             <param name="runcheck.jvmarg" value="${jvm_options}"/>\r
113         </antcall>\r
114     </target>\r
115 \r
116     <target name="timeZoneCheck" description="Run the complete test for TimeZoneRoundTripAll">\r
117         <antcall target="_runCheck">\r
118             <param name="runcheck.arg" value="-n -prop:TimeZoneRoundTripAll=true Core/Format/DateFormat/TimeZoneFormatTest"/>\r
119             <param name="runcheck.jvmarg" value="${jvm_options}"/>\r
120         </antcall>\r
121     </target>\r
122 \r
123     <target name="jdktzCheck" description="Run the standard ICU4J test suite with JDK TimeZone">\r
124         <antcall target="_runCheck">\r
125             <param name="runcheck.arg" value="-n"/>\r
126             <param name="runcheck.jvmarg" value="${jvm_options} -Dcom.ibm.icu.util.TimeZone.DefaultTimeZoneType=JDK"/>\r
127         </antcall>\r
128     </target>\r
129 \r
130     <target name="_runCheck" depends="main, tests">\r
131         <echo message="JVM argument:   ${runcheck.jvmarg} -Djava.awt.headless=true"/>\r
132         <echo message="Test argument:   ${runcheck.arg}"/>\r
133 \r
134         <java classname="com.ibm.icu.dev.test.TestAll" fork="yes" failonerror="true">\r
135             <arg line="${runcheck.arg}"/>\r
136             <jvmarg line="${runcheck.jvmarg} -Djava.awt.headless=true"/>\r
137             <classpath>\r
138                 <pathelement path="${icu4j.core.jar}"/>\r
139                 <pathelement path="${icu4j.collate.jar}"/>\r
140                 <pathelement path="${icu4j.charset.jar}"/>\r
141                 <pathelement path="${icu4j.currdata.jar}"/>\r
142                 <pathelement path="${icu4j.langdata.jar}"/>\r
143                 <pathelement path="${icu4j.regiondata.jar}"/>\r
144                 <pathelement path="${icu4j.translit.jar}"/>\r
145                 <pathelement path="${icu4j.test-framework.jar}"/>\r
146                 <pathelement path="${icu4j.core-tests.jar}"/>\r
147                 <pathelement path="${icu4j.collate-tests.jar}"/> \r
148                 <pathelement path="${icu4j.charset-tests.jar}"/>\r
149                 <pathelement path="${icu4j.translit-tests.jar}"/>\r
150             </classpath>\r
151         </java>\r
152     </target>\r
153 \r
154     <target name="runTest" description="Run a ICU4J test case, without calling any other build targets">\r
155         <echo message="JVM argument:   ${jvm_options} -Djava.awt.headless=true"/>\r
156         <echo message="Test argument:   ${testarg}"/>\r
157 \r
158         <java classname="com.ibm.icu.dev.test.TestAll" fork="yes" failonerror="true">\r
159             <arg line="${testarg}"/>\r
160             <jvmarg line="${jvm_options} -Djava.awt.headless=true"/>\r
161             <classpath>\r
162                 <pathelement path="${icu4j.core.jar}"/>\r
163                 <pathelement path="${icu4j.collate.jar}"/>\r
164                 <pathelement path="${icu4j.charset.jar}"/>\r
165                 <pathelement path="${icu4j.currdata.jar}"/>\r
166                 <pathelement path="${icu4j.langdata.jar}"/>\r
167                 <pathelement path="${icu4j.regiondata.jar}"/>\r
168                 <pathelement path="${icu4j.translit.jar}"/>\r
169                 <pathelement path="${icu4j.test-framework.jar}"/>\r
170                 <pathelement path="${icu4j.core-tests.jar}"/>\r
171                 <pathelement path="${icu4j.collate-tests.jar}"/> \r
172                 <pathelement path="${icu4j.charset-tests.jar}"/>\r
173                 <pathelement path="${icu4j.translit-tests.jar}"/>\r
174             </classpath>\r
175         </java>\r
176     </target>\r
177 \r
178     <target name="packagingCheck" depends="info, core, packaging-tests" description="Run packaging tests">\r
179         <!-- region data but no language data -->\r
180         <java classname="com.ibm.icu.dev.test.TestPackaging" fork="yes" failonerror="true">\r
181             <arg line="-n -w"/>\r
182             <classpath>\r
183                 <pathelement path="${icu4j.core.jar}"/>\r
184                 <pathelement path="${icu4j.charset.jar}"/>\r
185                 <pathelement path="${icu4j.test-framework.jar}"/>\r
186                 <pathelement path="${icu4j.packaging-tests.jar}"/>\r
187                 <pathelement path="${icu4j.regiondata.jar}"/>\r
188             </classpath>\r
189         </java>\r
190         <!-- language data but no region data -->\r
191         <java classname="com.ibm.icu.dev.test.TestPackaging" fork="yes" failonerror="true">\r
192             <arg line="-n -w"/>\r
193             <classpath>\r
194                 <pathelement path="${icu4j.core.jar}"/>\r
195                 <pathelement path="${icu4j.charset.jar}"/>\r
196                 <pathelement path="${icu4j.test-framework.jar}"/>\r
197                 <pathelement path="${icu4j.packaging-tests.jar}"/>\r
198                 <pathelement path="${icu4j.langdata.jar}"/>\r
199             </classpath>\r
200         </java>\r
201         <!-- neither region nor language data -->\r
202         <java classname="com.ibm.icu.dev.test.TestPackaging" fork="yes" failonerror="true">\r
203             <arg line="-n -w"/>\r
204             <classpath>\r
205                 <pathelement path="${icu4j.core.jar}"/>\r
206                 <pathelement path="${icu4j.charset.jar}"/>\r
207                 <pathelement path="${icu4j.test-framework.jar}"/>\r
208                 <pathelement path="${icu4j.packaging-tests.jar}"/>\r
209             </classpath>\r
210         </java>\r
211     </target>\r
212 \r
213     <target name="coreCheck" depends="info, core, currdata, langdata, regiondata, core-tests" description="Run only the core tests">\r
214         <java classname="com.ibm.icu.dev.test.TestAllCore" fork="yes" failonerror="true">\r
215             <arg line="-n"/>\r
216             <classpath>\r
217                 <pathelement path="${icu4j.core.jar}"/>\r
218                 <pathelement path="${icu4j.currdata.jar}"/>\r
219                 <pathelement path="${icu4j.langdata.jar}"/>\r
220                 <pathelement path="${icu4j.regiondata.jar}"/>\r
221                 <pathelement path="${icu4j.test-framework.jar}"/>\r
222                 <pathelement path="${icu4j.core-tests.jar}"/>\r
223             </classpath>\r
224         </java>\r
225     </target>\r
226 \r
227     <target name="collateCheck" depends="info, core, collate, currdata, langdata, regiondata, core-tests, collate-tests" description="Run only the collation tests">\r
228         <java classname="com.ibm.icu.dev.test.TestAllCollate" fork="yes" failonerror="true">\r
229             <arg line="-n"/>\r
230             <classpath>\r
231                 <pathelement path="${icu4j.core.jar}"/>\r
232                 <pathelement path="${icu4j.collate.jar}"/>\r
233                 <pathelement path="${icu4j.test-framework.jar}"/>\r
234                 <pathelement path="${icu4j.collate-tests.jar}"/>\r
235 \r
236                 <!-- for now, collateCheck needs currdata, langdata and regiondata, because of GlobalizationPreferencesTest" -->\r
237                 <pathelement path="${icu4j.currdata.jar}"/>\r
238                 <pathelement path="${icu4j.langdata.jar}"/>\r
239                 <pathelement path="${icu4j.regiondata.jar}"/>\r
240                 <pathelement path="${icu4j.core-tests.jar}"/>\r
241             </classpath>\r
242         </java>\r
243     </target>\r
244 \r
245     <target name="translitCheck" depends="info, core, translit, translit-tests" description="Run the ICU4J Translit test suite">\r
246         <java classname="com.ibm.icu.dev.test.TestAllTranslit" fork="yes" failonerror="true">\r
247             <arg line="-n"/>\r
248             <classpath>\r
249                 <pathelement path="${icu4j.core.jar}"/>\r
250                 <pathelement path="${icu4j.translit.jar}"/>\r
251                 <pathelement path="${icu4j.test-framework.jar}"/>\r
252                 <pathelement path="${icu4j.translit-tests.jar}"/>\r
253             </classpath>\r
254         </java>\r
255     </target>\r
256 \r
257     <target name="localespiCheck" if="is.java6.plus" depends="info" description="Run the ICU4J Locale SPI test suite">\r
258         <antcall target="_runLocalespiCheck"/>\r
259     </target>\r
260 \r
261     <target name="_runLocalespiCheck" depends="localespi, localespi-tests">\r
262         <java classname="com.ibm.icu.dev.test.localespi.TestAll" fork="yes" failonerror="true">\r
263             <jvmarg line="-Djava.ext.dirs=${icu4j.core.dir}/${jar.dir}${path.separator}${icu4j.localespi.dir}/${jar.dir}${path.separator}${icu4j.collate.dir}/${jar.dir}${path.separator}${icu4j.currdata.dir}/${jar.dir}${path.separator}${icu4j.langdata.dir}/${jar.dir}${path.separator}${icu4j.regiondata.dir}/${jar.dir}${path.separator}${java.ext.dirs}"/>\r
264             <arg value="-n"/>\r
265             <classpath>\r
266                 <pathelement path="${icu4j.localespi-tests.jar}"/>\r
267                 <pathelement path="${icu4j.test-framework.jar}"/>\r
268             </classpath>\r
269         </java>\r
270     </target>\r
271 \r
272     <target name="secureCheck" depends="main, jar, icu4jtestsJar" description="Run the secure (applet-like) ICU4J test suite">\r
273         <property name="securecheck.arg" value="-n -w"/>\r
274         <property name="securecheck.jvmarg"\r
275                 value="${jvm_options} -Djava.security.manager -Djava.security.policy=${shared.dir}/data/security.policy -Djava.awt.headless=true"/>\r
276 \r
277         <echo message="JVM argument:   ${securecheck.jvmarg}"/>\r
278         <echo message="Test argument:  ${securecheck.arg}"/>\r
279 \r
280         <java classname="com.ibm.icu.dev.test.TestAll" fork="yes" failonerror="true">\r
281             <arg line="${securecheck.arg}"/>\r
282             <jvmarg line="${securecheck.jvmarg}"/>\r
283             <classpath>\r
284                 <pathelement path="${icu4j.jar.file}"/>\r
285                 <pathelement path="${icu4j-charsets.jar.file}"/>\r
286                 <pathelement path="${icu4jtests.jar.file}"/>\r
287             </classpath>\r
288         </java>\r
289     </target>\r
290 \r
291     <!-- jar targets -->\r
292     <target name="jar" depends="icu4jJar, charset, localespi" description="Build ICU4J runtime library jar files">\r
293         <copy file="${icu4j.charset.jar}" tofile="${icu4j-charsets.jar.file}"/>\r
294         <copy file="${icu4j.localespi.jar}" tofile="${icu4j-localespi.jar.file}" failonerror="false"/>\r
295     </target>\r
296 \r
297     <target name="icu4jJar" depends="info, core, collate, currdata, langdata, regiondata, translit" description="Build ICU4J all-in-one core jar">\r
298         <mkdir dir="${out.dir}"/>\r
299 \r
300         <!-- manifest -->\r
301         <copy file="${icu4j.core.dir}/manifest.stub" todir="${out.dir}">\r
302             <filterset>\r
303                 <filter token="SPECVERSION" value="${jar.spec.version}"/>\r
304                 <filter token="IMPLVERSION" value="${jar.impl.version}"/>\r
305                 <filter token="COPYRIGHT" value="${jar.copyright.info}"/>\r
306             </filterset>\r
307         </copy>\r
308 \r
309         <!-- jar -->\r
310         <jar jarfile="${icu4j.jar.file}"\r
311                 compress="true"\r
312                 manifest="${out.dir}/manifest.stub">\r
313             <fileset dir="${icu4j.core.dir}/${bin.dir}" includes="**/*"/>\r
314             <fileset dir="${icu4j.collate.dir}/${bin.dir}" includes="**/*"/>\r
315             <fileset dir="${icu4j.currdata.dir}/${bin.dir}" includes="**/*"/>\r
316             <fileset dir="${icu4j.langdata.dir}/${bin.dir}" includes="**/*"/>\r
317             <fileset dir="${icu4j.regiondata.dir}/${bin.dir}" includes="**/*"/>\r
318             <fileset dir="${icu4j.translit.dir}/${bin.dir}" includes="**/*"/>\r
319             <fileset dir="${shared.dir}/licenses">\r
320                 <include name="license.html"/>\r
321                 <include name="unicode-license.txt"/>\r
322             </fileset>\r
323         </jar>\r
324     </target>\r
325 \r
326     <target name="icu4jtestsJar" depends="info, tests" description="Build ICU4J all-in-one test jar">\r
327         <jar jarfile="${icu4jtests.jar.file}"\r
328                 compress="true">\r
329             <fileset dir="${icu4j.test-framework.dir}/${bin.dir}" includes="**/*"/>\r
330             <fileset dir="${icu4j.core-tests.dir}/${bin.dir}" includes="**/*"/>\r
331             <fileset dir="${icu4j.collate-tests.dir}/${bin.dir}" includes="**/*"/>\r
332             <fileset dir="${icu4j.translit-tests.dir}/${bin.dir}" includes="**/*"/>\r
333             <fileset dir="${icu4j.charset-tests.dir}/${bin.dir}" includes="**/*"/>\r
334         </jar>\r
335     </target>\r
336 \r
337     <target name="jarDocs" depends="docs" description="Build ICU4J API doc jar file">\r
338         <jar jarfile="${icu4jdocs.jar.file}" compress="true" basedir="${doc.dir}"/>\r
339     </target>\r
340 \r
341     <target name="jarSrc" description="Build ICU4J source jar file">\r
342         <jar jarfile="${icu4jsrc.jar.file}" compress="true">\r
343             <fileset dir=".">\r
344                 <include name="main/**/*"/>\r
345                 <include name="demos/**/*"/>\r
346                 <include name="tools/**/*"/>\r
347                 <include name="*.html"/>\r
348                 <include name="*.xml"/>\r
349                 <include name="*.properties"/>\r
350                 <exclude name="**/out/**/*"/>\r
351             </fileset>\r
352         </jar>\r
353     </target>\r
354 \r
355     <target name="jarDemos" depends="demos" description="Build ICU4J demo jar file">\r
356         <copy file="${icu4j.demos.jar}" tofile="${icu4jdemos.jar.file}"/>\r
357     </target>\r
358 \r
359     <!-- compile targets -->\r
360     <target name="core" description="Build core classes">\r
361         <ant dir="${icu4j.core.dir}" inheritAll="false"/>\r
362     </target>\r
363 \r
364     <target name="collate" depends="core" description="Build collation classes">\r
365         <ant dir="${icu4j.collate.dir}" inheritAll="false"/>\r
366     </target>\r
367 \r
368     <target name="charset" depends="core" description="Build charset classes">\r
369         <ant dir="${icu4j.charset.dir}" inheritAll="false"/>\r
370     </target>\r
371 \r
372     <target name="currdata" depends="core" description="Build currency data classes">\r
373         <ant dir="${icu4j.currdata.dir}" inheritAll="false"/>\r
374     </target>\r
375 \r
376     <target name="langdata" depends="core" description="Build language data classes">\r
377         <ant dir="${icu4j.langdata.dir}" inheritAll="false"/>\r
378     </target>\r
379 \r
380     <target name="localespi" if="is.java6.plus" description="Build Locale SPI classes">\r
381         <antcall target="_build-localespi"/>\r
382     </target>\r
383 \r
384     <target name="_build-localespi" depends="core, collate, currdata, langdata, regiondata">\r
385         <ant dir="${icu4j.localespi.dir}" inheritAll="false"/>\r
386     </target>\r
387 \r
388     <target name="regiondata" depends="core" description="Build region data classes">\r
389         <ant dir="${icu4j.regiondata.dir}" inheritAll="false"/>\r
390     </target>\r
391 \r
392     <target name="translit" depends="core" description="Build translit classes">\r
393         <ant dir="${icu4j.translit.dir}" inheritAll="false"/>\r
394     </target>\r
395 \r
396     <target name="test-framework" depends="core" description="Build test framework classes">\r
397         <ant dir="${icu4j.test-framework.dir}" inheritAll="false"/>\r
398     </target>\r
399 \r
400     <target name="core-tests" depends="core, test-framework" description="Build core tests">\r
401         <ant dir="${icu4j.core-tests.dir}" inheritAll="false"/>\r
402     </target>\r
403 \r
404     <target name="collate-tests" depends="collate, test-framework" description="Build core tests">\r
405         <ant dir="${icu4j.collate-tests.dir}" inheritAll="false"/>\r
406     </target>\r
407 \r
408     <target name="charset-tests" depends="charset, test-framework" description="Build charset tests">\r
409         <ant dir="${icu4j.charset-tests.dir}" inheritAll="false"/>\r
410     </target>\r
411 \r
412     <target name="localespi-tests" if="is.java6.plus" description="Build Locale SPI tests">\r
413         <antcall target="_build-localespi-tests"/>\r
414     </target>\r
415 \r
416     <target name="_build-localespi-tests" depends="localespi, test-framework">\r
417         <ant dir="${icu4j.localespi-tests.dir}" inheritAll="false"/>\r
418     </target>\r
419 \r
420     <target name="packaging-tests" depends="test-framework" description="Build packaging tests">\r
421         <ant dir="${icu4j.packaging-tests.dir}" inheritAll="false"/>\r
422     </target>\r
423 \r
424     <target name="translit-tests" depends="translit, test-framework" description="Build translit tests">\r
425         <ant dir="${icu4j.translit-tests.dir}" inheritAll="false"/>\r
426     </target>\r
427 \r
428     <target name="demos" depends="core, charset, translit" description="Build demo classes">\r
429         <ant dir="${icu4j.demos.dir}" inheritAll="false"/>\r
430     </target>\r
431 \r
432     <target name="build-tools" description="Build build-tool classes">\r
433         <ant dir="${icu4j.build-tools.dir}" inheritAll="false"/>\r
434     </target>\r
435 \r
436     <target name="tools" depends="core, core-tests, collate, translit, translit-tests" description="Build tool classes">\r
437         <ant dir="${icu4j.tools.dir}" inheritAll="false"/>\r
438     </target>\r
439 \r
440     <!-- doc targets -->\r
441     <target name="docs" depends="info, build-tools" description="Build API documents">\r
442         <javadoc\r
443                 destdir="${doc.dir}"\r
444                 nodeprecatedlist="true"\r
445                 windowtitle="icu4j"\r
446                 doctitle="icu4j"\r
447                 encoding="iso-8859-1"\r
448                 docencoding="iso-8859-1"\r
449                 bottom="&lt;font size=-1&gt;Copyright (c) ${current.year} IBM Corporation and others.&lt;/font&gt;"\r
450                 additionalparam="-breakiterator -use -tagletpath ${icu4j.build-tools.jar} -taglet com.ibm.icu.dev.tool.docs.ICUTaglet"\r
451                 link="http://java.sun.com/javase/6/docs/api/"\r
452                 source="1.5">\r
453             <packageset dir="${icu4j.core.dir}/src">\r
454                 <include name="com/ibm/icu/lang/**"/>\r
455                 <include name="com/ibm/icu/math/**"/>\r
456                 <include name="com/ibm/icu/text/**"/>\r
457                 <include name="com/ibm/icu/util/**"/>\r
458             </packageset>\r
459             <packageset dir="${icu4j.collate.dir}/src">\r
460                 <include name="com/ibm/icu/text/**"/>\r
461             </packageset>\r
462             <packageset dir="${icu4j.translit.dir}/src">\r
463                 <include name="com/ibm/icu/text/**"/>\r
464             </packageset>\r
465             <packageset dir="${icu4j.charset.dir}/src">\r
466                 <include name="com/ibm/icu/charset/**"/>\r
467             </packageset>\r
468         </javadoc>\r
469     </target>\r
470 \r
471     <!-- Code coverage target -->\r
472     <property name="clover.out.dir" value="${out.dir}/clover"/>\r
473     <property name="clover.jar" location="${env.CLOVER_DIR}/clover.jar"/>\r
474     <taskdef resource="cloverlib.xml" classpath="${clover.jar}" onerror="ignore"/>\r
475 \r
476     <target name="codeCoverage" depends="clean" description="Generate code coverage report with clover">\r
477         <!-- Set up clover -->\r
478         <mkdir dir="${clover.out.dir}"/>\r
479         <clover-setup initstring="${clover.out.dir}/clover.db">\r
480             <files>\r
481                 <exclude name="**/dev/**/*.java"/>\r
482             </files>\r
483             <methodContext name="API" regexp="(.* )?public .*"/>\r
484         </clover-setup>\r
485 \r
486         <!-- Build components with clover instrumentation -->\r
487         <ant dir="${icu4j.core.dir}" inheritAll="false" inheritRefs="true">\r
488             <property name="build.compiler" value="${build.compiler}"/>\r
489         </ant>\r
490         <ant dir="${icu4j.collate.dir}" inheritAll="false" inheritRefs="true">\r
491             <property name="build.compiler" value="${build.compiler}"/>\r
492         </ant>\r
493         <ant dir="${icu4j.charset.dir}" inheritAll="false" inheritRefs="true">\r
494             <property name="build.compiler" value="${build.compiler}"/>\r
495         </ant>\r
496         <ant dir="${icu4j.currdata.dir}" inheritAll="false" inheritRefs="true">\r
497             <property name="build.compiler" value="${build.compiler}"/>\r
498         </ant>\r
499         <ant dir="${icu4j.langdata.dir}" inheritAll="false" inheritRefs="true">\r
500             <property name="build.compiler" value="${build.compiler}"/>\r
501         </ant>\r
502         <ant dir="${icu4j.regiondata.dir}" inheritAll="false" inheritRefs="true">\r
503             <property name="build.compiler" value="${build.compiler}"/>\r
504         </ant>\r
505         <ant dir="${icu4j.translit.dir}" inheritAll="false" inheritRefs="true">\r
506             <property name="build.compiler" value="${build.compiler}"/>\r
507         </ant>\r
508         <ant dir="${icu4j.test-framework.dir}" inheritAll="false" inheritRefs="true">\r
509             <property name="build.compiler" value="${build.compiler}"/>\r
510         </ant>\r
511         <ant dir="${icu4j.core-tests.dir}" inheritAll="false" inheritRefs="true">\r
512             <property name="build.compiler" value="${build.compiler}"/>\r
513         </ant>\r
514         <ant dir="${icu4j.collate-tests.dir}" inheritAll="false" inheritRefs="true">\r
515             <property name="build.compiler" value="${build.compiler}"/>\r
516         </ant>\r
517         <ant dir="${icu4j.charset-tests.dir}" inheritAll="false" inheritRefs="true">\r
518             <property name="build.compiler" value="${build.compiler}"/>\r
519         </ant>\r
520         <ant dir="${icu4j.translit-tests.dir}" inheritAll="false" inheritRefs="true">\r
521             <property name="build.compiler" value="${build.compiler}"/>\r
522         </ant>\r
523 \r
524         <!-- Run the test suites -->\r
525         <java classname="com.ibm.icu.dev.test.TestAll" fork="yes" failonerror="true">\r
526             <arg value="-n"/>\r
527             <classpath>\r
528                 <pathelement path="${icu4j.core.jar}"/>\r
529                 <pathelement path="${icu4j.collate.jar}"/>\r
530                 <pathelement path="${icu4j.charset.jar}"/>\r
531                 <pathelement path="${icu4j.currdata.jar}"/>\r
532                 <pathelement path="${icu4j.langdata.jar}"/>\r
533                 <pathelement path="${icu4j.regiondata.jar}"/>\r
534                 <pathelement path="${icu4j.translit.jar}"/>\r
535                 <pathelement path="${icu4j.test-framework.jar}"/>\r
536                 <pathelement path="${icu4j.core-tests.jar}"/>\r
537                 <pathelement path="${icu4j.collate-tests.jar}"/>\r
538                 <pathelement path="${icu4j.charset-tests.jar}"/>\r
539                 <pathelement path="${icu4j.translit-tests.jar}"/>\r
540                 <pathelement path="${clover.jar}"/>\r
541             </classpath>\r
542         </java>\r
543 \r
544         <!-- Generate HTML coverage report -->\r
545         <clover-html-report outdir="${clover.out.dir}/html" title="ICU4J Code Coverage"/>\r
546     </target>\r
547 \r
548     <!-- Release management targets -->\r
549     <target name="checktags" depends="info, build-tools" description="Check API tags before release">\r
550         <javadoc source="1.5">\r
551             <packageset dir="${icu4j.core.dir}/src">\r
552                 <include name="com/ibm/icu/lang/**"/>\r
553                 <include name="com/ibm/icu/math/**"/>\r
554                 <include name="com/ibm/icu/text/**"/>\r
555                 <include name="com/ibm/icu/util/**"/>\r
556             </packageset>\r
557             <packageset dir="${icu4j.collate.dir}/src">\r
558                 <include name="com/ibm/icu/**"/>\r
559             </packageset>\r
560             <packageset dir="${icu4j.charset.dir}/src">\r
561                 <include name="com/ibm/icu/charset/**"/>\r
562             </packageset>\r
563             <doclet name="com.ibm.icu.dev.tool.docs.CheckTags" path="${icu4j.build-tools.jar}"/>\r
564         </javadoc>\r
565     </target>\r
566 \r
567     <target name="gatherapi" depends="info, build-tools" description="Run API database generator tool">\r
568         <mkdir dir="${out.dir}"/>\r
569         <javadoc source="1.5">\r
570             <packageset dir="${icu4j.core.dir}/src">\r
571                 <include name="com/ibm/icu/lang/**"/>\r
572                 <include name="com/ibm/icu/math/**"/>\r
573                 <include name="com/ibm/icu/text/**"/>\r
574                 <include name="com/ibm/icu/util/**"/>\r
575             </packageset>\r
576             <packageset dir="${icu4j.collate.dir}/src">\r
577                 <include name="com/ibm/icu/text/**"/>\r
578                 <include name="com/ibm/icu/util/**"/>\r
579             </packageset>\r
580             <packageset dir="${icu4j.charset.dir}/src">\r
581                 <include name="com/ibm/icu/charset/**"/>\r
582             </packageset>\r
583             <packageset dir="${icu4j.translit.dir}/src">\r
584                 <include name="com/ibm/icu/text/**"/>\r
585             </packageset>\r
586             <doclet name="com.ibm.icu.dev.tool.docs.GatherAPIData" path="${icu4j.build-tools.jar}">\r
587                 <param name="-name" value="ICU4J ${icu4j.impl.version}"/>\r
588                 <param name="-output" value="${out.dir}/icu4j${api.report.version}.api2"/>\r
589                 <param name="-internal"/>\r
590                 <param name="-gzip"/>\r
591             </doclet>\r
592         </javadoc>\r
593     </target>\r
594 \r
595     <target name="apireport" depends="info, gatherapi" description="Run API report generator tool">\r
596         <java classname="com.ibm.icu.dev.tool.docs.ReportAPI"\r
597                 classpath="${icu4j.build-tools.jar}"\r
598                 failonerror="true">\r
599             <arg value="-old:" />\r
600             <arg value="${icu4j.build-tools.dir}/icu4j${api.report.prev.version}.api2.gz" />\r
601             <arg value="-new:" />\r
602             <arg value="${out.dir}/icu4j${api.report.version}.api2.gz" />\r
603             <arg value="-html" />\r
604             <arg value="-internal" />\r
605             <arg value="-out:" />\r
606             <arg value="${out.dir}/icu4j_compare_${api.report.prev.version}_${api.report.version}.html" />\r
607         </java>\r
608     </target>\r
609 \r
610     <target name="gatherapiOld" depends="info, build-tools" description="Run API database generator tool (Pre Java 5 style)">\r
611         <mkdir dir="${out.dir}"/>\r
612         <javadoc source="1.5">\r
613             <packageset dir="${icu4j.core.dir}/src">\r
614                 <include name="com/ibm/icu/lang/**"/>\r
615                 <include name="com/ibm/icu/math/**"/>\r
616                 <include name="com/ibm/icu/text/**"/>\r
617                 <include name="com/ibm/icu/util/**"/>\r
618             </packageset>\r
619             <packageset dir="${icu4j.collate.dir}/src">\r
620                 <include name="com/ibm/icu/text/**"/>\r
621                 <include name="com/ibm/icu/util/**"/>\r
622             </packageset>\r
623             <packageset dir="${icu4j.charset.dir}/src">\r
624                 <include name="com/ibm/icu/charset/**"/>\r
625             </packageset>\r
626             <packageset dir="${icu4j.translit.dir}/src">\r
627                 <include name="com/ibm/icu/text/**"/>\r
628             </packageset>\r
629             <doclet name="com.ibm.icu.dev.tool.docs.GatherAPIDataOld" path="${icu4j.build-tools.jar}">\r
630                 <param name="-name" value="ICU4J ${icu4j.impl.version}"/>\r
631                 <param name="-output" value="${out.dir}/icu4j${api.report.version}.api"/>\r
632                 <param name="-internal"/>\r
633                 <param name="-gzip"/>\r
634             </doclet>\r
635         </javadoc>\r
636     </target>\r
637 \r
638     <target name="apireportOld" depends="info, gatherapiOld" description="Run API report generator tool (Pre Java 5 Style)">\r
639         <java classname="com.ibm.icu.dev.tool.docs.ReportAPI"\r
640                 classpath="${icu4j.build-tools.jar}"\r
641                 failonerror="true">\r
642             <arg value="-old:" />\r
643             <arg value="${icu4j.build-tools.dir}/icu4j${api.report.prev.version}.api.gz" />\r
644             <arg value="-new:" />\r
645             <arg value="${out.dir}/icu4j${api.report.version}.api.gz" />\r
646             <arg value="-html" />\r
647             <arg value="-internal" />\r
648             <arg value="-out:" />\r
649             <arg value="${out.dir}/icu4j_compare_${api.report.prev.version}_${api.report.version}.html" />\r
650         </java>\r
651     </target>\r
652 \r
653     <target name="swatDeprecated" depends="build-tools" description="Convert @deprecated @draft tags to @provisional">\r
654         <antcall target="_runSwatDeprecated">\r
655             <param name="swat.deprecated.opt" value="-dep"/>\r
656         </antcall>\r
657     </target>\r
658 \r
659     <target name="swatProvisional" depends="build-tools" description="Convert @provisional tags to @deprecated @draft">\r
660         <antcall target="_runSwatDeprecated">\r
661             <param name="swat.deprecated.opt" value="-prov"/>\r
662         </antcall>\r
663     </target>\r
664 \r
665     <target name="_runSwatDeprecated">\r
666         <java classname="com.ibm.icu.dev.tool.docs.SwatDeprecated"\r
667                 classpath="${icu4j.build-tools.jar}"\r
668                 failonerror="true">\r
669             <arg value="${swat.deprecated.opt}"/>\r
670             <arg value="-src"/>\r
671             <arg value="${icu4j.core.dir}/src"/>\r
672             <arg value="-dst"/>\r
673             <arg value="${icu4j.core.dir}/src"/>\r
674             <arg value="-overwrite"/>\r
675             <arg value="-verbose"/>\r
676         </java>\r
677         <java classname="com.ibm.icu.dev.tool.docs.SwatDeprecated"\r
678                 classpath="${icu4j.build-tools.jar}"\r
679                 failonerror="true">\r
680             <arg value="${swat.deprecated.opt}"/>\r
681             <arg value="-src"/>\r
682             <arg value="${icu4j.charset.dir}/src"/>\r
683             <arg value="-dst"/>\r
684             <arg value="${icu4j.charset.dir}/src"/>\r
685             <arg value="-overwrite"/>\r
686             <arg value="-verbose"/>\r
687         </java>\r
688     </target>\r
689 \r
690 \r
691     <!-- Special packaging targets -->\r
692     <target name="translitIMEJar" depends="info" description="Build transliterator IME 'icutransime.jar' jar file">\r
693         <property name="translit.ime.out.dir" value="${out.dir}/translit_ime"/>\r
694  \r
695         <mkdir dir="${translit.ime.out.dir}/bin"/>\r
696         <javac destdir="${translit.ime.out.dir}/bin"\r
697                 source="${javac.source}"\r
698                 target="${javac.target}"\r
699                 debug="on" deprecation="off">\r
700             <src path="${icu4j.core.dir}/src"/>\r
701             <src path="${icu4j.translit.dir}/src"/>\r
702             <src path="${icu4j.tools.dir}/src"/>\r
703             <include name="com/ibm/icu/dev/tool/ime/translit/*.java"/>\r
704         </javac>\r
705 \r
706         <copy file="${icu4j.tools.dir}/src/com/ibm/icu/dev/tool/ime/translit/Transliterator.properties"\r
707                 todir="${translit.ime.out.dir}/bin/com/ibm/icu/dev/tool/ime/translit"/>\r
708 \r
709         <mkdir dir="${translit.ime.out.dir}/lib"/>\r
710         <jar jarfile="${translit.ime.out.dir}/lib/icutransime.jar"\r
711                 compress="true"\r
712                 basedir="${translit.ime.out.dir}/bin"\r
713                 includes="com/ibm/icu/dev/tool/ime/translit/**/*"\r
714                 manifest="${icu4j.tools.dir}/src/com/ibm/icu/dev/tool/ime/translit/manifest.stub">\r
715             <metainf dir="${icu4j.tools.dir}/src/com/ibm/icu/dev/tool/ime/translit" includes="services/*" />\r
716         </jar>\r
717     </target>\r
718 \r
719     <target name="indicIMEJar" depends="info" description="Build indic IME 'icuindicime.jar' jar file">\r
720         <property name="indic.ime.out.dir" value="${out.dir}/indic_ime"/>\r
721  \r
722         <mkdir dir="${indic.ime.out.dir}/bin"/>\r
723         <javac destdir="${indic.ime.out.dir}/bin"\r
724                 source="${javac.source}"\r
725                 target="${javac.target}"\r
726                 debug="on" deprecation="off">\r
727             <src path="${icu4j.core.dir}/src"/>\r
728             <src path="${icu4j.tools.dir}/src"/>\r
729             <include name="com/ibm/icu/dev/tool/ime/indic/*.java"/>\r
730         </javac>\r
731 \r
732         <copy file="${icu4j.tools.dir}/src/com/ibm/icu/dev/tool/ime/indic/DisplayNames.properties"\r
733                 todir="${indic.ime.out.dir}/bin/com/ibm/icu/dev/tool/ime/indic"/>\r
734 \r
735         <mkdir dir="${indic.ime.out.dir}/lib"/>\r
736         <jar jarfile="${indic.ime.out.dir}/lib/icuindicime.jar"\r
737                 compress="true"\r
738                 basedir="${indic.ime.out.dir}/bin"\r
739                 includes="com/ibm/icu/dev/tool/ime/indic/**/*"\r
740                 manifest="${icu4j.tools.dir}/src/com/ibm/icu/dev/tool/ime/indic/manifest.stub">\r
741             <metainf dir="${icu4j.tools.dir}/src/com/ibm/icu/dev/tool/ime/indic" includes="services/*" />\r
742         </jar>\r
743     </target>\r
744 \r
745     <target name="cldrUtil" depends="info" description="Build Utilities for CLDR">\r
746         <property name="cldr.util.out.dir" value="${out.dir}/cldr_util"/>\r
747         <mkdir dir="${cldr.util.out.dir}/bin"/>\r
748 \r
749         <javac destdir="${cldr.util.out.dir}/bin"\r
750                 source="${javac.source}"\r
751                 target="${javac.target}"\r
752                 debug="on" deprecation="off">\r
753 \r
754             <src path="${icu4j.core.dir}/src"/>\r
755             <src path="${icu4j.translit.dir}/src"/>\r
756             <src path="${icu4j.core-tests.dir}/src"/> <!-- still needed? -->\r
757             <src path="${icu4j.translit-tests.dir}/src"/>\r
758             <src path="${icu4j.test-framework.dir}/src"/>\r
759             <src path="${icu4j.tools.dir}/src"/>\r
760 \r
761             <include name="com/ibm/icu/dev/test/TestFmwk.java" />\r
762             <include name="com/ibm/icu/dev/test/util/*.java" />\r
763             <include name="com/ibm/icu/dev/tool/UOption.java" />\r
764         </javac>\r
765 \r
766         <mkdir dir="${cldr.util.out.dir}/lib"/>\r
767         <jar jarfile="${cldr.util.out.dir}/lib/utilities.jar"\r
768                 compress="true"\r
769                 basedir="${cldr.util.out.dir}/bin">\r
770             <include name="com/ibm/icu/dev/test/util/*.class"/>\r
771             <include name="com/ibm/icu/dev/test/TestFmwk*.class"/>\r
772             <include name="com/ibm/icu/dev/test/AbstractTest*.class"/>\r
773             <include name="com/ibm/icu/dev/test/TestLog*.class"/>\r
774             <include name="com/ibm/icu/dev/tool/UOption*.class"/>\r
775         </jar>\r
776     </target>\r
777 \r
778     <target name="xliff" description="Build xliff converter tool">\r
779         <property name="xliff.out.dir" value="${out.dir}/xliff"/>\r
780 \r
781         <mkdir dir="${xliff.out.dir}/bin"/>\r
782         <javac destdir="${xliff.out.dir}/bin"\r
783                 source="1.3"\r
784                 target="1.3"\r
785                 debug="on" deprecation="off">\r
786             <src path="${icu4j.tools.dir}/src"/>\r
787             <include name="com/ibm/icu/dev/tool/localeconverter/CalculateCRC32.java"/>\r
788             <include name="com/ibm/icu/dev/tool/localeconverter/XLIFF2ICUConverter.java"/>\r
789             <include name="com/ibm/icu/dev/tool/UOption.java"/>\r
790        </javac>\r
791 \r
792         <mkdir dir="${xliff.out.dir}/lib"/>\r
793 \r
794         <jar jarfile="${xliff.out.dir}/lib/xliff-src.jar"\r
795                 compress="true"\r
796                 basedir="${icu4j.tools.dir}/src">\r
797             <include name="com/ibm/icu/dev/tool/localeconverter/CalculateCRC32.java"/>\r
798             <include name="com/ibm/icu/dev/tool/localeconverter/XLIFF2ICUConverter.java"/>\r
799             <include name="com/ibm/icu/dev/tool/UOption.java"/>\r
800         </jar>\r
801 \r
802         <jar jarfile="${xliff.out.dir}/lib/xliff.jar"\r
803                 compress="true"\r
804                 basedir="${xliff.out.dir}/bin"\r
805                 manifest="${icu4j.tools.dir}/src/com/ibm/icu/dev/tool/localeconverter/manifest.stub"/>\r
806     </target>\r
807 \r
808 \r
809     <!-- ICU4J modularization targets -->\r
810     <property name="module.dir" value="${out.dir}/module"/>\r
811     <property name="module.bin.dir" value="${module.dir}/bin"/>\r
812     <property name="module.tests.dir" value="${module.dir}/tests"/>\r
813     <property name="module.jar.dir" value="${module.dir}/lib"/>\r
814     <property name="module.jar" value="${module.jar.dir}/icu4j-module.jar"/>\r
815 \r
816     <target name="moduleJar" description="Create a ICU4J module jar file">\r
817         <mkdir dir="${module.jar.dir}"/>\r
818         <jar jarfile="${module.jar}"\r
819                 compress="true"\r
820                 basedir="${module.bin.dir}">\r
821             <manifest>\r
822                 <attribute name="Built-By" value="${corp}" />\r
823                 <section name="com/ibm/icu">\r
824                     <attribute name="Specification-Title" value="ICU4J Modularized Build" />\r
825                     <attribute name="Specification-Version" value="${jar.spec.version}" />\r
826                     <attribute name="Specification-Vendor" value="ICU" />\r
827                     <attribute name="Implementation-Title" value=" ICU for Java Module" />\r
828                     <attribute name="Implementation-Version" value="${jar.impl.version}" />\r
829                     <attribute name="Implementation-Vendor" value="${corp}" />\r
830                     <attribute name="Implementation-Vendor-Id" value="com.ibm" />\r
831                     <attribute name="Copyright-Info" value="${jar.copyright.info}" />\r
832                     <attribute name="Sealed" value="false" />\r
833                 </section>\r
834             </manifest>\r
835         </jar>\r
836         <copy file="${module.jar}" tofile="icu4j.jar"/>\r
837     </target>\r
838 \r
839     <target name="moduleCheck" description="Run tests for a ICU4J module jar">\r
840         <java classname="com.ibm.icu.dev.test.TestAll" fork="yes" failonerror="true">\r
841             <arg value="-nothrow"/>\r
842             <arg value="-nodata"/>\r
843             <classpath>\r
844                 <pathelement path="${module.jar}"/>\r
845                 <pathelement location="${module.tests.dir}"/>\r
846             </classpath>\r
847         </java>\r
848     </target>\r
849 \r
850     <patternset id="common.test.sources">\r
851         <include name="com/ibm/icu/dev/test/TestFmwk.java"/>\r
852         <include name="com/ibm/icu/dev/test/TestLog.java"/>\r
853         <include name="com/ibm/icu/dev/test/TestUtil.java"/>\r
854         <include name="com/ibm/icu/dev/test/UTF16Util.java"/>\r
855         <include name="com/ibm/icu/dev/test/TestAll.java"/>\r
856         <include name="com/ibm/icu/dev/test/TestAllCore.java"/>\r
857     </patternset>\r
858 \r
859     <!-- Break Iterator -->\r
860     <target name="breakIterator" depends="_copyFullPropsData" description="Modular build of break iterator services">\r
861         <mkdir dir="${module.bin.dir}"/>\r
862         <javac srcdir="${icu4j.core.dir}/src"\r
863                 destdir="${module.bin.dir}"\r
864                 source="${javac.source}"\r
865                 target="${javac.target}"\r
866                 debug="on" deprecation="off">\r
867             <include name="com/ibm/icu/impl/UCharacterName.java"/>\r
868             <include name="com/ibm/icu/impl/data/*Break*.java"/>\r
869             <include name="com/ibm/icu/lang/**/*.java"/>\r
870             <include name="com/ibm/icu/text/*BreakIterator*.java"/>\r
871             <include name="com/ibm/icu/text/UnicodeSetIterator.java"/>\r
872         </javac>\r
873     </target>\r
874 \r
875     <target name="breakIteratorTests" depends="breakIterator" description="Modular build of break iterator test suite">\r
876         <mkdir dir="${module.tests.dir}"/>\r
877         <javac destdir="${module.tests.dir}"\r
878                 source="${javac.source}"\r
879                 target="${javac.target}"\r
880                 classpath="${module.bin.dir}"\r
881                 debug="on" deprecation="off">\r
882             <src path="${icu4j.core.dir}/src"/>\r
883             <src path="${icu4j.test-framework.dir}/src"/>\r
884             <src path="${icu4j.core-tests.dir}/src"/>\r
885 \r
886             <patternset refid="common.test.sources"/>\r
887             <include name="com/ibm/icu/dev/test/rbbi/**/*.java"/>\r
888         </javac>\r
889 \r
890         <copy file="${icu4j.core-tests.dir}/src/com/ibm/icu/dev/test/rbbi/rbbitst.txt"\r
891                 todir="${module.tests.dir}/com/ibm/icu/dev/test/rbbi"/>\r
892     </target>\r
893 \r
894     <!-- Calendar -->\r
895     <target name="calendar" description="Modular build of calendar services">\r
896         <mkdir dir="${module.bin.dir}"/>\r
897         <javac srcdir="${icu4j.core.dir}/src"\r
898                 destdir="${module.bin.dir}"\r
899                 source="${javac.source}"\r
900                 target="${javac.target}"\r
901                 debug="on" deprecation="off">\r
902             <include name="com/ibm/icu/impl/data/*Holiday*.java"/>\r
903             <include name="com/ibm/icu/lang/UCharacter.java"/>\r
904             <include name="com/ibm/icu/text/UnicodeSetIterator.java"/>\r
905             <include name="com/ibm/icu/text/NumberFormatServiceShim.java"/>\r
906             <include name="com/ibm/icu/util/*Calendar*.java"/>\r
907         </javac>\r
908 \r
909         <!-- Calendar does not require Collation data, BreakIterator data -->\r
910         <unjar src="${icu4j.data.jar}" dest="${module.bin.dir}">\r
911             <patternset>\r
912                 <include name="**/pnames.icu" />\r
913                 <include name="**/ucase.icu" />\r
914                 <include name="**/unorm.icu" />\r
915                 <include name="**/uprops.icu" />\r
916                 <include name="**/unames.icu" />\r
917                 <include name="**/*.res" />\r
918                 <exclude name="**/coll/*.res" />\r
919                 <exclude name="**/translit/*.res" />\r
920             </patternset>\r
921         </unjar>\r
922     </target>\r
923 \r
924     <target name="calendarTests" depends="calendar" description="Modular build of calendar test suite">\r
925         <mkdir dir="${module.tests.dir}"/>\r
926         <javac destdir="${module.tests.dir}"\r
927                 source="${javac.source}"\r
928                 target="${javac.target}"\r
929                 classpath="${module.bin.dir}"\r
930                 debug="on" deprecation="off">\r
931             <src path="${icu4j.core.dir}/src"/>\r
932             <src path="${icu4j.test-framework.dir}/src"/>\r
933             <src path="${icu4j.core-tests.dir}/src"/>\r
934 \r
935             <patternset refid="common.test.sources"/>\r
936             <include name="com/ibm/icu/dev/test/calendar/**/*.java" />\r
937         </javac>\r
938 \r
939         <unjar src="${icu4j.testdata.jar}" dest="${module.tests.dir}">\r
940             <patternset>\r
941                 <include name="**/calendar.res"/>\r
942             </patternset>\r
943         </unjar>\r
944     </target>\r
945 \r
946     <!-- Collator -->\r
947     <!-- this module will soon be obsolete, use the collate jar -->\r
948     <target name="collator" description="Modular build of collator services">\r
949         <mkdir dir="${module.bin.dir}"/>\r
950         <javac  destdir="${module.bin.dir}"\r
951                 source="${javac.source}"\r
952                 target="${javac.target}"\r
953                 debug="on" deprecation="off">\r
954             <src path="${icu4j.core.dir}/src"/>\r
955             <src path="${icu4j.collate.dir}/src"/>\r
956 \r
957             <include name="com/ibm/icu/impl/data/*Break*.java"/>\r
958             <include name="com/ibm/icu/text/*BreakIterator*.java"/>\r
959             <include name="com/ibm/icu/text/*Collation*.java"/>\r
960             <include name="com/ibm/icu/text/*Collator*.java"/>\r
961             <include name="com/ibm/icu/text/Normalizer.java"/>\r
962             <include name="com/ibm/icu/text/Replaceable.java"/>\r
963             <include name="com/ibm/icu/text/ReplaceableString.java"/>\r
964             <include name="com/ibm/icu/text/UnicodeFilter.java"/>\r
965             <include name="com/ibm/icu/text/UnicodeSetIterator.java"/>\r
966             <include name="com/ibm/icu/text/UTF16.java"/>\r
967         </javac>\r
968 \r
969         <unjar src="${icu4j.data.jar}" dest="${module.bin.dir}">\r
970             <patternset>\r
971                 <include name="**/*.icu"/>\r
972                 <include name="**/coll/*.res"/>\r
973                 <include name="**/*.brk"/>\r
974                 <include name="**/icudt${icu4j.data.version}b/res_index.res"/>\r
975             </patternset>\r
976         </unjar>\r
977     </target>\r
978 \r
979     <target name="collatorTests" depends="collator" description="Modular build of collator test suite">\r
980         <mkdir dir="${module.tests.dir}"/>\r
981         <javac destdir="${module.tests.dir}"\r
982                 source="${javac.source}"\r
983                 target="${javac.target}"\r
984                 classpath="${module.bin.dir}"\r
985                 debug="on" deprecation="off">\r
986             <src path="${icu4j.core.dir}/src"/>\r
987             <src path="${icu4j.test-framework.dir}/src"/>\r
988             <src path="${icu4j.collate-tests.dir}/src"/>\r
989 \r
990             <patternset refid="common.test.sources"/>\r
991             <include name="com/ibm/icu/dev/test/TestAllCollate.java"/>\r
992             <include name="com/ibm/icu/dev/test/collator/**/*.java"/>\r
993             <include name="java,com/ibm/icu/dev/test/search/**/*.java"/>\r
994             <exclude name="com/ibm/icu/dev/test/collator/RandomCollator.java"/>\r
995             <exclude name="com/ibm/icu/dev/test/collator/IndexCharactersTest.java"/>\r
996         </javac>\r
997 \r
998         <unjar src="${icu4j.testdata.jar}" dest="${module.tests.dir}">\r
999             <patternset>\r
1000                 <include name="**/DataDrivenCollationTest.res"/>\r
1001             </patternset>\r
1002         </unjar>\r
1003         <copy todir="${module.tests.dir}">\r
1004             <fileset dir="${icu4j.collate-tests.dir}/src">\r
1005                 <include name="com/ibm/icu/dev/data/riwords.txt"/>\r
1006                 <include name="com/ibm/icu/dev/data/CollationTest_*.txt"/>\r
1007             </fileset>\r
1008         </copy>\r
1009     </target>\r
1010 \r
1011     <!-- Compression -->\r
1012     <target name="compression" description="Modular build of compression services">\r
1013         <mkdir dir="${module.bin.dir}"/>\r
1014         <javac srcdir="${icu4j.core.dir}/src"\r
1015                 destdir="${module.bin.dir}"\r
1016                 source="${javac.source}"\r
1017                 target="${javac.target}"\r
1018                 debug="on" deprecation="off">\r
1019             <include name="com/ibm/icu/text/SCSU.java"/>\r
1020             <include name="com/ibm/icu/text/UnicodeCompressor.java"/>\r
1021             <include name="com/ibm/icu/text/UnicodeDecompressor.java"/>\r
1022         </javac>\r
1023     </target>\r
1024 \r
1025     <target name="compressionTests" depends="compression" description="Modular build of compression test suite">\r
1026         <mkdir dir="${module.tests.dir}"/>\r
1027         <javac destdir="${module.tests.dir}"\r
1028                 source="${javac.source}"\r
1029                 target="${javac.target}"\r
1030                 classpath="${module.bin.dir}"\r
1031                 debug="on" deprecation="off">\r
1032             <src path="${icu4j.core.dir}/src"/>\r
1033             <src path="${icu4j.test-framework.dir}/src"/>\r
1034             <src path="${icu4j.core-tests.dir}/src"/>\r
1035 \r
1036             <patternset refid="common.test.sources"/>\r
1037             <include name="com/ibm/icu/dev/test/compression/**/*.java"/>\r
1038         </javac>\r
1039     </target>\r
1040 \r
1041     <!-- Format -->\r
1042     <target name="format" description="Modular build of format services">\r
1043         <mkdir dir="${module.bin.dir}"/>\r
1044         <javac srcdir="${icu4j.core.dir}/src"\r
1045                 destdir="${module.bin.dir}"\r
1046                 source="${javac.source}"\r
1047                 target="${javac.target}"\r
1048                 debug="on" deprecation="off">\r
1049             <include name="com/ibm/icu/lang/UCharacter.java"/>\r
1050             <include name="com/ibm/icu/text/*Collator*.java"/>\r
1051             <include name="com/ibm/icu/text/*Format*.java"/>\r
1052             <include name="com/ibm/icu/text/UnicodeSetIterator.java"/>\r
1053             <include name="com/ibm/icu/util/CalendarServiceShim.java"/>\r
1054         </javac>\r
1055 \r
1056         <javac srcdir="${icu4j.regiondata.dir}/src"\r
1057                 destdir="${module.bin.dir}"\r
1058                 source="${javac.source}"\r
1059                 target="${javac.target}"\r
1060                 debug="on" deprecation="off"/>\r
1061 \r
1062         <javac srcdir="${icu4j.currdata.dir}/src"\r
1063                 destdir="${module.bin.dir}"\r
1064                 source="${javac.source}"\r
1065                 target="${javac.target}"\r
1066                 debug="on" deprecation="off"/>\r
1067 \r
1068         <!-- Format does not require BreakIterator data -->\r
1069         <unjar src="${icu4j.data.jar}" dest="${module.bin.dir}">\r
1070             <patternset>\r
1071                 <include name="**/*.icu"/>\r
1072                 <include name="**/*.res"/>\r
1073                 <exclude name="**/translit/*.res"/>\r
1074             </patternset>\r
1075         </unjar>\r
1076     </target>\r
1077 \r
1078     <target name="formatTests" depends="format" description="Modular build of format test suite">\r
1079         <mkdir dir="${module.tests.dir}"/>\r
1080         <javac destdir="${module.tests.dir}"\r
1081                 source="${javac.source}"\r
1082                 target="${javac.target}"\r
1083                 classpath="${module.bin.dir}"\r
1084                 debug="on" deprecation="off">\r
1085             <src path="${icu4j.core.dir}/src"/>\r
1086             <src path="${icu4j.test-framework.dir}/src"/>\r
1087             <src path="${icu4j.core-tests.dir}/src"/>\r
1088 \r
1089             <patternset refid="common.test.sources"/>\r
1090             <include name="com/ibm/icu/dev/test/format/**/*.java"/>\r
1091             <exclude name="com/ibm/icu/dev/test/format/GlobalizationPreferencesTest.java"/>\r
1092         </javac>\r
1093 \r
1094         <unjar src="${icu4j.testdata.jar}" dest="${module.tests.dir}">\r
1095             <patternset>\r
1096                 <include name="**/format.res"/>\r
1097             </patternset>\r
1098         </unjar>\r
1099 \r
1100         <copy file="${icu4j.core-tests.dir}/src/com/ibm/icu/dev/test/format/NumberFormatTestCases.txt"\r
1101                 todir="${module.tests.dir}/com/ibm/icu/dev/test/format"/>\r
1102 \r
1103     </target>\r
1104 \r
1105     <!-- Normalizer -->\r
1106     <target name="normalizer" description="Modular build of normalizer services">\r
1107         <mkdir dir="${module.bin.dir}"/>\r
1108         <javac srcdir="${icu4j.core.dir}/src"\r
1109                 destdir="${module.bin.dir}"\r
1110                 source="${javac.source}"\r
1111                 target="${javac.target}"\r
1112                 debug="on" deprecation="off">\r
1113             <include name="com/ibm/icu/lang/**/*"/>\r
1114             <include name="com/ibm/icu/text/CanonicalIterator.java"/>\r
1115             <include name="com/ibm/icu/text/Normalizer.java"/>\r
1116             <include name="com/ibm/icu/text/Replaceable.java"/>\r
1117             <include name="com/ibm/icu/text/ReplaceableString.java"/>\r
1118             <include name="com/ibm/icu/text/UCharacterIterator.java"/>\r
1119             <include name="com/ibm/icu/text/UForwardCharacterIterator.java"/>\r
1120             <include name="com/ibm/icu/text/UnicodeFilter.java"/>\r
1121             <include name="com/ibm/icu/text/UnicodeSetIterator.java"/>\r
1122             <include name="com/ibm/icu/text/UTF16.java"/>\r
1123         </javac>\r
1124 \r
1125         <unjar src="${icu4j.data.jar}" dest="${module.bin.dir}">\r
1126             <patternset>\r
1127                 <include name="**/ucase.icu"/>\r
1128                 <include name="**/unorm.icu"/>\r
1129                 <include name="**/uprops.icu"/>\r
1130                 <include name="**/pnames.icu"/>\r
1131                 <include name="**/unames.icu"/>\r
1132                 <include name="**/*.nrm"/>\r
1133             </patternset>\r
1134         </unjar>\r
1135     </target>\r
1136 \r
1137     <target name="normalizerTests" depends="normalizer" description="Modular build of normalizer test suite">\r
1138         <mkdir dir="${module.tests.dir}"/>\r
1139         <javac destdir="${module.tests.dir}"\r
1140                 source="${javac.source}"\r
1141                 target="${javac.target}"\r
1142                 classpath="${module.bin.dir}"\r
1143                 debug="on" deprecation="off">\r
1144             <src path="${icu4j.core.dir}/src"/>\r
1145             <src path="${icu4j.test-framework.dir}/src"/>\r
1146             <src path="${icu4j.core-tests.dir}/src"/>\r
1147 \r
1148             <patternset refid="common.test.sources"/>\r
1149             <include name="com/ibm/icu/dev/test/normalizer/**/*.java"/>\r
1150             <exclude name="com/ibm/icu/dev/test/normalizer/TestDeprecatedNormalizerAPI.java"/>\r
1151         </javac>\r
1152 \r
1153         <copy todir="${module.tests.dir}">\r
1154             <fileset dir="${icu4j.core-tests.dir}/src">\r
1155                 <include name="com/ibm/icu/dev/data/unicode/*.txt"/>\r
1156                 <exclude name="com/ibm/icu/dev/data/unicode/ucdterms.txt"/>\r
1157             </fileset>\r
1158         </copy>\r
1159 \r
1160         <unjar src="${icu4j.testdata.jar}" dest="${module.tests.dir}">\r
1161             <patternset>\r
1162                 <include name="**/testnorm.nrm"/>\r
1163             </patternset>\r
1164         </unjar>\r
1165 \r
1166     </target>\r
1167 \r
1168     <!-- Character Properties -->\r
1169     <target name="_copyBasicPropsData">\r
1170         <mkdir dir="${module.bin.dir}"/>\r
1171         <unjar src="${icu4j.data.jar}" dest="${module.bin.dir}">\r
1172             <patternset>\r
1173                 <include name="**/unorm.icu"/>\r
1174                 <include name="**/uprops.icu"/>\r
1175                 <include name="**/ubidi.icu"/>\r
1176                 <include name="**/ucase.icu"/>\r
1177                 <include name="**/pnames.icu"/>\r
1178                 <include name="**/unames.icu"/>\r
1179                 <include name="**/*.nrm"/>\r
1180             </patternset>\r
1181         </unjar>\r
1182     </target>\r
1183 \r
1184     <target name="_copyFullPropsData">\r
1185         <mkdir dir="${module.bin.dir}"/>\r
1186         <unjar src="${icu4j.data.jar}" dest="${module.bin.dir}">\r
1187             <patternset>\r
1188                 <include name="**/unorm.icu"/>\r
1189                 <include name="**/uprops.icu"/>\r
1190                 <include name="**/ubidi.icu"/>\r
1191                 <include name="**/ucase.icu"/>\r
1192                 <include name="**/unames.icu"/>\r
1193                 <include name="**/pnames.icu"/>\r
1194                 <include name="**/*.res"/>\r
1195                 <include name="**/*.brk"/>\r
1196                 <include name="**/*.ctd"/>\r
1197                 <include name="**/*.nrm"/>\r
1198                 <exclude name="**/coll/*.res"/>\r
1199                 <exclude name="**/translit/*.res"/>\r
1200                 <exclude name="**/rbnf/*.res"/>\r
1201             </patternset>\r
1202         </unjar>\r
1203     </target>\r
1204 \r
1205     <target name="_propertiesClasses">\r
1206         <mkdir dir="${module.bin.dir}"/>\r
1207         <javac srcdir="${icu4j.core.dir}/src"\r
1208                 destdir="${module.bin.dir}"\r
1209                 source="${javac.source}"\r
1210                 target="${javac.target}"\r
1211                 debug="on" deprecation="off">\r
1212             <include name="com/ibm/icu/impl/data/*Break*.java"/>\r
1213             <include name="com/ibm/icu/lang/**/*"/>\r
1214             <include name="com/ibm/icu/text/*BreakDictionary*.java"/>\r
1215             <include name="com/ibm/icu/text/*BreakIterator*.java"/>\r
1216             <include name="com/ibm/icu/text/UnicodeSetIterator.java"/>\r
1217         </javac>\r
1218     </target>\r
1219 \r
1220     <target name="_propertiesTests">\r
1221         <mkdir dir="${module.tests.dir}"/>\r
1222         <javac destdir="${module.tests.dir}"\r
1223                 source="${javac.source}"\r
1224                 target="${javac.target}"\r
1225                 classpath="${module.bin.dir}"\r
1226                 debug="on" deprecation="off">\r
1227             <src path="${icu4j.core.dir}/src"/>\r
1228             <src path="${icu4j.test-framework.dir}/src"/>\r
1229             <src path="${icu4j.core-tests.dir}/src"/>\r
1230 \r
1231             <patternset refid="common.test.sources"/>\r
1232             <include name="com/ibm/icu/dev/test/lang/**/*.java"/>\r
1233             <exclude name="com/ibm/icu/dev/test/lang/TestUScriptRun.java"/>\r
1234         </javac>\r
1235 \r
1236         <copy todir="${module.tests.dir}">\r
1237             <fileset dir="${icu4j.core-tests.dir}/src">\r
1238                 <include name="com/ibm/icu/dev/data/unicode/SpecialCasing.txt"/>\r
1239                 <include name="com/ibm/icu/dev/data/unicode/UnicodeData.txt"/>\r
1240             </fileset>\r
1241         </copy>\r
1242     </target>\r
1243 \r
1244     <target name="propertiesBasic" depends="_propertiesClasses, _copyBasicPropsData" description="Modular build of basic character properties"/>\r
1245 \r
1246     <target name="propertiesBasicTests" depends="propertiesBasic, _propertiesTests" description="Modular build of basic character properties test suite"/>\r
1247 \r
1248     <target name="propertiesFull" depends="_propertiesClasses, _copyFullPropsData" description="Modular build of full character properties"/>\r
1249 \r
1250     <target name="propertiesFullTests" depends="propertiesFull, _propertiesTests" description="Modular build of full character properties test suite"/>\r
1251 \r
1252     <!-- Transliterator -->\r
1253     <!-- this module will soon be obsolete, use the translit jar -->\r
1254     <target name="transliterator" depends="_propertiesClasses" description="Modular build of transliterator services">\r
1255         <mkdir dir="${module.bin.dir}"/>\r
1256         <javac  destdir="${module.bin.dir}"\r
1257                 source="${javac.source}"\r
1258                 target="${javac.target}"\r
1259                 debug="on" deprecation="off">\r
1260             <src path="${icu4j.core.dir}/src"/>\r
1261             <src path="${icu4j.translit.dir}/src"/>\r
1262 \r
1263             <include name="com/ibm/icu/impl/*Iterator*.java"/>\r
1264             <include name="com/ibm/icu/impl/*Property*.java"/>\r
1265             <include name="com/ibm/icu/impl/data/ResourceReader.java"/>\r
1266             <include name="com/ibm/icu/impl/UtilityExtensions.java"/>\r
1267             <include name="com/ibm/icu/text/*Transliterator*.java"/>\r
1268             <include name="com/ibm/icu/text/UnicodeSetIterator.java"/>\r
1269             <include name="com/ibm/icu/text/BreakIteratorFactory.java"/>\r
1270         </javac>\r
1271 \r
1272         <unjar src="${icu4j.data.jar}" dest="${module.bin.dir}">\r
1273             <patternset>\r
1274                 <include name="**/unorm.icu"/>\r
1275                 <include name="**/uprops.icu"/>\r
1276                 <include name="**/ubidi.icu"/>\r
1277                 <include name="**/ucase.icu"/>\r
1278                 <include name="**/unames.icu"/>\r
1279                 <include name="**/pnames.icu"/>\r
1280                 <include name="**/*.brk"/>\r
1281                 <include name="**/*.ctd"/>\r
1282                 <include name="**/*.nrm"/>\r
1283                 <include name="**/brkitr/*.res"/>\r
1284                 <include name="**/translit/*.res"/>\r
1285             </patternset>\r
1286         </unjar>\r
1287     </target>\r
1288 \r
1289     <target name="transliteratorTests" depends="transliterator" description="Modular build of transliterator test suite">\r
1290         <mkdir dir="${module.tests.dir}"/>\r
1291         <javac destdir="${module.tests.dir}"\r
1292                 source="${javac.source}"\r
1293                 target="${javac.target}"\r
1294                 classpath="${module.bin.dir}"\r
1295                 debug="on" deprecation="off">\r
1296             <src path="${icu4j.core.dir}/src"/>\r
1297             <src path="${icu4j.test-framework.dir}/src"/>\r
1298             <src path="${icu4j.translit-tests.dir}/src"/>\r
1299 \r
1300             <patternset refid="common.test.sources"/>\r
1301             <include name="com/ibm/icu/dev/test/TestAllTranslit.java"/>\r
1302             <include name="com/ibm/icu/dev/test/translit/**/*.java"/>\r
1303             <exclude name="com/ibm/icu/dev/test/translit/UnicodeFilterLogic*.java"/>\r
1304         </javac>\r
1305 \r
1306         <copy file="${icu4j.translit-tests.dir}/src/com/ibm/icu/dev/test/translit/langtagRegex.txt"\r
1307                 todir="${module.tests.dir}/com/ibm/icu/dev/test/translit"/>\r
1308     </target>\r
1309 \r
1310     <!-- StringPrep -->\r
1311     <target name="stringPrep" depends="normalizer" description="Modular build of stringprep services">\r
1312         <mkdir dir="${module.bin.dir}"/>\r
1313         <javac srcdir="${icu4j.core.dir}/src"\r
1314                 destdir="${module.bin.dir}"\r
1315                 source="${javac.source}"\r
1316                 target="${javac.target}"\r
1317                 debug="on" deprecation="off">\r
1318             <include name="com/ibm/icu/impl/*StringPrep*.java"/>\r
1319             <include name="com/ibm/icu/text/*IDNA*.java"/>\r
1320             <include name="com/ibm/icu/text/*StringPrep*.java"/>\r
1321         </javac>\r
1322 \r
1323         <unjar src="${icu4j.data.jar}" dest="${module.bin.dir}">\r
1324             <patternset>\r
1325                 <include name="**/*.spp"/>\r
1326                 <include name="**/ubidi.icu"/>\r
1327                 <include name="**/ucase.icu"/>\r
1328                 <include name="**/unorm.icu"/>\r
1329                 <include name="**/uprops.icu"/>\r
1330                 <include name="**/pnames.icu"/>\r
1331                 <include name="**/unames.icu"/>\r
1332             </patternset>\r
1333         </unjar>\r
1334     </target>\r
1335 \r
1336     <target name="stringPrepTests" depends="stringPrep" description="Modular build of stringprep test suite">\r
1337         <mkdir dir="${module.tests.dir}"/>\r
1338         <javac destdir="${module.tests.dir}"\r
1339                 source="${javac.source}"\r
1340                 target="${javac.target}"\r
1341                 classpath="${module.bin.dir}"\r
1342                 debug="on" deprecation="off">\r
1343             <src path="${icu4j.core.dir}/src"/>\r
1344             <src path="${icu4j.test-framework.dir}/src"/>\r
1345             <src path="${icu4j.core-tests.dir}/src"/>\r
1346 \r
1347             <patternset refid="common.test.sources"/>\r
1348             <include name="com/ibm/icu/dev/test/stringprep/**/*.java"/>\r
1349         </javac>\r
1350 \r
1351         <unjar src="${icu4j.testdata.jar}" dest="${module.tests.dir}">\r
1352             <patternset>\r
1353                 <include name="**/*.spp"/>\r
1354                 <include name="**/idna_rules.res"/>\r
1355             </patternset>\r
1356         </unjar>\r
1357 \r
1358         <copy file="${icu4j.core-tests.dir}/src/com/ibm/icu/dev/data/IDNATestInput.txt"\r
1359                 todir="${module.tests.dir}/com/ibm/icu/dev/data"/>\r
1360     </target>\r
1361 \r
1362 </project>\r