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,7 @@ case "$( uname )" in #(
114114 NONSTOP* ) nonstop=true ;;
115115esac
116116
117- CLASSPATH=$APP_HOME /gradle/wrapper/gradle-wrapper.jar
117+ CLASSPATH=" \\\"\\\" "
118118
119119
120120# Determine the Java command to use to start the JVM.
@@ -133,26 +133,29 @@ location of your Java installation."
133133fi
134134else
135135 JAVACMD=java
136- which java> /dev/null2>&1 || die" ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
136+ if ! command -v java> /dev/null2>&1
137+ then
138+ die" ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
137139
138140Please set the JAVA_HOME variable in your environment to match the
139141location of your Java installation."
142+ fi
140143fi
141144
142145# Increase the maximum file descriptors if we can.
143146if ! " $cygwin " && ! " $darwin " && ! " $nonstop " ; then
144147case $MAX_FD in # (
145148 max* )
146149# In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
147- # shellcheck disable=SC3045
150+ # shellcheck disable=SC2039, SC3045
148151 MAX_FD=$( ulimit -H -n) ||
149152 warn" Could not query maximum file descriptor limit"
150153esac
151154case $MAX_FD in # (
152155' ' | soft): ;;# (
153156* )
154157# In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
155- # shellcheck disable=SC3045
158+ # shellcheck disable=SC2039, SC3045
156159ulimit -n" $MAX_FD " ||
157160 warn" Could not set maximum file descriptor limit to$MAX_FD "
158161esac
@@ -197,16 +200,20 @@ if "$cygwin" || "$msys" ; then
197200done
198201fi
199202
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.
203+
204+ # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
205+ DEFAULT_JVM_OPTS=' "-Xmx64m" "-Xms64m"'
206+
207+ # Collect all arguments for the java command:
208+ # * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
209+ # and any embedded shellness will be escaped.
210+ # * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
211+ # treated as '${Hostname}' itself on the command line.
205212
206213set -- \
207214" -Dorg.gradle.appname=$APP_BASE_NAME " \
208215 -classpath" $CLASSPATH " \
209- org. gradle. wrapper.GradleWrapperMain \
216+ -jar " $APP_HOME / gradle/ wrapper/gradle-wrapper.jar " \
210217" $@ "
211218
212219# Stop when "xargs" is not available.