19
19
# ----------------------------------------------------------------------------
20
20
21
21
# ----------------------------------------------------------------------------
22
- # Maven Start Up Batch script
22
+ # Apache Maven Wrapper startup batch script, version 3.1.1
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
31
30
# MAVEN_OPTS - parameters passed to the Java VM when running Maven
32
31
# e.g. to debug Maven itself, use
33
32
# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
36
35
37
36
if [ -z " $MAVEN_SKIP_RC " ] ; then
38
37
38
+ if [ -f /usr/local/etc/mavenrc ] ; then
39
+ . /usr/local/etc/mavenrc
40
+ fi
41
+
39
42
if [ -f /etc/mavenrc ] ; then
40
43
. /etc/mavenrc
41
44
fi
@@ -58,9 +61,9 @@ case "`uname`" in
58
61
# See https://developer.apple.com/library/mac/qa/qa1170/_index.html
59
62
if [ -z " $JAVA_HOME " ]; then
60
63
if [ -x " /usr/libexec/java_home" ]; then
61
- export JAVA_HOME=" ` /usr/libexec/java_home` "
64
+ JAVA_HOME=" ` /usr/libexec/java_home` " ; export JAVA_HOME
62
65
else
63
- export JAVA_HOME=" /Library/Java/Home"
66
+ JAVA_HOME=" /Library/Java/Home" ; export JAVA_HOME
64
67
fi
65
68
fi
66
69
;;
@@ -72,36 +75,8 @@ if [ -z "$JAVA_HOME" ] ; then
72
75
fi
73
76
fi
74
77
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
78
# For Cygwin, ensure paths are in UNIX format before anything is touched
102
79
if $cygwin ; then
103
- [ -n " $M2_HOME " ] &&
104
- M2_HOME=` cygpath --unix " $M2_HOME " `
105
80
[ -n " $JAVA_HOME " ] &&
106
81
JAVA_HOME=` cygpath --unix " $JAVA_HOME " `
107
82
[ -n " $CLASSPATH " ] &&
110
85
111
86
# For Mingw, ensure paths are in UNIX format before anything is touched
112
87
if $mingw ; then
113
- [ -n " $M2_HOME " ] &&
114
- M2_HOME=" ` (cd " $M2_HOME " ; pwd)` "
115
88
[ -n " $JAVA_HOME " ] &&
116
89
JAVA_HOME=" ` (cd " $JAVA_HOME " ; pwd)` "
117
90
fi
@@ -145,7 +118,7 @@ if [ -z "$JAVACMD" ] ; then
145
118
JAVACMD=" $JAVA_HOME /bin/java"
146
119
fi
147
120
else
148
- JAVACMD=" ` which java` "
121
+ JAVACMD=" ` \\ unset -f command ; \\ command -v java` "
149
122
fi
150
123
fi
151
124
@@ -159,12 +132,9 @@ if [ -z "$JAVA_HOME" ] ; then
159
132
echo " Warning: JAVA_HOME environment variable is not set."
160
133
fi
161
134
162
- CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher
163
-
164
135
# traverses directory structure from process work directory to filesystem root
165
136
# first directory with .mvn subdirectory is considered project base directory
166
137
find_maven_basedir () {
167
-
168
138
if [ -z " $1 " ]
169
139
then
170
140
echo " Path not specified to find_maven_basedir"
@@ -184,7 +154,7 @@ find_maven_basedir() {
184
154
fi
185
155
# end of workaround
186
156
done
187
- echo " ${ basedir} "
157
+ printf ' %s ' " $( cd " $ basedir" ; pwd ) "
188
158
}
189
159
190
160
# concatenates all lines of a file
@@ -194,11 +164,16 @@ concat_lines() {
194
164
fi
195
165
}
196
166
197
- BASE_DIR=` find_maven_basedir " $( pwd ) " `
167
+ BASE_DIR=$( find_maven_basedir " $( dirname $0 ) " )
198
168
if [ -z " $BASE_DIR " ]; then
199
169
exit 1;
200
170
fi
201
171
172
+ MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:- " $BASE_DIR " } ; export MAVEN_PROJECTBASEDIR
173
+ if [ " $MVNW_VERBOSE " = true ]; then
174
+ echo $MAVEN_PROJECTBASEDIR
175
+ fi
176
+
202
177
# #########################################################################################
203
178
# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
204
179
# This allows using the maven wrapper in projects that prohibit checking in binary data.
@@ -212,59 +187,66 @@ else
212
187
echo " Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..."
213
188
fi
214
189
if [ -n " $MVNW_REPOURL " ]; then
215
- jarUrl =" $MVNW_REPOURL /io/takari /maven-wrapper/0.5.6 /maven-wrapper-0.5.6 .jar"
190
+ wrapperUrl =" $MVNW_REPOURL /org/apache /maven/wrapper/maven -wrapper/3.1.1 /maven-wrapper-3.1.1 .jar"
216
191
else
217
- jarUrl =" https://repo.maven.apache.org/maven2/io/takari /maven-wrapper/0.5.6 /maven-wrapper-0.5.6 .jar"
192
+ wrapperUrl =" https://repo.maven.apache.org/maven2/org/apache /maven/wrapper/maven -wrapper/3.1.1 /maven-wrapper-3.1.1 .jar"
218
193
fi
219
194
while IFS=" =" read key value; do
220
- case " $key " in (wrapperUrl) jarUrl =" $value " ; break ;;
195
+ case " $key " in (wrapperUrl) wrapperUrl =" $value " ; break ;;
221
196
esac
222
197
done < " $BASE_DIR /.mvn/wrapper/maven-wrapper.properties"
223
198
if [ " $MVNW_VERBOSE " = true ]; then
224
- echo " Downloading from: $jarUrl "
199
+ echo " Downloading from: $wrapperUrl "
225
200
fi
226
201
wrapperJarPath=" $BASE_DIR /.mvn/wrapper/maven-wrapper.jar"
227
202
if $cygwin ; then
228
203
wrapperJarPath=` cygpath --path --windows " $wrapperJarPath " `
229
204
fi
230
205
231
206
if command -v wget > /dev/null; then
207
+ QUIET=" --quiet"
232
208
if [ " $MVNW_VERBOSE " = true ]; then
233
209
echo " Found wget ... using wget"
210
+ QUIET=" "
234
211
fi
235
212
if [ -z " $MVNW_USERNAME " ] || [ -z " $MVNW_PASSWORD " ]; then
236
- wget " $jarUrl " -O " $wrapperJarPath "
213
+ wget $QUIET " $wrapperUrl " -O " $wrapperJarPath "
237
214
else
238
- wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD " $jarUrl " -O " $wrapperJarPath "
215
+ wget $QUIET --http-user=" $MVNW_USERNAME " --http-password=" $MVNW_PASSWORD " " $wrapperUrl " -O " $wrapperJarPath "
239
216
fi
217
+ [ $? -eq 0 ] || rm -f " $wrapperJarPath "
240
218
elif command -v curl > /dev/null; then
219
+ QUIET=" --silent"
241
220
if [ " $MVNW_VERBOSE " = true ]; then
242
221
echo " Found curl ... using curl"
222
+ QUIET=" "
243
223
fi
244
224
if [ -z " $MVNW_USERNAME " ] || [ -z " $MVNW_PASSWORD " ]; then
245
- curl -o " $wrapperJarPath " " $jarUrl " -f
225
+ curl $QUIET -o " $wrapperJarPath " " $wrapperUrl " -f -L
246
226
else
247
- curl --user $MVNW_USERNAME :$MVNW_PASSWORD -o " $wrapperJarPath " " $jarUrl " -f
227
+ curl $QUIET --user " $MVNW_USERNAME :$MVNW_PASSWORD " -o " $wrapperJarPath " " $wrapperUrl " -f -L
248
228
fi
249
-
229
+ [ $? -eq 0 ] || rm -f " $wrapperJarPath "
250
230
else
251
231
if [ " $MVNW_VERBOSE " = true ]; then
252
232
echo " Falling back to using Java to download"
253
233
fi
254
- javaClass=" $BASE_DIR /.mvn/wrapper/MavenWrapperDownloader.java"
234
+ javaSource=" $BASE_DIR /.mvn/wrapper/MavenWrapperDownloader.java"
235
+ javaClass=" $BASE_DIR /.mvn/wrapper/MavenWrapperDownloader.class"
255
236
# For Cygwin, switch paths to Windows format before running javac
256
237
if $cygwin ; then
238
+ javaSource=` cygpath --path --windows " $javaSource " `
257
239
javaClass=` cygpath --path --windows " $javaClass " `
258
240
fi
259
- if [ -e " $javaClass " ]; then
260
- if [ ! -e " $BASE_DIR /.mvn/wrapper/MavenWrapperDownloader.class " ]; then
241
+ if [ -e " $javaSource " ]; then
242
+ if [ ! -e " $javaClass " ]; then
261
243
if [ " $MVNW_VERBOSE " = true ]; then
262
244
echo " - Compiling MavenWrapperDownloader.java ..."
263
245
fi
264
246
# Compiling the Java class
265
- (" $JAVA_HOME /bin/javac" " $javaClass " )
247
+ (" $JAVA_HOME /bin/javac" " $javaSource " )
266
248
fi
267
- if [ -e " $BASE_DIR /.mvn/wrapper/MavenWrapperDownloader.class " ]; then
249
+ if [ -e " $javaClass " ]; then
268
250
# Running the downloader
269
251
if [ " $MVNW_VERBOSE " = true ]; then
270
252
echo " - Running MavenWrapperDownloader.java ..."
278
260
# End of extension
279
261
# #########################################################################################
280
262
281
- export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:- " $BASE_DIR " }
282
- if [ " $MVNW_VERBOSE " = true ]; then
283
- echo $MAVEN_PROJECTBASEDIR
284
- fi
285
263
MAVEN_OPTS=" $( concat_lines " $MAVEN_PROJECTBASEDIR /.mvn/jvm.config" ) $MAVEN_OPTS "
286
264
287
265
# For Cygwin, switch paths to Windows format before running java
288
266
if $cygwin ; then
289
- [ -n " $M2_HOME " ] &&
290
- M2_HOME=` cygpath --path --windows " $M2_HOME " `
291
267
[ -n " $JAVA_HOME " ] &&
292
268
JAVA_HOME=` cygpath --path --windows " $JAVA_HOME " `
293
269
[ -n " $CLASSPATH " ] &&
@@ -305,6 +281,7 @@ WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
305
281
306
282
exec " $JAVACMD " \
307
283
$MAVEN_OPTS \
284
+ $MAVEN_DEBUG_OPTS \
308
285
-classpath " $MAVEN_PROJECTBASEDIR /.mvn/wrapper/maven-wrapper.jar" \
309
- " -Dmaven.home= ${M2_HOME} " " -Dmaven. multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR} " \
286
+ " -Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR} " \
310
287
${WRAPPER_LAUNCHER} $MAVEN_CONFIG " $@ "
0 commit comments