gradlew raw

   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\"`/" >/dev/null
  60  APP_HOME="`pwd -P`"
  61  cd "$SAVED" >/dev/null
  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 "$@"
 161