Proyectos de Subversion LeadersLinked - Android

Rev

Rev 1 | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 1 Rev 3
Línea 1... Línea 1...
1
#!/usr/bin/env sh
1
#!/bin/sh
-
 
2
 
-
 
3
#
-
 
4
# Copyright © 2015-2021 the original authors.
-
 
5
#
-
 
6
# Licensed under the Apache License, Version 2.0 (the "License");
-
 
7
# you may not use this file except in compliance with the License.
-
 
8
# You may obtain a copy of the License at
-
 
9
#
-
 
10
#      https://www.apache.org/licenses/LICENSE-2.0
-
 
11
#
-
 
12
# Unless required by applicable law or agreed to in writing, software
-
 
13
# distributed under the License is distributed on an "AS IS" BASIS,
-
 
14
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-
 
15
# See the License for the specific language governing permissions and
-
 
16
# limitations under the License.
-
 
17
#
-
 
18
# SPDX-License-Identifier: Apache-2.0
-
 
19
#
Línea 2... Línea 20...
2
 
20
 
3
##############################################################################
21
##############################################################################
4
##
22
#
-
 
23
#   Gradle start up script for POSIX generated by Gradle.
-
 
24
#
-
 
25
#   Important for running:
-
 
26
#
-
 
27
#   (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
-
 
28
#       noncompliant, but you have some other compliant shell such as ksh or
-
 
29
#       bash, then to run this script, type that shell name before the whole
-
 
30
#       command line, like:
-
 
31
#
-
 
32
#           ksh Gradle
-
 
33
#
-
 
34
#       Busybox and similar reduced shells will NOT work, because this script
-
 
35
#       requires all of these POSIX shell features:
-
 
36
#         * functions;
-
 
37
#         * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
-
 
38
#           «${var#prefix}», «${var%suffix}», and «$( cmd )»;
-
 
39
#         * compound commands having a testable exit status, especially «case»;
-
 
40
#         * various built-in commands including «command», «set», and «ulimit».
-
 
41
#
-
 
42
#   Important for patching:
-
 
43
#
-
 
44
#   (2) This script targets any POSIX shell, so it avoids extensions provided
-
 
45
#       by Bash, Ksh, etc; in particular arrays are avoided.
-
 
46
#
-
 
47
#       The "traditional" practice of packing multiple parameters into a
-
 
48
#       space-separated string is a well documented source of bugs and security
-
 
49
#       problems, so this is (mostly) avoided, by progressively accumulating
-
 
50
#       options in "$@", and eventually passing that to Java.
-
 
51
#
-
 
52
#       Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
-
 
53
#       and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
-
 
54
#       see the in-line comments for details.
-
 
55
#
-
 
56
#       There are tweaks for specific operating systems such as AIX, CygWin,
-
 
57
#       Darwin, MinGW, and NonStop.
-
 
58
#
-
 
59
#   (3) This script is generated from the Groovy template
-
 
60
#       https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
-
 
61
#       within the Gradle project.
-
 
62
#
5
##  Gradle start up script for UN*X
63
#       You can find Gradle at https://github.com/gradle/gradle/.
6
##
64
#
Línea 7... Línea 65...
7
##############################################################################
65
##############################################################################
-
 
66
 
8
 
67
# Attempt to set APP_HOME
9
# Attempt to set APP_HOME
68
 
-
 
69
# Resolve links: $0 may be a link
10
# Resolve links: $0 may be a link
70
app_path=$0
-
 
71
 
-
 
72
# Need this for daisy-chained symlinks.
11
PRG="$0"
73
while
-
 
74
    APP_HOME=${app_path%"${app_path##*/}"}  # leaves a trailing /; empty if no leading path
12
# Need this for relative symlinks.
75
    [ -h "$app_path" ]
13
while [ -h "$PRG" ] ; do
76
do
14
    ls=`ls -ld "$PRG"`
77
    ls=$( ls -ld "$app_path" )
15
    link=`expr "$ls" : '.*-> \(.*\)$'`
78
    link=${ls#*' -> '}
16
    if expr "$link" : '/.*' > /dev/null; then
-
 
17
        PRG="$link"
79
    case $link in             #(
18
    else
80
      /*)   app_path=$link ;; #(
19
        PRG=`dirname "$PRG"`"/$link"
81
      *)    app_path=$APP_HOME$link ;;
20
    fi
-
 
21
done
-
 
22
SAVED="`pwd`"
-
 
23
cd "`dirname \"$PRG\"`/" >/dev/null
-
 
Línea 24... Línea 82...
24
APP_HOME="`pwd -P`"
82
    esac
-
 
83
done
25
cd "$SAVED" >/dev/null
84
 
26
 
-
 
27
APP_NAME="Gradle"
85
# This is normally unused
28
APP_BASE_NAME=`basename "$0"`
86
# shellcheck disable=SC2034
Línea 29... Línea 87...
29
 
87
APP_BASE_NAME=${0##*/}
30
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
88
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
Línea 31... Línea 89...
31
DEFAULT_JVM_OPTS=""
89
APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit
32
 
