| <!-- |
| ******************************************************************************* |
| * Copyright (C) 2009-2013, International Business Machines Corporation and * |
| * others. All Rights Reserved. * |
| ******************************************************************************* |
| --> |
| <project name="tzu" default="build" basedir="."> |
| <property name="tzdata.ver" value="2012j"/> |
| |
| <property name="tzu.jar.file" value="icutzu.jar"/> |
| <property name="tzu.src.zip.file" value="icutzu-src.zip"/> |
| <property name="tzu.bin.zip.file" value="icutzu-bin.zip"/> |
| <property name="icu.tzres.zip" value="icu-tzres.zip"/> |
| |
| <property name="src.dir" value="src"/> |
| <property name="out.dir" value="out"/> |
| <property name="bin.dir" value="${out.dir}/bin"/> |
| <property name="jar.dir" value="${out.dir}/lib"/> |
| <property name="tzu.dist.dir" value="${out.dir}/dist"/> |
| <property name="tzu.dist.tmp.dir" value="${tzu.dist.dir}/tmp"/> |
| <property name="tzu.test.dir" value="${out.dir}/test"/> |
| |
| <target name="build" depends="src-zip, bin-zip"/> |
| |
| <target name="clean" description="Clean up the build outputs"> |
| <delete dir="${out.dir}"/> |
| </target> |
| |
| <target name="compile" description="Compile ICUTZU java files"> |
| <mkdir dir="${bin.dir}"/> |
| <javac srcdir="${src.dir}" |
| destdir="${bin.dir}" |
| source="1.5" |
| target="1.5" |
| debug="on" |
| deprecation="off" |
| encoding="ascii"/> |
| </target> |
| |
| <target name="jar" depends="compile" description="Create ICUTZU jar file"> |
| <mkdir dir="${jar.dir}"/> |
| <jar jarfile="${jar.dir}/${tzu.jar.file}" |
| manifest="${basedir}/manifest.stub" |
| basedir="${bin.dir}" |
| compress="true"/> |
| </target> |
| |
| <target name="src-zip" description="Create ICUTZU distributable source zip file"> |
| <mkdir dir="${tzu.dist.dir}"/> |
| <zip zipfile="${tzu.dist.dir}/${tzu.src.zip.file}"> |
| <fileset dir="${basedir}/src" includes="**/*.java"/> |
| </zip> |
| </target> |
| |
| <target name="bin-zip" depends="jar" description="Create ICUTZU distributable binary zip file"> |
| <mkdir dir="${tzu.dist.tmp.dir}/res"/> |
| <unzip src="icu-tzres.zip" dest="${tzu.dist.tmp.dir}/res"/> |
| |
| <mkdir dir="${tzu.dist.dir}"/> |
| <zip zipfile="${tzu.dist.dir}/${tzu.bin.zip.file}"> |
| <fileset dir="${jar.dir}"> |
| <include name="${tzu.jar.file}"/> |
| </fileset> |
| <fileset dir="${basedir}"> |
| <include name="runicutzu*.cmd"/> |
| <include name="runicutzu*.bat"/> |
| <include name="runicutzu*.sh"/> |
| <include name="icu.gif"/> |
| <include name="DirectorySearch.txt"/> |
| <include name="readme.html"/> |
| <include name="license.html"/> |
| <include name="icu.css"/> |
| <include name="icu4j-core.jar"/> |
| </fileset> |
| <fileset dir="${tzu.dist.tmp.dir}"> |
| <include name="**/*"/> |
| </fileset> |
| </zip> |
| </target> |
| |
| <target name="check" depends="jar" description="Check ICU4J TimeZone Update Utility"> |
| <delete dir="${tzu.test.dir}"/> |
| |
| <echo>Testing ICUTZU ...</echo> |
| |
| <mkdir dir="${tzu.test.dir}/scandir"/> |
| <echo file="${tzu.test.dir}/DirectorySearch.txt">+scandir</echo> |
| <copy todir="${tzu.test.dir}" file="icu4j-core.jar"/> |
| <copy tofile="${tzu.test.dir}/scandir/target-icu4j.jar" file="icu4j-core.jar"/> |
| |
| <mkdir dir="${tzu.test.dir}/res"/> |
| <unzip src="icu-tzres.zip" dest="${tzu.test.dir}/res"/> |
| |
| <echo>Running ICUTZU in Discovery Mode ...</echo> |
| <java jar="${jar.dir}/${tzu.jar.file}" fork="true" dir="${tzu.test.dir}" failonerror="true"> |
| <jvmarg value="-Dnogui=true"/> |
| <jvmarg value="-Ddiscoveronly=true"/> |
| <jvmarg value="-Dsilentpatch=false"/> |
| <jvmarg value="-Doffline=true"/> |
| <arg value="."/> |
| <arg value="DirectorySearch.txt"/> |
| <arg value="ICUList.txt"/> |
| <arg value="res"/> |
| <arg value="backup_dir"/> |
| <arg value="icu.gif"/> |
| <classpath location="icu4j-core.jar"/> |
| </java> |
| |
| <echo>Running ICUTZU in Patch Mode ...</echo> |
| <java jar="${jar.dir}/${tzu.jar.file}" fork="true" dir="${tzu.test.dir}" failonerror="true"> |
| <jvmarg value="-Dnogui=true"/> |
| <jvmarg value="-Ddiscoveronly=false"/> |
| <jvmarg value="-Dsilentpatch=false"/> |
| <jvmarg value="-Doffline=true"/> |
| <arg value="."/> |
| <arg value="DirectorySearch.txt"/> |
| <arg value="ICUList.txt"/> |
| <arg value="res"/> |
| <arg value="backup_dir"/> |
| <arg value="icu.gif"/> |
| <classpath location="icu4j-core.jar"/> |
| </java> |
| |
| <echo>Comparing results ...</echo> |
| <unjar src="${tzu.test.dir}/scandir/target-icu4j.jar" dest="${tzu.test.dir}/scandir"> |
| <patternset> |
| <include name="com/ibm/icu/impl/data/*/zoneinfo64.res" /> |
| <include name="com/ibm/icu/impl/data/*/metaZones.res" /> |
| <include name="com/ibm/icu/impl/data/*/timezoneTypes.res" /> |
| <include name="com/ibm/icu/impl/data/*/windowsZones.res" /> |
| </patternset> |
| <mapper type="flatten"/> |
| </unjar> |
| |
| <condition property="tzu.zoneinfo64.match"> |
| <filesmatch file1="${tzu.test.dir}/res/44/be/zoneinfo64.res" file2="${tzu.test.dir}/scandir/zoneinfo64.res" /> |
| </condition> |
| <fail unless="tzu.zoneinfo64.match" |
| message="ICUTZU test failed. ${tzu.test.dir}/res/44/be/zoneinfo64.res does not match ${tzu.test.dir}/scandir/zoneinfo64.res"/> |
| |
| <condition property="tzu.metazones.match"> |
| <filesmatch file1="${tzu.test.dir}/res/44/be/metaZones.res" file2="${tzu.test.dir}/scandir/metaZones.res" /> |
| </condition> |
| <fail unless="tzu.metazones.match" |
| message="ICUTZU test failed. ${tzu.bin.dir}/res/44/be/metaZones.res does not match ${tzu.test.dir}/scandir/metaZones.res"/> |
| |
| <condition property="tzu.timezonetypes.match"> |
| <filesmatch file1="${tzu.test.dir}/res/44/be/timezoneTypes.res" file2="${tzu.test.dir}/scandir/timezoneTypes.res" /> |
| </condition> |
| <fail unless="tzu.timezonetypes.match" |
| message="ICUTZU test failed. ${tzu.bin.dir}/res/44/be/timezoneTypes.res does not match ${tzu.test.dir}/scandir/timezoneTypes.res"/> |
| |
| <condition property="tzu.windowszones.match"> |
| <filesmatch file1="${tzu.test.dir}/res/44/be/windowsZones.res" file2="${tzu.test.dir}/scandir/windowsZones.res" /> |
| </condition> |
| <fail unless="tzu.windowszones.match" |
| message="ICUTZU test failed. ${tzu.bin.dir}/res/44/be/windowsZones.res does not match ${tzu.test.dir}/scandir/windowsZones.res"/> |
| |
| <echo>ICUTZU test successful.</echo> |
| </target> |
| |
| <target name="createIcuTzRes"> |
| <zip destfile="${icu.tzres.zip}"> |
| <fileset dir="../icunew/${tzdata.ver}" includes="**/be/*.res"/> |
| </zip> |
| </target> |
| </project> |