Skip to content

Commit a475d4a

Browse files
committed
Update maven scripts
1 parent 64deaf7 commit a475d4a

File tree

4 files changed

+120
-156
lines changed

4 files changed

+120
-156
lines changed

core/mvnw

Lines changed: 38 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,14 @@
1919
# ----------------------------------------------------------------------------
2020

2121
# ----------------------------------------------------------------------------
22-
# Maven Start Up Batch script
22+
# Apache Maven Wrapper startup batch script, version 3.1.1
2323
#
2424
# Required ENV vars:
2525
# ------------------
2626
# JAVA_HOME - location of a JDK home dir
2727
#
2828
# Optional ENV vars
2929
# -----------------
30-
# M2_HOME - location of maven2's installed home dir
3130
# MAVEN_OPTS - parameters passed to the Java VM when running Maven
3231
# e.g. to debug Maven itself, use
3332
# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
@@ -36,6 +35,10 @@
3635

3736
if [ -z "$MAVEN_SKIP_RC" ] ; then
3837

38+
if [ -f /usr/local/etc/mavenrc ] ; then
39+
. /usr/local/etc/mavenrc
40+
fi
41+
3942
if [ -f /etc/mavenrc ] ; then
4043
. /etc/mavenrc
4144
fi
@@ -58,9 +61,9 @@ case "`uname`" in
5861
# See https://developer.apple.com/library/mac/qa/qa1170/_index.html
5962
if [ -z "$JAVA_HOME" ]; then
6063
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
6265
else
63-
export JAVA_HOME="/Library/Java/Home"
66+
JAVA_HOME="/Library/Java/Home"; export JAVA_HOME
6467
fi
6568
fi
6669
;;
@@ -72,36 +75,8 @@ if [ -z "$JAVA_HOME" ] ; then
7275
fi
7376
fi
7477

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-
10178
# For Cygwin, ensure paths are in UNIX format before anything is touched
10279
if $cygwin ; then
103-
[ -n "$M2_HOME" ] &&
104-
M2_HOME=`cygpath --unix "$M2_HOME"`
10580
[ -n "$JAVA_HOME" ] &&
10681
JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
10782
[ -n "$CLASSPATH" ] &&
@@ -110,8 +85,6 @@ fi
11085

11186
# For Mingw, ensure paths are in UNIX format before anything is touched
11287
if $mingw ; then
113-
[ -n "$M2_HOME" ] &&
114-
M2_HOME="`(cd "$M2_HOME"; pwd)`"
11588
[ -n "$JAVA_HOME" ] &&
11689
JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`"
11790
fi
@@ -145,7 +118,7 @@ if [ -z "$JAVACMD" ] ; then
145118
JAVACMD="$JAVA_HOME/bin/java"
146119
fi
147120
else
148-
JAVACMD="`which java`"
121+
JAVACMD="`\\unset -f command; \\command -v java`"
149122
fi
150123
fi
151124

@@ -159,12 +132,9 @@ if [ -z "$JAVA_HOME" ] ; then
159132
echo "Warning: JAVA_HOME environment variable is not set."
160133
fi
161134

162-
CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher
163-
164135
# traverses directory structure from process work directory to filesystem root
165136
# first directory with .mvn subdirectory is considered project base directory
166137
find_maven_basedir() {
167-
168138
if [ -z "$1" ]
169139
then
170140
echo "Path not specified to find_maven_basedir"
@@ -184,7 +154,7 @@ find_maven_basedir() {
184154
fi
185155
# end of workaround
186156
done
187-
echo "${basedir}"
157+
printf '%s' "$(cd "$basedir"; pwd)"
188158
}
189159

190160
# concatenates all lines of a file
@@ -194,11 +164,16 @@ concat_lines() {
194164
fi
195165
}
196166

197-
BASE_DIR=`find_maven_basedir "$(pwd)"`
167+
BASE_DIR=$(find_maven_basedir "$(dirname $0)")
198168
if [ -z "$BASE_DIR" ]; then
199169
exit 1;
200170
fi
201171

172+
MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}; export MAVEN_PROJECTBASEDIR
173+
if [ "$MVNW_VERBOSE" = true ]; then
174+
echo $MAVEN_PROJECTBASEDIR
175+
fi
176+
202177
##########################################################################################
203178
# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
204179
# This allows using the maven wrapper in projects that prohibit checking in binary data.
@@ -212,59 +187,66 @@ else
212187
echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..."
213188
fi
214189
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"
216191
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"
218193
fi
219194
while IFS="=" read key value; do
220-
case "$key" in (wrapperUrl) jarUrl="$value"; break ;;
195+
case "$key" in (wrapperUrl) wrapperUrl="$value"; break ;;
221196
esac
222197
done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties"
223198
if [ "$MVNW_VERBOSE" = true ]; then
224-
echo "Downloading from: $jarUrl"
199+
echo "Downloading from: $wrapperUrl"
225200
fi
226201
wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar"
227202
if $cygwin; then
228203
wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"`
229204
fi
230205

