| 
83 | 83 | # This is normally unused  | 
84 | 84 | # shellcheck disable=SC2034  | 
85 | 85 | APP_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"'  | 
 | 86 | +# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)  | 
 | 87 | +APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit  | 
90 | 88 | 
 
  | 
91 | 89 | # Use the maximum available, or set MAX_FD != -1 to use that value.  | 
92 | 90 | MAX_FD=maximum  | 
@@ -133,26 +131,29 @@ location of your Java installation."  | 
133 | 131 |     fi  | 
134 | 132 | else  | 
135 | 133 |     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.  | 
 | 134 | +    if ! command -v java >/dev/null 2>&1  | 
 | 135 | +    then  | 
 | 136 | +        die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.  | 
137 | 137 | 
  | 
138 | 138 | Please set the JAVA_HOME variable in your environment to match the  | 
139 | 139 | location of your Java installation."  | 
 | 140 | +    fi  | 
140 | 141 | fi  | 
141 | 142 | 
 
  | 
142 | 143 | # Increase the maximum file descriptors if we can.  | 
143 | 144 | if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then  | 
144 | 145 |     case $MAX_FD in #(  | 
145 | 146 |       max*)  | 
146 | 147 |         # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.  | 
147 |  | -        # shellcheck disable=SC3045   | 
 | 148 | +        # shellcheck disable=SC2039,SC3045  | 
148 | 149 |         MAX_FD=$( ulimit -H -n ) ||  | 
149 | 150 |             warn "Could not query maximum file descriptor limit"  | 
150 | 151 |     esac  | 
151 | 152 |     case $MAX_FD in  #(  | 
152 | 153 |       '' | soft) :;; #(  | 
153 | 154 |       *)  | 
154 | 155 |         # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.  | 
155 |  | -        # shellcheck disable=SC3045   | 
 | 156 | +        # shellcheck disable=SC2039,SC3045  | 
156 | 157 |         ulimit -n "$MAX_FD" ||  | 
157 | 158 |             warn "Could not set maximum file descriptor limit to $MAX_FD"  | 
158 | 159 |     esac  | 
@@ -197,11 +198,15 @@ if "$cygwin" || "$msys" ; then  | 
197 | 198 |     done  | 
198 | 199 | fi  | 
199 | 200 | 
 
  | 
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, 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.  | 
205 | 210 | 
 
  | 
206 | 211 | set -- \  | 
207 | 212 |         "-Dorg.gradle.appname=$APP_BASE_NAME" \  | 
 | 
0 commit comments