8149744: fix testng.jar delivery in Nashorn build.xml

Mon, 15 Feb 2016 14:36:18 +0100

author
mhaupt
date
Mon, 15 Feb 2016 14:36:18 +0100
changeset 1741
a136c901f3f5
parent 1740
6ff7a094ba60
child 1742
fe6ef89d9c04

8149744: fix testng.jar delivery in Nashorn build.xml
Reviewed-by: hannesw, sundar

.hgignore file | annotate | diff | comparison | revisions
make/build.xml file | annotate | diff | comparison | revisions
make/project.properties file | annotate | diff | comparison | revisions
     1.1 --- a/.hgignore	Fri Feb 12 19:11:54 2016 +0000
     1.2 +++ b/.hgignore	Mon Feb 15 14:36:18 2016 +0100
     1.3 @@ -22,6 +22,6 @@
     1.4  CC/*
     1.5  jcov2/*
     1.6  .idea/*
     1.7 -test/lib/testng.jar
     1.8 +test/lib/*.jar
     1.9  test/script/external/*
    1.10  .project
     2.1 --- a/make/build.xml	Fri Feb 12 19:11:54 2016 +0000
     2.2 +++ b/make/build.xml	Mon Feb 15 14:36:18 2016 +0100
     2.3 @@ -49,9 +49,17 @@
     2.4      <condition property="git.executable" value="/usr/local/bin/git" else="git">
     2.5        <available file="/usr/local/bin/git"/>
     2.6      </condition>
     2.7 -    <!-- check if testng.jar is avaiable -->
     2.8 -    <available property="testng.available" file="${file.reference.testng.jar}"/>
     2.9 -    <!-- check if Jemmy ang testng.jar are avaiable -->
    2.10 +    <!-- check if TestNG and dependencies are available, and download them if they aren't -->
    2.11 +    <antcall target="get-testng"/>
    2.12 +    <condition property="testng.available" value="true">
    2.13 +      <and>
    2.14 +        <available file="${file.reference.testng.jar}"/>
    2.15 +        <available file="${file.reference.jcommander.jar}"/>
    2.16 +        <available file="${file.reference.bsh.jar}"/>
    2.17 +        <available file="${file.reference.snakeyaml.jar}"/>
    2.18 +      </and>
    2.19 +    </condition>
    2.20 +    <!-- check if Jemmy ang TestNG are avaiable -->
    2.21      <condition property="jemmy.jfx.testng.available" value="true">
    2.22        <and>
    2.23          <available file="${file.reference.jemmyfx.jar}"/>
    2.24 @@ -275,7 +283,7 @@
    2.25    <target name="compile-test" depends="compile, run-nasgen" if="testng.available">
    2.26      <!-- testng task -->
    2.27      <taskdef name="testng" classname="org.testng.TestNGAntTask"
    2.28 -        classpath="${file.reference.testng.jar}"/>
    2.29 +        classpath="${testng.ant.classpath}"/>
    2.30  
    2.31      <javac srcdir="${test.src.dir}"
    2.32             destdir="${build.test.classes.dir}"
    2.33 @@ -331,6 +339,15 @@
    2.34  grant codeBase "file:/${basedir}/${file.reference.testng.jar}" {
    2.35      permission java.security.AllPermission;
    2.36  };
    2.37 +grant codeBase "file:/${basedir}/${file.reference.jcommander.jar}" {
    2.38 +    permission java.security.AllPermission;
    2.39 +};
    2.40 +grant codeBase "file:/${basedir}/${file.reference.bsh.jar}" {
    2.41 +    permission java.security.AllPermission;
    2.42 +};
    2.43 +grant codeBase "file:/${basedir}/${file.reference.snakeyaml.jar}" {
    2.44 +    permission java.security.AllPermission;
    2.45 +};
    2.46  //// in case of absolute path:
    2.47  grant codeBase "file:/${nashorn.internal.tests.jar}" {
    2.48      permission java.security.AllPermission;
    2.49 @@ -339,6 +356,16 @@
    2.50  grant codeBase "file:/${file.reference.testng.jar}" {
    2.51      permission java.security.AllPermission;
    2.52  };
    2.53 +grant codeBase "file:/${file.reference.jcommander.jar}" {
    2.54 +    permission java.security.AllPermission;
    2.55 +};
    2.56 +grant codeBase "file:/${file.reference.bsh.jar}" {
    2.57 +    permission java.security.AllPermission;
    2.58 +};
    2.59 +grant codeBase "file:/${file.reference.snakeyaml.jar}" {
    2.60 +    permission java.security.AllPermission;
    2.61 +};
    2.62 +
    2.63  
    2.64  grant codeBase "file:/${basedir}/test/script/trusted/*" {
    2.65      permission java.security.AllPermission;
    2.66 @@ -408,7 +435,7 @@
    2.67    </target>
    2.68  
    2.69    <target name="check-testng" unless="testng.available">
    2.70 -    <echo message="WARNING: TestNG not available, will not run tests. Please copy testng.jar under ${test.lib} directory."/>
    2.71 +    <echo message="WARNING: TestNG not available, will not run tests. Please copy TestNG and dependency JARs to the ${test.lib} directory."/>
    2.72    </target>
    2.73  
    2.74    <!-- only to be invoked as dependency of "test" target -->
    2.75 @@ -480,7 +507,7 @@
    2.76      </testng>
    2.77    </target>
    2.78  
    2.79 -  <target name="test" depends="get-testng, javadocnh, test-pessimistic, test-optimistic"/>
    2.80 +  <target name="test" depends="prepare, javadocnh, test-pessimistic, test-optimistic"/>
    2.81  
    2.82    <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">
    2.83      <echo message="Running test suite in OPTIMISTIC mode..."/>
    2.84 @@ -507,7 +534,7 @@
    2.85    </target>
    2.86  
    2.87    <target name="check-jemmy.jfx.testng" unless="jemmy.jfx.testng.available">
    2.88 -    <echo message="WARNING: Jemmy or JavaFX or TestNG not available, will not run tests. Please copy testng.jar, JemmyCore.jar, JemmyFX.jar, JemmyAWTInput.jar under test${file.separator}lib directory. And make sure you have jfxrt.jar in ${java.home}${file.separator}lib${file.separator}ext dir."/>
    2.89 +    <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."/>
    2.90    </target>
    2.91  
    2.92    <target name="testjfx" depends="jar, get-testng, check-jemmy.jfx.testng, compile-test" if="jemmy.jfx.testng.available">
    2.93 @@ -742,15 +769,13 @@
    2.94    <target name="perf" depends="externals, update-externals, sunspider, octane"/>
    2.95  
    2.96    <!-- download and install testng.jar -->
    2.97 -  <target name="get-testng" depends="prepare" unless="testng.available">
    2.98 -    <get src="http://testng.org/testng-6.8.zip" dest="${test.lib}" skipexisting="true" ignoreerrors="true"/>
    2.99 -    <unzip src="${test.lib}${file.separator}testng-6.8.zip" dest="${test.lib}">
   2.100 -      <patternset>
   2.101 -        <include name="testng-6.8/testng-6.8.jar"/>
   2.102 -      </patternset>
   2.103 -    </unzip>
   2.104 -    <move file="${test.lib}${file.separator}testng-6.8${file.separator}testng-6.8.jar" tofile="${test.lib}${file.separator}testng.jar"/>
   2.105 -    <delete dir="${test.lib}${file.separator}testng-6.8"/>
   2.106 +  <target name="get-testng">
   2.107 +    <get dest="${test.lib}" skipexisting="true">
   2.108 +      <url url="http://central.maven.org/maven2/org/testng/testng/6.8/testng-6.8.jar"/>
   2.109 +      <url url="http://central.maven.org/maven2/com/beust/jcommander/1.27/jcommander-1.27.jar"/>
   2.110 +      <url url="http://central.maven.org/maven2/org/beanshell/bsh/2.0b4/bsh-2.0b4.jar"/>
   2.111 +      <url url="http://central.maven.org/maven2/org/yaml/snakeyaml/1.6/snakeyaml-1.6.jar"/>
   2.112 +    </get>
   2.113    </target>
   2.114  
   2.115    <!-- run all tests -->
     3.1 --- a/make/project.properties	Fri Feb 12 19:11:54 2016 +0000
     3.2 +++ b/make/project.properties	Mon Feb 15 14:36:18 2016 +0100
     3.3 @@ -83,7 +83,17 @@
     3.4  test.lib=${basedir}${file.separator}test${file.separator}lib
     3.5  
     3.6  # jars refererred
     3.7 -file.reference.testng.jar=${test.lib}${file.separator}testng.jar
     3.8 +file.reference.testng.jar=${test.lib}${file.separator}testng-6.8.jar
     3.9 +file.reference.jcommander.jar=${test.lib}${file.separator}jcommander-1.27.jar
    3.10 +file.reference.bsh.jar=${test.lib}${file.separator}bsh-2.0b4.jar
    3.11 +file.reference.snakeyaml.jar=${test.lib}${file.separator}snakeyaml-1.6.jar
    3.12 +
    3.13 +# TestNG ant task classpath
    3.14 +testng.ant.classpath=\
    3.15 +    ${file.reference.testng.jar}${path.separator}\
    3.16 +    ${file.reference.jcommander.jar}${path.separator}\
    3.17 +    ${file.reference.bsh.jar}${path.separator}\
    3.18 +    ${file.reference.snakeyaml.jar}${path.separator}
    3.19  
    3.20  # Set testng verbose level
    3.21  # From TestNG docs: "the verbosity level (0 to 10 where 10 is most detailed) 
    3.22 @@ -112,7 +122,10 @@
    3.23  javac.test.classpath=\
    3.24      ${build.classes.dir}${path.separator}\
    3.25      ${build.test.classes.dir}${path.separator}\
    3.26 -    ${file.reference.testng.jar}
    3.27 +    ${file.reference.testng.jar}${path.separator}\
    3.28 +    ${file.reference.jcommander.jar}${path.separator}\
    3.29 +    ${file.reference.bsh.jar}${path.separator}\
    3.30 +    ${file.reference.snakeyaml.jar}
    3.31  
    3.32  meta.inf.dir=${src.dir}/META-INF
    3.33  
    3.34 @@ -251,6 +264,9 @@
    3.35      ${file.reference.jemmycore.jar}${path.separator}\
    3.36      ${file.reference.jemmyawtinput.jar}${path.separator}\
    3.37      ${file.reference.testng.jar}${path.separator}\
    3.38 +    ${file.reference.jcommander.jar}${path.separator}\
    3.39 +    ${file.reference.bsh.jar}${path.separator}\
    3.40 +    ${file.reference.snakeyaml.jar}${path.separator}\
    3.41      ${nashorn.internal.tests.jar}${path.separator}\
    3.42      ${nashorn.api.tests.jar}
    3.43  
    3.44 @@ -259,6 +275,9 @@
    3.45  
    3.46  run.test.classpath=\
    3.47      ${file.reference.testng.jar}${path.separator}\
    3.48 +    ${file.reference.jcommander.jar}${path.separator}\
    3.49 +    ${file.reference.bsh.jar}${path.separator}\
    3.50 +    ${file.reference.snakeyaml.jar}${path.separator}\
    3.51      ${nashorn.internal.tests.jar}${path.separator}\
    3.52      ${nashorn.api.tests.jar}
    3.53  

mercurial