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 <jaiki...@apache.org> 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