3 <project name="libphonenumber" default="compile">
4 <property name="libphonenumber.src.dir" value="libphonenumber/src"/>
5 <property name="libphonenumber.test.dir" value="libphonenumber/test"/>
6 <property name="geocoder.src.dir" value="geocoder/src"/>
7 <property name="geocoder.test.dir" value="geocoder/test"/>
8 <property name="build.dir" value="build"/>
9 <property name="classes.dir" value="${build.dir}/classes"/>
10 <property name="jar.dir" value="${build.dir}/jar"/>
11 <property name="lib.dir" value="lib"/>
12 <property name="report.dir" value="${build.dir}/junitreport"/>
13 <property name="resources.dir" value="../resources/"/>
14 <property name="javascript.dir" value="../javascript/"/>
15 <property name="build.tools.jar"
16 value="../tools/java/java-build/target/java-build-1.0-SNAPSHOT-jar-with-dependencies.jar"/>
19 <fileset dir="${lib.dir}" includes="**/*.jar"/>
21 <path id="test.classpath">
22 <pathelement location="${classes.dir}"/>
23 <pathelement location="${lib.dir}/junit/junit-4.8.1.jar"/>
24 <pathelement location="${jar.dir}/${ant.project.name}-test.jar"/>
25 <fileset dir="${lib.dir}">
26 <include name="**/*.jar"/>
30 <target name="build-metadata">
31 <exec executable="java">
33 <arg value="${build.tools.jar}"/>
34 <arg value="BuildMetadataProtoFromXml"/>
35 <arg value="${resources.dir}/PhoneNumberMetaData.xml"/>
36 <arg value="libphonenumber/src"/>
37 <arg value="false"/> <!-- Not for testing. -->
38 <arg value="false"/> <!-- No lite metadata. -->
42 <target name="build-test-metadata">
43 <exec executable="java">
45 <arg value="${build.tools.jar}"/>
46 <arg value="BuildMetadataProtoFromXml"/>
47 <arg value="${resources.dir}/PhoneNumberMetaDataForTesting.xml"/>
48 <arg value="libphonenumber/test"/>
49 <arg value="true"/> <!-- For testing. -->
50 <arg value="false"/> <!-- No lite metadata. -->
54 <target name="build-geo-data">
55 <exec executable="java">
57 <arg value="${build.tools.jar}"/>
58 <arg value="GenerateAreaCodeData"/>
59 <arg value="${resources.dir}/geocoding/"/>
60 <arg value="geocoder/src/com/google/i18n/phonenumbers/geocoding/data"/>
64 <target name="build-geo-test-data">
65 <exec executable="java">
67 <arg value="${build.tools.jar}"/>
68 <arg value="GenerateAreaCodeData"/>
69 <arg value="${resources.dir}/test/geocoding/"/>
70 <arg value="geocoder/test/com/google/i18n/phonenumbers/geocoding/testing_data"/>
74 <target name="build-js-metadata">
75 <exec executable="java">
77 <arg value="${build.tools.jar}"/>
78 <arg value="BuildMetadataJsonFromXml"/>
79 <arg value="${resources.dir}/PhoneNumberMetaData.xml"/>
80 <arg value="${javascript.dir}/i18n/phonenumbers/metadata.js"/>
82 <exec executable="java">
84 <arg value="${build.tools.jar}"/>
85 <arg value="BuildMetadataJsonFromXml"/>
86 <arg value="${resources.dir}/PhoneNumberMetaData.xml"/>
87 <arg value="${javascript.dir}/i18n/phonenumbers/metadatalite.js"/>
88 <arg value="true"/> <!-- Lite metadata. -->
90 <exec executable="java">
92 <arg value="${build.tools.jar}"/>
93 <arg value="BuildMetadataJsonFromXml"/>
94 <arg value="${resources.dir}/PhoneNumberMetaDataForTesting.xml"/>
95 <arg value="${javascript.dir}/i18n/phonenumbers/metadatafortesting.js"/>
99 <target name="compile" description="Compile Java source."
100 depends="build-metadata,build-geo-data">
101 <mkdir dir="${classes.dir}"/>
102 <javac srcdir="${libphonenumber.src.dir};${geocoder.src.dir}"
103 destdir="${classes.dir}" classpathref="classpath" includeAntRuntime="false"/>
104 <javac srcdir="${libphonenumber.test.dir};${geocoder.test.dir}"
105 destdir="${classes.dir}" classpathref="classpath" debug="on"
106 includeAntRuntime="false"/>
109 <target name="jar" depends="compile">
110 <mkdir dir="${jar.dir}"/>
111 <jar destfile="${jar.dir}/${ant.project.name}.jar">
112 <fileset dir="${classes.dir}">
113 <include name="**/*.class"/>
114 <exclude name="**/*Test*"/>
115 <exclude name="**/BuildMetadata*"/>
116 <exclude name="**/geocoding/*"/>
118 <fileset dir="${libphonenumber.src.dir}">
119 <include name="**/PhoneNumberMetadataProto*"/>
122 <jar destfile="${jar.dir}/offline-geocoder.jar">
123 <fileset dir="${classes.dir}">
124 <include name="**/geocoding/*.class"/>
125 <exclude name="**/*Test*"/>
126 <exclude name="**/geocoding/GenerateAreaCodeData*"/>
128 <fileset dir="${geocoder.src.dir}">
129 <include name="**/geocoding/data/*"/>
134 <target name="test-jar"
135 depends="compile,build-test-metadata,build-geo-test-data">
136 <mkdir dir="${jar.dir}"/>
137 <jar destfile="${jar.dir}/${ant.project.name}-test.jar">
138 <fileset dir="${classes.dir}">
139 <include name="**/*.class"/>
140 <exclude name="**/*Test*"/>
142 <fileset dir="${libphonenumber.src.dir}">
143 <include name="**/PhoneNumberMetadataProto*"/>
145 <fileset dir="${libphonenumber.test.dir}">
146 <include name="**/PhoneNumberMetadataProtoForTesting*"/>
148 <fileset dir="${geocoder.test.dir}">
149 <include name="**/geocoding/testing_data/*"/>
154 <target name="junit" depends="test-jar">
155 <mkdir dir="${report.dir}"/>
156 <junit printsummary="yes">
157 <classpath refid="test.classpath"/>
158 <formatter type="xml"/>
159 <batchtest fork="no" todir="${report.dir}">
160 <fileset dir="${libphonenumber.test.dir}" includes="**/*Test.java"/>
162 <batchtest fork="no" todir="${report.dir}">
163 <fileset dir="${geocoder.test.dir}" includes="**/*Test.java"/>
168 <target name="junitreport">
169 <junitreport todir="${report.dir}">
170 <fileset dir="${report.dir}" includes="TEST-*.xml"/>
171 <report todir="${report.dir}"/>
175 <target name="clean" description="Remove generated files.">
176 <delete dir="${build.dir}"/>
179 <target name="clean-build" depends="clean,jar"/>