231206
if command -v wget > /dev/null; then
207+
QUIET="--quiet"
232208
if [ "$MVNW_VERBOSE" = true ]; then
233209
echo "Found wget ... using wget"
210+
QUIET=""
234211
fi
235212
if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
236-
wget "$jarUrl" -O "$wrapperJarPath"
213+
wget $QUIET "$wrapperUrl" -O "$wrapperJarPath"
237214
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"
239216
fi
217+
[ $? -eq 0 ] || rm -f "$wrapperJarPath"
240218
elif command -v curl > /dev/null; then
219+
QUIET="--silent"
241220
if [ "$MVNW_VERBOSE" = true ]; then
242221
echo "Found curl ... using curl"
222+
QUIET=""
243223
fi
244224
if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
245-
curl -o "$wrapperJarPath" "$jarUrl" -f
225+
curl $QUIET -o "$wrapperJarPath" "$wrapperUrl" -f -L
246226
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
248228
fi
249-
229+
[ $? -eq 0 ] || rm -f "$wrapperJarPath"
250230
else
251231
if [ "$MVNW_VERBOSE" = true ]; then
252232
echo "Falling back to using Java to download"
253233
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"
255236
# For Cygwin, switch paths to Windows format before running javac
256237
if $cygwin; then
238+
javaSource=`cygpath --path --windows "$javaSource"`
257239
javaClass=`cygpath --path --windows "$javaClass"`
258240
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
261243
if [ "$MVNW_VERBOSE" = true ]; then
262244
echo " - Compiling MavenWrapperDownloader.java ..."
263245
fi
264246
# Compiling the Java class
265-
("$JAVA_HOME/bin/javac" "$javaClass")
247+
("$JAVA_HOME/bin/javac" "$javaSource")
266248
fi
267-
if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
249+
if [ -e "$javaClass" ]; then
268250
# Running the downloader
269251
if [ "$MVNW_VERBOSE" = true ]; then
270252
echo " - Running MavenWrapperDownloader.java ..."
@@ -278,16 +260,10 @@ fi
278260
# End of extension
279261
##########################################################################################
280262

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

