<!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 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 -->
    <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">
        <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="--makefile" value="resfiles.mk"/>
                </args>
		<remapper>
		  <remap sourcePath="/Keys" targetDir="lang" />
		  <remap sourcePath="/Languages" targetDir="lang" />
		  <remap sourcePath="/Languages%long" 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%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>
    <target name="metaZones" depends="init,setup" 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="${env.CLDR_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" 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="${env.CLDR_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" 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="pluralRanges" depends="init,setup" 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="${env.CLDR_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" 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"/>
                    <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" 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">
                <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>
