From 8f3c0017561de3070b579b976c2a772c87abcb99 Mon Sep 17 00:00:00 2001 From: Kaj Niemi Date: Mon, 22 May 2023 12:56:15 +0300 Subject: [PATCH] Upgrade to gradle 7.6.1 to make JDK 17+ work --- gradle/wrapper/gradle-wrapper.jar | Bin 58694 -> 59821 bytes gradle/wrapper/gradle-wrapper.properties | 2 +- gradlew | 257 ++++++++++++++--------- gradlew.bat | 22 +- 4 files changed, 159 insertions(+), 122 deletions(-) diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 490fda8577df6c95960ba7077c43220e5bb2c0d9..41d9927a4d4fb3f96a785543079b8df6723c946b 100644 GIT binary patch delta 20916 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 N7!qZdOh*2;{tw&n@7n+X delta 19585 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 Gf&33iR&0&{ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index f371643ee..774fae876 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.0-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew index 2fe81a7d9..1b6c78733 100755 --- a/gradlew +++ b/gradlew @@ -1,7 +1,7 @@ -#!/usr/bin/env sh +#!/bin/sh # -# Copyright 2015 the original author or authors. +# Copyright © 2015-2021 the original authors. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -17,78 +17,113 @@ # ############################################################################## -## -## Gradle start up script for UN*X -## +# +# Gradle start up script for POSIX generated by Gradle. +# +# Important for running: +# +# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is +# noncompliant, but you have some other compliant shell such as ksh or +# bash, then to run this script, type that shell name before the whole +# command line, like: +# +# ksh Gradle +# +# Busybox and similar reduced shells will NOT work, because this script +# requires all of these POSIX shell features: +# * functions; +# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», +# «${var#prefix}», «${var%suffix}», and «$( cmd )»; +# * compound commands having a testable exit status, especially «case»; +# * various built-in commands including «command», «set», and «ulimit». +# +# Important for patching: +# +# (2) This script targets any POSIX shell, so it avoids extensions provided +# by Bash, Ksh, etc; in particular arrays are avoided. +# +# The "traditional" practice of packing multiple parameters into a +# space-separated string is a well documented source of bugs and security +# problems, so this is (mostly) avoided, by progressively accumulating +# options in "$@", and eventually passing that to Java. +# +# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, +# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; +# see the in-line comments for details. +# +# There are tweaks for specific operating systems such as AIX, CygWin, +# Darwin, MinGW, and NonStop. +# +# (3) This script is generated from the Groovy template +# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# within the Gradle project. +# +# You can find Gradle at https://github.com/gradle/gradle/. +# ############################################################################## # Attempt to set APP_HOME + # Resolve links: $0 may be a link -PRG="$0" -# Need this for relative symlinks. -while [ -h "$PRG" ] ; do - ls=`ls -ld "$PRG"` - link=`expr "$ls" : '.*-> \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG=`dirname "$PRG"`"/$link" - fi +app_path=$0 + +# Need this for daisy-chained symlinks. +while + APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path + [ -h "$app_path" ] +do + ls=$( ls -ld "$app_path" ) + link=${ls#*' -> '} + case $link in #( + /*) app_path=$link ;; #( + *) app_path=$APP_HOME$link ;; + esac done -SAVED="`pwd`" -cd "`dirname \"$PRG\"`/" >/dev/null -APP_HOME="`pwd -P`" -cd "$SAVED" >/dev/null + +APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit APP_NAME="Gradle" -APP_BASE_NAME=`basename "$0"` +APP_BASE_NAME=${0##*/} # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' # Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD="maximum" +MAX_FD=maximum warn () { echo "$*" -} +} >&2 die () { echo echo "$*" echo exit 1 -} +} >&2 # OS specific support (must be 'true' or 'false'). cygwin=false msys=false darwin=false nonstop=false -case "`uname`" in - CYGWIN* ) - cygwin=true - ;; - Darwin* ) - darwin=true - ;; - MINGW* ) - msys=true - ;; - NONSTOP* ) - nonstop=true - ;; +case "$( uname )" in #( + CYGWIN* ) cygwin=true ;; #( + Darwin* ) darwin=true ;; #( + MSYS* | MINGW* ) msys=true ;; #( + NONSTOP* ) nonstop=true ;; esac CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + # Determine the Java command to use to start the JVM. if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" + JAVACMD=$JAVA_HOME/jre/sh/java else - JAVACMD="$JAVA_HOME/bin/java" + JAVACMD=$JAVA_HOME/bin/java fi if [ ! -x "$JAVACMD" ] ; then die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME @@ -97,7 +132,7 @@ Please set the JAVA_HOME variable in your environment to match the location of your Java installation." fi else - JAVACMD="java" + JAVACMD=java which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. Please set the JAVA_HOME variable in your environment to match the @@ -105,79 +140,95 @@ location of your Java installation." fi # Increase the maximum file descriptors if we can. -if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then - MAX_FD_LIMIT=`ulimit -H -n` - if [ $? -eq 0 ] ; then - if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then - MAX_FD="$MAX_FD_LIMIT" - fi - ulimit -n $MAX_FD - if [ $? -ne 0 ] ; then - warn "Could not set maximum file descriptor limit: $MAX_FD" - fi - else - warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" - fi +if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then + case $MAX_FD in #( + max*) + MAX_FD=$( ulimit -H -n ) || + warn "Could not query maximum file descriptor limit" + esac + case $MAX_FD in #( + '' | soft) :;; #( + *) + ulimit -n "$MAX_FD" || + warn "Could not set maximum file descriptor limit to $MAX_FD" + esac fi -# For Darwin, add options to specify how the application appears in the dock -if $darwin; then - GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" -fi +# Collect all arguments for the java command, stacking in reverse order: +# * args from the command line +# * the main class name +# * -classpath +# * -D...appname settings +# * --module-path (only if needed) +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. # For Cygwin or MSYS, switch paths to Windows format before running java -if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then - APP_HOME=`cygpath --path --mixed "$APP_HOME"` - CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` - JAVACMD=`cygpath --unix "$JAVACMD"` - - # We build the pattern for arguments to be converted via cygpath - ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` - SEP="" - for dir in $ROOTDIRSRAW ; do - ROOTDIRS="$ROOTDIRS$SEP$dir" - SEP="|" - done - OURCYGPATTERN="(^($ROOTDIRS))" - # Add a user-defined pattern to the cygpath arguments - if [ "$GRADLE_CYGPATTERN" != "" ] ; then - OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" - fi +if "$cygwin" || "$msys" ; then + APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) + CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) + + JAVACMD=$( cygpath --unix "$JAVACMD" ) + # Now convert the arguments - kludge to limit ourselves to /bin/sh - i=0 - for arg in "$@" ; do - CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` - CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option - - if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition - eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` - else - eval `echo args$i`="\"$arg\"" + for arg do + if + case $arg in #( + -*) false ;; # don't mess with options #( + /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath + [ -e "$t" ] ;; #( + *) false ;; + esac + then + arg=$( cygpath --path --ignore --mixed "$arg" ) fi - i=`expr $i + 1` + # Roll the args list around exactly as many times as the number of + # args, so each arg winds up back in the position where it started, but + # possibly modified. + # + # NB: a `for` loop captures its iteration list before it begins, so + # changing the positional parameters here affects neither the number of + # iterations, nor the values presented in `arg`. + shift # remove old arg + set -- "$@" "$arg" # push replacement arg done - case $i in - 0) set -- ;; - 1) set -- "$args0" ;; - 2) set -- "$args0" "$args1" ;; - 3) set -- "$args0" "$args1" "$args2" ;; - 4) set -- "$args0" "$args1" "$args2" "$args3" ;; - 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; - 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; - 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; - 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; - 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; - esac fi -# Escape application args -save () { - for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done - echo " " -} -APP_ARGS=`save "$@"` +# Collect all arguments for the java command; +# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of +# shell script including quotes and variable substitutions, so put them in +# double quotes to make sure that they get re-expanded; and +# * put everything else in single quotes, so that it's not re-expanded. + +set -- \ + "-Dorg.gradle.appname=$APP_BASE_NAME" \ + -classpath "$CLASSPATH" \ + org.gradle.wrapper.GradleWrapperMain \ + "$@" + +# Use "xargs" to parse quoted args. +# +# With -n1 it outputs one arg per line, with the quotes and backslashes removed. +# +# In Bash we could simply go: +# +# readarray ARGS < <( xargs -n1 <<<"$var" ) && +# set -- "${ARGS[@]}" "$@" +# +# but POSIX shell has neither arrays nor command substitution, so instead we +# post-process each arg (as a line of input to sed) to backslash-escape any +# character that might be a shell metacharacter, then use eval to reverse +# that process (while maintaining the separation between arguments), and wrap +# the whole thing up as a single "set" statement. +# +# This will of course break if any of these variables contains a newline or +# an unmatched quote. +# -# Collect all arguments for the java command, following the shell quoting and substitution rules -eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" +eval "set -- $( + printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | + xargs -n1 | + sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | + tr '\n' ' ' + )" '"$@"' exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat index 62bd9b9cc..107acd32c 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -40,7 +40,7 @@ if defined JAVA_HOME goto findJavaFromJavaHome set JAVA_EXE=java.exe %JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto init +if "%ERRORLEVEL%" == "0" goto execute echo. echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. @@ -54,7 +54,7 @@ goto fail set JAVA_HOME=%JAVA_HOME:"=% set JAVA_EXE=%JAVA_HOME%/bin/java.exe -if exist "%JAVA_EXE%" goto init +if exist "%JAVA_EXE%" goto execute echo. echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% @@ -64,28 +64,14 @@ echo location of your Java installation. goto fail -:init -@rem Get command-line arguments, handling Windows variants - -if not "%OS%" == "Windows_NT" goto win9xME_args - -:win9xME_args -@rem Slurp the command line arguments. -set CMD_LINE_ARGS= -set _SKIP=2 - -:win9xME_args_slurp -if "x%~1" == "x" goto execute - -set CMD_LINE_ARGS=%* - :execute @rem Setup the command line set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + @rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* :end @rem End local scope for the variables with windows NT shell