287265
# For Cygwin, switch paths to Windows format before running java
288266
if $cygwin; then
289-
[ -n "$M2_HOME" ] &&
290-
M2_HOME=`cygpath --path --windows "$M2_HOME"`
291267
[ -n "$JAVA_HOME" ] &&
292268
JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`
293269
[ -n "$CLASSPATH" ] &&
@@ -305,6 +281,7 @@ WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
305281

306282
exec "$JAVACMD" \
307283
$MAVEN_OPTS \
284+
$MAVEN_DEBUG_OPTS \
308285
-classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \
309-
"-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \
286+
"-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \
310287
${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@"

core/mvnw.cmd

Lines changed: 22 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,12 @@
1818
@REM ----------------------------------------------------------------------------
1919

2020
@REM ----------------------------------------------------------------------------
21-
@REM Maven Start Up Batch script
21+
@REM Apache Maven Wrapper startup batch script, version 3.1.1
2222
@REM
2323
@REM Required ENV vars:
2424
@REM JAVA_HOME - location of a JDK home dir
2525
@REM
2626
@REM Optional ENV vars
27-
@REM M2_HOME - location of maven2's installed home dir
2827
@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands
2928
@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending
3029
@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven
@@ -46,8 +45,8 @@ if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%")
4645
@REM Execute a user defined script before this one
4746
if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre
4847
@REM check for pre script, once with legacy .bat ending and once with .cmd ending
49-
if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat"
50-
if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd"
48+
if exist "%USERPROFILE%\mavenrc_pre.bat" call "%USERPROFILE%\mavenrc_pre.bat" %*
49+
if exist "%USERPROFILE%\mavenrc_pre.cmd" call "%USERPROFILE%\mavenrc_pre.cmd" %*
5150
:skipRcPre
5251

5352
@setlocal
@@ -120,10 +119,10 @@ SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe"
120119
set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar"
121120
set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
122121

123-
set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
122+
set WRAPPER_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.1/maven-wrapper-3.1.1.jar"
124123

125-
FOR /F "tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO (
126-
IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B
124+
FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO (
125+
IF "%%A"=="wrapperUrl" SET WRAPPER_URL=%%B
127126
)
128127

129128
@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
@@ -134,19 +133,19 @@ if exist %WRAPPER_JAR% (
134133
)
135134
) else (
136135
if not "%MVNW_REPOURL%" == "" (
137-
SET DOWNLOAD_URL="%MVNW_REPOURL%/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
136+
SET WRAPPER_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.1.1/maven-wrapper-3.1.1.jar"
138137
)
139138
if "%MVNW_VERBOSE%" == "true" (
140139
echo Couldn't find %WRAPPER_JAR%, downloading it ...
141-
echo Downloading from: %DOWNLOAD_URL%
140+
echo Downloading from: %WRAPPER_URL%
142141
)
143142

144143
powershell -Command "&{"^
145144
"$webclient = new-object System.Net.WebClient;"^
146145
"if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^
147146
"$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^
148147
"}"^
149-
"[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^
148+
"[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%WRAPPER_URL%', '%WRAPPER_JAR%')"^
150149
"}"
151150
if "%MVNW_VERBOSE%" == "true" (
152151
echo Finished downloading %WRAPPER_JAR%
@@ -158,7 +157,13 @@ if exist %WRAPPER_JAR% (
158157
@REM work with both Windows and non-Windows executions.
159158
set MAVEN_CMD_LINE_ARGS=%*
160159

161-
%MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %*
160+
%MAVEN_JAVA_EXE% ^
161+
%JVM_CONFIG_MAVEN_PROPS% ^
162+
%MAVEN_OPTS% ^
163+
%MAVEN_DEBUG_OPTS% ^
164+
-classpath %WRAPPER_JAR% ^
165+
"-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" ^
166+
%WRAPPER_LAUNCHER% %MAVEN_CONFIG% %*
162167
if ERRORLEVEL 1 goto error
163168
goto end
164169

@@ -168,15 +173,15 @@ set ERROR_CODE=1
168173
:end
169174
@endlocal & set ERROR_CODE=%ERROR_CODE%
170175

171-
if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost
176+
if not "%MAVEN_SKIP_RC%"=="" goto skipRcPost
172177
@REM check for post script, once with legacy .bat ending and once with .cmd ending
173-
if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat"
174-
if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd"
178+
if exist "%USERPROFILE%\mavenrc_post.bat" call "%USERPROFILE%\mavenrc_post.bat"
179+
if exist "%USERPROFILE%\mavenrc_post.cmd" call "%USERPROFILE%\mavenrc_post.cmd"
175180
:skipRcPost
176181

177182
@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on'
178-
if "%MAVEN_BATCH_PAUSE%" == "on" pause
183+
if "%MAVEN_BATCH_PAUSE%"=="on" pause
179184

180-
if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE%
185+
if "%MAVEN_TERMINATE_CMD%"=="on" exit %ERROR_CODE%
181186

182-
exit /B %ERROR_CODE%
187+
cmd /C exit /B %ERROR_CODE%

0 commit comments

Comments
 (0)