From d777730ee258cbd07b18b22003131f3a1ea89ab7 Mon Sep 17 00:00:00 2001 From: spring-builds Date: Tue, 18 Aug 2026 14:33:24 +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 58727 -> 63093 bytes .mvn/wrapper/maven-wrapper.properties | 22 +- mvnw | 358 ++++++++++++----------- mvnw.cmd | 40 ++- 5 files changed, 223 insertions(+), 314 deletions(-) delete mode 100644 .mvn/wrapper/MavenWrapperDownloader.java diff --git a/.mvn/wrapper/MavenWrapperDownloader.java b/.mvn/wrapper/MavenWrapperDownloader.java deleted file mode 100644 index b901097f..00000000 --- a/.mvn/wrapper/MavenWrapperDownloader.java +++ /dev/null @@ -1,117 +0,0 @@ -/* - * Copyright 2007-present the original author or authors. - * - * Licensed 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 - * - * http://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.net.*; -import java.io.*; -import java.nio.channels.*; -import java.util.Properties; - -public class MavenWrapperDownloader { - - private static final String WRAPPER_VERSION = "0.5.6"; - /** - * 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/" - + WRAPPER_VERSION + "/maven-wrapper-" + WRAPPER_VERSION + ".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 directory '" + 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 { - if (System.getenv("MVNW_USERNAME") != null && System.getenv("MVNW_PASSWORD") != null) { - String username = System.getenv("MVNW_USERNAME"); - char[] password = System.getenv("MVNW_PASSWORD").toCharArray(); - Authenticator.setDefault(new Authenticator() { - @Override - protected PasswordAuthentication getPasswordAuthentication() { - return new PasswordAuthentication(username, password); - } - }); - } - 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 index c1dd12f17644411d6e840bd5a10c6ecda0175f18..eebc3c18b4e0bce4a2a9e66be24c4a410f17a1fa 100644 GIT binary patch delta 53478 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

8~O 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 WfEqXG$Q+>k(Srd77C-Z|)c*sNnG6j8 diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties index 8c79a83a..970a3d02 100644 --- a/.mvn/wrapper/maven-wrapper.properties +++ b/.mvn/wrapper/maven-wrapper.properties @@ -1,18 +1,4 @@ -# 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 -# -# http://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. -distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.4/apache-maven-3.8.4-bin.zip -wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar +wrapperVersion=3.3.4 +distributionType=bin +distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.16/apache-maven-3.9.16-bin.zip +wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.3.4/maven-wrapper-3.3.4.jar diff --git a/mvnw b/mvnw index 5643201c..1ddd97b9 100755 --- a/mvnw +++ b/mvnw @@ -19,7 +19,7 @@ # ---------------------------------------------------------------------------- # ---------------------------------------------------------------------------- -# Maven Start Up Batch script +# Apache Maven Wrapper startup batch script, version 3.3.4 # # Required ENV vars: # ------------------ @@ -27,290 +27,312 @@ # # Optional ENV vars # ----------------- -# M2_HOME - location of maven2's installed home dir # MAVEN_OPTS - parameters passed to the Java VM when running Maven # e.g. to debug Maven itself, use # set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 # MAVEN_SKIP_RC - flag to disable loading of mavenrc files # ---------------------------------------------------------------------------- -if [ -z "$MAVEN_SKIP_RC" ] ; then +if [ -z "$MAVEN_SKIP_RC" ]; then - if [ -f /usr/local/etc/mavenrc ] ; then + if [ -f /usr/local/etc/mavenrc ]; then . /usr/local/etc/mavenrc fi - if [ -f /etc/mavenrc ] ; then + if [ -f /etc/mavenrc ]; then . /etc/mavenrc fi - if [ -f "$HOME/.mavenrc" ] ; then + if [ -f "$HOME/.mavenrc" ]; then . "$HOME/.mavenrc" fi fi # OS specific support. $var _must_ be set to either true or false. -cygwin=false; -darwin=false; +cygwin=false +darwin=false mingw=false -case "`uname`" in - CYGWIN*) cygwin=true ;; - MINGW*) mingw=true;; - Darwin*) darwin=true - # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home - # See https://developer.apple.com/library/mac/qa/qa1170/_index.html - if [ -z "$JAVA_HOME" ]; then - if [ -x "/usr/libexec/java_home" ]; then - export JAVA_HOME="`/usr/libexec/java_home`" - else - export JAVA_HOME="/Library/Java/Home" - fi +case "$(uname)" in +CYGWIN*) cygwin=true ;; +MINGW*) mingw=true ;; +Darwin*) + darwin=true + # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home + # See https://developer.apple.com/library/mac/qa/qa1170/_index.html + if [ -z "$JAVA_HOME" ]; then + if [ -x "/usr/libexec/java_home" ]; then + JAVA_HOME="$(/usr/libexec/java_home)" + export JAVA_HOME + else + JAVA_HOME="/Library/Java/Home" + export JAVA_HOME fi - ;; + fi + ;; esac -if [ -z "$JAVA_HOME" ] ; then - if [ -r /etc/gentoo-release ] ; then - JAVA_HOME=`java-config --jre-home` +if [ -z "$JAVA_HOME" ]; then + if [ -r /etc/gentoo-release ]; then + JAVA_HOME=$(java-config --jre-home) fi fi -if [ -z "$M2_HOME" ] ; then - ## resolve links - $0 may be a link to maven's home - PRG="$0" - - # need this for relative symlinks - while [ -h "$PRG" ] ; do - ls=`ls -ld "$PRG"` - link=`expr "$ls" : '.*-> \(.*\)$'` - 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)`" +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="`\\unset -f command; \\command -v 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 +} + +log() { + if [ "$MVNW_VERBOSE" = true ]; then + printf '%s\n' "$1" fi } -BASE_DIR=`find_maven_basedir "$(pwd)"` +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 - if [ -n "$MVNW_REPOURL" ]; then - jarUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.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 $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 - jarUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" + wget ${QUIET:+"$QUIET"} --http-user="$MVNW_USERNAME" --http-password="$MVNW_PASSWORD" "$wrapperUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" fi - 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" + 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 + curl ${QUIET:+"$QUIET"} --user "$MVNW_USERNAME:$MVNW_PASSWORD" -o "$wrapperJarPath" "$wrapperUrl" -f -L || rm -f "$wrapperJarPath" fi - wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" + 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 - wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"` + javaSource=$(cygpath --path --windows "$javaSource") + javaClass=$(cygpath --path --windows "$javaClass") fi - - if command -v wget > /dev/null; then - if [ "$MVNW_VERBOSE" = true ]; then - echo "Found wget ... using wget" - fi - if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then - wget "$jarUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" - else - wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" - fi - elif command -v curl > /dev/null; then - if [ "$MVNW_VERBOSE" = true ]; then - echo "Found curl ... using curl" - fi - if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then - curl -o "$wrapperJarPath" "$jarUrl" -f - else - curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f - fi - - else - if [ "$MVNW_VERBOSE" = true ]; then - echo "Falling back to using Java to download" - fi - javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java" - # For Cygwin, switch paths to Windows format before running javac - if $cygwin; then - javaClass=`cygpath --path --windows "$javaClass"` - fi - 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 + 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 $@" +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}" \ ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" diff --git a/mvnw.cmd b/mvnw.cmd index 23b7079a..c453424c 100644 --- a/mvnw.cmd +++ b/mvnw.cmd @@ -18,13 +18,12 @@ @REM ---------------------------------------------------------------------------- @REM ---------------------------------------------------------------------------- -@REM Maven 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 keystroke before ending @REM MAVEN_OPTS - parameters passed to the Java VM when running Maven @@ -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,10 +119,10 @@ 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/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" +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 DOWNLOAD_URL=%%B + IF "%%A"=="wrapperUrl" SET WRAPPER_URL=%%B ) @REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central @@ -134,11 +133,11 @@ if exist %WRAPPER_JAR% ( ) ) else ( if not "%MVNW_REPOURL%" == "" ( - SET DOWNLOAD_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" + 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: %DOWNLOAD_URL% + echo Downloading from: %WRAPPER_URL% ) powershell -Command "&{"^ @@ -146,7 +145,7 @@ if exist %WRAPPER_JAR% ( "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('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^ + "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%WRAPPER_URL%', '%WRAPPER_JAR%')"^ "}" if "%MVNW_VERBOSE%" == "true" ( echo Finished downloading %WRAPPER_JAR% @@ -154,6 +153,25 @@ if exist %WRAPPER_JAR% ( ) @REM End of extension +@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=%*