From bd8523cf203b524769c3f7a0bdb33ffcebada2d6 Mon Sep 17 00:00:00 2001 From: DeweyReed <32358486+DeweyReed@users.noreply.github.com> Date: Sun, 21 Jan 2024 21:38:41 +0800 Subject: [PATCH] Fix the broken gradlew file --- gradlew | 304 +++++++++++++++++--------------------------------------- 1 file changed, 90 insertions(+), 214 deletions(-) diff --git a/gradlew b/gradlew index 358fd30..fcb6fca 100755 --- a/gradlew +++ b/gradlew @@ -1,18 +1,14 @@ #!/bin/sh # - # 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. # 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. @@ -22,93 +18,46 @@ ############################################################################## # - # 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 +# (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». +# * 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 +# (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 +# (3) This script is generated from the Groovy template # https://github.com/gradle/gradle/blob/HEAD/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/. # ############################################################################## @@ -116,193 +65,120 @@ template # Attempt to set APP_HOME # Resolve links: $0 may be a link -app_path = $0 +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" ] + 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 + ls=$( ls -ld "$app_path" ) + link=${ls#*' -> '} + case $link in #( + /*) app_path=$link ;; #( + *) app_path=$APP_HOME$link ;; + esac done # This is normally unused # shellcheck disable=SC2034 APP_BASE_NAME=${0##*/} -APP_HOME = $(cd -"${APP_HOME:-./}" && pwd -P ) || -exit +APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit # Use the maximum available, or set MAX_FD != -1 to use that value. - MAX_FD = maximum - -warn() { - echo - "$*" -} +MAX_FD=maximum ->&2 +warn () { + echo "$*" +} >&2 -die() { +die () { echo + echo "$*" echo - "$*" - echo - exit - 1 -} - ->&2 + exit 1 +} >&2 # OS specific support (must be 'true' or 'false'). -cygwin = false -msys = false -darwin = false -nonstop = false +cygwin=false +msys=false +darwin=false +nonstop=false case "$( uname )" in #( -CYGWIN* ) -cygwin = true;; #( -Darwin* ) -darwin = true;; #( -MSYS* | MINGW* ) -msys = true;; #( -NONSTOP* ) -nonstop = true;; + CYGWIN* ) cygwin=true ;; #( + Darwin* ) darwin=true ;; #( + MSYS* | MINGW* ) msys=true ;; #( + NONSTOP* ) nonstop=true ;; esac - CLASSPATH = $APP_HOME / gradle / wrapper / gradle - wrapper.jar +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 -else -JAVACMD = $JAVA_HOME / bin / java -fi -if [ ! -x "$JAVACMD" ]; -then - die -"ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME - -Please set -the JAVA_HOME -variable in -your environment -to match -the - location -of your -Java installation -." -fi +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 + else + JAVACMD=$JAVA_HOME/bin/java + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi else -JAVACMD = java -if ! command - -v java ->/dev/null 2>&1 -then - 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 - location -of your -Java installation -." + JAVACMD=java + if ! command -v java >/dev/null 2>&1 + then + 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 +location of your Java installation." + fi fi - fi # Increase the maximum file descriptors if we can. -if ! "$cygwin" && ! "$darwin" && ! "$nonstop"; then -case -$MAX_FD in -#( -max*) -# In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. -# shellcheck disable=SC3045 -MAX_FD = $(ulimit - H - n) || - warn -"Could not query maximum file descriptor limit" -esac -case -$MAX_FD in -#( -'' | soft) :;; #( -*) -# In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. -# shellcheck disable=SC3045 -ulimit -n "$MAX_FD" || -warn "Could not set maximum file descriptor limit to $MAX_FD" -esac - fi +if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then + case $MAX_FD in #( + max*) + # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC3045 + MAX_FD=$( ulimit -H -n ) || + warn "Could not query maximum file descriptor limit" + esac + case $MAX_FD in #( + '' | soft) :;; #( + *) + # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC3045 + ulimit -n "$MAX_FD" || + warn "Could not set maximum file descriptor limit to $MAX_FD" + esac +fi # Collect all arguments for the java command, stacking in reverse order: -# * -args from -the command -line -# * -the main - -class name - +# * 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. +# * -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" || "$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 -for arg do -if -case -$arg in -#( --*) false;; # don't mess with options #( -/?*) -t = ${arg# -/} -t = -/${ -t%%/*} # looks like a POSIX filepath +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 + 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