<?xml version="1.0" encoding="UTF-8"?>

<!--
 Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved.
 DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.

 This code is free software; you can redistribute it and/or modify it
 under the terms of the GNU General Public License version 2 only, as
 published by the Free Software Foundation.

 This code is distributed in the hope that it will be useful, but WITHOUT
 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 version 2 for more details (a copy is included in the LICENSE file that
 accompanied this code).

 You should have received a copy of the GNU General Public License version
 2 along with this work; if not, write to the Free Software Foundation,
 Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.

 Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
 or visit www.oracle.com if you need additional information or have any
 questions.
-->

<project name="nashorn" default="test" basedir="..">
  <import file="build-nasgen.xml"/>
  <import file="code_coverage.xml"/>

  <target name="init-conditions">
    <!-- loading locally defined resources and properties. NB they owerwrite default ones defined later -->
    <property file="${user.home}/.nashorn.project.local.properties"/>

    <loadproperties srcFile="make/project.properties"/>
    <path id="dist.path">
         <pathelement location="${dist.dir}"/>
    </path>
    <path id="nashorn.ext.path">
      <pathelement location="${dist.dir}"/>
      <pathelement location="${java.ext.dirs}"/>
    </path>
    <property name="ext.class.path" value="-Djava.ext.dirs=&quot;${toString:nashorn.ext.path}&quot;"/>
    <condition property="svn.executable" value="/usr/local/bin/svn" else="svn">
      <available file="/usr/local/bin/svn"/>
    </condition>
    <condition property="hg.executable" value="/usr/local/bin/hg" else="hg">
      <available file="/usr/local/bin/hg"/>
    </condition>
    <condition property="git.executable" value="/usr/local/bin/git" else="git">
      <available file="/usr/local/bin/git"/>
    </condition>
    <!-- check if TestNG and dependencies are available, and download them if they aren't -->
    <antcall target="get-testng"/>
    <condition property="testng.available" value="true">
      <and>
        <available file="${file.reference.testng.jar}"/>
        <available file="${file.reference.jcommander.jar}"/>
        <available file="${file.reference.bsh.jar}"/>
        <available file="${file.reference.snakeyaml.jar}"/>
      </and>
    </condition>
    <!-- check if Jemmy ang TestNG are avaiable -->
    <condition property="jemmy.jfx.testng.available" value="true">
      <and>
        <available file="${file.reference.jemmyfx.jar}"/>
        <available file="${file.reference.jemmycore.jar}"/>
        <available file="${file.reference.jemmyawtinput.jar}"/>
        <available file="${file.reference.jfxrt.jar}"/>
        <isset property="testng.available"/>
      </and>
    </condition>

    <!-- enable/disable make code coverage -->
    <condition property="cc.enabled">
        <istrue value="${make.code.coverage}" />
    </condition>

    <!-- exclude tests in exclude lists -->
    <condition property="exclude.list" value="./exclude/exclude_list_cc.txt" else="./exclude/exclude_list.txt">
      <istrue value="${make.code.coverage}" />
    </condition>

    <condition property="jfr.options" value="${run.test.jvmargs.jfr}" else="">
      <istrue value="${jfr}"/>
    </condition>
  </target>

  <!-- check minimum ant version required to be 1.8.4 -->
  <target name="check-ant-version">
    <property name="ant.version.required" value="1.8.4"/>
    <antversion property="ant.current.version" />
    <fail message="The current ant version, ${ant.current.version}, is too old. Please use 1.8.4 or above.">
        <condition>
            <not>
                <antversion atleast="${ant.version.required}"/>
            </not>
        </condition>
    </fail>
  </target>

  <target name="check-java-version">
    <!-- look for a Class that is available only in jdk1.8 or above -->
    <!-- core/exposed API class is better than an implementation class -->
    <available property="jdk1.8+" classname="java.util.stream.Stream"/>

    <!-- need jdk1.8 or above -->
    <fail message="Unsupported Java version: ${ant.java.version}. Please use Java version 1.8 or greater." unless="jdk1.8+">
    </fail>
  </target>
  
  <target name="init" depends="check-ant-version, check-java-version, init-conditions, init-cc">
    <!-- extends jvm args -->
    <property name="run.test.jvmargs" value="${run.test.jvmargs.main} ${run.test.cc.jvmargs} ${jfr.options}"/>
    <property name="run.test.jvmargs.octane" value="${run.test.jvmargs.octane.main} ${run.test.cc.jvmargs} ${jfr.options}"/>

    <echo message="run.test.jvmargs=${run.test.jvmargs}"/>
    <echo message="run.test.jvmargs.octane=${run.test.jvmargs.octane}"/>
    <echo message="run.test.xms=${run.test.xms}"/>
    <echo message="run.test.xmx=${run.test.xmx}"/>

  </target>

  <target name="prepare" depends="init">
    <mkdir dir="${build.dir}"/>
    <mkdir dir="${build.classes.dir}"/>
    <mkdir dir="${build.classes.dir}/META-INF/services"/>
    <mkdir dir="${build.test.classes.dir}"/>
    <mkdir dir="${dist.dir}"/>
    <mkdir dir="${dist.javadoc.dir}"/>
  </target>

  <target name="clean" depends="init, clean-nasgen, init-cc-cleanup">
    <delete includeemptydirs="true">
      <fileset dir="${build.dir}" erroronmissingdir="false"/>
    </delete>
    <delete dir="${dist.dir}"/>
  </target>

  <target name="compile" depends="prepare" description="Compiles nashorn">
    <javac srcdir="${src.dir}"
           destdir="${build.classes.dir}"
           classpath="${javac.classpath}"
           source="${javac.source}"
           target="${javac.target}"
           debug="${javac.debug}"
           encoding="${javac.encoding}"
           includeantruntime="false" fork="true">
      <compilerarg value="-J-Djava.ext.dirs="/>
      <compilerarg value="-Xlint:all"/>
      <compilerarg value="-XDignore.symbol.file"/>
      <compilerarg value="-Xdiags:verbose"/>
    </javac>
    <copy todir="${build.classes.dir}/META-INF/services">
       <fileset dir="${meta.inf.dir}/services/"/>
    </copy>
     <copy todir="${build.classes.dir}/jdk/nashorn/api/scripting/resources">
       <fileset dir="${src.dir}/jdk/nashorn/api/scripting/resources/"/>
    </copy>
    <copy todir="${build.classes.dir}/jdk/nashorn/internal/runtime/resources">
       <fileset dir="${src.dir}/jdk/nashorn/internal/runtime/resources/"/>
    </copy>
    <copy todir="${build.classes.dir}/jdk/nashorn/tools/resources">
       <fileset dir="${src.dir}/jdk/nashorn/tools/resources/"/>
    </copy>
    <copy file="${src.dir}/jdk/internal/dynalink/support/messages.properties" todir="${build.classes.dir}/jdk/internal/dynalink/support"/>
    <copy file="${src.dir}/jdk/nashorn/internal/codegen/anchor.properties" todir="${build.classes.dir}/jdk/nashorn/internal/codegen"/>

    <echo message="full=${nashorn.fullversion}" file="${build.classes.dir}/jdk/nashorn/internal/runtime/resources/version.properties"/>
    <echo file="${build.classes.dir}/jdk/nashorn/internal/runtime/resources/version.properties" append="true">${line.separator}</echo>
    <echo message="release=${nashorn.version}" file="${build.classes.dir}/jdk/nashorn/internal/runtime/resources/version.properties" append="true"/>
  </target>

  <target name="jar" depends="compile, run-nasgen, generate-cc-template" description="Creates nashorn.jar" unless="compile.suppress.jar">
    <jar jarfile="${dist.jar}" manifest="${meta.inf.dir}/MANIFEST.MF" index="true" filesetmanifest="merge">
      <fileset dir="${build.classes.dir}"/>
      <manifest>
        <attribute name="Archiver-Version" value="n/a"/>
        <attribute name="Build-Jdk" value="${java.runtime.version}"/>
        <attribute name="Built-By" value="n/a"/>
        <attribute name="Created-By" value="Ant jar task"/>
        <section name="jdk/nashorn/">
          <attribute name="Implementation-Title" value="${nashorn.product.name}"/>
          <attribute name="Implementation-Version" value="${nashorn.version}"/>
        </section>
      </manifest>
    </jar>
  </target>

  <target name="use-promoted-nashorn" depends="init">
    <delete file="${dist.dir}/nashorn.jar"/>
    <copy file="${java.home}/lib/ext/nashorn.jar" todir="${dist.dir}"/>
    <property name="compile.suppress.jar" value="defined"/>
  </target>

  <target name="build-fxshell" depends="jar">
    <description>Builds the javafx shell.</description>
    <mkdir dir="${fxshell.classes.dir}"/>
    <javac srcdir="${fxshell.dir}"
           destdir="${fxshell.classes.dir}"
           classpath="${dist.jar}${path.separator}${javac.classpath}"
           debug="${javac.debug}"
           encoding="${javac.encoding}"
           includeantruntime="false">
    </javac>
    <jar jarfile="${fxshell.jar}" manifest="${meta.inf.dir}/MANIFEST.MF" index="true" filesetmanifest="merge">
      <fileset dir="${fxshell.classes.dir}"/>
      <manifest>
        <attribute name="Archiver-Version" value="n/a"/>
        <attribute name="Build-Jdk" value="${java.runtime.version}"/>
        <attribute name="Built-By" value="n/a"/>
        <attribute name="Created-By" value="Ant jar task"/>
        <section name="jdk/nashorn/">
          <attribute name="Implementation-Title" value="Oracle Nashorn FXShell"/>
          <attribute name="Implementation-Version" value="${nashorn.version}"/>
        </section>
      </manifest>
    </jar>
  </target>

  <!-- generate javadoc for all Nashorn and ASM classes -->
  <target name="javadoc" depends="jar">
    <javadoc destdir="${dist.javadoc.dir}" use="yes" overview="${src.dir}/overview.html" 
        extdirs="${nashorn.ext.path}" windowtitle="${nashorn.product.name} ${nashorn.version}"
        additionalparam="-quiet" failonerror="true" useexternalfile="true">
      <arg value="${javadoc.option}"/>
      <classpath>
        <pathelement location="${build.classes.dir}"/>
      </classpath>
      <fileset dir="${src.dir}" includes="**/*.java"/>
      <fileset dir="${jdk.asm.src.dir}" includes="**/*.java"/>
      <link href="http://docs.oracle.com/javase/8/docs/api/"/>
      <!-- The following tags are used only in ASM sources - just ignore these -->
      <tag name="label" description="label tag in ASM sources" enabled="false"/>
      <tag name="linked" description="linked tag in ASM sources" enabled="false"/>
      <tag name="associates" description="associates tag in ASM sources" enabled="false"/>
    </javadoc>
  </target>

  <!-- generate javadoc for Nashorn classes -->
  <target name="javadocnh" depends="jar">
    <javadoc destdir="${dist.javadoc.dir}" use="yes" overview="${src.dir}/overview.html"
        extdirs="${nashorn.ext.path}" windowtitle="${nashorn.product.name} ${nashorn.version}"
        additionalparam="-quiet" failonerror="true" useexternalfile="true">
      <arg value="${javadoc.option}"/>
      <classpath>
        <pathelement location="${build.classes.dir}"/>
      </classpath>
      <fileset dir="${src.dir}" includes="**/*.java"/>
      <link href="http://docs.oracle.com/javase/8/docs/api/"/>
    </javadoc>
  </target>

  <!-- generate javadoc only for nashorn extension api classes -->
  <target name="javadocapi" depends="jar">
    <javadoc destdir="${dist.javadoc.dir}" use="yes" extdirs="${nashorn.ext.path}" 
        windowtitle="${nashorn.product.name}" additionalparam="-quiet" failonerror="true" useexternalfile="true">
      <arg value="${javadoc.option}"/>
      <classpath>
        <pathelement location="${build.classes.dir}"/>
      </classpath>
      <fileset dir="${src.dir}" includes="jdk/nashorn/api/**/*.java"/>
      <link href="http://docs.oracle.com/javase/8/docs/api/"/>
    </javadoc>
  </target>

  <!-- generate shell.html for shell tool documentation -->
  <target name="shelldoc" depends="jar">
    <java classname="${nashorn.shell.tool}" dir="${basedir}" output="${dist.dir}/shell.html" failonerror="true" fork="true">
      <jvmarg line="${ext.class.path}"/>
      <arg value="-scripting"/>
      <arg value="docs/genshelldoc.js"/>
    </java>
  </target>

  <!-- generate all docs -->
  <target name="docs" depends="javadoc, shelldoc"/>

  <!-- create .zip and .tar.gz for nashorn binaries and scripts. -->
  <target name="dist" depends="jar">
      <zip destfile="${build.zip}" basedir=".."
          excludes="nashorn/bin/*.sh" includes="nashorn/bin/** nashorn/dist/**"/>
      <tar destfile="${build.gzip}" basedir=".." compression="gzip"
          excludes="nashorn/bin/*.sh" includes="nashorn/bin/** nashorn/dist/**"/>
  </target>

  <target name="compile-test" depends="compile, run-nasgen" if="testng.available">
    <!-- testng task -->
    <taskdef name="testng" classname="org.testng.TestNGAntTask"
        classpath="${testng.ant.classpath}"/>

    <javac srcdir="${test.src.dir}"
           destdir="${build.test.classes.dir}"
           classpath="${javac.test.classpath}"
           source="${test.javac.source}"
           target="${test.javac.target}"
           debug="${javac.debug}"
           encoding="${javac.encoding}"
           includeantruntime="false" fork="true">
        <compilerarg value="-J-Djava.ext.dirs="/>
        <compilerarg value="-Xlint:unchecked"/>
        <compilerarg value="-Xlint:deprecation"/>
        <compilerarg value="-Xdiags:verbose"/>
    </javac>

    <copy todir="${build.test.classes.dir}/META-INF/services">
       <fileset dir="${test.src.dir}/META-INF/services/"/>
    </copy>

    <copy todir="${build.test.classes.dir}/jdk/nashorn/internal/runtime/test/resources">
       <fileset dir="${test.src.dir}/jdk/nashorn/internal/runtime/test/resources"/>
    </copy>

    <copy todir="${build.test.classes.dir}/jdk/nashorn/api/scripting/test/resources">
       <fileset dir="${test.src.dir}/jdk/nashorn/api/scripting/test/resources"/>
    </copy>

    <!-- tests that check nashorn internals and internal API -->
    <jar jarfile="${nashorn.internal.tests.jar}">
      <fileset dir="${build.test.classes.dir}" excludes="**/api/**"/>
    </jar>

    <!-- tests that check nashorn script engine (jsr-223) API -->
    <jar jarfile="${nashorn.api.tests.jar}">
      <fileset dir="${build.test.classes.dir}" includes="**/api/**"/>
      <fileset dir="${build.test.classes.dir}" includes="**/META-INF/**"/>
      <fileset dir="${build.test.classes.dir}" includes="**/resources/*.js"/>
    </jar>

  </target>

  <target name="generate-policy-file" depends="prepare">
    <echo file="${build.dir}/nashorn.policy">

