Source code

Revision control

Other Tools

1
#!/usr/bin/env bash
2
3
##############################################################################
4
##
5
## Gradle start up script for UN*X
6
##
7
##############################################################################
8
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=""
11
12
APP_NAME="Gradle"
13
APP_BASE_NAME=`basename "$0"`
14
15
# Use the maximum available, or set MAX_FD != -1 to use that value.
16
MAX_FD="maximum"
17
18
warn ( ) {
19
echo "$*"
20
}
21
22
die ( ) {
23
echo
24
echo "$*"
25
echo
26
exit 1
27
}
28
29
# OS specific support (must be 'true' or 'false').
30
cygwin=false
31
msys=false
32
darwin=false
33
case "`uname`" in
34
CYGWIN* )
35
cygwin=true
36
;;
37
Darwin* )
38
darwin=true
39
;;
40
MINGW* )
41
msys=true
42
;;
43
esac
44
45
# Attempt to set APP_HOME
46
# Resolve links: $0 may be a link
47
PRG="$0"
48
# Need this for relative symlinks.
49
while [ -h "$PRG" ] ; do
50
ls=`ls -ld "$PRG"`
51
link=`expr "$ls" : '.*-> \(.*\)$'`
52
if expr "$link" : '/.*' > /dev/null; then
53
PRG="$link"
54
else
55
PRG=`dirname "$PRG"`"/$link"
56
fi
57
done
58
SAVED="`pwd`"
59
cd "`dirname \"$PRG\"`/" >&-
60
APP_HOME="`pwd -P`"
61
cd "$SAVED" >&-
62
63
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
64
65
# Determine the Java command to use to start the JVM.
66
if [ -n "$JAVA_HOME" ] ; then
67
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
68
# IBM's JDK on AIX uses strange locations for the executables
69
JAVACMD="$JAVA_HOME/jre/sh/java"
70
else
71
JAVACMD="$JAVA_HOME/bin/java"
72
fi
73
if [ ! -x "$JAVACMD" ] ; then
74
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
75
76
Please set the JAVA_HOME variable in your environment to match the
77
location of your Java installation."
78
fi
79
else
80
JAVACMD="java"
81
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
82
83
Please set the JAVA_HOME variable in your environment to match the
84
location of your Java installation."
85
fi
86
87
# Increase the maximum file descriptors if we can.
88
if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
89
MAX_FD_LIMIT=`ulimit -H -n`
90
if [ $? -eq 0 ] ; then
91
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
92
MAX_FD="$MAX_FD_LIMIT"
93
fi
94
ulimit -n $MAX_FD
95
if [ $? -ne 0 ] ; then
96
warn "Could not set maximum file descriptor limit: $MAX_FD"
97
fi
98
else
99
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
100
fi
101
fi
102
103
# For Darwin, add options to specify how the application appears in the dock
104
if $darwin; then
105
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
106
fi
107
108
# For Cygwin, switch paths to Windows format before running java
109
if $cygwin ; then
110
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
111
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
112
JAVACMD=`cygpath --unix "$JAVACMD"`
113
114
# We build the pattern for arguments to be converted via cygpath
115
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
116
SEP=""
117
for dir in $ROOTDIRSRAW ; do
118
ROOTDIRS="$ROOTDIRS$SEP$dir"
119
SEP="|"
120
done
121
OURCYGPATTERN="(^($ROOTDIRS))"
122
# Add a user-defined pattern to the cygpath arguments
123
if [ "$GRADLE_CYGPATTERN" != "" ] ; then
124
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
125
fi
126
# Now convert the arguments - kludge to limit ourselves to /bin/sh
127
i=0
128
for arg in "$@" ; do
129
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
130
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
131
132
if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
133
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
134
else
135
eval `echo args$i`="\"$arg\""
136
fi
137
i=$((i+1))
138
done
139
case $i in
140
(0) set -- ;;
141
(1) set -- "$args0" ;;
142
(2) set -- "$args0" "$args1" ;;
143
(3) set -- "$args0" "$args1" "$args2" ;;
144
(4) set -- "$args0" "$args1" "$args2" "$args3" ;;
145
(5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
146
(6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
147
(7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
148
(8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
149
(9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
150
esac
151
fi
152
153
# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
154
function splitJvmOpts() {
155
JVM_OPTS=("$@")
156
}
157
eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
158
JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
159
160
exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"