<?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="carrier.src.dir" value="carrier/src"/>
  <property name="carrier.test.dir" value="carrier/test"/>
  <property name="geocoder.src.dir" value="geocoder/src"/>
  <property name="geocoder.test.dir" value="geocoder/test"/>
  <property name="prefixmapper.src.dir" value="internal/prefixmapper/src"/>
  <property name="prefixmapper.test.dir" value="internal/prefixmapper/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-phone-metadata">
    <exec executable="java">
      <arg value="-jar" />
      <arg value="${build.tools.jar}"/>
      <arg value="BuildMetadataProtoFromXml"/>
      <arg value="--input-file=${resources.dir}/PhoneNumberMetadata.xml"/>
      <arg value="--output-dir=${libphonenumber.src.dir}/com/google/i18n/phonenumbers"/>
      <arg value="--data-prefix=data/PhoneNumberMetadataProto"/>
      <arg value="--mapping-class=CountryCodeToRegionCodeMap"/>
      <arg value="--copyright=2010"/>
      <arg value="--lite-build=false"/>
    </exec>
  </target>

  <target name="build-short-metadata">
    <exec executable="java">
      <arg value="-jar" />
      <arg value="${build.tools.jar}"/>
      <arg value="BuildMetadataProtoFromXml"/>
      <arg value="--input-file=${resources.dir}/ShortNumberMetadata.xml"/>
      <arg value="--output-dir=${libphonenumber.src.dir}/com/google/i18n/phonenumbers"/>
      <arg value="--data-prefix=data/ShortNumberMetadataProto"/>
      <arg value="--mapping-class=ShortNumbersRegionCodeSet"/>
      <arg value="--copyright=2013"/>
      <arg value="--lite-build=false"/>
    </exec>
  </target>

  <target name="build-test-metadata">
    <exec executable="java">
      <arg value="-jar" />
      <arg value="${build.tools.jar}"/>
      <arg value="BuildMetadataProtoFromXml"/>
      <arg value="--input-file=${resources.dir}/PhoneNumberMetadataForTesting.xml"/>
      <arg value="--output-dir=${libphonenumber.test.dir}/com/google/i18n/phonenumbers"/>
      <arg value="--data-prefix=data/PhoneNumberMetadataProtoForTesting"/>
      <arg value="--mapping-class=CountryCodeToRegionCodeMapForTesting"/>
      <arg value="--copyright=2010"/>
      <arg value="--lite-build=false"/>
    </exec>
  </target>

  <target name="build-alternate-metadata">
    <exec executable="java">
      <arg value="-jar" />
      <arg value="${build.tools.jar}"/>
      <arg value="BuildMetadataProtoFromXml"/>
      <arg value="--input-file=${resources.dir}/PhoneNumberAlternateFormats.xml"/>
      <arg value="--output-dir=${libphonenumber.src.dir}/com/google/i18n/phonenumbers"/>
      <arg value="--data-prefix=data/PhoneNumberAlternateFormatsProto"/>
      <arg value="--mapping-class=AlternateFormatsCountryCodeSet"/>
      <arg value="--copyright=2012"/>
      <arg value="--lite-build=false"/>
    </exec>
  </target>

  <target name="build-carrier-data">
    <exec executable="java">
      <arg value="-jar" />
      <arg value="${build.tools.jar}"/>
      <arg value="GeneratePhonePrefixData"/>
      <arg value="${resources.dir}/carrier/"/>
      <arg value="carrier/src/com/google/i18n/phonenumbers/carrier/data"/>
    </exec>
  </target>

  <target name="build-carrier-test-data">
    <exec executable="java">
      <arg value="-jar" />
      <arg value="${build.tools.jar}"/>
      <arg value="GeneratePhonePrefixData"/>
      <arg value="${resources.dir}/test/carrier/"/>
      <arg value="carrier/test/com/google/i18n/phonenumbers/carrier/testing_data"/>
    </exec>
  </target>

  <target name="build-geo-data">
    <exec executable="java">
      <arg value="-jar" />
      <arg value="${build.tools.jar}"/>
      <arg value="GeneratePhonePrefixData"/>
      <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="GeneratePhonePrefixData"/>
      <arg value="${resources.dir}/test/geocoding/"/>
      <arg value="geocoder/test/com/google/i18n/phonenumbers/geocoding/testing_data"/>
    </exec>
  </target>

  <target name="build-timezones-data">
    <exec executable="java">
      <arg value="-jar" />
      <arg value="${build.tools.jar}"/>
      <arg value="GenerateTimeZonesMapData"/>
      <arg value="${resources.dir}/timezones/map_data.txt"/>
      <arg value="geocoder/src/com/google/i18n/phonenumbers/timezones/data"/>
    </exec>
  </target>

  <target name="build-timezones-test-data">
    <exec executable="java">
      <arg value="-jar" />
      <arg value="${build.tools.jar}"/>
      <arg value="GenerateTimeZonesMapData"/>
      <arg value="${resources.dir}/test/timezones/map_data.txt"/>
      <arg value="geocoder/test/com/google/i18n/phonenumbers/timezones/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-phone-metadata,build-short-metadata,build-alternate-metadata,build-carrier-data,build-geo-data,build-timezones-data">
    <mkdir dir="${classes.dir}"/>
    <javac srcdir="${libphonenumber.src.dir};${carrier.src.dir};${geocoder.src.dir};${prefixmapper.src.dir}"
           destdir="${classes.dir}" classpathref="classpath" includeAntRuntime="false"/>
    <javac srcdir="${libphonenumber.test.dir};${carrier.test.dir};${geocoder.test.dir};${prefixmapper.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="**/PhoneNumberTo*"/>
        <exclude name="**/geocoding/*"/>
        <exclude name="**/prefixmapper/*"/>
      </fileset>
      <fileset dir="${libphonenumber.src.dir}">
        <include name="**/PhoneNumberMetadataProto*"/>
        <include name="**/PhoneNumberAlternateFormatsProto*"/>
        <include name="**/ShortNumberMetadataProto*"/>
      </fileset>
    </jar>
    <jar destfile="${jar.dir}/carrier-mapper.jar">
      <fileset dir="${classes.dir}">
        <include name="**/PhoneNumberToCarrierMapper.class"/>
        <include name="**/prefixmapper/*.class"/>
        <exclude name="**/*Test*"/>
      </fileset>
      <fileset dir="${carrier.src.dir}">
        <include name="**/carrier/data/*"/>
      </fileset>
    </jar>
    <jar destfile="${jar.dir}/offline-geocoder.jar">
      <fileset dir="${classes.dir}">
        <include name="**/geocoding/*.class"/>
        <include name="**/PhoneNumberToTimeZonesMapper*"/>
        <include name="**/prefixmapper/*.class"/>
        <exclude name="**/*Test*"/>
      </fileset>
      <fileset dir="${geocoder.src.dir}">
        <include name="**/geocoding/data/*"/>
        <include name="**/timezones/data/*"/>
      </fileset>
    </jar>
  </target>

  <target name="test-jar"
          depends="compile,build-test-metadata,build-carrier-test-data,build-geo-test-data,build-timezones-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*"/>
        <include name="**/PhoneNumberAlternateFormatsProto*"/>
        <include name="**/ShortNumberMetadataProto*"/>
      </fileset>
      <fileset dir="${libphonenumber.test.dir}">
        <include name="**/PhoneNumberMetadataProtoForTesting*"/>
      </fileset>
      <fileset dir="${carrier.test.dir}">
        <include name="**/carrier/testing_data/*"/>
      </fileset>
      <fileset dir="${geocoder.test.dir}">
        <include name="**/geocoding/testing_data/*"/>
        <include name="**/timezones/testing_data/*"/>
      </fileset>
    </jar>
  </target>

  <target name="junit" depends="test-jar">
    <mkdir dir="${report.dir}"/>
    <junit printsummary="yes"
        failureProperty="test.failed" errorProperty="test.failed">
      <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="${carrier.test.dir}" includes="**/*Test.java"/>
      </batchtest>
      <batchtest fork="no" todir="${report.dir}">
        <fileset dir="${geocoder.test.dir}" includes="**/*Test.java"/>
      </batchtest>
      <batchtest fork="no" todir="${report.dir}">
        <fileset dir="${prefixmapper.test.dir}" includes="**/*Test.java"/>
      </batchtest>
    </junit>
    <fail message="Tests failed. Run 'ant junitreport' for more info."
        if="test.failed"/>
  </target>

  <target name="junitreport">
    <junitreport todir="${report.dir}">
      <fileset dir="${report.dir}" includes="TEST-*.xml"/>
        <report todir="${report.dir}"/>
    </junitreport>
  </target>

  <target name="testname" unless="test">
    <fail message="You must run this target with -Dtest=TestName"/>
  </target>

  <target name="test" depends="test-jar, testname">
    <junit printsummary="withOutAndErr">
      <classpath refid="test.classpath"/>
      <formatter type="plain" usefile="false"/>
      <batchtest fork="no">
        <fileset dir="${libphonenumber.test.dir}" includes="**/*${test}.java"/>
        <fileset dir="${carrier.test.dir}" includes="**/*${test}.java"/>
        <fileset dir="${geocoder.test.dir}" includes="**/*${test}.java"/>
      </batchtest>
    </junit>
  </target>

  <target name="clean" description="Remove generated files.">
    <delete dir="${build.dir}"/>
  </target>

  <target name="clean-build" depends="clean,jar"/>
</project>
