From c8f579577d381afa7ae594c38c094777fdc0c141 Mon Sep 17 00:00:00 2001 From: "Keith W. Campbell" Date: Wed, 16 Nov 2022 13:08:20 -0500 Subject: Fix detection of java.specification.version Signed-off-by: Keith W. Campbell --- src/script/ant | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/script/ant b/src/script/ant index cfeb2759f..ebc5e95ef 100644 --- a/src/script/ant +++ b/src/script/ant @@ -369,11 +369,18 @@ else fi fi # Run "java -XshowSettings:properties" and check the output for "java.specification.version" value -JAVA_SPEC_VERSION=$("$JAVACMD" -XshowSettings:properties 2>&1 | grep "java.specification.version = " | tr -d '[:space:]java.specification.version=') -if [ "$JAVA_SPEC_VERSION" -ge 18 ]; then - # set security manager property to allow calls to System.setSecurityManager() at runtime - ANT_OPTS="$ANT_OPTS -Djava.security.manager=allow" -fi +JAVA_SPEC_VERSION=$("$JAVACMD" -XshowSettings:properties 2>&1 | sed -n -e 's/[[:space:]]//g' -e 's/^java\.specification\.version=//p') +case "$JAVA_SPEC_VERSION" in + 1.*) + # Up to and including Java 8, versions are reported as 1.N. + ;; + *) + if [ "$JAVA_SPEC_VERSION" -ge 18 ]; then + # set security manager property to allow calls to System.setSecurityManager() at runtime + ANT_OPTS="$ANT_OPTS -Djava.security.manager=allow" + fi + ;; +esac ant_exec_command="exec \"\$JAVACMD\" $ANT_OPTS -classpath \"\$LOCALCLASSPATH\" -Dant.home=\"\$ANT_HOME\" -Dant.library.dir=\"\$ANT_LIB\" $ant_sys_opts org.apache.tools.ant.launch.Launcher $ANT_ARGS -cp \"\$CLASSPATH\"" if $ant_exec_debug; then # using printf to avoid echo line continuation and escape interpretation confusion -- cgit v1.2.1