1
1
#! /bin/sh
2
2
3
3
#
4
- # Copyright © 2015-2021 the original authors.
4
+ # Copyright © 2015 the original authors.
5
5
#
6
6
# Licensed under the Apache License, Version 2.0 (the "License");
7
7
# you may not use this file except in compliance with the License.
15
15
# See the License for the specific language governing permissions and
16
16
# limitations under the License.
17
17
#
18
+ # SPDX-License-Identifier: Apache-2.0
19
+ #
18
20
19
21
# #############################################################################
20
22
#
55
57
# Darwin, MinGW, and NonStop.
56
58
#
57
59
# (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
59
61
# within the Gradle project.
60
62
#
61
63
# You can find Gradle at https://github.com/gradle/gradle/.
83
85
# This is normally unused
84
86
# shellcheck disable=SC2034
85
87
APP_BASE_NAME=${0##*/ }
86
- APP_HOME=$( cd " ${APP_HOME:- ./ } " && pwd -P ) || exit
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
87
90
88
91
# Use the maximum available, or set MAX_FD != -1 to use that value.
89
92
MAX_FD=maximum
@@ -111,7 +114,6 @@ case "$( uname )" in #(
111
114
NONSTOP* ) nonstop=true ;;
112
115
esac
113
116
114
- CLASSPATH=$APP_HOME /gradle/wrapper/gradle-wrapper.jar
115
117
116
118
117
119
# Determine the Java command to use to start the JVM.
@@ -130,26 +132,29 @@ location of your Java installation."
130
132
fi
131
133
else
132
134
JAVACMD=java
133
- 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.
134
138
135
139
Please set the JAVA_HOME variable in your environment to match the
136
140
location of your Java installation."
141
+ fi
137
142
fi
138
143
139
144
# Increase the maximum file descriptors if we can.
140
145
if ! " $cygwin " && ! " $darwin " && ! " $nonstop " ; then
141
146
case $MAX_FD in # (
142
147
max* )
143
148
# In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
144
- # shellcheck disable=SC3045
149
+ # shellcheck disable=SC2039, SC3045
145
150
MAX_FD=$( ulimit -H -n ) ||
146
151
warn " Could not query maximum file descriptor limit"
147
152
esac
148
153
case $MAX_FD in # (
149
154
' ' | soft) : ;; # (
150
155
* )
151
156
# In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
152
- # shellcheck disable=SC3045
157
+ # shellcheck disable=SC2039, SC3045
153
158
ulimit -n " $MAX_FD " ||
154
159
warn " Could not set maximum file descriptor limit to $MAX_FD "
155
160
esac
166
171
# For Cygwin or MSYS, switch paths to Windows format before running java
167
172
if " $cygwin " || " $msys " ; then
168
173
APP_HOME=$( cygpath --path --mixed " $APP_HOME " )
169
- CLASSPATH=$( cygpath --path --mixed " $CLASSPATH " )
170
174
171
175
JAVACMD=$( cygpath --unix " $JAVACMD " )
172
176
198
202
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
199
203
DEFAULT_JVM_OPTS=' "-Xmx64m" "-Xms64m"'
200
204
201
- # Collect all arguments for the java command;
202
- # * $ DEFAULT_JVM_OPTS, $ JAVA_OPTS, and $GRADLE_OPTS can contain fragments of
203
- # shell script including quotes and variable substitutions, so put them in
204
- # double quotes to make sure that they get re- expanded; and
205
- # * put everything else in single quotes, so that it's not re-expanded .
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 .
206
210
207
211
set -- \
208
212
" -Dorg.gradle.appname=$APP_BASE_NAME " \
209
- -classpath " $CLASSPATH " \
210
- org.gradle.wrapper.GradleWrapperMain \
213
+ -jar " $APP_HOME /gradle/wrapper/gradle-wrapper.jar" \
211
214
" $@ "
212
215
213
216
# Stop when "xargs" is not available.
0 commit comments