<?xml version="1.0" ?>

<project name="libphonenumber" default="compile">
  <property name="src.dir" value="src"/>
  <property name="test.dir" value="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"/>

  <path id="classpath">
    <fileset dir="${lib.dir}" includes="**/*.jar"/>
  </path>
  <path id="test.classpath">
    <pathelement location="${classes.dir}"/>
    <pathelement location="lib/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="../tools/java/java-build/target/java-build-1.0-SNAPSHOT-jar-with-dependencies.jar"/>
      <arg value="BuildMetadataProtoFromXml"/>
      <arg value="../resources/PhoneNumberMetaData.xml"/>
      <arg value="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="../tools/java/java-build/target/java-build-1.0-SNAPSHOT-jar-with-dependencies.jar"/>
      <arg value="BuildMetadataProtoFromXml"/>
      <arg value="../resources/PhoneNumberMetaDataForTesting.xml"/>
      <arg value="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="../tools/java/java-build/target/java-build-1.0-SNAPSHOT-jar-with-dependencies.jar"/>
      <arg value="GenerateAreaCodeData"/>
      <arg value="../resources/geocoding/"/>
      <arg value="src/com/google/i18n/phonenumbers/geocoding/data"/>
      <arg value="false"/> <!-- Not for testing. -->
    </exec>
  </target>

  <target name="build-geo-test-data">
    <exec executable="java">
      <arg value="-jar" />
      <arg value="../tools/java/java-build/target/java-build-1.0-SNAPSHOT-jar-with-dependencies.jar"/>
      <arg value="GenerateAreaCodeData"/>
      <arg value="../resources/test/geocoding/"/>
      <arg value="test/com/google/i18n/phonenumbers/geocoding/testing_data"/>
      <arg value="false"/> <!-- Not for testing. -->
    </exec>
  </target>

  <target name="compile" description="Compile Java source."
          depends="build-metadata,build-geo-data">
    <mkdir dir="${classes.dir}"/>
    <javac srcdir="${src.dir}" destdir="${classes.dir}" classpathref="classpath"/>
    <javac srcdir="${test.dir}" destdir="${classes.dir}" classpathref="classpath" debug="on"/>
  </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="**/JSArrayBuilder*"/>
        <exclude name="**/geocoding/*"/>
      </fileset>
      <fileset dir="${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="${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="${src.dir}">
        <include name="**/PhoneNumberMetadataProto*"/>
      </fileset>
      <fileset dir="${test.dir}">
        <include name="**/PhoneNumberMetadataProtoForTesting*"/>
      </fileset>
      <fileset dir="${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="${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>

