summaryrefslogtreecommitdiff
path: root/bootstrap.sh
diff options
context:
space:
mode:
authorJaikiran Pai <jaikiran@apache.org>2019-08-25 14:52:01 +0530
committerJaikiran Pai <jaikiran@apache.org>2019-08-25 14:52:01 +0530
commita06e1227a278408d2a7e13963f46d7a3ab48c9e5 (patch)
treeca49fe7faeaef52fdaab1ff0525790921477e247 /bootstrap.sh
parent5981e1bff1e095bf85ee4d6565bc0c7ff93f2bb6 (diff)
downloadant-a06e1227a278408d2a7e13963f46d7a3ab48c9e5.tar.gz
Set the --release version to Java 8, when bootstraping with higher versions of Java
Diffstat (limited to 'bootstrap.sh')
-rwxr-xr-xbootstrap.sh19
1 files changed, 17 insertions, 2 deletions
diff --git a/bootstrap.sh b/bootstrap.sh
index 2baf08f81..c97abb328 100755
--- a/bootstrap.sh
+++ b/bootstrap.sh
@@ -127,9 +127,24 @@ mkdir -p build
mkdir -p ${CLASSDIR}
mkdir -p bin
-echo ... Compiling Ant Classes
+# Check if javac tool supports the --release param
+echo "public class JavacVersionCheck {}" > ${CLASSDIR}/JavacVersionCheck.java
+"${JAVAC}" --release 8 -d ${CLASSDIR} ${CLASSDIR}/JavacVersionCheck.java 1>&2 2>/dev/null
+ret=$?
+rm ${CLASSDIR}/JavacVersionCheck.java ${CLASSDIR}/JavacVersionCheck.class 1>&2 2>/dev/null
+JAVAC_RELEASE_VERSION=
+if [ $ret -eq 0 ]; then
+ # set --release to 8
+ JAVAC_RELEASE_VERSION="--release 8"
+fi
+if [ "${JAVAC_RELEASE_VERSION}" = "" ]; then
+ echo ... Compiling Ant Classes
+else
+ echo ... Compiling Ant Classes with ${JAVAC_RELEASE_VERSION}
+fi
-"${JAVAC}" $BOOTJAVAC_OPTS -d ${CLASSDIR} ${TOOLS}/bzip2/*.java ${TOOLS}/tar/*.java ${TOOLS}/zip/*.java \
+"${JAVAC}" $BOOTJAVAC_OPTS -d ${CLASSDIR} ${JAVAC_RELEASE_VERSION} \
+ ${TOOLS}/bzip2/*.java ${TOOLS}/tar/*.java ${TOOLS}/zip/*.java \
${TOOLS}/ant/util/regexp/RegexpMatcher.java \
${TOOLS}/ant/util/regexp/RegexpMatcherFactory.java \
${TOOLS}/ant/property/*.java \