This is an automated email from the ASF dual-hosted git repository.

jaikiran pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ant.git


The following commit(s) were added to refs/heads/master by this push:
     new c8f579577 Fix detection of java.specification.version
     new 4b7965dc6 Merge pull request #195 from keithc-ca/version
c8f579577 is described below

commit c8f579577d381afa7ae594c38c094777fdc0c141
Author: Keith W. Campbell <[email protected]>
AuthorDate: Wed Nov 16 13:08:20 2022 -0500

    Fix detection of java.specification.version
    
    Signed-off-by: Keith W. Campbell <[email protected]>
---
 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

Reply via email to