1
- #! /usr/bin/env bash
1
+ #! /usr/bin/env sh
2
+
3
+ #
4
+ # Copyright 2015 the original author or authors.
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License at
9
+ #
10
+ # https://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ # See the License for the specific language governing permissions and
16
+ # limitations under the License.
17
+ #
2
18
3
19
# #############################################################################
4
20
# #
5
21
# # Gradle start up script for UN*X
6
22
# #
7
23
# #############################################################################
8
24
9
- # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
10
- DEFAULT_JVM_OPTS=" "
25
+ # Attempt to set APP_HOME
26
+ # Resolve links: $0 may be a link
27
+ PRG=" $0 "
28
+ # Need this for relative symlinks.
29
+ while [ -h " $PRG " ] ; do
30
+ ls=` ls -ld " $PRG " `
31
+ link=` expr " $ls " : ' .*-> \(.*\)$' `
32
+ if expr " $link " : ' /.*' > /dev/null; then
33
+ PRG=" $link "
34
+ else
35
+ PRG=` dirname " $PRG " ` " /$link "
36
+ fi
37
+ done
38
+ SAVED=" ` pwd` "
39
+ cd " ` dirname \" $PRG \" ` /" > /dev/null
40
+ APP_HOME=" ` pwd -P` "
41
+ cd " $SAVED " > /dev/null
11
42
12
43
APP_NAME=" Gradle"
13
44
APP_BASE_NAME=` basename " $0 " `
14
45
46
+ # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
47
+ DEFAULT_JVM_OPTS=' "-Xmx64m" "-Xms64m"'
48
+
15
49
# Use the maximum available, or set MAX_FD != -1 to use that value.
16
50
MAX_FD=" maximum"
17
51
18
- warn ( ) {
52
+ warn () {
19
53
echo " $* "
20
54
}
21
55
22
- die ( ) {
56
+ die () {
23
57
echo
24
58
echo " $* "
25
59
echo
@@ -30,6 +64,7 @@ die ( ) {
30
64
cygwin=false
31
65
msys=false
32
66
darwin=false
67
+ nonstop=false
33
68
case " ` uname` " in
34
69
CYGWIN* )
35
70
cygwin=true
@@ -40,33 +75,14 @@ case "`uname`" in
40
75
MINGW* )
41
76
msys=true
42
77
;;
78
+ NONSTOP* )
79
+ nonstop=true
80
+ ;;
43
81
esac
44
82
45
- # For Cygwin, ensure paths are in UNIX format before anything is touched.
46
- if $cygwin ; then
47
- [ -n " $JAVA_HOME " ] && JAVA_HOME=` cygpath --unix " $JAVA_HOME " `
48
- fi
49
-
50
- # Attempt to set APP_HOME
51
- # Resolve links: $0 may be a link
52
- PRG=" $0 "
53
- # Need this for relative symlinks.
54
- while [ -h " $PRG " ] ; do
55
- ls=` ls -ld " $PRG " `
56
- link=` expr " $ls " : ' .*-> \(.*\)$' `
57
- if expr " $link " : ' /.*' > /dev/null; then
58
- PRG=" $link "
59
- else
60
- PRG=` dirname " $PRG " ` " /$link "
61
- fi
62
- done
63
- SAVED=" ` pwd` "
64
- cd " ` dirname \" $PRG \" ` /" >& -
65
- APP_HOME=" ` pwd -P` "
66
- cd " $SAVED " >& -
67
-
68
83
CLASSPATH=$APP_HOME /gradle/wrapper/gradle-wrapper.jar
69
84
85
+
70
86
# Determine the Java command to use to start the JVM.
71
87
if [ -n " $JAVA_HOME " ] ; then
72
88
if [ -x " $JAVA_HOME /jre/sh/java" ] ; then
@@ -90,7 +106,7 @@ location of your Java installation."
90
106
fi
91
107
92
108
# Increase the maximum file descriptors if we can.
93
- if [ " $cygwin " = " false" -a " $darwin " = " false" ] ; then
109
+ if [ " $cygwin " = " false" -a " $darwin " = " false" -a " $nonstop " = " false " ] ; then
94
110
MAX_FD_LIMIT=` ulimit -H -n`
95
111
if [ $? -eq 0 ] ; then
96
112
if [ " $MAX_FD " = " maximum" -o " $MAX_FD " = " max" ] ; then
@@ -110,11 +126,13 @@ if $darwin; then
110
126
GRADLE_OPTS=" $GRADLE_OPTS \" -Xdock:name=$APP_NAME \" \" -Xdock:icon=$APP_HOME /media/gradle.icns\" "
111
127
fi
112
128
113
- # For Cygwin, switch paths to Windows format before running java
114
- if $cygwin ; then
129
+ # For Cygwin or MSYS , switch paths to Windows format before running java
130
+ if [ " $cygwin " = " true " -o " $msys " = " true " ] ; then
115
131
APP_HOME=` cygpath --path --mixed " $APP_HOME " `
116
132
CLASSPATH=` cygpath --path --mixed " $CLASSPATH " `
117
133
134
+ JAVACMD=` cygpath --unix " $JAVACMD " `
135
+
118
136
# We build the pattern for arguments to be converted via cygpath
119
137
ROOTDIRSRAW=` find -L / -maxdepth 1 -mindepth 1 -type d 2> /dev/null`
120
138
SEP=" "
@@ -138,27 +156,30 @@ if $cygwin ; then
138
156
else
139
157
eval ` echo args$i ` =" \" $arg \" "
140
158
fi
141
- i=$(( i + 1 ))
159
+ i=` expr $i + 1 `
142
160
done
143
161
case $i in
144
- ( 0) set -- ;;
145
- ( 1) set -- " $args0 " ;;
146
- ( 2) set -- " $args0 " " $args1 " ;;
147
- ( 3) set -- " $args0 " " $args1 " " $args2 " ;;
148
- ( 4) set -- " $args0 " " $args1 " " $args2 " " $args3 " ;;
149
- ( 5) set -- " $args0 " " $args1 " " $args2 " " $args3 " " $args4 " ;;
150
- ( 6) set -- " $args0 " " $args1 " " $args2 " " $args3 " " $args4 " " $args5 " ;;
151
- ( 7) set -- " $args0 " " $args1 " " $args2 " " $args3 " " $args4 " " $args5 " " $args6 " ;;
152
- ( 8) set -- " $args0 " " $args1 " " $args2 " " $args3 " " $args4 " " $args5 " " $args6 " " $args7 " ;;
153
- ( 9) set -- " $args0 " " $args1 " " $args2 " " $args3 " " $args4 " " $args5 " " $args6 " " $args7 " " $args8 " ;;
162
+ 0) set -- ;;
163
+ 1) set -- " $args0 " ;;
164
+ 2) set -- " $args0 " " $args1 " ;;
165
+ 3) set -- " $args0 " " $args1 " " $args2 " ;;
166
+ 4) set -- " $args0 " " $args1 " " $args2 " " $args3 " ;;
167
+ 5) set -- " $args0 " " $args1 " " $args2 " " $args3 " " $args4 " ;;
168
+ 6) set -- " $args0 " " $args1 " " $args2 " " $args3 " " $args4 " " $args5 " ;;
169
+ 7) set -- " $args0 " " $args1 " " $args2 " " $args3 " " $args4 " " $args5 " " $args6 " ;;
170
+ 8) set -- " $args0 " " $args1 " " $args2 " " $args3 " " $args4 " " $args5 " " $args6 " " $args7 " ;;
171
+ 9) set -- " $args0 " " $args1 " " $args2 " " $args3 " " $args4 " " $args5 " " $args6 " " $args7 " " $args8 " ;;
154
172
esac
155
173
fi
156
174
157
- # Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
158
- function splitJvmOpts() {
159
- JVM_OPTS=(" $@ " )
175
+ # Escape application args
176
+ save () {
177
+ for i do printf %s\\ n " $i " | sed " s/'/'\\\\ ''/g;1s/^/'/;\$ s/\$ /' \\\\ /" ; done
178
+ echo " "
160
179
}
161
- eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
162
- JVM_OPTS[${# JVM_OPTS[*]} ]=" -Dorg.gradle.appname=$APP_BASE_NAME "
180
+ APP_ARGS=` save " $@ " `
181
+
182
+ # Collect all arguments for the java command, following the shell quoting and substitution rules
183
+ eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS " \" -Dorg.gradle.appname=$APP_BASE_NAME \" " -classpath " \" $CLASSPATH \" " org.gradle.wrapper.GradleWrapperMain " $APP_ARGS "
163
184
164
- exec " $JAVACMD " " ${JVM_OPTS[@]} " -classpath " $CLASSPATH " org.gradle.wrapper.GradleWrapperMain " $ @"
185
+ exec " $JAVACMD " " $@ "
0 commit comments