<project name="GWT" default="dist" basedir=".">
  <property name="gwt.root" location="." />
  <property name="project.tail" value="" />
  <import file="${gwt.root}/common.ant.xml" />

  <!-- "build" is the default when subprojects are directly targetted  -->
  <property name="target" value="build" />
  <property name="emma.merged.out" value="${project.build}/emma-coverage" />

  <!-- 
     Convenience for the lateral calls we make.  Use gwt.ant to
     descend into another directory, and this to call in the same build.xml.
     NOTE THE USE OF $TARGET, here and in common's gwt.ant.  This has the
     effect of dividing rules into subdirectory rules (using gwt.ant and
     sensitive to $target) and action rules (using call-subproject and
     setting $target)... but it is Bad for a subdirectory rule to depend
     on another one, as they are both sensitive to $target, but you probably
     mean that subdirB needed subdirA to be _built_, not $target'ed (tested,
     etc.)

     In other words, DO NOT USE DEPENDS=... IN A TARGET WITH GWT.ANT.    
    -->
  <macrodef name="call-subproject">
    <attribute name="subproject" />
    <attribute name="subtarget" />
    <sequential>
      <antcall target="@{subproject}">
        <param name="target" value="@{subtarget}" />
      </antcall>
    </sequential>
  </macrodef>

  <property name="gwt.apicheck.config" 
    location="tools/api-checker/config/gwt16_20userApi.conf"/>

  <target name="buildonly"
          description="[action] Minimal one-platform devel build, without distro packaging">
    <call-subproject subproject="dev" subtarget="build" />
    <call-subproject subproject="user" subtarget="build" />
    <call-subproject subproject="servlet" subtarget="build" />
  </target>

  <target name="dist" depends="build, doc" description="[action] Make all the distributions">
    <gwt.ant dir="distro-source" />
  </target>

  <target name="dist-dev" depends="buildonly" description="[action] Make this platform's distribution, minus doc and samples">
    <gwt.ant dir="distro-source" target="build" />
  </target>

  <target name="dev" description="[subdir] Builds (or runs ${target} if set) all the dev libraries">
    <call-subproject subproject="buildtools" subtarget="build" />
    <gwt.ant dir="dev" />
  </target>

  <target name="user" description="[subdir] Builds (or runs ${target} if set) only the user library">
    <call-subproject subproject="dev" subtarget="build"/>
    <gwt.ant dir="user" />
  </target>

  <target name="tools" description="[subdir] Builds (or runs ${target} if set) only the tools">
    <call-subproject subproject="user" subtarget="build"/>
    <gwt.ant dir="tools" />
  </target>

  <target name="servlet" description="[subdir] Builds (or runs ${target} if set) only the servlet jar">
    <call-subproject subproject="user" subtarget="build" />
    <gwt.ant dir="servlet" />
  </target>

  <target name="doc" description="[subdir] Builds (or runs ${target} if set) the doc">
    <call-subproject subproject="user" subtarget="build" />
    <gwt.ant dir="doc" />
  </target>

  <target name="samples" description="[subdir] Builds (or runs ${target} if set) the samples">
    <call-subproject subproject="user" subtarget="build" />
    <gwt.ant dir="samples" />
  </target>

  <target name="buildtools" description="[subdir] Build (or runs ${target} if set) the build tools">
    <gwt.ant dir="build-tools" />
  </target>

  <target name="build" description="[action] Builds GWT, including samples, but without distro packaging">
     <call-subproject subproject="dev" subtarget="build"/>
     <call-subproject subproject="user" subtarget="build"/>
     <call-subproject subproject="servlet" subtarget="build"/>
     <call-subproject subproject="tools" subtarget="build"/>
     <call-subproject subproject="samples" subtarget="build"/>
  </target>

  <target name="checkstyle" description="[action] Does static analysis of GWT source">
    <call-subproject subproject="buildtools" subtarget="checkstyle" />
    <call-subproject subproject="dev" subtarget="checkstyle" />
    <call-subproject subproject="user" subtarget="checkstyle" />
    <call-subproject subproject="servlet" subtarget="checkstyle" />
    <call-subproject subproject="tools" subtarget="checkstyle" />
    <call-subproject subproject="samples" subtarget="checkstyle" />
  </target>

  <target name="test" depends="dist-dev,apicheck,checkstyle" 
          description="[action] Runs all the GWT tests, including checkstyle and apicheck">
    <call-subproject subproject="buildtools" subtarget="test" />
    <call-subproject subproject="dev" subtarget="test" />
    <call-subproject subproject="user" subtarget="test" />
    <call-subproject subproject="servlet" subtarget="test" />
    <call-subproject subproject="tools" subtarget="test" />
  </target>

  <path id="emma.classpath.src">
    <pathelement location="${gwt.root}/user/src" />
    <pathelement location="${gwt.root}/dev/**/src/com/google" />
    <pathelement location="${gwt.root}/build-tools/**/src/com/google" />
    <pathelement location="${gwt.root}/tools/**/src/com/google" />
  </path>

  <target name="emma.merge" description="Merges coverage data for all projects">
    <delete dir="${emma.merged.out}" />
    <mkdir dir="${emma.merged.out}" />
    <emma>
      <merge outfile="${emma.merged.out}/merged.emma" >
        <fileset dir="${project.build}">
          <include name="**/*.emma" />
          <exclude name="**/merged.emma" />
        </fileset>
      </merge>
    </emma>
    <emma>
      <report sourcepath="${emma.classpath.src}">
        <fileset dir="${project.build}">
          <patternset>
            <include name="**/metadata.emma"/>
          </patternset>
        </fileset>
        <fileset file="${emma.merged.out}/merged.emma" />
        <txt outfile="${emma.merged.out}/coverage.txt" />
        <html outfile="${emma.merged.out}/coverage.html" />
        <xml outfile="${emma.merged.out}/coverage.xml" />
      </report>
    </emma>
  </target>

  <target name="clean" description="[action] Cleans the entire GWT build">
    <delete dir="${gwt.build}" />
  </target>

  <target name ="presubmit" description="[action] Deprecated for test, which now does checkstyle and apicheck"
          depends="test">		
  </target>
	
  <target name="apicheck-nobuild" 
    description="[action] Checks API compatibility to prior GWT revision">
    <copy tofile="${gwt.build.out}/userApi.conf" filtering="false"
          file="${gwt.apicheck.config}"
          overwrite="true">
    </copy>
    <java failonerror="true" fork="true"
          classname="com.google.gwt.tools.apichecker.ApiCompatibilityChecker">
      <jvmarg line="-Xmx512m" />
      <classpath>
        <pathelement location="${gwt.build.out}/tools/api-checker/bin"/>
        <fileset dir="${gwt.build.lib}" includes="gwt-user.jar,gwt-dev.jar" />
        <pathelement path="${java.class.path}"/>
        <pathelement location="${gwt.tools.lib}/apache/ant-1.6.5.jar" />
      </classpath>
      <arg value="-refJar"/>
      <arg path="${gwt.root}/tools/api-checker/reference/gwt-dev-modified.jar:${gwt.root}/tools/api-checker/reference/gwt-user-modified.jar"/>
      <arg value="-configFile"/>
      <arg file="${gwt.build.out}/userApi.conf"/>
      <arg value="-logLevel"/>
      <arg value="ERROR"/>
    </java>
  </target>
  
  <target name="apicheck" depends="buildonly,tools,apicheck-nobuild" 
          description="[action] Builds GWT and checks API compatiblity to prior release"/>
 
</project>
