1f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam#!/usr/bin/env bash 2f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam 3f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam############################################################################## 4f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam## 5f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam## Gradle start up script for UN*X 6f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam## 7f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam############################################################################## 8f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam 9f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. 10f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice LamDEFAULT_JVM_OPTS="" 11f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam 12f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice LamAPP_NAME="Gradle" 13f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice LamAPP_BASE_NAME=`basename "$0"` 14f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam 15f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam# Use the maximum available, or set MAX_FD != -1 to use that value. 16f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice LamMAX_FD="maximum" 17f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam 18f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lamwarn ( ) { 19f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam echo "$*" 20f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam} 21f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam 22f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lamdie ( ) { 23f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam echo 24f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam echo "$*" 25f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam echo 26f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam exit 1 27f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam} 28f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam 29f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam# OS specific support (must be 'true' or 'false'). 30f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lamcygwin=false 31f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lammsys=false 32f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lamdarwin=false 33f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lamcase "`uname`" in 34f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam CYGWIN* ) 35f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam cygwin=true 36f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam ;; 37f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam Darwin* ) 38f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam darwin=true 39f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam ;; 40f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam MINGW* ) 41f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam msys=true 42f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam ;; 43f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lamesac 44f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam 45f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam# For Cygwin, ensure paths are in UNIX format before anything is touched. 46f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lamif $cygwin ; then 47f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` 48f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lamfi 49f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam 50f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam# Attempt to set APP_HOME 51f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam# Resolve links: $0 may be a link 52f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice LamPRG="$0" 53f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam# Need this for relative symlinks. 54f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lamwhile [ -h "$PRG" ] ; do 55f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam ls=`ls -ld "$PRG"` 56f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam link=`expr "$ls" : '.*-> \(.*\)$'` 57f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam if expr "$link" : '/.*' > /dev/null; then 58f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam PRG="$link" 59f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam else 60f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam PRG=`dirname "$PRG"`"/$link" 61f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam fi 62f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lamdone 63f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice LamSAVED="`pwd`" 64f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lamcd "`dirname \"$PRG\"`/" >&- 65f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice LamAPP_HOME="`pwd -P`" 66f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lamcd "$SAVED" >&- 67f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam 68f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lamif [ $(basename `pwd`) == "gradle" ]; then 69f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam echo "This cannot be run here. It should be copied to the root of the platform." 70f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam exit 71f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lamelse 72f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam CLASSPATH=./gradle/wrapper/gradle-wrapper.jar 73f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lamfi 74f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam 75f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam# Determine the Java command to use to start the JVM. 76f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lamif [ -n "$JAVA_HOME" ] ; then 77f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam if [ -x "$JAVA_HOME/jre/sh/java" ] ; then 78f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam # IBM's JDK on AIX uses strange locations for the executables 79f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam JAVACMD="$JAVA_HOME/jre/sh/java" 80f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam else 81f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam JAVACMD="$JAVA_HOME/bin/java" 82f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam fi 83f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam if [ ! -x "$JAVACMD" ] ; then 84f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME 85f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam 86f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice LamPlease set the JAVA_HOME variable in your environment to match the 87f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lamlocation of your Java installation." 88f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam fi 89f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lamelse 90f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam JAVACMD="java" 91f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 92f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam 93f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice LamPlease set the JAVA_HOME variable in your environment to match the 94f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lamlocation of your Java installation." 95f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lamfi 96f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam 97f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam# Increase the maximum file descriptors if we can. 98f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lamif [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then 99f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam MAX_FD_LIMIT=`ulimit -H -n` 100f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam if [ $? -eq 0 ] ; then 101f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then 102f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam MAX_FD="$MAX_FD_LIMIT" 103f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam fi 104f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam ulimit -n $MAX_FD 105f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam if [ $? -ne 0 ] ; then 106f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam warn "Could not set maximum file descriptor limit: $MAX_FD" 107f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam fi 108f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam else 109f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" 110f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam fi 111f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lamfi 112f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam 113f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam# For Darwin, add options to specify how the application appears in the dock 114f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lamif $darwin; then 115f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" 116f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lamfi 117f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam 118f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam# For Cygwin, switch paths to Windows format before running java 119f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lamif $cygwin ; then 120f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam APP_HOME=`cygpath --path --mixed "$APP_HOME"` 121f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` 122f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam 123f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam # We build the pattern for arguments to be converted via cygpath 124f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` 125f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam SEP="" 126f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam for dir in $ROOTDIRSRAW ; do 127f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam ROOTDIRS="$ROOTDIRS$SEP$dir" 128f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam SEP="|" 129f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam done 130f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam OURCYGPATTERN="(^($ROOTDIRS))" 131f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam # Add a user-defined pattern to the cygpath arguments 132f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam if [ "$GRADLE_CYGPATTERN" != "" ] ; then 133f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" 134f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam fi 135f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam # Now convert the arguments - kludge to limit ourselves to /bin/sh 136f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam i=0 137f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam for arg in "$@" ; do 138f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` 139f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option 140f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam 141f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition 142f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` 143f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam else 144f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam eval `echo args$i`="\"$arg\"" 145f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam fi 146f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam i=$((i+1)) 147f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam done 148f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam case $i in 149f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam (0) set -- ;; 150f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam (1) set -- "$args0" ;; 151f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam (2) set -- "$args0" "$args1" ;; 152f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam (3) set -- "$args0" "$args1" "$args2" ;; 153f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam (4) set -- "$args0" "$args1" "$args2" "$args3" ;; 154f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; 155f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; 156f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; 157f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; 158f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; 159f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam esac 160f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lamfi 161f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam 162f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules 163f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lamfunction splitJvmOpts() { 164f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam JVM_OPTS=("$@") 165f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam} 166f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lameval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS 167f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice LamJVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" 168f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam 169f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam# For reproducible builds, always use the SDKs stored in source control 170f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lamif $darwin; then 171f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam ANDROID_HOME="$APP_HOME/prebuilts/fullsdk/darwin" 172f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lamelse 173f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam ANDROID_HOME="$APP_HOME/prebuilts/fullsdk/linux" 174f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lamfi 175f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lamexport ANDROID_HOME 176f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam 177f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam# Also, blow away lint's API cache, since it can easily become out of date 178f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam# if we're building against pre-release SDKs 179f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam(cd "$HOME/.android/cache" && rm -f api-versions*) 2> /dev/null 180f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam 181f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam# Change the project's .gradle to the android out dir. 182f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice LamANDROID_OUT_ROOT="$APP_HOME/out" 183f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lamif [[ -n "$OUT_DIR" ]]; then 184f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam ANDROID_OUT_ROOT="$OUT_DIR" 185f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lamfi 186f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam 187f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice LamANDROID_CACHE_DIR="$ANDROID_OUT_ROOT/gradle/.gradle" 188f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam 189f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam# Change the local user directories to be under the android out dir 190f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lamexport GRADLE_USER_HOME="$ANDROID_OUT_ROOT/gradle/.gradle" 191f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lamexport M2_HOME="$ANDROID_OUT_ROOT/gradle/.m2" 192f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam 193f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam# NewRatio is the ratio of the total heap size to new generation size the JVM tries to maintain. 194f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam# Higher values mean smaller new generations. 195f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam# The default is 2. Setting this to 3. 196f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam# Higher values should "stabalize" heap usage somewhat and helps keep the total heap 197f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam# size from growing too quickly (the JVM is more willing to grow the new generation than the old). 198f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam# Also, the old generation is more "friendly" to being swapped out to disk than the new generation. 199f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam# This should help out on lower memory machines. 200f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam# Profiling has shown that the extra GCs done because of this are trivial in added time. 201f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lamexec "$JAVACMD" "${JVM_OPTS[@]}" \ 202f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam -classpath "$CLASSPATH" \ 203f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam org.gradle.wrapper.GradleWrapperMain \ 204f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam --project-cache-dir=$ANDROID_CACHE_DIR \ 205f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam --configure-on-demand \ 206f4fea9000bafa91421b7f006b2ef58ece0d1bf24Maurice Lam "$@" 207