<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.selenium" value="${gwt.selenium.hosts}">
    <isset property="gwt.selenium.hosts"/>
  </condition>

  <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="**/*JsInteropSuite.class,**/*JreSuite.class,**/OptimizedOnly*"/>

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

  <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.selenium"
            value='${test.args} -out www -runStyle "Selenium:${gwt.hosts.dev.selenium}"'/>
  <property name="test.args.web.selenium"
            value='${test.args} -prod -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-3.1.jar"/>
    <pathelement location="${gwt.tools.lib}/mockito/1.9.5/mockito-all-1.9.5.jar"/>
    <pathelement location="${gwt.tools.lib}/objenesis/objenesis-1.2.jar"/>
    <pathelement location="${gwt.tools.lib}/objectweb/asm-5.0.3/lib/asm-all-5.0.3.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.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}"/>
    <pathelement location="${gwt.tools.lib}/gss/2014-09-11/closure-stylesheets-rebased.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}/gss/2014-09-11/closure-stylesheets-rebased.jar"/>
        <pathelement
            location="${gwt.tools.lib}/jetty/jetty-8.1.12.v20130726/servlet-api-3.0-NoMetaInf.jar"/>
        <pathelement location="${gwt.tools.lib}/junit/junit-4.8.2.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.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"/>
        <pathelement
            location="${gwt.tools.lib}/streamhtmlparser/streamhtmlparser-jsilver-r10/streamhtmlparser-jsilver-r10-1.5-rebased.jar"/>
        <pathelement location="${gwt.dev.jar}"/>
      </classpath>
    </gwt.javac>
  </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/**,**/super/**" 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"/>
        <path refid="test.extraclasspath"/>
      </classpath>
      <compilerarg value="-processor"/>
      <compilerarg value="com.google.web.bindery.requestfactory.apt.RfValidator"/>
    </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"
          unless="precompile.disable">
    <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/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.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}/jetty/jetty-8.1.12.v20130726/servlet-api-3.0-NoMetaInf.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-source" 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>
  </target>
  <target name="checkstyle-tests" description="Static analysis of source">
    <gwt.checkstyle.tests>
      <fileset dir="test">
        <include name="com/google/**/*.java"/>
        <include name="test/**"/>
      </fileset>
    </gwt.checkstyle.tests>
  </target>

  <target name="checkstyle" description="Static analysis of source"
          depends="checkstyle-tests,checkstyle-source">
  </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.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} "
               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} "
               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.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"
               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"
               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"
               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"
          unless="test.coverage.htmlunit.disable">
    <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"
               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"
          unless="test.user.disable"
          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="dev.built" location="${gwt.dev.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.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="dev.built" location="${gwt.dev.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.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.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.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.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.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="dev.built" location="${gwt.dev.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>
      <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="-sourceLevel"/>
        <arg value="${javac.source}"/>
        <arg value="-out"/>
        <arg value="${project.build}/bin"/>
      </java>
    </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} "
               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>