90
 
33
# Use the maximum available, or set MAX_FD != -1 to use that value.
91
# Use the maximum available, or set MAX_FD != -1 to use that value.
Línea 34... Línea 92...
34
MAX_FD="maximum"
92
MAX_FD=maximum
35
 
93
 
36
warn () {
94
warn () {
37
    echo "$*"
95
    echo "$*"
38
}
96
} >&2
39
 
97
 
Línea 40... Línea 98...
40
die () {
98
die () {
41
    echo
99
    echo
42
    echo "$*"
100
    echo "$*"
43
    echo
101
    echo
44
    exit 1
102
    exit 1
45
}
103
} >&2
46
 
-
 
47
# OS specific support (must be 'true' or 'false').
104
 
48
cygwin=false
-
 
49
msys=false
-
 
50
darwin=false
105
# OS specific support (must be 'true' or 'false').
51
nonstop=false
-
 
52
case "`uname`" in
-
 
53
  CYGWIN* )
106
cygwin=false
54
    cygwin=true
-
 
55
    ;;
-
 
56
  Darwin* )
107
msys=false
57
    darwin=true
-
 
58
    ;;
108
darwin=false
Línea 59... Línea 109...
59
  MINGW* )
109
nonstop=false
Línea -... Línea 110...
-
 
110
case "$( uname )" in                #(
60
    msys=true
111
  CYGWIN* )         cygwin=true  ;; #(
61
    ;;
112
  Darwin* )         darwin=true  ;; #(
62
  NONSTOP* )
113
  MSYS* | MINGW* )  msys=true    ;; #(
63
    nonstop=true
114
  NONSTOP* )        nonstop=true ;;
64
    ;;
115
esac
65
esac
116
 
66
 
117
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
67
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
118
 
68
 
119
 
69
# Determine the Java command to use to start the JVM.
120
# Determine the Java command to use to start the JVM.
Línea 70... Línea 121...
70
if [ -n "$JAVA_HOME" ] ; then
121
if [ -n "$JAVA_HOME" ] ; then
71
    if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
122
    if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
72
        # IBM's JDK on AIX uses strange locations for the executables
123
        # IBM's JDK on AIX uses strange locations for the executables
73
        JAVACMD="$JAVA_HOME/jre/sh/java"
124
        JAVACMD=$JAVA_HOME/jre/sh/java
74
    else
125
    else
-
 
126
        JAVACMD=$JAVA_HOME/bin/java
-
 
127
    fi
75
        JAVACMD="$JAVA_HOME/bin/java"
128
    if [ ! -x "$JAVACMD" ] ; then
Línea 76... Línea 129...
76
    fi
129
        die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
77
    if [ ! -x "$JAVACMD" ] ; then
130
 
-
 
131
Please set the JAVA_HOME variable in your environment to match the
78
        die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
132
location of your Java installation."
Línea 79... Línea 133...
79
 
133
    fi
80
Please set the JAVA_HOME variable in your environment to match the
134
else
81
location of your Java installation."
135
    JAVACMD=java
82
    fi
136
    if ! command -v java >/dev/null 2>&1
83
else
137
    then
84
    JAVACMD="java"
138
        die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
85
    which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
-
 
86
 
139
 
87
Please set the JAVA_HOME variable in your environment to match the
-
 
88
location of your Java installation."
140
Please set the JAVA_HOME variable in your environment to match the
89
fi
141
location of your Java installation."
-
 
142
    fi
-
 
143
fi
90
 
144
 
-
 
145
# Increase the maximum file descriptors if we can.
-
 
146
if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
-
 
147
    case $MAX_FD in #(
91
# Increase the maximum file descriptors if we can.
148
      max*)
92
if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
149
        # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
93
    MAX_FD_LIMIT=`ulimit -H -n`
150
        # shellcheck disable=SC2039,SC3045
Línea -... Línea 151...
-
 
151
        MAX_FD=$( ulimit -H -n ) ||
-
 
152
            warn "Could not query maximum file descriptor limit"
-
 
153
    esac
-
 
154
    case $MAX_FD in  #(
-
 
155
      '' | soft) :;; #(
-
 
156
      *)
-
 
157
        # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
-
 
158
        # shellcheck disable=SC2039,SC3045
94
    if [ $? -eq 0 ] ; then
159
        ulimit -n "$MAX_FD" ||
95
        if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
160
            warn "Could not set maximum file descriptor limit to $MAX_FD"
96
            MAX_FD="$MAX_FD_LIMIT"
161
    esac
-
 
162
fi
97
        fi
163
 
-
 
