nashorn/make/build.xml
changeset 34456 84eaea8d0574
parent 34040 d0118c2a21c4
parent 34449 d4f99108d903
child 34731 585a112b3719
equal deleted inserted replaced
34096:5ac6287ec71a 34456:84eaea8d0574
    50     </condition>
    50     </condition>
    51     <!-- check if testng.jar is avaiable, and download it if it isn't -->
    51     <!-- check if testng.jar is avaiable, and download it if it isn't -->
    52     <available property="testng.already.present" file="${file.reference.testng.jar}"/>
    52     <available property="testng.already.present" file="${file.reference.testng.jar}"/>
    53     <antcall target="get-testng"/>
    53     <antcall target="get-testng"/>
    54     <available property="testng.available" file="${file.reference.testng.jar}"/>
    54     <available property="testng.available" file="${file.reference.testng.jar}"/>
       
    55 
       
    56     <!-- check if asmtools-6.0.jar is avaiable, and download it if it isn't -->
       
    57     <!--
       
    58     <available property="asmtools.already.present" file="${file.reference.asmtools.jar}"/>
       
    59     <antcall target="get-asmtools"/>
       
    60     <available property="asmtools.available" file="${file.reference.asmtools.jar}"/>
       
    61     -->
       
    62 
    55     <!-- check if Jemmy ang testng.jar are avaiable -->
    63     <!-- check if Jemmy ang testng.jar are avaiable -->
    56     <condition property="jemmy.jfx.testng.available" value="true">
    64     <condition property="jemmy.jfx.testng.available" value="true">
    57       <and>
    65       <and>
    58         <available file="${file.reference.jemmyfx.jar}"/>
    66         <available file="${file.reference.jemmyfx.jar}"/>
    59         <available file="${file.reference.jemmycore.jar}"/>
    67         <available file="${file.reference.jemmycore.jar}"/>
   153        <fileset dir="${nashorn.module.src.dir}/jdk/nashorn/internal/runtime/resources/"/>
   161        <fileset dir="${nashorn.module.src.dir}/jdk/nashorn/internal/runtime/resources/"/>
   154     </copy>
   162     </copy>
   155     <copy todir="${build.classes.dir}/jdk/nashorn/tools/resources">
   163     <copy todir="${build.classes.dir}/jdk/nashorn/tools/resources">
   156        <fileset dir="${nashorn.module.src.dir}/jdk/nashorn/tools/resources/"/>
   164        <fileset dir="${nashorn.module.src.dir}/jdk/nashorn/tools/resources/"/>
   157     </copy>
   165     </copy>
   158     <copy file="${nashorn.module.src.dir}/jdk/internal/dynalink/support/messages.properties" todir="${build.classes.dir}/jdk/internal/dynalink/support"/>
   166     <copy file="${dynalink.module.src.dir}/jdk/dynalink/support/messages.properties" todir="${build.classes.dir}/jdk/dynalink/support"/>
   159     <copy file="${nashorn.module.src.dir}/jdk/nashorn/internal/codegen/anchor.properties" todir="${build.classes.dir}/jdk/nashorn/internal/codegen"/>
   167     <copy file="${nashorn.module.src.dir}/jdk/nashorn/internal/codegen/anchor.properties" todir="${build.classes.dir}/jdk/nashorn/internal/codegen"/>
   160 
   168 
   161     <echo message="version_string=${nashorn.fullversion}" file="${build.classes.dir}/jdk/nashorn/internal/runtime/resources/version.properties"/>
   169     <echo message="version_string=${nashorn.fullversion}" file="${build.classes.dir}/jdk/nashorn/internal/runtime/resources/version.properties"/>
   162     <echo file="${build.classes.dir}/jdk/nashorn/internal/runtime/resources/version.properties" append="true">${line.separator}</echo>
   170     <echo file="${build.classes.dir}/jdk/nashorn/internal/runtime/resources/version.properties" append="true">${line.separator}</echo>
   163     <echo message="version_short=${nashorn.version}" file="${build.classes.dir}/jdk/nashorn/internal/runtime/resources/version.properties" append="true"/>
   171     <echo message="version_short=${nashorn.version}" file="${build.classes.dir}/jdk/nashorn/internal/runtime/resources/version.properties" append="true"/>
   242         extdirs="${nashorn.ext.path}" windowtitle="${nashorn.product.name} ${nashorn.version}"
   250         extdirs="${nashorn.ext.path}" windowtitle="${nashorn.product.name} ${nashorn.version}"
   243         additionalparam="-quiet" failonerror="true" useexternalfile="true">
   251         additionalparam="-quiet" failonerror="true" useexternalfile="true">
   244       <classpath>
   252       <classpath>
   245         <pathelement location="${build.classes.dir}"/>
   253         <pathelement location="${build.classes.dir}"/>
   246       </classpath>
   254       </classpath>
       
   255       <fileset dir="${dynalink.module.src.dir}" includes="**/*.java"/>
   247       <fileset dir="${nashorn.module.src.dir}" includes="**/*.java"/>
   256       <fileset dir="${nashorn.module.src.dir}" includes="**/*.java"/>
   248       <fileset dir="${nashorn.shell.module.src.dir}" includes="**/*.java"/>
   257       <fileset dir="${nashorn.shell.module.src.dir}" includes="**/*.java"/>
   249       <link href="http://docs.oracle.com/javase/8/docs/api/"/>
   258       <link href="http://docs.oracle.com/javase/8/docs/api/"/>
   250     </javadoc>
   259     </javadoc>
   251   </target>
   260   </target>
   261       <fileset dir="${nashorn.module.src.dir}" includes="jdk/nashorn/api/**/*.java"/>
   270       <fileset dir="${nashorn.module.src.dir}" includes="jdk/nashorn/api/**/*.java"/>
   262       <link href="http://docs.oracle.com/javase/8/docs/api/"/>
   271       <link href="http://docs.oracle.com/javase/8/docs/api/"/>
   263     </javadoc>
   272     </javadoc>
   264   </target>
   273   </target>
   265 
   274 
       
   275   <!-- generate javadoc only for Dynalink API classes -->
       
   276   <target name="dynalinkapi" depends="jar">
       
   277     <javadoc destdir="${dist.javadoc.dir}" use="yes"
       
   278         windowtitle="Dynalink"
       
   279         additionalparam="-quiet" failonerror="true" useexternalfile="true">
       
   280       <classpath>
       
   281         <pathelement location="${build.classes.dir}"/>
       
   282       </classpath>
       
   283       <fileset dir="${dynalink.module.src.dir}" includes="**/*.java" excludes="jdk/dynalink/internal/*.java"/>
       
   284       <link href="http://docs.oracle.com/javase/8/docs/api/"/>
       
   285     </javadoc>
       
   286   </target>
   266 
   287 
   267   <!-- generate shell.html for shell tool documentation -->
   288   <!-- generate shell.html for shell tool documentation -->
   268   <target name="shelldoc" depends="jar">
   289   <target name="shelldoc" depends="jar">
   269     <java classname="${nashorn.shell.tool}" dir="${basedir}" output="${dist.dir}/shell.html" failonerror="true" fork="true">
   290     <java classname="${nashorn.shell.tool}" dir="${basedir}" output="${dist.dir}/shell.html" failonerror="true" fork="true">
   270       <jvmarg line="${boot.class.path}"/>
   291       <jvmarg line="${boot.class.path}"/>
   319        <fileset dir="${test.src.dir}/jdk/nashorn/api/scripting/test/resources"/>
   340        <fileset dir="${test.src.dir}/jdk/nashorn/api/scripting/test/resources"/>
   320     </copy>
   341     </copy>
   321 
   342 
   322     <!-- tests that check nashorn internals and internal API -->
   343     <!-- tests that check nashorn internals and internal API -->
   323     <jar jarfile="${nashorn.internal.tests.jar}">
   344     <jar jarfile="${nashorn.internal.tests.jar}">
   324       <fileset dir="${build.test.classes.dir}" excludes="**/api/**"/>
   345       <fileset dir="${build.test.classes.dir}" includes="**/internal/**"/>
       
   346       <fileset dir="${build.test.classes.dir}" includes="**/test/tools/**"/>
       
   347       <fileset dir="${build.test.classes.dir}" includes="**/models/**"/>
       
   348       <fileset dir="${build.test.classes.dir}" includes="**/jdk/dynalink/test/Trusted**"/>
       
   349       <fileset dir="${build.test.classes.dir}" includes="**/META-INF/**"/>
   325     </jar>
   350     </jar>
   326 
   351 
   327     <!-- tests that check nashorn script engine (jsr-223) API -->
   352     <!-- tests that check nashorn script engine (jsr-223) API and dynalink API -->
   328     <jar jarfile="${nashorn.api.tests.jar}">
   353     <jar jarfile="${nashorn.api.tests.jar}">
       
   354       <fileset dir="${build.test.classes.dir}" includes="**/jdk/dynalink/**" excludes="**/jdk/dynalink/test/Trusted**"/>
   329       <fileset dir="${build.test.classes.dir}" includes="**/api/**"/>
   355       <fileset dir="${build.test.classes.dir}" includes="**/api/**"/>
   330       <fileset dir="${build.test.classes.dir}" includes="**/META-INF/**"/>
   356       <fileset dir="${build.test.classes.dir}" includes="**/META-INF/**"/>
   331       <fileset dir="${build.test.classes.dir}" includes="**/resources/*.js"/>
   357       <fileset dir="${build.test.classes.dir}" includes="**/resources/*.js"/>
       
   358       <fileset dir="${build.test.classes.dir}" includes="**/UnnamedPackage**"/>
   332     </jar>
   359     </jar>
   333 
   360 
   334   </target>
   361   </target>
   335 
   362 
   336   <target name="generate-policy-file" depends="prepare">
   363   <target name="generate-policy-file" depends="prepare">
   430   </target>
   457   </target>
   431 
   458 
   432   <!-- only to be invoked as dependency of "test" target -->
   459   <!-- only to be invoked as dependency of "test" target -->
   433   <target name="-test-classes-all" depends="jar" unless="test.class">
   460   <target name="-test-classes-all" depends="jar" unless="test.class">
   434       <fileset id="test.classes" dir="${build.test.classes.dir}">
   461       <fileset id="test.classes" dir="${build.test.classes.dir}">
       
   462           <include name="**/dynalink/test/*Test.class"/>
       
   463           <include name="**/dynalink/beans/test/*Test.class"/>
   435           <include name="**/api/javaaccess/test/*Test.class"/>
   464           <include name="**/api/javaaccess/test/*Test.class"/>
   436           <include name="**/api/scripting/test/*Test.class"/>
   465           <include name="**/api/scripting/test/*Test.class"/>
   437           <include name="**/api/tree/test/*Test.class"/>
   466           <include name="**/api/tree/test/*Test.class"/>
   438           <include name="**/codegen/test/*Test.class"/>
   467           <include name="**/codegen/test/*Test.class"/>
   439           <include name="**/parser/test/*Test.class"/>
   468           <include name="**/parser/test/*Test.class"/>
   601 
   630 
   602   <target name="test262parallel" depends="test262-parallel"/>
   631   <target name="test262parallel" depends="test262-parallel"/>
   603 
   632 
   604   <target name="test262-parallel" depends="jar, check-testng, check-external-tests, compile-test, generate-policy-file" if="testng.available">
   633   <target name="test262-parallel" depends="jar, check-testng, check-external-tests, compile-test, generate-policy-file" if="testng.available">
   605     <!-- use just build.test.classes.dir to avoid referring to TestNG -->
   634     <!-- use just build.test.classes.dir to avoid referring to TestNG -->
   606     <java classname="${parallel.test.runner}" dir="${basedir}" fork="true">
   635     <java classname="${parallel.test.runner}" dir="${basedir}" fork="true" failonerror="true">
   607       <jvmarg line="${boot.class.path}"/>
   636       <jvmarg line="${boot.class.path}"/>
   608       <jvmarg line="${run.test.jvmargs} -Xmx${run.test.xmx} ${run.test.jvmsecurityargs} -Dbuild.dir=${build.dir}"/>
   637       <jvmarg line="${run.test.jvmargs} -Xmx${run.test.xmx} ${run.test.jvmsecurityargs} -Dbuild.dir=${build.dir}"/>
   609       <!-- avoid too many typeinfo cache files. Each script is run only once anyway -->
   638       <!-- avoid too many typeinfo cache files. Each script is run only once anyway -->
   610       <jvmarg line="-Dnashorn.typeInfo.disabled=true"/>
   639       <jvmarg line="-Dnashorn.typeInfo.disabled=true"/>
   611       <classpath>
   640       <classpath>
   771     </unzip>
   800     </unzip>
   772     <move file="${test.lib}${file.separator}testng-6.8${file.separator}testng-6.8.jar" tofile="${test.lib}${file.separator}testng.jar"/>
   801     <move file="${test.lib}${file.separator}testng-6.8${file.separator}testng-6.8.jar" tofile="${test.lib}${file.separator}testng.jar"/>
   773     <delete dir="${test.lib}${file.separator}testng-6.8"/>
   802     <delete dir="${test.lib}${file.separator}testng-6.8"/>
   774   </target>
   803   </target>
   775 
   804 
       
   805   <!-- download and install asmtools.jar -->
       
   806   <target name="get-asmtools" unless="asmtools.already.present">
       
   807     <get src="https://adopt-openjdk.ci.cloudbees.com/view/OpenJDK/job/asmtools/lastSuccessfulBuild/artifact/asmtools-6.0.tar.gz" dest="${test.lib}" skipexisting="true" ignoreerrors="true"/>
       
   808     <untar src="${test.lib}${file.separator}asmtools-6.0.tar.gz" dest="${test.lib}" compression="gzip"/>
       
   809     <!-- they are tar.gz'ing a .zip file! -->
       
   810     <unzip src="${test.lib}${file.separator}asmtools-6.0.zip" dest="${test.lib}">
       
   811       <patternset>
       
   812         <include name="asmtools-6.0/lib/asmtools.jar"/>
       
   813       </patternset>
       
   814     </unzip>
       
   815     <move file="${test.lib}${file.separator}asmtools-6.0${file.separator}lib${file.separator}asmtools.jar" tofile="${test.lib}${file.separator}asmtools.jar"/>
       
   816     <delete dir="${test.lib}${file.separator}asmtools-6.0"/>
       
   817   </target>
       
   818 
   776   <!-- run all tests -->
   819   <!-- run all tests -->
   777   <target name="alltests" depends="externals, update-externals, test, test262parallel, testmarkdown, perf"/>
   820   <target name="alltests" depends="externals, update-externals, test, test262parallel, testmarkdown, perf"/>
   778 
   821 
   779   <import file="build-benchmark.xml"/>
   822   <import file="build-benchmark.xml"/>
   780 
   823