8061257: nashorn ant build script should have a sanity target

Mon, 20 Oct 2014 18:40:42 +0530

author
sundar
date
Mon, 20 Oct 2014 18:40:42 +0530
changeset 1061
42fc6bc42dae
parent 1060
6de46794603c
child 1062
bf5f28dafa7c

8061257: nashorn ant build script should have a sanity target
Reviewed-by: lagergren, hannesw, attila

make/build-nasgen.xml file | annotate | diff | comparison | revisions
make/build.xml file | annotate | diff | comparison | revisions
     1.1 --- a/make/build-nasgen.xml	Fri Oct 17 15:04:25 2014 +0200
     1.2 +++ b/make/build-nasgen.xml	Mon Oct 20 18:40:42 2014 +0530
     1.3 @@ -25,7 +25,7 @@
     1.4      <description>Builds and runs nasgen.</description>
     1.5      <import file="build.xml"/>
     1.6  
     1.7 -    <target name="build-nasgen" depends="compile-asm">
     1.8 +    <target name="build-nasgen" depends="prepare">
     1.9          <ant inheritAll="false" dir="${basedir}/buildtools/nasgen"
    1.10              antfile="build.xml" target="jar"/>
    1.11      </target>
     2.1 --- a/make/build.xml	Fri Oct 17 15:04:25 2014 +0200
     2.2 +++ b/make/build.xml	Mon Oct 20 18:40:42 2014 +0530
     2.3 @@ -49,8 +49,6 @@
     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 JDK already has ASM classes -->
     2.8 -    <available property="asm.available" classname="jdk.internal.org.objectweb.asm.Type"/>
     2.9      <!-- check if testng.jar is avaiable -->
    2.10      <available property="testng.available" file="${file.reference.testng.jar}"/>
    2.11      <!-- check if Jemmy ang testng.jar are avaiable -->
    2.12 @@ -78,8 +76,31 @@
    2.13        <istrue value="${jfr}"/>
    2.14      </condition>
    2.15    </target>
    2.16 +
    2.17 +  <!-- check minimum ant version required to be 1.8.4 -->
    2.18 +  <target name="check-ant-version">
    2.19 +    <property name="ant.version.required" value="1.8.4"/>
    2.20 +    <antversion property="ant.current.version" />
    2.21 +    <fail message="The current ant version, ${ant.current.version}, is too old. Please use 1.8.4 or above.">
    2.22 +        <condition>
    2.23 +            <not>
    2.24 +                <antversion atleast="${ant.version.required}"/>
    2.25 +            </not>
    2.26 +        </condition>
    2.27 +    </fail>
    2.28 +  </target>
    2.29 +
    2.30 +  <target name="check-java-version">
    2.31 +    <!-- look for a Class that is available only in jdk1.8 or above -->
    2.32 +    <!-- core/exposed API class is better than an implementation class -->
    2.33 +    <available property="jdk1.8+" classname="java.util.stream.Stream"/>
    2.34 +
    2.35 +    <!-- need jdk1.8 or above -->
    2.36 +    <fail message="Unsupported Java version: ${ant.java.version}. Please use Java version 1.8 or greater." unless="jdk1.8+">
    2.37 +    </fail>
    2.38 +  </target>
    2.39    
    2.40 -  <target name="init" depends="init-conditions, init-cc">
    2.41 +  <target name="init" depends="check-ant-version, check-java-version, init-conditions, init-cc">
    2.42      <!-- extends jvm args -->
    2.43      <property name="run.test.jvmargs" value="${run.test.jvmargs.main} ${run.test.cc.jvmargs} ${jfr.options}"/>
    2.44      <property name="run.test.jvmargs.octane" value="${run.test.jvmargs.octane.main} ${run.test.cc.jvmargs} ${jfr.options}"/>
    2.45 @@ -107,19 +128,7 @@
    2.46      <delete dir="${dist.dir}"/>
    2.47    </target>
    2.48  
    2.49 -  <!-- do it only if ASM is not available -->
    2.50 -  <target name="compile-asm" depends="prepare" unless="asm.available">
    2.51 -    <javac srcdir="${jdk.asm.src.dir}"
    2.52 -           destdir="${build.classes.dir}"
    2.53 -           excludes="**/optimizer/* **/xml/* **/attrs/*"
    2.54 -           source="${javac.source}"
    2.55 -           target="${javac.target}"
    2.56 -           debug="${javac.debug}"
    2.57 -           encoding="${javac.encoding}"
    2.58 -           includeantruntime="false"/>
    2.59 -  </target>
    2.60 -
    2.61 -  <target name="compile" depends="compile-asm" description="Compiles nashorn">
    2.62 +  <target name="compile" depends="prepare" description="Compiles nashorn">
    2.63      <javac srcdir="${src.dir}"
    2.64             destdir="${build.classes.dir}"
    2.65             classpath="${javac.classpath}"

mercurial