164
# Collect all arguments for the java command, stacking in reverse order:
Línea 98... Línea -...
98
        ulimit -n $MAX_FD
-
 
99
        if [ $? -ne 0 ] ; then
-
 
100
            warn "Could not set maximum file descriptor limit: $MAX_FD"
-
 
101
        fi
-
 
102
    else
-
 
103
        warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
-
 
104
    fi
-
 
105
fi
-
 
106
 
-
 
107
# For Darwin, add options to specify how the application appears in the dock
-
 
108
if $darwin; then
-
 
109
    GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
-
 
110
fi
-
 
111
 
-
 
112
# For Cygwin, switch paths to Windows format before running java
-
 
113
if $cygwin ; then
-
 
114
    APP_HOME=`cygpath --path --mixed "$APP_HOME"`
-
 
115
    CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
-
 
116
    JAVACMD=`cygpath --unix "$JAVACMD"`
165
#   * args from the command line
117
 
166
#   * the main class name
118
    # We build the pattern for arguments to be converted via cygpath
167
#   * -classpath
119
    ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
168
#   * -D...appname settings
120
    SEP=""
169
#   * --module-path (only if needed)
121
    for dir in $ROOTDIRSRAW ; do
-
 
122
        ROOTDIRS="$ROOTDIRS$SEP$dir"
170
#   * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.
123
        SEP="|"
171
 
-
 
172
# For Cygwin or MSYS, switch paths to Windows format before running java
-
 
173
if "$cygwin" || "$msys" ; then
124
    done
174
    APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
125
    OURCYGPATTERN="(^($ROOTDIRS))"
175
    CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" )
126
    # Add a user-defined pattern to the cygpath arguments
176
 
-
 
177
    JAVACMD=$( cygpath --unix "$JAVACMD" )
-
 
178
 
-
 
179
    # Now convert the arguments - kludge to limit ourselves to /bin/sh
127
    if [ "$GRADLE_CYGPATTERN" != "" ] ; then
180
    for arg do
-
 
181
        if
-
 
182
            case $arg in                                #(
-
 
183
              -*)   false ;;                            # don't mess with options #(
-
 
184
              /?*)  t=${arg#/} t=/${t%%/*}              # looks like a POSIX filepath
-
 
185
                    [ -e "$t" ] ;;                      #(
128
        OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
186
              *)    false ;;
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 "^-"`                                 ### Determine if an option
-
 
135
 
-
 
136
        if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then                    ### Added 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))
187
            esac
Línea 142... Línea -...
142
    done
-
 
143
    case $i in
188
        then
144
        (0) set -- ;;
189
            arg=$( cygpath --path --ignore --mixed "$arg" )
145
        (1) set -- "$args0" ;;
190
        fi
146
        (2) set -- "$args0" "$args1" ;;
191
        # Roll the args list around exactly as many times as the number of
147
        (3) set -- "$args0" "$args1" "$args2" ;;
192
        # args, so each arg winds up back in the position where it started, but
-
 
193
        # possibly modified.
-
 
194
        #
-
 
195
        # NB: a `for` loop captures its iteration list before it begins, so
-
 
196
        # changing the positional parameters here affects neither the number of
148
        (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
197
        # iterations, nor the values presented in `arg`.
-
 
198
        shift                   # remove old arg
149
        (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
199
        set -- "$@" "$arg"      # push replacement arg
-
 
200
    done
150
        (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
201
fi
-
 
202
 
151
        (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
203
 
152
        (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
204
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
153
        (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
205
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
-
 
206
 
154
    esac
207
# Collect all arguments for the java command:
155
fi
208
#   * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
Línea -... Línea 209...
-
 
209
#     and any embedded shellness will be escaped.
-
 
210
#   * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
-
 
211
#     treated as '${Hostname}' itself on the command line.
-
 
212
 
-
 
213
set -- \
-
 
214
        "-Dorg.gradle.appname=$APP_BASE_NAME" \
-
 
215
        -classpath "$CLASSPATH" \
-
 
216
        org.gradle.wrapper.GradleWrapperMain \
-
 
217
        "$@"
-
 
218
 
-
 
219
# Stop when "xargs" is not available.
-
 
220
if ! command -v xargs >/dev/null 2>&1
-
 
221
then
-
 
222
    die "xargs is not available"
-
 
223
fi
-
 
224
 
-
 
225
# Use "xargs" to parse quoted args.
-
 
226
#
-
 
227
# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
-
 
228
#
-
 
229
# In Bash we could simply go:
-
 
230
#
-
 
231
#   readarray ARGS < <( xargs -n1 <<<"$var" ) &&
-
 
232
#   set -- "${ARGS[@]}" "$@"
-
 
233
#
-
 
234
# but POSIX shell has neither arrays nor command substitution, so instead we
156
 
235
# post-process each arg (as a line of input to sed) to backslash-escape any