2bdecbda7a
X-SVN-Rev: 22651
2183 lines
99 KiB
XML
2183 lines
99 KiB
XML
<!--
|
|
/*
|
|
*******************************************************************************
|
|
* Copyright (C) 1997-2007, International Business Machines Corporation and *
|
|
* others. All Rights Reserved. *
|
|
*******************************************************************************
|
|
* This is the ant build file for ICU4J. See readme.html for more information.
|
|
*/
|
|
-->
|
|
|
|
<project name="ICU4J" default="core" basedir=".">
|
|
|
|
<!-- ### Begin Clover 1.2 setup ### -->
|
|
<typedef resource="clovertypes" onerror="ignore" />
|
|
<taskdef resource="clovertasks" onerror="ignore" />
|
|
|
|
<target name="with.clover">
|
|
<mkdir dir="tmp/" />
|
|
<clover-setup initString="tmp/icu4j.db">
|
|
<files>
|
|
<exclude name="**/dev/**/*.java" />
|
|
</files>
|
|
<methodContext name="API" regexp="(.* )?public .*" />
|
|
</clover-setup>
|
|
</target>
|
|
|
|
<target name="clover.summary" depends="with.clover">
|
|
<clover-report>
|
|
<current outfile="icu4j_html" summary="true">
|
|
<format type="html" srcLevel="false" />
|
|
</current>
|
|
</clover-report>
|
|
</target>
|
|
<target name="clover.report" depends="with.clover">
|
|
<clover-report>
|
|
<current outfile="icu4j_html">
|
|
<format type="html" />
|
|
</current>
|
|
</clover-report>
|
|
</target>
|
|
<target name="clover.log" depends="with.clover">
|
|
<clover-log level="method" filter="private">
|
|
<package name="com.ibm.icu.text" />
|
|
<package name="com.ibm.icu.lang" />
|
|
<package name="com.ibm.icu.math" />
|
|
<package name="com.ibm.icu.util" />
|
|
<package name="com.ibm.icu.charset" />
|
|
</clover-log>
|
|
</target>
|
|
|
|
<!-- ### End Clover 1.2 setup ### -->
|
|
|
|
<target name="checkAntVersion">
|
|
<condition property="supported.ant.version">
|
|
<or>
|
|
<contains string="${ant.version}" substring="1.6." />
|
|
<contains string="${ant.version}" substring="1.7." />
|
|
<contains string="${ant.version}" substring="1.8." /> <!-- just in case -->
|
|
</or>
|
|
</condition>
|
|
<antcall target="warnAntVersion" />
|
|
</target>
|
|
|
|
<target name="warnAntVersion" unless="supported.ant.version">
|
|
<echo message="####################### WARNING #######################" />
|
|
<echo message="The version of ant used by the current configuration" />
|
|
<echo message="may not work well with this build script file. Please" />
|
|
<echo message="use ant 1.6 or later version." />
|
|
<echo message="#######################################################" />
|
|
</target>
|
|
|
|
<target name="init" depends="initBase,initSrc"/>
|
|
|
|
<target name="initBase"
|
|
depends="checkAntVersion"
|
|
description="Initialized ICU4J build environment">
|
|
<tstamp />
|
|
<property name="src.dir" value="src" />
|
|
<property name="build.dir" value="classes" />
|
|
<property name="api.dir" value="${src.dir}/com/ibm/icu/dev/tool/docs" />
|
|
<property name="doc.dir" value="doc" />
|
|
<property name="icudatajar.file" value="${src.dir}/com/ibm/icu/impl/data/icudata.jar" />
|
|
<property name="testjar.file" value="icu4jtests.jar" />
|
|
<property name="jar.file" value="icu4j.jar" />
|
|
<property name="charsets.jar.file" value="icu4j-charsets.jar" />
|
|
<property name="jarSrc.file" value="icu4jsrc.jar" />
|
|
<property name="zipTestSrc.file" value="icu4jtsrc.zip" />
|
|
<property name="jdk.wrapper.jar.file" value="icu4jwrapper.jar" />
|
|
<property name="fragment.jar.file" value="icu4jfragment.jar" />
|
|
<property name="eclipse.dir" value="${src.dir}/com/ibm/icu/dev/eclipse" />
|
|
<property name="eclipse.projects.dir" value="eclipseProjects" />
|
|
<property name="wrapper.build.dir" value="classes.wrapper" />
|
|
<property name="jarDocs.file" value="icu4jdocs.jar" />
|
|
<property name="ime.translit.jar.file" value="icutransime.jar" />
|
|
<property name="ime.indic.jar.file" value="icuindicime.jar" />
|
|
<property name="ime.translit.manifest" value="${src.dir}/com/ibm/icu/dev/tool/ime/translit/manifest.stub" />
|
|
<property name="ime.indic.manifest" value="${src.dir}/com/ibm/icu/dev/tool/ime/indic/manifest.stub" />
|
|
<property name="zip.file" value="../icu4j${DSTAMP}.zip" />
|
|
<property name="zipSrc.file" value="../icu4jSrc${DSTAMP}.zip" />
|
|
<property name="tzu.src.path" value="com/ibm/icu/dev/tool/tzu" />
|
|
<property name="tzu.bin.dir" value="${basedir}/icu4jtzu" />
|
|
<property name="tzu.jar.file" value="icutzu.jar" />
|
|
<property name="tzu.test.dir" value="${basedir}/icu4jtzu/test" />
|
|
<property name="tzu.temp.dir" value="${basedir}/icu4jtzu/Temp" />
|
|
<property name="tzu.src.zip.file" value="icutzu-src.zip" />
|
|
<property name="tzu.bin.zip.file" value="icutzu-bin.zip" />
|
|
<property file="build.properties" />
|
|
<!-- fix the data folder every time there is a version update-->
|
|
|
|
<property name="icu4j.data.path" value="com/ibm/icu/impl/data/icudt${icu4j.version.number}b" />
|
|
<property name="icu4j.testdata.path" value="com/ibm/icu/dev/data/testdata" />
|
|
<property name="icu4j.javac.source" value="1.3" />
|
|
<property name="icu4j.javac.target" value="1.3" />
|
|
|
|
<path id="build.classpath">
|
|
<pathelement path="${build.dir}" />
|
|
</path>
|
|
|
|
<property name="richedit.dir" value="richedit" />
|
|
<property name="richedit.doc.dir" value="${richedit.dir}/doc" />
|
|
<property name="richedit.jar.file" value="${richedit.dir}/richedit.jar" />
|
|
<property name="richedit.zip.file" value="${richedit.dir}/richedit.zip" />
|
|
<property name="richedit.manifest" value="${src.dir}/com/ibm/richtext/manifest.stub" />
|
|
|
|
<!-- Load environment variables -->
|
|
<property environment="env" />
|
|
|
|
<!-- Capture the computer name in a cross-platform manner -->
|
|
<property name="env.COMPUTERNAME" value="${env.HOSTNAME}" />
|
|
|
|
<!-- JavaDoc params -->
|
|
<property name="doc.params" value="-breakiterator -use -tagletpath ./classes -taglet com.ibm.icu.dev.tool.docs.ICUTaglet -group 'ICU Core' 'com.ibm.icu.lang*:com.ibm.icu.math*:com.ibm.icu.text*:com.ibm.icu.util*:com.ibm.icu.charset' -group 'ICU Tests' 'com.ibm.icu.dev.test*' -group 'Demos' 'com.ibm.icu.dev.demo*' -group 'ICU Tools' 'com.ibm.icu.dev*'" />
|
|
<property name="richeditdoc.params" value="-breakiterator -use -tagletpath ./classes -taglet com.ibm.icu.dev.tool.docs.ICUTaglet -group 'Rich Text Editing' 'com.ibm.richtext*'" />
|
|
|
|
<mkdir dir="${build.dir}" />
|
|
|
|
<echo message="java home: ${java.home}" />
|
|
<echo message="java version: ${java.version}" />
|
|
<echo message="ant java version: ${ant.java.version}" />
|
|
<echo message="${ant.version}" />
|
|
<echo message="${env.COMPUTERNAME} with ${os.name} ${os.version} on ${os.arch}" />
|
|
<echo message="clover initstring = '${clover.initstring}'" />
|
|
|
|
<!-- ## Java version dependent build configuration ##-->
|
|
|
|
<!-- JRE lib version used for building ICU4J -->
|
|
<condition property="target.rt.version" value="J2SE13">
|
|
<contains string="${java.version}" substring="1.3." />
|
|
</condition>
|
|
<condition property="target.rt.version" value="J2SE14">
|
|
<contains string="${java.version}" substring="1.4." />
|
|
</condition>
|
|
<condition property="target.rt.version" value="J2SE15">
|
|
<contains string="${java.version}" substring="1.5." />
|
|
</condition>
|
|
<condition property="target.rt.version" value="JAVASE6">
|
|
<contains string="${java.version}" substring="1.6." />
|
|
</condition>
|
|
|
|
<fail message="Failed to detect Java runtime library version used for building ICU4J"
|
|
unless="target.rt.version" />
|
|
<echo message="target runtime environment: ${target.rt.version}" />
|
|
|
|
<condition property="default.java.build.target">
|
|
<equals arg1="${target.rt.version}" arg2="${default.target.rt.version}" />
|
|
</condition>
|
|
|
|
<!-- Specification title in manifest file -->
|
|
<condition property="manifest.specification.title" value="ICU4J Compatible Build for ${target.rt.version}">
|
|
<not>
|
|
<isset property="default.java.build.target" />
|
|
</not>
|
|
</condition>
|
|
<property name="manifest.specification.title" value="ICU4J" />
|
|
|
|
<condition property="before.java14">
|
|
<or>
|
|
<equals arg1="${target.rt.version}" arg2="FOUNDATION10"/>
|
|
<equals arg1="${target.rt.version}" arg2="J2SE13"/>
|
|
</or>
|
|
</condition>
|
|
|
|
<condition property="before.java15">
|
|
<or>
|
|
<equals arg1="${target.rt.version}" arg2="FOUNDATION10"/>
|
|
<equals arg1="${target.rt.version}" arg2="J2SE13"/>
|
|
<equals arg1="${target.rt.version}" arg2="J2SE14"/>
|
|
</or>
|
|
</condition>
|
|
|
|
<!-- JVM arguments for running test cases -->
|
|
<condition property="test.jvm.args" value="-Xms96m -Xmx128m">
|
|
<isset property="before.java14" />
|
|
</condition>
|
|
<condition property="test.jvm.args" value="-ea -Xms96m -Xmx128m -Xdisableexcessivegc">
|
|
<and>
|
|
<not>
|
|
<isset property="before.java15" />
|
|
</not>
|
|
<equals arg1="${java.vm.vendor}" arg2="IBM Corporation"/>
|
|
</and>
|
|
</condition>
|
|
<condition property="test.jvm.args" value="-ea -Xms96m -Xmx128m">
|
|
<not>
|
|
<isset property="test.jvm.args" />
|
|
</not>
|
|
</condition>
|
|
|
|
<uptodate property="icu4j.resources" targetfile="${src.dir}/com/ibm/icu/impl/data">
|
|
<!-- note must not have '/' before 'com' in srcfiles includes arg! -->
|
|
<srcfiles dir="${build.dir}" includes="${icu4j.data.path}/res_index.res" />
|
|
</uptodate>
|
|
|
|
<uptodate property="icu4j.testdata.resources" targetfile="${src.dir}/com/ibm/icu/dev/data">
|
|
<!-- note must not have '/' before 'com' in srcfiles includes arg! -->
|
|
<srcfiles dir="${build.dir}" includes="${icu4j.testdatadata.path}/root.res" />
|
|
</uptodate>
|
|
|
|
<uptodate property="icu4j.module.resources" targetfile="${icudatajar.file}">
|
|
<srcfiles dir="${build.dir}" includes="${icu4j.data.path}/*.icu" />
|
|
</uptodate>
|
|
<!-- <echo message="icu4j.module.resources result: ${icu4j.module.resources}" /> -->
|
|
<tstamp>
|
|
<format property="date.time" pattern="yyyy-MM-dd 'at' hh:mm:ss z" locale="en,US" />
|
|
</tstamp>
|
|
|
|
<echo message="Initialized at ${date.time}" />
|
|
</target>
|
|
|
|
<target name="displayBuildEnvWarning" unless="default.java.build.target">
|
|
<echo message="####################### WARNING #######################" />
|
|
<echo message="The JDK version used by the current build environment" />
|
|
<echo message="does not match the reference JDK version for this" />
|
|
<echo message="ICU4J release. The build outputs may not be identical" />
|
|
<echo message="to the official ICU4J binary distribution." />
|
|
<echo message="#######################################################" />
|
|
</target>
|
|
|
|
<target name="initSrc"
|
|
depends="buildMangle"
|
|
description="Run the preprocessor tool to modify Java sources for the Java runtime lib currently used.">
|
|
<antcall target="displayBuildEnvWarning" />
|
|
<!-- Build CodeMangler -->
|
|
<javac srcdir="${src.dir}" destdir="${build.dir}" classpathref="build.classpath" source="${icu4j.javac.source}" target="${icu4j.javac.target}">
|
|
<include name="com/ibm/icu/dev/tool/docs/CodeMangler.java" />
|
|
</javac>
|
|
<!-- Run CodeMangler -->
|
|
<antcall target="doMangle">
|
|
<param name="target.defs" value="${target.rt.version}" />
|
|
<param name="input.file" value="@preprocessor.txt" />
|
|
</antcall>
|
|
</target>
|
|
|
|
<target name="normSrc"
|
|
depends="buildMangle"
|
|
description="Run the preprocessor to normalize Java sources to the ICU source repository target JDK version">
|
|
<antcall target="doMangle">
|
|
<param name="target.defs" value="${default.target.rt.version}" />
|
|
<param name="input.file" value="@preprocessor.txt" />
|
|
</antcall>
|
|
</target>
|
|
|
|
<target name="buildMangle" depends="initBase">
|
|
<javac srcdir="${src.dir}" destdir="${build.dir}" classpathref="build.classpath" source="${icu4j.javac.source}" target="${icu4j.javac.target}">
|
|
<include name="com/ibm/icu/dev/tool/docs/CodeMangler.java" />
|
|
</javac>
|
|
</target>
|
|
|
|
<target name="doMangle">
|
|
<echo message="Running source code preprocessor for [${target.defs}]"/>
|
|
<java classname="com.ibm.icu.dev.tool.docs.CodeMangler" classpath="${build.dir}" logError="true">
|
|
<arg value="-d${target.defs}" />
|
|
<arg value="${input.file}" />
|
|
</java>
|
|
</target>
|
|
|
|
<!-- build everything but dist-related stuff -->
|
|
<target name="all" depends="core,tests,tools,richedit,demos,jar,docs" description="build all primary targets" />
|
|
|
|
<target name="resources" depends="icudata,coreData,durationdata,testdata" description="builds all the resources" />
|
|
|
|
<target name="icudata" depends="initBase" if="icu4j.resources">
|
|
<!-- use this target to force resources to be rebuilt -->
|
|
<unjar src="${icudatajar.file}" dest="${build.dir}" />
|
|
<touch file="${build.dir}/${icu4j.data.path}/res_index.res" />
|
|
<copy todir="${build.dir}/META-INF">
|
|
<fileset dir="${src.dir}/META-INF" includes="**/*" />
|
|
</copy>
|
|
</target>
|
|
|
|
<target name="durationdata" depends="initBase">
|
|
<copy todir="${build.dir}/com/ibm/icu/impl/duration/impl/data">
|
|
<fileset dir="${src.dir}/com/ibm/icu/impl/duration/impl/data" includes="index.txt, pfd*.xml"/>
|
|
</copy>
|
|
</target>
|
|
|
|
<!--
|
|
use this target to conditionally build resources only if icu4j.resources is set
|
|
<target name="icu" depends="init" if="icu4j.resources">
|
|
<unjar src="${src.dir}/com/ibm/icu/impl/data/ICULocaleData.jar" dest="${build.dir}"/>
|
|
<touch file="${build.dir}/com/ibm/icu/impl/data/LocaleElements_index.class"/>
|
|
</target>
|
|
-->
|
|
|
|
<!-- core does not build richedit or tests -->
|
|
<target name="core" depends="init,coreData,icudata,durationdata" description="build core classes and data">
|
|
<javac sourcepath=""
|
|
srcdir="${src.dir}"
|
|
destdir="${build.dir}"
|
|
classpathref="build.classpath"
|
|
source="${icu4j.javac.source}"
|
|
target="${icu4j.javac.target}"
|
|
debug="on"
|
|
deprecation="off"
|
|
encoding="ascii">
|
|
<include name="com/ibm/icu/charset/**/*.java" unless="before.java14" />
|
|
<include name="com/ibm/icu/impl/**/*.java" />
|
|
<include name="com/ibm/icu/lang/**/*.java" />
|
|
<include name="com/ibm/icu/math/**/*.java" />
|
|
<include name="com/ibm/icu/text/**/*.java" />
|
|
<include name="com/ibm/icu/util/**/*.java" />
|
|
</javac>
|
|
</target>
|
|
|
|
<target name="tests" depends="core,testdata" description="build tests">
|
|
<javac srcdir="${src.dir}"
|
|
destdir="${build.dir}"
|
|
classpathref="build.classpath"
|
|
source="${icu4j.javac.source}"
|
|
target="${icu4j.javac.target}"
|
|
debug="on"
|
|
deprecation="off">
|
|
<exclude name="com/ibm/icu/dev/test/charset/**/*.java" if="before.java14" />
|
|
<exclude name="com/ibm/icu/dev/test/perf/**/*.java" if="before.java14" />
|
|
<include name="com/ibm/icu/dev/test/**/*.java" />
|
|
</javac>
|
|
|
|
</target>
|
|
|
|
<target name="demos" depends="core,testdata" unless="before.java14" description="build demos">
|
|
<javac srcdir="${src.dir}"
|
|
destdir="${build.dir}"
|
|
classpathref="build.classpath"
|
|
source="${icu4j.javac.source}"
|
|
target="${icu4j.javac.target}"
|
|
debug="on"
|
|
deprecation="off">
|
|
<include name="com/ibm/icu/dev/demo/**/*.java" />
|
|
</javac>
|
|
</target>
|
|
|
|
<target name="indices" depends="icudata,build_indexgenerator">
|
|
<java classname="com.ibm.icu.dev.tool.index.IndexGenerator" classpath="${build.dir}" logError="true">
|
|
<arg value="${build.dir}/${icu4j.data.path}" />
|
|
</java>
|
|
<java classname="com.ibm.icu.dev.tool.index.IndexGenerator" classpath="${build.dir}" logError="true">
|
|
<arg value="${build.dir}/${icu4j.data.path}/rbnf" />
|
|
</java>
|
|
<java classname="com.ibm.icu.dev.tool.index.IndexGenerator" classpath="${build.dir}" logError="true">
|
|
<arg value="${build.dir}/${icu4j.data.path}/coll" />
|
|
</java>
|
|
<java classname="com.ibm.icu.dev.tool.index.IndexGenerator" classpath="${build.dir}" logError="true">
|
|
<arg value="${build.dir}/${icu4j.data.path}/translit" />
|
|
</java>
|
|
</target>
|
|
|
|
<target name="tools"
|
|
depends="core"
|
|
unless="before.java14"
|
|
description="build tools">
|
|
<javac srcdir="${src.dir}"
|
|
destdir="${build.dir}"
|
|
classpathref="build.classpath"
|
|
source="${icu4j.javac.source}"
|
|
target="${icu4j.javac.target}"
|
|
debug="on"
|
|
deprecation="off">
|
|
<exclude name="com/ibm/icu/dev/tool/cldr/*" />
|
|
<exclude name="com/ibm/icu/dev/tool/localeconverter/*" if="before.java15" />
|
|
<include name="com/ibm/icu/dev/tool/**/*.java" />
|
|
</javac>
|
|
</target>
|
|
|
|
<target name="build_indexgenerator" depends="initBase">
|
|
<javac srcdir="${src.dir}"
|
|
destdir="${build.dir}"
|
|
classpathref="build.classpath"
|
|
source="${icu4j.javac.source}"
|
|
target="${icu4j.javac.target}"
|
|
debug="on"
|
|
deprecation="off">
|
|
<include name="com/ibm/icu/dev/tool/index/IndexGenerator.java" />
|
|
</javac>
|
|
</target>
|
|
|
|
<target name="docs" depends="init,docs13,docs14plus" description="build user javadoc" />
|
|
|
|
<target name="docs13" if="before.java14">
|
|
<mkdir dir="${doc.dir}" />
|
|
<javadoc packagenames="com.ibm.icu.lang,com.ibm.icu.text,com.ibm.icu.util,com.ibm.icu.math"
|
|
sourcepath="${src.dir}"
|
|
destdir="${doc.dir}"
|
|
nodeprecatedlist="true"
|
|
windowtitle="icu4j"
|
|
doctitle="icu4j"
|
|
encoding="iso-8859-1"
|
|
docencoding="iso-8859-1"
|
|
bottom="<font size=-1>Copyright (c) ${current.year} IBM Corporation and others.</font>"
|
|
link="http://java.sun.com/j2se/1.3/docs/api"
|
|
source="1.4" />
|
|
</target>
|
|
|
|
<target name="docs14plus" depends="tools" unless="before.java14">
|
|
<echo message="doc params: ${doc.params}" />
|
|
<mkdir dir="${doc.dir}" />
|
|
<javadoc packagenames="com.ibm.icu.lang,com.ibm.icu.text,com.ibm.icu.util,com.ibm.icu.charset,com.ibm.icu.math,com.ibm.icu.dev"
|
|
sourcepath="${src.dir}"
|
|
destdir="${doc.dir}"
|
|
nodeprecatedlist="true"
|
|
windowtitle="icu4j"
|
|
doctitle="icu4j"
|
|
encoding="iso-8859-1"
|
|
docencoding="iso-8859-1"
|
|
bottom="<font size=-1>Copyright (c) ${current.year} IBM Corporation and others.</font>"
|
|
additionalparam="${doc.params}"
|
|
link="http://java.sun.com/j2se/1.5/docs/api"
|
|
source="1.4" />
|
|
</target>
|
|
|
|
<target name="fulldocs" depends="tools" unless="before.java14" description="build all javadoc">
|
|
<echo message="doc params: ${doc.params}" />
|
|
<mkdir dir="${doc.dir}" />
|
|
<javadoc packagenames="com.ibm.icu.*"
|
|
sourcepath="${src.dir}"
|
|
destdir="${doc.dir}"
|
|
nodeprecatedlist="true"
|
|
windowtitle="icu4j"
|
|
doctitle="icu4j"
|
|
encoding="iso-8859-1"
|
|
docencoding="iso-8859-1"
|
|
bottom="<font size=-1>Copyright (c) ${current.year} IBM Corporation and others.</font>"
|
|
additionalparam="${doc.params}"
|
|
link="http://java.sun.com/j2se/1.5/docs/api"
|
|
source="1.4" />
|
|
</target>
|
|
|
|
<target name="coreData" depends="initBase">
|
|
<copy todir="${build.dir}/com/ibm/icu/impl/data">
|
|
<fileset dir="${src.dir}/com/ibm/icu/impl/data" includes="*.icu,*.spp,*.brk" excludes="Transliterator_Han_Latin_*.txt" />
|
|
</copy>
|
|
</target>
|
|
|
|
<target name="testdata" depends="initBase">
|
|
<copy file="${src.dir}/com/ibm/icu/dev/data/rbbi/english.dict" todir="${build.dir}/com/ibm/icu/dev/data/rbbi" />
|
|
<copy file="${src.dir}/com/ibm/icu/dev/test/rbbi/rbbitst.txt" todir="${build.dir}/com/ibm/icu/dev/test/rbbi" />
|
|
<copy file="${src.dir}/com/ibm/icu/dev/test/charsetdet/CharsetDetectionTests.xml" todir="${build.dir}/com/ibm/icu/dev/test/charsetdet" />
|
|
<copy todir="${build.dir}/com/ibm/icu/dev/test/serializable/data">
|
|
<fileset dir="${src.dir}/com/ibm/icu/dev/test/serializable/data">
|
|
<include name="**/*.dat" />
|
|
</fileset>
|
|
</copy>
|
|
<copy file="${src.dir}/com/ibm/icu/dev/data/riwords.txt" todir="${build.dir}/com/ibm/icu/dev/data" />
|
|
<copy file="${src.dir}/com/ibm/icu/dev/data/IDNATestInput.txt" todir="${build.dir}/com/ibm/icu/dev/data" />
|
|
<javac srcdir="${src.dir}"
|
|
destdir="${build.dir}"
|
|
classpathref="build.classpath"
|
|
source="${icu4j.javac.source}"
|
|
target="${icu4j.javac.target}"
|
|
debug="on"
|
|
deprecation="off">
|
|
<include name="com/ibm/icu/dev/data/*.java" />
|
|
<include name="com/ibm/icu/dev/data/resources/*.java" />
|
|
</javac>
|
|
<copy todir="${build.dir}/com/ibm/icu/dev/data">
|
|
<fileset dir="${src.dir}/com/ibm/icu/dev/data" includes="*.spp,*.txt" />
|
|
</copy>
|
|
<copy todir="${build.dir}/com/ibm/icu/dev/data/unicode/">
|
|
<fileset dir="${src.dir}/com/ibm/icu/dev/data/unicode/" includes="*.txt" />
|
|
</copy>
|
|
<copy file="${src.dir}/com/ibm/icu/dev/test/format/NumberFormatTestCases.txt" todir="${build.dir}/com/ibm/icu/dev/test/format" />
|
|
<copy todir="${build.dir}/com/ibm/icu/dev/data/resources/">
|
|
<fileset dir="${src.dir}/com/ibm/icu/dev/data/resources/" includes="*.properties" />
|
|
</copy>
|
|
<copy todir="${build.dir}/com/ibm/icu/dev/test/duration/testdata">
|
|
<fileset dir="${src.dir}/com/ibm/icu/dev/test/duration/testdata/" includes="testdata*.txt" />
|
|
</copy>
|
|
<!-- use this target to force resources to be rebuilt -->
|
|
<unjar src="${src.dir}/com/ibm/icu/dev/data/testdata.jar" dest="${build.dir}" />
|
|
<touch file="${build.dir}/${icu4j.testdata.path}/root.res" />
|
|
</target>
|
|
|
|
<!-- builds richedit and richedit tests -->
|
|
<target name="richedit" depends="init" description="build richedit classes and tests">
|
|
<javac srcdir="${src.dir}"
|
|
destdir="${build.dir}"
|
|
classpathref="build.classpath"
|
|
source="${icu4j.javac.source}"
|
|
target="${icu4j.javac.target}"
|
|
debug="on"
|
|
deprecation="off">
|
|
<include name="com/ibm/richtext/**/*.java" />
|
|
</javac>
|
|
<copy todir="${build.dir}/com/ibm/richtext/textapps/resources" overwrite="yes" includeEmptyDirs="no">
|
|
<fileset dir="${src.dir}/com/ibm/richtext/textapps/resources" includes="*.red" />
|
|
</copy>
|
|
</target>
|
|
|
|
<!-- Creates the 3 release jar archives for distribution -->
|
|
<target name="jarRelease" depends="jar,jarSrc,jarDocs" />
|
|
|
|
<target name="jar"
|
|
depends="core,indices,charsetsJar"
|
|
description="build 'icu4j.jar' jar file">
|
|
<jar jarfile="${jar.file}" compress="true">
|
|
<fileset dir="${basedir}" includes="license.html, unicode-license.txt" />
|
|
<fileset dir="${build.dir}" includes="com/ibm/icu/util/**/*,com/ibm/icu/text/**/*,com/ibm/icu/math/**/*,com/ibm/icu/impl/**/*,com/ibm/icu/lang/**/*" excludes="META-INF/services/**/*,com/ibm/icu/charset/**/*,${icu4j.data.path}/*.cnv,${icu4j.data.path}/cnvalias.icu" />
|
|
<fileset dir="${src.dir}" includes="com/ibm/icu/impl/duration/impl/data/*.xml" />
|
|
<manifest>
|
|
<attribute name="Built-By" value="${corp}" />
|
|
<section name="common">
|
|
<attribute name="Specification-Title" value="${manifest.specification.title}" />
|
|
<attribute name="Specification-Version" value="${icu4j.spec.version.string}" />
|
|
<attribute name="Specification-Vendor" value="ICU" />
|
|
<attribute name="Implementation-Title" value=" ICU for Java" />
|
|
<attribute name="Implementation-Version" value="${icu4j.impl.version.string}" />
|
|
<attribute name="Implementation-Vendor" value="${corp}" />
|
|
<attribute name="Implementation-Vendor-Id" value="com.ibm" />
|
|
<attribute name="Copyright-Info" value="${copyright}" />
|
|
<attribute name="Sealed" value="false" />
|
|
</section>
|
|
</manifest>
|
|
</jar>
|
|
</target>
|
|
|
|
<target name="charsetsJar"
|
|
depends="core,indices"
|
|
unless="before.java14"
|
|
description="build 'icu4j-charstes.jar' jar file">
|
|
<echo message="${icu4j.data.path}/cnvalias.icu"/>
|
|
<jar jarfile="${charsets.jar.file}" compress="true">
|
|
<fileset dir="${basedir}" includes="license.html, unicode-license.txt" />
|
|
<fileset dir="${build.dir}"
|
|
includes="META-INF/services/**/*,com/ibm/icu/charset/**/*,${icu4j.data.path}/*.cnv,${icu4j.data.path}/cnvalias.icu" />
|
|
<manifest>
|
|
<attribute name="Built-By" value="${corp}" />
|
|
<section name="common">
|
|
<attribute name="Specification-Title" value="ICU4J Charsets" />
|
|
<attribute name="Specification-Version" value="${icu4j.spec.version.string}" />
|
|
<attribute name="Specification-Vendor" value="ICU" />
|
|
<attribute name="Implementation-Title" value=" ICU for Java Charsets" />
|
|
<attribute name="Implementation-Version" value="${icu4j.impl.version.string}" />
|
|
<attribute name="Implementation-Vendor" value="${corp}" />
|
|
<attribute name="Implementation-Vendor-Id" value="com.ibm" />
|
|
<attribute name="Copyright-Info" value="${copyright}" />
|
|
<attribute name="Sealed" value="false" />
|
|
</section>
|
|
</manifest>
|
|
</jar>
|
|
</target>
|
|
|
|
<target name="jarTests" depends="tests,jar" description="build runtime 'icu4jtests.jar' jar file">
|
|
<jar jarfile="${testjar.file}" compress="true">
|
|
<fileset dir="${build.dir}" includes="com/ibm/icu/dev/test/**/*" />
|
|
<fileset dir="${build.dir}" includes="com/ibm/icu/dev/data/**/*" />
|
|
<manifest>
|
|
<attribute name="Built-By" value="${corp}" />
|
|
<section name="common">
|
|
<attribute name="Specification-Title" value="ICU4J Tests" />
|
|
<attribute name="Specification-Version" value="${icu4j.spec.version.string}" />
|
|
<attribute name="Specification-Vendor" value="ICU" />
|
|
<attribute name="Implementation-Title" value=" ICU for Java Tests" />
|
|
<attribute name="Implementation-Version" value="${icu4j.impl.version.string}" />
|
|
<attribute name="Implementation-Vendor" value="${corp}" />
|
|
<attribute name="Implementation-Vendor-Id" value="com.ibm" />
|
|
<attribute name="Copyright-Info" value="${copyright}" />
|
|
<attribute name="Sealed" value="false" />
|
|
</section>
|
|
</manifest>
|
|
</jar>
|
|
</target>
|
|
|
|
<target name="jarSrc" depends="init,normSrc" description="build source 'icu4jsrc.jar' jar file">
|
|
<!--Create a jar archive of just the source for distribution. The
|
|
jar file will be created in the directory above the root ICU4J
|
|
directory. The exclude pattern ${src.dir}/com/ibm/icu/dev/data/unicode/UnicodeData-*.txt
|
|
and ${src.dir}/com/ibm/icu/dev/data/unicode/SpecialCasing-*.txt
|
|
eliminates old archive copies like SpecialCasing-2.txt and
|
|
UnicodeData-2.1.8.txt -->
|
|
<jar jarfile="${jarSrc.file}"
|
|
compress="true">
|
|
<fileset dir=".">
|
|
<exclude name="${richedit.dir}/**/*" />
|
|
<exclude name="test_*" />
|
|
<exclude name="${src.dir}/com/ibm/icu/dev/data/unicode/UnicodeData-*.txt" />
|
|
<exclude name="${src.dir}/com/ibm/icu/dev/data/unicode/SpecialCasing-*.txt" />
|
|
<exclude name="${src.dir}/com/ibm/icu/dev/data/unicode/CompositionExclusions-*.txt" />
|
|
<exclude name="${obsolete.dir}/**" />
|
|
<exclude name="**/*~" />
|
|
<exclude name="${src.dir}/**/*.class" />
|
|
<exclude name="${build.dir}/**" />
|
|
<exclude name="${doc.dir}/**" />
|
|
<exclude name="*.jar" />
|
|
<exclude name="*.zip" />
|
|
<exclude name="*.gz" />
|
|
</fileset>
|
|
<manifest>
|
|
<attribute name="Built-By" value="${corp}" />
|
|
<section name="common">
|
|
<attribute name="Specification-Title" value="ICU4J Sources" />
|
|
<attribute name="Specification-Version" value="${icu4j.spec.version.string}" />
|
|
<attribute name="Specification-Vendor" value="ICU" />
|
|
<attribute name="Implementation-Title" value=" ICU for Java source files" />
|
|
<attribute name="Implementation-Version" value="${icu4j.impl.version.string}" />
|
|
<attribute name="Implementation-Vendor" value="${corp}" />
|
|
<attribute name="Implementation-Vendor-Id" value="com.ibm" />
|
|
<attribute name="Copyright-Info" value="${copyright}" />
|
|
<attribute name="Sealed" value="false" />
|
|
</section>
|
|
</manifest>
|
|
</jar>
|
|
</target>
|
|
|
|
<target name="jarDocs" depends="docs" description="build documentation 'icu4jdocs.jar' jar file">
|
|
<jar jarfile="${jarDocs.file}" compress="true" basedir="${doc.dir}">
|
|
<manifest>
|
|
<attribute name="Built-By" value="${corp}" />
|
|
<section name="common">
|
|
<attribute name="Specification-Title" value="ICU4J Documents" />
|
|
<attribute name="Specification-Version" value="${icu4j.spec.version.string}" />
|
|
<attribute name="Specification-Vendor" value="ICU" />
|
|
<attribute name="Implementation-Title" value=" ICU for Java documents" />
|
|
<attribute name="Implementation-Version" value="${icu4j.impl.version.string}" />
|
|
<attribute name="Implementation-Vendor" value="${corp}" />
|
|
<attribute name="Implementation-Vendor-Id" value="com.ibm" />
|
|
<attribute name="Copyright-Info" value="${copyright}" />
|
|
<attribute name="Sealed" value="false" />
|
|
</section>
|
|
</manifest>
|
|
</jar>
|
|
</target>
|
|
|
|
<target name="translitIMEJar" depends="collator, transliterator" description="build transliterator IME 'icutransime.jar' jar file">
|
|
<javac includes="com/ibm/icu/dev/tool/ime/translit/*.java" excludes="**/CVS/**/*" srcdir="${src.dir}" destdir="${build.dir}" classpathref="build.classpath" source="${icu4j.javac.source}" target="${icu4j.javac.target}" debug="on" deprecation="off" />
|
|
<copy file="${src.dir}/com/ibm/icu/dev/tool/ime/translit/Transliterator.properties" todir="${build.dir}/com/ibm/icu/dev/tool/ime/translit" />
|
|
<jar jarfile="${ime.translit.jar.file}" compress="true" basedir="${build.dir}" includes="com/ibm/icu/dev/tool/ime/translit/**/*" manifest="${ime.translit.manifest}">
|
|
<metainf dir="${src.dir}/com/ibm/icu/dev/tool/ime/translit" includes="services/*" />
|
|
</jar>
|
|
</target>
|
|
|
|
<target name="indicIMEJar" depends="init" description="build indic IME 'icuindicime.jar' jar file">
|
|
<javac includes="com/ibm/icu/dev/tool/ime/indic/*.java" excludes="**/CVS/**/*" srcdir="${src.dir}" destdir="${build.dir}" classpathref="build.classpath" source="${icu4j.javac.source}" target="${icu4j.javac.target}" debug="on" deprecation="off" />
|
|
<copy file="${src.dir}/com/ibm/icu/dev/tool/ime/indic/DisplayNames.properties" todir="${build.dir}/com/ibm/icu/dev/tool/ime/indic" />
|
|
<jar jarfile="${ime.indic.jar.file}" compress="true" basedir="${build.dir}" includes="com/ibm/icu/dev/tool/ime/indic/**/*" manifest="${ime.indic.manifest}">
|
|
<metainf dir="${src.dir}/com/ibm/icu/dev/tool/ime/indic" includes="services/*" />
|
|
</jar>
|
|
</target>
|
|
|
|
<!--
|
|
<target name="translitimeStandaloneJar" depends="collator, transliterator">
|
|
<javac includes="com/ibm/icu/dev/tool/ime/translit/*.java"
|
|
excludes="**/CVS/**/*"
|
|
srcdir="${src.dir}"
|
|
destdir="${build.dir}"
|
|
classpathref="build.classpath"
|
|
source="${icu4j.javac.source}"
|
|
target="${icu4j.javac.target}"
|
|
debug="on" deprecation="off"/>
|
|
<copy toDir="${build.dir}/com/ibm/icu/dev/tool/ime/translit">
|
|
<fileset dir="${src.dir}/com/ibm/icu/dev/tool/ime/translit" includes="*.properties"/>
|
|
</copy>
|
|
<jar jarfile="${ime.jar.file}"
|
|
compress="true"
|
|
basedir="${build.dir}"
|
|
includes="com/ibm/icu/util/**/*,com/ibm/icu/text/**/*,com/ibm/icu/math/**/*,com/ibm/icu/impl/**/*,com/ibm/icu/lang/**/*,com/ibm/icu/dev/tool/ime/translit/**/*"
|
|
manifest="${ime.translit.manifest}">
|
|
<metainf dir="${src.dir}/com/ibm/icu/dev/tool/ime/translit" includes="services/*"/>
|
|
</jar>
|
|
</target>
|
|
-->
|
|
|
|
<!-- jars up richedit but without tests -->
|
|
<target name="richeditJar" depends="richedit" description="build richedit runtime 'richedit.jar' jar file">
|
|
<mkdir dir="${richedit.dir}" />
|
|
<jar jarfile="${richedit.jar.file}" compress="true" includes="com/ibm/richtext/**/*" excludes="com/ibm/richtext/test/**/*" basedir="${build.dir}" manifest="${richedit.manifest}" />
|
|
</target>
|
|
|
|
<!--
|
|
Note: I used to use -linkoffline http://java.sun.com/products/jdk/1.2/docs/api/ C:\jdk1.2.2\docs\api
|
|
This links to core docs on Sun's site - a very nice feature. But it requires the 1.2 docs to be
|
|
on the build machine at a known location.
|
|
-->
|
|
|
|
<!-- the 'public' docs for richedit -->
|
|
<target name="richeditDocs" depends="init" description="build richedit javadoc">
|
|
<mkdir dir="${richedit.doc.dir}" />
|
|
<javadoc packagenames="com.ibm.richtext.demo,com.ibm.richtext.awtui,com.ibm.richtext.swingui,com.ibm.richtext.textpanel,com.ibm.richtext.styledtext,com.ibm.richtext.textlayout.attributes,com.ibm.richtext.print"
|
|
sourcepath="${src.dir}"
|
|
destdir="${richedit.doc.dir}"
|
|
nodeprecatedlist="true"
|
|
windowtitle="RichEdit Control"
|
|
doctitle="RichEdit Control"
|
|
encoding="iso-8859-1"
|
|
docencoding="iso-8859-1"
|
|
bottom="<font size=-1>Copyright (c) 1998-2004 IBM Corporation and others.</font>" />
|
|
</target>
|
|
|
|
<!-- richedit alphaworks distribution - jar and docs, but no source -->
|
|
<target name="richeditZip" depends="richeditJar,richeditDocs" description="build richedit zip file">
|
|
<!--Create a zip archive of the richedit jar and readme -->
|
|
<copy file="license.html" todir="${richedit.dir}" />
|
|
<zip zipfile="${richedit.zip.file}" basedir="${richedit.dir}" includes="doc/**/*,richedit.jar,license.html" />
|
|
</target>
|
|
<target name="deleteCore" depends="initBase">
|
|
<delete failonerror="no">
|
|
<fileset dir="${build.dir}/com/ibm/icu/text" />
|
|
<fileset dir="${build.dir}/com/ibm/icu/impl" />
|
|
<fileset dir="${build.dir}/com/ibm/icu/math" />
|
|
<fileset dir="${build.dir}/com/ibm/icu/lang" />
|
|
<fileset dir="${build.dir}/com/ibm/icu/util" />
|
|
<fileset dir="${build.dir}/com/ibm/icu/charset" />
|
|
</delete>
|
|
</target>
|
|
<target name="check" depends="tests, jar, deleteCore" description="run standard icu4j test suite">
|
|
<java classname="com.ibm.icu.dev.test.TestAll" fork="yes" failonerror="true">
|
|
<jvmarg line="${test.jvm.args}"/>
|
|
<arg value="-n" />
|
|
<classpath>
|
|
<pathelement path="${java.class.path}/" />
|
|
<pathelement location="${jar.file}" />
|
|
<pathelement location="${charsets.jar.file}" />
|
|
<pathelement location="clover.jar" />
|
|
<pathelement path="${build.dir}" />
|
|
</classpath>
|
|
</java>
|
|
</target>
|
|
|
|
<target name="exhaustiveCheck" depends="tests, jar, deleteCore" description="run standard icu4j test suite in exhaustive mode">
|
|
<java classname="com.ibm.icu.dev.test.TestAll" fork="yes" failonerror="true">
|
|
<jvmarg line="${test.jvm.args}"/>
|
|
<arg value="-n" />
|
|
<arg value="-e10" />
|
|
<classpath>
|
|
<pathelement path="${java.class.path}/" />
|
|
<pathelement location="${jar.file}" />
|
|
<pathelement location="${charsets.jar.file}" />
|
|
<pathelement location="clover.jar" />
|
|
<pathelement path="${build.dir}" />
|
|
</classpath>
|
|
</java>
|
|
</target>
|
|
|
|
<target name="secure" depends="jarTests" description="builds icu4j.jar and icu4jtests.jar" />
|
|
|
|
<target name="secureCheck" depends="secure" description="run secure (applet-like) icu4j test suite">
|
|
<java classname="com.ibm.icu.dev.test.TestAll" fork="yes" failonerror="true">
|
|
<jvmarg line="${test.jvm.args}"/>
|
|
<!-- jvmarg value="-verbose"/ -->
|
|
<!-- (use for debugging, LOTS of output) <jvmarg value="-Djava.security.debug=access:trace"/ -->
|
|
<!-- <jvmarg value="-Djava.security.debug=access:failure,domain"/> -->
|
|
<jvmarg value="-Djava.security.manager" />
|
|
<jvmarg value="-Djava.security.policy=${src.dir}/com/ibm/icu/dev/test/security.policy" />
|
|
<!--<jvmarg value="-Djava.security.debug=access:failure"/>-->
|
|
<arg value="-w" />
|
|
<arg value="-nothrow" />
|
|
<classpath>
|
|
<pathelement location="clover.jar" />
|
|
<pathelement location="${jar.file}" />
|
|
<pathelement location="${charsets.jar.file}" />
|
|
<pathelement location="${testjar.file}" />
|
|
</classpath>
|
|
</java>
|
|
</target>
|
|
|
|
<target name="noData" depends="core, tests" description="builds ICU4J without any data">
|
|
<delete failonerror="no">
|
|
<fileset dir="${build.dir}/${icu4j.data.path}/../" includes="Holiday*.class" />
|
|
<fileset dir="${build.dir}/${icu4j.data.path}/../" includes="BreakIterator*.class" />
|
|
<fileset dir="${build.dir}/${icu4j.data.path}" />
|
|
<fileset dir="${build.dir}/${icu4j.testdata.path}" />
|
|
<fileset dir="${build.dir}/${icu4j.testdata.path}/../" />
|
|
</delete>
|
|
</target>
|
|
<target name="noDataCheck" depends="noData" description="runs the tests when no data is present">
|
|
<java classname="com.ibm.icu.dev.test.TestAll" fork="yes" failonerror="true">
|
|
<arg value="-nothrow" />
|
|
<arg value="-nodata" />
|
|
<classpath>
|
|
<pathelement location="clover.jar" />
|
|
<pathelement location="${build.dir}" />
|
|
</classpath>
|
|
</java>
|
|
</target>
|
|
|
|
<target name="_requires14" if="before.java14">
|
|
<echo message="One of your targets requires JAVA_HOME to be set to JDK version 1.4 or newer" />
|
|
</target>
|
|
|
|
<target name="_checktags" depends="tools" unless="before.java14">
|
|
<echo message="doc params: ${doc.params}" />
|
|
<javadoc sourcepath="${src.dir}" packagenames="com.ibm.icu.*" excludepackagenames="com.ibm.icu.dev.*,com.ibm.icu.impl.*" classpath="${build.dir}" source="1.4">
|
|
<doclet name="com.ibm.icu.dev.tool.docs.CheckTags" path="${build.dir}">
|
|
<!-- <param name="-short"/> -->
|
|
</doclet>
|
|
</javadoc>
|
|
</target>
|
|
|
|
<target name="checktags" depends="_requires14,_checktags" description="check API tags before release" />
|
|
|
|
<target name="gatherapi" depends="tools" unless="before.java14" description="run API database generator tool">
|
|
<javadoc classpath="${build.dir}" sourcepath="${src.dir}" packagenames="com.ibm.icu.lang,com.ibm.icu.math,com.ibm.icu.text,com.ibm.icu.util" source="1.4">
|
|
<doclet name="com.ibm.icu.dev.tool.docs.GatherAPIData" path="${build.dir}">
|
|
<param name="-name" value="ICU4J ${icu4j.spec.version.string}" />
|
|
<param name="-output" value="${api.dir}/icu4j${icu4j.version.number}.api" />
|
|
<param name="-internal" />
|
|
<param name="-gzip" />
|
|
</doclet>
|
|
</javadoc>
|
|
</target>
|
|
|
|
<target name="gatherapi.with.version" depends="tools" unless="before.java14" description="run API database generator tool">
|
|
<javadoc classpath="${build.dir}" sourcepath="${src.dir}" packagenames="com.ibm.icu.lang,com.ibm.icu.math,com.ibm.icu.text,com.ibm.icu.util" source="1.4">
|
|
<doclet name="com.ibm.icu.dev.tool.docs.GatherAPIData" path="${build.dir}">
|
|
<param name="-name" value="ICU4J ${icu4j.spec.version.string}" />
|
|
<param name="-output" value="${api.dir}/icu4j${icu4j.version.number}.stver.api" />
|
|
<param name="-internal" />
|
|
<param name="-version" />
|
|
</doclet>
|
|
</javadoc>
|
|
</target>
|
|
|
|
<target name="apireport" depends="tools, gatherapi" unless="beofre.java14" description="run API report generator tool">
|
|
<java classname="com.ibm.icu.dev.tool.docs.ReportAPI" classpath="${build.dir}" failonerror="true">
|
|
<arg value="-old:" />
|
|
<arg value="${api.dir}/icu4j${icu4j.previous.version.number}.api.gz" />
|
|
<arg value="-new:" />
|
|
<arg value="${api.dir}/icu4j${icu4j.version.number}.api.gz" />
|
|
<arg value="-html" />
|
|
<arg value="-internal" />
|
|
<arg value="-out:" />
|
|
<arg value="${api.report.out}" />
|
|
</java>
|
|
</target>
|
|
|
|
<target name="clean" depends="initBase" description="remove all build targets">
|
|
<delete dir="${build.dir}" />
|
|
<delete dir="${doc.dir}" />
|
|
<delete file="${jar.file}" />
|
|
<delete file="${charsets.jar.file}" />
|
|
<delete dir="${richedit.dir}" />
|
|
<delete file="${testjar.file}" />
|
|
<delete file="${jarSrc.file}" />
|
|
|
|
<delete dir="${eclipse.projects.dir}" />
|
|
<delete dir="${wrapper.build.dir}" />
|
|
<delete file="${zipTestSrc.file}" />
|
|
<delete file="${jdk.wrapper.jar.file}" />
|
|
<delete file="${fragment.jar.file}"/>
|
|
|
|
<delete dir="${tzu.bin.dir}" />
|
|
<delete file="${tzu.bin.zip.file}" />
|
|
<delete file="${tzu.src.zip.file}" />
|
|
</target>
|
|
|
|
<target name="moduleJar" depends="initBase" description="modular build of 'icu4j.jar' jar file">
|
|
<jar jarfile="${jar.file}" compress="true" includes="com/ibm/icu/util/**/*,com/ibm/icu/text/**/*,com/ibm/icu/math/**/*,com/ibm/icu/impl/**/*,com/ibm/icu/lang/**/*" basedir="${build.dir}">
|
|
<manifest>
|
|
<attribute name="Built-By" value="${corp}" />
|
|
<section name="common">
|
|
<attribute name="Specification-Title" value="ICU4J Modularized Build" />
|
|
<attribute name="Specification-Version" value="${icu4j.spec.version.string}" />
|
|
<attribute name="Specification-Vendor" value="ICU" />
|
|
<attribute name="Implementation-Title" value=" ICU for Java Module" />
|
|
<attribute name="Implementation-Version" value="${icu4j.impl.version.string}" />
|
|
<attribute name="Implementation-Vendor" value="${corp}" />
|
|
<attribute name="Implementation-Vendor-Id" value="com.ibm" />
|
|
<attribute name="Copyright-Info" value="${copyright}" />
|
|
<attribute name="Sealed" value="false" />
|
|
</section>
|
|
</manifest>
|
|
</jar>
|
|
</target>
|
|
|
|
<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" />
|
|
</patternset>
|
|
|
|
<!-- Module: BreakIterator -->
|
|
<target name="breakIterator" depends="init,copyFullPropsData" description="modular build of break iterator services">
|
|
<javac srcdir="${src.dir}"
|
|
destdir="${build.dir}"
|
|
source="${icu4j.javac.source}"
|
|
target="${icu4j.javac.target}"
|
|
classpathref="build.classpath"
|
|
debug="on"
|
|
deprecation="off">
|
|
<include name="com/ibm/icu/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>
|
|
<copy file="${src.dir}/com/ibm/icu/impl/data/th.brk"
|
|
todir="${build.dir}/com/ibm/icu/impl/data/"/>
|
|
</target>
|
|
|
|
<target name="breakIteratorTests" depends="breakIterator" description="test breakIterator modular build target">
|
|
<javac srcdir="${src.dir}"
|
|
destdir="${build.dir}"
|
|
classpathref="build.classpath"
|
|
source="${icu4j.javac.source}"
|
|
target="${icu4j.javac.target}"
|
|
debug="on" deprecation="off">
|
|
<patternset refid="common.test.sources" />
|
|
<include name="com/ibm/icu/dev/test/rbbi/**/*.java"/>
|
|
</javac>
|
|
<copy file="${src.dir}/com/ibm/icu/dev/test/rbbi/rbbitst.txt"
|
|
todir="${build.dir}/com/ibm/icu/dev/test/rbbi"/>
|
|
</target>
|
|
|
|
<!-- Module: Calendar -->
|
|
<target name="copyCalendarData" depends="initBase">
|
|
<!-- Calendar does not require Collation data, BreakIterator data -->
|
|
<unjar src="${icudatajar.file}" dest="${build.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" />
|
|
<exclude name="**/rbnf/*.res" />
|
|
</patternset>
|
|
</unjar>
|
|
<touch file="${build.dir}/${icu4j.data.path}/uprops.icu" />
|
|
</target>
|
|
|
|
<target name="calendar" depends="init,copyCalendarData" description="modular build of calendar services">
|
|
<javac srcdir="${src.dir}"
|
|
destdir="${build.dir}"
|
|
source="${icu4j.javac.source}"
|
|
target="${icu4j.javac.target}"
|
|
classpathref="build.classpath"
|
|
debug="on"
|
|
deprecation="off">
|
|
<include name="com/ibm/icu/impl/data/*Holiday*.java"/>
|
|
<include name="com/ibm/icu/lang/UCharacter.java"/>
|
|
<include name="com/ibm/icu/text/UnicodeSetIterator.java"/>
|
|
<include name="com/ibm/icu/text/NumberFormatServiceShim.java"/>
|
|
<include name="com/ibm/icu/util/*Calendar*.java"/>
|
|
</javac>
|
|
</target>
|
|
|
|
<target name="calendarTests" depends="calendar,testdata" description="test calendar modular build target">
|
|
<javac srcdir="${src.dir}"
|
|
destdir="${build.dir}"
|
|
classpathref="build.classpath"
|
|
source="${icu4j.javac.source}"
|
|
target="${icu4j.javac.target}"
|
|
debug="on"
|
|
deprecation="off">
|
|
<patternset refid="common.test.sources" />
|
|
<include name="com/ibm/icu/dev/test/calendar/**/*.java" />
|
|
</javac>
|
|
</target>
|
|
|
|
<!-- Module: Collator -->
|
|
<target name="copyCollatorData" depends="initBase">
|
|
<unjar src="${icudatajar.file}" dest="${build.dir}">
|
|
<patternset>
|
|
<include name="**/*.icu" />
|
|
<include name="**/coll/*.res" />
|
|
<include name="**/*.brk" />
|
|
</patternset>
|
|
</unjar>
|
|
<touch file="${build.dir}/${icu4j.data.path}/uprops.icu" />
|
|
</target>
|
|
|
|
<target name="collator" depends="init,copyCollatorData" description="modular build of collator services">
|
|
<javac srcdir="${src.dir}"
|
|
destdir="${build.dir}"
|
|
classpathref="build.classpath"
|
|
source="${icu4j.javac.source}"
|
|
target="${icu4j.javac.target}"
|
|
debug="on"
|
|
deprecation="off">
|
|
<include name="com/ibm/icu/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>
|
|
</target>
|
|
|
|
<target name="collatorTests" depends="collator,testdata" description="test collator modular build target">
|
|
<javac srcdir="${src.dir}"
|
|
destdir="${build.dir}"
|
|
classpathref="build.classpath"
|
|
source="${icu4j.javac.source}"
|
|
target="${icu4j.javac.target}"
|
|
debug="on"
|
|
deprecation="off">
|
|
<patternset refid="common.test.sources" />
|
|
<include name="com/ibm/icu/dev/test/collator/**/*.java"/>
|
|
<include name="java,com/ibm/icu/dev/test/search/**/*.java"/>
|
|
<exclude name="com/ibm/icu/dev/test/collator/RandomCollator.java"/>
|
|
</javac>
|
|
</target>
|
|
|
|
<!-- Module: Compression -->
|
|
<target name="compression" depends="init" description="modular build of compression services">
|
|
<javac srcdir="${src.dir}"
|
|
destdir="${build.dir}"
|
|
source="${icu4j.javac.source}"
|
|
target="${icu4j.javac.target}"
|
|
classpathref="build.classpath"
|
|
debug="on"
|
|
deprecation="off">
|
|
<include name="com/ibm/icu/text/SCSU.java"/>
|
|
<include name="com/ibm/icu/text/UnicodeCompressor.java"/>
|
|
<include name="com/ibm/icu/text/UnicodeDecompressor.java"/>
|
|
</javac>
|
|
</target>
|
|
|
|
<target name="compressionTests" depends="compression" description="test compression modular build target">
|
|
<javac srcdir="${src.dir}"
|
|
destdir="${build.dir}"
|
|
classpathref="build.classpath"
|
|
source="${icu4j.javac.source}"
|
|
target="${icu4j.javac.target}"
|
|
debug="on"
|
|
deprecation="off">
|
|
<patternset refid="common.test.sources" />
|
|
<include name="com/ibm/icu/dev/test/compression/**/*.java"/>
|
|
</javac>
|
|
</target>
|
|
|
|
<!-- Module: Format -->
|
|
<target name="copyFormatData" depends="initBase" if="icu4j.module.resources">
|
|
<!-- Format does not require BreakIterator data -->
|
|
<unjar src="${icudatajar.file}" dest="${build.dir}">
|
|
<patternset>
|
|
<include name="**/*.icu" />
|
|
<include name="**/*.res" />
|
|
<exclude name="**/translit/*.res" />
|
|
</patternset>
|
|
</unjar>
|
|
<touch file="${build.dir}/${icu4j.data.path}/uprops.icu" />
|
|
</target>
|
|
|
|
<target name="format" depends="init,copyFormatData" description="modular build of formatting services">
|
|
<javac srcdir="${src.dir}"
|
|
destdir="${build.dir}"
|
|
source="${icu4j.javac.source}"
|
|
target="${icu4j.javac.target}"
|
|
classpathref="build.classpath"
|
|
debug="on"
|
|
deprecation="off">
|
|
<include name="com/ibm/icu/lang/UCharacter.java"/>
|
|
<include name="com/ibm/icu/text/*Collator*.java"/>
|
|
<include name="com/ibm/icu/text/*Format*.java"/>
|
|
<include name="com/ibm/icu/text/UnicodeSetIterator.java"/>
|
|
<include name="com/ibm/icu/util/CalendarServiceShim.java"/> </javac>
|
|
</target>
|
|
|
|
<target name="formatTests" depends="format,testdata" description="test format modular build target">
|
|
<javac srcdir="${src.dir}"
|
|
destdir="${build.dir}"
|
|
classpathref="build.classpath"
|
|
source="${icu4j.javac.source}"
|
|
target="${icu4j.javac.target}"
|
|
debug="on"
|
|
deprecation="off">
|
|
<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>
|
|
<copy file="${src.dir}/com/ibm/icu/dev/test/format/NumberFormatTestCases.txt"
|
|
todir="${build.dir}/com/ibm/icu/dev/test/format"/>
|
|
</target>
|
|
|
|
<!-- Module: Normalizer -->
|
|
<target name="normalizerData" depends="initBase">
|
|
<unjar src="${icudatajar.file}" dest="${build.dir}">
|
|
<patternset>
|
|
<include name="**/ucase.icu" />
|
|
<include name="**/unorm.icu" />
|
|
<include name="**/uprops.icu" />
|
|
<include name="**/pnames.icu" />
|
|
<include name="**/unames.icu" />
|
|
</patternset>
|
|
</unjar>
|
|
<touch file="${build.dir}/${icu4j.data.path}/uprops.icu" />
|
|
</target>
|
|
|
|
<target name="normalizer" depends="init,normalizerData" description="modular build of normalizer services">
|
|
<javac includes="com/ibm/icu/text/Normalizer.java,com/ibm/icu/text/CanonicalIterator.java,com/ibm/icu/text/UTF16.java,com/ibm/icu/text/UCharacterIterator.java,com/ibm/icu/text/UForwardCharacterIterator.java,com/ibm/icu/text/Replaceable.java,com/ibm/icu/text/ReplaceableString.java,com/ibm/icu/text/UnicodeFilter.java,com/ibm/icu/text/UnicodeSetIterator.java,com/ibm/icu/lang/**/*"
|
|
excludes="**/CVS/**/*,com/ibm/icu/lang/UScriptRun.java, com/ibm/icu/impl/ICUListResourceBundle.java, com/ibm/icu/impl/UtilityExtensions.java,com/ibm/icu/impl/TrieBuilder.java,com/ibm/icu/impl/IntTrieBuilder.java,com/ibm/icu/impl/BOCU.java,com/ibm/icu/impl/UnicodeCharacterIterator.java"
|
|
srcdir="${src.dir}"
|
|
destdir="${build.dir}"
|
|
source="${icu4j.javac.source}"
|
|
target="${icu4j.javac.target}"
|
|
classpathref="build.classpath"
|
|
debug="on"
|
|
deprecation="off">
|
|
<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>
|
|
</target>
|
|
|
|
<target name="normalizerTests" depends="normalizer">
|
|
<javac srcdir="${src.dir}"
|
|
destdir="${build.dir}"
|
|
classpathref="build.classpath"
|
|
source="${icu4j.javac.source}"
|
|
target="${icu4j.javac.target}"
|
|
debug="on"
|
|
deprecation="off">
|
|
<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>
|
|
</target>
|
|
|
|
<!-- Module: Basic Properties / Full Properties -->
|
|
<target name="copyBasicPropsData" depends="initBase">
|
|
<unjar src="${icudatajar.file}" dest="${build.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" />
|
|
</patternset>
|
|
</unjar>
|
|
<touch file="${build.dir}/${icu4j.data.path}/uprops.icu" />
|
|
</target>
|
|
|
|
<target name="copyFullPropsData" depends="initBase">
|
|
<unjar src="${icudatajar.file}" dest="${build.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" />
|
|
<exclude name="**/coll/*.res" />
|
|
<exclude name="**/translit/*.res" />
|
|
<exclude name="**/rbnf/*.res" />
|
|
</patternset>
|
|
</unjar>
|
|
<touch file="${build.dir}/${icu4j.data.path}/uprops.icu" />
|
|
</target>
|
|
|
|
<target name="propertiesBasic" depends="init,propertiesClasses,copyBasicPropsData" description="modular build of basic character properties">
|
|
</target>
|
|
|
|
<target name="propertiesFull" depends="init,propertiesClasses,copyFullPropsData" description="modular build of full character properties">
|
|
</target>
|
|
|
|
<target name="propertiesBasicTests" depends="propertiesBasic,propertiesTests" description="modular build of basic character properties">
|
|
</target>
|
|
|
|
<target name="propertiesFullTests" depends="propertiesFull,propertiesTests" description="modular build of full character properties">
|
|
</target>
|
|
|
|
<target name="propertiesClasses">
|
|
<javac srcdir="${src.dir}"
|
|
destdir="${build.dir}"
|
|
source="${icu4j.javac.source}"
|
|
target="${icu4j.javac.target}"
|
|
classpathref="build.classpath"
|
|
debug="on"
|
|
deprecation="off">
|
|
<include name="com/ibm/icu/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">
|
|
<javac srcdir="${src.dir}"
|
|
destdir="${build.dir}"
|
|
classpathref="build.classpath"
|
|
source="${icu4j.javac.source}"
|
|
target="${icu4j.javac.target}"
|
|
debug="on"
|
|
deprecation="off">
|
|
<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 file="${src.dir}/com/ibm/icu/dev/data/unicode/SpecialCasing.txt"
|
|
todir="${build.dir}/com/ibm/icu/dev/data/unicode/" />
|
|
</target>
|
|
|
|
<!-- Module: Transliterator -->
|
|
<target name="copyTranslitData" depends="initBase">
|
|
<!-- Calendar does not require Collation data, BreakIterator data -->
|
|
<unjar src="${icudatajar.file}" dest="${build.dir}">
|
|
<patternset>
|
|
<include name="**/unorm.icu" />
|
|
<include name="**/uprops.icu" />
|
|
<include name="**/ubidi.icu" />
|
|
<include name="**/ucase.icu" />
|
|
<include name="**/unames.icu" />
|
|
<include name="**/pnames.icu" />
|
|
<include name="**/*.brk" />
|
|
<include name="**/translit/*.res" />
|
|
</patternset>
|
|
</unjar>
|
|
<touch file="${build.dir}/${icu4j.data.path}/uprops.icu" />
|
|
</target>
|
|
|
|
<target name="transliterator" depends="init,propertiesClasses,copyTranslitData" description="modular build of unicode transform services">
|
|
<javac srcdir="${src.dir}"
|
|
destdir="${build.dir}"
|
|
source="${icu4j.javac.source}"
|
|
target="${icu4j.javac.target}"
|
|
classpathref="build.classpath"
|
|
debug="on"
|
|
deprecation="off">
|
|
<include name="com/ibm/icu/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"/>
|
|
</javac>
|
|
</target>
|
|
|
|
<target name="transliteratorTests" depends="transliterator" description = "test transliterator modular build target">
|
|
<javac srcdir="${src.dir}"
|
|
destdir="${build.dir}"
|
|
classpathref="build.classpath"
|
|
source="${icu4j.javac.source}"
|
|
target="${icu4j.javac.target}"
|
|
debug="on"
|
|
deprecation="off">
|
|
<patternset refid="common.test.sources" />
|
|
<include name="com/ibm/icu/dev/test/translit/**/*.java"/>
|
|
<exclude name="com/ibm/icu/dev/test/translit/UnicodeFilterLogic*.java"/>
|
|
</javac>
|
|
</target>
|
|
|
|
<!-- Module: StringPrep, IDNA -->
|
|
<target name="copyStringPrepData" depends="initBase">
|
|
<unjar src="${icudatajar.file}" dest="${build.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="stringPrep" depends="init,normalizer,copyStringPrepData" description="modular build of stringprep services">
|
|
<javac srcdir="${src.dir}"
|
|
destdir="${build.dir}"
|
|
source="${icu4j.javac.source}"
|
|
target="${icu4j.javac.target}"
|
|
classpathref="build.classpath"
|
|
debug="on"
|
|
deprecation="off">
|
|
<include name="com/ibm/icu/impl/*StringPrep*.java"/>
|
|
<include name="com/ibm/icu/text/*IDNA*.java"/>
|
|
<include name="com/ibm/icu/text/*StringPrep*.java"/>
|
|
</javac>
|
|
</target>
|
|
|
|
<target name="stringPrepTests" depends="stringPrep" description="test stringPrep modular build target">
|
|
<javac srcdir="${src.dir}"
|
|
destdir="${build.dir}"
|
|
classpathref="build.classpath"
|
|
source="${icu4j.javac.source}"
|
|
target="${icu4j.javac.target}"
|
|
debug="on"
|
|
deprecation="off">
|
|
<patternset refid="common.test.sources" />
|
|
<include name="com/ibm/icu/dev/test/stringprep/**/*.java"/>
|
|
</javac>
|
|
<unjar src="${src.dir}/com/ibm/icu/dev/data/testdata.jar" dest="${build.dir}">
|
|
<patternset>
|
|
<include name="**/*.spp"/>
|
|
<include name="**/idna_rules.res"/>
|
|
</patternset>
|
|
</unjar>
|
|
</target>
|
|
|
|
|
|
|
|
<target name="excludeCharset" depends="core" description="excludes charset module from ICU4J">
|
|
<delete failonerror="yes">
|
|
<fileset dir="${build.dir}/com/ibm/icu/impl/data/icudt${icu4j.version.number}b/">
|
|
<include name="*.cnv" />
|
|
<include name="cnvalias.icu" />
|
|
</fileset>
|
|
<fileset dir="${build.dir}/com/ibm/icu/charset" />
|
|
<fileset dir="${build.dir}/META-INF/" />
|
|
</delete>
|
|
</target>
|
|
<target name="excludeCharsetTests" depends="tests" description="excludes charset test from ICU4J">
|
|
<delete failonerror="yes">
|
|
<fileset dir="${build.dir}/com/ibm/icu/dev/test/charset" />
|
|
</delete>
|
|
</target>
|
|
|
|
<target name="moduleCheck" depends="initBase" description="run tests for module jar">
|
|
<java classname="com.ibm.icu.dev.test.TestAll" fork="yes" failonerror="true">
|
|
<jvmarg line="${test.jvm.args}"/>
|
|
<arg value="-nothrow" />
|
|
<arg value="-nodata" />
|
|
<classpath>
|
|
<pathelement location="${build.dir}" />
|
|
</classpath>
|
|
</java>
|
|
</target>
|
|
|
|
<!-- build the extra Transliterator data pertaining to Han-Latin transliteration -->
|
|
<target name="extraTransliteratorData" depends="initBase" description="build han-to-latin transliterator data (normally omitted)">
|
|
<copy todir="${build.dir}/com/ibm/icu/impl/data">
|
|
<fileset dir="${src.dir}/com/ibm/icu/impl/data" includes="Transliterator_Han_Latin_*.txt" />
|
|
</copy>
|
|
</target>
|
|
|
|
<!-- Target for builing XLIFF2ICUConverter Jar -->
|
|
|
|
<target name="xliff" depends="init" description="build xliff converter tool">
|
|
<javac sourcepath="" srcdir="${src.dir}" destdir="${build.dir}" classpathref="build.classpath" source="${icu4j.javac.source}" target="${icu4j.javac.target}" debug="on" deprecation="off">
|
|
|
|
<include name="com/ibm/icu/dev/tool/localeconverter/CalculateCRC32.java" />
|
|
<include name="com/ibm/icu/dev/tool/localeconverter/XLIFF2ICUConverter.java" />
|
|
<include name="com/ibm/icu/dev/tool/UOption.java" />
|
|
<include name="com/ibm/icu/dev/tool/xmlcomparator/XMLValidator.java" />
|
|
</javac>
|
|
<jar jarfile="xliff.jar" compress="true" includes="com/ibm/icu/dev/tool/localeconverter/XLIFF2ICUConverter*.class,com/ibm/icu/dev/tool/localeconverter/CalculateCRC32.class,com/ibm/icu/dev/tool/UOption.class" basedir="${build.dir}">
|
|
<manifest>
|
|
<attribute name="Built-By" value="${corp}" />
|
|
<section name="common">
|
|
<attribute name="Specification-Title" value="XLIFF To ICU Converter" />
|
|
<attribute name="Specification-Version" value="${icu4j.spec.version.string}" />
|
|
<attribute name="Specification-Vendor" value="ICU" />
|
|
<attribute name="Implementation-Title" value="XLIFF2ICUConverter" />
|
|
<attribute name="Implementation-Version" value="${icu4j.impl.version.string}" />
|
|
<attribute name="Implementation-Vendor" value="${corp}" />
|
|
<attribute name="Implementation-Vendor-Id" value="com.ibm" />
|
|
<attribute name="Copyright-Info" value="${copyright}" />
|
|
<attribute name="Sealed" value="false" />
|
|
</section>
|
|
</manifest>
|
|
</jar>
|
|
|
|
<jar jarfile="xliff-src.jar" compress="true" includes="com/ibm/icu/dev/tool/localeconverter/XLIFF2ICUConverter.java,com/ibm/icu/dev/tool/localeconverter/CalculateCRC32.java,com/ibm/icu/dev/tool/UOption.java" basedir="${src.dir}">
|
|
<manifest>
|
|
<attribute name="Built-By" value="${corp}" />
|
|
<section name="common">
|
|
<attribute name="Specification-Title" value="XLIFF To ICU Converter Sources" />
|
|
<attribute name="Specification-Version" value="${icu4j.spec.version.string}" />
|
|
<attribute name="Specification-Vendor" value="ICU" />
|
|
<attribute name="Implementation-Title" value="XLIFF2ICUConverter Sources" />
|
|
<attribute name="Implementation-Version" value="${icu4j.impl.version.string}" />
|
|
<attribute name="Implementation-Vendor" value="${corp}" />
|
|
<attribute name="Implementation-Vendor-Id" value="com.ibm" />
|
|
<attribute name="Copyright-Info" value="${copyright}" />
|
|
<attribute name="Sealed" value="false" />
|
|
</section>
|
|
</manifest>
|
|
</jar>
|
|
</target>
|
|
|
|
<!-- Target for builing Utilities Jar for CLDR -->
|
|
|
|
<target name="cldrUtil" depends="init" description="build Utilities for CLDR">
|
|
<javac srcdir="${src.dir}" destdir="${build.dir}" source="${icu4j.javac.source}" target="${icu4j.javac.target}" classpathref="build.classpath" debug="on" deprecation="off">
|
|
|
|
<include name="com/ibm/icu/dev/test/TestFmwk.java" />
|
|
<include name="com/ibm/icu/dev/test/util/*.java" />
|
|
<include name="com/ibm/icu/dev/tool/UOption.java" />
|
|
</javac>
|
|
<jar jarfile="utilities.jar" compress="true" includes="com/ibm/icu/dev/test/util/*.class,com/ibm/icu/dev/test/TestFmwk*.class,com/ibm/icu/dev/test/AbstractTest*.class,com/ibm/icu/dev/test/TestLog*.class,com/ibm/icu/dev/tool/UOption*.class" basedir="${build.dir}">
|
|
<manifest>
|
|
<attribute name="Built-By" value="${corp}" />
|
|
<section name="common">
|
|
<attribute name="Specification-Title" value="Utilities for CLDR Tools" />
|
|
<attribute name="Specification-Version" value="${icu4j.spec.version.string}" />
|
|
<attribute name="Specification-Vendor" value="ICU" />
|
|
<attribute name="Implementation-Title" value="CLDR Utilities" />
|
|
<attribute name="Implementation-Version" value="${icu4j.impl.version.string}" />
|
|
<attribute name="Implementation-Vendor" value="${corp}" />
|
|
<attribute name="Implementation-Vendor-Id" value="com.ibm" />
|
|
<attribute name="Copyright-Info" value="${copyright}" />
|
|
<attribute name="Sealed" value="false" />
|
|
</section>
|
|
</manifest>
|
|
</jar>
|
|
</target>
|
|
|
|
<!--Target for building jars -->
|
|
<target name="distJars" depends="jarSrc, jar, jarDocs" />
|
|
|
|
<!-- Target for checking the loading of bundles from the default package.
|
|
This is hack to get around Eclipse's build problems.
|
|
-->
|
|
<target name="defaultPackage" depends="tests" description="Tests for loading resources in the default package">
|
|
<copy file="${src.dir}/com/ibm/icu/dev/test/util/TestDefaultPackageLoading.jpp" tofile="${src.dir}/TestDefaultPackageLoading.java" />
|
|
<copy file="${src.dir}/com/ibm/icu/dev/test/util/TestData_en.jpp" tofile="${src.dir}/TestData_en.java" />
|
|
<javac srcdir="${src.dir}" destdir="${build.dir}" classpathref="build.classpath" source="${icu4j.javac.source}" target="${icu4j.javac.target}" debug="on" deprecation="off">
|
|
|
|
<exclude name="**/CVS/**/*" />
|
|
<include name="TestData_en.java" />
|
|
<include name="TestDefaultPackageLoading.java" />
|
|
</javac>
|
|
<!-- copy the file to default package and test if we can load it -->
|
|
<copy file="${build.dir}/com/ibm/icu/dev/data/testdata/te.res" todir="${build.dir}/" />
|
|
<!-- copy the file up one level and test if java style base name loading works -->
|
|
<copy file="${build.dir}/com/ibm/icu/dev/data/testdata/te.res" tofile="${build.dir}/com/ibm/icu/dev/data/TestData_bge.res" />
|
|
</target>
|
|
|
|
<target name="defaultPackageCheck" depends="tests, defaultPackage" description="Run Tests for loading resources in the default package">
|
|
<!--run the tests -->
|
|
<java classname="TestDefaultPackageLoading" fork="yes" failonerror="true">
|
|
<jvmarg line="${test.jvm.args}"/>
|
|
<arg value="-n" />
|
|
<classpath>
|
|
<pathelement path="${java.class.path}/" />
|
|
<pathelement location="clover.jar" />
|
|
<pathelement path="${build.dir}" />
|
|
</classpath>
|
|
</java>
|
|
</target>
|
|
|
|
<!-- convert @deprecated @draft tags to @provisional -->
|
|
<target name="swatDeprecated" depends="initBase, tools" unless="before.java14">
|
|
<java classname="com.ibm.icu.dev.tool.docs.SwatDeprecated" classpath="${build.dir}" failonerror="true">
|
|
<arg value="-src" />
|
|
<arg value="${src.dir}" />
|
|
<arg value="-dst" />
|
|
<arg value="${src.dir}" />
|
|
<arg value="-overwrite" />
|
|
<arg value="-verbose" />
|
|
</java>
|
|
</target>
|
|
|
|
<!-- convert @provisional tags to @deprecated -->
|
|
<target name="restoreDeprecated" depends="initBase, tools" unless="before.java14">
|
|
<java classname="com.ibm.icu.dev.tool.docs.SwatDeprecated" classpath="${build.dir}" failonerror="true">
|
|
<arg value="-prov" />
|
|
<arg value="-src" />
|
|
<arg value="${src.dir}" />
|
|
<arg value="-dst" />
|
|
<arg value="${src.dir}" />
|
|
<arg value="-overwrite" />
|
|
<arg value="-verbose" />
|
|
</java>
|
|
</target>
|
|
|
|
<!-- Eclipse plug-in build targets -->
|
|
<!-- for building eclipse distribution -->
|
|
<target name="initIcuEclipseVersion" depends="initBase">
|
|
<tstamp>
|
|
<format property="build.date" pattern="yyyyMMdd"/>
|
|
</tstamp>
|
|
<property name="icu4j.eclipse.build.version.string" value="${icu4j.plugin.impl.version.string}.v${build.date}"/>
|
|
</target>
|
|
|
|
<target name="eclipseProjects"
|
|
depends="eclipseCoreProject,eclipseTestProject,eclipseWrapperProject,eclipseFragmentProject"
|
|
description="create all eclipse icu projects"/>
|
|
|
|
<target name="eclipsePDEBuild"
|
|
depends="initEclipsePDEBuildEnv, eclipseProjects"
|
|
description="build icu4j plugin files">
|
|
|
|
<!-- copy OSGi jar file to baseLocation -->
|
|
<mkdir dir="${eclipse.projects.dir}/baseLocation/features"/>
|
|
<mkdir dir="${eclipse.projects.dir}/baseLocation/plugins"/>
|
|
<copy toDir="${eclipse.projects.dir}/baseLocation/plugins" file="${eclipse.osgi.jar}"/>
|
|
|
|
<!-- copy PDE build script files and run the build -->
|
|
<pathconvert property="eclipse.projects.dir.full" dirsep="/">
|
|
<path location="${basedir}/${eclipse.projects.dir}"/>
|
|
</pathconvert>
|
|
<antcall target="runEclipsePDEBuild">
|
|
<param name="icu.plugin.id" value="com.ibm.icu"/>
|
|
</antcall>
|
|
<antcall target="runEclipsePDEBuild">
|
|
<param name="icu.plugin.id" value="com.ibm.icu.base"/>
|
|
</antcall>
|
|
<antcall target="runEclipsePDEBuild">
|
|
<param name="icu.plugin.id" value="com.ibm.icu.jse4"/>
|
|
</antcall>
|
|
</target>
|
|
|
|
<target name="initEclipsePDEBuildEnv"
|
|
depends="initBase,initEclipseHome,initEclipseLauncher,initEclipseOSGiJar,initEclipsePDE"
|
|
description="Initialize eclipse PDE build environment">
|
|
<echo message="[PDE build configuration properties]"/>
|
|
<echo message=" Eclipse home: ${eclipse.home}"/>
|
|
<echo message=" Launcher jar: ${eclipse.launcher}"/>
|
|
<echo message=" OSGi bundle jar: ${eclipse.osgi.jar}"/>
|
|
<echo message=" Base OS: ${eclipse.baseos}"/>
|
|
<echo message=" Base WS: ${eclipse.basews}"/>
|
|
<echo message=" Base ARCH: ${eclipse.basearch}"/>
|
|
</target>
|
|
|
|
<target name="initEclipseHome"
|
|
if="env.ECLIPSE_HOME"
|
|
unless="eclipse.home"
|
|
description="Initialize the property eclipse.home from the environment variable ECLIPSE_HOME">
|
|
<property name="eclipse.home" value="${env.ECLIPSE_HOME}"/>
|
|
</target>
|
|
|
|
<target name="initEclipseLauncher"
|
|
if="eclipse.home"
|
|
description="Locate org.eclipse.equinox.launcher jar file for eclipse 3.3 and beyond">
|
|
<first id="equinox.launcher">
|
|
<fileset dir="${eclipse.home}/plugins">
|
|
<include name="org.eclipse.equinox.launcher_*.jar"/>
|
|
</fileset>
|
|
</first>
|
|
<pathconvert property="eclipse.launcher" dirsep="/" refid="equinox.launcher"/>
|
|
</target>
|
|
|
|
<target name="initEclipseOSGiJar"
|
|
if="eclipse.home"
|
|
description="Locate org.eclipse.osgi plugin jar file">
|
|
<first id="osgi.bundle">
|
|
<fileset dir="${eclipse.home}/plugins">
|
|
<include name="org.eclipse.osgi_*.jar"/>
|
|
</fileset>
|
|
</first>
|
|
<pathconvert property="eclipse.osgi.jar" dirsep="/" refid="osgi.bundle"/>
|
|
</target>
|
|
|
|
<target name="initEclipsePDE"
|
|
depends="locateEclipsePDE"
|
|
if="eclipse.pde.dir"
|
|
description="Set up PDE runtime arguments">
|
|
<property file="${eclipse.pde.dir}/templates/headless-build/build.properties" prefix="pde.template"/>
|
|
<property name="eclipse.baseos" value="${pde.template.baseos}"/>
|
|
<property name="eclipse.basews" value="${pde.template.basews}"/>
|
|
<property name="eclipse.basearch" value="${pde.template.basearch}"/>
|
|
</target>
|
|
|
|
<target name="locateEclipsePDE"
|
|
if="eclipse.home"
|
|
description="Locate org.eclipse.pde.build plug-in and set the property 'eclipse.pde.dir'">
|
|
<first id="eclipse.pde.plugin.dir">
|
|
<dirset dir="${eclipse.home}/plugins">
|
|
<include name="org.eclipse.pde.build_*"/>
|
|
</dirset>
|
|
</first>
|
|
<pathconvert property="eclipse.pde.dir" dirsep="/" refid="eclipse.pde.plugin.dir"/>
|
|
</target>
|
|
|
|
<target name="runEclipsePDEBuild">
|
|
<mkdir dir="${eclipse.projects.dir}/buildScripts/${icu.plugin.id}"/>
|
|
<copy toDir="${eclipse.projects.dir}/buildScripts/${icu.plugin.id}">
|
|
<fileset dir="${eclipse.dir}/pdebuild" includes="**/*"/>
|
|
<filterset>
|
|
<filter token="PLUGIN_ID" value="${icu.plugin.id}"/>
|
|
<filter token="BUILD_DIR" value="${eclipse.projects.dir.full}"/>
|
|
<filter token="BUILD_TYPE" value="ICU4J"/>
|
|
<filter token="BUILD_ID" value="${icu.plugin.id}"/>
|
|
<filter token="BASE_LOCATION" value="${eclipse.projects.dir.full}/baseLocation"/>
|
|
<filter token="BASE_OS" value="${eclipse.baseos}"/>
|
|
<filter token="BASE_WS" value="${eclipse.basews}"/>
|
|
<filter token="BASE_ARCH" value="${eclipse.basearch}"/>
|
|
</filterset>
|
|
</copy>
|
|
|
|
<java jar="${eclipse.launcher}" fork="true" failonerror="true">
|
|
<arg value="-application"/>
|
|
<arg value="org.eclipse.ant.core.antRunner"/>
|
|
<arg value="-buildfile"/>
|
|
<arg value="${eclipse.pde.dir}/scripts/build.xml"/>
|
|
<arg value="-Dbuilder=${eclipse.projects.dir.full}/buildScripts/${icu.plugin.id}"/>
|
|
</java>
|
|
</target>
|
|
|
|
<target name="eclipseMangle" depends="buildMangle">
|
|
<antcall target="doMangle">
|
|
<param name="target.defs" value="FOUNDATION10" />
|
|
<param name="input.file" value="@preprocessor.txt" />
|
|
</antcall>
|
|
</target>
|
|
|
|
<target name="eclipseCore" depends="coreData,icudata,durationdata,eclipseMangle">
|
|
<javac includes="com/ibm/icu/util/**/*.java,com/ibm/icu/text/**/*.java,com/ibm/icu/math/**/*.java,com/ibm/icu/impl/**/*.java,com/ibm/icu/lang/*.java"
|
|
compiler="javac1.3"
|
|
srcdir="${src.dir}"
|
|
destdir="${build.dir}"
|
|
classpathref="build.classpath"
|
|
bootclasspath="ee.foundation.jar"
|
|
source="1.3"
|
|
target="1.1"
|
|
debug="on"
|
|
deprecation="off"
|
|
encoding="ascii" />
|
|
<antcall target="indices" />
|
|
<jar jarfile="${jar.file}" compress="true">
|
|
<fileset dir="${basedir}" includes="license.html, unicode-license.txt" />
|
|
<fileset dir="${build.dir}">
|
|
<exclude name="META-INF/services/**/*" />
|
|
<exclude name="com/ibm/icu/charset/**/*" />
|
|
<exclude name="${icu4j.data.path}/*.cnv" />
|
|
<exclude name="${icu4j.data.path}/cnvalias.icu" />
|
|
<include name="com/ibm/icu/util/**/*" />
|
|
<include name="com/ibm/icu/text/**/*" />
|
|
<include name="com/ibm/icu/math/**/*" />
|
|
<include name="com/ibm/icu/impl/**/*" />
|
|
<include name="com/ibm/icu/lang/**/*" />
|
|
</fileset>
|
|
<manifest>
|
|
<attribute name="Built-By" value="${corp}" />
|
|
<section name="common">
|
|
<attribute name="Specification-Title" value="ICU4J Eclipse Build" />
|
|
<attribute name="Specification-Version" value="${icu4j.spec.version.string}" />
|
|
<attribute name="Specification-Vendor" value="ICU" />
|
|
<attribute name="Implementation-Title" value="ICU for Java Eclipse plug-in" />
|
|
<attribute name="Implementation-Version" value="${icu4j.impl.version.string}" />
|
|
<attribute name="Implementation-Vendor" value="${corp}" />
|
|
<attribute name="Implementation-Vendor-Id" value="com.ibm" />
|
|
<attribute name="Copyright-Info" value="${copyright}" />
|
|
<attribute name="Sealed" value="false" />
|
|
</section>
|
|
</manifest>
|
|
</jar>
|
|
</target>
|
|
|
|
<target name="eclipseCoreProject"
|
|
depends="eclipseCore,initIcuEclipseVersion"
|
|
description="gather eclipse icu core project files">
|
|
<delete failonerror="no">
|
|
<fileset dir="${eclipse.projects.dir}/plugins/com.ibm.icu" />
|
|
<fileset dir="${eclipse.projects.dir}/features/com.ibm.icu" />
|
|
</delete>
|
|
|
|
<!-- PLUGIN FILES -->
|
|
<!-- icu source -->
|
|
<copy toDir="${eclipse.projects.dir}/plugins/com.ibm.icu/src/com/ibm/icu">
|
|
<fileset dir="src/com/ibm/icu"
|
|
includes="impl/**/*,lang/**/*,math/**/*,text/**/*,util/**/*"
|
|
excludes="**/.svn/**/*,**/*.jar,**/Transliterator_Han_Latin*.txt" />
|
|
</copy>
|
|
<!-- icu data -->
|
|
<copy todir="${eclipse.projects.dir}/plugins/com.ibm.icu/src/com/ibm/icu/impl/data">
|
|
<fileset dir="${build.dir}/com/ibm/icu/impl/data"
|
|
includes="**/*.brk,**/*.icu,**/*.res,**/*.spp,**/*.txt"
|
|
excludes="**/Transliterator_Han_Latin*.txt" />
|
|
</copy>
|
|
<!-- plugin project -->
|
|
<copy todir="${eclipse.projects.dir}/plugins/com.ibm.icu">
|
|
<fileset dir="${eclipse.dir}/plugins/com.ibm.icu" excludes="**/.svn/**/*" />
|
|
<filterset>
|
|
<filter token="BUILD_VERSION" value="${icu4j.eclipse.build.version.string}" />
|
|
<filter token="COPYRIGHT" value="${copyright.eclipse}" />
|
|
<filter token="IMPL_VERSION" value="${icu4j.impl.version.string}" />
|
|
<filter token="VERSION_NUMBER" value="${icu4j.version.number}" />
|
|
</filterset>
|
|
</copy>
|
|
<!-- license -->
|
|
<copy file="license.html"
|
|
todir="${eclipse.projects.dir}/plugins/com.ibm.icu/about_files" />
|
|
<!-- ucd terms -->
|
|
<copy file="src/com/ibm/icu/dev/data/unicode/ucdterms.txt"
|
|
todir="${eclipse.projects.dir}/plugins/com.ibm.icu/about_files" />
|
|
<!-- about -->
|
|
<copy file="${eclipse.dir}/misc/about_icu.html"
|
|
tofile="${eclipse.projects.dir}/plugins/com.ibm.icu/about.html" />
|
|
|
|
<!-- FEATURE FILES -->
|
|
<copy todir="${eclipse.projects.dir}/features/com.ibm.icu">
|
|
<fileset dir="${eclipse.dir}/features/com.ibm.icu" excludes="**/.svn/**/*" />
|
|
<filterset>
|
|
<filter token="BUILD_VERSION" value="${icu4j.eclipse.build.version.string}" />
|
|
<filter token="COPYRIGHT" value="${copyright.eclipse}" />
|
|
<filter token="VERSION_NUMBER" value="${icu4j.version.number}" />
|
|
</filterset>
|
|
</copy>
|
|
<!-- common eclipse about file -->
|
|
<copy file="${eclipse.dir}/misc/about.html"
|
|
todir="${eclipse.projects.dir}/features/com.ibm.icu/sourceTemplatePlugin" />
|
|
</target>
|
|
|
|
<!-- ensure eclipse wrapper code builds with foundation1.0/java1.3 -->
|
|
<target name="eclipseWrapper" depends="initBase">
|
|
<mkdir dir="${wrapper.build.dir}" />
|
|
<javac includes="com/ibm/icu/util/**/*.java,com/ibm/icu/text/**/*.java"
|
|
compiler="javac1.3"
|
|
srcdir="${eclipse.dir}/plugins/com.ibm.icu.base/src"
|
|
destdir="${wrapper.build.dir}"
|
|
classpathref="build.classpath"
|
|
bootclasspath="ee.foundation.jar"
|
|
source="1.3"
|
|
target="1.1"
|
|
debug="on"
|
|
deprecation="off"
|
|
encoding="ascii" />
|
|
<jar jarfile="${jdk.wrapper.jar.file}"
|
|
compress="true"
|
|
basedir="${wrapper.build.dir}" />
|
|
</target>
|
|
|
|
<target name="eclipseWrapperTest" depends="eclipseWrapper">
|
|
<!-- TODO: build the wrapper test code this ant target -->
|
|
</target>
|
|
|
|
<target name="eclipseWrapperProject"
|
|
depends="eclipseWrapper,eclipseWrapperTest,initIcuEclipseVersion"
|
|
description="gather eclipse icu core project files">
|
|
<delete failonerror="no">
|
|
<fileset dir="${eclipse.projects.dir}/plugins/com.ibm.icu.base" />
|
|
<fileset dir="${eclipse.projects.dir}/plugins/com.ibm.icu.base.tests" />
|
|
<fileset dir="${eclipse.projects.dir}/features/com.ibm.icu.base" />
|
|
</delete>
|
|
<!-- PLUGIN FILES -->
|
|
<!-- source and project files -->
|
|
<copy todir="${eclipse.projects.dir}/plugins">
|
|
<fileset dir="${eclipse.dir}/plugins"
|
|
includes="com.ibm.icu.base/**/*,com.ibm.icu.base.tests/**/*"
|
|
excludes="**/.svn/**/*" />
|
|
<filterset>
|
|
<filter token="BUILD_VERSION" value="${icu4j.eclipse.build.version.string}" />
|
|
<filter token="COPYRIGHT" value="${copyright.eclipse}" />
|
|
<filter token="IMPL_VERSION" value="${icu4j.impl.version.string}" />
|
|
<filter token="VERSION_NUMBER" value="${icu4j.version.number}" />
|
|
</filterset>
|
|
</copy>
|
|
<!-- license -->
|
|
<copy file="license.html"
|
|
todir="${eclipse.projects.dir}/plugins/com.ibm.icu.base/about_files" />
|
|
<!-- about -->
|
|
<copy file="${eclipse.dir}/misc/about_icu.html"
|
|
tofile="${eclipse.projects.dir}/plugins/com.ibm.icu.base/about.html" />
|
|
|
|
<!-- FEATURE FILES -->
|
|
<!-- project files -->
|
|
<copy todir="${eclipse.projects.dir}/features/com.ibm.icu.base">
|
|
<fileset dir="${eclipse.dir}/features/com.ibm.icu.base"
|
|
excludes="**/.svn/**/*"/>
|
|
<filterset>
|
|
<filter token="BUILD_VERSION" value="${icu4j.eclipse.build.version.string}" />
|
|
<filter token="COPYRIGHT" value="${copyright.eclipse}" />
|
|
<filter token="VERSION_NUMBER" value="${icu4j.version.number}" />
|
|
</filterset>
|
|
</copy>
|
|
<!-- common eclipse about file -->
|
|
<copy file="${eclipse.dir}/misc/about.html"
|
|
todir="${eclipse.projects.dir}/features/com.ibm.icu.base/sourceTemplatePlugin" />
|
|
</target>
|
|
|
|
<target name="eclipseTests"
|
|
depends="eclipseCore,testdata,eclipseMangle"
|
|
description="build tests trimmed for eclipse API">
|
|
<!-- TODO: we should actually use ee.foundation.jar for eclipse env -->
|
|
<javac includes="com/ibm/icu/dev/test/**/*.java"
|
|
excludes="com/ibm/icu/dev/test/charset/**/*.*,com/ibm/icu/dev/test/perf/**/*.*"
|
|
srcdir="${src.dir}"
|
|
destdir="${build.dir}"
|
|
source="1.3"
|
|
target="1.3"
|
|
classpathref="build.classpath"
|
|
debug="on"
|
|
deprecation="off" />
|
|
<antcall target="indices"/>
|
|
<jar jarfile="${testjar.file}" compress="true">
|
|
<fileset dir="${build.dir}" includes="com/ibm/icu/dev/test/**/*" />
|
|
<fileset dir="${build.dir}" includes="com/ibm/icu/dev/data/**/*" />
|
|
<manifest>
|
|
<attribute name="Built-By" value="${corp}" />
|
|
<section name="common">
|
|
<attribute name="Specification-Title" value="ICU4J Eclipse Tests"/>
|
|
<attribute name="Specification-Version" value="${icu4j.spec.version.string}"/>
|
|
<attribute name="Specification-Vendor" value="ICU"/>
|
|
<attribute name="Implementation-Title" value="ICU for Java Eclipse plug-in Tests"/>
|
|
<attribute name="Implementation-Version" value="${icu4j.impl.version.string}"/>
|
|
<attribute name="Implementation-Vendor" value="${corp}"/>
|
|
<attribute name="Implementation-Vendor-Id" value="com.ibm"/>
|
|
<attribute name="Copyright-Info" value="${copyright}"/>
|
|
<attribute name="Sealed" value="false"/>
|
|
</section>
|
|
</manifest>
|
|
</jar>
|
|
</target>
|
|
|
|
<target name="eclipseTestProject" depends="eclipseTests,eclipseZipTestSrc" description="gather eclipse icu test project files">
|
|
<delete failonerror="no">
|
|
<fileset dir="${eclipse.projects.dir}/plugins/com.ibm.icu.tests"/>
|
|
</delete>
|
|
<!-- copy eclipse test source and project files -->
|
|
<copy toDir="${eclipse.projects.dir}/plugins/com.ibm.icu.tests">
|
|
<fileset dir="${eclipse.dir}/plugins/com.ibm.icu.tests"
|
|
excludes="**/.svn/**/"/>
|
|
<filterset>
|
|
<filter token="COPYRIGHT" value="${copyright.eclipse}"/>
|
|
</filterset>
|
|
</copy>
|
|
<!-- copy icu test jar -->
|
|
<copy toDir="${eclipse.projects.dir}/plugins/com.ibm.icu.tests" file="${testjar.file}"/>
|
|
<!-- copy icu test source zip -->
|
|
<copy toDir="${eclipse.projects.dir}/plugins/com.ibm.icu.tests" file="${zipTestSrc.file}"/>
|
|
</target>
|
|
|
|
<target name="eclipseFragmentMangle" depends="buildMangle">
|
|
<antcall target="initSrc"/>
|
|
<antcall target="doMangle">
|
|
<param name="target.defs" value="ECLIPSE_FRAGMENT" />
|
|
<param name="input.file" value="@eclipseFragment.txt" />
|
|
</antcall>
|
|
</target>
|
|
|
|
<target name="eclipseFragment" depends="eclipseCore,eclipseFragmentMangle">
|
|
<javac compiler="javac1.4"
|
|
srcdir="${src.dir}"
|
|
destdir="${build.dir}"
|
|
classpathref="build.classpath"
|
|
source="1.3"
|
|
target="1.2"
|
|
debug="on"
|
|
deprecation="off"
|
|
encoding="ascii"
|
|
listfiles="true">
|
|
<include name="com/ibm/icu/impl/DateNumberFormat.java" />
|
|
<include name="com/ibm/icu/impl/duration/BasicDurationFormat.java" />
|
|
<include name="com/ibm/icu/impl/ICUResourceBundleReader.java" />
|
|
<include name="com/ibm/icu/impl/PatternTokenizer.java" />
|
|
<include name="com/ibm/icu/impl/Utility.java" />
|
|
<include name="com/ibm/icu/lang/UCharacter.java" />
|
|
<include name="com/ibm/icu/math/BigDecimal.java" />
|
|
<include name="com/ibm/icu/text/Bidi.java" />
|
|
<include name="com/ibm/icu/text/ChineseDateFormat.java" />
|
|
<include name="com/ibm/icu/text/DateFormat.java" />
|
|
<include name="com/ibm/icu/text/DateTimePatternGenerator.java" />
|
|
<include name="com/ibm/icu/text/DecimalFormat.java" />
|
|
<include name="com/ibm/icu/text/DigitList.java" />
|
|
<include name="com/ibm/icu/text/MessageFormat.java" />
|
|
<include name="com/ibm/icu/text/NumberFormat.java" />
|
|
<include name="com/ibm/icu/text/RuleBasedBreakIterator.java" />
|
|
<include name="com/ibm/icu/text/RuleBasedNumberFormat.java" />
|
|
<include name="com/ibm/icu/text/SimpleDateFormat.java" />
|
|
<include name="com/ibm/icu/text/UnicodeSet.java" />
|
|
<include name="com/ibm/icu/text/UTF16.java" />
|
|
</javac>
|
|
|
|
<!-- collect fragment specific files -->
|
|
<jar jarfile="${fragment.jar.file}" compress="true">
|
|
<fileset dir="${build.dir}">
|
|
<include name="com/ibm/icu/impl/DateNumberFormat.class" />
|
|
<include name="com/ibm/icu/impl/duration/BasicDurationFormat.class" />
|
|
<include name="com/ibm/icu/impl/ICUResourceBundleReader.class" />
|
|
<include name="com/ibm/icu/impl/PatternTokenizer.class" />
|
|
<include name="com/ibm/icu/impl/Utility.class" />
|
|
<include name="com/ibm/icu/lang/UCharacter.class" />
|
|
<include name="com/ibm/icu/math/BigDecimal.class" />
|
|
<include name="com/ibm/icu/text/Bidi.class" />
|
|
<include name="com/ibm/icu/text/ChineseDateFormat.class" />
|
|
<include name="com/ibm/icu/text/DateFormat.class" />
|
|
<include name="com/ibm/icu/text/DateTimePatternGenerator.class" />
|
|
<include name="com/ibm/icu/text/DecimalFormat.class" />
|
|
<include name="com/ibm/icu/text/DigitList.class" />
|
|
<include name="com/ibm/icu/text/MessageFormat.class" />
|
|
<include name="com/ibm/icu/text/NumberFormat.class" />
|
|
<include name="com/ibm/icu/text/RuleBasedBreakIterator.class" />
|
|
<include name="com/ibm/icu/text/RuleBasedNumberFormat.class" />
|
|
<include name="com/ibm/icu/text/SimpleDateFormat.class" />
|
|
<include name="com/ibm/icu/text/UnicodeSet.class" />
|
|
<include name="com/ibm/icu/text/UTF16.class" />
|
|
|
|
<include name="com/ibm/icu/lang/UCharacter$*.class" />
|
|
<include name="com/ibm/icu/text/Bidi$*.class" />
|
|
<include name="com/ibm/icu/text/ChineseDateFormat$*.class" />
|
|
<include name="com/ibm/icu/text/DateFormat$*.class" />
|
|
<include name="com/ibm/icu/text/DateTimePatternGenerator$*.class" />
|
|
<include name="com/ibm/icu/text/MessageFormat$*.class" />
|
|
<include name="com/ibm/icu/text/NumberFormat$*.class" />
|
|
<include name="com/ibm/icu/text/SimpleDateFormat$*.class" />
|
|
<include name="com/ibm/icu/text/UnicodeSet$*.class" />
|
|
<include name="com/ibm/icu/text/UTF16$*.class" />
|
|
</fileset>
|
|
</jar>
|
|
</target>
|
|
|
|
<target name="eclipseFragmentProject"
|
|
depends="eclipseFragment,initIcuEclipseVersion"
|
|
description="gather eclipse icu fragment project files">
|
|
<delete failonerror="no">
|
|
<fileset dir="${eclipse.projects.dir}/plugins/com.ibm.icu.jse4" />
|
|
<fileset dir="${eclipse.projects.dir}/features/com.ibm.icu.jse4" />
|
|
</delete>
|
|
|
|
<!-- PLUGIN FILES -->
|
|
<!-- source -->
|
|
<copy toDir="${eclipse.projects.dir}/plugins/com.ibm.icu.jse4/src">
|
|
<!-- TODO: Better way to collect files? -->
|
|
<fileset dir="${src.dir}">
|
|
<include name="com/ibm/icu/impl/DateNumberFormat.java" />
|
|
<include name="com/ibm/icu/impl/duration/BasicDurationFormat.java" />
|
|
<include name="com/ibm/icu/impl/ICUResourceBundleReader.java" />
|
|
<include name="com/ibm/icu/impl/PatternTokenizer.java" />
|
|
<include name="com/ibm/icu/impl/Utility.java" />
|
|
<include name="com/ibm/icu/lang/UCharacter.java" />
|
|
<include name="com/ibm/icu/math/BigDecimal.java" />
|
|
<include name="com/ibm/icu/text/Bidi.java" />
|
|
<include name="com/ibm/icu/text/ChineseDateFormat.java" />
|
|
<include name="com/ibm/icu/text/DateFormat.java" />
|
|
<include name="com/ibm/icu/text/DateTimePatternGenerator.java" />
|
|
<include name="com/ibm/icu/text/DecimalFormat.java" />
|
|
<include name="com/ibm/icu/text/DigitList.java" />
|
|
<include name="com/ibm/icu/text/MessageFormat.java" />
|
|
<include name="com/ibm/icu/text/NumberFormat.java" />
|
|
<include name="com/ibm/icu/text/RuleBasedBreakIterator.java" />
|
|
<include name="com/ibm/icu/text/RuleBasedNumberFormat.java" />
|
|
<include name="com/ibm/icu/text/SimpleDateFormat.java" />
|
|
<include name="com/ibm/icu/text/UnicodeSet.java" />
|
|
<include name="com/ibm/icu/text/UTF16.java" />
|
|
</fileset>
|
|
</copy>
|
|
<!-- project files -->
|
|
<copy todir="${eclipse.projects.dir}/plugins/com.ibm.icu.jse4">
|
|
<fileset dir="${eclipse.dir}/plugins/com.ibm.icu.jse4"
|
|
excludes="**/.svn/**/*" />
|
|
<filterset>
|
|
<filter token="BUILD_VERSION" value="${icu4j.eclipse.build.version.string}" />
|
|
<filter token="COPYRIGHT" value="${copyright.eclipse}" />
|
|
<filter token="IMPL_VERSION" value="${icu4j.impl.version.string}" />
|
|
<filter token="VERSION_NUMBER" value="${icu4j.version.number}" />
|
|
</filterset>
|
|
</copy>
|
|
<!-- license -->
|
|
<copy file="license.html"
|
|
todir="${eclipse.projects.dir}/plugins/com.ibm.icu.jse4/about_files" />
|
|
<!-- ucd terms -->
|
|
<copy file="src/com/ibm/icu/dev/data/unicode/ucdterms.txt"
|
|
todir="${eclipse.projects.dir}/plugins/com.ibm.icu.jse4/about_files" />
|
|
|
|
<!-- FEATURE FILES -->
|
|
<!-- project files -->
|
|
<copy todir="${eclipse.projects.dir}/features/com.ibm.icu.jse4">
|
|
<fileset dir="${eclipse.dir}/features/com.ibm.icu.jse4"
|
|
excludes="**/.svn/**/*" />
|
|
<filterset>
|
|
<filter token="BUILD_VERSION" value="${icu4j.eclipse.build.version.string}" />
|
|
<filter token="COPYRIGHT" value="${copyright.eclipse}" />
|
|
<filter token="VERSION_NUMBER" value="${icu4j.version.number}" />
|
|
</filterset>
|
|
</copy>
|
|
<!-- common eclipse about -->
|
|
<copy file="${eclipse.dir}/misc/about.html"
|
|
todir="${eclipse.projects.dir}/features/com.ibm.icu.jse4/sourceTemplatePlugin" />
|
|
</target>
|
|
|
|
<target name="eclipseZipTestSrc" depends="eclipseMangle" description="build zip of test sources for debugging">
|
|
<!-- for eclipse -->
|
|
<zip destfile="${zipTestSrc.file}" compress="true" basedir="${src.dir}" includes="com/ibm/icu/dev/test/**/*" excludes="com/ibm/icu/dev/test/cldr/**/*, com/ibm/icu/dev/test/perf/**/*" />
|
|
</target>
|
|
|
|
<target name="gatherICU4JWrapperAPI" depends="tools" unless="before.java14">
|
|
<javadoc classpath="${build.dir}" sourcepath="${src.dir}" packagenames="com.ibm.icu.text,com.ibm.icu.util" source="1.4">
|
|
<doclet name="com.ibm.icu.dev.tool.docs.GatherAPIData" path="${build.dir}">
|
|
<param name="-name" value="ICU4J 3.6" />
|
|
<param name="-base" value="com.ibm.icu" />
|
|
<param name="-output" value="${api.dir}/icu4j36w_i.api" />
|
|
<param name="-filter" value="BreakIterator|CollationKey|Collator|DateFormat|DecimalFormat|MessageFormat|NumberFormat|SimpleDateFormat|StringTokenizer|Calendar|TimeZone|ULocale|DateFormatSymbols|DecimalFormatSymbols|Calendar|TimeZone" />
|
|
<!-- param name="-gzip"/ -->
|
|
</doclet>
|
|
</javadoc>
|
|
</target>
|
|
|
|
<target name="gatherEclipseWrapperAPI" depends="tools" unless="before.java14">
|
|
<javadoc classpath="${build.dir}" sourcepath="${src.dir}/com/ibm/icu/dev/eclipse/com.ibm.icu.base/src" packagenames="com.ibm.icu.text,com.ibm.icu.util" source="1.4">
|
|
<doclet name="com.ibm.icu.dev.tool.docs.GatherAPIData" path="${build.dir}">
|
|
<param name="-name" value="ICU4J 3.6 Wrapper" />
|
|
<param name="-base" value="com.ibm.icu" />
|
|
<param name="-output" value="${api.dir}/icu4j36w_e.api" />
|
|
<!-- param name="-gzip"/ -->
|
|
</doclet>
|
|
</javadoc>
|
|
</target>
|
|
|
|
<target name="reportWrapperAPI" depends="tools" unless="before.java14">
|
|
<java classname="com.ibm.icu.dev.tool.docs.ReportAPI" classpath="${build.dir}" failonerror="true">
|
|
<arg value="-old:" />
|
|
<arg value="${api.dir}/icu4j${icu4j.previous.version.number}w_i.api" />
|
|
<arg value="-new:" />
|
|
<arg value="${api.dir}/icu4j${icu4j.version.number}w_e.api" />
|
|
<arg value="-html" />
|
|
<arg value="-out:" />
|
|
<arg value="${api.dir}/icu4j_compare_${icu4j.previous.version.number}_wrapper_java.html" />
|
|
</java>
|
|
</target>
|
|
|
|
<!-- Test suite launcher targets -->
|
|
<target name="runCheck" depends="tests">
|
|
<java classname="com.ibm.icu.dev.test.TestAll" fork="yes" failonerror="true">
|
|
<jvmarg line="${test.jvm.args}"/>
|
|
<arg value="-n" />
|
|
<classpath>
|
|
<pathelement path="${java.class.path}/" />
|
|
<pathelement location="${jar.file}" />
|
|
<pathelement location="${charsets.jar.file}" />
|
|
<pathelement location="clover.jar" />
|
|
<pathelement path="${build.dir}" />
|
|
</classpath>
|
|
</java>
|
|
</target>
|
|
|
|
<target name="eclipseRunCheck" depends="eclipseTests">
|
|
<java classname="com.ibm.icu.dev.test.TestAll" fork="yes" failonerror="true">
|
|
<jvmarg line="${test.jvm.args}"/>
|
|
<arg value="-n" />
|
|
<classpath>
|
|
<pathelement path="${java.class.path}/" />
|
|
<pathelement location="icu4j.jar" />
|
|
<pathelement location="clover.jar" />
|
|
<pathelement path="${build.dir}" />
|
|
</classpath>
|
|
</java>
|
|
</target>
|
|
|
|
<target name="eclipseCompat" depends="initBase, eclipseCore" />
|
|
<target name="eclipseCompatTests" depends="initBase, eclipseTests" />
|
|
<target name="eclipseCompatCheck" depends="initBase, eclipseCompat, eclipseCompatTests, deleteCore, eclipseRunCheck" />
|
|
|
|
<!-- ICU TimeZone Update Utility targets -->
|
|
<target name="icutzu" depends="init" description="build ICU4J TimeZone Update Utility Classes">
|
|
<javac includes="${tzu.src.path}/**/*.java" excludes="**/.svn/**/*" srcdir="${src.dir}" destdir="${build.dir}" classpathref="build.classpath" source="${icu4j.javac.source}" target="${icu4j.javac.target}" debug="on" deprecation="off" encoding="ascii" />
|
|
</target>
|
|
|
|
<target name="icutzudata" depends="initBase, jar">
|
|
<mkdir dir="${tzu.bin.dir}" />
|
|
<copy todir="${tzu.bin.dir}">
|
|
<fileset dir="${src.dir}/${tzu.src.path}">
|
|
<include name="*.cmd" />
|
|
<include name="*.bat" />
|
|
<include name="*.sh" />
|
|
<include name="*.gif" />
|
|
<include name="*.txt" />
|
|
<include name="*.html" />
|
|
<include name="*.css" />
|
|
</fileset>
|
|
<fileset file="${basedir}/${jar.file}" />
|
|
<fileset file="${build.dir}/${icu4j.data.path}/zoneinfo.res" />
|
|
</copy>
|
|
</target>
|
|
|
|
<target name="icutzujar" depends="initBase, icutzu, icutzudata" description="build ICU4J TimeZone Update Utility classes">
|
|
<jar jarfile="${tzu.bin.dir}/${tzu.jar.file}" compress="true">
|
|
<fileset dir="${basedir}" includes="license.html" />
|
|
<fileset dir="${build.dir}" includes="${tzu.src.path}/**/*.class" />
|
|
<manifest>
|
|
<attribute name="Main-Class" value="com.ibm.icu.dev.tool.tzu.ICUTZUMain" />
|
|
<attribute name="Built-By" value="${corp}" />
|
|
<section name="common">
|
|
<attribute name="Specification-Title" value="ICU4J TimeZone Update Utility" />
|
|
<attribute name="Specification-Version" value="${icu4j.spec.version.string}" />
|
|
<attribute name="Specification-Vendor" value="ICU" />
|
|
<attribute name="Implementation-Title" value="ICUTZU" />
|
|
<attribute name="Implementation-Version" value="${icu4j.impl.version.string}" />
|
|
<attribute name="Implementation-Vendor" value="${corp}" />
|
|
<attribute name="Implementation-Vendor-Id" value="com.ibm" />
|
|
<attribute name="Copyright-Info" value="${copyright}" />
|
|
<attribute name="Sealed" value="false" />
|
|
</section>
|
|
</manifest>
|
|
</jar>
|
|
<echo message="Please see ${tzu.bin.dir} directory for the files." />
|
|
</target>
|
|
|
|
<target name="icutzucheck" depends="icutzujar" description="check ICU4J TimeZone Update Utility">
|
|
<echo>Testing ICUTZU ...</echo>
|
|
|
|
<mkdir dir="${tzu.temp.dir}" />
|
|
<copy todir="${tzu.temp.dir}">
|
|
<fileset file="${tzu.bin.dir}/DirectorySearch.txt" />
|
|
<fileset file="${tzu.bin.dir}/zoneinfo.res" />
|
|
</copy>
|
|
|
|
<get dest="${tzu.bin.dir}/zoneinfo.res" src="http://icu-project.org/tzdata/2006a/be/zoneinfo.res" />
|
|
<copy todir="${tzu.test.dir}" file="${tzu.bin.dir}/icu4j.jar" />
|
|
<echo file="${tzu.bin.dir}/DirectorySearch.txt">+${tzu.test.dir}</echo>
|
|
|
|
<echo>Running ICUTZU in Discovery Mode ...</echo>
|
|
<exec dir="${tzu.bin.dir}" executable="${java.home}/bin/java">
|
|
<arg value="-cp" />
|
|
<arg path="${tzu.bin.dir}/${jar.file};${tzu.bin.dir}/${tzu.jar.file}" />
|
|
<arg value="-Dnogui=true" />
|
|
<arg value="-Ddiscoveronly=true" />
|
|
<arg value="-Dsilentpatch=true" />
|
|
<arg value="-Doffline=true" />
|
|
<arg value="com.ibm.icu.dev.tool.tzu.ICUTZUMain" />
|
|
<arg file="${tzu.bin.dir}" />
|
|
<arg value="DirectorySearch.txt" />
|
|
<arg value="ICUList.txt" />
|
|
<arg value="zoneinfo.res" />
|
|
<arg value="Temp" />
|
|
<arg value="icu.gif" />
|
|
</exec>
|
|
|
|
<echo>Running ICUTZU in Patch Mode ...</echo>
|
|
<exec dir="${tzu.bin.dir}" executable="${java.home}/bin/java">
|
|
<arg value="-cp" />
|
|
<arg path="${tzu.bin.dir}/${jar.file};${tzu.bin.dir}/${tzu.jar.file}" />
|
|
<arg value="-Dnogui=true" />
|
|
<arg value="-Ddiscoveronly=false" />
|
|
<arg value="-Dsilentpatch=true" />
|
|
<arg value="-Doffline=true" />
|
|
<arg value="com.ibm.icu.dev.tool.tzu.ICUTZUMain" />
|
|
<arg file="${tzu.bin.dir}" />
|
|
<arg value="DirectorySearch.txt" />
|
|
<arg value="ICUList.txt" />
|
|
<arg value="zoneinfo.res" />
|
|
<arg value="Temp" />
|
|
<arg value="icu.gif" />
|
|
</exec>
|
|
|
|
<echo>Comparing results ...</echo>
|
|
<unjar src="${tzu.test.dir}/${jar.file}" dest="${tzu.test.dir}">
|
|
<patternset>
|
|
<include name="**/zoneinfo.res" />
|
|
</patternset>
|
|
</unjar>
|
|
<copy todir="${tzu.test.dir}" file="${tzu.test.dir}/${icu4j.data.path}/zoneinfo.res" />
|
|
<condition property="tzu.zoneinfo.match">
|
|
<filesmatch file1="${tzu.bin.dir}/zoneinfo.res" file2="${tzu.test.dir}/zoneinfo.res" />
|
|
</condition>
|
|
|
|
<fail unless="tzu.zoneinfo.match">ICUTZU test failed. ${tzu.bin.dir}/zoneinfo.res does not match ${tzu.test.dir}/zoneinfo.res</fail>
|
|
|
|
<echo>Cleaning up ...</echo>
|
|
<delete>
|
|
<fileset file="${tzu.bin.dir}/DirectorySearch.txt" />
|
|
<fileset file="${tzu.bin.dir}/zoneinfo.res" />
|
|
</delete>
|
|
<copy todir="${tzu.bin.dir}">
|
|
<fileset file="${tzu.temp.dir}/DirectorySearch.txt" />
|
|
<fileset file="${tzu.temp.dir}/zoneinfo.res" />
|
|
</copy>
|
|
<delete includeEmptyDirs="true">
|
|
<fileset dir="${tzu.temp.dir}" />
|
|
<fileset dir="${tzu.test.dir}" />
|
|
</delete>
|
|
|
|
<echo>ICUTZU test successful.</echo>
|
|
</target>
|
|
|
|
<target name="icutzusrc-dist" depends="init" description="ICUTZU source distributable zip">
|
|
<zip zipfile="${basedir}/${tzu.src.zip.file}" basedir="${basedir}" includes="${src.dir}/${tzu.src.path}/**/*" />
|
|
</target>
|
|
|
|
<target name="icutzubin-dist" depends="icutzujar" description="ICUTZU binaries distributable zip">
|
|
<zip zipfile="${basedir}/${tzu.bin.zip.file}" basedir="${tzu.bin.dir}" includes="*" />
|
|
</target>
|
|
</project>
|