19
19
# ----------------------------------------------------------------------------
20
20
21
21
# ----------------------------------------------------------------------------
22
- # Maven2 Start Up Batch script
22
+ # Maven Start Up Batch script
23
23
#
24
24
# Required ENV vars:
25
25
# ------------------
36
36
37
37
if [ -z " $MAVEN_SKIP_RC " ] ; then
38
38
39
+ if [ -f /usr/local/etc/mavenrc ] ; then
40
+ . /usr/local/etc/mavenrc
41
+ fi
42
+
39
43
if [ -f /etc/mavenrc ] ; then
40
44
. /etc/mavenrc
41
45
fi
@@ -114,7 +118,6 @@ if $mingw ; then
114
118
M2_HOME=" ` (cd " $M2_HOME " ; pwd)` "
115
119
[ -n " $JAVA_HOME " ] &&
116
120
JAVA_HOME=" ` (cd " $JAVA_HOME " ; pwd)` "
117
- # TODO classpath?
118
121
fi
119
122
120
123
if [ -z " $JAVA_HOME " ]; then
@@ -146,7 +149,7 @@ if [ -z "$JAVACMD" ] ; then
146
149
JAVACMD=" $JAVA_HOME /bin/java"
147
150
fi
148
151
else
149
- JAVACMD=" ` which java` "
152
+ JAVACMD=" ` \\ unset -f command ; \\ command -v java` "
150
153
fi
151
154
fi
152
155
@@ -200,6 +203,85 @@ if [ -z "$BASE_DIR" ]; then
200
203
exit 1;
201
204
fi
202
205
206
+ # #########################################################################################
207
+ # Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
208
+ # This allows using the maven wrapper in projects that prohibit checking in binary data.
209
+ # #########################################################################################
210
+ if [ -r " $BASE_DIR /.mvn/wrapper/maven-wrapper.jar" ]; then
211
+ if [ " $MVNW_VERBOSE " = true ]; then
212
+ echo " Found .mvn/wrapper/maven-wrapper.jar"
213
+ fi
214
+ else
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
223
+ while IFS=" =" read key value; do
224
+ case " $key " in (wrapperUrl) jarUrl=" $value " ; break ;;
225
+ esac
226
+ done < " $BASE_DIR /.mvn/wrapper/maven-wrapper.properties"
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
234
+
235
+ if command -v wget > /dev/null; then
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
244
+ elif command -v curl > /dev/null; then
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
+
254
+ else
255
+ if [ " $MVNW_VERBOSE " = true ]; then
256
+ echo " Falling back to using Java to download"
257
+ fi
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
263
+ if [ -e " $javaClass " ]; then
264
+ if [ ! -e " $BASE_DIR /.mvn/wrapper/MavenWrapperDownloader.class" ]; then
265
+ if [ " $MVNW_VERBOSE " = true ]; then
266
+ echo " - Compiling MavenWrapperDownloader.java ..."
267
+ fi
268
+ # Compiling the Java class
269
+ (" $JAVA_HOME /bin/javac" " $javaClass " )
270
+ fi
271
+ if [ -e " $BASE_DIR /.mvn/wrapper/MavenWrapperDownloader.class" ]; then
272
+ # Running the downloader
273
+ if [ " $MVNW_VERBOSE " = true ]; then
274
+ echo " - Running MavenWrapperDownloader.java ..."
275
+ fi
276
+ (" $JAVA_HOME /bin/java" -cp .mvn/wrapper MavenWrapperDownloader " $MAVEN_PROJECTBASEDIR " )
277
+ fi
278
+ fi
279
+ fi
280
+ fi
281
+ # #########################################################################################
282
+ # End of extension
283
+ # #########################################################################################
284
+
203
285
export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:- " $BASE_DIR " }
204
286
if [ " $MVNW_VERBOSE " = true ]; then
205
287
echo $MAVEN_PROJECTBASEDIR
@@ -218,10 +300,17 @@ if $cygwin; then
218
300
MAVEN_PROJECTBASEDIR=` cygpath --path --windows " $MAVEN_PROJECTBASEDIR " `
219
301
fi
220
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
+
221
308
WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
222
309
223
310
exec " $JAVACMD " \
224
311
$MAVEN_OPTS \
312
+ $MAVEN_DEBUG_OPTS \
225
313
-classpath " $MAVEN_PROJECTBASEDIR /.mvn/wrapper/maven-wrapper.jar" \
226
- " -Dmaven.home=${M2_HOME} " " -Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR} " \
314
+ " -Dmaven.home=${M2_HOME} " \
315
+ " -Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR} " \
227
316
${WRAPPER_LAUNCHER} $MAVEN_CONFIG " $@ "
0 commit comments