From 4af4a5074ce6315bed14d18d57e10e983122cbcc Mon Sep 17 00:00:00 2001 From: spring-builds Date: Tue, 18 Aug 2026 14:31:03 +0000 Subject: [PATCH] Update Maven wrapper to 3.9.16 Signed-off-by: spring-builds --- .mvn/wrapper/MavenWrapperDownloader.java | 117 -------- .mvn/wrapper/maven-wrapper.jar | Bin 48337 -> 63093 bytes .mvn/wrapper/maven-wrapper.properties | 6 +- mvnw | 354 +++++++++++++---------- mvnw.cmd | 97 +++++-- 5 files changed, 278 insertions(+), 296 deletions(-) delete mode 100755 .mvn/wrapper/MavenWrapperDownloader.java mode change 100755 => 100644 .mvn/wrapper/maven-wrapper.jar mode change 100755 => 100644 mvnw.cmd diff --git a/.mvn/wrapper/MavenWrapperDownloader.java b/.mvn/wrapper/MavenWrapperDownloader.java deleted file mode 100755 index 1f38b9c89..000000000 --- a/.mvn/wrapper/MavenWrapperDownloader.java +++ /dev/null @@ -1,117 +0,0 @@ - -/* -Licensed to the Apache Software Foundation (ASF) under one -or more contributor license agreements. See the NOTICE file -distributed with this work for additional information -regarding copyright ownership. The ASF licenses this file -to you under the Apache License, Version 2.0 (the -"License"); you may not use this file except in compliance -with the License. You may obtain a copy of the License at - - https://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, -software distributed under the License is distributed on an -"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -KIND, either express or implied. See the License for the -specific language governing permissions and limitations -under the License. -*/ - -import java.util.Properties; - -public class MavenWrapperDownloader { - - /** - * Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is - * provided. - */ - private static final String DEFAULT_DOWNLOAD_URL = "https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.4.2/maven-wrapper-0.4.2.jar"; - - /** - * Path to the maven-wrapper.properties file, which might contain a downloadUrl - * property to use instead of the default one. - */ - private static final String MAVEN_WRAPPER_PROPERTIES_PATH = ".mvn/wrapper/maven-wrapper.properties"; - - /** - * Path where the maven-wrapper.jar will be saved to. - */ - private static final String MAVEN_WRAPPER_JAR_PATH = ".mvn/wrapper/maven-wrapper.jar"; - - /** - * Name of the property which should be used to override the default download url for - * the wrapper. - */ - private static final String PROPERTY_NAME_WRAPPER_URL = "wrapperUrl"; - - public static void main(String args[]) { - System.out.println("- Downloader started"); - File baseDirectory = new File(args[0]); - System.out.println("- Using base directory: " + baseDirectory.getAbsolutePath()); - - // If the maven-wrapper.properties exists, read it and check if it contains a - // custom - // wrapperUrl parameter. - File mavenWrapperPropertyFile = new File(baseDirectory, - MAVEN_WRAPPER_PROPERTIES_PATH); - String url = DEFAULT_DOWNLOAD_URL; - if (mavenWrapperPropertyFile.exists()) { - FileInputStream mavenWrapperPropertyFileInputStream = null; - try { - mavenWrapperPropertyFileInputStream = new FileInputStream( - mavenWrapperPropertyFile); - Properties mavenWrapperProperties = new Properties(); - mavenWrapperProperties.load(mavenWrapperPropertyFileInputStream); - url = mavenWrapperProperties.getProperty(PROPERTY_NAME_WRAPPER_URL, url); - } - catch (IOException e) { - System.out.println( - "- ERROR loading '" + MAVEN_WRAPPER_PROPERTIES_PATH + "'"); - } - finally { - try { - if (mavenWrapperPropertyFileInputStream != null) { - mavenWrapperPropertyFileInputStream.close(); - } - } - catch (IOException e) { - // Ignore ... - } - } - } - System.out.println("- Downloading from: : " + url); - - File outputFile = new File(baseDirectory.getAbsolutePath(), - MAVEN_WRAPPER_JAR_PATH); - if (!outputFile.getParentFile().exists()) { - if (!outputFile.getParentFile().mkdirs()) { - System.out.println("- ERROR creating output direcrory '" - + outputFile.getParentFile().getAbsolutePath() + "'"); - } - } - System.out.println("- Downloading to: " + outputFile.getAbsolutePath()); - try { - downloadFileFromURL(url, outputFile); - System.out.println("Done"); - System.exit(0); - } - catch (Throwable e) { - System.out.println("- Error downloading"); - e.printStackTrace(); - System.exit(1); - } - } - - private static void downloadFileFromURL(String urlString, File destination) - throws Exception { - URL website = new URL(urlString); - ReadableByteChannel rbc; - rbc = Channels.newChannel(website.openStream()); - FileOutputStream fos = new FileOutputStream(destination); - fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE); - fos.close(); - rbc.close(); - } - -} diff --git a/.mvn/wrapper/maven-wrapper.jar b/.mvn/wrapper/maven-wrapper.jar old mode 100755 new mode 100644 index 01e67997377a393fd672c7dcde9dccbedf0cb1e9..eebc3c18b4e0bce4a2a9e66be24c4a410f17a1fa GIT binary patch literal 63093 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 _ohw3Ut=#j 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 literal 48337 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 \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG="`dirname "$PRG"`/$link" - fi - done - - saveddir=`pwd` - - M2_HOME=`dirname "$PRG"`/.. - - # make it fully qualified - M2_HOME=`cd "$M2_HOME" && pwd` - - cd "$saveddir" - # echo Using m2 at $M2_HOME -fi - # For Cygwin, ensure paths are in UNIX format before anything is touched -if $cygwin ; then - [ -n "$M2_HOME" ] && - M2_HOME=`cygpath --unix "$M2_HOME"` - [ -n "$JAVA_HOME" ] && - JAVA_HOME=`cygpath --unix "$JAVA_HOME"` - [ -n "$CLASSPATH" ] && - CLASSPATH=`cygpath --path --unix "$CLASSPATH"` +if $cygwin; then + [ -n "$JAVA_HOME" ] \ + && JAVA_HOME=$(cygpath --unix "$JAVA_HOME") + [ -n "$CLASSPATH" ] \ + && CLASSPATH=$(cygpath --path --unix "$CLASSPATH") fi # For Mingw, ensure paths are in UNIX format before anything is touched -if $mingw ; then - [ -n "$M2_HOME" ] && - M2_HOME="`(cd "$M2_HOME"; pwd)`" - [ -n "$JAVA_HOME" ] && - JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" - # TODO classpath? +if $mingw; then + [ -n "$JAVA_HOME" ] && [ -d "$JAVA_HOME" ] \ + && JAVA_HOME="$( + cd "$JAVA_HOME" || ( + echo "cannot cd into $JAVA_HOME." >&2 + exit 1 + ) + pwd + )" fi if [ -z "$JAVA_HOME" ]; then - javaExecutable="`which javac`" - if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then + javaExecutable="$(which javac)" + if [ -n "$javaExecutable" ] && ! [ "$(expr "$javaExecutable" : '\([^ ]*\)')" = "no" ]; then # readlink(1) is not available as standard on Solaris 10. - readLink=`which readlink` - if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then - if $darwin ; then - javaHome="`dirname \"$javaExecutable\"`" - javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" + readLink=$(which readlink) + if [ ! "$(expr "$readLink" : '\([^ ]*\)')" = "no" ]; then + if $darwin; then + javaHome="$(dirname "$javaExecutable")" + javaExecutable="$(cd "$javaHome" && pwd -P)/javac" else - javaExecutable="`readlink -f \"$javaExecutable\"`" + javaExecutable="$(readlink -f "$javaExecutable")" fi - javaHome="`dirname \"$javaExecutable\"`" - javaHome=`expr "$javaHome" : '\(.*\)/bin'` + javaHome="$(dirname "$javaExecutable")" + javaHome=$(expr "$javaHome" : '\(.*\)/bin') JAVA_HOME="$javaHome" export JAVA_HOME fi fi fi -if [ -z "$JAVACMD" ] ; then - if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then +if [ -z "$JAVACMD" ]; then + if [ -n "$JAVA_HOME" ]; then + if [ -x "$JAVA_HOME/jre/sh/java" ]; then # IBM's JDK on AIX uses strange locations for the executables JAVACMD="$JAVA_HOME/jre/sh/java" else JAVACMD="$JAVA_HOME/bin/java" fi else - JAVACMD="`which java`" + JAVACMD="$( + \unset -f command 2>/dev/null + \command -v java + )" fi fi -if [ ! -x "$JAVACMD" ] ; then +if [ ! -x "$JAVACMD" ]; then echo "Error: JAVA_HOME is not defined correctly." >&2 echo " We cannot execute $JAVACMD" >&2 exit 1 fi -if [ -z "$JAVA_HOME" ] ; then - echo "Warning: JAVA_HOME environment variable is not set." +if [ -z "$JAVA_HOME" ]; then + echo "Warning: JAVA_HOME environment variable is not set." >&2 fi -CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher - # traverses directory structure from process work directory to filesystem root # first directory with .mvn subdirectory is considered project base directory find_maven_basedir() { - - if [ -z "$1" ] - then - echo "Path not specified to find_maven_basedir" + if [ -z "$1" ]; then + echo "Path not specified to find_maven_basedir" >&2 return 1 fi basedir="$1" wdir="$1" - while [ "$wdir" != '/' ] ; do - if [ -d "$wdir"/.mvn ] ; then + while [ "$wdir" != '/' ]; do + if [ -d "$wdir"/.mvn ]; then basedir=$wdir break fi # workaround for JBEAP-8937 (on Solaris 10/Sparc) if [ -d "${wdir}" ]; then - wdir=`cd "$wdir/.."; pwd` + wdir=$( + cd "$wdir/.." || exit 1 + pwd + ) fi # end of workaround done - echo "${basedir}" + printf '%s' "$( + cd "$basedir" || exit 1 + pwd + )" } # concatenates all lines of a file concat_lines() { if [ -f "$1" ]; then - echo "$(tr -s '\n' ' ' < "$1")" + # Remove \r in case we run on Windows within Git Bash + # and check out the repository with auto CRLF management + # enabled. Otherwise, we may read lines that are delimited with + # \r\n and produce $'-Xarg\r' rather than -Xarg due to word + # splitting rules. + tr -s '\r\n' ' ' <"$1" fi } -BASE_DIR=`find_maven_basedir "$(pwd)"` +log() { + if [ "$MVNW_VERBOSE" = true ]; then + printf '%s\n' "$1" + fi +} + +BASE_DIR=$(find_maven_basedir "$(dirname "$0")") if [ -z "$BASE_DIR" ]; then - exit 1; + exit 1 fi +MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} +export MAVEN_PROJECTBASEDIR +log "$MAVEN_PROJECTBASEDIR" + +trim() { + # MWRAPPER-139: + # Trims trailing and leading whitespace, carriage returns, tabs, and linefeeds. + # Needed for removing poorly interpreted newline sequences when running in more + # exotic environments such as mingw bash on Windows. + printf "%s" "${1}" | tr -d '[:space:]' +} + ########################################################################################## # Extension to allow automatically downloading the maven-wrapper.jar from Maven-central # This allows using the maven wrapper in projects that prohibit checking in binary data. ########################################################################################## -if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then - if [ "$MVNW_VERBOSE" = true ]; then - echo "Found .mvn/wrapper/maven-wrapper.jar" - fi +wrapperJarPath="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" +if [ -r "$wrapperJarPath" ]; then + log "Found $wrapperJarPath" else - if [ "$MVNW_VERBOSE" = true ]; then - echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..." - fi - jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.4.2/maven-wrapper-0.4.2.jar" - while IFS="=" read key value; do - case "$key" in (wrapperUrl) jarUrl="$value"; break ;; - esac - done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties" - if [ "$MVNW_VERBOSE" = true ]; then - echo "Downloading from: $jarUrl" - fi - wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" + log "Couldn't find $wrapperJarPath, downloading it ..." + + if [ -n "$MVNW_REPOURL" ]; then + wrapperUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.3.4/maven-wrapper-3.3.4.jar" + else + wrapperUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.3.4/maven-wrapper-3.3.4.jar" + fi + while IFS="=" read -r key value; do + case "$key" in wrapperUrl) + wrapperUrl=$(trim "${value-}") + break + ;; + esac + done <"$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.properties" + log "Downloading from: $wrapperUrl" - if command -v wget > /dev/null; then - if [ "$MVNW_VERBOSE" = true ]; then - echo "Found wget ... using wget" - fi - wget "$jarUrl" -O "$wrapperJarPath" - elif command -v curl > /dev/null; then - if [ "$MVNW_VERBOSE" = true ]; then - echo "Found curl ... using curl" - fi - curl -o "$wrapperJarPath" "$jarUrl" + if $cygwin; then + wrapperJarPath=$(cygpath --path --windows "$wrapperJarPath") + fi + + if command -v wget >/dev/null; then + log "Found wget ... using wget" + [ "$MVNW_VERBOSE" = true ] && QUIET="" || QUIET="--quiet" + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + wget ${QUIET:+"$QUIET"} "$wrapperUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" + else + wget ${QUIET:+"$QUIET"} --http-user="$MVNW_USERNAME" --http-password="$MVNW_PASSWORD" "$wrapperUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" + fi + elif command -v curl >/dev/null; then + log "Found curl ... using curl" + [ "$MVNW_VERBOSE" = true ] && QUIET="" || QUIET="--silent" + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + curl ${QUIET:+"$QUIET"} -o "$wrapperJarPath" "$wrapperUrl" -f -L || rm -f "$wrapperJarPath" else - if [ "$MVNW_VERBOSE" = true ]; then - echo "Falling back to using Java to download" - fi - javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java" - if [ -e "$javaClass" ]; then - if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then - if [ "$MVNW_VERBOSE" = true ]; then - echo " - Compiling MavenWrapperDownloader.java ..." - fi - # Compiling the Java class - ("$JAVA_HOME/bin/javac" "$javaClass") - fi - if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then - # Running the downloader - if [ "$MVNW_VERBOSE" = true ]; then - echo " - Running MavenWrapperDownloader.java ..." - fi - ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR") - fi - fi + curl ${QUIET:+"$QUIET"} --user "$MVNW_USERNAME:$MVNW_PASSWORD" -o "$wrapperJarPath" "$wrapperUrl" -f -L || rm -f "$wrapperJarPath" fi + else + log "Falling back to using Java to download" + javaSource="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/MavenWrapperDownloader.java" + javaClass="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/MavenWrapperDownloader.class" + # For Cygwin, switch paths to Windows format before running javac + if $cygwin; then + javaSource=$(cygpath --path --windows "$javaSource") + javaClass=$(cygpath --path --windows "$javaClass") + fi + if [ -e "$javaSource" ]; then + if [ ! -e "$javaClass" ]; then + log " - Compiling MavenWrapperDownloader.java ..." + ("$JAVA_HOME/bin/javac" "$javaSource") + fi + if [ -e "$javaClass" ]; then + log " - Running MavenWrapperDownloader.java ..." + ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$wrapperUrl" "$wrapperJarPath") || rm -f "$wrapperJarPath" + fi + fi + fi fi ########################################################################################## # End of extension ########################################################################################## -export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} -if [ "$MVNW_VERBOSE" = true ]; then - echo $MAVEN_PROJECTBASEDIR +# If specified, validate the SHA-256 sum of the Maven wrapper jar file +wrapperSha256Sum="" +while IFS="=" read -r key value; do + case "$key" in wrapperSha256Sum) + wrapperSha256Sum=$(trim "${value-}") + break + ;; + esac +done <"$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.properties" +if [ -n "$wrapperSha256Sum" ]; then + wrapperSha256Result=false + if command -v sha256sum >/dev/null; then + if echo "$wrapperSha256Sum $wrapperJarPath" | sha256sum -c - >/dev/null 2>&1; then + wrapperSha256Result=true + fi + elif command -v shasum >/dev/null; then + if echo "$wrapperSha256Sum $wrapperJarPath" | shasum -a 256 -c >/dev/null 2>&1; then + wrapperSha256Result=true + fi + else + echo "Checksum validation was requested but neither 'sha256sum' or 'shasum' are available." >&2 + echo "Please install either command, or disable validation by removing 'wrapperSha256Sum' from your maven-wrapper.properties." >&2 + exit 1 + fi + if [ $wrapperSha256Result = false ]; then + echo "Error: Failed to validate Maven wrapper SHA-256, your Maven wrapper might be compromised." >&2 + echo "Investigate or delete $wrapperJarPath to attempt a clean download." >&2 + echo "If you updated your Maven version, you need to update the specified wrapperSha256Sum property." >&2 + exit 1 + fi fi + MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" # For Cygwin, switch paths to Windows format before running java if $cygwin; then - [ -n "$M2_HOME" ] && - M2_HOME=`cygpath --path --windows "$M2_HOME"` - [ -n "$JAVA_HOME" ] && - JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` - [ -n "$CLASSPATH" ] && - CLASSPATH=`cygpath --path --windows "$CLASSPATH"` - [ -n "$MAVEN_PROJECTBASEDIR" ] && - MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` + [ -n "$JAVA_HOME" ] \ + && JAVA_HOME=$(cygpath --path --windows "$JAVA_HOME") + [ -n "$CLASSPATH" ] \ + && CLASSPATH=$(cygpath --path --windows "$CLASSPATH") + [ -n "$MAVEN_PROJECTBASEDIR" ] \ + && MAVEN_PROJECTBASEDIR=$(cygpath --path --windows "$MAVEN_PROJECTBASEDIR") fi +# Provide a "standardized" way to retrieve the CLI args that will +# work with both Windows and non-Windows executions. +MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $*" +export MAVEN_CMD_LINE_ARGS + WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain +# shellcheck disable=SC2086 # safe args exec "$JAVACMD" \ $MAVEN_OPTS \ + $MAVEN_DEBUG_OPTS \ -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ - "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ + "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" diff --git a/mvnw.cmd b/mvnw.cmd old mode 100755 new mode 100644 index a5284c793..c453424c6 --- a/mvnw.cmd +++ b/mvnw.cmd @@ -7,7 +7,7 @@ @REM "License"); you may not use this file except in compliance @REM with the License. You may obtain a copy of the License at @REM -@REM https://www.apache.org/licenses/LICENSE-2.0 +@REM http://www.apache.org/licenses/LICENSE-2.0 @REM @REM Unless required by applicable law or agreed to in writing, @REM software distributed under the License is distributed on an @@ -18,15 +18,14 @@ @REM ---------------------------------------------------------------------------- @REM ---------------------------------------------------------------------------- -@REM Maven2 Start Up Batch script +@REM Apache Maven Wrapper startup batch script, version 3.3.4 @REM @REM Required ENV vars: @REM JAVA_HOME - location of a JDK home dir @REM @REM Optional ENV vars -@REM M2_HOME - location of maven2's installed home dir @REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands -@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending +@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending @REM MAVEN_OPTS - parameters passed to the Java VM when running Maven @REM e.g. to debug Maven itself, use @REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 @@ -37,7 +36,7 @@ @echo off @REM set title of command window title %0 -@REM enable echoing my setting MAVEN_BATCH_ECHO to 'on' +@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on' @if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% @REM set %HOME% to equivalent of $HOME @@ -46,8 +45,8 @@ if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") @REM Execute a user defined script before this one if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre @REM check for pre script, once with legacy .bat ending and once with .cmd ending -if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" -if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd" +if exist "%USERPROFILE%\mavenrc_pre.bat" call "%USERPROFILE%\mavenrc_pre.bat" %* +if exist "%USERPROFILE%\mavenrc_pre.cmd" call "%USERPROFILE%\mavenrc_pre.cmd" %* :skipRcPre @setlocal @@ -60,22 +59,22 @@ set ERROR_CODE=0 @REM ==== START VALIDATION ==== if not "%JAVA_HOME%" == "" goto OkJHome -echo. +echo. >&2 echo Error: JAVA_HOME not found in your environment. >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 -echo. +echo. >&2 goto error :OkJHome if exist "%JAVA_HOME%\bin\java.exe" goto init -echo. +echo. >&2 echo Error: JAVA_HOME is set to an invalid directory. >&2 echo JAVA_HOME = "%JAVA_HOME%" >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 -echo. +echo. >&2 goto error @REM ==== END VALIDATION ==== @@ -120,24 +119,70 @@ SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain -set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.4.2/maven-wrapper-0.4.2.jar" -FOR /F "tokens=1,2 delims==" %%A IN (%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties) DO ( - IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B +set WRAPPER_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.3.4/maven-wrapper-3.3.4.jar" + +FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( + IF "%%A"=="wrapperUrl" SET WRAPPER_URL=%%B ) @REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central @REM This allows using the maven wrapper in projects that prohibit checking in binary data. if exist %WRAPPER_JAR% ( - echo Found %WRAPPER_JAR% + if "%MVNW_VERBOSE%" == "true" ( + echo Found %WRAPPER_JAR% + ) ) else ( - echo Couldn't find %WRAPPER_JAR%, downloading it ... - echo Downloading from: %DOWNLOAD_URL% - powershell -Command "(New-Object Net.WebClient).DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')" - echo Finished downloading %WRAPPER_JAR% + if not "%MVNW_REPOURL%" == "" ( + SET WRAPPER_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.3.4/maven-wrapper-3.3.4.jar" + ) + if "%MVNW_VERBOSE%" == "true" ( + echo Couldn't find %WRAPPER_JAR%, downloading it ... + echo Downloading from: %WRAPPER_URL% + ) + + powershell -Command "&{"^ + "$webclient = new-object System.Net.WebClient;"^ + "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^ + "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^ + "}"^ + "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%WRAPPER_URL%', '%WRAPPER_JAR%')"^ + "}" + if "%MVNW_VERBOSE%" == "true" ( + echo Finished downloading %WRAPPER_JAR% + ) ) @REM End of extension -%MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* +@REM If specified, validate the SHA-256 sum of the Maven wrapper jar file +SET WRAPPER_SHA_256_SUM="" +FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( + IF "%%A"=="wrapperSha256Sum" SET WRAPPER_SHA_256_SUM=%%B +) +IF NOT %WRAPPER_SHA_256_SUM%=="" ( + powershell -Command "&{"^ + "Import-Module $PSHOME\Modules\Microsoft.PowerShell.Utility -Function Get-FileHash;"^ + "$hash = (Get-FileHash \"%WRAPPER_JAR%\" -Algorithm SHA256).Hash.ToLower();"^ + "If('%WRAPPER_SHA_256_SUM%' -ne $hash){"^ + " Write-Error 'Error: Failed to validate Maven wrapper SHA-256, your Maven wrapper might be compromised.';"^ + " Write-Error 'Investigate or delete %WRAPPER_JAR% to attempt a clean download.';"^ + " Write-Error 'If you updated your Maven version, you need to update the specified wrapperSha256Sum property.';"^ + " exit 1;"^ + "}"^ + "}" + if ERRORLEVEL 1 goto error +) + +@REM Provide a "standardized" way to retrieve the CLI args that will +@REM work with both Windows and non-Windows executions. +set MAVEN_CMD_LINE_ARGS=%* + +%MAVEN_JAVA_EXE% ^ + %JVM_CONFIG_MAVEN_PROPS% ^ + %MAVEN_OPTS% ^ + %MAVEN_DEBUG_OPTS% ^ + -classpath %WRAPPER_JAR% ^ + "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" ^ + %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* if ERRORLEVEL 1 goto error goto end @@ -147,15 +192,15 @@ set ERROR_CODE=1 :end @endlocal & set ERROR_CODE=%ERROR_CODE% -if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost +if not "%MAVEN_SKIP_RC%"=="" goto skipRcPost @REM check for post script, once with legacy .bat ending and once with .cmd ending -if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" -if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd" +if exist "%USERPROFILE%\mavenrc_post.bat" call "%USERPROFILE%\mavenrc_post.bat" +if exist "%USERPROFILE%\mavenrc_post.cmd" call "%USERPROFILE%\mavenrc_post.cmd" :skipRcPost @REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' -if "%MAVEN_BATCH_PAUSE%" == "on" pause +if "%MAVEN_BATCH_PAUSE%"=="on" pause -if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE% +if "%MAVEN_TERMINATE_CMD%"=="on" exit %ERROR_CODE% -exit /B %ERROR_CODE% +cmd /C exit /B %ERROR_CODE%