From 0b028a211ad5f816620f8a4107f7eef65a49785d Mon Sep 17 00:00:00 2001 From: Jaikiran Pai Date: Sun, 28 Nov 2021 18:41:17 +0530 Subject: [PATCH] Pass -Djava.security.manager=allow from *nix launcher script for Java 18 --- src/script/ant | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/script/ant b/src/script/ant index 81107b58f..4095a729d 100644 --- a/src/script/ant +++ b/src/script/ant @@ -368,6 +368,12 @@ else ant_sys_opts="-Djikes.class.path=\"$JIKESPATH\"" 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:]'` +if [ "$JAVA_SPEC_VERSION" == "java.specification.version=18" ]; then + # set security manager property to allow calls to System.setSecurityManager() at runtime + ANT_OPTS="$ANT_OPTS -Djava.security.manager=allow" +fi 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