You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by ja...@apache.org on 2021/11/28 13:17:18 UTC
[ant] 01/02: Pass -Djava.security.manager=allow from *nix launcher script for Java 18
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
commit 0b028a211ad5f816620f8a4107f7eef65a49785d
Author: Jaikiran Pai <ja...@apache.org>
AuthorDate: Sun Nov 28 18:41:17 2021 +0530
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 81107b5..4095a72 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