make/nashorn/build.xml
changeset 47217 72e3ae9a25eb
parent 47216 71c04702a3d5
child 47228 eda0a1f0e83e
equal deleted inserted replaced
47216:71c04702a3d5 47217:72e3ae9a25eb
    21  Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
    21  Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
    22  or visit www.oracle.com if you need additional information or have any
    22  or visit www.oracle.com if you need additional information or have any
    23  questions.
    23  questions.
    24 -->
    24 -->
    25 
    25 
    26 <project name="nashorn" default="test" basedir="..">
    26 <project name="nashorn" default="test" basedir="../..">
    27   <import file="build-nasgen.xml"/>
    27   <import file="build-nasgen.xml"/>
    28   <import file="code_coverage.xml"/>
    28   <import file="code_coverage.xml"/>
    29 
    29 
    30   <target name="load-properties">
    30   <target name="load-properties">
    31     <!-- set default values to run.test.jvmargs.external property -->
    31     <!-- set default values to run.test.jvmargs.external property -->
    33      <not><isset property="run.test.jvmargs.external"/></not>
    33      <not><isset property="run.test.jvmargs.external"/></not>
    34     </condition>     
    34     </condition>     
    35     <!-- loading locally defined resources and properties. NB they owerwrite default ones defined later -->
    35     <!-- loading locally defined resources and properties. NB they owerwrite default ones defined later -->
    36     <property file="${user.home}/.nashorn.project.local.properties"/>
    36     <property file="${user.home}/.nashorn.project.local.properties"/>
    37 
    37 
    38     <loadproperties srcFile="make/project.properties"/>
    38     <loadproperties srcFile="make/nashorn/project.properties"/>
    39   </target>
    39   </target>
    40 
    40 
    41   <target name="init-conditions" depends="load-properties">
    41   <target name="init-conditions" depends="load-properties">
    42     <path id="nashorn.jar.path">
    42     <path id="nashorn.jar.path">
    43          <pathelement location="${nashorn.jar}"/>
    43          <pathelement location="${nashorn.jar}"/>
    84     <condition property="cc.enabled">
    84     <condition property="cc.enabled">
    85         <istrue value="${make.code.coverage}" />
    85         <istrue value="${make.code.coverage}" />
    86     </condition>
    86     </condition>
    87 
    87 
    88     <!-- exclude tests in exclude lists -->
    88     <!-- exclude tests in exclude lists -->
    89     <condition property="exclude.list" value="./exclude/exclude_list_cc.txt" else="./exclude/exclude_list.txt">
    89     <condition property="exclude.list" value="${nashorn.make.dir}/exclude/exclude_list_cc.txt" else="${nashorn.make.dir}/exclude/exclude_list.txt">
    90       <istrue value="${make.code.coverage}" />
    90       <istrue value="${make.code.coverage}" />
    91     </condition>
    91     </condition>
    92 
    92 
    93     <condition property="jfr.options" value="${run.test.jvmargs.jfr}" else="">
    93     <condition property="jfr.options" value="${run.test.jvmargs.jfr}" else="">
    94       <istrue value="${jfr}"/>
    94       <istrue value="${jfr}"/>
   165   <target name="clean" depends="init, clean-nasgen, init-cc-cleanup">
   165   <target name="clean" depends="init, clean-nasgen, init-cc-cleanup">
   166     <delete includeemptydirs="true">
   166     <delete includeemptydirs="true">
   167       <fileset dir="${build.dir}" erroronmissingdir="false"/>
   167       <fileset dir="${build.dir}" erroronmissingdir="false"/>
   168     </delete>
   168     </delete>
   169     <delete dir="${dist.dir}"/>
   169     <delete dir="${dist.dir}"/>
       
   170     <delete dir="${jdk.build.dir}/nashorn_code_cache"/>
       
   171     <delete file="${basedir}/NashornProfile.txt"/>
   170   </target>
   172   </target>
   171 
   173 
   172   <target name="compile" depends="prepare" description="Compiles nashorn">
   174   <target name="compile" depends="prepare" description="Compiles nashorn">
   173     <javac srcdir="${dynalink.module.src.dir}"
   175     <javac srcdir="${dynalink.module.src.dir}"
   174            destdir="${dynalink.module.classes.dir}"
   176            destdir="${dynalink.module.classes.dir}"
   269   <target name="javadoc" depends="jar">
   271   <target name="javadoc" depends="jar">
   270     <javadoc destdir="${dist.javadoc.dir}" use="yes"
   272     <javadoc destdir="${dist.javadoc.dir}" use="yes"
   271         windowtitle="${nashorn.product.name} ${nashorn.version}"
   273         windowtitle="${nashorn.product.name} ${nashorn.version}"
   272         additionalparam="-quiet" failonerror="true" useexternalfile="true">
   274         additionalparam="-quiet" failonerror="true" useexternalfile="true">
   273       <arg value="--module-source-path"/>
   275       <arg value="--module-source-path"/>
   274       <arg value="${basedir}/src/*/share/classes"/>
   276       <arg value="${nashorn.module.src.dir}"/>
       
   277       <arg value="--module-source-path"/>
       
   278       <arg value="${dynalink.module.src.dir}"/>
   275       <arg value="${javadoc.option}"/>
   279       <arg value="${javadoc.option}"/>
   276       <classpath>
   280       <classpath>
   277         <pathelement location="${build.classes.dir}"/>
   281         <pathelement location="${build.classes.dir}"/>
   278       </classpath>
   282       </classpath>
   279       <fileset dir="${dynalink.module.src.dir}" includes="**/*.java"/>
   283       <fileset dir="${dynalink.module.src.dir}" includes="**/*.java"/>
   287     <mkdir dir="${dist.nashornapi.javadoc.dir}"/>
   291     <mkdir dir="${dist.nashornapi.javadoc.dir}"/>
   288     <javadoc destdir="${dist.nashornapi.javadoc.dir}" use="yes"
   292     <javadoc destdir="${dist.nashornapi.javadoc.dir}" use="yes"
   289         extdirs="${nashorn.ext.path}" windowtitle="${nashorn.product.name} ${nashorn.version}"
   293         extdirs="${nashorn.ext.path}" windowtitle="${nashorn.product.name} ${nashorn.version}"
   290         additionalparam="-quiet" failonerror="true" useexternalfile="true">
   294         additionalparam="-quiet" failonerror="true" useexternalfile="true">
   291       <arg value="--module-source-path"/>
   295       <arg value="--module-source-path"/>
   292       <arg value="${basedir}/src/*/share/classes"/>
   296       <arg value="${nashorn.module.src.dir}"/>
   293       <arg value="${javadoc.option}"/>
   297       <arg value="${javadoc.option}"/>
   294       <classpath>
   298       <classpath>
   295         <pathelement location="${build.classes.dir}"/>
   299         <pathelement location="${build.classes.dir}"/>
   296       </classpath>
   300       </classpath>
   297       <fileset dir="${nashorn.module.src.dir}" includes="jdk/nashorn/api/**/*.java"/>
   301       <fileset dir="${nashorn.module.src.dir}" includes="jdk/nashorn/api/**/*.java"/>
   304     <mkdir dir="${dist.dynalinkapi.javadoc.dir}"/>
   308     <mkdir dir="${dist.dynalinkapi.javadoc.dir}"/>
   305     <javadoc destdir="${dist.dynalinkapi.javadoc.dir}" use="yes"
   309     <javadoc destdir="${dist.dynalinkapi.javadoc.dir}" use="yes"
   306         windowtitle="Dynalink"
   310         windowtitle="Dynalink"
   307         additionalparam="-quiet" failonerror="true" useexternalfile="true">
   311         additionalparam="-quiet" failonerror="true" useexternalfile="true">
   308       <arg value="--module-source-path"/>
   312       <arg value="--module-source-path"/>
   309       <arg value="${basedir}/src/*/share/classes"/>
   313       <arg value="${dynalink.module.src.dir}"/>
   310       <arg value="${javadoc.option}"/>
   314       <arg value="${javadoc.option}"/>
   311       <classpath>
   315       <classpath>
   312         <pathelement location="${build.classes.dir}"/>
   316         <pathelement location="${build.classes.dir}"/>
   313       </classpath>
   317       </classpath>
   314       <fileset dir="${dynalink.module.src.dir}" includes="**/*.java" excludes="jdk/dynalink/internal/*.java"/>
   318       <fileset dir="${dynalink.module.src.dir}" includes="**/*.java" excludes="jdk/dynalink/internal/*.java"/>
   423 
   427 
   424 grant codeBase "file:/${basedir}/${nashorn.api.tests.jar}" {
   428 grant codeBase "file:/${basedir}/${nashorn.api.tests.jar}" {
   425     permission java.util.PropertyPermission "parserapitest.*", "read";
   429     permission java.util.PropertyPermission "parserapitest.*", "read";
   426     permission java.util.PropertyPermission "test.*", "read";
   430     permission java.util.PropertyPermission "test.*", "read";
   427     permission java.util.PropertyPermission "test262.*", "read";
   431     permission java.util.PropertyPermission "test262.*", "read";
   428     permission java.io.FilePermission "${basedir}/test/-","read";
   432     permission java.io.FilePermission "${basedir}/test/nashorn/-","read";
   429     permission java.io.FilePermission "$${user.dir}", "read";
   433     permission java.io.FilePermission "$${user.dir}", "read";
   430     permission java.util.PropertyPermission "user.dir", "read";
   434     permission java.util.PropertyPermission "user.dir", "read";
   431 };
   435 };
   432 
   436 
   433 grant codeBase "file:/${basedir}/${file.reference.testng.jar}" {
   437 grant codeBase "file:/${basedir}/${file.reference.testng.jar}" {
   459 grant codeBase "file:/${file.reference.snakeyaml.jar}" {
   463 grant codeBase "file:/${file.reference.snakeyaml.jar}" {
   460     permission java.security.AllPermission;
   464     permission java.security.AllPermission;
   461 };
   465 };
   462 
   466 
   463 
   467 
   464 grant codeBase "file:/${basedir}/test/script/trusted/*" {
   468 grant codeBase "file:/${basedir}/${test.script.dir}/trusted/*" {
   465     permission java.security.AllPermission;
   469     permission java.security.AllPermission;
   466 };
   470 };
   467 
   471 
   468 grant codeBase "file:/${basedir}/test/script/maptests/*" {
   472 grant codeBase "file:/${basedir}/${test.script.dir}/maptests/*" {
   469     permission java.io.FilePermission "${basedir}/test/script/maptests/*","read";
   473     permission java.io.FilePermission "${basedir}/${test.script.dir}/maptests/*","read";
   470     permission java.lang.RuntimePermission "nashorn.debugMode";
   474     permission java.lang.RuntimePermission "nashorn.debugMode";
   471 };
   475 };
   472 
   476 
   473 grant codeBase "file:/${basedir}/test/script/basic/*" {
   477 grant codeBase "file:/${basedir}/${test.script.dir}/basic/*" {
   474     permission java.io.FilePermission "${basedir}/test/script/-", "read";
   478     permission java.io.FilePermission "${basedir}/${test.script.dir}/-", "read";
   475     permission java.io.FilePermission "$${user.dir}", "read";
   479     permission java.io.FilePermission "$${user.dir}", "read";
   476     permission java.util.PropertyPermission "user.dir", "read";
   480     permission java.util.PropertyPermission "user.dir", "read";
   477     permission java.util.PropertyPermission "nashorn.test.*", "read";
   481     permission java.util.PropertyPermission "nashorn.test.*", "read";
   478 };
   482 };
   479 
   483 
   480 grant codeBase "file:/${basedir}/test/script/basic/apply_to_call/*" {
   484 grant codeBase "file:/${basedir}/${test.script.dir}/basic/apply_to_call/*" {
   481     permission java.io.FilePermission "${basedir}/test/script/-", "read";
   485     permission java.io.FilePermission "${basedir}/${test.script.dir}/-", "read";
   482     permission java.io.FilePermission "$${user.dir}", "read";
   486     permission java.io.FilePermission "$${user.dir}", "read";
   483     permission java.util.PropertyPermission "user.dir", "read";
   487     permission java.util.PropertyPermission "user.dir", "read";
   484     permission java.util.PropertyPermission "nashorn.test.*", "read";
   488     permission java.util.PropertyPermission "nashorn.test.*", "read";
   485 };
   489 };
   486 
   490 
   487 grant codeBase "file:/${basedir}/test/script/basic/parser/*" {
   491 grant codeBase "file:/${basedir}/${test.script.dir}/basic/parser/*" {
   488     permission java.io.FilePermission "${basedir}/test/script/-", "read";
   492     permission java.io.FilePermission "${basedir}/${test.script.dir}/-", "read";
   489     permission java.io.FilePermission "$${user.dir}", "read";
   493     permission java.io.FilePermission "$${user.dir}", "read";
   490     permission java.util.PropertyPermission "user.dir", "read";
   494     permission java.util.PropertyPermission "user.dir", "read";
   491     permission java.util.PropertyPermission "nashorn.test.*", "read";
   495     permission java.util.PropertyPermission "nashorn.test.*", "read";
   492 };
   496 };
   493 
   497 
   494 grant codeBase "file:/${basedir}/test/script/basic/es6/*" {
   498 grant codeBase "file:/${basedir}/${test.script.dir}/basic/es6/*" {
   495     permission java.io.FilePermission "${basedir}/test/script/-", "read";
   499     permission java.io.FilePermission "${basedir}/${test.script.dir}/-", "read";
   496     permission java.io.FilePermission "$${user.dir}", "read";
   500     permission java.io.FilePermission "$${user.dir}", "read";
   497     permission java.util.PropertyPermission "user.dir", "read";
   501     permission java.util.PropertyPermission "user.dir", "read";
   498     permission java.util.PropertyPermission "nashorn.test.*", "read";
   502     permission java.util.PropertyPermission "nashorn.test.*", "read";
   499 };
   503 };
   500 
   504 
   501 grant codeBase "file:/${basedir}/test/script/basic/JDK-8010946-privileged.js" {
   505 grant codeBase "file:/${basedir}/${test.script.dir}/basic/JDK-8010946-privileged.js" {
   502     permission java.util.PropertyPermission "java.security.policy", "read";
   506     permission java.util.PropertyPermission "java.security.policy", "read";
   503 };
   507 };
   504 
   508 
   505 grant codeBase "file:/${basedir}/test/script/basic/classloader.js" {
   509 grant codeBase "file:/${basedir}/${test.script.dir}/basic/classloader.js" {
   506     permission java.lang.RuntimePermission "nashorn.JavaReflection";
   510     permission java.lang.RuntimePermission "nashorn.JavaReflection";
   507 };
   511 };
   508 
   512 
   509 grant codeBase "file:/${basedir}/test/script/markdown.js" {
   513 grant codeBase "file:/${basedir}/${test.script.dir}/markdown.js" {
   510     permission java.io.FilePermission "${basedir}/test/script/external/showdown/-", "read";
   514     permission java.io.FilePermission "${basedir}/${test.script.dir}/external/showdown/-", "read";
   511 };
   515 };
   512 
   516 
   513 grant codeBase "file:/${basedir}/test/script/basic/JDK-8158467.js" {
   517 grant codeBase "file:/${basedir}/${test.script.dir}/basic/JDK-8158467.js" {
   514     permission java.lang.RuntimePermission "nashorn.setConfig";
   518     permission java.lang.RuntimePermission "nashorn.setConfig";
   515 };
   519 };
   516 
   520 
   517     </echo>
   521     </echo>
   518 
   522 
   608           <pathelement path="${run.test.classpath}"/>
   612           <pathelement path="${run.test.classpath}"/>
   609       </classpath>
   613       </classpath>
   610     </testng>
   614     </testng>
   611   </target>
   615   </target>
   612 
   616 
   613   <target name="test" depends="prepare, javadoc, test-pessimistic, test-optimistic"/>
   617   <target name="test" depends="prepare, test-pessimistic, test-optimistic"/>
   614 
   618 
   615   <target name="test-optimistic" depends="jar, -test-classes-all,-test-classes-single, check-testng, check-external-tests, compile-test, generate-security-config" if="testng.available">
   619   <target name="test-optimistic" depends="jar, -test-classes-all,-test-classes-single, check-testng, check-external-tests, compile-test, generate-security-config" if="testng.available">
   616     <echo message="Running test suite in OPTIMISTIC mode..."/>
   620     <echo message="Running test suite in OPTIMISTIC mode..."/>
   617     <antcall target="-test-nosecurity" inheritRefs="true">
   621     <antcall target="-test-nosecurity" inheritRefs="true">
   618       <param name="optimistic" value="true"/>
   622       <param name="optimistic" value="true"/>