grant codeBase "file:/${toString:dist.path}/nashorn.jar" {
    permission java.security.AllPermission;
};

grant codeBase "file:/${basedir}/${nashorn.internal.tests.jar}" {
    permission java.security.AllPermission;
};

grant codeBase "file:/${basedir}/${file.reference.testng.jar}" {
    permission java.security.AllPermission;
};
grant codeBase "file:/${basedir}/${file.reference.jcommander.jar}" {
    permission java.security.AllPermission;
};
grant codeBase "file:/${basedir}/${file.reference.bsh.jar}" {
    permission java.security.AllPermission;
};
grant codeBase "file:/${basedir}/${file.reference.snakeyaml.jar}" {
    permission java.security.AllPermission;
};
//// in case of absolute path:
grant codeBase "file:/${nashorn.internal.tests.jar}" {
    permission java.security.AllPermission;
};

grant codeBase "file:/${file.reference.testng.jar}" {
    permission java.security.AllPermission;
};
grant codeBase "file:/${file.reference.jcommander.jar}" {
    permission java.security.AllPermission;
};
grant codeBase "file:/${file.reference.bsh.jar}" {
    permission java.security.AllPermission;
};
grant codeBase "file:/${file.reference.snakeyaml.jar}" {
    permission java.security.AllPermission;
};


