blob: 8ce3ba3689440ae6c003ea158f71aa95fc883f90 [file] [log] [blame]
<?xml version="1.0" ?>
<project name="libphonenumber" default="compile">
<property name="libphonenumber.src.dir" value="libphonenumber/src"/>
<property name="libphonenumber.test.dir" value="libphonenumber/test"/>
<property name="geocoder.src.dir" value="geocoder/src"/>
<property name="geocoder.test.dir" value="geocoder/test"/>
<property name="build.dir" value="build"/>
<property name="classes.dir" value="${build.dir}/classes"/>
<property name="jar.dir" value="${build.dir}/jar"/>
<property name="lib.dir" value="lib"/>
<property name="report.dir" value="${build.dir}/junitreport"/>
<property name="resources.dir" value="../resources/"/>
<property name="javascript.dir" value="../javascript/"/>
<property name="build.tools.jar"
value="../tools/java/java-build/target/java-build-1.0-SNAPSHOT-jar-with-dependencies.jar"/>
<path id="classpath">
<fileset dir="${lib.dir}" includes="**/*.jar"/>
</path>
<path id="test.classpath">
<pathelement location="${classes.dir}"/>
<pathelement location="${lib.dir}/junit/junit-4.8.1.jar"/>
<pathelement location="${jar.dir}/${ant.project.name}-test.jar"/>
<fileset dir="${lib.dir}">
<include name="**/*.jar"/>
</fileset>
</path>
<target name="build-metadata">
<exec executable="java">
<arg value="-jar" />
<arg value="${build.tools.jar}"/>
<arg value="BuildMetadataProtoFromXml"/>
<arg value="${resources.dir}/PhoneNumberMetaData.xml"/>
<arg value="libphonenumber/src"/>
<arg value="false"/> <!-- Not for testing. -->
<arg value="false"/> <!-- No lite metadata. -->
</exec>
</target>
<target name="build-test-metadata">
<exec executable="java">
<arg value="-jar" />
<arg value="${build.tools.jar}"/>
<arg value="BuildMetadataProtoFromXml"/>
<arg value="${resources.dir}/PhoneNumberMetaDataForTesting.xml"/>
<arg value="libphonenumber/test"/>
<arg value="true"/> <!-- For testing. -->
<arg value="false"/> <!-- No lite metadata. -->
</exec>
</target>
<target name="build-geo-data">
<exec executable="java">
<arg value="-jar" />
<arg value="${build.tools.jar}"/>
<arg value="GenerateAreaCodeData"/>
<arg value="${resources.dir}/geocoding/"/>
<arg value="geocoder/src/com/google/i18n/phonenumbers/geocoding/data"/>
</exec>
</target>
<target name="build-geo-test-data">
<exec executable="java">
<arg value="-jar" />
<arg value="${build.tools.jar}"/>
<arg value="GenerateAreaCodeData"/>
<arg value="${resources.dir}/test/geocoding/"/>
<arg value="geocoder/test/com/google/i18n/phonenumbers/geocoding/testing_data"/>
</exec>
</target>
<target name="build-js-metadata">
<exec executable="java">
<arg value="-jar" />
<arg value="${build.tools.jar}"/>
<arg value="BuildMetadataJsonFromXml"/>
<arg value="${resources.dir}/PhoneNumberMetaData.xml"/>
<arg value="${javascript.dir}/i18n/phonenumbers/metadata.js"/>
</exec>
<exec executable="java">
<arg value="-jar" />
<arg value="${build.tools.jar}"/>
<arg value="BuildMetadataJsonFromXml"/>
<arg value="${resources.dir}/PhoneNumberMetaData.xml"/>
<arg value="${javascript.dir}/i18n/phonenumbers/metadatalite.js"/>
<arg value="true"/> <!-- Lite metadata. -->
</exec>
<exec executable="java">
<arg value="-jar" />
<arg value="${build.tools.jar}"/>
<arg value="BuildMetadataJsonFromXml"/>
<arg value="${resources.dir}/PhoneNumberMetaDataForTesting.xml"/>
<arg value="${javascript.dir}/i18n/phonenumbers/metadatafortesting.js"/>
</exec>
</target>
<target name="compile" description="Compile Java source."
depends="build-metadata,build-geo-data">
<mkdir dir="${classes.dir}"/>
<javac srcdir="${libphonenumber.src.dir};${geocoder.src.dir}"
destdir="${classes.dir}" classpathref="classpath" includeAntRuntime="false"/>
<javac srcdir="${libphonenumber.test.dir};${geocoder.test.dir}"
destdir="${classes.dir}" classpathref="classpath" debug="on"
includeAntRuntime="false"/>
</target>
<target name="jar" depends="compile">
<mkdir dir="${jar.dir}"/>
<jar destfile="${jar.dir}/${ant.project.name}.jar">
<fileset dir="${classes.dir}">
<include name="**/*.class"/>
<exclude name="**/*Test*"/>
<exclude name="**/BuildMetadata*"/>
<exclude name="**/geocoding/*"/>
</fileset>
<fileset dir="${libphonenumber.src.dir}">
<include name="**/PhoneNumberMetadataProto*"/>
</fileset>
</jar>
<jar destfile="${jar.dir}/offline-geocoder.jar">
<fileset dir="${classes.dir}">
<include name="**/geocoding/*.class"/>
<exclude name="**/*Test*"/>
<exclude name="**/geocoding/GenerateAreaCodeData*"/>
</fileset>
<fileset dir="${geocoder.src.dir}">
<include name="**/geocoding/data/*"/>
</fileset>
</jar>
</target>
<target name="test-jar"
depends="compile,build-test-metadata,build-geo-test-data">
<mkdir dir="${jar.dir}"/>
<jar destfile="${jar.dir}/${ant.project.name}-test.jar">
<fileset dir="${classes.dir}">
<include name="**/*.class"/>
<exclude name="**/*Test*"/>
</fileset>
<fileset dir="${libphonenumber.src.dir}">
<include name="**/PhoneNumberMetadataProto*"/>
</fileset>
<fileset dir="${libphonenumber.test.dir}">
<include name="**/PhoneNumberMetadataProtoForTesting*"/>
</fileset>
<fileset dir="${geocoder.test.dir}">
<include name="**/geocoding/testing_data/*"/>
</fileset>
</jar>
</target>
<target name="junit" depends="test-jar">
<mkdir dir="${report.dir}"/>
<junit printsummary="yes">
<classpath refid="test.classpath"/>
<formatter type="xml"/>
<batchtest fork="no" todir="${report.dir}">
<fileset dir="${libphonenumber.test.dir}" includes="**/*Test.java"/>
</batchtest>
<batchtest fork="no" todir="${report.dir}">
<fileset dir="${geocoder.test.dir}" includes="**/*Test.java"/>
</batchtest>
</junit>
</target>
<target name="junitreport">
<junitreport todir="${report.dir}">
<fileset dir="${report.dir}" includes="TEST-*.xml"/>
<report todir="${report.dir}"/>
</junitreport>
</target>
<target name="clean" description="Remove generated files.">
<delete dir="${build.dir}"/>
</target>
<target name="clean-build" depends="clean,jar"/>
</project>