2002-07-26 00:24:33 +00:00
<!--
2000-03-10 04:18:06 +00:00
*******************************************************************************
2015-02-23 13:23:44 +00:00
* Copyright (C) 1997-2015, International Business Machines Corporation and *
2000-03-10 04:18:06 +00:00
* others. All Rights Reserved. *
*******************************************************************************
-->
2013-10-24 17:51:49 +00:00
<project name= "icu4j" default= "jar" basedir= "."
xmlns:jacoco="antlib:org.jacoco.ant">
2010-11-03 06:17:25 +00:00
<property file= "build-local.properties" />
2009-06-16 05:52:23 +00:00
<property file= "build.properties" />
<property name= "shared.dir" value= "main/shared" />
<import file= "${shared.dir}/build/common-targets.xml" />
2010-06-11 17:02:51 +00:00
<property environment= "env" />
<!-- icu4j binaries -->
2009-06-16 05:52:23 +00:00
<property name= "icu4j.jar.file" value= "icu4j.jar" />
2009-07-22 01:32:09 +00:00
<property name= "icu4jtests.jar.file" value= "icu4jtests.jar" />
2011-03-01 07:48:43 +00:00
<property name= "icu4j-charset.jar.file" value= "icu4j-charset.jar" />
2009-06-16 05:52:23 +00:00
<property name= "icu4j-localespi.jar.file" value= "icu4j-localespi.jar" />
2010-06-11 17:02:51 +00:00
2009-06-16 05:52:23 +00:00
<property name= "icu4jdemos.jar.file" value= "icu4jdemos.jar" />
2012-08-27 22:23:23 +00:00
<!-- icu4j API doc jar file -->
<property name= "icu4jdocs.jar.file" value= "icu4j-docs.jar" />
<!-- icu4j src jar files -->
<property name= "icu4j-src.jar.file" value= "icu4j-src.jar" />
<property name= "icu4j-charset-src.jar.file" value= "icu4j-charset-src.jar" />
<property name= "icu4j-localespi-src.jar.file" value= "icu4j-localespi-src.jar" />
<!-- icu4j source package archive files -->
<property name= "icu4jsrc.zip.file" value= "icu4j.zip" />
<property name= "icu4jsrc.tgz.file" value= "icu4j.tgz" />
<!-- icu4j versioned release files -->
2010-06-11 17:02:51 +00:00
<property name= "icu4j.jar.versioned.file" value= "icu4j-${release.file.ver}.jar" />
2011-03-01 07:48:43 +00:00
<property name= "icu4j-charset.jar.versioned.file" value= "icu4j-charset-${release.file.ver}.jar" />
2010-06-11 17:02:51 +00:00
<property name= "icu4j-localespi.jar.versioned.file" value= "icu4j-localespi-${release.file.ver}.jar" />
2009-06-16 05:52:23 +00:00
2010-06-11 17:02:51 +00:00
<property name= "icu4j-src.jar.versioned.file" value= "icu4j-${release.file.ver}-src.jar" />
2011-03-01 07:48:43 +00:00
<property name= "icu4j-charset-src.jar.versioned.file" value= "icu4j-charset-${release.file.ver}-src.jar" />
2010-06-11 17:02:51 +00:00
<property name= "icu4j-localespi-src.jar.versioned.file" value= "icu4j-localespi-${release.file.ver}-src.jar" />
2012-08-27 22:23:23 +00:00
<property name= "icu4jdocs.jar.versioned.file" value= "icu4j-${release.file.ver}-docs.jar" />
<!-- <property name="icu4jsrc.zip.versioned.file" value="icu4j - ${release.file.ver}.zip"/> -->
<property name= "icu4jsrc.tgz.versioned.file" value= "icu4j-${release.file.ver}.tgz" />
2010-06-11 17:02:51 +00:00
2012-08-29 14:02:39 +00:00
<!-- API doc -->
2012-03-02 05:12:11 +00:00
<property name= "icu4j.api.doc.title" value= "ICU4J ${api.doc.version} API Specification" />
2012-08-29 14:02:39 +00:00
<property name= "icu4j.api.doc.window.title" value= "ICU4J ${api.doc.version}" />
<property name= "icu4j.api.doc.header" value= "ICU4J ${api.doc.version}" />
<property name= "icu4j.api.doc.jdk.link" value= "http://docs.oracle.com/javase/7/docs/api/" />
2012-03-02 05:12:11 +00:00
2010-06-11 17:02:51 +00:00
<!-- directories -->
<property name= "release.dir" value= "release" />
<property name= "doc.dir" value= "doc" />
2012-09-14 03:57:54 +00:00
<property name= "cldr.util.out.dir" value= "${out.dir}/cldr_util" />
<property name= "cldr.release.dir" value= "release_cldr" />
2009-06-16 05:52:23 +00:00
2009-06-16 15:47:21 +00:00
<!-- Java version check -->
<condition property= "is.java6.plus" >
<or >
<contains string= "${java.version}" substring= "1.6." />
<contains string= "${java.version}" substring= "1.7." />
2012-03-02 05:12:11 +00:00
<contains string= "${java.version}" substring= "1.8." />
2009-06-16 15:47:21 +00:00
</or>
</condition>
<condition property= "is.java5" >
<contains string= "${java.version}" substring= "1.5." />
</condition>
<fail message= "The JDK version is too old or unknown." >
<condition >
<not >
<or >
<isset property= "is.java6.plus" />
<isset property= "is.java5" />
</or>
</not>
</condition>
</fail>
2012-08-29 14:02:39 +00:00
2015-09-23 03:59:54 +00:00
<condition property= "is.java7" >
<contains string= "${java.version}" substring= "1.7." />
</condition>
2012-03-02 05:12:11 +00:00
<condition property= "is.java7.plus" >
<or >
<contains string= "${java.version}" substring= "1.7." />
<contains string= "${java.version}" substring= "1.8." />
</or>
</condition>
2015-09-23 13:25:42 +00:00
<condition property= "is.pre.java8" >
<or >
<contains string= "${java.version}" substring= "1.5." />
<contains string= "${java.version}" substring= "1.6." />
<contains string= "${java.version}" substring= "1.7." />
</or>
</condition>
2009-06-16 15:47:21 +00:00
2009-06-16 05:52:23 +00:00
<!-- Build environment info -->
<property name= "env.COMPUTERNAME" value= "${env.HOSTNAME}" />
2009-06-16 15:47:21 +00:00
<target name= "info" description= "Display the build environment information" >
<echo message= "----- Build Environment Information -------------------" />
<echo message= "Java Home: ${java.home}" />
<echo message= "Java Version: ${java.version}" />
<echo message= "Ant Home: ${ant.home}" />
<echo message= "Ant Version: ${ant.version}" />
<echo message= "OS: ${os.name}" />
<echo message= "OS Version: ${os.version}" />
<echo message= "OS Arch: ${os.arch}" />
<echo message= "Host: ${env.COMPUTERNAME}" />
<echo message= "-------------------------------------------------------" />
</target>
2009-06-16 05:52:23 +00:00
<target name= "clean" description= "Clean up build outputs" >
<ant dir= "${icu4j.core.dir}" target= "clean" inheritAll= "false" />
2009-07-07 19:24:00 +00:00
<ant dir= "${icu4j.collate.dir}" target= "clean" inheritAll= "false" />
2009-06-16 05:52:23 +00:00
<ant dir= "${icu4j.charset.dir}" target= "clean" inheritAll= "false" />
2009-12-11 21:59:27 +00:00
<ant dir= "${icu4j.currdata.dir}" target= "clean" inheritAll= "false" />
2009-11-30 21:53:28 +00:00
<ant dir= "${icu4j.langdata.dir}" target= "clean" inheritAll= "false" />
2009-06-16 05:52:23 +00:00
<ant dir= "${icu4j.localespi.dir}" target= "clean" inheritAll= "false" />
2009-11-30 21:53:28 +00:00
<ant dir= "${icu4j.regiondata.dir}" target= "clean" inheritAll= "false" />
2009-07-09 23:49:42 +00:00
<ant dir= "${icu4j.translit.dir}" target= "clean" inheritAll= "false" />
2009-06-16 05:52:23 +00:00
<ant dir= "${icu4j.test-framework.dir}" target= "clean" inheritAll= "false" />
<ant dir= "${icu4j.core-tests.dir}" target= "clean" inheritAll= "false" />
2009-07-07 19:24:00 +00:00
<ant dir= "${icu4j.collate-tests.dir}" target= "clean" inheritAll= "false" />
2009-06-16 05:52:23 +00:00
<ant dir= "${icu4j.charset-tests.dir}" target= "clean" inheritAll= "false" />
<ant dir= "${icu4j.localespi-tests.dir}" target= "clean" inheritAll= "false" />
2009-11-30 21:53:28 +00:00
<ant dir= "${icu4j.packaging-tests.dir}" target= "clean" inheritAll= "false" />
2009-07-09 23:49:42 +00:00
<ant dir= "${icu4j.translit-tests.dir}" target= "clean" inheritAll= "false" />
2013-11-06 22:09:21 +00:00
<ant dir= "${icu4j.testall.dir}" target= "clean" inheritAll= "false" />
2009-06-16 05:52:23 +00:00
<ant dir= "${icu4j.build-tools.dir}" target= "clean" inheritAll= "false" />
<ant dir= "${icu4j.tools.dir}" target= "clean" inheritAll= "false" />
<ant dir= "${icu4j.demos.dir}" target= "clean" inheritAll= "false" />
2011-10-17 21:10:07 +00:00
<ant dir= "${icu4j.samples.dir}" target= "clean" inheritAll= "false" />
2014-02-07 15:20:17 +00:00
<ant dir= "${icu4j.perf-tests.dir}" target= "clean" inheritAll= "false" />
2009-06-16 05:52:23 +00:00
2010-06-11 17:02:51 +00:00
<!-- delete all .jar files root directory -->
2009-07-22 17:36:26 +00:00
<delete >
2010-03-10 07:52:28 +00:00
<fileset dir= "." includes= "icu4j*.jar" />
2009-07-22 17:36:26 +00:00
</delete>
2009-06-16 05:52:23 +00:00
2010-06-11 17:02:51 +00:00
<delete dir= "${release.dir}" />
2009-06-16 05:52:23 +00:00
<delete dir= "${doc.dir}" />
<delete dir= "${out.dir}" />
2009-06-17 05:47:05 +00:00
<delete dir= "${module.dir}" />
2012-09-14 03:57:54 +00:00
<delete dir= "${cldr.release.dir}" />
2010-10-14 19:15:38 +00:00
2012-03-21 04:21:37 +00:00
<available file= "eclipse-build" type= "dir" property= "eclipse-build.dir.present" />
<antcall target= "_clean.eclipse-build" />
</target>
<target name= "_clean.eclipse-build" if= "eclipse-build.dir.present" >
2010-10-14 19:15:38 +00:00
<ant dir= "eclipse-build" target= "clean" inheritAll= "false" />
2003-01-28 18:55:43 +00:00
</target>
2007-04-20 21:02:49 +00:00
2009-06-16 05:52:23 +00:00
<!-- meta build targets -->
2014-02-07 15:20:17 +00:00
<target name= "all" depends= "info, main, tests, build-tools, tools, demos, samples, perf-tests, jar, docs" description= "Build all primary targets" />
2010-03-10 07:52:28 +00:00
<target name= "main" depends= "info, core, collate, charset, currdata, langdata, regiondata, translit, localespi" description= "Build ICU4J runtime library classes" />
2013-11-06 22:09:21 +00:00
<target name= "tests" depends= "info, core-tests, charset-tests, collate-tests, packaging-tests, translit-tests, testall, localespi-tests" description= "Build ICU4J test classes" />
2009-06-16 05:52:23 +00:00
2009-07-22 01:32:09 +00:00
<target name= "secure" depends= "icu4jJar" description= "(Deprecated)Build ICU4J API and test classes for running the ICU4J test suite with Java security manager enabled" />
2009-07-01 19:40:39 +00:00
<!-- Check to see if JVM_OPTIONS enviroment variable is set. This can be use to set the heap size. -->
<property name= "env.JVM_OPTIONS" value= "" />
<property name= "jvm_options" value= "${env.JVM_OPTIONS}" />
2009-06-16 05:52:23 +00:00
<target name= "check" description= "Run the standard ICU4J test suite" >
<antcall target= "_runCheck" >
2015-02-23 13:23:44 +00:00
<param name= "runcheck.arg" value= "" />
2011-06-09 21:20:05 +00:00
<param name= "runcheck.jvmarg" value= "${jvm_options} -ea" />
2009-06-16 05:52:23 +00:00
</antcall>
</target>
2007-04-20 21:02:49 +00:00
2009-06-16 05:52:23 +00:00
<target name= "exhaustiveCheck" description= "Run the standard ICU4J test suite in exhaustive mode" >
<antcall target= "_runCheck" >
2015-02-23 13:23:44 +00:00
<param name= "runcheck.arg" value= "-e10" />
2011-06-09 21:20:05 +00:00
<param name= "runcheck.jvmarg" value= "${jvm_options} -ea" />
2009-06-16 05:52:23 +00:00
</antcall>
</target>
2007-04-20 21:02:49 +00:00
2009-06-26 14:37:11 +00:00
<target name= "timeZoneCheck" description= "Run the complete test for TimeZoneRoundTripAll" >
<antcall target= "_runCheck" >
2015-02-23 13:23:44 +00:00
<param name= "runcheck.arg" value= "-prop:TimeZoneRoundTripAll=true Core/Format/DateFormat/TimeZoneFormatTest -v" />
2009-11-16 06:19:33 +00:00
<param name= "runcheck.jvmarg" value= "${jvm_options}" />
2009-06-26 14:37:11 +00:00
</antcall>
</target>
2009-06-16 05:52:23 +00:00
<target name= "jdktzCheck" description= "Run the standard ICU4J test suite with JDK TimeZone" >
<antcall target= "_runCheck" >
2015-02-23 13:23:44 +00:00
<param name= "runcheck.arg" value= "" />
2009-07-01 19:40:39 +00:00
<param name= "runcheck.jvmarg" value= "${jvm_options} -Dcom.ibm.icu.util.TimeZone.DefaultTimeZoneType=JDK" />
2009-06-16 05:52:23 +00:00
</antcall>
</target>
2007-09-14 06:22:51 +00:00
2009-07-22 01:32:09 +00:00
<target name= "_runCheck" depends= "main, tests" >
2009-07-20 17:41:55 +00:00
<echo message= "JVM argument: ${runcheck.jvmarg} -Djava.awt.headless=true" />
2009-06-16 05:52:23 +00:00
<echo message= "Test argument: ${runcheck.arg}" />
<java classname= "com.ibm.icu.dev.test.TestAll" fork= "yes" failonerror= "true" >
<arg line= "${runcheck.arg}" />
2009-07-20 17:41:55 +00:00
<jvmarg line= "${runcheck.jvmarg} -Djava.awt.headless=true" />
2009-06-16 05:52:23 +00:00
<classpath >
2013-10-24 22:05:52 +00:00
<pathelement location= "${icu4j.core.jar}" />
<pathelement location= "${icu4j.collate.jar}" />
<pathelement location= "${icu4j.charset.jar}" />
<pathelement location= "${icu4j.currdata.jar}" />
<pathelement location= "${icu4j.langdata.jar}" />
<pathelement location= "${icu4j.regiondata.jar}" />
<pathelement location= "${icu4j.translit.jar}" />
<pathelement location= "${icu4j.test-framework.jar}" />
<pathelement location= "${icu4j.core-tests.jar}" />
<pathelement location= "${icu4j.collate-tests.jar}" />
<pathelement location= "${icu4j.charset-tests.jar}" />
<pathelement location= "${icu4j.translit-tests.jar}" />
2013-11-06 22:09:21 +00:00
<pathelement location= "${icu4j.testall.jar}" />
2009-06-16 05:52:23 +00:00
</classpath>
</java>
</target>
2007-04-20 21:02:49 +00:00
2011-11-07 21:32:23 +00:00
<target name= "_runTestArgCheck" unless= "testarg" >
2015-02-23 13:23:44 +00:00
<echo message= "No test arguments are supplied." />
2011-11-07 21:32:23 +00:00
<echo message= "For specifying test arguments, use '-Dtestarg=[test args]' as" />
<echo message= "ant command line argument. For example:" />
<echo message= " >ant runTest -Dtestarg="Core/Format -e10"" />
<echo message= "for running ICU4J core format test suite in exhaustive mode." />
</target>
<target name= "runTest" depends= "_runTestArgCheck" description= "Run a ICU4J test case, without calling any other build targets" >
2010-02-23 17:54:52 +00:00
<echo message= "JVM argument: ${jvm_options} -Djava.awt.headless=true" />
<echo message= "Test argument: ${testarg}" />
<java classname= "com.ibm.icu.dev.test.TestAll" fork= "yes" failonerror= "true" >
<arg line= "${testarg}" />
<jvmarg line= "${jvm_options} -Djava.awt.headless=true" />
<classpath >
2013-10-24 22:05:52 +00:00
<pathelement location= "${icu4j.core.jar}" />
<pathelement location= "${icu4j.collate.jar}" />
<pathelement location= "${icu4j.charset.jar}" />
<pathelement location= "${icu4j.currdata.jar}" />
<pathelement location= "${icu4j.langdata.jar}" />
<pathelement location= "${icu4j.regiondata.jar}" />
<pathelement location= "${icu4j.translit.jar}" />
<pathelement location= "${icu4j.test-framework.jar}" />
<pathelement location= "${icu4j.core-tests.jar}" />
<pathelement location= "${icu4j.collate-tests.jar}" />
<pathelement location= "${icu4j.charset-tests.jar}" />
<pathelement location= "${icu4j.translit-tests.jar}" />
2013-11-06 22:09:21 +00:00
<pathelement location= "${icu4j.testall.jar}" />
2010-02-23 17:54:52 +00:00
</classpath>
</java>
</target>
2009-11-30 21:53:28 +00:00
<target name= "packagingCheck" depends= "info, core, packaging-tests" description= "Run packaging tests" >
2009-12-11 21:59:27 +00:00
<!-- region data but no language data -->
2009-11-30 21:53:28 +00:00
<java classname= "com.ibm.icu.dev.test.TestPackaging" fork= "yes" failonerror= "true" >
2015-02-23 13:23:44 +00:00
<arg line= "-w" />
2009-11-30 21:53:28 +00:00
<classpath >
2013-10-24 22:05:52 +00:00
<pathelement location= "${icu4j.core.jar}" />
<pathelement location= "${icu4j.charset.jar}" />
<pathelement location= "${icu4j.test-framework.jar}" />
<pathelement location= "${icu4j.packaging-tests.jar}" />
<pathelement location= "${icu4j.regiondata.jar}" />
2009-11-30 21:53:28 +00:00
</classpath>
</java>
2009-12-11 21:59:27 +00:00
<!-- language data but no region data -->
2009-11-30 21:53:28 +00:00
<java classname= "com.ibm.icu.dev.test.TestPackaging" fork= "yes" failonerror= "true" >
2015-02-23 13:23:44 +00:00
<arg line= "-w" />
2009-11-30 21:53:28 +00:00
<classpath >
2013-10-24 22:05:52 +00:00
<pathelement location= "${icu4j.core.jar}" />
<pathelement location= "${icu4j.charset.jar}" />
<pathelement location= "${icu4j.test-framework.jar}" />
<pathelement location= "${icu4j.packaging-tests.jar}" />
<pathelement location= "${icu4j.langdata.jar}" />
2009-11-30 21:53:28 +00:00
</classpath>
</java>
2009-12-11 21:59:27 +00:00
<!-- neither region nor language data -->
2009-11-30 21:53:28 +00:00
<java classname= "com.ibm.icu.dev.test.TestPackaging" fork= "yes" failonerror= "true" >
2015-02-23 13:23:44 +00:00
<arg line= "-w" />
2009-11-30 21:53:28 +00:00
<classpath >
2013-10-24 22:05:52 +00:00
<pathelement location= "${icu4j.core.jar}" />
<pathelement location= "${icu4j.charset.jar}" />
<pathelement location= "${icu4j.test-framework.jar}" />
<pathelement location= "${icu4j.packaging-tests.jar}" />
2009-11-30 21:53:28 +00:00
</classpath>
</java>
</target>
2010-01-20 21:18:53 +00:00
<target name= "coreCheck" depends= "info, core, currdata, langdata, regiondata, core-tests" description= "Run only the core tests" >
2009-07-07 19:24:00 +00:00
<java classname= "com.ibm.icu.dev.test.TestAllCore" fork= "yes" failonerror= "true" >
<classpath >
2013-10-24 22:05:52 +00:00
<pathelement location= "${icu4j.core.jar}" />
<pathelement location= "${icu4j.currdata.jar}" />
<pathelement location= "${icu4j.langdata.jar}" />
<pathelement location= "${icu4j.regiondata.jar}" />
<pathelement location= "${icu4j.test-framework.jar}" />
<pathelement location= "${icu4j.core-tests.jar}" />
2009-07-07 19:24:00 +00:00
</classpath>
</java>
</target>
2010-02-16 06:00:54 +00:00
<target name= "collateCheck" depends= "info, core, collate, currdata, langdata, regiondata, core-tests, collate-tests" description= "Run only the collation tests" >
2009-07-07 19:24:00 +00:00
<java classname= "com.ibm.icu.dev.test.TestAllCollate" fork= "yes" failonerror= "true" >
<classpath >
2013-10-24 22:05:52 +00:00
<pathelement location= "${icu4j.core.jar}" />
<pathelement location= "${icu4j.collate.jar}" />
<pathelement location= "${icu4j.test-framework.jar}" />
<pathelement location= "${icu4j.collate-tests.jar}" />
2010-01-20 21:18:53 +00:00
<!-- for now, collateCheck needs currdata, langdata and regiondata, because of GlobalizationPreferencesTest" -->
2013-10-24 22:05:52 +00:00
<pathelement location= "${icu4j.currdata.jar}" />
<pathelement location= "${icu4j.langdata.jar}" />
<pathelement location= "${icu4j.regiondata.jar}" />
<pathelement location= "${icu4j.core-tests.jar}" />
2009-07-07 19:24:00 +00:00
</classpath>
</java>
</target>
2009-07-17 21:56:40 +00:00
<target name= "translitCheck" depends= "info, core, translit, translit-tests" description= "Run the ICU4J Translit test suite" >
<java classname= "com.ibm.icu.dev.test.TestAllTranslit" fork= "yes" failonerror= "true" >
<classpath >
2013-10-24 22:05:52 +00:00
<pathelement location= "${icu4j.core.jar}" />
<pathelement location= "${icu4j.translit.jar}" />
<pathelement location= "${icu4j.test-framework.jar}" />
<pathelement location= "${icu4j.translit-tests.jar}" />
2009-07-17 21:56:40 +00:00
</classpath>
</java>
</target>
2009-06-16 15:47:21 +00:00
<target name= "localespiCheck" if= "is.java6.plus" depends= "info" description= "Run the ICU4J Locale SPI test suite" >
<antcall target= "_runLocalespiCheck" />
</target>
<target name= "_runLocalespiCheck" depends= "localespi, localespi-tests" >
<java classname= "com.ibm.icu.dev.test.localespi.TestAll" fork= "yes" failonerror= "true" >
2010-01-20 18:50:51 +00:00
<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}" />
2009-06-16 15:47:21 +00:00
<classpath >
2013-10-24 22:05:52 +00:00
<pathelement location= "${icu4j.localespi-tests.jar}" />
<pathelement location= "${icu4j.test-framework.jar}" />
2009-06-16 15:47:21 +00:00
</classpath>
</java>
</target>
2009-07-22 01:32:09 +00:00
<target name= "secureCheck" depends= "main, jar, icu4jtestsJar" description= "Run the secure (applet-like) ICU4J test suite" >
2015-02-23 13:23:44 +00:00
<property name= "securecheck.arg" value= "-w" />
2009-07-22 01:32:09 +00:00
<property name= "securecheck.jvmarg"
2012-03-09 17:14:38 +00:00
value="${jvm_options} -Djava.security.manager -Djava.security.policy=${shared.dir}/data/security.policy -Djava.awt.headless=true"/>
2009-07-22 01:32:09 +00:00
<echo message= "JVM argument: ${securecheck.jvmarg}" />
<echo message= "Test argument: ${securecheck.arg}" />
<java classname= "com.ibm.icu.dev.test.TestAll" fork= "yes" failonerror= "true" >
<arg line= "${securecheck.arg}" />
<jvmarg line= "${securecheck.jvmarg}" />
<classpath >
2013-10-24 22:05:52 +00:00
<pathelement location= "${icu4j.jar.file}" />
<pathelement location= "${icu4j-charset.jar.file}" />
<pathelement location= "${icu4jtests.jar.file}" />
2009-07-22 01:32:09 +00:00
</classpath>
</java>
</target>
2009-06-16 05:52:23 +00:00
<!-- jar targets -->
2010-03-10 07:52:28 +00:00
<target name= "jar" depends= "icu4jJar, charset, localespi" description= "Build ICU4J runtime library jar files" >
2011-03-01 07:48:43 +00:00
<copy file= "${icu4j.charset.jar}" tofile= "${icu4j-charset.jar.file}" />
2009-07-20 15:56:51 +00:00
<copy file= "${icu4j.localespi.jar}" tofile= "${icu4j-localespi.jar.file}" failonerror= "false" />
2009-06-16 05:52:23 +00:00
</target>
2007-04-20 21:02:49 +00:00
2009-12-11 21:59:27 +00:00
<target name= "icu4jJar" depends= "info, core, collate, currdata, langdata, regiondata, translit" description= "Build ICU4J all-in-one core jar" >
2009-07-17 21:56:40 +00:00
<mkdir dir= "${out.dir}" />
<!-- manifest -->
2010-10-14 19:15:38 +00:00
<copy file= "manifest.stub" todir= "${out.dir}" >
2009-07-17 21:56:40 +00:00
<filterset >
<filter token= "SPECVERSION" value= "${jar.spec.version}" />
<filter token= "IMPLVERSION" value= "${jar.impl.version}" />
<filter token= "COPYRIGHT" value= "${jar.copyright.info}" />
2010-10-14 19:15:38 +00:00
<filter token= "EXECENV" value= "${jar.exec.env}" />
2009-07-17 21:56:40 +00:00
</filterset>
</copy>
<!-- jar -->
<jar jarfile= "${icu4j.jar.file}"
compress="true"
manifest="${out.dir}/manifest.stub">
<fileset dir= "${icu4j.core.dir}/${bin.dir}" includes= "**/*" />
<fileset dir= "${icu4j.collate.dir}/${bin.dir}" includes= "**/*" />
2009-12-11 21:59:27 +00:00
<fileset dir= "${icu4j.currdata.dir}/${bin.dir}" includes= "**/*" />
2009-11-30 21:53:28 +00:00
<fileset dir= "${icu4j.langdata.dir}/${bin.dir}" includes= "**/*" />
<fileset dir= "${icu4j.regiondata.dir}/${bin.dir}" includes= "**/*" />
2009-07-17 21:56:40 +00:00
<fileset dir= "${icu4j.translit.dir}/${bin.dir}" includes= "**/*" />
<fileset dir= "${shared.dir}/licenses" >
<include name= "license.html" />
</fileset>
</jar>
</target>
2014-02-07 15:20:17 +00:00
<target name= "icu4jSrcJar" description= "Build icu4j-src.jar" >
2012-09-14 03:57:54 +00:00
<jar jarfile= "${icu4j-src.jar.file}"
compress="true">
<fileset dir= "${icu4j.core.dir}/${src.dir}" includes= "**/*.java" />
<fileset dir= "${icu4j.collate.dir}/${src.dir}" includes= "**/*.java" />
<fileset dir= "${icu4j.currdata.dir}/${src.dir}" includes= "**/*.java" />
<fileset dir= "${icu4j.langdata.dir}/${src.dir}" includes= "**/*.java" />
<fileset dir= "${icu4j.regiondata.dir}/${src.dir}" includes= "**/*.java" />
<fileset dir= "${icu4j.translit.dir}/${src.dir}" includes= "**/*.java" />
<fileset dir= "${shared.dir}/licenses" >
<include name= "license.html" />
</fileset>
</jar>
2014-02-07 15:20:17 +00:00
</target>
2012-09-14 03:57:54 +00:00
2009-07-22 01:32:09 +00:00
<target name= "icu4jtestsJar" depends= "info, tests" description= "Build ICU4J all-in-one test jar" >
<jar jarfile= "${icu4jtests.jar.file}"
compress="true">
<fileset dir= "${icu4j.test-framework.dir}/${bin.dir}" includes= "**/*" />
<fileset dir= "${icu4j.core-tests.dir}/${bin.dir}" includes= "**/*" />
<fileset dir= "${icu4j.collate-tests.dir}/${bin.dir}" includes= "**/*" />
<fileset dir= "${icu4j.translit-tests.dir}/${bin.dir}" includes= "**/*" />
<fileset dir= "${icu4j.charset-tests.dir}/${bin.dir}" includes= "**/*" />
2013-11-06 22:09:21 +00:00
<fileset dir= "${icu4j.testall.dir}/${bin.dir}" includes= "**/*" />
2009-07-22 01:32:09 +00:00
</jar>
</target>
2009-07-17 21:56:40 +00:00
2011-05-19 22:05:29 +00:00
<target name= "jarDemos" depends= "icu4jJar, demos" description= "Build ICU4J demo jar file" >
2010-06-11 17:02:51 +00:00
<copy file= "${icu4j.demos.jar}" tofile= "${icu4jdemos.jar.file}" />
2009-06-16 05:52:23 +00:00
</target>
2007-04-20 21:02:49 +00:00
2010-06-11 17:02:51 +00:00
2012-03-29 22:27:52 +00:00
<!-- release targets -->
2014-10-09 07:28:33 +00:00
<target name= "_check_config_for_release" >
<condition property= "release.build.config.ok" >
<and >
2015-09-23 03:59:54 +00:00
<isset property= "is.java7" />
2014-10-09 07:28:33 +00:00
<isset property= "java5.bootclasspath" />
<isset property= "java6.bootclasspath" />
<isset property= "jcite.libs" />
</and>
</condition>
</target>
<target name= "_verify_config_for_release" depends= "_check_config_for_release" unless= "release.build.config.ok" >
2015-09-23 03:59:54 +00:00
<condition property= "disp.is.java7" value= "${java.version}" else= "${java.version} - Must be 1.7!" >
<isset property= "is.java7" />
</condition>
2014-10-09 07:28:33 +00:00
<condition property= "disp.java5.bootclasspath" value= "${java5.bootclasspath}" else= "Not Defined!" >
<isset property= "java5.bootclasspath" />
</condition>
<condition property= "disp.java6.bootclasspath" value= "${java5.bootclasspath}" else= "Not Defined!" >
<isset property= "java6.bootclasspath" />
</condition>
<condition property= "disp.jcite.libs" value= "${jcite.libs}" else= "Not Defined!" >
<isset property= "jcite.libs" />
</condition>
<echo message= "################################################################" />
<echo message= "[WARNING] Insufficient Build Configuration for ICU4J Release" />
2015-09-23 03:59:54 +00:00
<echo message= "JDK Tools Version: ${disp.is.java7}" />
2014-10-09 07:28:33 +00:00
<echo message= "JRE 5 System Library Path: ${disp.java5.bootclasspath}" />
<echo message= "JRE 6 System Library Path: ${disp.java6.bootclasspath}" />
<echo message= "JCite Library Path: ${disp.jcite.libs}" />
<echo message= "################################################################" />
</target>
2012-08-27 22:23:23 +00:00
<target name= "releaseVer" depends= "info, releaseBinaries, releaseSrcJars, releaseDocs, releaseSourceArchiveTgz"
description="Build all ICU4J release files for distribution with versioned file names">
<!-- binaries -->
<move file= "${release.dir}/${icu4j.jar.file}" tofile= "${release.dir}/${icu4j.jar.versioned.file}" />
<move file= "${release.dir}/${icu4j-charset.jar.file}" tofile= "${release.dir}/${icu4j-charset.jar.versioned.file}" />
<move file= "${release.dir}/${icu4j-localespi.jar.file}" tofile= "${release.dir}/${icu4j-localespi.jar.versioned.file}" />
<!-- source jars -->
<move file= "${release.dir}/${icu4j-src.jar.file}" tofile= "${release.dir}/${icu4j-src.jar.versioned.file}" />
<move file= "${release.dir}/${icu4j-charset-src.jar.file}" tofile= "${release.dir}/${icu4j-charset-src.jar.versioned.file}" />
<move file= "${release.dir}/${icu4j-localespi-src.jar.file}" tofile= "${release.dir}/${icu4j-localespi-src.jar.versioned.file}" />
<!-- docs -->
<move file= "${release.dir}/${icu4jdocs.jar.file}" tofile= "${release.dir}/${icu4jdocs.jar.versioned.file}" />
<!-- package archive -->
<move file= "${release.dir}/${icu4jsrc.tgz.file}" tofile= "${release.dir}/${icu4jsrc.tgz.versioned.file}" />
<!-- md5 checksum file -->
2012-03-29 22:27:52 +00:00
<mkdir dir= "${out.dir}/checksum" />
<delete dir= "${out.dir}/checksum" includes= "**/*" />
<checksum todir= "${out.dir}/checksum" format= "MD5SUM" >
<fileset dir= "${release.dir}" >
<include name= "*.jar" />
<include name= "*.tgz" />
</fileset>
</checksum>
<concat destfile= "${release.dir}/icu4j-${release.file.ver}.md5" >
<fileset dir= "${out.dir}/checksum" includes= "*" />
<filterchain >
<fixcrlf eol= "lf" />
</filterchain>
</concat>
2014-10-09 07:28:33 +00:00
<antcall target= "_verify_config_for_release" />
2012-03-29 22:27:52 +00:00
</target>
2012-08-27 22:23:23 +00:00
<target name= "release" depends= "info, releaseBinaries, releaseSrcJars, releaseDocs, releaseSourceArchiveTgz" description= "Build all ICU4J release files for distribution" >
<mkdir dir= "${out.dir}/checksum" />
<delete dir= "${out.dir}/checksum" includes= "**/*" />
<checksum todir= "${out.dir}/checksum" format= "MD5SUM" >
<fileset dir= "${release.dir}" >
<include name= "*.jar" />
<include name= "*.tgz" />
</fileset>
</checksum>
<concat destfile= "${release.dir}/icu4j.md5" >
<fileset dir= "${out.dir}/checksum" includes= "*" />
<filterchain >
<fixcrlf eol= "lf" />
</filterchain>
</concat>
2014-10-09 07:28:33 +00:00
<antcall target= "_verify_config_for_release" />
2012-08-27 22:23:23 +00:00
</target>
2010-06-11 17:02:51 +00:00
<target name= "releaseBinaries" depends= "icu4jJar, charset, localespi" description= "Build ICU4J binary files for distribution" >
<mkdir dir= "${release.dir}" />
2012-08-27 22:23:23 +00:00
<copy file= "${icu4j.jar.file}" tofile= "${release.dir}/${icu4j.jar.file}" />
<copy file= "${icu4j.charset.jar}" tofile= "${release.dir}/${icu4j-charset.jar.file}" />
<copy file= "${icu4j.localespi.jar}" tofile= "${release.dir}/${icu4j-localespi.jar.file}" />
2010-06-11 17:02:51 +00:00
</target>
2012-09-14 03:57:54 +00:00
<target name= "releaseSrcJars" depends= "icu4jSrcJar" description= "Build ICU4J src jar files for distribution" >
2010-06-11 17:02:51 +00:00
<mkdir dir= "${release.dir}" />
2012-09-14 03:57:54 +00:00
<!-- icu4j src - jar -->
<copy file= "${icu4j-src.jar.file}" tofile= "${release.dir}/${icu4j-src.jar.file}" />
2010-06-11 17:02:51 +00:00
<!-- charset/localespi src - jar -->
<ant dir= "${icu4j.charset.dir}" target= "src-jar" inheritAll= "false" />
<ant dir= "${icu4j.localespi.dir}" target= "src-jar" inheritAll= "false" />
2012-08-27 22:23:23 +00:00
<copy file= "${icu4j.charset.dir}/${out.dir}/lib/${icu4j-charset-src.jar.file}" tofile= "${release.dir}/${icu4j-charset-src.jar.file}" />
<copy file= "${icu4j.localespi.dir}/${out.dir}/lib/${icu4j-localespi-src.jar.file}" tofile= "${release.dir}/${icu4j-localespi-src.jar.file}" />
2004-04-20 14:44:09 +00:00
</target>
2007-08-01 20:59:19 +00:00
2010-06-11 17:02:51 +00:00
<target name= "releaseDocs" depends= "docs" description= "Build ICU4J API reference doc jar file for distribution" >
<mkdir dir= "${release.dir}" />
<jar jarfile= "${release.dir}/${icu4jdocs.jar.file}" compress= "true" basedir= "${doc.dir}" />
</target>
<property name= "src.release.wrk.dir" value= "${out.dir}/tmpsrc" />
<target name= "releaseSourceArchiveZip" description= "Build ICU4J source release archive (.zip)" >
<delete dir= "${src.release.wrk.dir}" />
<delete file= "${icu4jsrc.zip.file}" />
<mkdir dir= "${src.release.wrk.dir}" />
<fixcrlf srcdir= "."
destdir="${src.release.wrk.dir}"
encoding="UTF-8"
eol="crlf">
<include name= "demos/**/*" />
2012-03-21 04:21:37 +00:00
<include name= "main/**/*" />
<include name= "perf-tests/**/*" />
2011-10-17 21:10:07 +00:00
<include name= "samples/**/*" />
2010-06-11 17:02:51 +00:00
<include name= "tools/**/*" />
<include name= "*.html" />
<include name= "*.xml" />
<include name= "*.properties" />
2012-03-21 04:21:37 +00:00
<include name= "*.css" />
<include name= "*.stub" />
2010-06-11 17:02:51 +00:00
<exclude name= "**/out/**/*" />
<exclude name= "**/*.jar" />
2012-03-30 22:32:24 +00:00
<exclude name= "**/build-local.properties" />
2010-06-11 17:02:51 +00:00
<exclude name= "main/tests/core/src/com/ibm/icu/dev/data/rbbi/english.dict" />
<exclude name= "main/tests/core/src/com/ibm/icu/dev/test/serializable/data/**/*.dat" />
<exclude name= "main/tests/core/src/com/ibm/icu/dev/test/util/Trie2Test.*.tri2" />
<exclude name= "tools/build/icu4j*.api*.gz" />
</fixcrlf>
<mkdir dir= "${release.dir}" />
<zip destfile= "${release.dir}/${icu4jsrc.zip.file}" >
<fileset dir= "${src.release.wrk.dir}" includes= "**/*" />
<fileset dir= "${basedir}" >
<include name= "main/shared/data/*.jar" />
<include name= "main/tests/core/src/com/ibm/icu/dev/data/rbbi/english.dict" />
<include name= "main/tests/core/src/com/ibm/icu/dev/test/serializable/data/**/*.dat" />
<include name= "main/tests/core/src/com/ibm/icu/dev/test/util/Trie2Test.*.tri2" />
<include name= "tools/build/icu4j*.api*.gz" />
</fileset>
</zip>
<delete dir= "${src.release.wrk.dir}" />
</target>
<target name= "releaseSourceArchiveTgz" description= "Build ICU4J source release archive (.tgz)" >
<delete dir= "${src.release.wrk.dir}" />
<delete file= "${icu4jsrc.tgz.file}" />
<mkdir dir= "${src.release.wrk.dir}" />
<fixcrlf srcdir= "."
destdir="${src.release.wrk.dir}"
encoding="UTF-8"
eol="lf">
<include name= "demos/**/*" />
2012-03-21 04:21:37 +00:00
<include name= "main/**/*" />
<include name= "perf-tests/**/*" />
2011-10-17 21:10:07 +00:00
<include name= "samples/**/*" />
2010-06-11 17:02:51 +00:00
<include name= "tools/**/*" />
<include name= "*.html" />
<include name= "*.xml" />
<include name= "*.properties" />
2012-03-21 04:21:37 +00:00
<include name= "*.css" />
<include name= "*.stub" />
2010-06-11 17:02:51 +00:00
<exclude name= "**/out/**/*" />
<exclude name= "**/*.jar" />
2012-03-30 22:32:24 +00:00
<exclude name= "**/build-local.properties" />
2010-06-11 17:02:51 +00:00
<exclude name= "main/tests/core/src/com/ibm/icu/dev/data/rbbi/english.dict" />
<exclude name= "main/tests/core/src/com/ibm/icu/dev/test/serializable/data/**/*.dat" />
<exclude name= "main/tests/core/src/com/ibm/icu/dev/test/util/Trie2Test.*.tri2" />
<exclude name= "tools/build/icu4j*.api*.gz" />
</fixcrlf>
<property name= "icu4jsrc.tar" value= "${out.dir}/icu4jsrc.tar" />
<tar destfile= "${icu4jsrc.tar}" longfile= "gnu" >
<fileset dir= "${src.release.wrk.dir}" includes= "**/*" />
<fileset dir= "${basedir}" >
<include name= "main/shared/data/*.jar" />
<include name= "main/tests/core/src/com/ibm/icu/dev/data/rbbi/english.dict" />
<include name= "main/tests/core/src/com/ibm/icu/dev/test/serializable/data/**/*.dat" />
<include name= "main/tests/core/src/com/ibm/icu/dev/test/util/Trie2Test.*.tri2" />
<include name= "tools/build/icu4j*.api*.gz" />
</fileset>
</tar>
<mkdir dir= "${release.dir}" />
<gzip destfile= "${release.dir}/${icu4jsrc.tgz.file}" src= "${icu4jsrc.tar}" />
<delete dir= "${src.release.wrk.dir}" />
<delete file= "${icu4jsrc.tar}" />
2009-06-16 05:52:23 +00:00
</target>
2009-04-18 06:15:24 +00:00
2011-12-29 18:13:00 +00:00
<!-- findbugs targets -->
2013-04-19 23:31:32 +00:00
<target name= "findbugs" description= "Run FindBugs on all library sub projects." >
<property name= "findbugs.out.dir" value= "${out.dir}/findbugs" />
<mkdir dir= "${findbugs.out.dir}" />
2011-12-29 18:13:00 +00:00
2013-04-19 23:31:32 +00:00
<ant dir= "${icu4j.core.dir}" inheritAll= "false" target= "findbugs" />
<copy file= "${icu4j.core.dir}/${out.dir}/fb-core.html" todir= "${findbugs.out.dir}" />
2011-12-29 18:13:00 +00:00
2013-04-19 23:31:32 +00:00
<ant dir= "${icu4j.collate.dir}" inheritAll= "false" target= "findbugs" />
<copy file= "${icu4j.collate.dir}/${out.dir}/fb-collate.html" todir= "${findbugs.out.dir}" />
2011-12-29 18:13:00 +00:00
2013-04-19 23:31:32 +00:00
<ant dir= "${icu4j.currdata.dir}" inheritAll= "false" target= "findbugs" />
<copy file= "${icu4j.currdata.dir}/${out.dir}/fb-currdata.html" todir= "${findbugs.out.dir}" />
2011-12-29 18:13:00 +00:00
2013-04-19 23:31:32 +00:00
<ant dir= "${icu4j.langdata.dir}" inheritAll= "false" target= "findbugs" />
<copy file= "${icu4j.langdata.dir}/${out.dir}/fb-langdata.html" todir= "${findbugs.out.dir}" />
2011-12-29 18:13:00 +00:00
2013-04-19 23:31:32 +00:00
<ant dir= "${icu4j.regiondata.dir}" inheritAll= "false" target= "findbugs" />
<copy file= "${icu4j.regiondata.dir}/${out.dir}/fb-regiondata.html" todir= "${findbugs.out.dir}" />
2011-12-29 18:13:00 +00:00
2013-04-19 23:31:32 +00:00
<ant dir= "${icu4j.translit.dir}" inheritAll= "false" target= "findbugs" />
<copy file= "${icu4j.translit.dir}/${out.dir}/fb-translit.html" todir= "${findbugs.out.dir}" />
<ant dir= "${icu4j.charset.dir}" inheritAll= "false" target= "findbugs" />
<copy file= "${icu4j.charset.dir}/${out.dir}/fb-charset.html" todir= "${findbugs.out.dir}" />
2011-12-29 18:13:00 +00:00
2013-04-19 23:31:32 +00:00
<ant dir= "${icu4j.localespi.dir}" inheritAll= "false" target= "findbugs" />
<copy file= "${icu4j.localespi.dir}/${out.dir}/fb-localespi.html" todir= "${findbugs.out.dir}" />
2011-12-29 18:13:00 +00:00
</target>
2009-06-16 05:52:23 +00:00
<!-- compile targets -->
<target name= "core" description= "Build core classes" >
<ant dir= "${icu4j.core.dir}" inheritAll= "false" />
</target>
2007-04-20 21:02:49 +00:00
2009-07-07 19:24:00 +00:00
<target name= "collate" depends= "core" description= "Build collation classes" >
<ant dir= "${icu4j.collate.dir}" inheritAll= "false" />
</target>
2009-06-16 05:52:23 +00:00
<target name= "charset" depends= "core" description= "Build charset classes" >
<ant dir= "${icu4j.charset.dir}" inheritAll= "false" />
</target>
2007-08-22 08:28:38 +00:00
2009-12-11 21:59:27 +00:00
<target name= "currdata" depends= "core" description= "Build currency data classes" >
<ant dir= "${icu4j.currdata.dir}" inheritAll= "false" />
</target>
2009-11-30 21:53:28 +00:00
<target name= "langdata" depends= "core" description= "Build language data classes" >
<ant dir= "${icu4j.langdata.dir}" inheritAll= "false" />
</target>
2009-06-16 15:47:21 +00:00
<target name= "localespi" if= "is.java6.plus" description= "Build Locale SPI classes" >
<antcall target= "_build-localespi" />
</target>
2010-01-20 18:50:51 +00:00
<target name= "_build-localespi" depends= "core, collate, currdata, langdata, regiondata" >
2009-06-16 05:52:23 +00:00
<ant dir= "${icu4j.localespi.dir}" inheritAll= "false" />
</target>
2007-08-22 08:28:38 +00:00
2009-11-30 21:53:28 +00:00
<target name= "regiondata" depends= "core" description= "Build region data classes" >
<ant dir= "${icu4j.regiondata.dir}" inheritAll= "false" />
</target>
2009-07-09 23:49:42 +00:00
<target name= "translit" depends= "core" description= "Build translit classes" >
<ant dir= "${icu4j.translit.dir}" inheritAll= "false" />
</target>
2009-06-16 05:52:23 +00:00
<target name= "test-framework" depends= "core" description= "Build test framework classes" >
<ant dir= "${icu4j.test-framework.dir}" inheritAll= "false" />
</target>
2007-08-22 08:28:38 +00:00
2009-06-16 05:52:23 +00:00
<target name= "core-tests" depends= "core, test-framework" description= "Build core tests" >
<ant dir= "${icu4j.core-tests.dir}" inheritAll= "false" />
</target>
2007-04-20 21:02:49 +00:00
2009-07-07 19:24:00 +00:00
<target name= "collate-tests" depends= "collate, test-framework" description= "Build core tests" >
<ant dir= "${icu4j.collate-tests.dir}" inheritAll= "false" />
</target>
2009-06-16 05:52:23 +00:00
<target name= "charset-tests" depends= "charset, test-framework" description= "Build charset tests" >
<ant dir= "${icu4j.charset-tests.dir}" inheritAll= "false" />
</target>
2007-04-20 21:02:49 +00:00
2009-06-16 15:47:21 +00:00
<target name= "localespi-tests" if= "is.java6.plus" description= "Build Locale SPI tests" >
<antcall target= "_build-localespi-tests" />
</target>
<target name= "_build-localespi-tests" depends= "localespi, test-framework" >
2009-06-16 05:52:23 +00:00
<ant dir= "${icu4j.localespi-tests.dir}" inheritAll= "false" />
</target>
2007-04-20 21:02:49 +00:00
2009-11-30 21:53:28 +00:00
<target name= "packaging-tests" depends= "test-framework" description= "Build packaging tests" >
<ant dir= "${icu4j.packaging-tests.dir}" inheritAll= "false" />
</target>
2009-07-09 23:49:42 +00:00
<target name= "translit-tests" depends= "translit, test-framework" description= "Build translit tests" >
<ant dir= "${icu4j.translit-tests.dir}" inheritAll= "false" />
</target>
2013-11-06 22:09:21 +00:00
<target name= "testall" depends= "test-framework" description= "Build top level TestAll" >
<ant dir= "${icu4j.testall.dir}" inheritAll= "false" />
</target>
2009-07-09 23:49:42 +00:00
<target name= "demos" depends= "core, charset, translit" description= "Build demo classes" >
2009-06-16 05:52:23 +00:00
<ant dir= "${icu4j.demos.dir}" inheritAll= "false" />
</target>
2007-04-20 21:02:49 +00:00
2011-10-17 21:10:07 +00:00
<target name= "samples" depends= "core, charset, collate, translit" description= "Build sample classes" >
<ant dir= "${icu4j.samples.dir}" inheritAll= "false" />
</target>
2009-06-16 05:52:23 +00:00
<target name= "build-tools" description= "Build build-tool classes" >
<ant dir= "${icu4j.build-tools.dir}" inheritAll= "false" />
</target>
2007-04-20 21:02:49 +00:00
2010-03-10 07:52:28 +00:00
<target name= "tools" depends= "core, core-tests, collate, translit, translit-tests" description= "Build tool classes" >
2009-06-16 05:52:23 +00:00
<ant dir= "${icu4j.tools.dir}" inheritAll= "false" />
</target>
2014-02-07 15:20:17 +00:00
<target name= "perf-tests" if= "is.java6.plus" depends= "core, charset, collate, tools" description= "Build performance test classes" >
<ant dir= "${icu4j.perf-tests.dir}" inheritAll= "false" />
2011-07-08 20:46:34 +00:00
</target>
2007-04-20 21:02:49 +00:00
2009-06-16 05:52:23 +00:00
<!-- doc targets -->
2012-08-29 14:02:39 +00:00
<target name= "docs" depends= "info, build-tools, _checkJCite, _docsWithJCite, _docsWithoutJCite" description= "Build API documents" />
2011-10-17 21:10:07 +00:00
<target name= "_checkJCite" if= "env.JCITE_DIR" >
<fileset dir= "${env.JCITE_DIR}" id= "jcite.files" >
<include name= "build/*.jar" />
<include name= "lib/*.jar" />
</fileset>
<pathconvert property= "jcite.libs" refid= "jcite.files" />
<dirset dir= "${basedir}" id= "jcite.src.dirs" >
<include name= "samples/src" />
<include name= "demos/src" />
<include name= "main/tests/*/src" />
</dirset>
<pathconvert property= "jcite.addl.src" refid= "jcite.src.dirs" />
</target>
2012-08-29 14:02:39 +00:00
<target name= "_docsStyleSheet" >
<condition property= "docs.style.sheet" value= "stylesheet7.css" else= "stylesheet.css" >
<isset property= "is.java7.plus" />
</condition>
</target>
2015-09-23 13:25:42 +00:00
<!-- doclint in V8 is too strict to handle existing html in javadoc -->
<target name= "_setLintV8" unless= "is.pre.java8" >
<property name= "lintParam" value= "-Xdoclint:-html" />
</target>
<target name= "_setLintPreV8" if= "is.pre.java8" >
<property name= "lintParam" value= "" />
</target>
<target name= "_docsWithJCite" depends= "_docsStyleSheet, _setLintV8, _setLintPreV8" if= "jcite.libs" >
2011-10-17 21:10:07 +00:00
<echo message= "JCite library path: ${jcite.libs}" />
<echo message= "JCite additional source path: ${jcite.addl.src}" />
2012-08-29 14:02:39 +00:00
<echo message= "Custom stylesheet: ${docs.style.sheet}" />
2011-10-17 21:10:07 +00:00
<javadoc
destdir="${doc.dir}"
nodeprecatedlist="true"
2012-08-29 14:02:39 +00:00
windowtitle="${icu4j.api.doc.window.title}"
2012-03-02 05:12:11 +00:00
doctitle="${icu4j.api.doc.title}"
2012-08-29 14:02:39 +00:00
header="${icu4j.api.doc.header}"
2011-10-17 21:10:07 +00:00
encoding="${java.src.encoding}"
docencoding="UTF-8"
2013-04-11 17:52:38 +00:00
charset="UTF-8"
2011-10-17 21:10:07 +00:00
bottom="< font size=-1> Copyright (c) ${current.year} IBM Corporation and others.< /font> "
2015-09-23 13:25:42 +00:00
additionalparam="${lintParam} -breakiterator -use -tagletpath ${icu4j.build-tools.jar}${path.separator}${jcite.libs} -taglet com.ibm.icu.dev.tool.docs.ICUTaglet -taglet ch.arrenbrecht.jcite.JCiteTaglet -J-Djcitesourcepath=${jcite.addl.src} -J-Dfile.encoding=UTF-8"
2012-08-29 14:02:39 +00:00
link="${icu4j.api.doc.jdk.link}"
2011-10-17 21:10:07 +00:00
source="1.5"
2012-08-29 14:02:39 +00:00
stylesheetfile="${docs.style.sheet}">
2011-10-17 21:10:07 +00:00
<packageset dir= "${icu4j.core.dir}/src" >
<include name= "com/ibm/icu/lang/**" />
<include name= "com/ibm/icu/math/**" />
<include name= "com/ibm/icu/text/**" />
<include name= "com/ibm/icu/util/**" />
</packageset>
<packageset dir= "${icu4j.collate.dir}/src" >
<include name= "com/ibm/icu/text/**" />
</packageset>
<packageset dir= "${icu4j.translit.dir}/src" >
<include name= "com/ibm/icu/text/**" />
</packageset>
<packageset dir= "${icu4j.charset.dir}/src" >
<include name= "com/ibm/icu/charset/**" />
</packageset>
</javadoc>
</target>
<target name= "_docsWithoutJCite" unless= "jcite.libs" >
2009-06-16 05:52:23 +00:00
<javadoc
destdir="${doc.dir}"
nodeprecatedlist="true"
2012-08-29 14:02:39 +00:00
windowtitle="${icu4j.api.doc.window.title}"
2012-03-02 05:12:11 +00:00
doctitle="${icu4j.api.doc.title}"
2012-08-29 14:02:39 +00:00
header="${icu4j.api.doc.header}"
2012-03-02 05:12:11 +00:00
encoding="${java.src.encoding}"
docencoding="UTF-8"
2013-04-11 17:52:38 +00:00
charset="UTF-8"
2012-03-02 05:12:11 +00:00
bottom="< font size=-1> Copyright (c) ${current.year} IBM Corporation and others.< /font> "
additionalparam="-breakiterator -use -tagletpath ${icu4j.build-tools.jar} -taglet com.ibm.icu.dev.tool.docs.ICUTaglet"
2012-08-29 14:02:39 +00:00
link="${icu4j.api.doc.jdk.link}"
2012-03-02 05:12:11 +00:00
source="1.5">
2009-06-16 05:52:23 +00:00
<packageset dir= "${icu4j.core.dir}/src" >
<include name= "com/ibm/icu/lang/**" />
<include name= "com/ibm/icu/math/**" />
<include name= "com/ibm/icu/text/**" />
<include name= "com/ibm/icu/util/**" />
</packageset>
2009-07-10 15:05:24 +00:00
<packageset dir= "${icu4j.collate.dir}/src" >
<include name= "com/ibm/icu/text/**" />
2009-06-16 05:52:23 +00:00
</packageset>
2009-07-09 23:49:42 +00:00
<packageset dir= "${icu4j.translit.dir}/src" >
<include name= "com/ibm/icu/text/**" />
</packageset>
2009-07-10 15:05:24 +00:00
<packageset dir= "${icu4j.charset.dir}/src" >
<include name= "com/ibm/icu/charset/**" />
</packageset>
2009-06-16 05:52:23 +00:00
</javadoc>
</target>
2007-04-20 21:02:49 +00:00
2013-10-24 17:51:49 +00:00
<!-- JaCoCo code coverage target -->
2013-11-06 22:09:21 +00:00
<taskdef uri= "antlib:org.jacoco.ant" resource= "org/jacoco/ant/antlib.xml" onerror= "ignore" >
2013-10-24 17:51:49 +00:00
<classpath path= "${env.JACOCO_DIR}/lib/jacocoant.jar" />
</taskdef>
<target name= "coverageJaCoCo" depends= "jar, tests" description= "Run the ICU4J unit tests and generate code coverage report" >
<property name= "jacoco.out.dir" value= "${out.dir}/jacoco" />
<property name= "jacoco.exec.data.file" value= "${jacoco.out.dir}/jacoco.exec" />
<property name= "jacoco.report.html.zip" value= "${jacoco.out.dir}/report_html.zip" />
2013-10-24 22:21:00 +00:00
<property name= "jacoco.report.xml" value= "${jacoco.out.dir}/report.xml" />
2013-10-24 17:51:49 +00:00
<property name= "jacoco.report.csv" value= "${jacoco.out.dir}/report.csv" />
<delete dir= "${jacoco.out.dir}" />
<mkdir dir= "${jacoco.out.dir}" />
<jacoco:coverage destfile= "${jacoco.exec.data.file}" >
<java classname= "com.ibm.icu.dev.test.TestAll" fork= "yes" failonerror= "true" >
<jvmarg line= "${jvm_options} -ea -Djava.awt.headless=true" />
<classpath >
<pathelement location= "${icu4j.jar.file}" />
<pathelement location= "${icu4j-charset.jar.file}" />
<pathelement location= "${icu4j.test-framework.jar}" />
<pathelement location= "${icu4j.core-tests.jar}" />
<pathelement location= "${icu4j.collate-tests.jar}" />
<pathelement location= "${icu4j.charset-tests.jar}" />
<pathelement location= "${icu4j.translit-tests.jar}" />
2013-11-06 22:09:21 +00:00
<pathelement location= "${icu4j.testall.jar}" />
2013-10-24 17:51:49 +00:00
</classpath>
</java>
</jacoco:coverage>
<jacoco:report >
<executiondata >
<file file= "${jacoco.exec.data.file}" />
</executiondata>
<structure name= "ICU4J Project" >
<classfiles >
<fileset dir= "." >
<include name= "${icu4j.jar.file}" />
<include name= "${icu4j-charset.jar.file}" />
</fileset>
</classfiles>
<sourcefiles encoding= "UTF-8" >
<fileset dir= "${icu4j.core.dir}/src" />
<fileset dir= "${icu4j.collate.dir}/src" />
<fileset dir= "${icu4j.currdata.dir}/src" />
<fileset dir= "${icu4j.langdata.dir}/src" />
<fileset dir= "${icu4j.regiondata.dir}/src" />
<fileset dir= "${icu4j.translit.dir}/src" />
<fileset dir= "${icu4j.charset.dir}/src" />
</sourcefiles>
</structure>
<html destfile= "${jacoco.report.html.zip}" />
2013-10-24 22:21:00 +00:00
<xml destfile= "${jacoco.report.xml}" />
2013-10-24 17:51:49 +00:00
<csv destfile= "${jacoco.report.csv}" />
</jacoco:report>
</target>
<!-- Clover code coverage target -->
2009-06-18 05:39:11 +00:00
<property name= "clover.out.dir" value= "${out.dir}/clover" />
<property name= "clover.jar" location= "${env.CLOVER_DIR}/clover.jar" />
<taskdef resource= "cloverlib.xml" classpath= "${clover.jar}" onerror= "ignore" />
<target name= "codeCoverage" depends= "clean" description= "Generate code coverage report with clover" >
<!-- Set up clover -->
<mkdir dir= "${clover.out.dir}" />
<clover-setup initstring= "${clover.out.dir}/clover.db" >
<files >
<exclude name= "**/dev/**/*.java" />
</files>
<methodContext name= "API" regexp= "(.* )?public .*" />
</clover-setup>
<!-- Build components with clover instrumentation -->
<ant dir= "${icu4j.core.dir}" inheritAll= "false" inheritRefs= "true" >
<property name= "build.compiler" value= "${build.compiler}" />
</ant>
2009-07-07 19:24:00 +00:00
<ant dir= "${icu4j.collate.dir}" inheritAll= "false" inheritRefs= "true" >
<property name= "build.compiler" value= "${build.compiler}" />
</ant>
2009-06-18 05:39:11 +00:00
<ant dir= "${icu4j.charset.dir}" inheritAll= "false" inheritRefs= "true" >
<property name= "build.compiler" value= "${build.compiler}" />
</ant>
2009-12-11 21:59:27 +00:00
<ant dir= "${icu4j.currdata.dir}" inheritAll= "false" inheritRefs= "true" >
<property name= "build.compiler" value= "${build.compiler}" />
</ant>
2009-11-30 21:53:28 +00:00
<ant dir= "${icu4j.langdata.dir}" inheritAll= "false" inheritRefs= "true" >
<property name= "build.compiler" value= "${build.compiler}" />
</ant>
<ant dir= "${icu4j.regiondata.dir}" inheritAll= "false" inheritRefs= "true" >
<property name= "build.compiler" value= "${build.compiler}" />
</ant>
2009-07-09 23:49:42 +00:00
<ant dir= "${icu4j.translit.dir}" inheritAll= "false" inheritRefs= "true" >
<property name= "build.compiler" value= "${build.compiler}" />
</ant>
2009-06-18 05:39:11 +00:00
<ant dir= "${icu4j.test-framework.dir}" inheritAll= "false" inheritRefs= "true" >
<property name= "build.compiler" value= "${build.compiler}" />
</ant>
<ant dir= "${icu4j.core-tests.dir}" inheritAll= "false" inheritRefs= "true" >
<property name= "build.compiler" value= "${build.compiler}" />
</ant>
2009-07-08 21:00:42 +00:00
<ant dir= "${icu4j.collate-tests.dir}" inheritAll= "false" inheritRefs= "true" >
<property name= "build.compiler" value= "${build.compiler}" />
</ant>
2009-06-18 05:39:11 +00:00
<ant dir= "${icu4j.charset-tests.dir}" inheritAll= "false" inheritRefs= "true" >
<property name= "build.compiler" value= "${build.compiler}" />
</ant>
2009-07-09 23:49:42 +00:00
<ant dir= "${icu4j.translit-tests.dir}" inheritAll= "false" inheritRefs= "true" >
<property name= "build.compiler" value= "${build.compiler}" />
</ant>
2013-11-06 22:09:21 +00:00
<ant dir= "${icu4j.testall.dir}" inheritAll= "false" inheritRefs= "true" >
<property name= "build.compiler" value= "${build.compiler}" />
</ant>
2009-06-18 05:39:11 +00:00
<!-- Run the test suites -->
<java classname= "com.ibm.icu.dev.test.TestAll" fork= "yes" failonerror= "true" >
<classpath >
2013-10-24 22:05:52 +00:00
<pathelement location= "${icu4j.core.jar}" />
<pathelement location= "${icu4j.collate.jar}" />
<pathelement location= "${icu4j.charset.jar}" />
<pathelement location= "${icu4j.currdata.jar}" />
<pathelement location= "${icu4j.langdata.jar}" />
<pathelement location= "${icu4j.regiondata.jar}" />
<pathelement location= "${icu4j.translit.jar}" />
<pathelement location= "${icu4j.test-framework.jar}" />
<pathelement location= "${icu4j.core-tests.jar}" />
<pathelement location= "${icu4j.collate-tests.jar}" />
<pathelement location= "${icu4j.charset-tests.jar}" />
<pathelement location= "${icu4j.translit-tests.jar}" />
2013-11-06 22:09:21 +00:00
<pathelement location= "${icu4j.testall.jar}" />
2013-10-24 22:05:52 +00:00
<pathelement location= "${clover.jar}" />
2009-06-18 05:39:11 +00:00
</classpath>
</java>
<!-- Generate HTML coverage report -->
2011-10-06 20:07:21 +00:00
<!-- <clover - html - report outdir="${clover.out.dir}/html" title="ICU4J Code Coverage"/> -->
<clover-report >
<current outfile= "${clover.out.dir}/html" title= "ICU4J Code Coverage" >
<format type= "html" filter= "assert" />
</current>
</clover-report>
2009-06-18 05:39:11 +00:00
</target>
2007-04-20 21:02:49 +00:00
2009-06-16 05:52:23 +00:00
<!-- Release management targets -->
2009-06-16 15:47:21 +00:00
<target name= "checktags" depends= "info, build-tools" description= "Check API tags before release" >
2010-11-08 15:11:14 +00:00
<javadoc source= "1.5"
encoding="${java.src.encoding}">
2009-06-16 05:52:23 +00:00
<packageset dir= "${icu4j.core.dir}/src" >
<include name= "com/ibm/icu/lang/**" />
<include name= "com/ibm/icu/math/**" />
<include name= "com/ibm/icu/text/**" />
<include name= "com/ibm/icu/util/**" />
</packageset>
2009-07-07 19:24:00 +00:00
<packageset dir= "${icu4j.collate.dir}/src" >
<include name= "com/ibm/icu/**" />
</packageset>
2009-06-16 05:52:23 +00:00
<packageset dir= "${icu4j.charset.dir}/src" >
<include name= "com/ibm/icu/charset/**" />
</packageset>
<doclet name= "com.ibm.icu.dev.tool.docs.CheckTags" path= "${icu4j.build-tools.jar}" />
</javadoc>
</target>
2007-04-20 21:02:49 +00:00
2009-06-16 15:47:21 +00:00
<target name= "gatherapi" depends= "info, build-tools" description= "Run API database generator tool" >
2009-06-16 05:52:23 +00:00
<mkdir dir= "${out.dir}" />
2010-11-08 15:11:14 +00:00
<javadoc source= "1.5"
encoding="${java.src.encoding}">
2009-06-16 05:52:23 +00:00
<packageset dir= "${icu4j.core.dir}/src" >
<include name= "com/ibm/icu/lang/**" />
<include name= "com/ibm/icu/math/**" />
<include name= "com/ibm/icu/text/**" />
<include name= "com/ibm/icu/util/**" />
</packageset>
2009-07-07 19:24:00 +00:00
<packageset dir= "${icu4j.collate.dir}/src" >
2010-01-20 23:51:57 +00:00
<include name= "com/ibm/icu/text/**" />
<include name= "com/ibm/icu/util/**" />
2009-07-07 19:24:00 +00:00
</packageset>
2009-06-16 05:52:23 +00:00
<packageset dir= "${icu4j.charset.dir}/src" >
<include name= "com/ibm/icu/charset/**" />
</packageset>
2009-07-09 23:49:42 +00:00
<packageset dir= "${icu4j.translit.dir}/src" >
2010-01-20 23:51:57 +00:00
<include name= "com/ibm/icu/text/**" />
2009-07-09 23:49:42 +00:00
</packageset>
2009-06-16 05:52:23 +00:00
<doclet name= "com.ibm.icu.dev.tool.docs.GatherAPIData" path= "${icu4j.build-tools.jar}" >
2009-07-22 20:07:54 +00:00
<param name= "-name" value= "ICU4J ${icu4j.impl.version}" />
2013-11-06 20:52:01 +00:00
<param name= "-output" value= "${out.dir}/icu4j${api.report.version}.api3" />
2009-06-16 05:52:23 +00:00
<param name= "-internal" />
2010-11-04 20:31:27 +00:00
<param name= "-version" />
2009-06-16 05:52:23 +00:00
<param name= "-gzip" />
</doclet>
</javadoc>
</target>
2007-04-20 21:02:49 +00:00
2009-06-16 15:47:21 +00:00
<target name= "apireport" depends= "info, gatherapi" description= "Run API report generator tool" >
2010-04-15 21:40:57 +00:00
<java classname= "com.ibm.icu.dev.tool.docs.ReportAPI"
classpath="${icu4j.build-tools.jar}"
failonerror="true">
<arg value= "-old:" />
2013-11-06 20:52:01 +00:00
<arg value= "${icu4j.build-tools.dir}/icu4j${api.report.prev.version}.api3.gz" />
2010-04-15 21:40:57 +00:00
<arg value= "-new:" />
2013-11-06 20:52:01 +00:00
<arg value= "${out.dir}/icu4j${api.report.version}.api3.gz" />
2010-04-15 21:40:57 +00:00
<arg value= "-html" />
<arg value= "-out:" />
<arg value= "${out.dir}/icu4j_compare_${api.report.prev.version}_${api.report.version}.html" />
</java>
</target>
<target name= "gatherapiOld" depends= "info, build-tools" description= "Run API database generator tool (Pre Java 5 style)" >
<mkdir dir= "${out.dir}" />
2010-11-08 15:11:14 +00:00
<javadoc source= "1.5"
encoding="${java.src.encoding}">
2010-04-15 21:40:57 +00:00
<packageset dir= "${icu4j.core.dir}/src" >
<include name= "com/ibm/icu/lang/**" />
<include name= "com/ibm/icu/math/**" />
<include name= "com/ibm/icu/text/**" />
<include name= "com/ibm/icu/util/**" />
</packageset>
<packageset dir= "${icu4j.collate.dir}/src" >
<include name= "com/ibm/icu/text/**" />
<include name= "com/ibm/icu/util/**" />
</packageset>
<packageset dir= "${icu4j.charset.dir}/src" >
<include name= "com/ibm/icu/charset/**" />
</packageset>
<packageset dir= "${icu4j.translit.dir}/src" >
<include name= "com/ibm/icu/text/**" />
</packageset>
<doclet name= "com.ibm.icu.dev.tool.docs.GatherAPIDataOld" path= "${icu4j.build-tools.jar}" >
<param name= "-name" value= "ICU4J ${icu4j.impl.version}" />
<param name= "-output" value= "${out.dir}/icu4j${api.report.version}.api" />
<param name= "-internal" />
<param name= "-gzip" />
</doclet>
</javadoc>
</target>
<target name= "apireportOld" depends= "info, gatherapiOld" description= "Run API report generator tool (Pre Java 5 Style)" >
2009-06-16 05:52:23 +00:00
<java classname= "com.ibm.icu.dev.tool.docs.ReportAPI"
classpath="${icu4j.build-tools.jar}"
failonerror="true">
<arg value= "-old:" />
<arg value= "${icu4j.build-tools.dir}/icu4j${api.report.prev.version}.api.gz" />
<arg value= "-new:" />
<arg value= "${out.dir}/icu4j${api.report.version}.api.gz" />
<arg value= "-html" />
<arg value= "-internal" />
<arg value= "-out:" />
<arg value= "${out.dir}/icu4j_compare_${api.report.prev.version}_${api.report.version}.html" />
</java>
</target>
2007-04-20 21:02:49 +00:00
2014-05-22 20:05:59 +00:00
<target name= "checkDeprecated" depends= "info, build-tools, gatherapi, main"
description="Check consistency between javadoc @deprecated and @Deprecated annotation">
<java classname= "com.ibm.icu.dev.tool.docs.DeprecatedAPIChecker"
failonerror="true">
<arg value= "${out.dir}/icu4j${api.report.version}.api3.gz" />
<classpath >
<pathelement location= "${icu4j.build-tools.jar}" />
<pathelement location= "${icu4j.core.jar}" />
<pathelement location= "${icu4j.collate.jar}" />
<pathelement location= "${icu4j.charset.jar}" />
<pathelement location= "${icu4j.currdata.jar}" />
<pathelement location= "${icu4j.langdata.jar}" />
<pathelement location= "${icu4j.regiondata.jar}" />
<pathelement location= "${icu4j.translit.jar}" />
</classpath>
</java>
</target>
2010-11-04 20:31:27 +00:00
<target name= "draftAPIs" depends= "info, gatherapi" description= "Run API collector tool and generate draft API report" >
<java classname= "com.ibm.icu.dev.tool.docs.CollectAPI"
classpath="${icu4j.build-tools.jar}"
failonerror="true">
<arg value= "-f" />
<arg value= "Draft" />
<arg value= "-o" />
<arg value= "${out.dir}/draftAPIs.html" />
2013-11-06 20:52:01 +00:00
<arg value= "${out.dir}/icu4j${api.report.version}.api3.gz" />
2010-11-04 20:31:27 +00:00
</java>
</target>
2009-06-16 05:52:23 +00:00
<target name= "swatDeprecated" depends= "build-tools" description= "Convert @deprecated @draft tags to @provisional" >
<antcall target= "_runSwatDeprecated" >
<param name= "swat.deprecated.opt" value= "-dep" />
</antcall>
</target>
2007-04-20 21:02:49 +00:00
2009-06-16 05:52:23 +00:00
<target name= "swatProvisional" depends= "build-tools" description= "Convert @provisional tags to @deprecated @draft" >
<antcall target= "_runSwatDeprecated" >
<param name= "swat.deprecated.opt" value= "-prov" />
</antcall>
</target>
2007-04-20 21:02:49 +00:00
2009-06-16 05:52:23 +00:00
<target name= "_runSwatDeprecated" >
<java classname= "com.ibm.icu.dev.tool.docs.SwatDeprecated"
classpath="${icu4j.build-tools.jar}"
failonerror="true">
<arg value= "${swat.deprecated.opt}" />
<arg value= "-src" />
<arg value= "${icu4j.core.dir}/src" />
<arg value= "-dst" />
<arg value= "${icu4j.core.dir}/src" />
<arg value= "-overwrite" />
<arg value= "-verbose" />
</java>
<java classname= "com.ibm.icu.dev.tool.docs.SwatDeprecated"
classpath="${icu4j.build-tools.jar}"
failonerror="true">
<arg value= "${swat.deprecated.opt}" />
<arg value= "-src" />
<arg value= "${icu4j.charset.dir}/src" />
<arg value= "-dst" />
<arg value= "${icu4j.charset.dir}/src" />
<arg value= "-overwrite" />
<arg value= "-verbose" />
</java>
</target>
2008-07-14 21:58:53 +00:00
2011-06-13 19:13:24 +00:00
<target name= "serialTestData" depends= "main, tests" >
<property name= "serial.test.data.dir" value= "${out.dir}/serialTestData" />
<delete dir= "${serial.test.data.dir}" />
<mkdir dir= "${serial.test.data.dir}" />
<java classname= "com.ibm.icu.dev.test.serializable.SerializableWriter" fork= "yes" failonerror= "true" >
<arg line= "${serial.test.data.dir}" />
<classpath >
2013-10-24 22:05:52 +00:00
<pathelement location= "${icu4j.core.jar}" />
<pathelement location= "${icu4j.collate.jar}" />
<pathelement location= "${icu4j.charset.jar}" />
<pathelement location= "${icu4j.currdata.jar}" />
<pathelement location= "${icu4j.langdata.jar}" />
<pathelement location= "${icu4j.regiondata.jar}" />
<pathelement location= "${icu4j.translit.jar}" />
<pathelement location= "${icu4j.test-framework.jar}" />
<pathelement location= "${icu4j.core-tests.jar}" />
2011-06-13 19:13:24 +00:00
</classpath>
</java>
<echo message= "Note: The serialization compatibility test data files were" />
<echo message= "created in ${serial.test.data.dir}. Once you confirm" />
<echo message= "the test runs clean, you should copy the data file directory to" />
<echo message= "main/tests/core/src/com/ibm/icu/dev/test/serializable/data." />
</target>
2009-06-16 05:52:23 +00:00
<!-- Special packaging targets -->
2009-06-16 15:47:21 +00:00
<target name= "translitIMEJar" depends= "info" description= "Build transliterator IME 'icutransime.jar' jar file" >
2009-06-16 05:52:23 +00:00
<property name= "translit.ime.out.dir" value= "${out.dir}/translit_ime" />
<mkdir dir= "${translit.ime.out.dir}/bin" />
<javac destdir= "${translit.ime.out.dir}/bin"
source="${javac.source}"
target="${javac.target}"
2010-11-08 15:11:14 +00:00
encoding="${java.src.encoding}"
2009-06-16 05:52:23 +00:00
debug="on" deprecation="off">
<src path= "${icu4j.core.dir}/src" />
2009-07-09 23:49:42 +00:00
<src path= "${icu4j.translit.dir}/src" />
2009-06-16 05:52:23 +00:00
<src path= "${icu4j.tools.dir}/src" />
<include name= "com/ibm/icu/dev/tool/ime/translit/*.java" />
</javac>
<copy file= "${icu4j.tools.dir}/src/com/ibm/icu/dev/tool/ime/translit/Transliterator.properties"
todir="${translit.ime.out.dir}/bin/com/ibm/icu/dev/tool/ime/translit"/>
<mkdir dir= "${translit.ime.out.dir}/lib" />
<jar jarfile= "${translit.ime.out.dir}/lib/icutransime.jar"
compress="true"
basedir="${translit.ime.out.dir}/bin"
includes="com/ibm/icu/dev/tool/ime/translit/**/*"
manifest="${icu4j.tools.dir}/src/com/ibm/icu/dev/tool/ime/translit/manifest.stub">
<metainf dir= "${icu4j.tools.dir}/src/com/ibm/icu/dev/tool/ime/translit" includes= "services/*" />
</jar>
</target>
2008-07-14 21:58:53 +00:00
2009-06-16 15:47:21 +00:00
<target name= "indicIMEJar" depends= "info" description= "Build indic IME 'icuindicime.jar' jar file" >
2009-06-16 05:52:23 +00:00
<property name= "indic.ime.out.dir" value= "${out.dir}/indic_ime" />
<mkdir dir= "${indic.ime.out.dir}/bin" />
<javac destdir= "${indic.ime.out.dir}/bin"
source="${javac.source}"
target="${javac.target}"
2010-11-08 15:11:14 +00:00
encoding="${java.src.encoding}"
2009-06-16 05:52:23 +00:00
debug="on" deprecation="off">
<src path= "${icu4j.core.dir}/src" />
<src path= "${icu4j.tools.dir}/src" />
<include name= "com/ibm/icu/dev/tool/ime/indic/*.java" />
</javac>
<copy file= "${icu4j.tools.dir}/src/com/ibm/icu/dev/tool/ime/indic/DisplayNames.properties"
todir="${indic.ime.out.dir}/bin/com/ibm/icu/dev/tool/ime/indic"/>
<mkdir dir= "${indic.ime.out.dir}/lib" />
<jar jarfile= "${indic.ime.out.dir}/lib/icuindicime.jar"
compress="true"
basedir="${indic.ime.out.dir}/bin"
includes="com/ibm/icu/dev/tool/ime/indic/**/*"
manifest="${icu4j.tools.dir}/src/com/ibm/icu/dev/tool/ime/indic/manifest.stub">
<metainf dir= "${icu4j.tools.dir}/src/com/ibm/icu/dev/tool/ime/indic" includes= "services/*" />
</jar>
</target>
2007-04-20 21:02:49 +00:00
2012-09-14 03:57:54 +00:00
<target name= "cldrUtil" depends= "icu4jJar" description= "Build Utilities for CLDR tooling" >
2009-06-16 05:52:23 +00:00
<mkdir dir= "${cldr.util.out.dir}/bin" />
<javac destdir= "${cldr.util.out.dir}/bin"
source="${javac.source}"
target="${javac.target}"
2010-11-08 15:11:14 +00:00
encoding="${java.src.encoding}"
2012-09-14 03:57:54 +00:00
debug="on" deprecation="off"
classpath="${icu4j.jar.file}">
2009-06-16 05:52:23 +00:00
2012-09-14 03:57:54 +00:00
<src path= "${icu4j.tools.dir}/src" />
2009-07-09 23:49:42 +00:00
<src path= "${icu4j.translit-tests.dir}/src" />
2009-06-16 05:52:23 +00:00
<src path= "${icu4j.test-framework.dir}/src" />
<include name= "com/ibm/icu/dev/test/TestFmwk.java" />
2012-09-14 03:57:54 +00:00
<include name= "com/ibm/icu/dev/util/*.java" />
2009-06-16 05:52:23 +00:00
<include name= "com/ibm/icu/dev/tool/UOption.java" />
</javac>
<mkdir dir= "${cldr.util.out.dir}/lib" />
<jar jarfile= "${cldr.util.out.dir}/lib/utilities.jar"
compress="true"
basedir="${cldr.util.out.dir}/bin">
2012-09-14 03:57:54 +00:00
<include name= "com/ibm/icu/dev/test/*.class" />
<include name= "com/ibm/icu/dev/util/*.class" />
2009-06-16 05:52:23 +00:00
<include name= "com/ibm/icu/dev/tool/UOption*.class" />
</jar>
</target>
2007-04-20 21:02:49 +00:00
2013-11-06 22:09:21 +00:00
<target name= "releaseCLDR" depends= "icu4jJar,icu4jSrcJar,cldrUtil" description= "Build release files for CLDR tooling" >
<mkdir dir= "${cldr.release.dir}" />
<!-- icu4j.jar -->
<copy file= "${icu4j.jar.file}" todir= "${cldr.release.dir}" />
<!-- icu4j - src.jar -->
<copy file= "${icu4j-src.jar.file}" todir= "${cldr.release.dir}" />
<!-- utilities.jar -->
<copy file= "${cldr.util.out.dir}/lib/utilities.jar" todir= "${cldr.release.dir}" />
<!-- utilities - src.jar -->
2014-02-24 15:30:11 +00:00
<jar jarfile= "${cldr.release.dir}/utilities-src.jar" compress= "true" >
2012-09-14 03:57:54 +00:00
<fileset dir= "${icu4j.test-framework.dir}/${src.dir}" >
2014-02-24 15:30:11 +00:00
<include name= "com/ibm/icu/dev/test/TestFmwk.java" />
<include name= "com/ibm/icu/dev/test/*Log*.java" />
<include name= "com/ibm/icu/dev/test/TestUtil.java" />
<include name= "com/ibm/icu/dev/test/UTF16Util.java" />
2012-09-14 03:57:54 +00:00
</fileset>
<fileset dir= "${icu4j.test-framework.dir}/${src.dir}" includes= "com/ibm/icu/dev/util/*.java" />
<fileset dir= "${icu4j.translit-tests.dir}/${src.dir}" includes= "com/ibm/icu/dev/util/*.java" />
<fileset dir= "${icu4j.tools.dir}/${src.dir}" includes= "com/ibm/icu/dev/tool/UOption.java" />
</jar>
2013-11-06 22:09:21 +00:00
</target>
2012-09-14 03:57:54 +00:00
2009-06-16 15:47:21 +00:00
<target name= "xliff" description= "Build xliff converter tool" >
<property name= "xliff.out.dir" value= "${out.dir}/xliff" />
<mkdir dir= "${xliff.out.dir}/bin" />
<javac destdir= "${xliff.out.dir}/bin"
source="1.3"
target="1.3"
2010-11-08 15:11:14 +00:00
encoding="${java.src.encoding}"
2009-06-16 15:47:21 +00:00
debug="on" deprecation="off">
<src path= "${icu4j.tools.dir}/src" />
<include name= "com/ibm/icu/dev/tool/localeconverter/CalculateCRC32.java" />
<include name= "com/ibm/icu/dev/tool/localeconverter/XLIFF2ICUConverter.java" />
<include name= "com/ibm/icu/dev/tool/UOption.java" />
</javac>
<mkdir dir= "${xliff.out.dir}/lib" />
<jar jarfile= "${xliff.out.dir}/lib/xliff-src.jar"
compress="true"
basedir="${icu4j.tools.dir}/src">
<include name= "com/ibm/icu/dev/tool/localeconverter/CalculateCRC32.java" />
<include name= "com/ibm/icu/dev/tool/localeconverter/XLIFF2ICUConverter.java" />
<include name= "com/ibm/icu/dev/tool/UOption.java" />
</jar>
<jar jarfile= "${xliff.out.dir}/lib/xliff.jar"
compress="true"
basedir="${xliff.out.dir}/bin"
manifest="${icu4j.tools.dir}/src/com/ibm/icu/dev/tool/localeconverter/manifest.stub"/>
</target>
2009-06-17 05:47:05 +00:00
<!-- ICU4J modularization targets -->
2009-06-18 05:39:11 +00:00
<property name= "module.dir" value= "${out.dir}/module" />
<property name= "module.bin.dir" value= "${module.dir}/bin" />
<property name= "module.tests.dir" value= "${module.dir}/tests" />
<property name= "module.jar.dir" value= "${module.dir}/lib" />
<property name= "module.jar" value= "${module.jar.dir}/icu4j-module.jar" />
2009-06-17 05:47:05 +00:00
<target name= "moduleJar" description= "Create a ICU4J module jar file" >
<mkdir dir= "${module.jar.dir}" />
2009-06-18 05:39:11 +00:00
<jar jarfile= "${module.jar}"
2009-06-17 05:47:05 +00:00
compress="true"
basedir="${module.bin.dir}">
<manifest >
<attribute name= "Built-By" value= "${corp}" />
<section name= "com/ibm/icu" >
<attribute name= "Specification-Title" value= "ICU4J Modularized Build" />
<attribute name= "Specification-Version" value= "${jar.spec.version}" />
<attribute name= "Specification-Vendor" value= "ICU" />
<attribute name= "Implementation-Title" value= " ICU for Java Module" />
<attribute name= "Implementation-Version" value= "${jar.impl.version}" />
<attribute name= "Implementation-Vendor" value= "${corp}" />
<attribute name= "Implementation-Vendor-Id" value= "com.ibm" />
<attribute name= "Copyright-Info" value= "${jar.copyright.info}" />
<attribute name= "Sealed" value= "false" />
</section>
</manifest>
</jar>
2009-06-18 05:39:11 +00:00
<copy file= "${module.jar}" tofile= "icu4j.jar" />
2009-06-17 05:47:05 +00:00
</target>
<target name= "moduleCheck" description= "Run tests for a ICU4J module jar" >
<java classname= "com.ibm.icu.dev.test.TestAll" fork= "yes" failonerror= "true" >
<arg value= "-nodata" />
<classpath >
2013-10-24 22:05:52 +00:00
<pathelement location= "${module.jar}" />
2009-06-17 05:47:05 +00:00
<pathelement location= "${module.tests.dir}" />
</classpath>
</java>
</target>
<patternset id= "common.test.sources" >
<include name= "com/ibm/icu/dev/test/TestFmwk.java" />
<include name= "com/ibm/icu/dev/test/TestLog.java" />
<include name= "com/ibm/icu/dev/test/TestUtil.java" />
<include name= "com/ibm/icu/dev/test/UTF16Util.java" />
<include name= "com/ibm/icu/dev/test/TestAll.java" />
<include name= "com/ibm/icu/dev/test/TestAllCore.java" />
</patternset>
<!-- Break Iterator -->
<target name= "breakIterator" depends= "_copyFullPropsData" description= "Modular build of break iterator services" >
<mkdir dir= "${module.bin.dir}" />
<javac srcdir= "${icu4j.core.dir}/src"
destdir="${module.bin.dir}"
source="${javac.source}"
target="${javac.target}"
2010-11-08 15:11:14 +00:00
encoding="${java.src.encoding}"
2009-06-17 05:47:05 +00:00
debug="on" deprecation="off">
<include name= "com/ibm/icu/impl/UCharacterName.java" />
<include name= "com/ibm/icu/impl/data/*Break*.java" />
<include name= "com/ibm/icu/lang/**/*.java" />
<include name= "com/ibm/icu/text/*BreakIterator*.java" />
<include name= "com/ibm/icu/text/UnicodeSetIterator.java" />
</javac>
</target>
<target name= "breakIteratorTests" depends= "breakIterator" description= "Modular build of break iterator test suite" >
<mkdir dir= "${module.tests.dir}" />
<javac destdir= "${module.tests.dir}"
source="${javac.source}"
target="${javac.target}"
2010-11-08 15:11:14 +00:00
encoding="${java.src.encoding}"
2009-06-17 05:47:05 +00:00
classpath="${module.bin.dir}"
debug="on" deprecation="off">
<src path= "${icu4j.core.dir}/src" />
<src path= "${icu4j.test-framework.dir}/src" />
<src path= "${icu4j.core-tests.dir}/src" />
2014-01-21 16:47:17 +00:00
<src path= "${icu4j.testall.dir}/src" />
2009-06-17 05:47:05 +00:00
<patternset refid= "common.test.sources" />
<include name= "com/ibm/icu/dev/test/rbbi/**/*.java" />
</javac>
<copy file= "${icu4j.core-tests.dir}/src/com/ibm/icu/dev/test/rbbi/rbbitst.txt"
todir="${module.tests.dir}/com/ibm/icu/dev/test/rbbi"/>
</target>
<!-- Calendar -->
<target name= "calendar" description= "Modular build of calendar services" >
<mkdir dir= "${module.bin.dir}" />
<javac srcdir= "${icu4j.core.dir}/src"
destdir="${module.bin.dir}"
source="${javac.source}"
target="${javac.target}"
2010-11-08 15:11:14 +00:00
encoding="${java.src.encoding}"
2009-06-17 05:47:05 +00:00
debug="on" deprecation="off">
<include name= "com/ibm/icu/impl/data/*Holiday*.java" />
2011-05-11 15:18:39 +00:00
<include name= "com/ibm/icu/impl/TimeZoneNames*.java" />
2009-06-17 05:47:05 +00:00
<include name= "com/ibm/icu/lang/UCharacter.java" />
<include name= "com/ibm/icu/text/UnicodeSetIterator.java" />
<include name= "com/ibm/icu/text/NumberFormatServiceShim.java" />
<include name= "com/ibm/icu/util/*Calendar*.java" />
</javac>
<!-- Calendar does not require Collation data, BreakIterator data -->
<unjar src= "${icu4j.data.jar}" dest= "${module.bin.dir}" >
<patternset >
<include name= "**/pnames.icu" />
<include name= "**/ucase.icu" />
<include name= "**/unorm.icu" />
<include name= "**/uprops.icu" />
<include name= "**/unames.icu" />
<include name= "**/*.res" />
<exclude name= "**/coll/*.res" />
<exclude name= "**/translit/*.res" />
</patternset>
</unjar>
2011-09-26 15:30:39 +00:00
<unjar src= "${icu4j.tzdata.jar}" dest= "${module.bin.dir}" >
<patternset >
<include name= "**/*.res" />
</patternset>
</unjar>
2009-06-17 05:47:05 +00:00
</target>
<target name= "calendarTests" depends= "calendar" description= "Modular build of calendar test suite" >
<mkdir dir= "${module.tests.dir}" />
<javac destdir= "${module.tests.dir}"
source="${javac.source}"
target="${javac.target}"
2010-11-08 15:11:14 +00:00
encoding="${java.src.encoding}"
2009-06-17 05:47:05 +00:00
classpath="${module.bin.dir}"
debug="on" deprecation="off">
<src path= "${icu4j.core.dir}/src" />
<src path= "${icu4j.test-framework.dir}/src" />
<src path= "${icu4j.core-tests.dir}/src" />
2014-01-21 16:47:17 +00:00
<src path= "${icu4j.testall.dir}/src" />
2009-06-17 05:47:05 +00:00
<patternset refid= "common.test.sources" />
<include name= "com/ibm/icu/dev/test/calendar/**/*.java" />
</javac>
<unjar src= "${icu4j.testdata.jar}" dest= "${module.tests.dir}" >
<patternset >
<include name= "**/calendar.res" />
</patternset>
</unjar>
</target>
<!-- Collator -->
2009-07-09 23:49:42 +00:00
<!-- this module will soon be obsolete, use the collate jar -->
2009-06-17 05:47:05 +00:00
<target name= "collator" description= "Modular build of collator services" >
<mkdir dir= "${module.bin.dir}" />
2009-07-21 18:46:03 +00:00
<javac destdir= "${module.bin.dir}"
2009-06-17 05:47:05 +00:00
source="${javac.source}"
target="${javac.target}"
2010-11-08 15:11:14 +00:00
encoding="${java.src.encoding}"
2009-06-17 05:47:05 +00:00
debug="on" deprecation="off">
2009-07-21 18:46:03 +00:00
<src path= "${icu4j.core.dir}/src" />
<src path= "${icu4j.collate.dir}/src" />
2014-03-18 16:25:35 +00:00
<include name= "com/ibm/icu/impl/coll/*.java" />
2009-06-17 05:47:05 +00:00
<include name= "com/ibm/icu/impl/data/*Break*.java" />
<include name= "com/ibm/icu/text/*BreakIterator*.java" />
<include name= "com/ibm/icu/text/*Collation*.java" />
<include name= "com/ibm/icu/text/*Collator*.java" />
<include name= "com/ibm/icu/text/Normalizer.java" />
<include name= "com/ibm/icu/text/Replaceable.java" />
<include name= "com/ibm/icu/text/ReplaceableString.java" />
<include name= "com/ibm/icu/text/UnicodeFilter.java" />
<include name= "com/ibm/icu/text/UnicodeSetIterator.java" />
<include name= "com/ibm/icu/text/UTF16.java" />
</javac>
<unjar src= "${icu4j.data.jar}" dest= "${module.bin.dir}" >
<patternset >
<include name= "**/*.icu" />
<include name= "**/coll/*.res" />
<include name= "**/*.brk" />
2010-11-12 05:29:54 +00:00
<include name= "**/*.nrm" />
2009-06-17 05:47:05 +00:00
<include name= "**/icudt${icu4j.data.version}b/res_index.res" />
2014-03-18 16:25:35 +00:00
<include name= "**/keyTypeData.res" />
2009-06-17 05:47:05 +00:00
</patternset>
</unjar>
</target>
<target name= "collatorTests" depends= "collator" description= "Modular build of collator test suite" >
<mkdir dir= "${module.tests.dir}" />
<javac destdir= "${module.tests.dir}"
source="${javac.source}"
target="${javac.target}"
2010-11-08 15:11:14 +00:00
encoding="${java.src.encoding}"
2009-06-17 05:47:05 +00:00
classpath="${module.bin.dir}"
debug="on" deprecation="off">
<src path= "${icu4j.core.dir}/src" />
<src path= "${icu4j.test-framework.dir}/src" />
2009-07-21 18:46:03 +00:00
<src path= "${icu4j.collate-tests.dir}/src" />
2014-01-21 16:47:17 +00:00
<src path= "${icu4j.testall.dir}/src" />
2009-06-17 05:47:05 +00:00
<patternset refid= "common.test.sources" />
2009-07-21 18:46:03 +00:00
<include name= "com/ibm/icu/dev/test/TestAllCollate.java" />
2009-06-17 05:47:05 +00:00
<include name= "com/ibm/icu/dev/test/collator/**/*.java" />
<include name= "java,com/ibm/icu/dev/test/search/**/*.java" />
2011-03-09 05:36:50 +00:00
<exclude name= "com/ibm/icu/dev/test/collator/AlphabeticIndexTest.java" />
2009-06-17 05:47:05 +00:00
<exclude name= "com/ibm/icu/dev/test/collator/RandomCollator.java" />
2009-07-21 18:46:03 +00:00
<exclude name= "com/ibm/icu/dev/test/collator/IndexCharactersTest.java" />
2009-06-17 05:47:05 +00:00
</javac>
<copy todir= "${module.tests.dir}" >
2009-07-21 18:46:03 +00:00
<fileset dir= "${icu4j.collate-tests.dir}/src" >
2014-03-18 16:25:35 +00:00
<include name= "com/ibm/icu/dev/data/*.txt" />
2009-06-17 05:47:05 +00:00
</fileset>
</copy>
</target>
<!-- Compression -->
<target name= "compression" description= "Modular build of compression services" >
<mkdir dir= "${module.bin.dir}" />
<javac srcdir= "${icu4j.core.dir}/src"
destdir="${module.bin.dir}"
source="${javac.source}"
target="${javac.target}"
2010-11-08 15:11:14 +00:00
encoding="${java.src.encoding}"
2009-06-17 05:47:05 +00:00
debug="on" deprecation="off">
<include name= "com/ibm/icu/text/SCSU.java" />
<include name= "com/ibm/icu/text/UnicodeCompressor.java" />
<include name= "com/ibm/icu/text/UnicodeDecompressor.java" />
</javac>
</target>
<target name= "compressionTests" depends= "compression" description= "Modular build of compression test suite" >
<mkdir dir= "${module.tests.dir}" />
<javac destdir= "${module.tests.dir}"
source="${javac.source}"
target="${javac.target}"
2010-11-08 15:11:14 +00:00
encoding="${java.src.encoding}"
2009-06-17 05:47:05 +00:00
classpath="${module.bin.dir}"
debug="on" deprecation="off">
<src path= "${icu4j.core.dir}/src" />
<src path= "${icu4j.test-framework.dir}/src" />
<src path= "${icu4j.core-tests.dir}/src" />
2014-01-21 16:47:17 +00:00
<src path= "${icu4j.testall.dir}/src" />
2009-06-17 05:47:05 +00:00
<patternset refid= "common.test.sources" />
<include name= "com/ibm/icu/dev/test/compression/**/*.java" />
</javac>
</target>
<!-- Format -->
<target name= "format" description= "Modular build of format services" >
<mkdir dir= "${module.bin.dir}" />
<javac srcdir= "${icu4j.core.dir}/src"
destdir="${module.bin.dir}"
source="${javac.source}"
target="${javac.target}"
2010-11-08 15:11:14 +00:00
encoding="${java.src.encoding}"
2009-06-17 05:47:05 +00:00
debug="on" deprecation="off">
2014-06-04 19:23:03 +00:00
<include name= "com/ibm/icu/impl/LocaleDisplayNamesImpl.java" />
2011-05-11 15:18:39 +00:00
<include name= "com/ibm/icu/impl/TimeZoneNames*.java" />
2009-06-17 05:47:05 +00:00
<include name= "com/ibm/icu/lang/UCharacter.java" />
2012-03-02 05:55:25 +00:00
<include name= "com/ibm/icu/text/BreakIteratorFactory.java" />
2009-06-17 05:47:05 +00:00
<include name= "com/ibm/icu/text/*Collator*.java" />
<include name= "com/ibm/icu/text/*Format*.java" />
<include name= "com/ibm/icu/text/UnicodeSetIterator.java" />
<include name= "com/ibm/icu/util/CalendarServiceShim.java" />
</javac>
2010-01-20 18:13:23 +00:00
<javac srcdir= "${icu4j.regiondata.dir}/src"
destdir="${module.bin.dir}"
source="${javac.source}"
target="${javac.target}"
2010-11-08 15:11:14 +00:00
encoding="${java.src.encoding}"
2010-01-20 18:13:23 +00:00
debug="on" deprecation="off"/>
<javac srcdir= "${icu4j.currdata.dir}/src"
destdir="${module.bin.dir}"
source="${javac.source}"
target="${javac.target}"
2010-11-08 15:11:14 +00:00
encoding="${java.src.encoding}"
2010-01-20 18:13:23 +00:00
debug="on" deprecation="off"/>
2009-06-17 05:47:05 +00:00
<unjar src= "${icu4j.data.jar}" dest= "${module.bin.dir}" >
<patternset >
<include name= "**/*.icu" />
2012-03-02 05:55:25 +00:00
<include name= "**/*.brk" />
2009-06-17 05:47:05 +00:00
<include name= "**/*.res" />
<exclude name= "**/translit/*.res" />
</patternset>
</unjar>
2011-09-26 15:30:39 +00:00
<unjar src= "${icu4j.tzdata.jar}" dest= "${module.bin.dir}" >
<patternset >
<include name= "**/*.res" />
</patternset>
</unjar>
2009-06-17 05:47:05 +00:00
</target>
<target name= "formatTests" depends= "format" description= "Modular build of format test suite" >
<mkdir dir= "${module.tests.dir}" />
<javac destdir= "${module.tests.dir}"
source="${javac.source}"
target="${javac.target}"
2010-11-08 15:11:14 +00:00
encoding="${java.src.encoding}"
2009-06-17 05:47:05 +00:00
classpath="${module.bin.dir}"
debug="on" deprecation="off">
<src path= "${icu4j.core.dir}/src" />
<src path= "${icu4j.test-framework.dir}/src" />
<src path= "${icu4j.core-tests.dir}/src" />
2014-01-21 16:47:17 +00:00
<src path= "${icu4j.testall.dir}/src" />
2009-06-17 05:47:05 +00:00
<patternset refid= "common.test.sources" />
<include name= "com/ibm/icu/dev/test/format/**/*.java" />
<exclude name= "com/ibm/icu/dev/test/format/GlobalizationPreferencesTest.java" />
</javac>
<unjar src= "${icu4j.testdata.jar}" dest= "${module.tests.dir}" >
<patternset >
<include name= "**/format.res" />
</patternset>
</unjar>
<copy file= "${icu4j.core-tests.dir}/src/com/ibm/icu/dev/test/format/NumberFormatTestCases.txt"
todir="${module.tests.dir}/com/ibm/icu/dev/test/format"/>
2015-09-23 22:01:29 +00:00
<copy file= "${icu4j.core-tests.dir}/src/com/ibm/icu/dev/data/numberformattestspecification.txt"
todir="${module.tests.dir}/com/ibm/icu/dev/data"/>
2009-06-17 05:47:05 +00:00
</target>
<!-- Normalizer -->
<target name= "normalizer" description= "Modular build of normalizer services" >
<mkdir dir= "${module.bin.dir}" />
<javac srcdir= "${icu4j.core.dir}/src"
destdir="${module.bin.dir}"
source="${javac.source}"
target="${javac.target}"
2010-11-08 15:11:14 +00:00
encoding="${java.src.encoding}"
2009-06-17 05:47:05 +00:00
debug="on" deprecation="off">
<include name= "com/ibm/icu/lang/**/*" />
<include name= "com/ibm/icu/text/CanonicalIterator.java" />
<include name= "com/ibm/icu/text/Normalizer.java" />
<include name= "com/ibm/icu/text/Replaceable.java" />
<include name= "com/ibm/icu/text/ReplaceableString.java" />
<include name= "com/ibm/icu/text/UCharacterIterator.java" />
<include name= "com/ibm/icu/text/UForwardCharacterIterator.java" />
<include name= "com/ibm/icu/text/UnicodeFilter.java" />
<include name= "com/ibm/icu/text/UnicodeSetIterator.java" />
<include name= "com/ibm/icu/text/UTF16.java" />
</javac>
<unjar src= "${icu4j.data.jar}" dest= "${module.bin.dir}" >
<patternset >
2010-11-12 05:29:54 +00:00
<include name= "**/ubidi.icu" />
2009-06-17 05:47:05 +00:00
<include name= "**/ucase.icu" />
<include name= "**/unorm.icu" />
<include name= "**/uprops.icu" />
<include name= "**/pnames.icu" />
<include name= "**/unames.icu" />
2010-03-03 15:55:33 +00:00
<include name= "**/*.nrm" />
2009-06-17 05:47:05 +00:00
</patternset>
</unjar>
</target>
<target name= "normalizerTests" depends= "normalizer" description= "Modular build of normalizer test suite" >
<mkdir dir= "${module.tests.dir}" />
<javac destdir= "${module.tests.dir}"
source="${javac.source}"
target="${javac.target}"
2010-11-08 15:11:14 +00:00
encoding="${java.src.encoding}"
2009-06-17 05:47:05 +00:00
classpath="${module.bin.dir}"
debug="on" deprecation="off">
<src path= "${icu4j.core.dir}/src" />
<src path= "${icu4j.test-framework.dir}/src" />
<src path= "${icu4j.core-tests.dir}/src" />
2014-01-21 16:47:17 +00:00
<src path= "${icu4j.testall.dir}/src" />
2009-06-17 05:47:05 +00:00
<patternset refid= "common.test.sources" />
<include name= "com/ibm/icu/dev/test/normalizer/**/*.java" />
<exclude name= "com/ibm/icu/dev/test/normalizer/TestDeprecatedNormalizerAPI.java" />
</javac>
<copy todir= "${module.tests.dir}" >
<fileset dir= "${icu4j.core-tests.dir}/src" >
<include name= "com/ibm/icu/dev/data/unicode/*.txt" />
</fileset>
</copy>
2010-03-03 15:55:33 +00:00
<unjar src= "${icu4j.testdata.jar}" dest= "${module.tests.dir}" >
<patternset >
<include name= "**/testnorm.nrm" />
</patternset>
</unjar>
2009-06-17 05:47:05 +00:00
</target>
<!-- Character Properties -->
<target name= "_copyBasicPropsData" >
<mkdir dir= "${module.bin.dir}" />
<unjar src= "${icu4j.data.jar}" dest= "${module.bin.dir}" >
<patternset >
<include name= "**/unorm.icu" />
<include name= "**/uprops.icu" />
<include name= "**/ubidi.icu" />
<include name= "**/ucase.icu" />
<include name= "**/pnames.icu" />
<include name= "**/unames.icu" />
2010-03-03 15:55:33 +00:00
<include name= "**/*.nrm" />
2009-06-17 05:47:05 +00:00
</patternset>
</unjar>
</target>
<target name= "_copyFullPropsData" >
<mkdir dir= "${module.bin.dir}" />
<unjar src= "${icu4j.data.jar}" dest= "${module.bin.dir}" >
<patternset >
<include name= "**/unorm.icu" />
<include name= "**/uprops.icu" />
<include name= "**/ubidi.icu" />
<include name= "**/ucase.icu" />
<include name= "**/unames.icu" />
<include name= "**/pnames.icu" />
<include name= "**/*.res" />
<include name= "**/*.brk" />
2012-08-16 23:16:04 +00:00
<include name= "**/*.dict" />
2010-03-03 15:55:33 +00:00
<include name= "**/*.nrm" />
2009-06-17 05:47:05 +00:00
<exclude name= "**/coll/*.res" />
<exclude name= "**/translit/*.res" />
<exclude name= "**/rbnf/*.res" />
</patternset>
</unjar>
2011-09-26 15:30:39 +00:00
<unjar src= "${icu4j.tzdata.jar}" dest= "${module.bin.dir}" >
<patternset >
<include name= "**/*.res" />
</patternset>
</unjar>
2009-06-17 05:47:05 +00:00
</target>
<target name= "_propertiesClasses" >
<mkdir dir= "${module.bin.dir}" />
<javac srcdir= "${icu4j.core.dir}/src"
destdir="${module.bin.dir}"
source="${javac.source}"
target="${javac.target}"
2010-11-08 15:11:14 +00:00
encoding="${java.src.encoding}"
2009-06-17 05:47:05 +00:00
debug="on" deprecation="off">
<include name= "com/ibm/icu/impl/data/*Break*.java" />
<include name= "com/ibm/icu/lang/**/*" />
<include name= "com/ibm/icu/text/*BreakDictionary*.java" />
<include name= "com/ibm/icu/text/*BreakIterator*.java" />
<include name= "com/ibm/icu/text/UnicodeSetIterator.java" />
</javac>
</target>
<target name= "_propertiesTests" >
<mkdir dir= "${module.tests.dir}" />
<javac destdir= "${module.tests.dir}"
source="${javac.source}"
target="${javac.target}"
2010-11-08 15:11:14 +00:00
encoding="${java.src.encoding}"
2009-06-17 05:47:05 +00:00
classpath="${module.bin.dir}"
debug="on" deprecation="off">
<src path= "${icu4j.core.dir}/src" />
<src path= "${icu4j.test-framework.dir}/src" />
<src path= "${icu4j.core-tests.dir}/src" />
2014-01-21 16:47:17 +00:00
<src path= "${icu4j.testall.dir}/src" />
2009-06-17 05:47:05 +00:00
<patternset refid= "common.test.sources" />
<include name= "com/ibm/icu/dev/test/lang/**/*.java" />
<exclude name= "com/ibm/icu/dev/test/lang/TestUScriptRun.java" />
</javac>
<copy todir= "${module.tests.dir}" >
<fileset dir= "${icu4j.core-tests.dir}/src" >
<include name= "com/ibm/icu/dev/data/unicode/SpecialCasing.txt" />
<include name= "com/ibm/icu/dev/data/unicode/UnicodeData.txt" />
</fileset>
</copy>
</target>
<target name= "propertiesBasic" depends= "_propertiesClasses, _copyBasicPropsData" description= "Modular build of basic character properties" />
<target name= "propertiesBasicTests" depends= "propertiesBasic, _propertiesTests" description= "Modular build of basic character properties test suite" />
<target name= "propertiesFull" depends= "_propertiesClasses, _copyFullPropsData" description= "Modular build of full character properties" />
<target name= "propertiesFullTests" depends= "propertiesFull, _propertiesTests" description= "Modular build of full character properties test suite" />
<!-- Transliterator -->
2009-07-09 23:49:42 +00:00
<!-- this module will soon be obsolete, use the translit jar -->
2009-06-17 05:47:05 +00:00
<target name= "transliterator" depends= "_propertiesClasses" description= "Modular build of transliterator services" >
<mkdir dir= "${module.bin.dir}" />
2009-07-21 18:46:03 +00:00
<javac destdir= "${module.bin.dir}"
2009-06-17 05:47:05 +00:00
source="${javac.source}"
target="${javac.target}"
2010-11-08 15:11:14 +00:00
encoding="${java.src.encoding}"
2009-06-17 05:47:05 +00:00
debug="on" deprecation="off">
2009-07-21 18:46:03 +00:00
<src path= "${icu4j.core.dir}/src" />
<src path= "${icu4j.translit.dir}/src" />
2009-06-17 05:47:05 +00:00
<include name= "com/ibm/icu/impl/*Iterator*.java" />
<include name= "com/ibm/icu/impl/*Property*.java" />
<include name= "com/ibm/icu/impl/data/ResourceReader.java" />
<include name= "com/ibm/icu/impl/UtilityExtensions.java" />
<include name= "com/ibm/icu/text/*Transliterator*.java" />
<include name= "com/ibm/icu/text/UnicodeSetIterator.java" />
<include name= "com/ibm/icu/text/BreakIteratorFactory.java" />
</javac>
<unjar src= "${icu4j.data.jar}" dest= "${module.bin.dir}" >
<patternset >
<include name= "**/unorm.icu" />
<include name= "**/uprops.icu" />
<include name= "**/ubidi.icu" />
<include name= "**/ucase.icu" />
<include name= "**/unames.icu" />
<include name= "**/pnames.icu" />
<include name= "**/*.brk" />
2012-08-16 23:16:04 +00:00
<include name= "**/*.dict" />
2010-03-03 15:55:33 +00:00
<include name= "**/*.nrm" />
2009-06-17 05:47:05 +00:00
<include name= "**/brkitr/*.res" />
<include name= "**/translit/*.res" />
2014-09-16 17:40:55 +00:00
<include name= "**/likelySubtags.res" />
2009-06-17 05:47:05 +00:00
</patternset>
</unjar>
</target>
<target name= "transliteratorTests" depends= "transliterator" description= "Modular build of transliterator test suite" >
<mkdir dir= "${module.tests.dir}" />
<javac destdir= "${module.tests.dir}"
source="${javac.source}"
target="${javac.target}"
2010-11-08 15:11:14 +00:00
encoding="${java.src.encoding}"
2009-06-17 05:47:05 +00:00
classpath="${module.bin.dir}"
debug="on" deprecation="off">
<src path= "${icu4j.core.dir}/src" />
<src path= "${icu4j.test-framework.dir}/src" />
2009-07-21 18:46:03 +00:00
<src path= "${icu4j.translit-tests.dir}/src" />
2014-01-21 16:47:17 +00:00
<src path= "${icu4j.testall.dir}/src" />
2009-06-17 05:47:05 +00:00
<patternset refid= "common.test.sources" />
2009-07-21 18:46:03 +00:00
<include name= "com/ibm/icu/dev/test/TestAllTranslit.java" />
2009-06-17 05:47:05 +00:00
<include name= "com/ibm/icu/dev/test/translit/**/*.java" />
<exclude name= "com/ibm/icu/dev/test/translit/UnicodeFilterLogic*.java" />
</javac>
2009-07-21 18:46:03 +00:00
<copy file= "${icu4j.translit-tests.dir}/src/com/ibm/icu/dev/test/translit/langtagRegex.txt"
2009-06-17 05:47:05 +00:00
todir="${module.tests.dir}/com/ibm/icu/dev/test/translit"/>
</target>
<!-- StringPrep -->
<target name= "stringPrep" depends= "normalizer" description= "Modular build of stringprep services" >
<mkdir dir= "${module.bin.dir}" />
<javac srcdir= "${icu4j.core.dir}/src"
destdir="${module.bin.dir}"
source="${javac.source}"
target="${javac.target}"
2010-11-08 15:11:14 +00:00
encoding="${java.src.encoding}"
2009-06-17 05:47:05 +00:00
debug="on" deprecation="off">
<include name= "com/ibm/icu/impl/*StringPrep*.java" />
<include name= "com/ibm/icu/text/*IDNA*.java" />
<include name= "com/ibm/icu/text/*StringPrep*.java" />
</javac>
<unjar src= "${icu4j.data.jar}" dest= "${module.bin.dir}" >
<patternset >
<include name= "**/*.spp" />
<include name= "**/ubidi.icu" />
<include name= "**/ucase.icu" />
<include name= "**/unorm.icu" />
<include name= "**/uprops.icu" />
<include name= "**/pnames.icu" />
<include name= "**/unames.icu" />
</patternset>
</unjar>
</target>
<target name= "stringPrepTests" depends= "stringPrep" description= "Modular build of stringprep test suite" >
<mkdir dir= "${module.tests.dir}" />
<javac destdir= "${module.tests.dir}"
source="${javac.source}"
target="${javac.target}"
2010-11-08 15:11:14 +00:00
encoding="${java.src.encoding}"
2009-06-17 05:47:05 +00:00
classpath="${module.bin.dir}"
debug="on" deprecation="off">
<src path= "${icu4j.core.dir}/src" />
<src path= "${icu4j.test-framework.dir}/src" />
<src path= "${icu4j.core-tests.dir}/src" />
2014-01-21 16:47:17 +00:00
<src path= "${icu4j.testall.dir}/src" />
2009-06-17 05:47:05 +00:00
<patternset refid= "common.test.sources" />
<include name= "com/ibm/icu/dev/test/stringprep/**/*.java" />
</javac>
<unjar src= "${icu4j.testdata.jar}" dest= "${module.tests.dir}" >
<patternset >
<include name= "**/*.spp" />
<include name= "**/idna_rules.res" />
</patternset>
</unjar>
<copy file= "${icu4j.core-tests.dir}/src/com/ibm/icu/dev/data/IDNATestInput.txt"
todir="${module.tests.dir}/com/ibm/icu/dev/data"/>
</target>
2012-11-12 18:02:44 +00:00
<target name= "publishToMavenRepo" depends= "releaseVer" >
2010-11-03 06:17:25 +00:00
<!--
Publish libraries to Maven repositories, snapshot or release depending on current
version in pom.xml.
Prerequisites
1) Apache Maven Ant tasks - http://maven.apache.org/ant-tasks
2) GnuPG
3) Put build-local.properties to specify followings
maven-ant-tasks.jar = [location of maven ant tasks jar file]
gpg.user = ICU Project
gpg.passphrase = [passprase for ICU Project's PGP key]
4) Maven configuration file ~/.m2/settings.xml
<settings >
<servers >
<server >
<id > icu4j-releases</id>
<username > [your JIRA/Nexus ID]</username>
<password > [your JIRA/Nexus password]</password>
</server>
<server >
<id > icu4j-snapshots</id>
<username > [your JIRA/Nexus ID]</username>
<password > [your JIRA/Nexus password]</password>
</server>
</servers>
</settings>
Note: For now, charset.jar and localespi.jar are excluded.
-->
<fail message= "Maven Ant Tasks are required to publish libraries. Set maven-ant-tasks.jar property. Maven Ant Tasks URL: http://maven.apache.org/ant-tasks/" unless= "maven-ant-tasks.jar" />
<condition property= "no_maven-ant-tasks" >
<available file= "${maven-ant-tasks.jar}" />
</condition>
<fail message= "Maven Ant Tasks not found at ${maven-ant-tasks.jar}" unless= "no_maven-ant-tasks" />
<path id= "maven-ant-tasks.classpath" path= "${maven-ant-tasks.jar}" />
<typedef resource= "org/apache/maven/artifact/ant/antlib.xml" uri= "urn:maven-artifact-ant"
classpathref="maven-ant-tasks.classpath"/>
<xmlproperty file= "pom.xml" prefix= "pom.xml" />
<!-- copy release files -->
<property name= "maven.release.dir" value= "${release.dir}/maven" />
<property name= "maven.icu4j.jar.versioned.file" value= "icu4j-${pom.xml.project.version}.jar" />
<property name= "maven.icu4j-src.jar.versioned.file" value= "icu4j-${pom.xml.project.version}-src.jar" />
<property name= "maven.icu4jdocs.jar.file" value= "icu4j-${pom.xml.project.version}-javadoc.jar" />
<mkdir dir= "${maven.release.dir}" />
<copy file= "${release.dir}/${icu4j.jar.versioned.file}" tofile= "${maven.release.dir}/${maven.icu4j.jar.versioned.file}" />
<copy file= "${release.dir}/${icu4j-src.jar.versioned.file}" tofile= "${maven.release.dir}/${maven.icu4j-src.jar.versioned.file}" />
2012-11-12 18:02:44 +00:00
<copy file= "${release.dir}/${icu4jdocs.jar.versioned.file}" tofile= "${maven.release.dir}/${maven.icu4jdocs.jar.file}" />
2010-11-03 06:17:25 +00:00
<copy file= "pom.xml" todir= "${maven.release.dir}" />
<!-- sign release files -->
<macrodef name= "gpg" >
<attribute name= "file" />
<sequential >
<delete file= "@{file}.asc" failonerror= "false" />
<exec executable= "gpg" >
<arg value= "-u" />
<arg value= "${gpg.user}" />
<arg value= "-ab" />
<arg value= "--passphrase" />
<arg value= "${gpg.passphrase}" />
<arg value= "-o" />
<arg value= "@{file}.asc" />
<arg value= "@{file}" />
</exec>
</sequential>
</macrodef>
<gpg file= "${maven.release.dir}/${maven.icu4j.jar.versioned.file}" />
<gpg file= "${maven.release.dir}/${maven.icu4j-src.jar.versioned.file}" />
<gpg file= "${maven.release.dir}/${maven.icu4jdocs.jar.file}" />
<gpg file= "${maven.release.dir}/pom.xml" />
<!-- deploy files to the repository -->
<deploy xmlns= "urn:maven-artifact-ant" file= "${maven.release.dir}/${maven.icu4j.jar.versioned.file}" >
<pom file= "${maven.release.dir}/pom.xml" />
<attach file= "${maven.release.dir}/pom.xml.asc" type= "pom.asc" />
<attach file= "${maven.release.dir}/${maven.icu4j.jar.versioned.file}.asc" type= "jar.asc" />
<attach file= "${maven.release.dir}/${maven.icu4j-src.jar.versioned.file}" classifier= "sources" />
<attach file= "${maven.release.dir}/${maven.icu4j-src.jar.versioned.file}.asc" classifier= "sources" type= "jar.asc" />
<attach file= "${maven.release.dir}/${maven.icu4jdocs.jar.file}" classifier= "javadoc" />
<attach file= "${maven.release.dir}/${maven.icu4jdocs.jar.file}.asc" classifier= "javadoc" type= "jar.asc" />
</deploy>
2014-10-09 07:28:33 +00:00
<antcall target= "_verify_config_for_release" />
2010-11-03 06:17:25 +00:00
</target>
2012-08-02 17:23:37 +00:00
2009-06-26 14:37:11 +00:00
</project>