grant codeBase "file:/${basedir}/test/script/trusted/*" {
    permission java.security.AllPermission;
};

grant codeBase "file:/${basedir}/test/script/maptests/*" {
    permission java.io.FilePermission "${basedir}/test/script/maptests/*","read";
    permission java.lang.RuntimePermission "nashorn.debugMode";
};

grant codeBase "file:/${basedir}/test/script/basic/*" {
    permission java.io.FilePermission "${basedir}/test/script/-", "read";
    permission java.io.FilePermission "$${user.dir}", "read";
    permission java.util.PropertyPermission "user.dir", "read";
    permission java.util.PropertyPermission "nashorn.test.*", "read";
};

grant codeBase "file:/${basedir}/test/script/basic/apply_to_call/*" {
    permission java.io.FilePermission "${basedir}/test/script/-", "read";
    permission java.io.FilePermission "$${user.dir}", "read";
    permission java.util.PropertyPermission "user.dir", "read";
    permission java.util.PropertyPermission "nashorn.test.*", "read";
};

grant codeBase "file:/${basedir}/test/script/basic/parser/*" {
    permission java.io.FilePermission "${basedir}/test/script/-", "read";
    permission java.io.FilePermission "$${user.dir}", "read";
    permission java.util.PropertyPermission "user.dir", "read";
    permission java.util.PropertyPermission "nashorn.test.*", "read";
};

