<project name="CLDR Unit Tests" default="all" basedir=".">
<target name="init">
<!-- copied from cldr/tools/java's build.xml -->
<tstamp />
<property name="src.dir" value="src" />
<!-- <property name="libs.dir" value="WebContent/WEB-INF/lib"/> -->
<property name="build.dir" value="build/classes" />
<property name="log.dir" value="build/logs" />
<property name="cldr.unittest.log" value="${log.dir}/unittest.log" />
<property name="cldr.unittest.result" value="${log.dir}/unittest.result" />
<property name="cldr.datacheck.log" value="${log.dir}/datacheck.log" />
<property name="cldr.datacheck.result" value="${log.dir}/datacheck.result" />
<property name="jar.file" value="cldr-unittest.jar" />
<property name="libs.dir" value="libs" />
<property name="jarSrc.file" value="cldr-unittest-src.jar" />
<property name="jarDocs.file" value="cldr-unittest-docs.jar" />
<property name="doc.dir" value="doc" />
<property name="doc.params" value="" />
<!-- Load local definitions from an optional properties file, if
available. build.properties is NOT checked into SVN. -->
<property file="build.properties" />
<!-- Load environment variables -->
<property environment="env" />
<!-- CLDR_TOOLS defaults to ../java, override if not correct. -->
<property name="CLDR_TOOLS" value="../java" />
<property name="CLDR_DIR" value="../../common/.." />
<property name="CLDR_JAR" value="${CLDR_TOOLS}/cldr.jar" />
<property file="${CLDR_TOOLS}/cldr-tools.properties" />
<property name="JVM_OPTIONS"
value="-DCLDR_DIR=${CLDR_DIR} -DDEBUG=false -Dverbose=false" />
<!-- JVM_EXTRA_OPTIONS might be resolved in the next priority order:
1) System property JVM_EXTRA_OPTIONS specified by ant command arg: ant -DJVM_EXTRA_OPTIONS=xxx <target>
2) JVM_EXTRA_OPTIONS=xxx in build.properties
3) Environment variable - JVM_EXTRA_OPTIONS=xxx
4) Final fallback - "-Xmx6g" below -->
<property name="env.JVM_EXTRA_OPTIONS" value="-Xmx6g" />
<property name="JVM_EXTRA_OPTIONS" value="${env.JVM_EXTRA_OPTIONS}" />
<property name="jvm_options" value="${JVM_OPTIONS} ${JVM_EXTRA_OPTIONS}" />
<path id="project.class.path">
<pathelement path="${java.class.path}/" />
<pathelement path="${build.dir}" />
<fileset dir="${libs.dir}">
<include name="**/*.jar" />
</fileset>
<pathelement path="${CLDR_TOOLS}/classes" />
<fileset dir="${CLDR_TOOLS}/libs" includes="*.jar" /> <!-- all libs -->
</path>
</target>
<target name="clean" depends="init" description="remove all build targets">
<delete dir="${build.dir}" />
<delete file="${cldr.unittest.log}" />
<delete file="${cldr.datacheck.log}" />
<delete dir="${log.dir}" />
<delete dir="build" />
<delete file="${jar.file}" />
<delete file="${jarSrc.file}" />
<delete file="${jarDocs.file}" />
<delete dir="${doc.dir}" />
</target>
<target name="jar" depends="build"
description="build full cldr-unittest.jar' jar file">
<jar jarfile="${jar.file}" compress="true"
includes="org/unicode/cldr/unittest/**/*" basedir="${build.dir}" />
</target>
<target name="tests" depends="build" />
<target name="all" depends="build" />
<!-- Docs stuff -->
<!-- use excludefiles below when we move to ant 1.5 -->
<target name="docs-jar" depends="docs">
<jar jarfile="${jarDocs.file}" compress="true" includes="**/*"
basedir="${doc.dir}" />
</target>
<target name="docs" depends="init" description="build user javadoc">
<tstamp>
<format property="current.year" pattern="yyyy" />
</tstamp>
<echo message="doc params: ${doc.params}" />
<mkdir dir="${doc.dir}" />
<javadoc packagenames="org.unicode.cldr.*" sourcepath="${src.dir}"
destdir="${doc.dir}" classpathref="project.class.path"
nodeprecatedlist="true" windowtitle="CLDR | Java Unittest" doctitle="CLDR | Java Unittest"
encoding="utf-8" docencoding="utf-8" additionalparam="${doc.params}"
link="http://docs.oracle.com/javase/7/docs/api"
bottom="<font size=-1><a target='_top' href='http://www.unicode.org/copyright.html'>Copyright &copy; 2004-${current.year} Unicode, Inc. All Rights Reserved.</a></font>"
source="1.8" />
</target>
<target name="build" depends="init" description="build web classes">
<mkdir dir="${build.dir}" />
<mkdir dir="${log.dir}" />
<javac srcdir="${src.dir}" includes="org/unicode/cldr/unittest/*.java"
destdir="${build.dir}" classpathref="project.class.path" source="1.8"
target="1.8" debug="on" deprecation="off" includeantruntime="false"
encoding="UTF-8" />
<mkdir dir="${build.dir}/org/unicode/cldr/unittest" />
<copy todir="${build.dir}/org/unicode/cldr/unittest">
<fileset dir="${src.dir}/org/unicode/cldr/unittest" excludes="**/CVS/**/* **/**/*.java" />
</copy>
</target>
<target name="check" description="Run the CLDR test suite and data tests"
depends="unittest,datacheck">
</target>
<target name="pcheck" depends="init">
<sequential>
<delete file="${cldr.unittest.result}" />
<delete file="${cldr.datacheck.result}" />
<parallel threadsPerProcessor="1">
<ant target='cldr.unittest.logged' />
<ant target='cldr.datacheck.logged' />
</parallel>
<loadfile property="cldr.unittest.log_file" srcfile="${cldr.unittest.log}" />
<loadfile property="cldr.datacheck.log_file" srcfile="${cldr.datacheck.log}" />
<loadfile property="cldr.unittest.result_file" srcfile="${cldr.unittest.result}" />
<loadfile property="cldr.datacheck.result_file" srcfile="${cldr.datacheck.result}" />
<echo
message="CLDR Build Results: ${line.separator} Unit Tests: ${line.separator} ${cldr.unittest.log_file} ${line.separator} --- ${line.separator} Data Check: ${line.separator} ${cldr.datacheck.log_file}" />
<fail message="CLDR Unit Tests FAILED">
<condition>
<not>
<equals arg1="${cldr.unittest.result_file}" arg2="0" />
</not>
</condition>
</fail>
<fail message="CLDR Data Check FAILED">
<condition>
<not>
<equals arg1="${cldr.datacheck.result_file}" arg2="0" />
</not>
</condition>
</fail>
</sequential>
</target>
<target name="unittest" description="Run the standard CLDR test suite"
depends="init,build">
<antcall target="_runUnitTests">
<param name="rununittest.arg" value="-n -q" />
<param name="rununittest.jvmarg" value="${jvm_options}" />
</antcall>
</target>
<target name="cldr.unittest.logged" description="Run the standard CLDR test suite"
depends="init,build">
<property name="rununittest.arg" value="-n -q" />
<property name="rununittest.jvmarg" value="${jvm_options}" />
<echo
message="JVM argument: ${rununittest.jvmarg} -DCLDR_ENVIRONMENT=UNITTEST -Djava.awt.headless=true ${line.separator}"
output="${cldr.unittest.log}" />
<echo message="Test argument: ${rununittest.arg} ${line.separator}"
output="${cldr.unittest.log}" append="true" />
<echo level="info" message="CLDR Unit Tests In Progress" />
<java classname="org.unicode.cldr.unittest.TestAll" fork="yes"
failonerror="false" resultproperty="unittest.result" classpathref="project.class.path"
output="${cldr.unittest.log}" append="true">
<arg line="${rununittest.arg}" />
<jvmarg
line="${rununittest.jvmarg} -DCLDR_ENVIRONMENT=UNITTEST -Djava.awt.headless=true" />
</java>
<echo message="${unittest.result}" file="${cldr.unittest.result}" />
</target>
<target name="unittestExhaustive"
description="Run the standard CLDR test suite in exhaustive mode"
depends="init,build">
<antcall target="_runUnitTests">
<param name="rununittest.arg" value="-n -q -e10" />
<param name="rununittest.jvmarg" value="${jvm_options}" />
</antcall>
</target>
<target name="_runUnitTests" depends="init,build">
<echo
message="JVM argument: ${rununittest.jvmarg} -DCLDR_ENVIRONMENT=UNITTEST -Djava.awt.headless=true" />
<echo message="Test argument: ${rununittest.arg}" />
<java classname="org.unicode.cldr.unittest.TestAll" fork="yes"
failonerror="true" classpathref="project.class.path">
<arg line="${rununittest.arg}" />
<jvmarg
line="${rununittest.jvmarg} -DCLDR_ENVIRONMENT=UNITTEST -Djava.awt.headless=true" />
</java>
</target>
<target name="datacheck" description="Run the standard data tests"
depends="init,build">
<antcall target="_dataCheck">
<param name="datacheck.arg" value="-S common,seed -e -z FINAL_TESTING" />
<param name="datacheck.jvmarg" value="${jvm_options}" />
</antcall>
</target>
<target name="cldr.datacheck.logged" description="Run the standard data tests"
depends="init,build">
<antcall target="_dataCheck_logged">
<param name="datacheck.arg" value="-S common,seed -e -z FINAL_TESTING" />
<param name="datacheck.jvmarg" value="${jvm_options}" />
</antcall>
</target>
<target name="_dataCheck_logged" depends="init,build">
<echo
message="JVM argument: ${datacheck.jvmarg} -Djava.awt.headless=true ${line.separator}"
output="${cldr.datacheck.log}" />
<echo message="Test argument: ${datacheck.arg} ${line.separator}"
output="${cldr.datacheck.log}" append="true" />
<echo level="info" message="CLDR Data Check In Progress" />
<java classname="org.unicode.cldr.test.ConsoleCheckCLDR" fork="yes"
failonerror="false" resultproperty="datacheck.result" classpathref="project.class.path"
output="${cldr.datacheck.log}" append="true">
<arg line="${datacheck.arg}" />
<jvmarg line="${datacheck.jvmarg} -Djava.awt.headless=true" />
</java>
<echo message="${datacheck.result}" file="${cldr.datacheck.result}" />
</target>
<target name="_dataCheck" depends="init,build">
<echo message="JVM argument: ${datacheck.jvmarg} -Djava.awt.headless=true" />
<echo message="Test argument: ${datacheck.arg}" />
<java classname="org.unicode.cldr.test.ConsoleCheckCLDR" fork="yes"
failonerror="true" classpathref="project.class.path">
<arg line="${datacheck.arg}" />
<jvmarg line="${datacheck.jvmarg} -Djava.awt.headless=true" />
</java>
</target>
</project>