<project name="buck" default="default">

  <property name="src.dir" value="${basedir}/src" />
  <property name="aosp.src.dir" value="third-party/java/aosp/src" />
  <property name="test.dir" value="${basedir}/test" />
  <property name="plugin.dir" value="${basedir}/plugin" />
  <property name="lib.dir" value="${basedir}/lib" />
  <property name="third-party.dir" value="${basedir}/third-party" />
  <property name="build.dir" value="${basedir}/build" />
  <property name="testrunner.classes.dir" value="${build.dir}/testrunner/classes" />
  <property name="abi_processor.src.dir" value="${src.dir}/com/facebook/buck/java/abi/" />
  <property name="abi_processor.classes.dir" value="${build.dir}/abi_processor/classes" />
  <property name="buck.path_to_buck_py" value="${basedir}/src/com/facebook/buck/parser/buck.py" />
  <property name="buck.path_to_emma_jar"
            value="${basedir}/third-party/java/emma-2.0.5312/out/emma-2.0.5312.jar"
            />
  <property name="classes.dir" value="${build.dir}/classes" />
  <property name="testclasses.dir" value="${build.dir}/testclasses" />
  <property name="javadoc.dir" value="${build.dir}/javadoc" />
  <property name="client.dir" value="third-party/nailgun" />

  <fileset dir="${lib.dir}" id="buck.jars">
    <include name="args4j.jar" />
    <include name="ddmlib-r21.jar" />
    <include name="guava-15.0.jar" />
    <include name="ini4j-0.5.2.jar" />
    <include name="jackson-annotations-2.0.5.jar" />
    <include name="jackson-core-2.0.5.jar" />
    <include name="jackson-databind-2.0.5.jar" />
    <include name="jsr305.jar" />
    <include name="sdklib.jar" />
    <include name="nailgun-server-0.9.2-SNAPSHOT.jar" />
  </fileset>

  <fileset dir="${third-party.dir}" id="third-party.jars">
    <include name="java/asm/asm-debug-all-4.1.jar" />
    <include name="java/astyanax/astyanax-cassandra-1.56.38.jar" />
    <include name="java/astyanax/astyanax-cassandra-1.56.38-javadoc.jar" />
    <include name="java/astyanax/astyanax-cassandra-1.56.38-sources.jar" />
    <include name="java/astyanax/astyanax-core-1.56.38.jar" />
    <include name="java/astyanax/astyanax-thrift-1.56.38.jar" />
    <include name="java/astyanax/cassandra-1.2.3.jar" />
    <include name="java/astyanax/cassandra-thrift-1.2.3.jar" />
    <include name="java/astyanax/commons-cli-1.1.jar" />
    <include name="java/astyanax/commons-codec-1.2.jar" />
    <include name="java/astyanax/commons-lang-2.6.jar" />
    <include name="java/astyanax/high-scale-lib-1.1.2.jar" />
    <include name="java/astyanax/joda-time-2.2.jar" />
    <include name="java/astyanax/libthrift-0.7.0.jar" />
    <include name="java/astyanax/log4j-1.2.16.jar" />
    <include name="java/astyanax/slf4j-api-1.7.2.jar" />
    <include name="java/astyanax/slf4j-log4j12-1.7.2.jar" />
    <include name="java/gson/gson-2.2.4.jar" />
    <include name="java/jetty/jetty-all-9.0.4.v20130625.jar" />
    <include name="java/jetty/servlet-api.jar" />
    <include name="java/neo4j/geronimo-jta_1.1_spec-1.1.1.jar"/>
    <include name="java/neo4j/lucene-core-3.6.2.jar"/>
    <include name="java/neo4j/neo4j-kernel-2.0.0-M05.jar"/>
    <include name="java/neo4j/neo4j-lucene-index-2.0.0-M05.jar"/>
    <include name="java/xz-java-1.3/xz-1.3.jar" />
  </fileset>

  <path id="classpath">
    <fileset refid="buck.jars" />
    <fileset refid="third-party.jars" />
    <pathelement location="${classes.dir}" />
    <pathelement location="${src.dir}" />
  </path>

  <path id="junit">
    <pathelement location="${lib.dir}/junit-4.11.jar" />
    <pathelement location="${lib.dir}/hamcrest-core-1.3.jar" />
    <pathelement location="${lib.dir}/hamcrest-library-1.3.jar" />
  </path>

  <target name="clean" description="remove all generated files">
    <ant inheritAll="false" antfile="third-party/java/emma-2.0.5312/build.xml" target="clean" />
    <delete dir="${build.dir}" />
  </target>

  <!-- Default target so that a command line build can 
       do more than one thing. -->
  <target name="default" depends="jar, dx, client" />

  <target name="checkversion">
    <!-- The nio Files class was only introduced in Java 7. -->
    <available property="jdk7" classname="java.nio.file.Files"/> 
    <fail message="Require JDK 7 or higher" unless="jdk7"/> 
  </target>

  <target name="compile-testrunner" depends="checkversion">
    <mkdir dir="${testrunner.classes.dir}" />
    <javac srcdir="${src.dir}"
           includes="com/facebook/buck/junit/**,src/com/facebook/buck/util/concurrent/MoreExecutors.java"
           destdir="${testrunner.classes.dir}"
           classpathref="junit"
           debug="on"
           includeAntRuntime="no"
           >
      <compilerarg value="-Xlint:rawtypes" />
      <compilerarg value="-Xlint:unchecked" />
    </javac>
  </target>

  <target name="compile-abi-processor" depends="checkversion">
    <mkdir dir="${abi_processor.classes.dir}" />
    <javac srcdir="${abi_processor.src.dir}"
           destdir="${abi_processor.classes.dir}"
           debug="on"
           includeAntRuntime="no"
           >
      <compilerarg value="-Xlint:rawtypes" />
      <compilerarg value="-Xlint:unchecked" />
    </javac>
  </target>

  <target name="compile"
          depends="compile-testrunner, compile-abi-processor"
          description="compile Java source code">
    <ant inheritAll="false" antfile="third-party/java/emma-2.0.5312/build.xml" target="core.package" />
    <mkdir dir="${classes.dir}" />
    <javac destdir="${classes.dir}"
           classpathref="classpath"
           debug="on"
           deprecation="on"
           includeAntRuntime="no"
           >
      <src path="${src.dir}" />
      <src path="${aosp.src.dir}" />
      <exclude name="com/facebook/buck/cli/quickstart/**" />
      <exclude name="com/facebook/buck/java/abi/**" />
      <exclude name="com/facebook/buck/junit/**" />
      <compilerarg value="-Xlint:rawtypes" />
      <compilerarg value="-Xlint:unchecked" />
      <!-- Suppress the warning from implicitly compiling files that are not
           annotation processed. Not sure which files are the culprit -->
      <compilerarg value="-implicit:class" />
    </javac>
  </target>

  <target name="dx">
  </target>

  <target name="jar"
          depends="compile"
          description="build buck.jar"
          >
    <jar destfile="${build.dir}/buck.jar" update="true">
      <zipfileset refid="buck.jars" />
      <zipfileset refid="third-party.jars" />
      <fileset dir="${src.dir}"
               excludes="**/*.java, **/BUCK"
               />
      <fileset dir="${classes.dir}" />
      <manifest>
        <attribute name="Main-Class" value="com.facebook.buck.cli.Main" />
      </manifest>
    </jar>
  </target>

  <path id="tests.classpath">
    <path refid="classpath" />
    <fileset dir="${lib.dir}" >
      <include name="cglib-nodep-2.2.jar" />
      <include name="easymock-3.0.jar" />
      <include name="junit-4.11.jar" />
      <include name="hamcrest-core-1.3.jar" />
      <include name="hamcrest-library-1.3.jar" />
      <include name="objenesis-1.2.jar" />
    </fileset>
    <pathelement location="${testclasses.dir}" />
    <pathelement location="${test.dir}" />
    <pathelement location="${abi_processor.classes.dir}" />
    <pathelement location="${testrunner.classes.dir}" />
  </path>

  <target name="compile-tests"
          depends="compile"
          >
    <mkdir dir="${testclasses.dir}" />
    <javac srcdir="${test.dir}"
           excludes="**/testdata/**"
           destdir="${testclasses.dir}"
           classpathref="tests.classpath"
           debug="on"
           deprecation="on"
           includeAntRuntime="no"
           >
      <compilerarg value="-Xlint:rawtypes" />
      <compilerarg value="-Xlint:unchecked" />
    </javac>
  </target>

  <target name="java-test"
          depends="compile-tests"
          description="runs the Java tests"
          >
    <junit failureproperty="hasFailingTests"
           showoutput="true"
           forkmode="perBatch">
      <sysproperty key="buck.path_to_emma_jar" value="${buck.path_to_emma_jar}" />
      <sysproperty key="buck.path_to_buck_py" value="${buck.path_to_buck_py}" />

      <!-- See DEFS for details on why this property is needed. -->
      <sysproperty key="sun.zip.disableMemoryMapping" value="true" />

      <formatter type="plain" usefile="false" />

      <batchtest fork="yes">
        <fileset dir="${test.dir}">
          <!--
            Do not exclude tests that start with "Abstract", as there are some tests for abstract
            classes.
          -->
          <include name="**/*Test.java" />
          <exclude name="**/testdata/**" />
        </fileset>
      </batchtest>
      <classpath refid="tests.classpath" />
    </junit>
    <fail if="hasFailingTests" />
  </target>

  <target name="py-test" description="runs the Python tests">
    <exec executable="python" failonerror="true">
      <arg value="src/com/facebook/buck/parser/buck_test.py" />
    </exec>
  </target>

  <path id="pmd-classpath">
    <fileset dir="${basedir}/pmd" includes="*.jar" />
  </path>

  <target name="lint">
    <taskdef name="pmd"
             classpathref="pmd-classpath"
             classname="net.sourceforge.pmd.ant.PMDTask"
             />
    <pmd failOnRuleViolation="true" rulesetfiles="pmd/rules.xml">
      <ruleset>buck</ruleset>
      <fileset dir="${src.dir}">
        <include name="**/*.java"/>
      </fileset>
      <fileset dir="${test.dir}">
        <include name="**/*.java"/>
      </fileset>
      <fileset dir="${plugin.dir}">
        <include name="**/*.java"/>
      </fileset>
    </pmd>
  </target>

  <target name="test" depends="java-test, py-test, lint" description="runs the unit tests" />

  <target name="javadoc" description="generates HTML documentation for Java code"
      depends="compile">
    <mkdir dir="${javadoc.dir}" />
    <javadoc destdir="${javadoc.dir}"
             protected="true"
             classpathref="tests.classpath"
             windowtitle="Buck"
             failonerror="true"
             >
      <fileset dir="${src.dir}">
        <exclude name="com/facebook/buck/cli/quickstart/**" />
        <exclude name="**/BUCK" />
        <exclude name="**/*.iml"/>
        <exclude name="**/*.py"/>
        <exclude name="**/*.pyc"/>
        <exclude name="**/*.sh"/>
      </fileset>
      <link href="http://docs.oracle.com/javase/7/docs/api/" />
      <link href="http://docs.guava-libraries.googlecode.com/git-history/v15.0/javadoc/" />
      <!-- The latest version of the javadocs is only for 4.10 -->
      <link href="http://junit-team.github.io/junit/javadoc/latest/" />
    </javadoc>
  </target>

  <target name="client" description="install nailgun buckd c client">
    <mkdir dir="${build.dir}" />
    <exec dir="${basedir}" executable="gcc">
      <arg line="-Wall -pedantic -O3 -o ${build.dir}/ng ${client.dir}/nailgun-client/ng.c" />
    </exec> 
  </target>

  <target name="all" depends="jar, test, javadoc, client" />
</project>
