1e75ebbc8Sopenharmony_ci#!/usr/bin/env sh
2e75ebbc8Sopenharmony_ci
3e75ebbc8Sopenharmony_ci#
4e75ebbc8Sopenharmony_ci# Copyright 2015 the original author or authors.
5e75ebbc8Sopenharmony_ci#
6e75ebbc8Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
7e75ebbc8Sopenharmony_ci# you may not use this file except in compliance with the License.
8e75ebbc8Sopenharmony_ci# You may obtain a copy of the License at
9e75ebbc8Sopenharmony_ci#
10e75ebbc8Sopenharmony_ci#      https://www.apache.org/licenses/LICENSE-2.0
11e75ebbc8Sopenharmony_ci#
12e75ebbc8Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software
13e75ebbc8Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
14e75ebbc8Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15e75ebbc8Sopenharmony_ci# See the License for the specific language governing permissions and
16e75ebbc8Sopenharmony_ci# limitations under the License.
17e75ebbc8Sopenharmony_ci#
18e75ebbc8Sopenharmony_ci
19e75ebbc8Sopenharmony_ci##############################################################################
20e75ebbc8Sopenharmony_ci##
21e75ebbc8Sopenharmony_ci##  Gradle start up script for UN*X
22e75ebbc8Sopenharmony_ci##
23e75ebbc8Sopenharmony_ci##############################################################################
24e75ebbc8Sopenharmony_ci
25e75ebbc8Sopenharmony_ci# Attempt to set APP_HOME
26e75ebbc8Sopenharmony_ci# Resolve links: $0 may be a link
27e75ebbc8Sopenharmony_ciPRG="$0"
28e75ebbc8Sopenharmony_ci# Need this for relative symlinks.
29e75ebbc8Sopenharmony_ciwhile [ -h "$PRG" ] ; do
30e75ebbc8Sopenharmony_ci    ls=`ls -ld "$PRG"`
31e75ebbc8Sopenharmony_ci    link=`expr "$ls" : '.*-> \(.*\)$'`
32e75ebbc8Sopenharmony_ci    if expr "$link" : '/.*' > /dev/null; then
33e75ebbc8Sopenharmony_ci        PRG="$link"
34e75ebbc8Sopenharmony_ci    else
35e75ebbc8Sopenharmony_ci        PRG=`dirname "$PRG"`"/$link"
36e75ebbc8Sopenharmony_ci    fi
37e75ebbc8Sopenharmony_cidone
38e75ebbc8Sopenharmony_ciSAVED="`pwd`"
39e75ebbc8Sopenharmony_cicd "`dirname \"$PRG\"`/" >/dev/null
40e75ebbc8Sopenharmony_ciAPP_HOME="`pwd -P`"
41e75ebbc8Sopenharmony_cicd "$SAVED" >/dev/null
42e75ebbc8Sopenharmony_ci
43e75ebbc8Sopenharmony_ciAPP_NAME="Gradle"
44e75ebbc8Sopenharmony_ciAPP_BASE_NAME=`basename "$0"`
45e75ebbc8Sopenharmony_ci
46e75ebbc8Sopenharmony_ci# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
47e75ebbc8Sopenharmony_ciDEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
48e75ebbc8Sopenharmony_ci
49e75ebbc8Sopenharmony_ci# Use the maximum available, or set MAX_FD != -1 to use that value.
50e75ebbc8Sopenharmony_ciMAX_FD="maximum"
51e75ebbc8Sopenharmony_ci
52e75ebbc8Sopenharmony_ciwarn () {
53e75ebbc8Sopenharmony_ci    echo "$*"
54e75ebbc8Sopenharmony_ci}
55e75ebbc8Sopenharmony_ci
56e75ebbc8Sopenharmony_cidie () {
57e75ebbc8Sopenharmony_ci    echo
58e75ebbc8Sopenharmony_ci    echo "$*"
59e75ebbc8Sopenharmony_ci    echo
60e75ebbc8Sopenharmony_ci    exit 1
61e75ebbc8Sopenharmony_ci}
62e75ebbc8Sopenharmony_ci
63e75ebbc8Sopenharmony_ci# OS specific support (must be 'true' or 'false').
64e75ebbc8Sopenharmony_cicygwin=false
65e75ebbc8Sopenharmony_cimsys=false
66e75ebbc8Sopenharmony_cidarwin=false
67e75ebbc8Sopenharmony_cinonstop=false
68e75ebbc8Sopenharmony_cicase "`uname`" in
69e75ebbc8Sopenharmony_ci  CYGWIN* )
70e75ebbc8Sopenharmony_ci    cygwin=true
71e75ebbc8Sopenharmony_ci    ;;
72e75ebbc8Sopenharmony_ci  Darwin* )
73e75ebbc8Sopenharmony_ci    darwin=true
74e75ebbc8Sopenharmony_ci    ;;
75e75ebbc8Sopenharmony_ci  MINGW* )
76e75ebbc8Sopenharmony_ci    msys=true
77e75ebbc8Sopenharmony_ci    ;;
78e75ebbc8Sopenharmony_ci  NONSTOP* )
79e75ebbc8Sopenharmony_ci    nonstop=true
80e75ebbc8Sopenharmony_ci    ;;
81e75ebbc8Sopenharmony_ciesac
82e75ebbc8Sopenharmony_ci
83e75ebbc8Sopenharmony_ciCLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
84e75ebbc8Sopenharmony_ci
85e75ebbc8Sopenharmony_ci# Determine the Java command to use to start the JVM.
86e75ebbc8Sopenharmony_ciif [ -n "$JAVA_HOME" ] ; then
87e75ebbc8Sopenharmony_ci    if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
88e75ebbc8Sopenharmony_ci        # IBM's JDK on AIX uses strange locations for the executables
89e75ebbc8Sopenharmony_ci        JAVACMD="$JAVA_HOME/jre/sh/java"
90e75ebbc8Sopenharmony_ci    else
91e75ebbc8Sopenharmony_ci        JAVACMD="$JAVA_HOME/bin/java"
92e75ebbc8Sopenharmony_ci    fi
93e75ebbc8Sopenharmony_ci    if [ ! -x "$JAVACMD" ] ; then
94e75ebbc8Sopenharmony_ci        die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
95e75ebbc8Sopenharmony_ci
96e75ebbc8Sopenharmony_ciPlease set the JAVA_HOME variable in your environment to match the
97e75ebbc8Sopenharmony_cilocation of your Java installation."
98e75ebbc8Sopenharmony_ci    fi
99e75ebbc8Sopenharmony_cielse
100e75ebbc8Sopenharmony_ci    JAVACMD="java"
101e75ebbc8Sopenharmony_ci    which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
102e75ebbc8Sopenharmony_ci
103e75ebbc8Sopenharmony_ciPlease set the JAVA_HOME variable in your environment to match the
104e75ebbc8Sopenharmony_cilocation of your Java installation."
105e75ebbc8Sopenharmony_cifi
106e75ebbc8Sopenharmony_ci
107e75ebbc8Sopenharmony_ci# Increase the maximum file descriptors if we can.
108e75ebbc8Sopenharmony_ciif [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
109e75ebbc8Sopenharmony_ci    MAX_FD_LIMIT=`ulimit -H -n`
110e75ebbc8Sopenharmony_ci    if [ $? -eq 0 ] ; then
111e75ebbc8Sopenharmony_ci        if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
112e75ebbc8Sopenharmony_ci            MAX_FD="$MAX_FD_LIMIT"
113e75ebbc8Sopenharmony_ci        fi
114e75ebbc8Sopenharmony_ci        ulimit -n $MAX_FD
115e75ebbc8Sopenharmony_ci        if [ $? -ne 0 ] ; then
116e75ebbc8Sopenharmony_ci            warn "Could not set maximum file descriptor limit: $MAX_FD"
117e75ebbc8Sopenharmony_ci        fi
118e75ebbc8Sopenharmony_ci    else
119e75ebbc8Sopenharmony_ci        warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
120e75ebbc8Sopenharmony_ci    fi
121e75ebbc8Sopenharmony_cifi
122e75ebbc8Sopenharmony_ci
123e75ebbc8Sopenharmony_ci# For Darwin, add options to specify how the application appears in the dock
124e75ebbc8Sopenharmony_ciif $darwin; then
125e75ebbc8Sopenharmony_ci    GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
126e75ebbc8Sopenharmony_cifi
127e75ebbc8Sopenharmony_ci
128e75ebbc8Sopenharmony_ci# For Cygwin or MSYS, switch paths to Windows format before running java
129e75ebbc8Sopenharmony_ciif [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
130e75ebbc8Sopenharmony_ci    APP_HOME=`cygpath --path --mixed "$APP_HOME"`
131e75ebbc8Sopenharmony_ci    CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
132e75ebbc8Sopenharmony_ci    JAVACMD=`cygpath --unix "$JAVACMD"`
133e75ebbc8Sopenharmony_ci
134e75ebbc8Sopenharmony_ci    # We build the pattern for arguments to be converted via cygpath
135e75ebbc8Sopenharmony_ci    ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
136e75ebbc8Sopenharmony_ci    SEP=""
137e75ebbc8Sopenharmony_ci    for dir in $ROOTDIRSRAW ; do
138e75ebbc8Sopenharmony_ci        ROOTDIRS="$ROOTDIRS$SEP$dir"
139e75ebbc8Sopenharmony_ci        SEP="|"
140e75ebbc8Sopenharmony_ci    done
141e75ebbc8Sopenharmony_ci    OURCYGPATTERN="(^($ROOTDIRS))"
142e75ebbc8Sopenharmony_ci    # Add a user-defined pattern to the cygpath arguments
143e75ebbc8Sopenharmony_ci    if [ "$GRADLE_CYGPATTERN" != "" ] ; then
144e75ebbc8Sopenharmony_ci        OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
145e75ebbc8Sopenharmony_ci    fi
146e75ebbc8Sopenharmony_ci    # Now convert the arguments - kludge to limit ourselves to /bin/sh
147e75ebbc8Sopenharmony_ci    i=0
148e75ebbc8Sopenharmony_ci    for arg in "$@" ; do
149e75ebbc8Sopenharmony_ci        CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
150e75ebbc8Sopenharmony_ci        CHECK2=`echo "$arg"|egrep -c "^-"`                                 ### Determine if an option
151e75ebbc8Sopenharmony_ci
152e75ebbc8Sopenharmony_ci        if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then                    ### Added a condition
153e75ebbc8Sopenharmony_ci            eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
154e75ebbc8Sopenharmony_ci        else
155e75ebbc8Sopenharmony_ci            eval `echo args$i`="\"$arg\""
156e75ebbc8Sopenharmony_ci        fi
157e75ebbc8Sopenharmony_ci        i=`expr $i + 1`
158e75ebbc8Sopenharmony_ci    done
159e75ebbc8Sopenharmony_ci    case $i in
160e75ebbc8Sopenharmony_ci        0) set -- ;;
161e75ebbc8Sopenharmony_ci        1) set -- "$args0" ;;
162e75ebbc8Sopenharmony_ci        2) set -- "$args0" "$args1" ;;
163e75ebbc8Sopenharmony_ci        3) set -- "$args0" "$args1" "$args2" ;;
164e75ebbc8Sopenharmony_ci        4) set -- "$args0" "$args1" "$args2" "$args3" ;;
165e75ebbc8Sopenharmony_ci        5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
166e75ebbc8Sopenharmony_ci        6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
167e75ebbc8Sopenharmony_ci        7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
168e75ebbc8Sopenharmony_ci        8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
169e75ebbc8Sopenharmony_ci        9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
170e75ebbc8Sopenharmony_ci    esac
171e75ebbc8Sopenharmony_cifi
172e75ebbc8Sopenharmony_ci
173e75ebbc8Sopenharmony_ci# Escape application args
174e75ebbc8Sopenharmony_cisave () {
175e75ebbc8Sopenharmony_ci    for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
176e75ebbc8Sopenharmony_ci    echo " "
177e75ebbc8Sopenharmony_ci}
178e75ebbc8Sopenharmony_ciAPP_ARGS=`save "$@"`
179e75ebbc8Sopenharmony_ci
180e75ebbc8Sopenharmony_ci# Collect all arguments for the java command, following the shell quoting and substitution rules
181e75ebbc8Sopenharmony_cieval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
182e75ebbc8Sopenharmony_ci
183e75ebbc8Sopenharmony_ciexec "$JAVACMD" "$@"
184