19
19
# ----------------------------------------------------------------------------
20
20
21
21
# ----------------------------------------------------------------------------
22
- # Apache Maven Wrapper startup batch script, version 3.1.1
22
+ # Maven Start Up Batch script
23
23
#
24
24
# Required ENV vars:
25
25
# ------------------
26
26
# JAVA_HOME - location of a JDK home dir
27
27
#
28
28
# Optional ENV vars
29
29
# -----------------
30
+ # M2_HOME - location of maven2's installed home dir
30
31
# MAVEN_OPTS - parameters passed to the Java VM when running Maven
31
32
# e.g. to debug Maven itself, use
32
33
# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
@@ -61,9 +62,9 @@ case "`uname`" in
61
62
# See https://developer.apple.com/library/mac/qa/qa1170/_index.html
62
63
if [ -z " $JAVA_HOME " ]; then
63
64
if [ -x " /usr/libexec/java_home" ]; then
64
- JAVA_HOME=" ` /usr/libexec/java_home` " ; export JAVA_HOME
65
+ export JAVA_HOME=" ` /usr/libexec/java_home` "
65
66
else
66
- JAVA_HOME=" /Library/Java/Home" ; export JAVA_HOME
67
+ export JAVA_HOME=" /Library/Java/Home"
67
68
fi
68
69
fi
69
70
;;
@@ -75,8 +76,36 @@ if [ -z "$JAVA_HOME" ] ; then
75
76
fi
76
77
fi
77
78
79
+ if [ -z " $M2_HOME " ] ; then
80
+ # # resolve links - $0 may be a link to maven's home
81
+ PRG=" $0 "
82
+
83
+ # need this for relative symlinks
84
+ while [ -h " $PRG " ] ; do
85
+ ls=` ls -ld " $PRG " `
86
+ link=` expr " $ls " : ' .*-> \(.*\)$' `
87
+ if expr " $link " : ' /.*' > /dev/null; then
88
+ PRG=" $link "
89
+ else
90
+ PRG=" ` dirname " $PRG " ` /$link "
91
+ fi
92
+ done
93
+
94
+ saveddir=` pwd`
95
+
96
+ M2_HOME=` dirname " $PRG " ` /..
97
+
98
+ # make it fully qualified
99
+ M2_HOME=` cd " $M2_HOME " && pwd`
100
+
101
+ cd " $saveddir "
102
+ # echo Using m2 at $M2_HOME
103
+ fi
104
+
78
105
# For Cygwin, ensure paths are in UNIX format before anything is touched
79
106
if $cygwin ; then
107
+ [ -n " $M2_HOME " ] &&
108
+ M2_HOME=` cygpath --unix " $M2_HOME " `
80
109
[ -n " $JAVA_HOME " ] &&
81
110
JAVA_HOME=` cygpath --unix " $JAVA_HOME " `
82
111
[ -n " $CLASSPATH " ] &&
85
114
86
115
# For Mingw, ensure paths are in UNIX format before anything is touched
87
116
if $mingw ; then
117
+ [ -n " $M2_HOME " ] &&
118
+ M2_HOME=" ` (cd " $M2_HOME " ; pwd)` "
88
119
[ -n " $JAVA_HOME " ] &&
89
120
JAVA_HOME=" ` (cd " $JAVA_HOME " ; pwd)` "
90
121
fi
@@ -132,9 +163,12 @@ if [ -z "$JAVA_HOME" ] ; then
132
163
echo " Warning: JAVA_HOME environment variable is not set."
133
164
fi
134
165
166
+ CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher
167
+
135
168
# traverses directory structure from process work directory to filesystem root
136
169
# first directory with .mvn subdirectory is considered project base directory
137
170
find_maven_basedir () {
171
+
138
172
if [ -z " $1 " ]
139
173
then
140
174
echo " Path not specified to find_maven_basedir"
@@ -154,7 +188,7 @@ find_maven_basedir() {
154
188
fi
155
189
# end of workaround
156
190
done
157
- printf ' %s ' " $( cd " $ basedir" ; pwd ) "
191
+ echo " ${ basedir} "
158
192
}
159
193
160
194
# concatenates all lines of a file
@@ -164,16 +198,11 @@ concat_lines() {
164
198
fi
165
199
}
166
200
167
- BASE_DIR=$( find_maven_basedir " $( dirname $0 ) " )
201
+ BASE_DIR=` find_maven_basedir " $( pwd ) " `
168
202
if [ -z " $BASE_DIR " ]; then
169
203
exit 1;
170
204
fi
171
205
172
- MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:- " $BASE_DIR " } ; export MAVEN_PROJECTBASEDIR
173
- if [ " $MVNW_VERBOSE " = true ]; then
174
- echo $MAVEN_PROJECTBASEDIR
175
- fi
176
-
177
206
# #########################################################################################
178
207
# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
179
208
# This allows using the maven wrapper in projects that prohibit checking in binary data.
@@ -187,66 +216,59 @@ else
187
216
echo " Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..."
188
217
fi
189
218
if [ -n " $MVNW_REPOURL " ]; then
190
- wrapperUrl =" $MVNW_REPOURL /org/apache/maven/wrapper/maven-wrapper/3.1.1 /maven-wrapper-3.1.1 .jar"
219
+ jarUrl =" $MVNW_REPOURL /org/apache/maven/wrapper/maven-wrapper/3.1.0 /maven-wrapper-3.1.0 .jar"
191
220
else
192
- wrapperUrl =" https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.1 /maven-wrapper-3.1.1 .jar"
221
+ jarUrl =" https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0 /maven-wrapper-3.1.0 .jar"
193
222
fi
194
223
while IFS=" =" read key value; do
195
- case " $key " in (wrapperUrl) wrapperUrl =" $value " ; break ;;
224
+ case " $key " in (wrapperUrl) jarUrl =" $value " ; break ;;
196
225
esac
197
226
done < " $BASE_DIR /.mvn/wrapper/maven-wrapper.properties"
198
227
if [ " $MVNW_VERBOSE " = true ]; then
199
- echo " Downloading from: $wrapperUrl "
228
+ echo " Downloading from: $jarUrl "
200
229
fi
201
230
wrapperJarPath=" $BASE_DIR /.mvn/wrapper/maven-wrapper.jar"
202
231
if $cygwin ; then
203
232
wrapperJarPath=` cygpath --path --windows " $wrapperJarPath " `
204
233
fi
205
234
206
235
if command -v wget > /dev/null; then
207
- QUIET=" --quiet"
208
236
if [ " $MVNW_VERBOSE " = true ]; then
209
237
echo " Found wget ... using wget"
210
- QUIET=" "
211
238
fi
212
239
if [ -z " $MVNW_USERNAME " ] || [ -z " $MVNW_PASSWORD " ]; then
213
- wget $QUIET " $wrapperUrl " -O " $wrapperJarPath "
240
+ wget " $jarUrl " -O " $wrapperJarPath " || rm -f " $wrapperJarPath "
214
241
else
215
- wget $QUIET --http-user=" $MVNW_USERNAME " --http-password=" $MVNW_PASSWORD " " $wrapperUrl " -O " $wrapperJarPath "
242
+ wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD " $jarUrl " -O " $wrapperJarPath " || rm -f " $wrapperJarPath "
216
243
fi
217
- [ $? -eq 0 ] || rm -f " $wrapperJarPath "
218
244
elif command -v curl > /dev/null; then
219
- QUIET=" --silent"
220
245
if [ " $MVNW_VERBOSE " = true ]; then
221
246
echo " Found curl ... using curl"
222
- QUIET=" "
223
247
fi
224
248
if [ -z " $MVNW_USERNAME " ] || [ -z " $MVNW_PASSWORD " ]; then
225
- curl $QUIET -o " $wrapperJarPath " " $wrapperUrl " -f -L
249
+ curl -o " $wrapperJarPath " " $jarUrl " -f
226
250
else
227
- curl $QUIET --user " $MVNW_USERNAME :$MVNW_PASSWORD " -o " $wrapperJarPath " " $wrapperUrl " -f -L
251
+ curl --user $MVNW_USERNAME :$MVNW_PASSWORD -o " $wrapperJarPath " " $jarUrl " -f
228
252
fi
229
- [ $? -eq 0 ] || rm -f " $wrapperJarPath "
253
+
230
254
else
231
255
if [ " $MVNW_VERBOSE " = true ]; then
232
256
echo " Falling back to using Java to download"
233
257
fi
234
- javaSource=" $BASE_DIR /.mvn/wrapper/MavenWrapperDownloader.java"
235
- javaClass=" $BASE_DIR /.mvn/wrapper/MavenWrapperDownloader.class"
258
+ javaClass=" $BASE_DIR /.mvn/wrapper/MavenWrapperDownloader.java"
236
259
# For Cygwin, switch paths to Windows format before running javac
237
260
if $cygwin ; then
238
- javaSource=` cygpath --path --windows " $javaSource " `
239
261
javaClass=` cygpath --path --windows " $javaClass " `
240
262
fi
241
- if [ -e " $javaSource " ]; then
242
- if [ ! -e " $javaClass " ]; then
263
+ if [ -e " $javaClass " ]; then
264
+ if [ ! -e " $BASE_DIR /.mvn/wrapper/MavenWrapperDownloader.class " ]; then
243
265
if [ " $MVNW_VERBOSE " = true ]; then
244
266
echo " - Compiling MavenWrapperDownloader.java ..."
245
267
fi
246
268
# Compiling the Java class
247
- (" $JAVA_HOME /bin/javac" " $javaSource " )
269
+ (" $JAVA_HOME /bin/javac" " $javaClass " )
248
270
fi
249
- if [ -e " $javaClass " ]; then
271
+ if [ -e " $BASE_DIR /.mvn/wrapper/MavenWrapperDownloader.class " ]; then
250
272
# Running the downloader
251
273
if [ " $MVNW_VERBOSE " = true ]; then
252
274
echo " - Running MavenWrapperDownloader.java ..."
260
282
# End of extension
261
283
# #########################################################################################
262
284
285
+ export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:- " $BASE_DIR " }
286
+ if [ " $MVNW_VERBOSE " = true ]; then
287
+ echo $MAVEN_PROJECTBASEDIR
288
+ fi
263
289
MAVEN_OPTS=" $( concat_lines " $MAVEN_PROJECTBASEDIR /.mvn/jvm.config" ) $MAVEN_OPTS "
264
290
265
291
# For Cygwin, switch paths to Windows format before running java
266
292
if $cygwin ; then
293
+ [ -n " $M2_HOME " ] &&
294
+ M2_HOME=` cygpath --path --windows " $M2_HOME " `
267
295
[ -n " $JAVA_HOME " ] &&
268
296
JAVA_HOME=` cygpath --path --windows " $JAVA_HOME " `
269
297
[ -n " $CLASSPATH " ] &&
@@ -283,5 +311,6 @@ exec "$JAVACMD" \
283
311
$MAVEN_OPTS \
284
312
$MAVEN_DEBUG_OPTS \
285
313
-classpath " $MAVEN_PROJECTBASEDIR /.mvn/wrapper/maven-wrapper.jar" \
314
+ " -Dmaven.home=${M2_HOME} " \
286
315
" -Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR} " \
287
316
${WRAPPER_LAUNCHER} $MAVEN_CONFIG " $@ "
0 commit comments