grant codeBase "file:/${basedir}/test/script/basic/es6/*" {
    permission java.io.FilePermission "${basedir}/test/script/-", "read";
    permission java.io.FilePermission "$${user.dir}", "read";
    permission java.util.PropertyPermission "user.dir", "read";
    permission java.util.PropertyPermission "nashorn.test.*", "read";
};

grant codeBase "file:/${basedir}/test/script/basic/JDK-8010946-privileged.js" {
    permission java.util.PropertyPermission "java.security.policy", "read";
};

grant codeBase "file:/${basedir}/test/script/basic/classloader.js" {
    permission java.lang.RuntimePermission "nashorn.JavaReflection";
};

grant codeBase "file:/${basedir}/test/script/markdown.js" {
    permission java.io.FilePermission "${basedir}/test/script/external/showdown/-", "read";
};

    </echo>

    <replace file="${build.dir}/nashorn.policy"><replacetoken>\</replacetoken><replacevalue>/</replacevalue></replace>    <!--hack for Windows - to make URLs with normal path separators -->
    <replace file="${build.dir}/nashorn.policy"><replacetoken>//</replacetoken><replacevalue>/</replacevalue></replace>   <!--hack for Unix - to avoid leading // in URLs -->

  </target>

  <target name="check-external-tests">
      <available file="${test.external.dir}/prototype" property="test-sys-prop.external.prototype"/>
      <available file="${test.external.dir}/sunspider" property="test-sys-prop.external.sunspider"/>
      <available file="${test.external.dir}/underscore" property="test-sys-prop.external.underscore"/>
      <available file="${test.external.dir}/octane" property="test-sys-prop.external.octane"/>
      <available file="${test.external.dir}/yui" property="test-sys-prop.external.yui"/>
      <available file="${test.external.dir}/jquery" property="test-sys-prop.external.jquery"/>
      <available file="${test.external.dir}/test262" property="test-sys-prop.external.test262"/>
      <available file="${test.external.dir}/showdown" property="test-sys-prop.external.markdown"/>
  </target>

  <target name="check-testng" unless="testng.available">
    <echo message="WARNING: TestNG not available, will not run tests. Please copy TestNG and dependency JARs to the ${test.lib} directory."/>
  </target>

  <!-- only to be invoked as dependency of "test" target -->
  <target name="-test-classes-all" depends="jar" unless="test.class">
      <fileset id="test.classes" dir="${build.test.classes.dir}">
          <include name="**/api/javaaccess/test/*Test.class"/>
          <include name="**/api/scripting/test/*Test.class"/>
          <include name="**/codegen/test/*Test.class"/>
          <include name="**/parser/test/*Test.class"/>
          <include name="**/runtime/test/*Test.class"/>
          <include name="**/runtime/regexp/test/*Test.class"/>
          <include name="**/runtime/regexp/joni/test/*Test.class"/>
          <include name="**/framework/*Test.class"/>
     </fileset>
  </target>

  <!-- only to be invoked as dependency of "test" target -->
  <target name="-test-classes-single" depends="jar" if="test.class">
     <fileset id="test.classes" dir="${build.test.classes.dir}">
         <include name="${test.class}*"/>
     </fileset>
  </target>

  <!-- only to be invoked as dependency of "test" target -->
  <target name="-test-nosecurity" unless="test.class">
    <fileset id="test.nosecurity.classes" dir="${build.test.classes.dir}">
      <include name="**/framework/ScriptTest.class"/>
    </fileset>
    <testng outputdir="${build.nosecurity.test.results.dir}/${testResultsSubDir}" classfilesetref="test.nosecurity.classes"
       verbose="${testng.verbose}" haltonfailure="true" useDefaultListeners="false" listeners="${testng.listeners}" workingDir="${basedir}">
      <jvmarg line="${ext.class.path}"/>
      <jvmarg line="${run.test.jvmargs} -Xmx${run.test.xmx} -Dbuild.dir=${build.dir}"/>
      <sysproperty key="nashorn.jar" value="${dist.dir}/nashorn.jar"/>
      <propertyset>
        <propertyref prefix="nashorn."/>
      </propertyset>
      <propertyset>
        <propertyref prefix="test-sys-prop-no-security."/>
        <mapper from="test-sys-prop-no-security.*" to="*" type="glob"/>
      </propertyset>
      <sysproperty key="optimistic.override" value="${optimistic}"/>
      <classpath>
          <pathelement path="${run.test.classpath}"/>
      </classpath>
    </testng>
  </target>

  <!-- only to be invoked as dependency of "test" target -->
  <target name="-test-security">
    <delete dir="${build.dir}/nashorn_code_cache"/>
    <property name="debug.test.jvmargs" value=""/>
    <testng outputdir="${build.test.results.dir}/${testResultsSubDir}" classfilesetref="test.classes"
	    verbose="${testng.verbose}" haltonfailure="true" useDefaultListeners="false" listeners="${testng.listeners}" workingDir="${basedir}">
      <jvmarg line="${ext.class.path}"/>
      <jvmarg line="${run.test.jvmargs} -Xmx${run.test.xmx} ${run.test.jvmsecurityargs} -Dbuild.dir=${build.dir}"/>
      <jvmarg line="${debug.test.jvmargs}"/>
      <propertyset>
        <propertyref prefix="nashorn."/>
      </propertyset>
      <propertyset>
        <propertyref prefix="test-sys-prop."/>
        <mapper from="test-sys-prop.*" to="*" type="glob"/>
      </propertyset>
      <sysproperty key="optimistic.override" value="${optimistic}"/>
      <sysproperty key="test.js.excludes.file" value="${exclude.list}"/>
      <classpath>
          <pathelement path="${run.test.classpath}"/>
      </classpath>
    </testng>
  </target>

  <target name="test" depends="prepare, javadocnh, test-pessimistic, test-optimistic"/>

  <target name="test-optimistic" depends="jar, -test-classes-all,-test-classes-single, check-testng, check-external-tests, compile-test, generate-policy-file" if="testng.available">
    <echo message="Running test suite in OPTIMISTIC mode..."/>
    <antcall target="-test-nosecurity" inheritRefs="true">
      <param name="optimistic" value="true"/>
      <param name="testResultsSubDir" value="optimistic"/>
    </antcall>    
    <antcall target="-test-security" inheritRefs="true">
      <param name="optimistic" value="true"/>
      <param name="testResultsSubDir" value="optimistic"/>
    </antcall>
  </target>

  <target name="test-pessimistic" depends="jar, -test-classes-all,-test-classes-single, check-testng, check-external-tests, compile-test, generate-policy-file" if="testng.available">
    <echo message="Running test suite in PESSIMISTIC mode..."/>
    <antcall target="-test-nosecurity" inheritRefs="true">
      <param name="optimistic" value="false"/>
      <param name="testResultsSubDir" value="pessimistic"/>
    </antcall>    
    <antcall target="-test-security" inheritRefs="true">
      <param name="optimistic" value="false"/>
      <param name="testResultsSubDir" value="pessimistic"/>
    </antcall>
  </target>

  <target name="check-jemmy.jfx.testng" unless="jemmy.jfx.testng.available">
    <echo message="WARNING: Jemmy or JavaFX or TestNG not available, will not run tests. Please copy TestNG and dependency JARs, JemmyCore.jar, JemmyFX.jar, JemmyAWTInput.jar to the test${file.separator}lib directory. And make sure you have jfxrt.jar in ${java.home}${file.separator}lib${file.separator}ext dir."/>
  </target>

  <target name="testjfx" depends="jar, get-testng, check-jemmy.jfx.testng, compile-test" if="jemmy.jfx.testng.available">
    <fileset id="test.classes" dir="${build.test.classes.dir}">
       <include name="**/framework/*Test.class"/>
    </fileset>

    <copy file="${file.reference.jfxrt.jar}" todir="dist"/>

    <condition property="jfx.prism.order" value="-Dprism.order=j2d" else=" ">
        <not>
            <os family="mac"/>
        </not>
    </condition>

    <testng outputdir="${build.test.results.dir}" classfilesetref="test.classes"
       verbose="${testng.verbose}" haltonfailure="true" useDefaultListeners="false" listeners="${testng.listeners}" workingDir="${basedir}">
      <jvmarg line="${ext.class.path}"/>
      <jvmarg line="${run.test.jvmargs} -Xmx${run.test.xmx} -Dbuild.dir=${build.dir}"/>
      <propertyset>
        <propertyref prefix="testjfx-test-sys-prop."/>
        <mapper from="testjfx-test-sys-prop.*" to="*" type="glob"/>
      </propertyset>
      <sysproperty key="test.fork.jvm.options" value="${testjfx-test-sys-prop.test.fork.jvm.options} ${jfx.prism.order}"/>
      <classpath>
          <pathelement path="${testjfx.run.test.classpath}"/>
      </classpath>
    </testng>
  </target>

  <target name="testmarkdown" depends="jar, get-testng, check-testng, check-external-tests, compile-test, generate-policy-file" if="testng.available">
    <fileset id="test.classes" dir="${build.test.classes.dir}">
       <include name="**/framework/*Test.class"/>
    </fileset>

    <testng outputdir="${build.test.results.dir}" classfilesetref="test.classes"
       verbose="${testng.verbose}" haltonfailure="true" useDefaultListeners="false" listeners="${testng.listeners}" workingDir="${basedir}">
      <jvmarg line="${ext.class.path}"/>
      <jvmarg line="${run.test.jvmargs} -Xmx${run.test.xmx} ${run.test.jvmsecurityargs} -Dbuild.dir=${build.dir}"/>
      <propertyset>
        <propertyref prefix="testmarkdown-test-sys-prop."/>
        <mapper from="testmarkdown-test-sys-prop.*" to="*" type="glob"/>
      </propertyset>
      <classpath>
          <pathelement path="${run.test.classpath}"/>
      </classpath>
    </testng>
  </target>

  <target name="test262" depends="jar, get-testng, check-testng, check-external-tests, compile-test, generate-policy-file" if="testng.available">
    <fileset id="test.classes" dir="${build.test.classes.dir}">
       <include name="**/framework/*Test.class"/>
    </fileset>

    <testng outputdir="${build.test.results.dir}" classfilesetref="test.classes"
       verbose="${testng.verbose}" haltonfailure="true" useDefaultListeners="false" listeners="${testng.listeners}" workingDir="${basedir}">
      <jvmarg line="${ext.class.path}"/>
      <jvmarg line="${run.test.jvmargs} -Xmx${run.test.xmx} ${run.test.jvmsecurityargs} -Dbuild.dir=${build.dir}"/>
      <propertyset>
        <propertyref prefix="nashorn."/>
      </propertyset>
      <propertyset>
        <propertyref prefix="test262-test-sys-prop."/>
        <mapper from="test262-test-sys-prop.*" to="*" type="glob"/>
      </propertyset>
      <classpath>
          <pathelement path="${run.test.classpath}"/>
      </classpath>
    </testng>
  </target>

  <target name="test262parallel" depends="test262-parallel"/>

  <target name="test262-parallel" depends="jar, get-testng, check-testng, check-external-tests, compile-test, generate-policy-file" if="testng.available">
    <!-- use just build.test.classes.dir to avoid referring to TestNG -->
    <java classname="${parallel.test.runner}" dir="${basedir}" fork="true">
      <jvmarg line="${ext.class.path}"/>
      <jvmarg line="${run.test.jvmargs} -Xmx${run.test.xmx} ${run.test.jvmsecurityargs} -Dbuild.dir=${build.dir}"/>
      <!-- avoid too many typeinfo cache files. Each script is run only once anyway -->
      <jvmarg line="-Dnashorn.typeInfo.disabled=true"/>
      <classpath>
          <pathelement path="${run.test.classpath}"/>
      </classpath>
      <syspropertyset>
          <propertyref prefix="test262-test-sys-prop."/>
          <mapper type="glob" from="test262-test-sys-prop.*" to="*"/>
      </syspropertyset>
    </java>
  </target>

  <target name="testparallel" depends="test-parallel"/>

  <target name="test-parallel" depends="jar, get-testng, check-testng, check-external-tests, compile-test, generate-policy-file" if="testng.available">
      <!-- use just build.test.classes.dir to avoid referring to TestNG -->
      <java classname="${parallel.test.runner}" dir="${basedir}"
        failonerror="true"
        fork="true">
      <jvmarg line="${ext.class.path}"/>
      <jvmarg line="${run.test.jvmargs} -Xmx${run.test.xmx} ${run.test.jvmsecurityargs}"/>
      <classpath>
          <pathelement path="${run.test.classpath}"/>
      <pathelement path="${build.test.classes.dir}"/>
      </classpath>
      <syspropertyset>
          <propertyref prefix="test-sys-prop."/>
          <mapper type="glob" from="test-sys-prop.*" to="*"/>
      </syspropertyset>
      </java>
  </target>

  <target name="all" depends="test, docs"
      description="Build, test and generate docs for nashorn"/>

  <target name="run" depends="jar"
      description="Run the shell with a sample script">
    <java classname="${nashorn.shell.tool}" fork="true" dir="samples">
        <jvmarg line="${ext.class.path}"/>
        <jvmarg line="${run.test.jvmargs} -Xmx${run.test.xmx}"/>
        <arg value="-dump-on-error"/>
        <arg value="test.js"/>
    </java>
  </target>

  <target name="debug" depends="jar"
      description="Debug the shell with a sample script">
    <java classname="${nashorn.shell.tool}" fork="true" dir="samples">
        <jvmarg line="${ext.class.path}"/>
        <jvmarg line="${run.test.jvmargs} -Xmx${run.test.xmx}"/>
        <arg value="--print-code"/>
        <arg value="--verify-code"/>
        <arg value="--print-symbols"/>
        <jvmarg value="-Dnashorn.codegen.debug=true"/>
        <arg value="test.js"/>
    </java>
  </target>

  <!-- targets to get external script tests -->

  <!-- test262 test suite -->
  <target name="get-test262" depends="init" unless="${test-sys-prop.external.test262}">
    <!-- clone test262 git repo -->
    <exec executable="${git.executable}">
       <arg value="clone"/>
       <arg value="--branch"/>
       <arg value="es5-tests"/>
       <arg value="https://github.com/tc39/test262"/>
       <arg value="${test.external.dir}/test262"/>
    </exec>
  </target>
  <target name="update-test262" depends="init" if="${test-sys-prop.external.test262}">
    <!-- update test262 git repo -->
    <exec executable="${git.executable}" dir="${test.external.dir}/test262">
       <arg value="pull"/>
    </exec>
  </target>

  <!-- octane benchmark -->
  <target name="get-octane" depends="init" unless="${test-sys-prop.external.octane}">
    <!-- checkout octane benchmarks -->
    <exec executable="${svn.executable}">
       <arg value="--non-interactive"/>
       <arg value="--trust-server-cert"/>
       <arg value="checkout"/>
       <arg value="http://octane-benchmark.googlecode.com/svn/trunk/"/>
       <arg value="${test.external.dir}/octane"/>
    </exec>
  </target>
  <target name="update-octane" depends="init" if="${test-sys-prop.external.octane}">
    <!-- update octane benchmarks -->
    <exec executable="${svn.executable}" dir="${test.external.dir}/octane">
       <arg value="--non-interactive"/>
       <arg value="--trust-server-cert"/>
       <arg value="update"/>
    </exec>
  </target>

  <!-- sunspider benchmark -->
  <target name="get-sunspider" depends="init" unless="${test-sys-prop.external.sunspider}">
    <!-- checkout sunspider -->
    <exec executable="${svn.executable}">
       <arg value="--non-interactive"/>
       <arg value="--trust-server-cert"/>
       <arg value="checkout"/>
       <arg value="http://svn.webkit.org/repository/webkit/trunk/PerformanceTests/SunSpider"/>
       <arg value="${test.external.dir}/sunspider"/>
    </exec>
  </target>
  <target name="update-sunspider" depends="init" if="${test-sys-prop.external.sunspider}">
    <!-- update sunspider -->
    <exec executable="${svn.executable}" dir="${test.external.dir}/sunspider">
       <arg value="--non-interactive"/>
       <arg value="--trust-server-cert"/>
       <arg value="update"/>
    </exec>
  </target>

  <!-- get all external test scripts -->
  <target name="externals" depends="init, check-external-tests, get-test262, get-octane, get-sunspider, get-testng">
    <!-- make external test dir -->
    <mkdir dir="${test.external.dir}"/>

    <!-- jquery -->
    <mkdir dir="${test.external.dir}/jquery"/>
    <get src="http://code.jquery.com/jquery-1.7.2.js" dest="${test.external.dir}/jquery" skipexisting="true" ignoreerrors="true"/>
    <get src="http://code.jquery.com/jquery-1.7.2.min.js" dest="${test.external.dir}/jquery" skipexisting="true" ignoreerrors="true"/>

    <!-- prototype -->
    <mkdir dir="${test.external.dir}/prototype"/>
    <get src="http://ajax.googleapis.com/ajax/libs/prototype/1.7.0/prototype.js" dest="${test.external.dir}/prototype" usetimestamp="true" skipexisting="true" ignoreerrors="true"/>

    <!-- underscorejs -->
    <mkdir dir="${test.external.dir}/underscore"/>
    <get src="http://underscorejs.org/underscore.js" dest="${test.external.dir}/underscore" skipexisting="true" ignoreerrors="true"/>
    <get src="http://underscorejs.org/underscore-min.js" dest="${test.external.dir}/underscore" skipexisting="true" ignoreerrors="true"/>

    <!-- yui -->
    <mkdir dir="${test.external.dir}/yui"/>
    <get src="http://yui.yahooapis.com/3.5.1/build/yui/yui.js" dest="${test.external.dir}/yui" skipexisting="true" ignoreerrors="true"/>
    <get src="http://yui.yahooapis.com/3.5.1/build/yui/yui-min.js" dest="${test.external.dir}/yui" skipexisting="true" ignoreerrors="true"/>

    <!-- showdown -->
    <mkdir dir="${test.external.dir}/showdown"/>
    <get src="https://raw.githubusercontent.com/showdownjs/showdown/0.5.4/src/showdown.js" dest="${test.external.dir}/showdown" skipexisting="true" ignoreerrors="true"/>
    <get src="https://raw.githubusercontent.com/showdownjs/showdown/0.5.4/src/extensions/table.js" dest="${test.external.dir}/showdown" skipexisting="true" ignoreerrors="true"/>

  </target>

  <!-- update external test suites that are pulled from source control systems -->
  <target name="update-externals" depends="init, check-external-tests, update-test262, update-octane, update-sunspider"/>

  <!-- run all perf tests -->
  <target name="perf" depends="externals, update-externals, sunspider, octane"/>

  <!-- download and install testng.jar -->
  <target name="get-testng">
    <get dest="${test.lib}" skipexisting="true">
      <url url="http://central.maven.org/maven2/org/testng/testng/6.8/testng-6.8.jar"/>
      <url url="http://central.maven.org/maven2/com/beust/jcommander/1.27/jcommander-1.27.jar"/>
      <url url="http://central.maven.org/maven2/org/beanshell/bsh/2.0b4/bsh-2.0b4.jar"/>
      <url url="http://central.maven.org/maven2/org/yaml/snakeyaml/1.6/snakeyaml-1.6.jar"/>
    </get>
  </target>

  <!-- run all tests -->
  <target name="alltests" depends="get-testng, externals, update-externals, test, test262parallel, testmarkdown, perf"/>

  <import file="build-benchmark.xml"/>

</project>
