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 a66dafa add java.security.manager=allow while launching against Java
19
a66dafa is described below
commit a66dafa7d5ee0ac2717dfbeed1cb47e589938eed
Author: Jaikiran Pai <[email protected]>
AuthorDate: Mon Feb 7 09:07:09 2022 +0530
add java.security.manager=allow while launching against Java 19
---
java-latest-ea-ci.xml | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++
src/script/ant | 2 +-
src/script/ant.bat | 16 ++++++++++++----
3 files changed, 64 insertions(+), 5 deletions(-)
diff --git a/java-latest-ea-ci.xml b/java-latest-ea-ci.xml
new file mode 100644
index 0000000..70e6f2e
--- /dev/null
+++ b/java-latest-ea-ci.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ https://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+
+<!-- This build file is here to help with the CI jobs in Jenkins where we
+ download and run the Ant tests against the latest early access binaries
of
+ Java -->
+<project default="download-jdk">
+ <property environment="env"/>
+ <target name="download-jdk" depends="check-file-type,
download-extract-zip, download-extract-tar"/>
+ <target name="check-file-type">
+ <condition property="zip-artifact">
+ <!-- check if it ends with .zip -->
+ <matches string="${env.JDK_DOWNLOAD_URL}"
pattern="\.zip$"/>
+ </condition>
+ <condition property="tar-artifact">
+ <!-- check if it ends with .tar.gz -->
+ <matches string="${env.JDK_DOWNLOAD_URL}"
pattern="\.tar.gz$"/>
+ </condition>
+ </target>
+ <target name="download-extract-zip" if="zip-artifact">
+ <echo message="Downloading zip file from
${env.JDK_DOWNLOAD_URL}"/>
+ <get src="${env.JDK_DOWNLOAD_URL}" dest="${basedir}/jdk.zip"/>
+ <unzip src="jdk.zip" dest="${basedir}/java-latest-ea"/>
+ </target>
+ <target name="download-extract-tar" if="tar-artifact">
+ <echo message="Downloading tar.gz file from
${env.JDK_DOWNLOAD_URL}"/>
+ <get src="${env.JDK_DOWNLOAD_URL}"
dest="${basedir}/jdk.tar.gz"/>
+ <untar src="jdk.tar.gz" dest="${basedir}/java-latest-ea"
compression="gzip"/>
+ <!-- restore permission on the extracted tar's bin directory
contents -->
+ <echo message="restoring permissions of files in directory
${basedir}/java-latest-ea/**/bin/*"/>
+ <chmod dir="${basedir}/java-latest-ea/" perm="a+x"
includes="**/bin/*"/>
+ </target>
+
+</project>
\ No newline at end of file
diff --git a/src/script/ant b/src/script/ant
index a160a72..b3b4c0a 100644
--- a/src/script/ant
+++ b/src/script/ant
@@ -370,7 +370,7 @@ else
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
+if [ "$JAVA_SPEC_VERSION" = "java.specification.version=18" ] || [
"$JAVA_SPEC_VERSION" = "java.specification.version=19" ]; then
# set security manager property to allow calls to
System.setSecurityManager() at runtime
ANT_OPTS="$ANT_OPTS -Djava.security.manager=allow"
fi
diff --git a/src/script/ant.bat b/src/script/ant.bat
index 0cdaf1b..58dc3db 100755
--- a/src/script/ant.bat
+++ b/src/script/ant.bat
@@ -123,11 +123,19 @@ goto setSecurityManagerOpt
if "%_JAVACMD%" == "" set _JAVACMD=java.exe
:setSecurityManagerOpt
-"%_JAVACMD%" -XshowSettings:properties 2>&1 | find "java.specification.version
= 18"
-if %errorlevel% EQU 0 (
-rem This is Java 18, so set -Djava.security.manager=allow
-set ANT_OPTS=%ANT_OPTS% -Djava.security.manager=allow
+setlocal EnableDelayedExpansion
+"!_JAVACMD!" -XshowSettings:properties 2>&1 | find "java.specification.version
= 18" >nul 2>&1
+if !errorlevel! EQU 0 (
+ rem This is Java 18, so set -Djava.security.manager=allow
+ set JAVA_SECMGR_OPT=-Djava.security.manager=allow
+) else (
+ "!_JAVACMD!" -XshowSettings:properties 2>&1 | find
"java.specification.version = 19" >nul 2>&1
+ if !errorlevel! EQU 0 (
+ rem This is Java 19, so set -Djava.security.manager=allow
+ set JAVA_SECMGR_OPT=-Djava.security.manager=allow
+ )
)
+endlocal & set "ANT_OPTS=%ANT_OPTS% %JAVA_SECMGR_OPT%"
:checkJikes
if not "%JIKESPATH%"=="" goto runAntWithJikes