<project name="user" default="build" basedir=".">
  <property name="gwt.root" location=".." />
  <property name="project.tail" value="user" />
  <property name="test.args" value="-ea" />
  <property name="test.jvmargs" value="-ea" />

  <!-- support old variables names -->
  <condition property="gwt.hosts.web.remote" value="${gwt.remote.browsers}">
    <isset property="gwt.remote.browsers" />
  </condition>
  <condition property="gwt.hosts.web.selenium" value="${gwt.selenium.hosts}">
    <isset property="gwt.selenium.hosts" />
  </condition>

  <!--
    BrowserManagerServer_Stub compiled using rmic, which doesn't generate
    full source code
  -->
  <property name="emma.filter.exclude" value="*BrowserManagerServer_Stub*" />

  <import file="${gwt.root}/common.ant.xml" />

  <property name="test.timeout" value="5" />
  <property name="emma.merged.out" value="${junit.out}/emma-coverage" />
  <property name="gwt.junit.testcase.web.includes" value="${gwt.junit.testcase.includes}" />
  <property name="gwt.junit.testcase.web.excludes" value="**/*JreSuite.class" />

  <property name="gwt.junit.testcase.dev.includes" value="${gwt.junit.testcase.includes}" />
  <property name="gwt.junit.testcase.dev.excludes" value="**/*JreSuite.class" />

  <property name="gwt.tck.testcase.dev.includes" value="com/google/gwt/validation/tck/**/*GwtSuite.class" />
  <property name="gwt.tct.testcase.dev.excludes" value="" />

  <property name="gwt.nongwt.testcase.includes" value="**/*JreSuite.class" />
  <property name="gwt.nongwt.testcase.excludes" value="" />

  <!--
    Test args can be specified per test target type.
  -->
  <property name="test.args.dev.remote" value="${test.args} -out www -standardsMode -runStyle RemoteWeb:${gwt.hosts.dev.remote}" />
  <property name="test.args.dev.selenium" value='${test.args} -out www -standardsMode -runStyle "Selenium:${gwt.hosts.dev.selenium}"' />
  <property name="test.args.web.remote" value="${test.args} -out www -prod -standardsMode -runStyle RemoteWeb:${gwt.hosts.web.remote}" />
  <property name="test.args.web.selenium" value='${test.args} -prod -standardsMode -out www -runStyle "Selenium:${gwt.hosts.web.selenium}"' />

  <!--
    Whether I18NSuite should test e.g. Foo$InnerMsgs_fr.properties (if the
    value is "dollar") or Foo_Inner_fr.properties (for "bar")
   -->
  <property name="gwt.i18n.test.InnerClassChar" value="dollar"/>

  <!-- Platform shouldn't matter here, just picking one -->
  <property.ensure name="gwt.dev.jar" location="${gwt.build.lib}/gwt-dev.jar" />

  <!--
    Classpaths added for test cases
  -->
  <path id="test.extraclasspath">
    <pathelement location="${gwt.build}/out/dev/bin-test" />
    <pathelement location="test-super" />
    <pathelement location="test_i18n_${gwt.i18n.test.InnerClassChar}" />
    <pathelement location="${gwt.tools.lib}/apache/log4j/log4j-1.2.16.jar" />
    <pathelement location="${gwt.tools.lib}/cglib/cglib-2.2.jar"/>
    <pathelement location="${gwt.tools.lib}/objenesis/objenesis-1.2.jar"/>
    <pathelement location="${gwt.tools.lib}/easymock/easymock-3.0.jar"/>
    <pathelement location="${gwt.tools.lib}/objectweb/asm-3.1.jar"/>
    <pathelement location="${gwt.tools.lib}/javax/validation/validation-api-1.0.0.GA.jar" />
    <pathelement location="${gwt.tools.lib}/javax/validation/validation-api-1.0.0.GA-sources.jar" />
    <pathelement location="${gwt.tools.lib}/hibernate/validator/hibernate-validator-4.1.0.Final.jar" />
    <pathelement location="${gwt.tools.lib}/hibernate/validator/hibernate-validator-4.1.0.Final-sources.jar" />
    <pathelement location="${gwt.tools.lib}/slf4j/slf4j-api/slf4j-api-1.6.1.jar" />
    <pathelement location="${gwt.tools.lib}/slf4j/slf4j-log4j12/slf4j-log4j12-1.6.1.jar" />
    <pathelement location="${gwt.tools}/redist/json/r2_20080312/json-1.5.jar" />
    <pathelement location="${gwt.tools.lib}/streamhtmlparser/streamhtmlparser-jsilver-r10/streamhtmlparser-jsilver-r10-1.5-rebased.jar" />
    <!-- TCK jars -->
    <pathelement location="${gwt.tools.lib}/hibernate/validator/tck/jsr303-tck-1.0.3.GA-sources.jar" />
    <pathelement location="${gwt.tools.lib}/hibernate/validator/tck/jsr303-tck-1.0.3.GA.jar" />
    <pathelement location="${gwt.tools.lib}/jboss/test-audit/jboss-test-audit-api-1.0.0-sources.jar" />
    <pathelement location="${gwt.tools.lib}/jboss/test-audit/jboss-test-audit-api-1.0.0.jar" />
    <pathelement location="${gwt.tools.lib}/jboss/test-harness/jboss-test-harness-1.0.0-sources.jar" />
    <pathelement location="${gwt.tools.lib}/jboss/test-harness/jboss-test-harness-1.0.0.jar" />
    <pathelement location="${gwt.tools.lib}/jboss/test-harness/jboss-test-harness-api-1.0.0-sources.jar" />
    <pathelement location="${gwt.tools.lib}/jboss/test-harness/jboss-test-harness-api-1.0.0.jar" />
    <pathelement location="${gwt.tools.lib}/testng/testng-5.14.1-sources.jar" />
    <pathelement location="${gwt.tools.lib}/testng/testng-5.14.1-nojunit.jar" />
    <pathelement location="${gwt.dev.jar}" />
  </path>

  <target name="compile" description="Compile all class files"
      unless="compile.complete">
    <mkdir dir="${javac.out}" />
    <gwt.javac excludes="**/super/**">
      <classpath>
        <pathelement location="${gwt.tools.lib}/tomcat/servlet-api-2.5.jar" />
        <pathelement location="${gwt.tools.lib}/junit/junit-4.8.2.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-gg2.jar" />
        <pathelement location="${gwt.tools}/redist/json/r2_20080312/json-1.5.jar" />
        <pathelement location="${gwt.tools.lib}/javax/validation/validation-api-1.0.0.GA.jar" />
        <!-- The source is included so validation is available from client code -->
        <pathelement location="${gwt.tools.lib}/javax/validation/validation-api-1.0.0.GA-sources.jar" />
      	<!-- Hibernate is included until we can provide the super source as an third party jar" -->
      	<pathelement location="${gwt.tools.lib}/hibernate/validator/hibernate-validator-4.1.0.Final.jar" />
        <pathelement location="${gwt.tools.lib}/hibernate/validator/hibernate-validator-4.1.0.Final-sources.jar" />
        <!-- Bootstrap support needed for obfuscated type tokens for JRE runtime -->
        <pathelement location="${gwt.tools.lib}/requestfactory/requestfactory-apt.jar" />
        <pathelement location="${gwt.tools.lib}/streamhtmlparser/streamhtmlparser-jsilver-r10/streamhtmlparser-jsilver-r10-1.5-rebased.jar" />
        <pathelement location="${gwt.dev.jar}" />
      </classpath>
    </gwt.javac>

    <!-- Build the BrowserManagerServer_Stub to allow remote browser testing -->
    <rmic base="${javac.out}"
        classname="com.google.gwt.junit.remote.BrowserManagerServer"
        stubversion="1.2"/>
  </target>

  <!--
    Compile test code for dev to pick up TypeOracleTestUtils and others.
    Compiles test dependencies in dev/core
  -->
  <target name="compile.dev.tests">
    <gwt.ant dir="../dev" target="compile.tests" />
  </target>

  <!--
      Compiles the test code for this project
  -->
  <target name="compile.tests"
      depends="compile.dev.tests, compile.emma.if.enabled"
      unless="compile.tests.complete">
    <mkdir dir="${javac.junit.out}" />
    <gwt.javac srcdir="test" excludes="com/google/gwt/langtest/**" destdir="${javac.junit.out}">
      <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" />
        <!-- Bootstrap support needed for obfuscated type tokens for JRE runtime -->
        <pathelement location="${gwt.tools.lib}/requestfactory/requestfactory-apt.jar" />
        <path refid="test.extraclasspath" />
      </classpath>
    </gwt.javac>
  </target>

  <!-- Precompile some GWT modules to speed up end-user builds   -->
  <!-- TODO(zundel): Find a way to precompile  all modules       -->
  <!--               without tedious manual specification        -->
  <target name="precompile.modules" depends="compile">
    <outofdate>
      <sourcefiles>
        <fileset dir="${gwt.root}/user/src" >
          <exclude name="com/google/web/bindery/requestfactory/apt/**"/>
        </fileset>
        <fileset dir="${gwt.root}/user/super" />
        <fileset dir="${gwt.root}/dev/core/src" />
        <fileset dir="${gwt.root}/dev/core/super" />
        <fileset file="${gwt.dev.jar}" />
      </sourcefiles>
      <targetfiles>
        <!-- TODO(zundel): this is a mechanical transform        -->
        <!-- from module name.  There must be a better way.      -->
        <pathelement location="${project.build}/bin/com/google/gwt/core/Core.gwtar" />
        <pathelement location="${project.build}/bin/com/google/gwt/json/JSON.gwtar" />
        <pathelement location="${project.build}/bin/com/google/gwt/regexp/RegExp.gwtar" />
        <pathelement location="${project.build}/bin/com/google/gwt/user/User.gwtar" />
        <pathelement location="${project.build}/bin/com/google/gwt/xml/XML.gwtar" />
        <pathelement location="${project.build}/bin/com/google/gwt/rpc/RPC.gwtar" />
        <pathelement location="${project.build}/bin/com/google/gwt/debug/Debug.gwtar" />
        <pathelement location="${project.build}/bin/com/google/gwt/place/Place.gwtar" />
        <pathelement location="${project.build}/bin/com/google/gwt/activity/Activity.gwtar" />
        <pathelement location="${project.build}/bin/com/google/web/bindery/event/Event.gwtar" />
        <pathelement location="${project.build}/bin/com/google/web/bindery/autobean/AutoBean.gwtar" />
        <pathelement location="${project.build}/bin/com/google/web/bindery/requestfactory/RequestFactory.gwtar" />
        <pathelement location="${project.build}/bin/com/google/gwt/logging/Logging.gwtar" />
      </targetfiles>
      <sequential>
        <compileModule>
          <module>
            <!-- Order is important!  Modules that inherit from  -->
            <!-- others should come later in the list.           -->
            <!-- All modules depend on Core                      -->
            <arg value="com.google.gwt.core.Core" />
            <arg value="com.google.gwt.json.JSON" />
            <arg value="com.google.gwt.regexp.RegExp" />
            <arg value="com.google.gwt.user.User" />
    
            <!-- Below are modules that depend on User           -->
            <arg value="com.google.gwt.xml.XML" />
            <arg value="com.google.gwt.rpc.RPC" />
            <arg value="com.google.gwt.debug.Debug" />
            <arg value="com.google.gwt.logging.Logging" />
    
            <arg value="com.google.gwt.place.Place" />
            <arg value="com.google.gwt.activity.Activity" />
    
            <arg value="com.google.web.bindery.event.Event" />
            <arg value="com.google.web.bindery.autobean.AutoBean" />
            <arg value="com.google.web.bindery.requestfactory.RequestFactory" />
          </module>
        </compileModule>
      </sequential>
    </outofdate>
  </target>

  <target name="build" depends="precompile.modules"
      description="Build and package this project">
    <mkdir dir="${gwt.build.lib}" />
    <gwt.jar>
      <fileset dir="src" excludes="**/package.html" />
      <fileset dir="super" excludes="**/package.html" />
      <fileset dir="${javac.out}" />
      <zipfileset src="${gwt.tools.lib}/tomcat/servlet-api-2.5.jar" excludes="**/*.java"/>
      <zipfileset src="${gwt.tools.lib}/w3c/sac/sac-1.3.jar" />
      <zipfileset src="${gwt.tools.lib}/w3c/flute/flute-1.3-gg2.jar" />
      <zipfileset src="${gwt.tools.lib}/streamhtmlparser/streamhtmlparser-jsilver-r10/streamhtmlparser-jsilver-r10-1.5-rebased.jar" />
    </gwt.jar>
  </target>

  <target name="checkstyle" description="Static analysis of source">
    <gwt.checkstyle>
      <fileset dir="src" >
        <exclude name="javax/validation/super/javax/validation/constraints/Pattern.java"/>
        <exclude name="javax/validation/super/javax/validation/spi/ConfigurationState.java"/>
        <exclude name="javax/validation/super/javax/validation/MessageInterpolator.java"/>
        <exclude name="javax/validation/super/javax/validation/Configuration.java"/>
        <exclude name="javax/validation/super/javax/validation/Validation.java"/>
        <exclude name="org/hibernate/validator/super/org/hibernate/validator/**/*.java"/>
        <exclude name="org/hibernate/validator/ValidationMessages.java"/>
      </fileset>
      <fileset dir="super/com/google/gwt/emul" />
      <fileset dir="super/com/google/gwt/junit/translatable" />
    </gwt.checkstyle>
    <gwt.checkstyle.tests>
      <fileset dir="test">
        <include name="com/google/**/*.java" />
        <include name="test/**" />
      </fileset>
    </gwt.checkstyle.tests>
  </target>

  <target name="test.remoteweb" depends="test.web.remote">
    <echo message="DEPRECATED: test.remoteweb has been renamed test.web.remote"/>
  </target>

  <target name="test.web.remote"
      description="Run web test with remote browsers"
      if="gwt.hosts.web.remote"
      unless="test.web.remote.disable">
    <echo message="Performing web remote testing at ${gwt.hosts.web.remote}" />
    <property name="test.web.remote.args" value="${test.args.web.remote}" />
    <fileset id="test.web.remote.tests" dir="${javac.junit.out}"
        includes="${gwt.junit.testcase.web.includes}"
        excludes="${gwt.junit.testcase.web.excludes}" />
    <gwt.junit test.name="test.web.remote"
        test.args="${test.web.remote.args}"
        test.jvmargs="${test.jvmargs}"
        test.out="${junit.out}/web-remote"
        test.cases="test.web.remote.tests" >
      <extraclasspaths>
        <path refid="test.extraclasspath" />
      </extraclasspaths>
    </gwt.junit>
  </target>

  <target name="test.dev.remote"
      depends="compile, compile.tests"
      description="Run dev-mode tests with remote browsers"
      if="gwt.hosts.dev.remote"
      unless="test.dev.remote.disable">
    <echo message="Performing dev-mode remote testing at ${gwt.remote.browsers}" />
    <property name="test.dev.remote.args" value="${test.args.dev.remote}" />
    <fileset id="test.dev.remote.tests" dir="${javac.junit.out}"
      includes="${gwt.junit.testcase.dev.includes}"
      excludes="${gwt.junit.testcase.dev.excludes}" />
    <gwt.junit test.name="test.dev.remote"
        test.args="${test.dev.remote.args}"
        test.jvmargs="${test.jvmargs}"
        test.out="${junit.out}/dev-remote" test.cases="test.dev.remote.tests" >
      <extraclasspaths>
        <path refid="test.extraclasspath" />
      </extraclasspaths>
    </gwt.junit>
  </target>

  <target name="test.emma.remote"
      depends="compile, compile.tests"
      description="Run emma tests with remote browsers"
      if="gwt.hosts.dev.remote"
      unless="test.emma.remote.disable">
    <echo message="Performing emma remote testing at ${gwt.hosts.dev.remote}" />
    <property name="test.emma.remote.args" value="${test.args.dev.remote}" />
    <fileset id="test.emma.remote.tests" dir="${javac.junit.out}"
        includes="${gwt.junit.testcase.dev.includes}"
        excludes="${gwt.junit.testcase.dev.excludes}" />
      <gwt.junit test.name="test.emma.remote"
          test.args="${test.emma.remote.args}"
          test.jvmargs="${test.jvmargs}"
          test.out="${junit.out}/emma-remote"
          test.cases="test.emma.remote.tests" >
      <extraclasspaths>
        <path refid="test.extraclasspath" />
        <pathelement location="${gwt.tools.redist}/emma/emma.jar" />
      </extraclasspaths>
    </gwt.junit>
  </target>

  <target name="test.emma.selenium"
      depends="compile, compile.tests"
      description="Run emma tests with Selenium-RC servers"
      if="gwt.hosts.dev.selenium"
      unless="test.emma.selenium.disable">
    <echo message="Performing emma selenium testing at ${gwt.hosts.dev.selenium}" />
    <property name="test.emma.selenium.args" value="${test.args.dev.selenium}" />
    <fileset id="test.emma.selenium.tests" dir="${javac.junit.out}"
        includes="${gwt.junit.testcase.dev.includes}"
        excludes="${gwt.junit.testcase.dev.excludes}" />
    <gwt.junit test.name="test.emma.selenium"
        test.args='${test.emma.selenium.args}'
        test.jvmargs="${test.jvmargs}"
        test.out="${junit.out}/emma-selenium"
        test.cases="test.emma.selenium.tests" >
      <extraclasspaths>
        <path refid="test.extraclasspath" />
        <pathelement location="${gwt.tools.redist}/emma/emma.jar" />
      </extraclasspaths>
    </gwt.junit>
  </target>

  <target name="test.draft.remote"
      depends="compile, compile.tests"
      description="Run draft compiled tests with remote browsers"
      if="gwt.hosts.web.remote"
      unless="test.draft.remote.disable">
    <echo message="Performing draft remote testing at ${gwt.hosts.web.remote}" />
    <property name="test.draft.remote.args" value="${test.args.web.remote} -draftCompile" />
    <fileset id="test.draft.remote.tests" dir="${javac.junit.out}"
        includes="${gwt.junit.testcase.web.includes}"
        excludes="${gwt.junit.testcase.web.excludes}" />
    <gwt.junit test.name="test.draft.remote"
        test.args="${test.draft.remote.args}"
        test.jvmargs="${test.jvmargs}"
        test.out="${junit.out}/draft-remote"
        test.cases="test.draft.remote.tests" >
      <extraclasspaths>
        <path refid="test.extraclasspath" />
      </extraclasspaths>
    </gwt.junit>
  </target>

  <target name="test.nometa.remote"
      description="Run -XdisableClassMetadata tests with remote browsers"
      if="gwt.hosts.web.remote"
      unless="test.nometa.remote.disable">
    <echo message="Performing nometa remote testing at ${gwt.hosts.web.remote}" />
    <property name="test.nometa.remote.args" value="${test.args.web.remote} -XdisableClassMetadata" />
    <fileset id="test.nometa.remote.tests" dir="${javac.junit.out}"
        includes="${gwt.junit.testcase.web.includes}"
        excludes="${gwt.junit.testcase.web.excludes}" />
    <gwt.junit test.name="test.nometa.remote"
        test.args="${test.nometa.remote.args}"
        test.jvmargs="${test.jvmargs}"
        test.out="${junit.out}/nometa-remote"
        test.cases="test.nometa.remote.tests" >
      <extraclasspaths>
        <path refid="test.extraclasspath" />
      </extraclasspaths>
    </gwt.junit>
  </target>

  <target name="test.selenium" depends="test.web.selenium">
    <echo message="DEPRECATED: test.selenium has been renamed test.web.selenium"/>
  </target>

  <target name="test.web.selenium"
      depends="compile, compile.tests"
      description="Run web tests using Selenium RC"
      if="gwt.hosts.web.selenium"
      unless="test.web.selenium.disable">
    <echo message="Performing web testing using Selenium RC at ${gwt.hosts.web.selenium}" />
    <property name="test.web.selenium.args" value="${test.args.web.selenium}" />
    <fileset id="test.web.selenium.tests" dir="${javac.junit.out}"
        includes="${gwt.junit.testcase.web.includes}"
        excludes="${gwt.junit.testcase.web.excludes}" />
    <gwt.junit test.name="test.web.selenium"
        test.args='${test.web.selenium.args}'
        test.jvmargs="${test.jvmargs}"
        test.out="${junit.out}/web-selenium"
        test.cases="test.web.selenium.tests" >
      <extraclasspaths>
        <path refid="test.extraclasspath" />
      </extraclasspaths>
    </gwt.junit>
  </target>

  <target name="test.dev.selenium"
      depends="compile, compile.tests"
      description="Run dev-mode tests using Selenium RC servers"
      if="gwt.hosts.dev.selenium"
      unless="test.dev.selenium.disable">
    <echo message="Performing dev-mode testing using Selenium RC at ${gwt.hosts.dev.selenium}" />
    <property name="test.dev.selenium.args" value="${test.args.dev.selenium}" />
    <fileset id="test.dev.selenium.tests" dir="${javac.junit.out}"
        includes="${gwt.junit.testcase.dev.includes}"
        excludes="${gwt.junit.testcase.dev.excludes}" />
    <gwt.junit test.name="test.dev.selenium"
        test.args='${test.dev.selenium.args}'
        test.jvmargs="${test.jvmargs}"
        test.out="${junit.out}/dev-selenium"
        test.cases="test.dev.selenium.tests" >
      <extraclasspaths>
        <path refid="test.extraclasspath" />
      </extraclasspaths>
    </gwt.junit>
  </target>

  <target name="test.nometa.selenium"
      description="Run nometa tests using Selenium RC"
      if="gwt.hosts.web.selenium"
      unless="test.nometa.selenium.disable">
    <echo message="Performing nometa testing using Selenium RC at ${gwt.hosts.web.selenium}" />
    <property name="test.nometa.selenium.args"
        value="${test.args.web.selenium} -XdisableClassMetadata" />
    <fileset id="test.nometa.selenium.tests" dir="${javac.junit.out}"
        includes="${gwt.junit.testcase.web.includes}"
        excludes="${gwt.junit.testcase.web.excludes}" />
    <gwt.junit test.name="test.nometa.selenium"
        test.args='${test.nometa.selenium.args}'
        test.jvmargs="${test.jvmargs}"
        test.out="${junit.out}/nometa-selenium"
        test.cases="test.nometa.selenium.tests" >
      <extraclasspaths>
        <path refid="test.extraclasspath" />
      </extraclasspaths>
    </gwt.junit>
  </target>

  <target name="test.draft.selenium"
      description="Run draft compiled tests using Selenium RC"
      if="gwt.hosts.web.selenium"
      unless="test.draft.selenium.disable">
    <echo message="Performing draft testing using Selenium RC at ${gwt.hosts.web.selenium}" />
    <property name="test.draft.selenium.args"
        value="${test.args.web.selenium} -draftCompile" />
    <fileset id="test.draft.selenium.tests" dir="${javac.junit.out}"
        includes="${gwt.junit.testcase.web.includes}"
        excludes="${gwt.junit.testcase.web.excludes}" />
    <gwt.junit test.name="test.draft.selenium"
        test.args='${test.draft.selenium.args}'
        test.jvmargs="${test.jvmargs}"
        test.out="${junit.out}/draft-selenium"
        test.cases="test.draft.selenium.tests" >
      <extraclasspaths>
        <path refid="test.extraclasspath" />
      </extraclasspaths>
    </gwt.junit>
  </target>

  <target name="test.emma.htmlunit"
      depends="compile, compile.tests"
      description="Run emma tests with HtmlUnit"
      unless="test.emma.htmlunit.disable">
      <fileset id="test.emma.htmlunit.tests" dir="${javac.junit.out}"
          includes="${gwt.junit.testcase.dev.includes}"
          excludes="${gwt.junit.testcase.dev.excludes}" />
      <gwt.junit test.name="test.emma.htmlunit"
          test.args="${test.args} -standardsMode "
          test.jvmargs="${test.jvmargs}"
          test.out="${junit.out}/emma-htmlunit"
          test.cases="test.emma.htmlunit.tests" >
      <extraclasspaths>
        <path refid="test.extraclasspath" />
        <pathelement location="${gwt.tools.redist}/emma/emma.jar" />
      </extraclasspaths>
    </gwt.junit>
  </target>

  <target name="test.dev.htmlunit"
      depends="compile, compile.tests"
      description="Run dev-mode tests with HtmlUnit."
      unless="test.dev.htmlunit.disable">
    <fileset id="test.dev.htmlunit.tests" dir="${javac.junit.out}"
        includes="${gwt.junit.testcase.dev.includes}"
        excludes="${gwt.junit.testcase.dev.excludes}" />
    <gwt.junit test.name="test.dev.htmlunit"
        test.args="${test.args} -standardsMode "
        test.jvmargs="${test.jvmargs}"
        test.out="${junit.out}/dev-htmlunit"
        test.cases="test.dev.htmlunit.tests" >
      <extraclasspaths>
        <path refid="test.extraclasspath" />
      </extraclasspaths>
    </gwt.junit>
  </target>

  <target name="test.hosted.emma" depends="test.emma">
    <echo message="DEPRECATED: test.hosted.emma has been renamed test.emma"/>
  </target>

  <target name="test.hosted" depends="test.dev">
    <echo message="DEPRECATED: test.hosted has been renamed test.dev"/>
  </target>

  <target name="test.web.htmlunit"
      depends="compile, compile.tests"
      description="Run web-mode tests with HtmlUnit."
      unless="test.web.htmlunit.disable">
    <fileset id="test.web.htmlunit.tests" dir="${javac.junit.out}"
        includes="${gwt.junit.testcase.web.includes}"
        excludes="${gwt.junit.testcase.web.excludes}" />
    <gwt.junit test.name="test.web.htmlunit"
        test.args="${test.args} -out www -prod -standardsMode"
        test.jvmargs="${test.jvmargs}"
        test.out="${junit.out}/web-htmlunit"
        test.cases="test.web.htmlunit.tests">
      <extraclasspaths>
        <path refid="test.extraclasspath" />
      </extraclasspaths>
    </gwt.junit>
  </target>

  <target name="test.nometa.htmlunit"
      depends="compile, compile.tests"
      description="Run -XdisableClassMetadata tests with HtmlUnit."
      unless="test.nometa.htmlunit.disable">
    <fileset id="test.nometa.htmlunit.tests" dir="${javac.junit.out}"
        includes="${gwt.junit.testcase.web.includes}"
        excludes="${gwt.junit.testcase.web.excludes}" />
    <gwt.junit test.name="test.nometa.htmlunit"
        test.args="${test.args} -XdisableClassMetadata -out www -prod -standardsMode"
        test.jvmargs="${test.jvmargs}"
        test.out="${junit.out}/nometa-htmlunit"
        test.cases="test.nometa.htmlunit.tests" >
      <extraclasspaths>
        <path refid="test.extraclasspath" />
      </extraclasspaths>
    </gwt.junit>
  </target>

  <target name="test.draft.htmlunit"
      depends="compile, compile.tests"
      description="Run draft compiled HtmlUnit tests (no batching on purpose)"
      unless="test.draft.htmlunit.disable">
    <fileset id="test.draft.htmlunit.tests" dir="${javac.junit.out}"
        includes="${gwt.junit.testcase.web.includes}"
        excludes="${gwt.junit.testcase.web.excludes}" />
    <gwt.junit test.name="test.draft.htmlunit"
        test.args="${test.args} -draftCompile -out www -prod -standardsMode"
        test.jvmargs="${test.jvmargs}"
        test.out="${junit.out}/draft-htmlunit"
        test.cases="test.draft.htmlunit.tests" >
      <extraclasspaths>
        <path refid="test.extraclasspath" />
      </extraclasspaths>
    </gwt.junit>
  </target>

  <target name="test.coverage.htmlunit"
      depends="compile, compile.tests"
      description="Run tests for coverage support">
      <fileset id="test.coverage.htmlunit.tests" dir="${javac.junit.out}"
          includes="com/google/gwt/dev/js/client/CoverageTest.class"
          excludes="" />
      <gwt.junit test.name="test.coverage.htmlunit"
        test.args="${test.args} -draftCompile -out www -prod -runStyle HtmlUnit:FF3.6"
        test.jvmargs="${test.jvmargs} -Dgwt.coverage=com/google/gwt/dev/js/client/CoverageTestModule.java,"
        test.out="${junit.out}/coverage-htmlunit"
        test.cases="test.coverage.htmlunit.tests" >
      <extraclasspaths>
        <path refid="test.extraclasspath" />
      </extraclasspaths>
    </gwt.junit>
  </target>

  <target name="test"
      depends="compile, compile.tests"
      description="Run all tests for this project.">
    <!-- Prevent compilation for every target. -->
    <property name="compile.complete" value="true"/>
    <property name="compile.tests.complete" value="true"/>

    <property.ensure name="distro.built" location="${gwt.dev.staging.jar}"
        message="GWT must be built before performing any tests.  This can be fixed by running ant in the ${gwt.root} directory." />
    <limit failonerror="true" hours="${test.timeout}">
    <parallel threadsPerProcessor="${gwt.threadsPerProcessor}"
        threadCount="${gwt.threadCount}">
      <!--
        The remote targets must be run sequentially or BrowserManager will queue
        requests, which will cause some tests to timeout while waiting.
      -->
      <sequential>
        <antcall target="test.dev.remote"/>
        <antcall target="test.emma.remote"/>
        <antcall target="test.web.remote"/>
        <antcall target="test.draft.remote"/>
        <antcall target="test.nometa.remote"/>
      </sequential>
      <antcall target="test.dev.selenium"/>
      <antcall target="test.emma.selenium"/>
      <antcall target="test.web.selenium"/>
      <antcall target="test.draft.selenium"/>
      <antcall target="test.nometa.selenium"/>
      <antcall target="test.dev.htmlunit"/>
      <antcall target="test.emma.htmlunit"/>
      <antcall target="test.web.htmlunit"/>
      <antcall target="test.draft.htmlunit"/>
      <antcall target="test.nometa.htmlunit"/>
      <antcall target="test.nongwt"/>
      <antcall target="test.coverage.htmlunit"/>
    </parallel>
    </limit>
  </target>

  <target name="test.htmlunit"
    depends="compile, compile.tests"
    description="Run all HtmlUnit tests">
    <!-- Prevent compilation for every target. -->
    <property name="compile.complete" value="true"/>
    <property name="compile.tests.complete" value="true"/>

    <property.ensure name="distro.built" location="${gwt.dev.staging.jar}"
        message="GWT must be built before performing any tests.  This can be fixed by running ant in the ${gwt.root} directory." />
    <limit failonerror="true" hours="${test.timeout}">
    <parallel threadsPerProcessor="${gwt.threadsPerProcessor}"
        threadCount="${gwt.threadCount}">
      <antcall target="test.dev.htmlunit"/>
      <antcall target="test.emma.htmlunit"/>
      <antcall target="test.web.htmlunit"/>
      <antcall target="test.draft.htmlunit"/>
      <antcall target="test.nometa.htmlunit"/>
      <antcall target="test.coverage.htmlunit"/>
    </parallel>
    </limit>
  </target>

  <target name="test.nongwt"
      depends="compile, compile.tests"
      description="Run JRE-only tests."
      unless="test.nongwt.disable">
    <fileset id="test.nongwt.tests" dir="${javac.junit.out}"
        includes="${gwt.nongwt.testcase.includes}"
        excludes="${gwt.nongwt.testcase.excludes}" />
    <gwt.junit test.name="test.nongwt"
        test.args="${test.args}"
        test.jvmargs="${test.jvmargs}"
        test.out="${junit.out}/nongwt"
        test.cases="test.nongwt.tests" >
      <extraclasspaths>
        <path refid="test.extraclasspath" />
      </extraclasspaths>
    </gwt.junit>
  </target>

  <target name="test.dev"
      depends="compile, compile.tests"
      description="Run dev-mode tests for this project.">
    <!-- Prevent compilation for every target. -->
    <property name="compile.complete" value="true"/>
    <property name="compile.tests.complete" value="true"/>

    <limit failonerror="true" hours="${test.timeout}">
    <parallel threadsPerProcessor="${gwt.threadsPerProcessor}"
        threadCount="${gwt.threadCount}">
      <antcall target="test.dev.htmlunit"/>
      <!-- no-op unless gwt.hosts.dev.remote is defined -->
      <antcall target="test.dev.remote"/>
      <!-- no-op unless gwt.hosts.dev.selenium is defined -->
      <antcall target="test.dev.selenium"/>
    </parallel>
    </limit>
  </target>

  <target name="test.web"
      depends="compile, compile.tests"
      description="Run web-mode tests for this project.">
    <!-- Prevent compilation for every target. -->
    <property name="compile.complete" value="true"/>
    <property name="compile.tests.complete" value="true"/>

    <limit failonerror="true" hours="${test.timeout}">
    <parallel threadsPerProcessor="${gwt.threadsPerProcessor}"
        threadCount="${gwt.threadCount}">
      <antcall target="test.web.htmlunit"/>
      <!-- no-op unless gwt.hosts.web.remote is defined -->
      <antcall target="test.web.remote"/>
      <!-- no-op unless gwt.hosts.web.selenium is defined -->
      <antcall target="test.web.selenium"/>
    </parallel>
    </limit>
  </target>

  <target name="test.emma"
      depends="compile, compile.tests"
      description="Run emma tests for this project.">
    <!-- Prevent compilation for every target. -->
    <property name="compile.complete" value="true"/>
    <property name="compile.tests.complete" value="true"/>

    <limit failonerror="true" hours="${test.timeout}">
    <parallel threadsPerProcessor="${gwt.threadsPerProcessor}"
        threadCount="${gwt.threadCount}">
      <antcall target="test.emma.htmlunit"/>
      <!-- no-op unless gwt.hosts.dev.remote is defined -->
      <antcall target="test.emma.remote"/>
      <!-- no-op unless gwt.hosts.dev.selenium is defined -->
      <antcall target="test.emma.selenium"/>
    </parallel>
    </limit>
  </target>

  <target name="test.draft"
      depends="compile, compile.tests"
      description="Run draft compiled tests for this project.">
    <!-- Prevent compilation for every target. -->
    <property name="compile.complete" value="true"/>
    <property name="compile.tests.complete" value="true"/>

    <limit failonerror="true" hours="${test.timeout}">
    <parallel threadsPerProcessor="${gwt.threadsPerProcessor}"
        threadCount="${gwt.threadCount}">
      <antcall target="test.draft.htmlunit"/>
      <!-- no-op unless gwt.hosts.web.remote is defined -->
      <antcall target="test.draft.remote"/>
      <!-- no-op unless gwt.hosts.web.selenium is defined -->
      <antcall target="test.draft.selenium"/>
    </parallel>
    </limit>
  </target>

  <target name="test.nometa"
      depends="compile, compile.tests"
      description="Run -XdisableClassMetadata tests for this project.">
    <!-- Prevent compilation for every target. -->
    <property name="compile.complete" value="true"/>
    <property name="compile.tests.complete" value="true"/>

    <limit failonerror="true" hours="${test.timeout}">
    <parallel threadsPerProcessor="${gwt.threadsPerProcessor}"
        threadCount="${gwt.threadCount}">
      <antcall target="test.web.htmlunit"/>
      <!-- no-op unless gwt.hosts.web.remote is defined -->
      <antcall target="test.nometa.remote"/>
      <!-- no-op unless gwt.hosts.web.selenium is defined -->
      <antcall target="test.nometa.selenium"/>
    </parallel>
    </limit>
  </target>
  
  
  <!-- Validation TCK test and reports -->
  
  <!-- TODO(nchalko) move the tck target to user/build.xml and then delete
         all of samples/validaitontck -->
    <target name="tck"
        depends="tck.run,tck.report"
        description="Run all tests for this project.">
      <fail
          message="One or more junit tests failed for target: @{test.name} @{test.args}"
          if="junit.failure" status="2" />
    </target>

    <target name="tck.run"
        depends="compile, compile.tests"
        description="Run all tests for this project.">
      <!-- Prevent compilation for every target. -->
      <property name="compile.complete" value="true"/>
      <property name="compile.tests.complete" value="true"/>

      <property.ensure name="distro.built" location="${gwt.dev.staging.jar}"
          message="GWT must be built before performing any tests.  This can be fixed by running ant in the ${gwt.root} directory." />
      <limit failonerror="true" hours="${test.timeout}">

          <antcall target="tck.dev.htmlunit"/>
      </limit>

      <fail
          message="One or more tck tests failed for target: @{test.name} @{test.args}"
          if="junit.failure" status="2" />
    </target>

    <macrodef name="countMarkedTests">
      <attribute name="annotation" default="NOT SET" />
      <attribute name="outputproperty" default="jsr303.marked.@{annotation}" />
      <sequential>
   
      </sequential>
    </macrodef>

    <macrodef name="compileModule">
      <element name="module" />
      <sequential>
        <gwt.timer name="Pre-compile module">
          <java classname="com.google.gwt.dev.CompileModule" fork="yes" failonerror="true">
            <classpath>
              <pathelement location="${gwt.root}/user/src" />
              <pathelement location="${gwt.root}/user/super" />
              <pathelement location="${gwt.root}/dev/core/src" />
              <pathelement location="${gwt.root}/dev/core/super" />
              <pathelement location="${gwt.tools.lib}/javax/validation/validation-api-1.0.0.GA.jar" />
              <pathelement location="${gwt.tools.lib}/javax/validation/validation-api-1.0.0.GA-sources.jar" />
              <pathelement location="${gwt.root}/build/out/user/bin" />
              <pathelement location="${gwt.dev.jar}" />
            </classpath>
            <jvmarg value="-Xmx512M" />
            <module />
            <arg value="-strict" />
            <arg value="-out" />
            <arg value="${project.build}/bin" />
          </java>
        </gwt.timer>
      </sequential>
    </macrodef>

    <target name="tck.report">
      <mkdir dir="${junit.out}/tck-report" />
      <mkdir dir="${junit.out}/tck-report/text" />
      
      <scan> 
        <fileset dir="test/org/hibernate/jsr303/tck/tests" id="id"/>
        <filterchain>
          <countfilter match="@Failing"  property="jsr303.marked.Failing" init="0"/>
          <countfilter match="@NonTckTest"  property="jsr303.marked.NonTckTest" init="0"/>
          <countfilter match="@NotSupported"  property="jsr303.marked.NotSupported" init="0"/>
          <countfilter match="@TestNotCompatible"  property="jsr303.marked.TestNotCompatible" init="0"/>
        </filterchain>
      </scan>
      
      <!-- force to zero if not set above -->
      <property name="jsr303.marked.Failing" value="0"/>
      <property name="jsr303.marked.NonTckTest" value="0"/>
      <property name="jsr303.marked.NotSupported" value="0"/>
      <property name="jsr303.marked.TestNotCompatible" value="0"/>
      
      <echo message="Marked Failing = ${jsr303.marked.Failing}" />
      <echo message="Marked NonTckTest = ${jsr303.marked.NonTckTest}" />
      <echo message="Marked NotSupported = ${jsr303.marked.NotSupported}" />
      <echo message="Marked TestNotCompatible = ${jsr303.marked.TestNotCompatible}" />
      
      <junitreport todir="${junit.out}/tck-report">
        <fileset dir="${junit.out}/tck-dev-htmlunit">
          <include name="reports/TEST-*.xml" />
        </fileset>
        <report format="noframes" todir="${junit.out}/tck-report" styledir="style/html">
          <param name="markedFailing" expression="${jsr303.marked.Failing}" />
          <param name="markedNonTckTest" expression="${jsr303.marked.NonTckTest}" />
          <param name="markedNotSupported" expression="${jsr303.marked.NotSupported}" />
          <param name="markedTestNotCompatible" expression="${jsr303.marked.TestNotCompatible}" />
        </report>
        <report format="noframes" todir="${junit.out}/tck-report/text" styledir="style/text">
          <param name="markedFailing" expression="${jsr303.marked.Failing}" />
          <param name="markedNonTckTest" expression="${jsr303.marked.NonTckTest}" />
          <param name="markedNotSupported" expression="${jsr303.marked.NotSupported}" />
          <param name="markedTestNotCompatible" expression="${jsr303.marked.TestNotCompatible}" />
        </report>
      </junitreport>

      <concat taskname="JSR 303 TCK Result">
        <filelist>
          <file name="${junit.out}/tck-report/text/junit-noframes.html" />
        </filelist>
      </concat>

    </target>

    <target name="tck.dev.htmlunit"
        depends="compile, compile.tests"
        description="Run dev-mode tests with HtmlUnit."
        unless="test.dev.htmlunit.disable">
      <fileset id="tck.dev.htmlunit.tests" dir="${javac.junit.out}"
          includes="${gwt.tck.testcase.dev.includes}"
          excludes="${gwt.tck.testcase.dev.excludes}" />
      <gwt.junit test.name="test.dev.htmlunit"
          test.args="${test.args} -standardsMode "
          test.jvmargs="-ea -Dcom.google.gwt.sample.validationtck.util.Failing.include=true"     
          test.out="${junit.out}/tck-dev-htmlunit"
          test.cases="tck.dev.htmlunit.tests"
          haltonfailure="false"
         >
        <extraclasspaths>
          <path refid="test.extraclasspath" />
        </extraclasspaths>
      </gwt.junit>
    </target>
  
  <!--
      Merges coverage data for the entire project
  -->
  <target name="emma.merge">
    <delete dir="${emma.merged.out}" />
    <mkdir dir="${emma.merged.out}" />
    <emma>
      <merge outfile="${emma.merged.out}/merged.emma" >
        <fileset dir="${junit.out}" >
          <include name="**/*.emma" />
          <exclude name="${emma.merged.out}/merged.emma" />
        </fileset>
      </merge>
    </emma>
    <emma>
      <report sourcepath="${project.classpath.src}">
        <fileset file="${javac.emma.out}/metadata.emma" />
        <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="Cleans this project's intermediate and output files">
    <delete dir="${project.build}" />
    <delete file="${project.lib}" />
  </target>

  <target name="presubmit" depends="test, checkstyle"
      description="runs the gwt api checker, user checkstyle, and user tests">
    <gwt.ant dir=".." target="apicheck-nobuild"/>
  </target>
</project>
