apache-ignite

Форк
0
310 строк · 9.8 Кб
1
#!/bin/sh
2
# ----------------------------------------------------------------------------
3
# Licensed to the Apache Software Foundation (ASF) under one
4
# or more contributor license agreements.  See the NOTICE file
5
# distributed with this work for additional information
6
# regarding copyright ownership.  The ASF licenses this file
7
# to you under the Apache License, Version 2.0 (the
8
# "License"); you may not use this file except in compliance
9
# with the License.  You may obtain a copy of the License at
10
#
11
#    http://www.apache.org/licenses/LICENSE-2.0
12
#
13
# Unless required by applicable law or agreed to in writing,
14
# software distributed under the License is distributed on an
15
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16
# KIND, either express or implied.  See the License for the
17
# specific language governing permissions and limitations
18
# under the License.
19
# ----------------------------------------------------------------------------
20

21
# ----------------------------------------------------------------------------
22
# Maven Start Up Batch script
23
#
24
# Required ENV vars:
25
# ------------------
26
#   JAVA_HOME - location of a JDK home dir
27
#
28
# Optional ENV vars
29
# -----------------
30
#   M2_HOME - location of maven2's installed home dir
31
#   MAVEN_OPTS - parameters passed to the Java VM when running Maven
32
#     e.g. to debug Maven itself, use
33
#       set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
34
#   MAVEN_SKIP_RC - flag to disable loading of mavenrc files
35
# ----------------------------------------------------------------------------
36

37
if [ -z "$MAVEN_SKIP_RC" ] ; then
38

39
  if [ -f /etc/mavenrc ] ; then
40
    . /etc/mavenrc
41
  fi
42

43
  if [ -f "$HOME/.mavenrc" ] ; then
44
    . "$HOME/.mavenrc"
45
  fi
46

47
fi
48

49
# OS specific support.  $var _must_ be set to either true or false.
50
cygwin=false;
51
darwin=false;
52
mingw=false
53
case "`uname`" in
54
  CYGWIN*) cygwin=true ;;
55
  MINGW*) mingw=true;;
56
  Darwin*) darwin=true
57
    # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home
58
    # See https://developer.apple.com/library/mac/qa/qa1170/_index.html
59
    if [ -z "$JAVA_HOME" ]; then
60
      if [ -x "/usr/libexec/java_home" ]; then
61
        export JAVA_HOME="`/usr/libexec/java_home`"
62
      else
63
        export JAVA_HOME="/Library/Java/Home"
64
      fi
65
    fi
66
    ;;
67
esac
68

69
if [ -z "$JAVA_HOME" ] ; then
70
  if [ -r /etc/gentoo-release ] ; then
71
    JAVA_HOME=`java-config --jre-home`
72
  fi
73
fi
74

75
if [ -z "$M2_HOME" ] ; then
76
  ## resolve links - $0 may be a link to maven's home
77
  PRG="$0"
78

79
  # need this for relative symlinks
80
  while [ -h "$PRG" ] ; do
81
    ls=`ls -ld "$PRG"`
82
    link=`expr "$ls" : '.*-> \(.*\)$'`
83
    if expr "$link" : '/.*' > /dev/null; then
84
      PRG="$link"
85
    else
86
      PRG="`dirname "$PRG"`/$link"
87
    fi
88
  done
89

90
  saveddir=`pwd`
91

92
  M2_HOME=`dirname "$PRG"`/..
93

94
  # make it fully qualified
95
  M2_HOME=`cd "$M2_HOME" && pwd`
96

97
  cd "$saveddir"
98
  # echo Using m2 at $M2_HOME
99
fi
100

101
# For Cygwin, ensure paths are in UNIX format before anything is touched
102
if $cygwin ; then
103
  [ -n "$M2_HOME" ] &&
104
    M2_HOME=`cygpath --unix "$M2_HOME"`
105
  [ -n "$JAVA_HOME" ] &&
106
    JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
107
  [ -n "$CLASSPATH" ] &&
108
    CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
109
fi
110

111
# For Mingw, ensure paths are in UNIX format before anything is touched
112
if $mingw ; then
113
  [ -n "$M2_HOME" ] &&
114
    M2_HOME="`(cd "$M2_HOME"; pwd)`"
115
  [ -n "$JAVA_HOME" ] &&
116
    JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`"
117
fi
118

119
if [ -z "$JAVA_HOME" ]; then
120
  javaExecutable="`which javac`"
121
  if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then
122
    # readlink(1) is not available as standard on Solaris 10.
123
    readLink=`which readlink`
124
    if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then
125
      if $darwin ; then
126
        javaHome="`dirname \"$javaExecutable\"`"
127
        javaExecutable="`cd \"$javaHome\" && pwd -P`/javac"
128
      else
129
        javaExecutable="`readlink -f \"$javaExecutable\"`"
130
      fi
131
      javaHome="`dirname \"$javaExecutable\"`"
132
      javaHome=`expr "$javaHome" : '\(.*\)/bin'`
133
      JAVA_HOME="$javaHome"
134
      export JAVA_HOME
135
    fi
136
  fi
137
fi
138

139
if [ -z "$JAVACMD" ] ; then
140
  if [ -n "$JAVA_HOME"  ] ; then
141
    if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
142
      # IBM's JDK on AIX uses strange locations for the executables
143
      JAVACMD="$JAVA_HOME/jre/sh/java"
