| <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="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="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}" /> |
| <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/**/*" 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/**/*.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" dir="${basedir}" |
| 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> |