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