<!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) 2016 and later: Unicode, Inc. and others.
* License & terms of use: http://www.unicode.org/copyright.html
*******************************************************************************
* 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 CLDR 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."/>

        <property name="env.CLDR_TMP_DIR" location="${env.CLDR_DIR}/../cldr-aux" /> <!-- Hack: see CLDRPaths -->
        <property name="cldr.prod.dir" location="${env.CLDR_TMP_DIR}/production/" />
        <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="cldr tools dir: ${cldrtools.dir}"/>
        <echo message="cldr tools jar: ${cldrtools.jar}"/>
        <echo message="cldr tools classes: ${env.CLDR_CLASSES}"/>
        <echo message="CLDR_TMP_DIR: ${env.CLDR_TMP_DIR} "/>
        <echo message="cldr.prod.dir (production data): ${cldr.prod.dir}"/>
    </target>
    <target name="setup" depends="init">
        <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>
        <mkdir dir="${env.CLDR_TMP_DIR}"/> <!-- make sure parent dir exists -->
        <condition property="cldrprod.exists">
            <available file="${cldr.prod.dir}" type="dir"/>
        </condition>
    </target>

    <target name="cleanprod" depends="init, setup" if="cldrprod.exists">
        <delete dir="${cldr.prod.dir}" />
    </target>
    <target name="proddata" depends="init,setup" unless="cldrprod.exists">
        <echo message="Rebuilding ${cldr.prod.dir} - takes a while!"/>

        <!-- setup prod data -->
        <java fork="true" jar="${cldrtools.jar}">
            <arg value="org.unicode.cldr.tool.GenerateProductionData" /> <!-- change to short alias 'proddata' or similar when annotated -->
            <arg value="-v" />
            <!-- TODO: for now, we just let the default source/target paths used.
                 could set '-s' / '-d' for explicit source/dest -->
        </java>
    </target>

    <!-- target for generating ICU data -->
    <target name="all" depends="locales, collation, rbnf, supplementalData, metadata, metaZones, windowsZones, likelySubtags, plurals, pluralRanges, numberingSystems, translit, brkitr, keyTypeData, genderList, dayPeriods" />
    <!-- parallel target -->
    <target name="pall" depends="init,setup,proddata">
        <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,proddata" 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="${cldr.prod.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="${cldr.prod.dir}/common/supplemental" />
                    <arg name="--type" value="locales"/>
                    <arg name="--depgraphfile" value="../../python/icutools/databuilder/locale_dependencies.py"/>
                </args>
		<remapper>
		  <remap sourcePath="/Keys" targetDir="lang" />
		  <remap sourcePath="/Languages" targetDir="lang" />
		  <remap sourcePath="/Languages%long" targetDir="lang" />
		  <remap sourcePath="/Languages%menu" 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="/characterLabelPattern" 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%formal" 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,proddata" 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="${cldr.prod.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"/>
                </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,proddata" 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="${cldr.prod.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" />
                </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,proddata" 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="${cldr.prod.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,proddata" 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="${cldr.prod.dir}/common/supplemental" />
                    <arg name="-d" value="${env.ICU4C_DIR}/source/data/misc"/>
                    <arg name="-t" value="metadata"/>
                </args>
            </run>
        </cldr-build>
    </target>
    <target name="metaZones" depends="init,setup,proddata" description="builds metaZones.txt from metaZones.xml">
        <cldr-build toolName="org.unicode.cldr.icu.NewLdml2IcuConverter" destFile="metaZones.txt" noArgs="true">
            <!-- launch the tool and generate the data after reading the config file -->
            <run>
                <args>
                    <arg name="-s" value="${cldr.prod.dir}/common/supplemental" />
                    <arg name="-d" value="${env.ICU4C_DIR}/source/data/misc"/>
                    <arg name="-t" value="metaZones"/>
                </args>
            </run>
        </cldr-build>
    </target>
    <target name="windowsZones" depends="init,setup,proddata" description="builds windowsZones.txt from windowsZones.xml">
        <cldr-build toolName="org.unicode.cldr.icu.NewLdml2IcuConverter" destFile="windowsZones.txt" noArgs="true">
            <!-- launch the tool and generate the data after reading the config file -->
            <run>
                <args>
                    <arg name="-s" value="${cldr.prod.dir}/common/supplemental" />
                    <arg name="-d" value="${env.ICU4C_DIR}/source/data/misc"/>
                    <arg name="-t" value="windowsZones"/>
                </args>
            </run>
        </cldr-build>
    </target>
    <target name="likelySubtags" depends="init,setup,proddata" 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="${cldr.prod.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,proddata" 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="${cldr.prod.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="pluralRanges" depends="init,setup,proddata" description="builds pluralRanges.txt from pluralRanges.xml">
        <cldr-build toolName="org.unicode.cldr.icu.NewLdml2IcuConverter" destFile="pluralRanges.txt" noArgs="true">
            <!-- launch the tool and generate the data after reading the config file -->
            <run>
                <args>
                    <arg name="-s" value="${cldr.prod.dir}/common/supplemental" />
                    <arg name="-d" value="${env.ICU4C_DIR}/source/data/misc"/>
                    <arg name="-t" value="pluralRanges"/>
                </args>
            </run>
        </cldr-build>
    </target>
    <target name="numberingSystems" depends="init,setup,proddata" 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="${cldr.prod.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,proddata" 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="${cldr.prod.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,proddata" 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="${cldr.prod.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,proddata" 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="${cldr.prod.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" />
                </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,proddata" 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="${cldr.prod.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,proddata" 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="${cldr.prod.dir}/common/transforms" />
                    <arg name="--destdir"   value="${env.ICU4C_DIR}/source/data/translit"/>
                    <arg name="--commentSkip"/>
                    <arg name="--approvedOnly"/>
                </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,proddata" 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="${cldr.prod.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, cleanprod" 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="dependencies_py" dir="${env.ICU4C_DIR}/source/python/icutools/databuilder">
                <include name="locale_dependencies.py" />
            </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">
                <include name="*.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="metaZones" dir="${env.ICU4C_DIR}/source/data/misc">
                <include name="metaZones.txt" />
            </fileset>
            <fileset id="windowsZones" dir="${env.ICU4C_DIR}/source/data/misc">
                <include name="windowsZones.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="pluralRanges" dir="${env.ICU4C_DIR}/source/data/misc">
                <include name="pluralRanges.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>
