OLD | NEW |
| (Empty) |
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 pa
ss 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 # 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 CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar | |
69 | |
70 # Determine the Java command to use to start the JVM. | |
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" | |
75 else | |
76 JAVACMD="$JAVA_HOME/bin/java" | |
77 fi | |
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 | |
88 Please set the JAVA_HOME variable in your environment to match the | |
89 location of your Java installation." | |
90 fi | |
91 | |
92 # Increase the maximum file descriptors if we can. | |
93 if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then | |
94 MAX_FD_LIMIT=`ulimit -H -n` | |
95 if [ $? -eq 0 ] ; then | |
96 if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then | |
97 MAX_FD="$MAX_FD_LIMIT" | |
98 fi | |
99 ulimit -n $MAX_FD | |
100 if [ $? -ne 0 ] ; then | |
101 warn "Could not set maximum file descriptor limit: $MAX_FD" | |
102 fi | |
103 else | |
104 warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" | |
105 fi | |
106 fi | |
107 | |
108 # For Darwin, add options to specify how the application appears in the dock | |
109 if $darwin; then | |
110 GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/
media/gradle.icns\"" | |
111 fi | |
112 | |
113 # For Cygwin, switch paths to Windows format before running java | |
114 if $cygwin ; then | |
115 APP_HOME=`cygpath --path --mixed "$APP_HOME"` | |
116 CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` | |
117 | |
118 # We build the pattern for arguments to be converted via cygpath | |
119 ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` | |
120 SEP="" | |
121 for dir in $ROOTDIRSRAW ; do | |
122 ROOTDIRS="$ROOTDIRS$SEP$dir" | |
123 SEP="|" | |
124 done | |
125 OURCYGPATTERN="(^($ROOTDIRS))" | |
126 # Add a user-defined pattern to the cygpath arguments | |
127 if [ "$GRADLE_CYGPATTERN" != "" ] ; then | |
128 OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" | |
129 fi | |
130 # Now convert the arguments - kludge to limit ourselves to /bin/sh | |
131 i=0 | |
132 for arg in "$@" ; do | |
133 CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` | |
134 CHECK2=`echo "$arg"|egrep -c "^-"` ### D
etermine if an option | |
135 | |
136 if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### A
dded a condition | |
137 eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` | |
138 else | |
139 eval `echo args$i`="\"$arg\"" | |
140 fi | |
141 i=$((i+1)) | |
142 done | |
143 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" ;; | |
154 esac | |
155 fi | |
156 | |
157 # Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shel
l 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" | |
163 | |
164 exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.Grad
leWrapperMain "$@" | |
OLD | NEW |