| <!DOCTYPE project [ |
| <!ENTITY icu-config SYSTEM "./icu-config.xml"> |
| <!ENTITY icu-locale-deprecates SYSTEM "./icu-locale-deprecates.xml"> |
| <!ENTITY icu-coll-deprecates SYSTEM "./icu-coll-deprecates.xml"> |
| <!ENTITY icu-rbnf-deprecates SYSTEM "./icu-rbnf-deprecates.xml"> |
| ]> |
| <!-- |
| /* |
| ******************************************************************************* |
| * Copyright (C) 2005-2015, International Business Machines Corporation and * |
| * others. All Rights Reserved. * |
| ******************************************************************************* |
| */ |
| --> |
| <project name="icu-build" default="all" basedir="."> |
| <target name="init"> |
| <tstamp/> |
| |
| <!-- Load environment variables --> |
| <property environment="env"/> |
| |
| <!-- Ant won't set properties that have already been set, so environment variables that have been set before won't be clobbered. --> |
| <property name="env.ICU4C_DIR" location="../.."/> |
| |
| <condition property="is.cldr.dir.set" > |
| <isset property="env.CLDR_DIR" /> |
| </condition > |
| <fail unless="is.cldr.dir.set" message="Please set the CLDR_DIR environment variable to the top level ICU source dir (containing 'common')."/> |
| |
| <available property="cldrtools.dir" value="${env.CLDR_DIR}/cldr-tools" file="${env.CLDR_DIR}/cldr-tools" type="dir"/> |
| <available property="cldrtools.dir" value="${env.CLDR_DIR}/tools/java" file="${env.CLDR_DIR}/tools/java" type="dir"/> |
| <fail unless="cldrtools.dir" message="Please make sure that the CLDR tools directory is checked out into CLDR_DIR"/> |
| |
| <available property="env.CLDR_CLASSES" value="${cldrtools.dir}/classes" file="${cldrtools.dir}/classes" type="dir"/> |
| <available property="cldrtools.jar" value="${cldrtools.dir}/cldr.jar" file="${cldrtools.dir}/cldr.jar" type="file"/> |
| <condition property="is.cldr.classes.set"> |
| <or> |
| <isset property="env.CLDR_CLASSES" /> |
| <isset property="cldrtools.jar" /> |
| </or> |
| </condition> |
| <fail unless="is.cldr.classes.set" message="CLDR classes not found in ${cldrtools.dir}. Please either set the CLDR_CLASSES environment variable or build cldr.jar."/> |
| |
| <echo message="java home: ${java.home}"/> |
| <echo message="java version: ${java.version}"/> |
| <echo message="ant java version: ${ant.java.version}"/> |
| <echo message="${ant.version}"/> |
| </target> |
| <target name="setup"> |
| <taskdef name="cldr-build" classname="org.unicode.cldr.ant.CLDRBuild"> |
| <classpath> |
| <pathelement path="${java.class.path}/"/> |
| <pathelement path="${env.CLDR_CLASSES}"/> |
| <pathelement location="${cldrtools.jar}"/> |
| <fileset dir="${cldrtools.dir}/libs" includes="*.jar"/> |
| </classpath> |
| </taskdef> |
| </target> |
| <!-- target for generating ICU data --> |
| <!-- Google Patch: exclude metaZones, windowsZones from "all" --> |
| <target name="all" depends="locales, collation, rbnf, supplementalData, metadata, likelySubtags, plurals, numberingSystems, translit, brkitr, keyTypeData, genderList, dayPeriods" /> |
| <!-- parallel target --> |
| <target name="pall" depends="init"> |
| <parallel threadsPerProcessor ="1"> |
| <sequential> |
| <ant target='locales' /> |
| </sequential> |
| <sequential> |
| <ant target='collation'> |
| </ant> |
| </sequential> |
| <sequential> |
| <ant target='rbnf'> |
| </ant> |
| </sequential> |
| <ant target='supplementalData'> |
| </ant> |
| <sequential> |
| <ant target='brkitr'> |
| </ant> |
| </sequential> |
| <sequential> |
| <ant target='translit'> |
| </ant> |
| <!--<ant target='trnsfiles'></ant> Not ANT-built - see |
| note below. --> |
| </sequential> |
| <sequential> |
| <ant target='keyTypeData'/> |
| </sequential> |
| <sequential> |
| <ant target='genderList'/> |
| </sequential> |
| <sequential> |
| <ant target='dayPeriods'/> |
| </sequential> |
| </parallel> |
| </target> |
| |
| <target name="locales" depends="init,setup" description="builds locale files in ICU text format"> |
| <cldr-build toolName="org.unicode.cldr.icu.NewLdml2IcuConverter" srcFile=".*xml" destFile=".*txt"> |
| <!-- launch the tool and generate the data after reading the config file --> |
| <run> |
| <args> |
| <arg name="--sourcedir" value="${env.CLDR_DIR}/common/main" /> |
| <arg name="--destdir" value="${env.ICU4C_DIR}/source/data/locales"/> |
| <arg name="--specialsdir" value="${env.ICU4C_DIR}/source/data/xml/main"/> |
| <arg name="--supplementaldir" value="${env.CLDR_DIR}/common/supplemental" /> |
| <arg name="--type" value="locales"/> |
| <arg name="--filter"/> <!-- Google Patch: select short names for HK, MO. (SAR China.) --> |
| <arg name="--makefile" value="resfiles.mk"/> |
| </args> |
| <remapper> |
| <remap sourcePath="/Keys" targetDir="lang" /> |
| <remap sourcePath="/Languages" targetDir="lang" /> |
| <remap sourcePath="/Languages%short" targetDir="lang" /> |
| <remap sourcePath="/Languages%secondary" targetDir="lang" /> |
| <remap sourcePath="/Languages%variant" targetDir="lang" /> |
| <remap sourcePath="/Scripts" targetDir="lang" /> |
| <remap sourcePath="/Scripts%secondary" targetDir="lang" /> |
| <remap sourcePath="/Scripts%short" targetDir="lang" /> |
| <remap sourcePath="/Scripts%stand-alone" targetDir="lang" /> |
| <remap sourcePath="/Scripts%variant" targetDir="lang" /> |
| <remap sourcePath="/Types" targetDir="lang" /> |
| <remap sourcePath="/Types%short" targetDir="lang" /> |
| <remap sourcePath="/Variants" targetDir="lang" /> |
| <remap sourcePath="/Variants%secondary" targetDir="lang" /> |
| <remap sourcePath="/codePatterns" targetDir="lang" /> |
| <remap sourcePath="/localeDisplayPattern" targetDir="lang" /> |
| <remap sourcePath="/Countries" targetDir="region" /> |
| <remap sourcePath="/Countries%variant" targetDir="region" /> |
| <remap sourcePath="/Countries%short" targetDir="region" /> |
| <remap sourcePath="/Currencies" targetDir="curr" /> |
| <remap sourcePath="/Currencies%narrow" targetDir="curr" /> |
| <remap sourcePath="/Currencies%variant" targetDir="curr" /> |
| <remap sourcePath="/CurrencyPlurals" targetDir="curr" /> |
| <remap sourcePath="/CurrencyUnitPatterns" targetDir="curr" /> |
| <remap sourcePath="/currencySpacing" targetDir="curr" /> |
| <remap sourcePath="/zoneStrings" targetDir="zone" /> |
| <remap sourcePath="/durationUnits" targetDir="unit" /> |
| <remap sourcePath="/units" targetDir="unit" /> |
| <remap sourcePath="/unitsShort" targetDir="unit" /> |
| <remap sourcePath="/unitsNarrow" targetDir="unit" /> |
| </remapper> |
| <!-- http://ant.apache.org/faq.html#xml-entity-include --> |
| &icu-config; |
| &icu-locale-deprecates; |
| </run> |
| </cldr-build> |
| </target> |
| <target name="collation" depends="init,setup" description="builds collation files in ICU text format"> |
| <cldr-build toolName="org.unicode.cldr.icu.NewLdml2IcuConverter" srcFile=".*xml" destFile=".*txt"> |
| <run> |
| <args> |
| <arg name="--sourcedir" value="${env.CLDR_DIR}/common/collation" /> |
| <arg name="--destdir" value="${env.ICU4C_DIR}/source/data/coll"/> |
| <arg name="--specialsdir" value="${env.ICU4C_DIR}/source/data/xml/collation"/> |
| <arg name="--type" value="collation"/> |
| <arg name="--makefile" value="colfiles.mk"/> |
| </args> |
| <!-- http://ant.apache.org/faq.html#xml-entity-include --> |
| &icu-config; |
| &icu-coll-deprecates; |
| </run> |
| </cldr-build> |
| </target> |
| <target name="rbnf" depends="init,setup" description="builds rbnf files in ICU text format"> |
| <cldr-build toolName="org.unicode.cldr.icu.NewLdml2IcuConverter" srcFile=".*xml" destFile=".*txt"> |
| <run> |
| <args> |
| <arg name="--sourcedir" value="${env.CLDR_DIR}/common/rbnf" /> |
| <arg name="--destdir" value="${env.ICU4C_DIR}/source/data/rbnf"/> |
| <arg name="--specialsdir" value="${env.ICU4C_DIR}/source/data/xml/rbnf"/> |
| <arg name="--type" value="rbnf" /> |
| <arg name="--makefile" value="rbnffiles.mk"/> |
| </args> |
| <!-- http://ant.apache.org/faq.html#xml-entity-include --> |
| &icu-config; |
| &icu-rbnf-deprecates; |
| </run> |
| </cldr-build> |
| </target> |
| <target name="supplementalData" depends="init,setup" description="builds supplementalData.txt from supplementalData.xml"> |
| <cldr-build toolName="org.unicode.cldr.icu.NewLdml2IcuConverter" destFile="supplementalData.txt" noArgs="true"> |
| <!-- launch the tool and generate the data after reading the config file --> |
| <run> |
| <args> |
| <arg name="-s" value="${env.CLDR_DIR}/common/supplemental" /> |
| <arg name="-d" value="${env.ICU4C_DIR}/source/data/misc"/> |
| <arg name="-t" value="supplementalData"/> |
| </args> |
| <remapper> |
| <remap sourcePath="/CurrencyMap" targetDir="curr" /> |
| <remap sourcePath="/CurrencyMeta" targetDir="curr" /> |
| </remapper> |
| </run> |
| </cldr-build> |
| </target> |
| <target name="metadata" depends="init,setup" description="builds metadata.txt from supplementalMetadata.xml"> |
| <cldr-build toolName="org.unicode.cldr.icu.NewLdml2IcuConverter" destFile="metadata.txt" noArgs="true"> |
| <!-- launch the tool and generate the data after reading the config file --> |
| <run> |
| <args> |
| <arg name="-s" value="${env.CLDR_DIR}/common/supplemental" /> |
| <arg name="-d" value="${env.ICU4C_DIR}/source/data/misc"/> |
| <arg name="-t" value="metadata"/> |
| </args> |
| </run> |
| </cldr-build> |
| </target> |
| <!-- Google patch: removed metaZones and windowsZones targets. --> |
| <target name="likelySubtags" depends="init,setup" description="builds likelySubtags.txt from likelySubtags.xml"> |
| <cldr-build toolName="org.unicode.cldr.icu.NewLdml2IcuConverter" destFile="likelySubtags.txt" noArgs="true"> |
| <!-- launch the tool and generate the data after reading the config file --> |
| <run> |
| <args> |
| <arg name="-s" value="${env.CLDR_DIR}/common/supplemental" /> |
| <arg name="-d" value="${env.ICU4C_DIR}/source/data/misc"/> |
| <arg name="-t" value="likelySubtags"/> |
| </args> |
| </run> |
| </cldr-build> |
| </target> |
| <target name="plurals" depends="init,setup" description="builds plurals.txt from plurals.xml"> |
| <cldr-build toolName="org.unicode.cldr.icu.NewLdml2IcuConverter" destFile="plurals.txt" noArgs="true"> |
| <!-- launch the tool and generate the data after reading the config file --> |
| <run> |
| <args> |
| <arg name="-s" value="${env.CLDR_DIR}/common/supplemental" /> |
| <arg name="-d" value="${env.ICU4C_DIR}/source/data/misc"/> |
| <arg name="-t" value="plurals"/> |
| </args> |
| </run> |
| </cldr-build> |
| </target> |
| <target name="numberingSystems" depends="init,setup" description="builds numberingSystems.txt from numberingSystems.xml"> |
| <cldr-build toolName="org.unicode.cldr.icu.NewLdml2IcuConverter" destFile="numberingSystems.txt" noArgs="true"> |
| <!-- launch the tool and generate the data after reading the config file --> |
| <run> |
| <args> |
| <arg name="-s" value="${env.CLDR_DIR}/common/supplemental" /> |
| <arg name="-d" value="${env.ICU4C_DIR}/source/data/misc"/> |
| <arg name="-t" value="numberingSystems"/> |
| </args> |
| </run> |
| </cldr-build> |
| </target> |
| <target name="genderList" depends="init,setup" description="builds genderList.txt from genderList.xml"> |
| <cldr-build toolName="org.unicode.cldr.icu.NewLdml2IcuConverter" destFile="genderList.txt" noArgs="true"> |
| <!-- launch the tool and generate the data after reading the config file --> |
| <run> |
| <args> |
| <arg name="-s" value="${env.CLDR_DIR}/common/supplemental" /> |
| <arg name="-d" value="${env.ICU4C_DIR}/source/data/misc"/> |
| <arg name="-t" value="genderList"/> |
| </args> |
| </run> |
| </cldr-build> |
| </target> |
| <target name="dayPeriods" depends="init,setup" description="builds dayPeriods.txt from dayPeriods.xml"> |
| <cldr-build toolName="org.unicode.cldr.icu.NewLdml2IcuConverter" destFile="dayPeriods.txt" noArgs="true"> |
| <!-- launch the tool and generate the data after reading the config file --> |
| <run> |
| <args> |
| <arg name="-s" value="${env.CLDR_DIR}/common/supplemental" /> |
| <arg name="-d" value="${env.ICU4C_DIR}/source/data/misc"/> |
| <arg name="-t" value="dayPeriods"/> |
| </args> |
| </run> |
| </cldr-build> |
| </target> |
| <target name="brkitr" depends="init,setup" description="builds break iterator files in ICU text format"> |
| <cldr-build toolName="org.unicode.cldr.icu.NewLdml2IcuConverter" srcFile=".*xml" destFile=".*txt"> |
| <run> |
| <args> |
| <arg name="--sourcedir" value="${env.CLDR_DIR}/common/segments"/> |
| <arg name="--specialsdir" value="${env.ICU4C_DIR}/source/data/xml/brkitr"/> |
| <arg name="--destdir" value="${env.ICU4C_DIR}/source/data/brkitr"/> |
| <arg name="--type" value="brkitr" /> |
| <arg name="--makefile" value="brkfiles.mk"/> |
| </args> |
| <!-- The entity include is not required for this target --> |
| <!-- http://ant.apache.org/faq.html#xml-entity-include |
| &icu-config; |
| --> |
| </run> |
| </cldr-build> |
| </target> |
| |
| <target name="keyTypeData" depends="init,setup" description="builds keyTypeData.txt and timezoneTypes.txt from bcp47/*.xml"> |
| <cldr-build toolName="org.unicode.cldr.icu.NewLdml2IcuConverter" noArgs="true"> |
| <run> |
| <args> |
| <arg name="-s" value="${env.CLDR_DIR}/common/bcp47" /> |
| <arg name="-d" value="${env.ICU4C_DIR}/source/data/misc"/> |
| <arg name="-t" value="keyTypeData"/> |
| </args> |
| </run> |
| </cldr-build> |
| </target> |
| |
| <target name="translit" depends="init,setup" description="builds collation files in ICU text format"> |
| <cldr-build toolName="org.unicode.cldr.icu.ConvertTransforms" srcFile=".*xml" destFile=".*txt"> |
| <run> |
| <args> |
| <arg name="-m" value="((?!.*(Canadian|Ethiopic|ug-Latin).*).*)" /> |
| <arg name="--sourcedir" value="${env.CLDR_DIR}/common/transforms" /> |
| <arg name="--destdir" value="${env.ICU4C_DIR}/source/data/translit"/> |
| <arg name="--commentSkip"/> |
| </args> |
| <!-- http://ant.apache.org/faq.html#xml-entity-include --> |
| |
| </run> |
| </cldr-build> |
| </target> |
| <!-- we don't generate en.txt or el.txt - so don't change trnsfiles.mk for now. --> |
| <!-- |
| <target name="trnsfiles" depends="init, setup" description="builds trnsfiles.mk"> |
| <cldr-build toolName="org.unicode.cldr.icu.ConvertTransforms" srcFile=".*xml" destFile="trnsfiles.mk" noArgs="true"> |
| <run> |
| <args> [ double hyphen not allowed in comments - transpose -" to fix below ] |
| <arg name=-"-sourcedir" value="${env.CLDR_DIR}/common/transforms" /> |
| <arg name=-"-destdir" value="${env.ICU4C_DIR}/source/data/translit"/> |
| <arg name=-"-commentSkip"/> |
| <arg name=-"-writeIndex"/> |
| </args> |
| </run> |
| </cldr-build> |
| </target> --> |
| <target name="clean" depends="init, setup" description="deletes all txt files and mk files from coll and locales directories"> |
| <delete> |
| <fileset id="locales" dir="${env.ICU4C_DIR}/source/data/locales"> |
| <include name="*.txt" /> |
| </fileset> |
| <fileset id="resfiles" dir="${env.ICU4C_DIR}/source/data/locales"> |
| <include name="resfiles.mk" /> |
| </fileset> |
| <fileset id="locales_split" dir="${env.ICU4C_DIR}/source/data"> |
| <include name="curr/*.txt" /> |
| <include name="curr/resfiles.mk" /> |
| <include name="lang/*.txt" /> |
| <include name="lang/resfiles.mk" /> |
| <include name="region/*.txt" /> |
| <include name="region/resfiles.mk" /> |
| <include name="zone/*.txt" /> |
| <include name="zone/resfiles.mk" /> |
| <exclude name="zone/tzdbNames.txt" /> |
| <include name="unit/*.txt" /> |
| <include name="unit/resfiles.mk" /> |
| </fileset> |
| <fileset id="collation" dir="${env.ICU4C_DIR}/source/data/coll"> |
| <include name="*.txt" /> |
| </fileset> |
| <fileset id="colfiles" dir="${env.ICU4C_DIR}/source/data/coll"> |
| <include name="colfiles.mk" /> |
| </fileset> |
| <fileset id="translit" dir="${env.ICU4C_DIR}/source/data/translit"> |
| <include name="*_*.txt" /> |
| <include name="root.txt" /> |
| </fileset> |
| <fileset id="brkitr" dir="${env.ICU4C_DIR}/source/data/brkitr"> |
| <!-- brkitr directory contains bunch of txt files that are not produced by LDML2ICUConverter. |
| So can't clean up everything. This needs to be updated when new files are added to xml/brkitr directory --> |
| <include name="root.txt" /> |
| <include name="el.txt" /> |
| <include name="en.txt" /> |
| <include name="en_US.txt" /> |
| <include name="en_US_POSIX.txt" /> |
| <include name="fi.txt" /> |
| <include name="ja.txt" /> |
| </fileset> |
| <fileset id="brkfiles" dir="${env.ICU4C_DIR}/source/data/brkitr"> |
| <include name="brkfiles.mk" /> |
| </fileset> |
| <fileset id="supplementalData" dir="${env.ICU4C_DIR}/source/data/misc"> |
| <include name="supplementalData.txt" /> |
| </fileset> |
| <fileset id="rbnf" dir="${env.ICU4C_DIR}/source/data/rbnf"> |
| <include name="*.txt" /> |
| </fileset> |
| <fileset id="rbnffiles" dir="${env.ICU4C_DIR}/source/data/rbnf"> |
| <include name="rbnffiles.mk" /> |
| </fileset> |
| <fileset id="metadata" dir="${env.ICU4C_DIR}/source/data/misc"> |
| <include name="metadata.txt" /> |
| </fileset> |
| <fileset id="likelySubtags" dir="${env.ICU4C_DIR}/source/data/misc"> |
| <include name="likelySubtags.txt" /> |
| </fileset> |
| <fileset id="plurals" dir="${env.ICU4C_DIR}/source/data/misc"> |
| <include name="plurals.txt" /> |
| </fileset> |
| <fileset id="numberingSystems" dir="${env.ICU4C_DIR}/source/data/misc"> |
| <include name="numberingSystems.txt" /> |
| </fileset> |
| <fileset id="keyTypeData" dir="${env.ICU4C_DIR}/source/data/misc"> |
| <include name="keyTypeData.txt" /> |
| <include name="timezoneTypes.txt" /> |
| </fileset> |
| <fileset id="genderList" dir="${env.ICU4C_DIR}/source/data/misc"> |
| <include name="genderList.txt" /> |
| </fileset> |
| <fileset id="dayPeriods" dir="${env.ICU4C_DIR}/source/data/misc"> |
| <include name="dayPeriods.txt" /> |
| </fileset> |
| </delete> |
| </target> |
| </project> |