<project name="dev" default="build" basedir=".">
  <property name="gwt.root" location=".."/>
  <property name="project.tail" value="dev"/>
  <property name="test.args" value="-ea"/>
  <property name="test.jvmargs" value="-ea"/>
  <import file="${gwt.root}/platforms.ant.xml"/>
  <import file="${gwt.root}/common.ant.xml"/>

  <property name="alldeps.jar" location="${project.build}/alldeps.jar"/>
  <property name="gwt.junit.testcase.dev.core.includes" value="**/com/google/**/*Test.class"/>
  <!-- BrowserManagerTest is brought in from user and is not instantiable.
       IncrementalBuilderTest needs a special setup.
       TODO(stalcup): Add the correct setup for IncrementalBuilderTest and reenable.
  -->
  <property name="gwt.junit.testcase.dev.core.excludes"
            value="**/BrowserManagerTest.class **/IncrementalBuilderTest.class"/>

  <target name="clean" description="Cleans this project's intermediate and output files">
    <delete dir="${project.build}" failonerror="false"/>
    <delete file="${project.lib}" failonerror="false"/>
    <delete failonerror="false">
      <fileset dir="${gwt.build.lib}" includes="gwt-dev.jar"/>
    </delete>
  </target>

  <target name="compile.tests" depends="build, compile.emma.if.enabled, build.alldeps.jar"
          description="Compiles the test code for this project">
    <mkdir dir="${javac.junit.out}"/>
    <gwt.javac srcdir="" destdir="${javac.junit.out}">
      <src path="core/src"/>
      <src path="core/test"/>
      <classpath>
        <pathelement location="${javac.out}"/>
        <pathelement location="${alldeps.jar}"/>
        <pathelement location="${gwt.tools.lib}/junit/junit-4.8.2.jar"/>
      </classpath>
    </gwt.javac>
    <gwt.javac srcdir="${gwt.root}/user/src" destdir="${javac.junit.out}"
               excludes="**/super/**">
      <classpath>
        <pathelement location="${javac.out}"/>
        <pathelement location="${gwt.tools.lib}/junit/junit-4.8.2.jar"/>
        <pathelement location="${gwt.tools.lib}/selenium/selenium-java-client-driver.jar"/>
        <pathelement location="${gwt.tools.lib}/w3c/sac/sac-1.3.jar"/>
        <pathelement location="${gwt.tools.lib}/w3c/flute/flute-1.3-gg2.jar"/>
        <pathelement
            location="${gwt.tools.lib}/hibernate/validator/hibernate-validator-4.1.0.Final.jar"/>
        <pathelement
            location="${gwt.tools.lib}/javax/validation/validation-api-1.0.0.GA.jar"/>
        <pathelement
            location="${gwt.tools.lib}/streamhtmlparser/streamhtmlparser-jsilver-r10/streamhtmlparser-jsilver-r10-1.5-rebased.jar"/>
        <pathelement location="${gwt.build.lib}/gwt-dev-${build.host.platform}.jar"/>
        <pathelement location="${alldeps.jar}"/>
      </classpath>
    </gwt.javac>

  </target>

  <target name="build.alldeps.jar" description="Merges all dependency jars into a single jar">
    <mkdir dir="${project.build}"/>
    <outofdate> <!-- saves rescanning all the source jars' contents -->
      <sourcefiles>
        <fileset dir="${gwt.tools.lib}">
          <include name="apache/tapestry-util-text-4.0.2.jar"/>
          <include name="apache/ant-1.6.5.jar"/>
          <include name="eclipse/jdt-3.10.0.jar"/>
          <include name="eclipse/jdtCompilerAdapter-3.10.0.jar"/>
          <include name="objectweb/asm-5.0.3/lib/asm-all-5.0.3.jar"/>
          <include name="guava/guava-16.0.1/guava-16.0.1-rebased.jar"/>
          <include name="icu4j/50.1.1/icu4j.jar"/>
          <include name="jetty/jetty-8.1.12.v20130726/jetty-8.1.12.v20130726.jar"/>
          <include name="jetty/jetty-8.1.12.v20130726/servlet-api-3.0-NoMetaInf.jar"/>
          <include name="jscomp/20131118/compiler-rebased.jar"/>
          <include name="jscomp/20131118/sourcemap-rebased.jar"/>
          <include name="jsr305/jsr305.jar"/>
          <include name="protobuf/protobuf-2.5.0/protobuf-java-rebased-2.5.0.jar"/>
          <!-- dependencies needed for JSP support in DevMode: BEGIN -->
          <include name="tomcat/commons-el-1.0.jar"/>
          <include name="tomcat/jasper-compiler-1.0.jar"/>
          <include name="tomcat/jasper-runtime-1.0.jar"/>
          <include name="tomcat/jsp-api-2.0.jar"/>
          <!-- dependencies needed for JSP support in DevMode: END -->
          <include name="apache/commons/commons-collections-3.2.1.jar"/>
          <!-- htmlunit dependencies not already included: BEGIN -->
          <include name="apache/http/httpclient-4.3.1.jar"/>
          <include name="apache/http/httpcore-4.3.jar"/>
          <include name="apache/http/httpmime-4.3.1.jar"/>
          <include name="apache/james/apache-mime4j-0.6.jar"/>
          <include name="apache/commons/commons-codec-1.8.jar"/>
          <include name="apache/commons/commons-io-2.4.jar"/>
          <include name="apache/commons/commons-lang3-3.1.jar"/>
          <include name="apache/commons/commons-logging-1.1.3.jar"/>
          <include name="cssparser/cssparser-0.9.11.jar"/>
          <include name="htmlunit/htmlunit-2.13/htmlunit-2.13.jar"/>
          <include name="htmlunit/htmlunit-2.13/htmlunit-core-js-2.13.jar"/>
          <include name="nekohtml/nekohtml-1.9.19.jar"/>
          <include name="cup/java-cup-11a.jar"/>
          <include name="xalan/xalan-2.7.1-nocup.jar"/>
          <include name="xerces/xerces-2_11_0/serializer-2.7.1.jar"/>
          <include name="xerces/xerces-2_11_0/xercesImpl-2.11.0.jar"/>
          <include name="xerces/xerces-2_11_0/xml-apis-1.4.01.jar"/>
          <include name="w3c/sac/sac-1.3.jar"/>
          <!-- htmlunit dependencies not already included: END -->
          <include name="json/android-sdk-19.1/json-android.jar"/>
        </fileset>
        <fileset file="build.xml"/>
      </sourcefiles>
      <targetfiles>
        <fileset file="${alldeps.jar}"/>
      </targetfiles>
      <sequential>
        <gwt.jar destfile="${alldeps.jar}" duplicate="preserve">
          <zipfileset src="${gwt.tools.lib}/objectweb/asm-5.0.3/lib/asm-all-5.0.3.jar"/>
          <zipfileset src="${gwt.tools.lib}/apache/tapestry-util-text-4.0.2.jar"/>
          <zipfileset src="${gwt.tools.lib}/apache/ant-1.6.5.jar"/>
          <zipfileset
              src="${gwt.tools.lib}/eclipse/jdt-3.10.0.jar"/>
          <zipfileset
              src="${gwt.tools.lib}/eclipse/jdtCompilerAdapter-3.10.0.jar"/>
          <zipfileset src="${gwt.tools.lib}/guava/guava-16.0.1/guava-16.0.1-rebased.jar"/>
          <zipfileset src="${gwt.tools.lib}/icu4j/50.1.1/icu4j.jar"/>
          <zipfileset
              src="${gwt.tools.lib}/jetty/jetty-8.1.12.v20130726/jetty-8.1.12.v20130726.jar"/>
          <zipfileset
              src="${gwt.tools.lib}/jetty/jetty-8.1.12.v20130726/servlet-api-3.0-NoMetaInf.jar"/>
          <zipfileset src="${gwt.tools.lib}/jscomp/20131118/compiler-rebased.jar"/>
          <zipfileset src="${gwt.tools.lib}/jscomp/20131118/sourcemap-rebased.jar"/>
          <zipfileset src="${gwt.tools.lib}/jsr305/jsr305.jar"/>
          <zipfileset
              src="${gwt.tools.lib}/protobuf/protobuf-2.5.0/protobuf-java-rebased-2.5.0.jar"/>
          <!-- dependencies needed for JSP support in DevMode: BEGIN -->
          <zipfileset src="${gwt.tools.lib}/tomcat/commons-el-1.0.jar"/>
          <zipfileset src="${gwt.tools.lib}/tomcat/jasper-compiler-1.0.jar"/>
          <zipfileset src="${gwt.tools.lib}/tomcat/jasper-runtime-1.0.jar"/>
          <zipfileset src="${gwt.tools.lib}/tomcat/jsp-api-2.0.jar"/>
          <!-- dependencies needed for JSP support in DevMode: END -->
          <zipfileset
              src="${gwt.tools.lib}/apache/commons/commons-collections-3.2.1.jar"/>
          <!-- htmlunit dependencies not already included: BEGIN -->
          <zipfileset src="${gwt.tools.lib}/apache/http/httpclient-4.3.1.jar"/>
          <zipfileset src="${gwt.tools.lib}/apache/http/httpcore-4.3.jar"/>
          <zipfileset src="${gwt.tools.lib}/apache/http/httpmime-4.3.1.jar"/>
          <zipfileset src="${gwt.tools.lib}/apache/james/apache-mime4j-0.6.jar"/>
          <zipfileset src="${gwt.tools.lib}/apache/commons/commons-codec-1.8.jar"/>
          <zipfileset src="${gwt.tools.lib}/apache/commons/commons-io-2.4.jar"/>
          <zipfileset src="${gwt.tools.lib}/apache/commons/commons-lang3-3.1.jar"/>
          <zipfileset src="${gwt.tools.lib}/apache/commons/commons-logging-1.1.3.jar"/>
          <zipfileset src="${gwt.tools.lib}/cssparser/cssparser-0.9.11.jar"/>
          <zipfileset src="${gwt.tools.lib}/htmlunit/htmlunit-2.13/htmlunit-2.13.jar"/>
          <zipfileset
              src="${gwt.tools.lib}/htmlunit/htmlunit-2.13/htmlunit-core-js-2.13.jar"/>
          <zipfileset src="${gwt.tools.lib}/nekohtml/nekohtml-1.9.19.jar"/>
          <zipfileset src="${gwt.tools.lib}/cup/java-cup-11a.jar"/>
          <zipfileset src="${gwt.tools.lib}/xalan/xalan-2.7.1-nocup.jar"/>
          <zipfileset src="${gwt.tools.lib}/xerces/xerces-2_11_0/serializer-2.7.1.jar"/>
          <zipfileset src="${gwt.tools.lib}/xerces/xerces-2_11_0/xercesImpl-2.11.0.jar"/>
          <zipfileset src="${gwt.tools.lib}/xerces/xerces-2_11_0/xml-apis-1.4.01.jar"/>
          <zipfileset src="${gwt.tools.lib}/w3c/sac/sac-1.3.jar"/>
          <!-- htmlunit dependencies not already included: END -->
          <zipfileset src="${gwt.tools.lib}/json/android-sdk-19.1/json-android.jar"/>
        </gwt.jar>
      </sequential>
    </outofdate>
  </target>

  <property name="filter.pattern" value="com/google/gwt/dev/About.properties"/>

  <target name="-filter.props" description="Creates filtered About.properties with version info"
          unless="filter.uptodate">
    <gwt.revfilter todir="${javac.out}">
      <fileset dir="core/src" includes="${filter.pattern}"/>
    </gwt.revfilter>
    <touch file="${filter.sentinel}"/>
  </target>

  <target name="compiler.standalone"
          description="Validates that the standalone gwt-compiler project can build.">
    <mkdir dir="${javac.out}"/>
    <gwt.javac srcdir="core/super" excludes="com/google/gwt/dev/jjs/intrinsic/"/>
    <gwt.javac srcdir="core/src">
      <include name="com/google/gwt/core/ext/**"/>
      <include name="com/google/gwt/core/linker/**"/>
      <include name="com/google/gwt/dev/About.java"/>
      <include name="com/google/gwt/dev/GwtVersion.java"/>
      <include name="com/google/gwt/dev/Permutation.java"/>
      <include name="com/google/gwt/dev/cfg/**"/>
      <include name="com/google/gwt/dev/javac/**"/>
      <include name="com/google/gwt/dev/jdt/**"/>
      <include name="com/google/gwt/dev/jjs/**"/>
      <include name="com/google/gwt/dev/js/**"/>
      <include name="com/google/gwt/dev/json/**"/>
      <include name="com/google/gwt/dev/resource/**"/>
      <include name="com/google/gwt/dev/util/**"/>
      <include name="com/google/gwt/soyc/**"/>
      <include name="com/google/gwt/util/**"/>
      <include name="org/eclipse/jdt/**"/>
      <classpath>
        <pathelement location="${gwt.tools.lib}/apache/ant-1.6.5.jar"/>
        <pathelement location="${gwt.tools.lib}/objectweb/asm-5.0.3/lib/asm-all-5.0.3.jar"/>
        <pathelement
            location="${gwt.tools.lib}/apache/commons/commons-collections-3.2.1.jar"/>
        <pathelement
            location="${gwt.tools.lib}/eclipse/jdt-3.10.0.jar"/>
        <pathelement
            location="${gwt.tools.lib}/eclipse/jdtCompilerAdapter-3.10.0.jar"/>
        <pathelement
            location="${gwt.tools.lib}/guava/guava-16.0.1/guava-16.0.1-rebased.jar"/>
        <pathelement location="${gwt.tools.lib}/jscomp/20131118/compiler-rebased.jar"/>
        <pathelement location="${gwt.tools.lib}/jscomp/20131118/sourcemap-rebased.jar"/>
        <pathelement location="${gwt.tools.lib}/json/android-sdk-19.1/json-android.jar"/>
        <pathelement location="${gwt.tools.lib}/jsr305/jsr305.jar"/>
        <pathelement
            location="${gwt.tools.lib}/protobuf/protobuf-2.5.0/protobuf-java-rebased-2.5.0.jar"/>
      </classpath>
    </gwt.javac>
  </target>

  <target name="compile" depends="compiler.standalone, build.alldeps.jar"
          description="Compiles this project">
    <gwt.javac srcdir="" excludes="${filter.pattern}">
      <src path="core/src"/>
      <classpath>
        <pathelement location="${alldeps.jar}"/>
      </classpath>
    </gwt.javac>
    <copy todir="${javac.out}">
      <fileset dir="core/src" includes="**/*.properties" excludes="${filter.pattern}"/>
    </copy>

    <!-- Files with hardcoded version information must be filtered -->
    <gwt.getgitinfo/>
    <condition property="filter.uptodate">
      <and>
        <available file="${filter.sentinel}"/>
        <uptodate>
          <srcfiles dir="core/src" includes="${filter.pattern}"/>
          <globmapper from="*" to="${javac.out}/*"/>
        </uptodate>
      </and>
    </condition>
    <antcall target="-filter.props"/>
  </target>

  <target name="generate.remotemessageproto.java">
    <!-- Generate the java code -->
    <exec executable="protoc" failonerror="true">
      <arg value="--java_out=core/src"/>
      <arg value="./core/src/com/google/gwt/dev/shell/remoteui/remotemessage.proto"/>
    </exec>

    <!-- Rebase the java code to match the rebased protobuf library -->
    <replace file="./core/src/com/google/gwt/dev/shell/remoteui/RemoteMessageProto.java">
      <replacefilter token="com.google.protobuf" value="com.google.gwt.dev.protobuf"/>
    </replace>
  </target>

  <target name="checkstyle-source" description="Static analysis of source">
    <gwt.checkstyle>
      <fileset dir="core/src">
        <filename name="com/google/gwt/dev/shell/remoteui/RemoteMessageProto.java"
                  negate="yes"/>
        <filename name="com/google/gwt/dev/js/rhino/**/*.java" negate="yes"/>
        <filename name="org/eclipse/**/*.java" negate="yes"/>
        <filename name="org/apache/**/*.java" negate="yes"/>
      </fileset>
      <fileset dir="core/super"/>
    </gwt.checkstyle>
  </target>

  <target name="checkstyle-tests" description="Static analysis of tests">
    <gwt.checkstyle.tests>
      <fileset dir="core/test">
        <filename name="com/google/gwt/dev/js/rhino/**/*.java" negate="yes"/>
        <filename name="org/eclipse/**/*.java" negate="yes"/>
        <filename name="org/apache/**/*.java" negate="yes"/>
      </fileset>
    </gwt.checkstyle.tests>
  </target>

  <target name="checkstyle" description="Static analysis of source"
          depends="checkstyle-tests,checkstyle-source">
  </target>

  <target name="test" depends="build, compile.tests"
          unless="test.dev.disable"
          description="Run unit tests for this project.">
    <fileset id="tests.dev.core" dir="${javac.junit.out}"
             includes="${gwt.junit.testcase.dev.core.includes}"
             excludes="${gwt.junit.testcase.dev.core.excludes}"/>
    <gwt.junit test.name="dev" test.out="${junit.out}"
               test.args="${test.args}"
               test.jvmargs="${test.jvmargs}"
               test.cases="tests.dev.core">
      <extraclasspaths>
        <pathelement location="${alldeps.jar}"/>
        <!-- TODO: the following six items are needed because dev (alone) does
            not adhere to the .../{src,super,test} convention, having a split
            between core and (historically) oophm and the OS platforms.  When
            that unifies, these should go away. -->
        <pathelement location="${gwt.root}/${project.tail}/core/src"/>
        <pathelement location="${gwt.root}/${project.tail}/core/super"/>
        <pathelement location="${gwt.root}/${project.tail}/core/test"/>
        <!-- Pull in gwt-dev and gwt-user sources for .gwt.xml files -->
        <pathelement location="${gwt.root}/user/src/"/>
        <pathelement location="${gwt.root}/user/super/"/>
        <!-- CompilerTest compiles the hello sample. -->
        <pathelement location="${gwt.root}/samples/hello/src/"/>
        <!-- CompilerTest needs the dependecies to compile a project that uses UiBinder. -->
        <pathelement location="${gwt.tools.lib}/streamhtmlparser/streamhtmlparser-jsilver-r10/streamhtmlparser-jsilver-r10-1.5-rebased.jar"/>
      </extraclasspaths>
    </gwt.junit>
  </target>

  <property.ensure name="gwt.tools.soyc" location="${gwt.root}/tools/soyc-vis"/>
  <target name="build" depends="compile" description="Build and package this project">
    <mkdir dir="${gwt.build.lib}"/>
    <outofdate>
      <sourcefiles>
        <fileset dir="core/src">
          <exclude name="**/package.html"/>
          <exclude name="**/*.properties"/> <!-- copied and/or filtered into bin -->
          <exclude name="org/apache/COPYING"/> <!-- already in alldeps.jar -->
        </fileset>
        <fileset dir="core/super" excludes="**/package.html"/>
        <fileset dir="${javac.out}"/>
        <fileset dir="${project.build}/bin"/>
        <fileset file="${project.build}/alldeps.jar"/>
        <fileset file="${gwt.tools.soyc}/classLevel.css"/>
        <fileset file="${gwt.tools.soyc}/roundedCorners.css"/>
      </sourcefiles>
      <targetfiles>
        <fileset file="${project.lib}"/>
      </targetfiles>
      <sequential>
        <gwt.jar>
          <fileset dir="core/src">
            <exclude name="**/package.html"/>
            <exclude name="**/*.properties"/> <!-- copied and/or filtered into bin -->
            <exclude name="org/apache/COPYING"/> <!-- already in alldeps.jar -->
          </fileset>
          <fileset dir="core/super" excludes="**/package.html"/>
          <fileset dir="${javac.out}"/>
          <zipfileset src="${alldeps.jar}"/>

          <zipfileset file="${gwt.tools.soyc}/classLevel.css"
                      prefix="com/google/gwt/soyc/resources/"/>
          <zipfileset file="${gwt.tools.soyc}/roundedCorners.css"
                      prefix="com/google/gwt/soyc/resources/"/>

          <manifest>
            <attribute name="Main-Class" value="com.google.gwt.dev.GWTMain"/>
          </manifest>
        </gwt.jar>
      </sequential>
    </outofdate>
  </target>
</project>