144
    else
145
      JAVACMD="$JAVA_HOME/bin/java"
146
    fi
147
  else
148
    JAVACMD="`which java`"
149
  fi
150
fi
151

152
if [ ! -x "$JAVACMD" ] ; then
153
  echo "Error: JAVA_HOME is not defined correctly." >&2
154
  echo "  We cannot execute $JAVACMD" >&2
155
  exit 1
156
fi
157

158
if [ -z "$JAVA_HOME" ] ; then
159
  echo "Warning: JAVA_HOME environment variable is not set."
160
fi
161

162
CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher
163

164
# traverses directory structure from process work directory to filesystem root
165
# first directory with .mvn subdirectory is considered project base directory
166
find_maven_basedir() {
167

168
  if [ -z "$1" ]
169
  then
170
    echo "Path not specified to find_maven_basedir"
171
    return 1
172
  fi
173

174
  basedir="$1"
175
  wdir="$1"
176
  while [ "$wdir" != '/' ] ; do
177
    if [ -d "$wdir"/.mvn ] ; then
178
      basedir=$wdir
179
      break
180
    fi
181
    # workaround for JBEAP-8937 (on Solaris 10/Sparc)
182
    if [ -d "${wdir}" ]; then
183
      wdir=`cd "$wdir/.."; pwd`
184
    fi
185
    # end of workaround
186
  done
187
  echo "${basedir}"
188
}
189

190
# concatenates all lines of a file
191
concat_lines() {
192
  if [ -f "$1" ]; then
193
    echo "$(tr -s '\n' ' ' < "$1")"
194
  fi
195
}
196

197
BASE_DIR=`find_maven_basedir "$(pwd)"`
198
if [ -z "$BASE_DIR" ]; then
199
  exit 1;
200
fi
201

202
##########################################################################################
203
# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
204
# This allows using the maven wrapper in projects that prohibit checking in binary data.
205
##########################################################################################
206
if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then
207
    if [ "$MVNW_VERBOSE" = true ]; then
208
      echo "Found .mvn/wrapper/maven-wrapper.jar"
209
    fi
210
else
211
    if [ "$MVNW_VERBOSE" = true ]; then
212
      echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..."
213
    fi
214
    if [ -n "$MVNW_REPOURL" ]; then
215
      jarUrl="$MVNW_REPOURL/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
216
    else
217
      jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
218
    fi
219
    while IFS="=" read key value; do
220
      case "$key" in (wrapperUrl) jarUrl="$value"; break ;;
221
      esac
222
    done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties"
223
    if [ "$MVNW_VERBOSE" = true ]; then
224
      echo "Downloading from: $jarUrl"
225
    fi
226
    wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar"
227
    if $cygwin; then
228
      wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"`
229
    fi
230

231
    if command -v wget > /dev/null; then
232
        if [ "$MVNW_VERBOSE" = true ]; then
233
          echo "Found wget ... using wget"
234
        fi
235
        if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
236
            wget "$jarUrl" -O "$wrapperJarPath"
237
        else
238
            wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath"
239
        fi
240
    elif command -v curl > /dev/null; then
241
        if [ "$MVNW_VERBOSE" = true ]; then
242
          echo "Found curl ... using curl"
243
        fi
244
        if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
245
            curl -o "$wrapperJarPath" "$jarUrl" -f
246
        else
247
            curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f
248
        fi
249

250
    else
251
        if [ "$MVNW_VERBOSE" = true ]; then
252
          echo "Falling back to using Java to download"
253
        fi
254
        javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java"
255
        # For Cygwin, switch paths to Windows format before running javac
256
        if $cygwin; then
257
          javaClass=`cygpath --path --windows "$javaClass"`
258
        fi
259
        if [ -e "$javaClass" ]; then
260
            if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
261
                if [ "$MVNW_VERBOSE" = true ]; then
262
                  echo " - Compiling MavenWrapperDownloader.java ..."
263
                fi
264
                # Compiling the Java class
265
                ("$JAVA_HOME/bin/javac" "$javaClass")
266
            fi
267
            if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
268
                # Running the downloader
269
                if [ "$MVNW_VERBOSE" = true ]; then
270
                  echo " - Running MavenWrapperDownloader.java ..."
271
                fi
272
                ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR")
273
            fi
274
        fi
275
    fi
276
fi
277
##########################################################################################
278
# End of extension
279
##########################################################################################
280

281
export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}
282
if [ "$MVNW_VERBOSE" = true ]; then
283
  echo $MAVEN_PROJECTBASEDIR
284
fi
285
MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS"
286

287
# For Cygwin, switch paths to Windows format before running java
288
if $cygwin; then
289
  [ -n "$M2_HOME" ] &&
290
    M2_HOME=`cygpath --path --windows "$M2_HOME"`
291
  [ -n "$JAVA_HOME" ] &&
292
    JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`
293
  [ -n "$CLASSPATH" ] &&
294
    CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
295
  [ -n "$MAVEN_PROJECTBASEDIR" ] &&
296
    MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"`
297
fi
298

299
# Provide a "standardized" way to retrieve the CLI args that will
300
# work with both Windows and non-Windows executions.
301
MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@"
302
export MAVEN_CMD_LINE_ARGS
303

304
WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
305

306
exec "$JAVACMD" \
307
  $MAVEN_OPTS \
308
  -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \
309
  "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \
310
  ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@"
311

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.