<project name="dev-core" default="build" basedir=".">
  <property name="gwt.root" location="../.." />
  <property name="project.tail" value="dev/core" />
  <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" />
  <property name="gwt.junit.testcase.dev.core.excludes" value="" />

  <target name="compile.tests" depends="build, compile.emma" description="Compiles the test code for this project">
    <mkdir dir="${javac.junit.out}" />
    <gwt.javac srcdir="test" destdir="${javac.junit.out}">
      <classpath>
        <pathelement location="${javac.out}" />
        <pathelement location="${alldeps.jar}" />
        <pathelement location="${gwt.tools.lib}/junit/junit-3.8.1.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.4.2.jar" />
          <include name="jetty/jetty-6.1.11.jar" />
          <include name="tomcat/ant-launcher-1.6.5.jar" />
          <include name="tomcat/catalina-1.0.jar" />
          <include name="tomcat/catalina-optional-1.0.jar" />
          <include name="tomcat/commons-beanutils-1.6.jar" />
          <include name="tomcat/commons-collections-3.1.jar" />
          <include name="tomcat/commons-digester-1.5.jar" />
          <include name="tomcat/commons-el-1.0.jar" />
          <include name="tomcat/commons-logging-1.0.jar" />
          <include name="tomcat/commons-modeler-1.1.jar" />
          <include name="tomcat/jakarta-regexp-1.3.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" />
          <include name="tomcat/mx4j-jmx-1.1.jar" />
          <include name="tomcat/naming-common-1.0.jar" />
          <include name="tomcat/naming-factory-1.0.jar" />
          <include name="tomcat/naming-java-1.0.jar" />
          <include name="tomcat/naming-resources-1.0.jar" />
          <include name="tomcat/servlet-api-2.5.jar" />
          <include name="tomcat/servlet-api-2.4.jar" />
          <include name="tomcat/servlets-common-1.0.jar" />
          <include name="tomcat/servlets-default-1.0.jar" />
          <include name="tomcat/servlets-invoker-1.0.jar" />
          <include name="tomcat/tomcat-coyote-1.0.jar" />
          <include name="tomcat/tomcat-http11-1.0.jar" />
          <include name="tomcat/tomcat-jk2-2.1.jar" />
          <include name="tomcat/tomcat-util-5.1.jar" />
          <!-- htmlunit dependencies not already included: BEGIN -->
          <include name="apache/commons/commons-codec-1.3.jar" />
          <include name="apache/commons/commons-httpclient-3.1.jar" />
          <include name="apache/commons/commons-io-1.4.jar" />
          <include name="apache/commons/commons-lang-2.4.jar" />
          <include name="cssparser/cssparser-0.9.5.jar" />
          <include name="htmlunit/htmlunit-2.5.jar" />
          <include name="htmlunit/htmlunit-core-js-2.5.jar" />
          <include name="nekohtml/nekohtml-1.9.12.jar" />
          <include name="xalan/xalan-2.7.1.jar" />
          <include name="xerces/xerces-2_9_1/serializer.jar" />
          <include name="xerces/xerces-2_9_1/xercesImpl-NoMetaInf.jar" />
          <include name="xerces/xerces-2_9_1/xml-apis.jar" />
          <include name="w3c/sac/sac-1.3.jar" />
          <!-- htmlunit dependencies not already included: END -->
        </fileset>
        <fileset file="build.xml"/>
      </sourcefiles>
      <targetfiles>
        <fileset file="${alldeps.jar}"/>
      </targetfiles>
      <sequential>
        <gwt.jar destfile="${alldeps.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.4.2.jar" />
          <zipfileset src="${gwt.tools.lib}/jetty/jetty-6.1.11.jar" />
          <zipfileset src="${gwt.tools.lib}/tomcat/ant-launcher-1.6.5.jar" />
          <zipfileset src="${gwt.tools.lib}/tomcat/catalina-1.0.jar" />
          <zipfileset src="${gwt.tools.lib}/tomcat/catalina-optional-1.0.jar" />
          <zipfileset src="${gwt.tools.lib}/tomcat/commons-beanutils-1.6.jar" />
          <zipfileset src="${gwt.tools.lib}/tomcat/commons-collections-3.1.jar" />
          <zipfileset src="${gwt.tools.lib}/tomcat/commons-digester-1.5.jar" />
          <zipfileset src="${gwt.tools.lib}/tomcat/commons-el-1.0.jar" />
          <zipfileset src="${gwt.tools.lib}/tomcat/commons-logging-1.0.jar" />
          <zipfileset src="${gwt.tools.lib}/tomcat/commons-modeler-1.1.jar" />
          <zipfileset src="${gwt.tools.lib}/tomcat/jakarta-regexp-1.3.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" />
          <zipfileset src="${gwt.tools.lib}/tomcat/mx4j-jmx-1.1.jar" />
          <zipfileset src="${gwt.tools.lib}/tomcat/naming-common-1.0.jar" />
          <zipfileset src="${gwt.tools.lib}/tomcat/naming-factory-1.0.jar" />
          <zipfileset src="${gwt.tools.lib}/tomcat/naming-java-1.0.jar" />
          <zipfileset src="${gwt.tools.lib}/tomcat/naming-resources-1.0.jar" />
          <zipfileset src="${gwt.tools.lib}/tomcat/servlet-api-2.5.jar" />
          <zipfileset src="${gwt.tools.lib}/tomcat/servlet-api-2.4.jar" />
          <zipfileset src="${gwt.tools.lib}/tomcat/servlets-common-1.0.jar" />
          <zipfileset src="${gwt.tools.lib}/tomcat/servlets-default-1.0.jar" />
          <zipfileset src="${gwt.tools.lib}/tomcat/servlets-invoker-1.0.jar" />
          <zipfileset src="${gwt.tools.lib}/tomcat/tomcat-coyote-1.0.jar" />
          <zipfileset src="${gwt.tools.lib}/tomcat/tomcat-http11-1.0.jar" />
          <zipfileset src="${gwt.tools.lib}/tomcat/tomcat-jk2-2.1.jar" />
          <zipfileset src="${gwt.tools.lib}/tomcat/tomcat-util-5.1.jar" />
          <!-- htmlunit dependencies not already included: BEGIN -->
          <zipfileset src="${gwt.tools.lib}/apache/commons/commons-codec-1.3.jar" />
          <zipfileset src="${gwt.tools.lib}/apache/commons/commons-httpclient-3.1.jar" />
          <zipfileset src="${gwt.tools.lib}/apache/commons/commons-io-1.4.jar" />
          <zipfileset src="${gwt.tools.lib}/apache/commons/commons-lang-2.4.jar" />
          <zipfileset src="${gwt.tools.lib}/cssparser/cssparser-0.9.5.jar" />
          <zipfileset src="${gwt.tools.lib}/htmlunit/htmlunit-2.5.jar" />
          <zipfileset src="${gwt.tools.lib}/htmlunit/htmlunit-core-js-2.5.jar" />
          <zipfileset src="${gwt.tools.lib}/nekohtml/nekohtml-1.9.12.jar" />
          <zipfileset src="${gwt.tools.lib}/xalan/xalan-2.7.1.jar" />
          <zipfileset src="${gwt.tools.lib}/xerces/xerces-2_9_1/serializer.jar" />
          <zipfileset src="${gwt.tools.lib}/xerces/xerces-2_9_1/xercesImpl-NoMetaInf.jar" />
          <zipfileset src="${gwt.tools.lib}/xerces/xerces-2_9_1/xml-apis.jar" />
          <zipfileset src="${gwt.tools.lib}/w3c/sac/sac-1.3.jar" />
          <!-- htmlunit dependencies not already included: END -->
        </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="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="super" excludes="com/google/gwt/dev/jjs/intrinsic/"/>
    <gwt.javac srcdir="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/asm/**"/>
      <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/resource/**"/>
      <include name="com/google/gwt/dev/util/**"/>
      <include name="com/google/gwt/util/tools/**"/>
      <classpath>
          <pathelement location="${gwt.tools.lib}/apache/ant-1.6.5.jar" />
          <pathelement location="${gwt.tools.lib}/eclipse/jdt-3.4.2.jar" />
          <pathelement location="${gwt.tools.lib}/tomcat/commons-collections-3.1.jar" />
          <pathelement location="${gwt.tools.lib}/junit/junit-3.8.1.jar" />
      </classpath>
    </gwt.javac>

  </target>
  
  <target name="build" depends="compiler.standalone, build.alldeps.jar" description="Compiles this project">
    <!--
    There are classes missing from dev/core that are necessary
    to compile the rest of dev/core (e.g. BootStrapPlatform); these are
    provided by each platform implementation, but in order to compile the
    core standalone, we need a dummy version of the class to build against.
    -->
    <property name="javac.out-dummy" location="${project.build}/bin-dummy" />
    <mkdir dir="${javac.out-dummy}" />
    <gwt.javac srcdir="src-dummy" destdir="${javac.out-dummy}" />

    <gwt.javac srcdir="src" excludes="${filter.pattern}">
      <classpath>
        <pathelement location="${javac.out-dummy}" />
        <pathelement location="${alldeps.jar}" />
        <pathelement location="${gwt.tools.lib}/junit/junit-3.8.1.jar" />
        <!-- Must build against a version of SWT; just pick one -->
        <pathelement location="${gwt.tools.lib}/eclipse/org.eclipse.swt.gtk-linux-3.2.1.jar" />
      </classpath>
    </gwt.javac>
    <copy todir="${javac.out}">
      <fileset dir="src" includes="**/*.properties" excludes="${filter.pattern}"/>
    </copy>

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

  <target name="checkstyle" description="Static analysis of source">
    <gwt.checkstyle>
      <fileset dir="src">
        <filename name="com/google/gwt/dev/asm/**/*.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>
    </gwt.checkstyle>

    <gwt.checkstyle>
      <fileset dir="super/com/google/gwt/dev/jjs/intrinsic" />
    </gwt.checkstyle>
  </target>

  <target name="test" depends="build, compile.tests" 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.out="${junit.out}" test.cases="tests.dev.core" >
      <extraclasspaths>
        <pathelement location="${alldeps.jar}" />
        <!-- Pull in gwt-dev and gwt-user sources for .gwt.xml files -->
        <pathelement location="${gwt.root}/user/src/" />
        <pathelement location="${gwt.root}/user/super/" />
      </extraclasspaths>
    </gwt.junit>
  </target>

  <target name="clean" description="Cleans this project's intermediate and output files">
    <delete dir="${project.build}" />
    <delete file="${project.lib}" />
  </target>
</project>
