Mon, 20 Oct 2014 18:40:42 +0530
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}"