11#! /bin/sh
22
33# 
4- #  Copyright © 2015-2021  the original authors.
4+ #  Copyright © 2015 the original authors.
55# 
66#  Licensed under the Apache License, Version 2.0 (the "License");
77#  you may not use this file except in compliance with the License.
1515#  See the License for the specific language governing permissions and
1616#  limitations under the License.
1717# 
18+ #  SPDX-License-Identifier: Apache-2.0
19+ # 
1820
1921# #############################################################################
2022# 
5557#        Darwin, MinGW, and NonStop.
5658# 
5759#    (3) This script is generated from the Groovy template
58- #        https://github.com/gradle/gradle/blob/HEAD/subprojects/ plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
60+ #        https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/ plugins-application /src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
5961#        within the Gradle project.
6062# 
6163#        You can find Gradle at https://github.com/gradle/gradle/.
8385#  This is normally unused
8486#  shellcheck disable=SC2034
8587APP_BASE_NAME=${0##*/ } 
86- APP_HOME=$(  cd  " ${APP_HOME:- ./ } " &&  pwd  -P ) ||  exit 
87- 
88- #  Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
89- DEFAULT_JVM_OPTS=' "-Xmx64m" "-Xms64m"' 
88+ #  Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
89+ APP_HOME=$(  cd  -P " ${APP_HOME:- ./ } " >  /dev/null &&  printf  ' %s\n' " $PWD " ) ||  exit 
9090
9191#  Use the maximum available, or set MAX_FD != -1 to use that value.
9292MAX_FD=maximum
@@ -114,7 +114,6 @@ case "$( uname )" in                #(
114114  NONSTOP*  )        nonstop=true ;;
115115esac 
116116
117- CLASSPATH=$APP_HOME /gradle/wrapper/gradle-wrapper.jar
118117
119118
120119#  Determine the Java command to use to start the JVM.
@@ -133,26 +132,29 @@ location of your Java installation."
133132    fi 
134133else 
135134    JAVACMD=java
136-     which java > /dev/null 2>&1  ||  die " ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
135+     if  !  command  -v java > /dev/null 2>&1 
136+     then 
137+         die " ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
137138
138139Please set the JAVA_HOME variable in your environment to match the 
139140location of your Java installation."  
141+     fi 
140142fi 
141143
142144#  Increase the maximum file descriptors if we can.
143145if  !  " $cygwin " &&  !  " $darwin " &&  !  " $nonstop " ;  then 
144146    case  $MAX_FD  in  # (
145147      max* )
146148        #  In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
147-         #  shellcheck disable=SC3045  
149+         #  shellcheck disable=SC2039, SC3045
148150        MAX_FD=$(  ulimit  -H -n ) || 
149151            warn " Could not query maximum file descriptor limit" 
150152    esac 
151153    case  $MAX_FD  in   # (
152154      ' ' : ;; # (
153155      * )
154156        #  In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
155-         #  shellcheck disable=SC3045  
157+         #  shellcheck disable=SC2039, SC3045
156158        ulimit  -n " $MAX_FD " || 
157159            warn " Could not set maximum file descriptor limit to $MAX_FD " 
158160    esac 
169171#  For Cygwin or MSYS, switch paths to Windows format before running java
170172if  " $cygwin " ||  " $msys " ;  then 
171173    APP_HOME=$(  cygpath --path --mixed " $APP_HOME " ) 
172-     CLASSPATH=$(  cygpath --path --mixed " $CLASSPATH " ) 
173174
174175    JAVACMD=$(  cygpath --unix " $JAVACMD " ) 
175176
@@ -197,16 +198,19 @@ if "$cygwin" || "$msys" ; then
197198    done 
198199fi 
199200
200- #  Collect all arguments for the java command;
201- #    * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of
202- #      shell script including quotes and variable substitutions, so put them in
203- #      double quotes to make sure that they get re-expanded; and
204- #    * put everything else in single quotes, so that it's not re-expanded.
201+ 
202+ #  Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
203+ DEFAULT_JVM_OPTS=' "-Xmx64m" "-Xms64m"' 
204+ 
205+ #  Collect all arguments for the java command:
206+ #    * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
207+ #      and any embedded shellness will be escaped.
208+ #    * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
209+ #      treated as '${Hostname}' itself on the command line.
205210
206211set  -- \
207212        " -Dorg.gradle.appname=$APP_BASE_NAME " 
208-         -classpath " $CLASSPATH " 
209-         org.gradle.wrapper.GradleWrapperMain \
213+         -jar " $APP_HOME /gradle/wrapper/gradle-wrapper.jar" 
210214        " $@ " 
211215
212216#  Stop when "xargs" is not available.
0 commit comments