1
1
#! /bin/sh
2
- #
3
- #
2
+ # ----------------------------------------------------------------------------
4
3
# Licensed to the Apache Software Foundation (ASF) under one
5
4
# or more contributor license agreements. See the NOTICE file
6
5
# distributed with this work for additional information
9
8
# "License"); you may not use this file except in compliance
10
9
# with the License. You may obtain a copy of the License at
11
10
#
12
- # http://www.apache.org/licenses/LICENSE-2.0
11
+ # http://www.apache.org/licenses/LICENSE-2.0
13
12
#
14
13
# Unless required by applicable law or agreed to in writing,
15
14
# software distributed under the License is distributed on an
16
15
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17
16
# KIND, either express or implied. See the License for the
18
17
# specific language governing permissions and limitations
19
18
# under the License.
20
- #
21
-
19
+ # ----------------------------------------------------------------------------
22
20
23
21
# ----------------------------------------------------------------------------
24
- # Maven2 Start Up Batch script
22
+ # Maven Start Up Batch script
25
23
#
26
24
# Required ENV vars:
27
25
# ------------------
38
36
39
37
if [ -z " $MAVEN_SKIP_RC " ] ; then
40
38
39
+ if [ -f /usr/local/etc/mavenrc ] ; then
40
+ . /usr/local/etc/mavenrc
41
+ fi
42
+
41
43
if [ -f /etc/mavenrc ] ; then
42
44
. /etc/mavenrc
43
45
fi
@@ -116,7 +118,6 @@ if $mingw ; then
116
118
M2_HOME=" ` (cd " $M2_HOME " ; pwd)` "
117
119
[ -n " $JAVA_HOME " ] &&
118
120
JAVA_HOME=" ` (cd " $JAVA_HOME " ; pwd)` "
119
- # TODO classpath?
120
121
fi
121
122
122
123
if [ -z " $JAVA_HOME " ]; then
@@ -148,7 +149,7 @@ if [ -z "$JAVACMD" ] ; then
148
149
JAVACMD=" $JAVA_HOME /bin/java"
149
150
fi
150
151
else
151
- JAVACMD=" ` which java` "
152
+ JAVACMD=" ` \\ unset -f command ; \\ command -v java` "
152
153
fi
153
154
fi
154
155
207
208
# This allows using the maven wrapper in projects that prohibit checking in binary data.
208
209
# #########################################################################################
209
210
if [ -r " $BASE_DIR /.mvn/wrapper/maven-wrapper.jar" ]; then
210
- echo " Found .mvn/wrapper/maven-wrapper.jar"
211
+ if [ " $MVNW_VERBOSE " = true ]; then
212
+ echo " Found .mvn/wrapper/maven-wrapper.jar"
213
+ fi
211
214
else
212
- echo " Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..."
213
-
214
- jarUrl=" https://repo1.maven.org/maven2/io/takari/maven-wrapper/0.2.1/maven-wrapper-0.2.1.jar"
215
+ if [ " $MVNW_VERBOSE " = true ]; then
216
+ echo " Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..."
217
+ fi
218
+ if [ -n " $MVNW_REPOURL " ]; then
219
+ jarUrl=" $MVNW_REPOURL /org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar"
220
+ else
221
+ jarUrl=" https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar"
222
+ fi
215
223
while IFS=" =" read key value; do
216
224
case " $key " in (wrapperUrl) jarUrl=" $value " ; break ;;
217
225
esac
218
226
done < " $BASE_DIR /.mvn/wrapper/maven-wrapper.properties"
219
- echo " Downloading from: $jarUrl "
227
+ if [ " $MVNW_VERBOSE " = true ]; then
228
+ echo " Downloading from: $jarUrl "
229
+ fi
230
+ wrapperJarPath=" $BASE_DIR /.mvn/wrapper/maven-wrapper.jar"
231
+ if $cygwin ; then
232
+ wrapperJarPath=` cygpath --path --windows " $wrapperJarPath " `
233
+ fi
220
234
221
235
if command -v wget > /dev/null; then
222
- echo " Found wget ... using wget"
223
- wget -O " $BASE_DIR /.mvn/wrapper/maven-wrapper.jar" " $jarUrl "
236
+ if [ " $MVNW_VERBOSE " = true ]; then
237
+ echo " Found wget ... using wget"
238
+ fi
239
+ if [ -z " $MVNW_USERNAME " ] || [ -z " $MVNW_PASSWORD " ]; then
240
+ wget " $jarUrl " -O " $wrapperJarPath " || rm -f " $wrapperJarPath "
241
+ else
242
+ wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD " $jarUrl " -O " $wrapperJarPath " || rm -f " $wrapperJarPath "
243
+ fi
224
244
elif command -v curl > /dev/null; then
225
- echo " Found curl ... using curl"
226
- curl -o " $BASE_DIR /.mvn/wrapper/maven-wrapper.jar" " $jarUrl "
245
+ if [ " $MVNW_VERBOSE " = true ]; then
246
+ echo " Found curl ... using curl"
247
+ fi
248
+ if [ -z " $MVNW_USERNAME " ] || [ -z " $MVNW_PASSWORD " ]; then
249
+ curl -o " $wrapperJarPath " " $jarUrl " -f
250
+ else
251
+ curl --user $MVNW_USERNAME :$MVNW_PASSWORD -o " $wrapperJarPath " " $jarUrl " -f
252
+ fi
253
+
227
254
else
228
- echo " Falling back to using Java to download"
255
+ if [ " $MVNW_VERBOSE " = true ]; then
256
+ echo " Falling back to using Java to download"
257
+ fi
229
258
javaClass=" $BASE_DIR /.mvn/wrapper/MavenWrapperDownloader.java"
259
+ # For Cygwin, switch paths to Windows format before running javac
260
+ if $cygwin ; then
261
+ javaClass=` cygpath --path --windows " $javaClass " `
262
+ fi
230
263
if [ -e " $javaClass " ]; then
231
264
if [ ! -e " $BASE_DIR /.mvn/wrapper/MavenWrapperDownloader.class" ]; then
232
- echo " - Compiling MavenWrapperDownloader.java ..."
265
+ if [ " $MVNW_VERBOSE " = true ]; then
266
+ echo " - Compiling MavenWrapperDownloader.java ..."
267
+ fi
233
268
# Compiling the Java class
234
269
(" $JAVA_HOME /bin/javac" " $javaClass " )
235
270
fi
236
271
if [ -e " $BASE_DIR /.mvn/wrapper/MavenWrapperDownloader.class" ]; then
237
272
# Running the downloader
238
- echo " - Running MavenWrapperDownloader.java ..."
273
+ if [ " $MVNW_VERBOSE " = true ]; then
274
+ echo " - Running MavenWrapperDownloader.java ..."
275
+ fi
239
276
(" $JAVA_HOME /bin/java" -cp .mvn/wrapper MavenWrapperDownloader " $MAVEN_PROJECTBASEDIR " )
240
277
fi
241
278
fi
246
283
# #########################################################################################
247
284
248
285
export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:- " $BASE_DIR " }
249
- echo $MAVEN_PROJECTBASEDIR
286
+ if [ " $MVNW_VERBOSE " = true ]; then
287
+ echo $MAVEN_PROJECTBASEDIR
288
+ fi
250
289
MAVEN_OPTS=" $( concat_lines " $MAVEN_PROJECTBASEDIR /.mvn/jvm.config" ) $MAVEN_OPTS "
251
290
252
291
# For Cygwin, switch paths to Windows format before running java
@@ -261,10 +300,17 @@ if $cygwin; then
261
300
MAVEN_PROJECTBASEDIR=` cygpath --path --windows " $MAVEN_PROJECTBASEDIR " `
262
301
fi
263
302
303
+ # Provide a "standardized" way to retrieve the CLI args that will
304
+ # work with both Windows and non-Windows executions.
305
+ MAVEN_CMD_LINE_ARGS=" $MAVEN_CONFIG $@ "
306
+ export MAVEN_CMD_LINE_ARGS
307
+
264
308
WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
265
309
266
310
exec " $JAVACMD " \
267
311
$MAVEN_OPTS \
312
+ $MAVEN_DEBUG_OPTS \
268
313
-classpath " $MAVEN_PROJECTBASEDIR /.mvn/wrapper/maven-wrapper.jar" \
269
- " -Dmaven.home=${M2_HOME} " " -Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR} " \
270
- ${WRAPPER_LAUNCHER} $MAVEN_CONFIG " $@ "
314
+ " -Dmaven.home=${M2_HOME} " \
315
+ " -Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR} " \
316
+ ${WRAPPER_LAUNCHER} $MAVEN_CONFIG " $@ "
0 commit comments