<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" />
  <!-- BrowserManagerTest is brought in from user and is not instantiable. -->
  <property name="gwt.junit.testcase.dev.core.excludes" value="**/BrowserManagerTest.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-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="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" 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.name="dev" 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>
