<!-- /* ******************************************************************************* * Copyright (C) 1997-2006, International Business Machines Corporation and * * others. All Rights Reserved. * ******************************************************************************* * This is the ant build file for ICU4J. See readme.html for more information. */ --> <project name="ICU4J" default="core" basedir="."> <!-- ### Begin Clover 1.2 setup ### --> <typedef resource="clovertypes"/> <taskdef resource="clovertasks"/> <target name="with.clover"> <mkdir dir="tmp/"/> <clover-setup initString="tmp/icu4j.db"> <files> <exclude name="**/dev/**/*.java"/> </files> <methodContext name="API" regexp="(.* )?public .*"/> </clover-setup> </target> <target name="clover.summary" depends="with.clover"> <clover-report > <current outfile="icu4j_html" summary="true"> <format type="html" srcLevel="false"/> </current> </clover-report> </target> <target name="clover.report" depends="with.clover"> <clover-report > <current outfile="icu4j_html"> <format type="html"/> </current> </clover-report> </target> <target name="clover.log" depends="with.clover"> <clover-log level="method" filter="private"> <package name="com.ibm.icu.text"/> <package name="com.ibm.icu.lang"/> <package name="com.ibm.icu.math"/> <package name="com.ibm.icu.util"/> </clover-log> </target> <!-- ### End Clover 1.2 setup ### --> <target name="anthack1"> <!-- It's a real pain to set properties conditionally. Ant 1.5 isn't really any better than 1.4, in fact 1.5 enforces that properties are write-once so you can't even set a default and then override it, which we used to do for Ant 1.4. --> <condition property="version.1.4"> <or> <equals arg1="${ant.java.version}" arg2="1.4"/> <equals arg1="${ant.java.version}" arg2="1.5"/> <equals arg1="${ant.java.version}" arg2="1.6"/> </or> </condition> <condition property="doc.params" value="-breakiterator -use -tagletpath ./classes -taglet com.ibm.icu.dev.tool.docs.ICUTaglet -group 'ICU Core' 'com.ibm.icu.lang*:com.ibm.icu.math*:com.ibm.icu.text*:com.ibm.icu.util*' -group 'ICU Tests' 'com.ibm.icu.dev.test*' -group 'Demos' 'com.ibm.icu.dev.demo*' -group 'ICU Tools' 'com.ibm.icu.dev*'"> <equals arg1="${version.1.4}" arg2="true"/> </condition> <condition property="richeditdoc.params" value="-breakiterator -use -tagletpath ./classes -taglet com.ibm.icu.dev.tool.docs.ICUTaglet -group 'Rich Text Editing' 'com.ibm.richtext*'"> <equals arg1="${version.1.4}" arg2="true"/> </condition> </target> <target name="anthack2" unless="doc.params"> <property name="doc.params" value=""/> </target> <target name="init"> <tstamp/> <property name="src.dir" value="src"/> <property name="build.dir" value="classes"/> <property name="api.dir" value="${src.dir}/com/ibm/icu/dev/tool/docs"/> <property name="doc.dir" value="doc"/> <property name="testjar.file" value="icu4jtests.jar"/> <property name="jar.file" value="icu4j.jar"/> <property name="jarSrc.file" value="icu4jsrc.jar"/> <property name="zipCoreSrc.file" value="icu4jcsrc.zip"/> <property name="zipTestSrc.file" value="icu4jtsrc.zip"/> <property name="jdk.wrapper.jar.file" value="icu4jwrapper.jar"/> <property name="eclipse.dir" value="${src.dir}/com/ibm/icu/dev/eclipse"/> <property name="eclipse.projects.dir" value="eclipseProjects"/> <property name="wrapper.build.dir" value="classes.wrapper"/> <property name="jarDocs.file" value="icu4jdocs.jar"/> <property name="icu4j.manifest" value="${src.dir}/com/ibm/icu/manifest.stub"/> <property name="icu4j.module.manifest" value="${src.dir}/com/ibm/icu/manifest.module.stub"/> <property name="xliff.manifest" value="${src.dir}/com/ibm/dev/tool/localeconverter/manifest.xliff.stub"/> <property name="cldr.util.manifest" value="${src.dir}/com/ibm/icu/dev/test/util/manifest.cldrutil.stub"/> <property name="icu4j.tests.manifest" value="${src.dir}/com/ibm/icu/dev/test/manifest.test.stub"/> <property name="ime.translit.manifest" value="${src.dir}/com/ibm/icu/dev/tool/ime/translit/manifest.stub"/> <property name="ime.translit.jar.file" value="icutransime.jar"/> <property name="ime.indic.manifest" value="${src.dir}/com/ibm/icu/dev/tool/ime/indic/manifest.stub"/> <property name="ime.indic.jar.file" value="icuindicime.jar"/> <property name="zip.file" value="../icu4j${DSTAMP}.zip"/> <property name="zipSrc.file" value="../icu4jSrc${DSTAMP}.zip"/> <!-- fix the data folder every time there is a version update--> <property name="icu4j.data.path" value="com/ibm/icu/impl/data/icudt34b/" /> <property name="icu4j.testdata.path" value="com/ibm/icu/dev/data/testdata/" /> <property name="icu4j.javac.source" value="1.3"/> <property name="icu4j.javac.target" value="1.3"/> <path id="build.classpath"> <pathelement path="${build.dir}"/> </path> <property name="richedit.dir" value="richedit"/> <property name="richedit.doc.dir" value="${richedit.dir}/doc"/> <property name="richedit.jar.file" value="${richedit.dir}/richedit.jar"/> <property name="richedit.zip.file" value="${richedit.dir}/richedit.zip"/> <property name="richedit.manifest" value="${src.dir}/com/ibm/richtext/manifest.stub"/> <!-- Load environment variables --> <property environment="env"/> <!-- Capture the computer name in a cross-platform manner --> <property name="env.COMPUTERNAME" value="${env.HOSTNAME}"/> <mkdir dir="${build.dir}"/> <mkdir dir="${wrapper.build.dir}"/> <echo message="java home: ${java.home}"/> <echo message="java version: ${java.version}"/> <echo message="ant java version: ${ant.java.version}"/> <echo message="${ant.version}"/> <echo message="${env.COMPUTERNAME} with ${os.name} ${os.version} on ${os.arch}"/> <echo message="clover initstring = '${clover.initstring}'"/> <uptodate property="icu4j.resources" targetfile="${src.dir}/com/ibm/icu/impl/data"> <!-- note must not have '/' before 'com' in srcfiles includes arg! --> <srcfiles dir="${build.dir}" includes="${icu4j.data.path}/res_index.res"/> </uptodate> <uptodate property="icu4j.testdata.resources" targetfile="${src.dir}/com/ibm/icu/dev/data"> <!-- note must not have '/' before 'com' in srcfiles includes arg! --> <srcfiles dir="${build.dir}" includes="${icu4j.testdatadata.path}/root.res"/> </uptodate> <uptodate property="icu4j.module.resources" targetfile="${src.dir}/com/ibm/icu/impl/data/icudata.jar" > <srcfiles dir="${build.dir}" includes="${icu4j.data.path}/*.icu"/> </uptodate> <!-- <echo message="icu4j.module.resources result: ${icu4j.module.resources}" /> --> </target> <!-- build everything but dist-related stuff --> <target name="all" depends="core,tests,tools,richedit,demos,jar,docs" description="build all primary targets"/> <target name="resources" depends="init, testdata" description="builds all the resources"> <unjar src="${src.dir}/com/ibm/icu/impl/data/icudata.jar" dest="${build.dir}"/> <touch file="${build.dir}/${icu4j.data.path}/res_index.res"/> </target> <target name="icudata" depends="init" if="icu4j.resources"> <!-- use this target to force resources to be rebuilt --> <unjar src="${src.dir}/com/ibm/icu/impl/data/icudata.jar" dest="${build.dir}"/> <touch file="${build.dir}/${icu4j.data.path}/res_index.res"/> </target> <!-- use this target to conditionally build resources only if icu4j.resources is set <target name="icu" depends="init" if="icu4j.resources"> <unjar src="${src.dir}/com/ibm/icu/impl/data/ICULocaleData.jar" dest="${build.dir}"/> <touch file="${build.dir}/com/ibm/icu/impl/data/LocaleElements_index.class"/> </target> --> <!-- core does not build richedit or tests --> <target name="core" depends="init,coreData,icudata" description="build core classes and data"> <javac includes="com/ibm/icu/util/**/*.java,com/ibm/icu/text/**/*.java,com/ibm/icu/math/**/*.java,com/ibm/icu/impl/**/*.java,com/ibm/icu/lang/*.java" excludes="**/CVS/**/*" 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="tests" depends="core,testdata" description="build tests"> <javac includes="com/ibm/icu/dev/test/calendar/**/*.java" excludes="**/CVS/**/*" srcdir="${src.dir}" destdir="${build.dir}" classpathref="build.classpath" source="${icu4j.javac.source}" target="${icu4j.javac.target}" debug="on" deprecation="off"/> <javac includes="com/ibm/icu/dev/test/collator/**/*.java" excludes="**/CVS/**/*" srcdir="${src.dir}" destdir="${build.dir}" classpathref="build.classpath" source="${icu4j.javac.source}" target="${icu4j.javac.target}" debug="on" deprecation="off"/> <javac includes="com/ibm/icu/dev/test/format/**/*.java" excludes="**/CVS/**/*" srcdir="${src.dir}" destdir="${build.dir}" classpathref="build.classpath" source="${icu4j.javac.source}" target="${icu4j.javac.target}" debug="on" deprecation="off"/> <javac includes="com/ibm/icu/dev/test/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"/> <javac includes="com/ibm/icu/dev/test/lang/**/*.java, com/ibm/icu/dev/test/normalizer/**/*.java" excludes="**/CVS/**/*" srcdir="${src.dir}" destdir="${build.dir}" classpathref="build.classpath" source="${icu4j.javac.source}" target="${icu4j.javac.target}" debug="on" deprecation="off"/> <javac includes="com/ibm/icu/dev/test/serializable/**/*.java" excludes="**/CVS/**/*" srcdir="${src.dir}" destdir="${build.dir}" classpathref="build.classpath" source="${icu4j.javac.source}" target="${icu4j.javac.target}" debug="on" deprecation="off"/> <javac includes="com/ibm/icu/dev/test/**/*.java" excludes="**/CVS/**/*" srcdir="${src.dir}" destdir="${build.dir}" classpathref="build.classpath" source="${icu4j.javac.source}" target="${icu4j.javac.target}" debug="on" deprecation="off"/> </target> <target name="demos" depends="core,testdata" description="build demos"> <javac includes="com/ibm/icu/dev/demo/**/*.java" excludes="**/CVS/**/*" srcdir="${src.dir}" destdir="${build.dir}" classpathref="build.classpath" source="${icu4j.javac.source}" target="${icu4j.javac.target}" debug="on" deprecation="off"/> </target> <target name="buildmangle" depends="init,anthack1"> <javac includes="com/ibm/icu/dev/tool/docs/CodeMangler.java" srcdir="${src.dir}" destdir="${build.dir}" classpathref="build.classpath" source="${icu4j.javac.source}" target="${icu4j.javac.target}"/> </target> <target name="mangle" depends="buildmangle"> <!-- this is a hack for now, need a way to express dependency on the .jpp files and to provide directories or trees of files to the code mangler tool. --> <java classname="com.ibm.icu.dev.tool.docs.CodeMangler" classpath="${build.dir}" logError="true"> <arg value="-dVERSION_${ant.java.version}"/> <arg value="${src.dir}/com/ibm/icu/dev/tool/docs/ICUTaglet.java"/> </java> </target> <target name="indices" depends="icudata,build_indexgenerator"> <java classname="com.ibm.icu.dev.tool.index.IndexGenerator" classpath="${build.dir}" logError="true"> <arg value="${build.dir}/${icu4j.data.path}" /> </java> <java classname="com.ibm.icu.dev.tool.index.IndexGenerator" classpath="${build.dir}" logError="true"> <arg value="${build.dir}/${icu4j.data.path}/rbnf" /> </java> <java classname="com.ibm.icu.dev.tool.index.IndexGenerator" classpath="${build.dir}" logError="true"> <arg value="${build.dir}/${icu4j.data.path}/coll" /> </java> <java classname="com.ibm.icu.dev.tool.index.IndexGenerator" classpath="${build.dir}" logError="true"> <arg value="${build.dir}/${icu4j.data.path}/translit" /> </java> </target> <target name="one4tools" depends="anthack1,anthack2,mangle" if="version.1.4"> <javac includes="com/ibm/icu/dev/localeconverter/docs/*.java,com/ibm/icu/dev/tool/docs/*.java" excludes="**/CVS/**/*" srcdir="${src.dir}" destdir="${build.dir}" classpathref="build.classpath" source="${icu4j.javac.source}" target="${icu4j.javac.target}" debug="on" deprecation="off"/> </target> <target name="tools" depends="core,one4tools" description="build tools"> <javac includes="com/ibm/icu/dev/tool/**/*.java" excludes="com/ibm/icu/dev/tool/cldr/*,com/ibm/icu/dev/tool/localeconverter/*,com/ibm/icu/dev/tool/docs/*,**/CVS/**/*" srcdir="${src.dir}" destdir="${build.dir}" classpathref="build.classpath" source="${icu4j.javac.source}" target="${icu4j.javac.target}" debug="on" deprecation="off"/> </target> <target name="build_indexgenerator" depends="core"> <javac includes="com/ibm/icu/dev/tool/index/IndexGenerator.java" srcdir="${src.dir}" destdir="${build.dir}" classpathref="build.classpath" source="${icu4j.javac.source}" target="${icu4j.javac.target}" debug="on" deprecation="off"/> </target> <!-- use excludefiles below when we move to ant 1.5 --> <target name="docs" depends="anthack1,anthack2,tools" description="build user javadoc"> <echo message="doc params: ${doc.params}"/> <mkdir dir="${doc.dir}"/> <javadoc packagenames="com.ibm.icu.lang,com.ibm.icu.text,com.ibm.icu.util,com.ibm.icu.math,com.ibm.icu.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) 2006 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="anthack1,anthack2,tools" description="build all javadoc"> <echo message="doc params: ${doc.params}"/> <mkdir dir="${doc.dir}"/> <javadoc packagenames="com.ibm.icu.*" sourcepath="${src.dir}" destdir="${doc.dir}" nodeprecatedlist="true" windowtitle="icu4j" doctitle="icu4j" encoding="iso-8859-1" docencoding="iso-8859-1" bottom="<font size=-1>Copyright (c) 2004 IBM Corporation and others.</font>" additionalparam="${doc.params}" link="http://java.sun.com/j2se/1.4/docs/api" source="1.4"/> </target> <target name ="coreData" depends="init"> <copy todir="${build.dir}/com/ibm/icu/impl/data"> <fileset dir="${src.dir}/com/ibm/icu/impl/data" includes="*.icu,*.spp,*.brk" excludes="**/CVS/**/*,Transliterator_Han_Latin_*.txt"/> </copy> </target> <target name ="testdata" depends="init"> <copy file="${src.dir}/com/ibm/icu/dev/data/rbbi/english.dict" todir="${build.dir}/com/ibm/icu/dev/data/rbbi"/> <copy file="${src.dir}/com/ibm/icu/dev/test/rbbi/rbbitst.txt" todir="${build.dir}/com/ibm/icu/dev/test/rbbi"/> <copy file="${src.dir}/com/ibm/icu/dev/test/charsetdet/CharsetDetectionTests.xml" todir="${build.dir}/com/ibm/icu/dev/test/charsetdet"/> <copy todir="${build.dir}/com/ibm/icu/dev/test/serializable/data"> <fileset dir="${src.dir}/com/ibm/icu/dev/test/serializable/data"> <include name="**/*.dat"/> </fileset> </copy> <copy file="${src.dir}/com/ibm/icu/dev/data/riwords.txt" todir="${build.dir}/com/ibm/icu/dev/data"/> <copy file="${src.dir}/com/ibm/icu/dev/data/IDNATestInput.txt" todir="${build.dir}/com/ibm/icu/dev/data"/> <javac includes="com/ibm/icu/dev/data/*.java, com/ibm/icu/dev/data/resources/*.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/data"> <fileset dir="${src.dir}/com/ibm/icu/dev/data" includes="*.spp,*.txt"/> </copy> <copy todir="${build.dir}/com/ibm/icu/dev/data/unicode/"> <fileset dir="${src.dir}/com/ibm/icu/dev/data/unicode/" includes="*.txt"/> </copy> <copy file="${src.dir}/com/ibm/icu/dev/test/format/NumberFormatTestCases.txt" todir="${build.dir}/com/ibm/icu/dev/test/format"/> <copy todir="${build.dir}/com/ibm/icu/dev/data/resources/"> <fileset dir="${src.dir}/com/ibm/icu/dev/data/resources/" includes="*.properties"/> </copy> <!-- use this target to force resources to be rebuilt --> <unjar src="${src.dir}/com/ibm/icu/dev/data/testdata.jar" dest="${build.dir}"/> <touch file="${build.dir}/${icu4j.testdata.path}/root.res"/> </target> <!-- builds richedit and richedit tests --> <target name="richedit" depends="init" description="build richedit classes and tests"> <javac includes="com/ibm/richtext/**/*.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/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" description="build full '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="${icu4j.manifest}"/> </target> <target name="jarTests" depends="tests,jar" description="build runtime 'icu4jtests.jar' jar file"> <jar jarfile="${testjar.file}" compress="true" manifest="${icu4j.tests.manifest}"> <fileset dir="${build.dir}" includes="com/ibm/icu/dev/test/**/*"/> <fileset dir="${build.dir}" includes="com/ibm/icu/dev/data/**/*"/> </jar> </target> <target name="jarSrc" depends="init" description="build source 'icu4jsrc.jar' jar file"> <!--Create a jar archive of just the source for distribution. The jar file will be created in the directory above the root ICU4J directory. The exclude pattern ${src.dir}/com/ibm/icu/dev/data/unicode/UnicodeData-*.txt and ${src.dir}/com/ibm/icu/dev/data/unicode/SpecialCasing-*.txt eliminates old archive copies like SpecialCasing-2.txt and UnicodeData-2.1.8.txt --> <jar jarfile="${jarSrc.file}" compress="true" basedir="." excludes="${richedit.dir}/**/*,test_*,${src.dir}/com/ibm/icu/dev/data/unicode//UnicodeData-*.txt,${src.dir}/com/ibm/icu/dev/data/unicode/SpecialCasing-*.txt,${src.dir}/com/ibm/icu/dev/data/unicode/CompositionExclusions-*.txt,${obsolete.dir}/**,**/*~,${src.dir}/**/*.class,${build.dir}/**,**/CVS/**/*,${doc.dir}/**,*.jar,*.zip, *.gz" manifest="${icu4j.manifest}"/> </target> <target name="jarDocs" depends="docs" description="build documentation 'icu4jdocs.jar' jar file"> <jar jarfile="${jarDocs.file}" compress="true" basedir="${doc.dir}" manifest="${icu4j.manifest}"/> </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="init" > <delete failonerror="no"> <fileset dir="${build.dir}/com/ibm/icu/text"/> <fileset dir="${build.dir}/com/ibm/icu/impl"/> <fileset dir="${build.dir}/com/ibm/icu/math"/> <fileset dir="${build.dir}/com/ibm/icu/lang"/> <fileset dir="${build.dir}/com/ibm/icu/util"/> </delete> </target> <target name="check" depends="tests, jar, deleteCore" description="run standard icu4j test suite"> <java classname="com.ibm.icu.dev.test.TestAll" fork="yes" failonerror="true"> <jvmarg value="-ea"/> <!-- enable assertion checks --> <arg value="-n"/> <classpath> <pathelement path="${java.class.path}/"/> <pathelement location="icu4j.jar"/> <pathelement location="clover.jar"/> <pathelement path="${build.dir}"/> </classpath> </java> </target> <target name="exhaustiveCheck" depends="tests, jar, deleteCore" description="run standard icu4j test suite in exhaustive mode"> <java classname="com.ibm.icu.dev.test.TestAll" fork="yes" failonerror="true"> <jvmarg value="-ea"/> <!-- enable assertion checks --> <arg value="-n"/> <arg value="-e10"/> <classpath> <pathelement path="${java.class.path}/"/> <pathelement location="icu4j.jar"/> <pathelement location="clover.jar"/> <pathelement path="${build.dir}"/> </classpath> </java> </target> <target name="secure" depends="jarTests" description="builds icu4j.jar and icu4jtests.jar"/> <target name="secureCheck" depends="secure" description="run secure (applet-like) icu4j test suite"> <java classname="com.ibm.icu.dev.test.TestAll" fork="yes" failonerror="true"> <!-- jvmarg value="-verbose"/ --> <!-- (use for debugging, LOTS of output) <jvmarg value="-Djava.security.debug=access:trace"/ --> <!-- <jvmarg value="-Djava.security.debug=access:failure,domain"/> --> <jvmarg value="-Djava.security.manager"/> <jvmarg value="-Djava.security.policy=${src.dir}/com/ibm/icu/dev/test/security.policy"/> <!-- jvmarg value="-Djava.security.debug=access:failure"/ --> <arg value="-w"/> <classpath> <pathelement location="clover.jar"/> <pathelement location="${jar.file}"/> <pathelement location="${testjar.file}"/> </classpath> </java> </target> <target name="noData" depends="core, tests" description="builds ICU4J without any data"> <delete failonerror="no"> <fileset dir="${build.dir}/${icu4j.data.path}/../" includes="Holiday*.class"/> <fileset dir="${build.dir}/${icu4j.data.path}/../" includes="BreakIterator*.class"/> <fileset dir="${build.dir}/${icu4j.data.path}"/> <fileset dir="${build.dir}/${icu4j.testdata.path}"/> <fileset dir="${build.dir}/${icu4j.testdata.path}../"/> </delete> </target> <target name="noDataCheck" depends="noData" description="runs the tests when no data is present"> <java classname="com.ibm.icu.dev.test.TestAll" fork="yes" failonerror="true"> <arg value="-nothrow"/> <arg value="-nodata"/> <classpath> <pathelement location="clover.jar"/> <pathelement location="${build.dir}"/> </classpath> </java> </target> <target name="_requires14" unless="version.1.4"> <echo message="One of your targets requires JAVA_HOME to be set to JDK version 1.4"/> </target> <target name="_checktags" depends="anthack1,anthack2,tools" if="version.1.4"> <echo message="doc params: ${doc.params}"/> <javadoc sourcepath="${src.dir}" packagenames="com.ibm.icu.*" excludepackagenames="com.ibm.icu.dev.*,com.ibm.icu.impl.*" classpath="${build.dir}" source="1.4"> <doclet name="com.ibm.icu.dev.tool.docs.CheckTags" path="${build.dir}"> <!-- <param name="-short"/> --> </doclet> </javadoc> </target> <target name="checktags" depends="anthack1,anthack2,_requires14,_checktags" description="check API tags before release"/> <target name="gatherapi" depends="tools" if="version.1.4" description="run API database generator tool"> <javadoc classpath="${build.dir}" sourcepath="${src.dir}" packagenames="com.ibm.icu.lang,com.ibm.icu.math,com.ibm.icu.text,com.ibm.icu.util" source="1.4"> <doclet name="com.ibm.icu.dev.tool.docs.GatherAPIData" path="${build.dir}"> <param name="-name" value="ICU4J 3.4.5"/> <param name="-output" value="${api.dir}/icu4j345.api"/> <param name="-gzip"/> </doclet> </javadoc> </target> <target name="apireport" depends="tools" if="version.1.4" description="run API report generator tool"> <java classname="com.ibm.icu.dev.tool.docs.ReportAPI" classpath="${build.dir}" failonerror="true"> <arg value="-old:"/> <arg value="${api.dir}/icu4j343.api.gz"/> <arg value="-new:"/> <arg value="${api.dir}/icu4j345.api.gz"/> <arg value="-html"/> <arg value="-out:"/> <arg value="${api.dir}/icu4j_compare_343_345.html"/> </java> </target> <target name="clean" depends="init" description="remove all build targets"> <delete dir="${build.dir}"/> <delete dir="${doc.dir}"/> <delete file="${jar.file}"/> <delete dir="${richedit.dir}"/> <delete file="${testjar.file}"/> <delete file="${jarSrc.file}"/> <delete dir="${eclipse.projects.dir}"/> <delete dir="${wrapper.build.dir}"/> <delete file="${zipCoreSrc.file}"/> <delete file="${zipTestSrc.file}"/> <delete file="${jdk.wrapper.jar.file}"/> </target> <!-- Targets to copy the required *.icu files --> <target name="normalizerData" depends="init" > <unjar src="${src.dir}/com/ibm/icu/impl/data/icudata.jar" dest="${build.dir}"> <patternset> <!-- arrgh, includes attributes of patternset does not work here in ant 1.5.3 --> <include name="**/unorm.icu"/> <include name="**/uprops.icu"/> <include name="**/pnames.icu"/> <include name="**/unames.icu"/> </patternset> </unjar> <touch file="${build.dir}/${icu4j.data.path}/uprops.icu"/> </target> <target name="copyFullPropsData" depends="init" > <unjar src="${src.dir}/com/ibm/icu/impl/data/icudata.jar" dest="${build.dir}"> <patternset> <!-- arrgh, includes attributes of patternset does not work here in ant 1.5.3 --> <include name="**/unorm.icu"/> <include name="**/uprops.icu"/> <include name="**/ubidi.icu"/> <include name="**/ucase.icu"/> <include name="**/unames.icu"/> <include name="**/pnames.icu"/> <include name="**/*.res"/> <include name="**/*.brk"/> <exclude name="**/coll/*.res"/> <exclude name="**/translit/*.res"/> <exclude name="**/rbnf/*.res"/> </patternset> </unjar> <touch file="${build.dir}/${icu4j.data.path}/uprops.icu"/> </target> <target name="copyBasicPropsData" depends="init" > <unjar src="${src.dir}/com/ibm/icu/impl/data/icudata.jar" dest="${build.dir}"> <patternset> <!-- arrgh, includes attributes of patternset does not work here in ant 1.5.3 --> <include name="**/unorm.icu"/> <include name="**/uprops.icu"/> <include name="**/ubidi.icu"/> <include name="**/ucase.icu"/> <include name="**/pnames.icu"/> <include name="**/unames.icu"/> </patternset> </unjar> <touch file="${build.dir}/${icu4j.data.path}/uprops.icu"/> </target> <target name="copyCollatorData" depends="init"> <unjar src="${src.dir}/com/ibm/icu/impl/data/icudata.jar" dest="${build.dir}"> <patternset> <!-- arrgh, includes attributes of patternset does not work here in ant 1.5.3 --> <include name="**/*.icu"/> <include name="**/coll/*.res"/> <include name="**/*.brk"/> </patternset> </unjar> <touch file="${build.dir}/${icu4j.data.path}/uprops.icu"/> </target> <target name="copyCalendarData" depends="init"> <!-- Calendar does not require Collation data, BreakIterator data --> <unjar src="${src.dir}/com/ibm/icu/impl/data/icudata.jar" dest="${build.dir}"> <patternset> <!-- arrgh, includes attributes of patternset does not work here in ant 1.5.3 --> <include name="**/unorm.icu"/> <include name="**/uprops.icu"/> <include name="**/pnames.icu"/> <include name="**/unames.icu"/> <include name="**/*.res"/> <exclude name="**/coll/*.res"/> <exclude name="**/translit/*.res"/> <exclude name="**/rbnf/*.res"/> </patternset> </unjar> <touch file="${build.dir}/${icu4j.data.path}/uprops.icu"/> </target> <target name="copyTranslitData" depends="init"> <!-- Calendar does not require Collation data, BreakIterator data --> <unjar src="${src.dir}/com/ibm/icu/impl/data/icudata.jar" dest="${build.dir}"> <patternset> <!-- arrgh, includes attributes of patternset does not work here in ant 1.5.3 --> <include name="**/unorm.icu"/> <include name="**/uprops.icu"/> <include name="**/ubidi.icu"/> <include name="**/ucase.icu"/> <include name="**/unames.icu"/> <include name="**/pnames.icu"/> <include name="**/*.brk"/> <include name="**/translit/*.res"/> </patternset> </unjar> <touch file="${build.dir}/${icu4j.data.path}/uprops.icu"/> </target> <target name="copyFormatData" depends="init" if="icu4j.module.resources"> <!-- Format does not require BreakIterator data --> <unjar src="${src.dir}/com/ibm/icu/impl/data/icudata.jar" dest="${build.dir}"> <patternset> <!-- arrgh, includes attributes of patternset does not work here in ant 1.5.3 --> <include name="**/*.icu"/> <include name="**/*.res"/> <exclude name="**/translit/*.res"/> </patternset> </unjar> <touch file="${build.dir}/${icu4j.data.path}/uprops.icu"/> </target> <target name="copyAllICUData" depends="init"> <unjar src="${src.dir}/com/ibm/icu/impl/data/icudata.jar" dest="${build.dir}"/> </target> <target name="moduleJar" depends="init" description="modular build of 'icu4j.jar' jar file"> <jar jarfile="${jar.file}" compress="true" includes="com/ibm/icu/util/**/*,com/ibm/icu/text/**/*,com/ibm/icu/math/**/*,com/ibm/icu/impl/**/*,com/ibm/icu/lang/**/*" basedir="${build.dir}" manifest="${icu4j.module.manifest}"/> </target> <!-- Targets to build only Normalization API and Normalization tests --> <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"/> </target> <target name="normalizerTests" depends="normalizer"> <javac includes="com/ibm/icu/dev/test/TestFmwk.java,com/ibm/icu/dev/test/TestLog.java,com/ibm/icu/dev/test/TestUtil.java,com/ibm/icu/dev/test/UTF16Util.java,com/ibm/icu/dev/test/TestAll.java,com/ibm/icu/dev/test/normalizer/**/*.java" excludes="**/CVS/**/*,com/ibm/icu/dev/test/normalizer/TestDeprecatedNormalizerAPI.java" srcdir="${src.dir}" destdir="${build.dir}" source="${icu4j.javac.source}" target="${icu4j.javac.target}" classpathref="build.classpath" debug="on" deprecation="off"/> </target> <!-- Targets to build only Collation API and Collation tests --> <target name="collator" depends="init,copyCollatorData" description="modular build of collator services"> <javac includes="com/ibm/icu/text/*Collator*.java,com/ibm/icu/text/*Collation*.java,com/ibm/icu/text/*BreakIterator*.java,com/ibm/icu/text/Normalizer.java,com/ibm/icu/text/UTF16.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/impl/data/*Break*.java" excludes="**/CVS/**/*, com/ibm/icu/lang/UScriptRun.java,com/ibm/icu/impl/UtilityExtensions.java,com/ibm/icu/impl/UnicodeCharacterIterator.java" srcdir="${src.dir}" destdir="${build.dir}" classpathref="build.classpath" source="${icu4j.javac.source}" target="${icu4j.javac.target}" debug="on" deprecation="off"/> </target> <target name="collatorTests" depends="collator" description="test collator modular build target"> <javac includes="com/ibm/icu/dev/test/TestFmwk.java,com/ibm/icu/dev/test/TestLog.java,com/ibm/icu/dev/test/TestUtil.java,com/ibm/icu/dev/test/UTF16Util.java,com/ibm/icu/dev/test/TestAll.java,com/ibm/icu/dev/test/collator/**/*.java,com/ibm/icu/dev/test/search/**/*.java" excludes="**/CVS/**/*, com/ibm/icu/dev/test/collator/RandomCollator.java" srcdir="${src.dir}" destdir="${build.dir}" classpathref="build.classpath" source="${icu4j.javac.source}" target="${icu4j.javac.target}" debug="on" deprecation="off"/> </target> <!-- Targets to build only Character properties API and tests --> <target name="propertiesBasic" depends="init, propertiesClasses, copyBasicPropsData" description="modular build of basic character properties"> </target> <target name="propertiesFull" depends="init,propertiesClasses,copyFullPropsData" description="modular build of full character properties"> </target> <target name="propertiesClasses"> <javac includes="com/ibm/icu/lang/**/*, com/ibm/icu/text/*BreakIterator*.java,com/ibm/icu/text/*BreakDictionary*.java,com/ibm/icu/impl/data/*Break*.java,com/ibm/icu/text/UnicodeSetIterator.java," excludes="**/CVS/**/*,com/ibm/icu/impl/UtilityExtensions.java" srcdir="${src.dir}" destdir="${build.dir}" source="${icu4j.javac.source}" target="${icu4j.javac.target}" classpathref="build.classpath" debug="on" deprecation="off"/> </target> <target name="propertiesBasicTests" depends="propertiesBasic" description="test propertiesBasic modular build target"> <copy file="${src.dir}/com/ibm/icu/dev/data/unicode/SpecialCasing.txt" todir="${build.dir}/com/ibm/icu/dev/data/unicode/"/> <javac includes="com/ibm/icu/dev/test/TestFmwk.java,com/ibm/icu/dev/test/TestLog.java,com/ibm/icu/dev/test/TestUtil.java,com/ibm/icu/dev/test/UTF16Util.java,com/ibm/icu/dev/test/TestAll.java,com/ibm/icu/dev/test/lang/**/*.java" excludes="**/CVS/**/*,com/ibm/icu/dev/test/lang/TestUScriptRun.java" srcdir="${src.dir}" destdir="${build.dir}" classpathref="build.classpath" source="${icu4j.javac.source}" target="${icu4j.javac.target}" debug="on" deprecation="off"/> </target> <target name="propertiesFullTests" depends="propertiesFull" description="test propertiesFull modular build target"> <copy file="${src.dir}/com/ibm/icu/dev/data/unicode/SpecialCasing.txt" todir="${build.dir}/com/ibm/icu/dev/data/unicode/"/> <javac includes="com/ibm/icu/dev/test/TestFmwk.java,com/ibm/icu/dev/test/TestLog.java,com/ibm/icu/dev/test/TestUtil.java,com/ibm/icu/dev/test/UTF16Util.java,com/ibm/icu/dev/test/TestAll.java,com/ibm/icu/dev/test/lang/**/*.java" excludes="**/CVS/**/*,com/ibm/icu/dev/test/lang/TestUScriptRun.java" srcdir="${src.dir}" destdir="${build.dir}" classpathref="build.classpath" source="${icu4j.javac.source}" target="${icu4j.javac.target}" debug="on" deprecation="off"/> </target> <!-- Targets to build only Compression API API and tests --> <target name="compression" depends="init" description="modular build of compression services"> <javac includes="com/ibm/icu/text/SCSU.java, com/ibm/icu/text/UnicodeCompressor.java, com/ibm/icu/text/UnicodeDecompressor.java" excludes="**/CVS/**/*" srcdir="${src.dir}" destdir="${build.dir}" source="${icu4j.javac.source}" target="${icu4j.javac.target}" classpathref="build.classpath" debug="on" deprecation="off"/> </target> <target name="compressionTests" depends="compression" description="test compression modular build target"> <javac includes="com/ibm/icu/dev/test/TestFmwk.java,com/ibm/icu/dev/test/TestLog.java,com/ibm/icu/dev/test/TestUtil.java,com/ibm/icu/dev/test/UTF16Util.java,com/ibm/icu/dev/test/TestAll.java,com/ibm/icu/dev/test/compression/**/*.java" excludes="**/CVS/**/*" srcdir="${src.dir}" destdir="${build.dir}" classpathref="build.classpath" source="${icu4j.javac.source}" target="${icu4j.javac.target}" debug="on" deprecation="off"/> </target> <!-- Targets to build only Calendar API and Calendar tests --> <target name="calendar" depends="init,copyCalendarData" description="modular build of calendar services"> <javac includes="com/ibm/icu/util/*Calendar*.java,com/ibm/icu/lang/UCharacter.java,com/ibm/icu/text/UnicodeSetIterator.java,com/ibm/icu/text/NumberFormat*Shim.java,com/ibm/icu/impl/data/*Calendar*.java,com/ibm/icu/impl/data/*Holiday*.java" excludes="**/CVS/**/*, com/ibm/icu/lang/UScriptRun.java,com/ibm/icu/impl/UtilityExtensions.java,com/ibm/icu/impl/BOCU.java,com/ibm/icu/impl/TrieBuilder.java,com/ibm/icu/impl/IntTrieBuilder.java" srcdir="${src.dir}" destdir="${build.dir}" source="${icu4j.javac.source}" target="${icu4j.javac.target}" classpathref="build.classpath" debug="on" deprecation="off"/> </target> <target name="calendarTests" depends="calendar" description="test calendar modular build target"> <javac includes="com/ibm/icu/dev/test/TestFmwk.java,com/ibm/icu/dev/test/TestLog.java,com/ibm/icu/dev/test/TestUtil.java,com/ibm/icu/dev/test/UTF16Util.java,com/ibm/icu/dev/test/TestAll.java,com/ibm/icu/dev/test/calendar/**/*" excludes="**/CVS/**/*" srcdir="${src.dir}" destdir="${build.dir}" classpathref="build.classpath" source="${icu4j.javac.source}" target="${icu4j.javac.target}" debug="on" deprecation="off"/> </target> <!-- Targets to build only Transliterator API and tests --> <target name="transliterator" depends="init,propertiesClasses,copyTranslitData" description="modular build of unicode transform services"> <javac includes="com/ibm/icu/text/*Transliterator*.java,com/ibm/icu/text/UnicodeSetIterator.java,com/ibm/icu/impl/*Property*.java,com/ibm/icu/impl/*Iterator*.java,com/ibm/icu/impl/data/ResourceReader.java,com/ibm/icu/impl/UtilityExtensions.java" excludes="**/CVS/**/*, com/ibm/icu/lang/UScriptRun.java,com/ibm/icu/impl/BOCU.java,com/ibm/icu/impl/TrieBuilder.java,com/ibm/icu/impl/IntTrieBuilder.java,com/ibm/icu/text/UnicodeFilterLogic*.java" srcdir="${src.dir}" destdir="${build.dir}" source="${icu4j.javac.source}" target="${icu4j.javac.target}" classpathref="build.classpath" debug="on" deprecation="off"/> </target> <target name="transliteratorTests" depends="transliterator" description = "test transliterator modular build target"> <javac includes="com/ibm/icu/dev/test/TestFmwk.java,com/ibm/icu/dev/test/TestLog.java,com/ibm/icu/dev/test/TestUtil.java,com/ibm/icu/dev/test/UTF16Util.java,com/ibm/icu/dev/test/TestAll.java,com/ibm/icu/dev/test/translit/**/*" excludes="**/CVS/**/*,com/ibm/icu/dev/test/translit/UnicodeFilterLogic*.java" srcdir="${src.dir}" destdir="${build.dir}" classpathref="build.classpath" source="${icu4j.javac.source}" target="${icu4j.javac.target}" debug="on" deprecation="off"/> </target> <!-- Targets to build only Format API --> <target name="format" depends="init,copyFormatData" description="modular build of formatting services"> <javac includes="com/ibm/icu/text/*Format*.java,com/ibm/icu/lang/UCharacter.java,com/ibm/icu/text/*Collator*.java,com/ibm/icu/text/UnicodeSetIterator.java,com/ibm/icu/impl/data/CalendarData*.java" excludes="**/CVS/**/*, com/ibm/icu/lang/UScriptRun.java,com/ibm/icu/impl/UtilityExtensions.java,com/ibm/icu/impl/BOCU.java,com/ibm/icu/impl/TrieBuilder.java,com/ibm/icu/impl/IntTrieBuilder.java" srcdir="${src.dir}" destdir="${build.dir}" source="${icu4j.javac.source}" target="${icu4j.javac.target}" classpathref="build.classpath" debug="on" deprecation="off"/> </target> <target name="formatTests" depends="format" description="test format modular build target"> <javac includes="com/ibm/icu/dev/test/TestFmwk.java,com/ibm/icu/dev/test/TestLog.java,com/ibm/icu/dev/test/TestUtil.java,com/ibm/icu/dev/test/UTF16Util.java,com/ibm/icu/dev/test/TestAll.java,com/ibm/icu/dev/test/format/**/*" 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/test/format/NumberFormatTestCases.txt" todir="${build.dir}/com/ibm/icu/dev/test/format"/> </target> <!-- Targets to build only BreakIterator API --> <target name="breakIterator" depends="init,copyFullPropsData" description="modular build of break iterator services"> <javac includes="com/ibm/icu/text/*BreakIterator*.java,com/ibm/icu/impl/data/*Break*.java,com/ibm/icu/lang/**/*,com/ibm/icu/impl/UCharacterName.java,com/ibm/icu/text/UnicodeSetIterator.java" excludes="**/CVS/**/*, com/ibm/icu/lang/UScriptRun.java,com/ibm/icu/impl/UtilityExtensions.java,com/ibm/icu/impl/BOCU.java,com/ibm/icu/impl/TrieBuilder.java,com/ibm/icu/impl/IntTrieBuilder.java" srcdir="${src.dir}" destdir="${build.dir}" source="${icu4j.javac.source}" target="${icu4j.javac.target}" classpathref="build.classpath" debug="on" deprecation="off"/> <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 includes="com/ibm/icu/dev/test/TestFmwk.java,com/ibm/icu/dev/test/TestLog.java,com/ibm/icu/dev/test/TestUtil.java,com/ibm/icu/dev/test/UTF16Util.java,com/ibm/icu/dev/test/TestAll.java,com/ibm/icu/dev/test/rbbi/**/*" 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/test/rbbi/rbbitst.txt" todir="${build.dir}/com/ibm/icu/dev/test/rbbi"/> </target> <!-- Targets to build only StringPrep and IDNA API --> <target name="copyStringPrepData" depends="init"> <unjar src="${src.dir}/com/ibm/icu/impl/data/icudata.jar" dest="${build.dir}"> <patternset> <!-- arrgh, includes attributes of patternset does not work here in ant 1.5.3 --> <include name="**/*.spp"/> <include name="**/ubidi.icu"/> <include name="**/ucase.icu"/> <include name="**/unorm.icu"/> <include name="**/uprops.icu"/> <include name="**/pnames.icu"/> <include name="**/unames.icu"/> </patternset> </unjar> </target> <target name="stringPrep" depends="init,normalizer,copyStringPrepData" description="modular build of stringprep services"> <javac includes="com/ibm/icu/text/*StringPrep*.java,com/ibm/icu/text/*IDNA*.java,com/ibm/icu/impl/*StringPrep*.java" excludes="**/CVS/**/*, com/ibm/icu/lang/UScriptRun.java,com/ibm/icu/impl/UtilityExtensions.java,com/ibm/icu/impl/BOCU.java,com/ibm/icu/impl/TrieBuilder.java,com/ibm/icu/impl/IntTrieBuilder.java, com/ibm/icu/impl/Calendar*.java" srcdir="${src.dir}" destdir="${build.dir}" source="${icu4j.javac.source}" target="${icu4j.javac.target}" classpathref="build.classpath" debug="on" deprecation="off"/> </target> <target name="stringPrepTests" depends="stringPrep" description="test stringPrep modular build target"> <javac includes="com/ibm/icu/dev/test/TestFmwk.java,com/ibm/icu/dev/test/TestLog.java,com/ibm/icu/dev/test/TestUtil.java,com/ibm/icu/dev/test/UTF16Util.java,com/ibm/icu/dev/test/TestAll.java,com/ibm/icu/dev/test/stringprep/**/*" excludes="**/CVS/**/*" srcdir="${src.dir}" destdir="${build.dir}" classpathref="build.classpath" source="${icu4j.javac.source}" target="${icu4j.javac.target}" debug="on" deprecation="off"/> <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="moduleCheck" depends="init" description="run tests for module jar"> <java classname="com.ibm.icu.dev.test.TestAll" fork="yes" failonerror="true"> <arg value="-nothrow"/> <arg value="-nodata"/> <classpath> <pathelement location="${build.dir}"/> </classpath> </java> </target> <!-- build the extra Transliterator data pertaining to Han-Latin transliteration --> <target name="extraTransliteratorData" depends="init" description="build han-to-latin transliterator data (normally omitted)"> <copy todir="${build.dir}/com/ibm/icu/impl/data"> <fileset dir="${src.dir}/com/ibm/icu/impl/data" includes="Transliterator_Han_Latin_*.txt"/> </copy> </target> <!-- Target for builing XLIFF2ICUConverter Jar --> <target name="xliff" depends="init" description="build xliff converter tool"> <javac includes="com/ibm/icu/dev/tool/localeconverter/XLIFF2ICUConverter.java,com/ibm/icu/dev/tool/localeconverter/CalculateCRC32.java,com/ibm/icu/dev/tool/UOption.java,com/ibm/icu/dev/tool/xmlcomparator/XMLValidator.java" srcdir="${src.dir}" destdir="${build.dir}" classpathref="build.classpath" source="${icu4j.javac.source}" target="${icu4j.javac.target}" debug="on" deprecation="off"/> <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="${icu4j.module.manifest}"/> <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="${icu4j.module.manifest}"/> </target> <!-- Target for builing Utilities Jar for CLDR --> <target name="cldrUtil" depends="init" description="build Utilities for CLDR"> <javac includes="com/ibm/icu/dev/test/util/*.java,com/ibm/icu/dev/test/TestFmwk.java,com/ibm/icu/dev/tool/UOption.java" srcdir="${src.dir}" destdir="${build.dir}" source="${icu4j.javac.source}" target="${icu4j.javac.target}" classpathref="build.classpath" debug="on" deprecation="off"/> <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="${cldr.util.manifest}"/> </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 includes="TestData_en.java, TestDefaultPackageLoading.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 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" description="Run Tests for loading resources in the default package"> <!--run the tests --> <java classname="TestDefaultPackageLoading" fork="yes" failonerror="true"> <jvmarg value="-ea"/> <!-- enable assertion checks --> <arg value="-n"/> <classpath> <pathelement path="${java.class.path}/"/> <pathelement location="clover.jar"/> <pathelement path="${build.dir}"/> </classpath> </java> </target> <!-- convert @deprecated @draft tags to @provisional --> <target name="swatDeprecated" depends="init, tools" if="version.1.4"> <java classname="com.ibm.icu.dev.tool.docs.SwatDeprecated" classpath="${build.dir}" failonerror="true"> <arg value="-src"/> <arg value="${src.dir}"/> <arg value="-dst"/> <arg value="${src.dir}"/> <arg value="-overwrite"/> <arg value="-verbose"/> </java> </target> <!-- convert @provisional tags to @deprecated --> <target name="restoreDeprecated" depends="init, tools" if="version.1.4"> <java classname="com.ibm.icu.dev.tool.docs.SwatDeprecated" classpath="${build.dir}" failonerror="true"> <arg value="-prov"/> <arg value="-src"/> <arg value="${src.dir}"/> <arg value="-dst"/> <arg value="${src.dir}"/> <arg value="-overwrite"/> <arg value="-verbose"/> </java> </target> <!-- for building eclipse distribution --> <target name="initIcuEclipseVersion" depends="init"> <property name="icu4j.eclipse.spec.version.string" value="3.4.5"/> <tstamp> <format property="build.date" pattern="yyyyMMdd"/> </tstamp> <property name="icu4j.eclipse.build.version.string" value="${icu4j.eclipse.spec.version.string}.${build.date}"/> <property name="icu4j.version.number" value="34"/> <property name="copyright.eclipse" value="Licensed Materials - Property of IBM 
 (C) Copyright IBM Corp. 2000, 2006. All Rights Reserved. 
 IBM is a registered trademark of IBM Corp."/> </target> <target name="eclipseProjects" depends="eclipseCoreProject,eclipseTestProject,eclipseWrapperProject" description="create all eclipse icu projects"/> <target name="undoEclipseMangle" depends="buildmangle" description="preprocess files back to default)"> <java classname="com.ibm.icu.dev.tool.docs.CodeMangler" classpath="${build.dir}" logError="true"> <arg value="@eclipseCoreArgs.txt"/> <arg value="@eclipseTestArgs.txt"/> </java> </target> <target name="eclipseCoreMangle" depends="buildmangle"> <java classname="com.ibm.icu.dev.tool.docs.CodeMangler" classpath="${build.dir}" logError="true"> <arg value="-dFOUNDATION"/> <arg value="-t"/> <arg value="@eclipseCoreArgs.txt"/> </java> </target> <target name="eclipseCore" depends="init,coreData,icudata,eclipseCoreMangle"> <javac includes="com/ibm/icu/util/**/*.java,com/ibm/icu/text/**/*.java,com/ibm/icu/math/**/*.java,com/ibm/icu/impl/**/*.java,com/ibm/icu/lang/*.java" excludes="**/CVS/**/*,**/GlobalizationPreferences*" 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" 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="${icu4j.manifest}"/> </target> <target name="eclipseCoreProject" depends="eclipseCore,initIcuEclipseVersion" description="gather eclipse icu core project files"> <delete failonerror="no"> <fileset dir="${eclipse.projects.dir}/com.ibm.icu"/> <fileset dir="${eclipse.projects.dir}/com.ibm.icu-feature"/> </delete> <!-- collect source files --> <copy toDir="${eclipse.projects.dir}/com.ibm.icu/src/com/ibm/icu"> <fileset dir="src/com/ibm/icu" includes="impl/**/*,lang/**/*,math/**/*,text/**/*,util/**/*" excludes="**/CVS/**/*,**/*.jar,**/Transliterator_Han_Latin*.txt"/> </copy> <!-- collect icu data files --> <copy todir="${eclipse.projects.dir}/com.ibm.icu/src/com/ibm/icu/impl/data"> <fileset dir="${build.dir}/com/ibm/icu/impl/data" includes="**/*.brk,**/*.icu,**/*.res,**/*.spp,**/*.txt" excludes="**/Transliterator_Han_Latin*.txt"/> </copy> <!-- collect eclipse project files --> <copy todir="${eclipse.projects.dir}"> <fileset dir="${eclipse.dir}" includes="com.ibm.icu/**/*,com.ibm.icu-feature/**/*" excludes="**/CVS/**/*"/> <filterset> <filter token="BUILD_VERSION" value="${icu4j.eclipse.build.version.string}"/> <filter token="COPYRIGHT" value="${copyright.eclipse}"/> <filter token="SPEC_VERSION" value="${icu4j.eclipse.spec.version.string}"/> <filter token="VERSION_NUMBER" value="${icu4j.version.number}"/> </filterset> </copy> <!-- copy ICU license file --> <copy file="license.html" todir="${eclipse.projects.dir}/com.ibm.icu/about_files"/> <!-- ucd terms --> <copy file="src/com/ibm/icu/dev/data/unicode/ucdterms.txt" todir="${eclipse.projects.dir}/com.ibm.icu/about_files"/> <!-- copy ICU about file --> <copy file="${eclipse.dir}/misc/about_icu.html" tofile="${eclipse.projects.dir}/com.ibm.icu/about.html"/> <!-- common eclipse about file --> <copy file="${eclipse.dir}/misc/about.html" todir="${eclipse.projects.dir}/com.ibm.icu-feature/sourceTemplatePlugin"/> </target> <!-- ensure eclipse wrapper code builds with foundation1.0/java1.3 --> <target name="eclipseWrapper" depends="init"> <javac includes="com/ibm/icu/util/**/*.java,com/ibm/icu/text/**/*.java" excludes="**/CVS/**/*,**/GlobalizationPreferences*" compiler="javac1.3" srcdir="${src.dir}/com/ibm/icu/dev/eclipse/com.ibm.icu.base/src" destdir="${wrapper.build.dir}" classpathref="build.classpath" bootclasspath="ee.foundation.jar" source="1.3" target="1.1" debug="on" deprecation="off" encoding="ascii"/> <jar jarfile="${jdk.wrapper.jar.file}" compress="true" basedir="${wrapper.build.dir}"/> </target> <target name="eclipseWrapperTest" depends="init"> <!-- TODO: build the wrapper test code this ant target --> </target> <target name="eclipseWrapperProject" depends="eclipseWrapper,eclipseWrapperTest,initIcuEclipseVersion" description="gather eclipse icu core project files"> <delete failonerror="no"> <fileset dir="${eclipse.projects.dir}/com.ibm.icu.base"/> <fileset dir="${eclipse.projects.dir}/com.ibm.icu.base-feature"/> <fileset dir="${eclipse.projects.dir}/com.ibm.icu.base.tests"/> </delete> <!-- collect eclipse project files --> <copy todir="${eclipse.projects.dir}"> <fileset dir="${eclipse.dir}" includes="com.ibm.icu.base/**/*,com.ibm.icu.base-feature/**/*,com.ibm.icu.base.tests/**/*" excludes="**/CVS/**/*"/> <filterset> <filter token="BUILD_VERSION" value="${icu4j.eclipse.build.version.string}"/> <filter token="COPYRIGHT" value="${copyright.eclipse}"/> <filter token="SPEC_VERSION" value="${icu4j.eclipse.spec.version.string}"/> <filter token="VERSION_NUMBER" value="${icu4j.version.number}"/> </filterset> </copy> <!-- copy ICU license file --> <copy file="license.html" todir="${eclipse.projects.dir}/com.ibm.icu.base/about_files"/> <!-- copy ICU about file --> <copy file="${eclipse.dir}/misc/about_icu.html" tofile="${eclipse.projects.dir}/com.ibm.icu.base/about.html"/> <!-- common eclipse about file --> <copy file="${eclipse.dir}/misc/about.html" todir="${eclipse.projects.dir}/com.ibm.icu.base-feature/sourceTemplatePlugin"/> </target> <target name="eclipseTestMangle" depends="buildmangle"> <java classname="com.ibm.icu.dev.tool.docs.CodeMangler" classpath="${build.dir}" logError="true"> <arg value="-dFOUNDATION"/> <arg value="-t"/> <arg value="@eclipseTestArgs.txt"/> </java> </target> <target name="eclipseTest" depends="eclipseCore,eclipseTestMangle" description="build tests trimmed for eclipse API"> <antcall target="tests"/> <jar jarfile="${testjar.file}" compress="true" manifest="${icu4j.tests.manifest}"> <fileset dir="${build.dir}" includes="com/ibm/icu/dev/test/**/*" excludes="/com/ibm/icu/dev/test/**/GlobalizationPreferences*"/> <fileset dir="${build.dir}" includes="com/ibm/icu/dev/data/**/*"/> </jar> </target> <target name="eclipseTestProject" depends="eclipseTest,zipTestSrc" description="gather eclipse icu test project files"> <delete failonerror="no"> <fileset dir="${eclipse.projects.dir}/com.ibm.icu.tests"/> </delete> <!-- copy eclipse test source and project files --> <copy toDir="${eclipse.projects.dir}/com.ibm.icu.tests"> <fileset dir="${eclipse.dir}/com.ibm.icu.tests" includes="**/*" excludes="**/CVS/**/"/> </copy> <!-- copy icu test jar --> <copy toDir="${eclipse.projects.dir}/com.ibm.icu.tests" file="${testjar.file}"/> <!-- copy icu test source zip --> <copy toDir="${eclipse.projects.dir}/com.ibm.icu.tests" file="${zipTestSrc.file}"/> </target> <target name="zipCoreSrc" depends="init" description="build zip of core sources for debugging"> <!-- for eclipse --> <zip destfile="${zipCoreSrc.file}" compress="true" basedir="${src.dir}" includes="../license.html,../Copyright_Assignment.rtf,com/ibm/icu/impl/**/*,com/ibm/icu/lang/**/*,com/ibm/icu/math/**/*,com/ibm/icu/text/**/*,com/ibm/icu/util/**/*"/> </target> <target name="zipTestSrc" depends="init" description="build zip of test sources for debugging"> <!-- for eclipse --> <zip destfile="${zipTestSrc.file}" compress="true" basedir="${src.dir}" includes="com/ibm/icu/dev/test/**/*" excludes="com/ibm/icu/dev/test/cldr/**/*, com/ibm/icu/dev/test/perf/**/*"/> </target> <target name="gatherICU4JWrapperAPI" depends="tools" if="version.1.4"> <javadoc classpath="${build.dir}" sourcepath="${src.dir}" packagenames="com.ibm.icu.text,com.ibm.icu.util" source="1.4"> <doclet name="com.ibm.icu.dev.tool.docs.GatherAPIData" path="${build.dir}"> <param name="-name" value="ICU4J 3.4.5"/> <param name="-base" value="com.ibm.icu"/> <param name="-output" value="${api.dir}/icu4j345w_i.api"/> <param name="-filter" value="BreakIterator|CollationKey|Collator|DateFormat|DecimalFormat|MessageFormat|NumberFormat|SimpleDateFormat|StringTokenizer|Calendar|TimeZone|ULocale|DateFormatSymbols|DecimalFormatSymbols|Calendar|TimeZone"/> <!-- param name="-gzip"/ --> </doclet> </javadoc> </target> <target name="gatherEclipseWrapperAPI" depends="tools" if="version.1.4"> <javadoc classpath="${build.dir}" sourcepath="${src.dir}/com/ibm/icu/dev/eclipse/com.ibm.icu.base/src" packagenames="com.ibm.icu.text,com.ibm.icu.util" source="1.4"> <doclet name="com.ibm.icu.dev.tool.docs.GatherAPIData" path="${build.dir}"> <param name="-name" value="ICU4J 3.4.5 Wrapper"/> <param name="-base" value="com.ibm.icu"/> <param name="-output" value="${api.dir}/icu4j345w_e.api"/> <!-- param name="-gzip"/ --> </doclet> </javadoc> </target> <target name="reportWrapperAPI" depends="tools" if="version.1.4"> <java classname="com.ibm.icu.dev.tool.docs.ReportAPI" classpath="${build.dir}" failonerror="true"> <arg value="-old:"/> <arg value="${api.dir}/icu4j345w_i.api"/> <arg value="-new:"/> <arg value="${api.dir}/icu4j345w_e.api"/> <arg value="-html"/> <arg value="-out:"/> <arg value="${api.dir}/icu4j_compare_345_wrapper_java.html"/> </java> </target> <target name="runCheck" depends="init,tests"> <java classname="com.ibm.icu.dev.test.TestAll" fork="yes" failonerror="true"> <arg value="-n"/> <classpath> <pathelement path="${java.class.path}/"/> <pathelement location="icu4j.jar"/> <pathelement location="clover.jar"/> <pathelement path="${build.dir}"/> </classpath> </java> </target> <target name="eclipseCompat" depends="init, eclipseCore"/> <target name="eclipseCompatTests" depends="init, eclipseTestMangle, tests" /> <target name="eclipseCompatCheck" depends="init, eclipseCompat, eclipseCompatTests, jar, deleteCore, runCheck"/> <target name="jdk13Compat" depends="init, eclipseCoreMangle, core" description="builds ICU4J core with JDK 1.3"/> <target name="jdk13CompatTests" depends="init, jdk13Compat, eclipseTestMangle, tests" description="builds ICU4J tests with JDK 1.3"/> <target name="jdk13CompatCheck" depends="init, jdk13CompatTests, jar, deleteCore, runCheck" description="runs the tests with JDK 1.3"/> </project>