8383# This is normally unused
8484# shellcheck disable=SC2034
8585APP_BASE_NAME=${0##*/ }
86- APP_HOME=$( cd " ${APP_HOME:- ./ } " && pwd -P ) || exit
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
8788
8889# Use the maximum available, or set MAX_FD != -1 to use that value.
8990MAX_FD=maximum
@@ -144,15 +145,15 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
144145 case $MAX_FD in # (
145146 max* )
146147 # 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
148149 MAX_FD=$( ulimit -H -n ) ||
149150 warn " Could not query maximum file descriptor limit"
150151 esac
151152 case $MAX_FD in # (
152153 ' ' | soft) : ;; # (
153154 * )
154155 # 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
156157 ulimit -n " $MAX_FD " ||
157158 warn " Could not set maximum file descriptor limit to $MAX_FD "
158159 esac
199200
200201
201202# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
202- DEFAULT_JVM_OPTS=' "-Xmx64m" "-Xms64m"'
203+ DEFAULT_JVM_OPTS=' -Dfile.encoding=UTF-8 "-Xmx64m" "-Xms64m"'
203204
204- # Collect all arguments for the java command;
205- # * $ DEFAULT_JVM_OPTS, $ JAVA_OPTS, and $GRADLE_OPTS can contain fragments of
206- # shell script including quotes and variable substitutions, so put them in
207- # double quotes to make sure that they get re- expanded; and
208- # * 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, 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 .
209210
210211set -- \
211212 " -Dorg.gradle.appname=$APP_BASE_NAME " \
@@ -245,4 +246,4 @@ eval "set -- $(
245246 tr ' \n' ' '
246247 ) " ' "$@"'
247248
248- exec " $JAVACMD " " $@ "
249+ exec " $JAVACMD " " $@ "
0 commit comments