1
- #! /bin/bash
1
+ #! /usr/ bin/env bash
2
2
3
3
# #############################################################################
4
- # # ##
5
- # # Gradle wrapper script for UN*X ##
6
- # # ##
4
+ # #
5
+ # # Gradle start up script for UN*X
6
+ # #
7
7
# #############################################################################
8
8
9
- # Uncomment those lines to set JVM options. GRADLE_OPTS and JAVA_OPTS can be used together.
10
- # GRADLE_OPTS="$GRADLE_OPTS -Xmx512m"
11
- # JAVA_OPTS="$JAVA_OPTS -Xmx512m"
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=" "
12
11
13
- GRADLE_APP_NAME=Gradle
12
+ APP_NAME=" Gradle"
13
+ APP_BASE_NAME=` basename " $0 " `
14
14
15
15
# Use the maximum available, or set MAX_FD != -1 to use that value.
16
16
MAX_FD=" maximum"
@@ -42,54 +42,51 @@ case "`uname`" in
42
42
;;
43
43
esac
44
44
45
- # Attempt to set JAVA_HOME if it's not already set.
46
- if [ -z " $JAVA_HOME " ] ; then
47
- if $darwin ; then
48
- [ -z " $JAVA_HOME " -a -d " /Library/Java/Home" ] && export JAVA_HOME=" /Library/Java/Home"
49
- [ -z " $JAVA_HOME " -a -d " /System/Library/Frameworks/JavaVM.framework/Home" ] && export JAVA_HOME=" /System/Library/Frameworks/JavaVM.framework/Home"
50
- else
51
- javaExecutable=" ` which javac` "
52
- [ -z " $javaExecutable " -o " ` expr \" $javaExecutable \" : ' \([^ ]*\)' ` " = " no" ] && die " JAVA_HOME not set and cannot find javac to deduce location, please set JAVA_HOME."
53
- # readlink(1) is not available as standard on Solaris 10.
54
- readLink=` which readlink`
55
- [ ` expr " $readLink " : ' \([^ ]*\)' ` = " no" ] && die " JAVA_HOME not set and readlink not available, please set JAVA_HOME."
56
- javaExecutable=" ` readlink -f \" $javaExecutable \" ` "
57
- javaHome=" ` dirname \" $javaExecutable \" ` "
58
- javaHome=` expr " $javaHome " : ' \(.*\)/bin' `
59
- export JAVA_HOME=" $javaHome "
60
- fi
61
- fi
62
-
63
45
# For Cygwin, ensure paths are in UNIX format before anything is touched.
64
46
if $cygwin ; then
65
- [ -n " $JAVACMD " ] && JAVACMD=` cygpath --unix " $JAVACMD " `
66
47
[ -n " $JAVA_HOME " ] && JAVA_HOME=` cygpath --unix " $JAVA_HOME " `
67
48
fi
68
49
69
- STARTER_MAIN_CLASS=org.gradle.wrapper.GradleWrapperMain
70
- CLASSPATH=` dirname " $0 " ` /gradle/wrapper/gradle-wrapper.jar
71
- WRAPPER_PROPERTIES=` dirname " $0 " ` /gradle/wrapper/gradle-wrapper.properties
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
+ CLASSPATH=$APP_HOME /gradle/wrapper/gradle-wrapper.jar
69
+
72
70
# Determine the Java command to use to start the JVM.
73
- if [ -z " $JAVACMD " ] ; then
74
- if [ -n " $JAVA_HOME " ] ; then
75
- if [ -x " $JAVA_HOME /jre/sh/java" ] ; then
76
- # IBM's JDK on AIX uses strange locations for the executables
77
- JAVACMD=" $JAVA_HOME /jre/sh/java"
78
- else
79
- JAVACMD=" $JAVA_HOME /bin/java"
80
- fi
71
+ if [ -n " $JAVA_HOME " ] ; then
72
+ if [ -x " $JAVA_HOME /jre/sh/java" ] ; then
73
+ # IBM's JDK on AIX uses strange locations for the executables
74
+ JAVACMD=" $JAVA_HOME /jre/sh/java"
81
75
else
82
- JAVACMD=" java"
76
+ JAVACMD=" $JAVA_HOME /bin/ java"
83
77
fi
84
- fi
85
- if [ ! -x " $JAVACMD " ] ; then
86
- die " ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
78
+ if [ ! -x " $JAVACMD " ] ; then
79
+ die " ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
80
+
81
+ Please set the JAVA_HOME variable in your environment to match the
82
+ location of your Java installation."
83
+ fi
84
+ else
85
+ JAVACMD=" java"
86
+ which java > /dev/null 2>&1 || die " ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
87
87
88
88
Please set the JAVA_HOME variable in your environment to match the
89
89
location of your Java installation."
90
- fi
91
- if [ -z " $JAVA_HOME " ] ; then
92
- warn " JAVA_HOME environment variable is not set"
93
90
fi
94
91
95
92
# Increase the maximum file descriptors if we can.
@@ -104,19 +101,18 @@ if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
104
101
warn " Could not set maximum file descriptor limit: $MAX_FD "
105
102
fi
106
103
else
107
- warn " Could not query businessSystem maximum file descriptor limit: $MAX_FD_LIMIT "
104
+ warn " Could not query maximum file descriptor limit: $MAX_FD_LIMIT "
108
105
fi
109
106
fi
110
107
111
- # For Darwin, add GRADLE_APP_NAME to the JAVA_OPTS as -Xdock:name
108
+ # For Darwin, add options to specify how the application appears in the dock
112
109
if $darwin ; then
113
- JAVA_OPTS=" $JAVA_OPTS -Xdock:name=$GRADLE_APP_NAME "
114
- # we may also want to set -Xdock:image
110
+ GRADLE_OPTS=" $GRADLE_OPTS \" -Xdock:name=$APP_NAME \" \" -Xdock:icon=$APP_HOME /media/gradle.icns\" "
115
111
fi
116
112
117
113
# For Cygwin, switch paths to Windows format before running java
118
114
if $cygwin ; then
119
- JAVA_HOME =` cygpath --path --mixed " $JAVA_HOME " `
115
+ APP_HOME =` cygpath --path --mixed " $APP_HOME " `
120
116
CLASSPATH=` cygpath --path --mixed " $CLASSPATH " `
121
117
122
118
# We build the pattern for arguments to be converted via cygpath
@@ -143,7 +139,7 @@ if $cygwin ; then
143
139
eval ` echo args$i ` =" \" $arg \" "
144
140
fi
145
141
i=$(( i+ 1 ))
146
- done
142
+ done
147
143
case $i in
148
144
(0) set -- ;;
149
145
(1) set -- " $args0 " ;;
@@ -158,11 +154,11 @@ if $cygwin ; then
158
154
esac
159
155
fi
160
156
161
- GRADLE_APP_BASE_NAME=` basename " $0 " `
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=(" $@ " )
160
+ }
161
+ eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
162
+ JVM_OPTS[${# JVM_OPTS[*]} ]=" -Dorg.gradle.appname=$APP_BASE_NAME "
162
163
163
- exec " $JAVACMD " $JAVA_OPTS $GRADLE_OPTS \
164
- -classpath " $CLASSPATH " \
165
- -Dorg.gradle.appname=" $GRADLE_APP_BASE_NAME " \
166
- -Dorg.gradle.wrapper.properties=" $WRAPPER_PROPERTIES " \
167
- $STARTER_MAIN_CLASS \
168
- " $@ "
164
+ exec " $JAVACMD " " ${JVM_OPTS[@]} " -classpath " $CLASSPATH " org.gradle.wrapper.GradleWrapperMain " $@ "
0 commit comments