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

  <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-3.8.1.jar" />
      </classpath>
    </gwt.javac>
    <gwt.javac srcdir="${gwt.root}/user/src" destdir="${javac.junit.out}">
      <classpath>
        <pathelement location="${javac.out}" />
        <pathelement location="${gwt.tools.lib}/tomcat/servlet-api-2.5.jar" />
        <pathelement location="${gwt.tools.lib}/junit/junit-3.8.1.jar" />
        <pathelement location="${gwt.tools.lib}/jfreechart/jfreechart-1.0.3.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.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.4.2.jar" />
          <include name="jetty/jetty-6.1.11.jar" />
          <include name="protobuf/protobuf-2.2.0/protobuf-java-rebased-2.2.0.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-r5070.jar" />
          <include name="htmlunit/htmlunit-core-js-r5070.jar" />
          <include name="nekohtml/nekohtml-1.9.13.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 -->
          <include name="sun/swingworker/swing-worker-1.1.jar" />
        </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}/protobuf/protobuf-2.2.0/protobuf-java-rebased-2.2.0.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-r5070.jar" />
          <zipfileset src="${gwt.tools.lib}/htmlunit/htmlunit-core-js-r5070.jar" />
          <zipfileset src="${gwt.tools.lib}/nekohtml/nekohtml-1.9.13.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 -->
          <zipfileset src="${gwt.tools.lib}/sun/swingworker/swing-worker-1.1.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" depends="build.alldeps.jar" 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/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/soyc/**"/>
      <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="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}" />
        <pathelement location="${gwt.tools.lib}/junit/junit-3.8.1.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.getsvninfo />
    <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="checkstyle" 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/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="core/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}" />
        <!-- 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/" />
      </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 -->
        </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 -->
          </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>
