Skip to content

Commit fd8a269

Browse files
committed
Upgrade Maven Wrapper and drop back to Maven 3.5.4
See spring-projectsgh-16167
1 parent affdbee commit fd8a269

File tree

4 files changed

+115
-5
lines changed

4 files changed

+115
-5
lines changed

.mvn/wrapper/maven-wrapper.jar

3.03 KB
Binary file not shown.

.mvn/wrapper/maven-wrapper.properties

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1-
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.0/apache-maven-3.6.0-bin.zip
1+
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.5.4/apache-maven-3.5.4-bin.zip
2+
wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.3/maven-wrapper-0.5.3.jar

mvnw

Lines changed: 83 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -108,13 +108,12 @@ if $cygwin ; then
108108
CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
109109
fi
110110

111-
# For Migwn, ensure paths are in UNIX format before anything is touched
111+
# For Mingw, ensure paths are in UNIX format before anything is touched
112112
if $mingw ; then
113113
[ -n "$M2_HOME" ] &&
114114
M2_HOME="`(cd "$M2_HOME"; pwd)`"
115115
[ -n "$JAVA_HOME" ] &&
116116
JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`"
117-
# TODO classpath?
118117
fi
119118

120119
if [ -z "$JAVA_HOME" ]; then
@@ -200,8 +199,89 @@ if [ -z "$BASE_DIR" ]; then
200199
exit 1;
201200
fi
202201

202+
##########################################################################################
203+
# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
204+
# This allows using the maven wrapper in projects that prohibit checking in binary data.
205+
##########################################################################################
206+
if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then
207+
if [ "$MVNW_VERBOSE" = true ]; then
208+
echo "Found .mvn/wrapper/maven-wrapper.jar"
209+
fi
210+
else
211+
if [ "$MVNW_VERBOSE" = true ]; then
212+
echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..."
213+
fi
214+
if [ -n "$MVNW_REPOURL" ]; then
215+
jarUrl="$MVNW_REPOURL/io/takari/maven-wrapper/0.5.3/maven-wrapper-0.5.3.jar"
216+
else
217+
jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.3/maven-wrapper-0.5.3.jar"
218+
fi
219+
while IFS="=" read key value; do
220+
case "$key" in (wrapperUrl) jarUrl="$value"; break ;;
221+
esac
222+
done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties"
223+
if [ "$MVNW_VERBOSE" = true ]; then
224+
echo "Downloading from: $jarUrl"
225+
fi
226+
wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar"
227+
if $cygwin; then
228+
wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"`
229+
fi
230+
231+
if command -v wget > /dev/null; then
232+
if [ "$MVNW_VERBOSE" = true ]; then
233+
echo "Found wget ... using wget"
234+
fi
235+
if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
236+
wget "$jarUrl" -O "$wrapperJarPath"
237+
else
238+
wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath"
239+
fi
240+
elif command -v curl > /dev/null; then
241+
if [ "$MVNW_VERBOSE" = true ]; then
242+
echo "Found curl ... using curl"
243+
fi
244+
if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
245+
curl -o "$wrapperJarPath" "$jarUrl" -f
246+
else
247+
curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f
248+
fi
249+
250+
else
251+
if [ "$MVNW_VERBOSE" = true ]; then
252+
echo "Falling back to using Java to download"
253+
fi
254+
javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java"
255+
# For Cygwin, switch paths to Windows format before running javac
256+
if $cygwin; then
257+
javaClass=`cygpath --path --windows "$javaClass"`
258+
fi
259+
if [ -e "$javaClass" ]; then
260+
if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
261+
if [ "$MVNW_VERBOSE" = true ]; then
262+
echo " - Compiling MavenWrapperDownloader.java ..."
263+
fi
264+
# Compiling the Java class
265+
("$JAVA_HOME/bin/javac" "$javaClass")
266+
fi
267+
if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
268+
# Running the downloader
269+
if [ "$MVNW_VERBOSE" = true ]; then
270+
echo " - Running MavenWrapperDownloader.java ..."
271+
fi
272+
("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR")
273+
fi
274+
fi
275+
fi
276+
fi
277+
##########################################################################################
278+
# End of extension
279+
##########################################################################################
280+
203281
export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}
204-
echo $MAVEN_PROJECTBASEDIR
282+
if [ "$MVNW_VERBOSE" = true ]; then
283+
echo $MAVEN_PROJECTBASEDIR
284+
fi
205285
MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS"
206286

207287
# For Cygwin, switch paths to Windows format before running java

mvnw.cmd

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@
3535

3636
@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on'
3737
@echo off
38+
@REM set title of command window
39+
title %0
3840
@REM enable echoing my setting MAVEN_BATCH_ECHO to 'on'
3941
@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO%
4042

@@ -115,10 +117,37 @@ for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do s
115117
:endReadAdditionalConfig
116118

117119
SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe"
118-
119120
set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar"
120121
set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
121122

123+
set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.3/maven-wrapper-0.5.3.jar"
124+
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
127+
)
128+
129+
@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
130+
@REM This allows using the maven wrapper in projects that prohibit checking in binary data.
131+
if exist %WRAPPER_JAR% (
132+
echo Found %WRAPPER_JAR%
133+
) else (
134+
if not "%MVNW_REPOURL%" == "" (
135+
SET DOWNLOAD_URL="%MVNW_REPOURL%/io/takari/maven-wrapper/0.5.3/maven-wrapper-0.5.3.jar"
136+
)
137+
echo Couldn't find %WRAPPER_JAR%, downloading it ...
138+
echo Downloading from: %DOWNLOAD_URL%
139+
140+
powershell -Command "&{"^
141+
"$webclient = new-object System.Net.WebClient;"^
142+
"if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^
143+
"$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^
144+
"}"^
145+
"[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^
146+
"}"
147+
echo Finished downloading %WRAPPER_JAR%
148+
)
149+
@REM End of extension
150+
122151
%MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %*
123152
if ERRORLEVEL 1 goto error
124153
goto end

0 commit comments

Comments
 (0)