From 073561fc45e3997e9174f2d78342cbd637ccb1de Mon Sep 17 00:00:00 2001 From: Andreas Dangel Date: Fri, 1 Aug 2025 12:26:40 +0200 Subject: [PATCH 1/3] Add java25 samples from PMD --- java-regression-tests-1.0.0-SNAPSHOT.jar | Bin 112442 -> 124948 bytes pom.xml | 2 +- .../Jep511_ModuleImportDeclarations.java | 19 ++++ ...ilesAndInstanceMainMethodsAfterJava23.java | 35 +++++++ .../Jep513_FlexibleConstructorBodies.java | 97 ++++++++++++++++++ 5 files changed, 152 insertions(+), 1 deletion(-) create mode 100644 src/main/java/net/sourceforge/pmd/java/regression/tests/java25/Jep511_ModuleImportDeclarations.java create mode 100644 src/main/java/net/sourceforge/pmd/java/regression/tests/java25/Jep512_CompactSourceFilesAndInstanceMainMethodsAfterJava23.java create mode 100644 src/main/java/net/sourceforge/pmd/java/regression/tests/java25/Jep513_FlexibleConstructorBodies.java diff --git a/java-regression-tests-1.0.0-SNAPSHOT.jar b/java-regression-tests-1.0.0-SNAPSHOT.jar index 118d85138f3ba67670462237d60aec8433924676..08a949a0cadd582ac30fac780d8a55838302b23f 100644 GIT binary patch delta 94838 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�$v$NNGM9 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 delta 83404 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%0AQ~{YuAf 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 diff --git a/pom.xml b/pom.xml index 166606a..5375b81 100644 --- a/pom.xml +++ b/pom.xml @@ -7,7 +7,7 @@ jar - 22 + 25 UTF-8 diff --git a/src/main/java/net/sourceforge/pmd/java/regression/tests/java25/Jep511_ModuleImportDeclarations.java b/src/main/java/net/sourceforge/pmd/java/regression/tests/java25/Jep511_ModuleImportDeclarations.java new file mode 100644 index 0000000..53053f0 --- /dev/null +++ b/src/main/java/net/sourceforge/pmd/java/regression/tests/java25/Jep511_ModuleImportDeclarations.java @@ -0,0 +1,19 @@ +// SPDX-License-Identifier: BSD-3-Clause +package net.sourceforge.pmd.java.regression.tests.java25; + +import module java.base; +import module java.desktop; + +import java.util.List; + +/** + * @see JEP 511: Module Import Declarations (Java 25) + */ +public class Jep511_ModuleImportDeclarations { + public static void main(String[] args) { + File f = new File("."); + List myList = new ArrayList<>(); + myList.add(f); + System.out.println("myList = " + myList); + } +} diff --git a/src/main/java/net/sourceforge/pmd/java/regression/tests/java25/Jep512_CompactSourceFilesAndInstanceMainMethodsAfterJava23.java b/src/main/java/net/sourceforge/pmd/java/regression/tests/java25/Jep512_CompactSourceFilesAndInstanceMainMethodsAfterJava23.java new file mode 100644 index 0000000..6b0a9fd --- /dev/null +++ b/src/main/java/net/sourceforge/pmd/java/regression/tests/java25/Jep512_CompactSourceFilesAndInstanceMainMethodsAfterJava23.java @@ -0,0 +1,35 @@ +// SPDX-License-Identifier: BSD-3-Clause + +// explicit imports are possible as well (although not really needed in this example) +import java.util.Arrays; +import java.util.stream.Collectors; + +import static java.lang.IO.println; + +/** + * @see JEP 512: Compact Source Files and Instance Main Methods (Java 25) + */ + +// Top-level members are interpreted as members of the implicit class (methods and fields) +String greetingField = "Hello, World! (Field)"; +String greeting() { + return "Hello, World! (Method)"; +} +String greetingText2 = Arrays.asList("Hello", "World!", "(with imports)").stream().collect(Collectors.joining(", ")); + +void main() { + System.out.println(greetingField); + IO.println(greeting()); // java.lang.IO.println via qualifier + println(greetingText2); // java.lang.IO.println via static import + + // java.lang.IO.readln + String name = IO.readln("Please enter your name: "); + IO.print("Pleased to meet you, "); + println(name); + + // java.util.List is automatically available via implicit "import module java.base" + var authors = List.of("James", "Bill", "Guy", "Alex", "Dan", "Gavin"); + for (var authorName : authors) { + println(authorName + ": " + authorName.length()); + } +} diff --git a/src/main/java/net/sourceforge/pmd/java/regression/tests/java25/Jep513_FlexibleConstructorBodies.java b/src/main/java/net/sourceforge/pmd/java/regression/tests/java25/Jep513_FlexibleConstructorBodies.java new file mode 100644 index 0000000..feb4b46 --- /dev/null +++ b/src/main/java/net/sourceforge/pmd/java/regression/tests/java25/Jep513_FlexibleConstructorBodies.java @@ -0,0 +1,97 @@ +// SPDX-License-Identifier: BSD-3-Clause +package net.sourceforge.pmd.java.regression.tests.java25; + +import java.math.BigInteger; +import java.security.cert.Certificate; +import java.security.interfaces.DSAPublicKey; +import java.security.interfaces.RSAKey; + +/** + * @see JEP 513: Flexible Constructor Bodies (Java 25) + */ +public class Jep513_FlexibleConstructorBodies { + + // Example: Validating superclass constructor arguments + public class PositiveBigInteger extends BigInteger { + public PositiveBigInteger(long value) { + if (value <= 0) throw new IllegalArgumentException("value must be positive"); + super(String.valueOf(value)); + } + } + + // Example: Preparing superclass constructor arguments + public class Super { + public Super(byte[] bytes) {} + } + public class Sub extends Super { + public Sub(Certificate certificate) { + var publicKey = certificate.getPublicKey(); + if (publicKey == null) throw new NullPointerException(); + byte[] certBytes = switch (publicKey) { + case RSAKey rsaKey -> rsaKey.getModulus().toByteArray(); + case DSAPublicKey dsaKey -> dsaKey.getY().toByteArray(); + default -> new byte[0]; + }; + super(certBytes); + } + } + + // Example: Sharing superclass constructor arguments + public class C { + private final int i; + public C(int i) { + this.i = i; + } + } + public class Super2 { + private final C x; + private final C y; + public Super2(C x, C y) { + this.x = x; + this.y = y; + } + } + public class Sub2 extends Super2 { + public Sub2(int i) { + var x = new C(i); + super(x, x); + } + } + + // Using enclosing instances in early construction contexts + class Outer { + int i; + void hello() { System.out.println("Hello"); } + + class Inner { + int j; + + Inner() { + var x = i; // OK - implicitly refers to field of enclosing instance + var y = Outer.this.i; // OK - explicitly refers to field of enclosing instance + hello(); // OK - implicitly refers to method of enclosing instance + Outer.this.hello(); // OK - explicitly refers to method of enclosing instance + super(); + } + } + } + + // Early assignment to fields + class Super3 { + Super3() { overriddenMethod(); } + void overriddenMethod() { System.out.println("hello"); } + } + class Sub3 extends Super3 { + final int x; + + Sub3(int x) { + this.x = x; // Initialize the field + super(); // Then invoke the Super constructor explicitly + } + + @Override + void overriddenMethod() { System.out.println(x); } + } + + +} From 93b2f0818599a07a6057fd2bbb275d0b43b495cc Mon Sep 17 00:00:00 2001 From: Andreas Dangel Date: Fri, 1 Aug 2025 12:29:22 +0200 Subject: [PATCH 2/3] Update maven and plugins - maven from 3.8.6 to 3.9.11 - maven-wrapper from 3.1.0 to 3.3.2 - maven-compiler-plugin from 3.10.1 to 3.14.0 - maven-jar-plugin from 3.3.0 to 3.4.2 --- .mvn/wrapper/maven-wrapper.properties | 9 +- java-regression-tests-1.0.0-SNAPSHOT.jar | Bin 124948 -> 124950 bytes mvnw | 457 ++++++++++------------- mvnw.cmd | 287 ++++++-------- pom.xml | 4 +- 5 files changed, 331 insertions(+), 426 deletions(-) diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties index 57bb584..12fbe1e 100644 --- a/.mvn/wrapper/maven-wrapper.properties +++ b/.mvn/wrapper/maven-wrapper.properties @@ -5,14 +5,15 @@ # 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.6/apache-maven-3.8.6-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.2 +distributionType=only-script +distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.11/apache-maven-3.9.11-bin.zip diff --git a/java-regression-tests-1.0.0-SNAPSHOT.jar b/java-regression-tests-1.0.0-SNAPSHOT.jar index 08a949a0cadd582ac30fac780d8a55838302b23f..3bb0457af2dd7f0e8a99f58c66f0eea232226184 100644 GIT binary patch delta 3206 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 W+QCpJBSv8MQ7=K#Z^db#@7}-mpR02K diff --git a/mvnw b/mvnw index 5643201..19529dd 100755 --- a/mvnw +++ b/mvnw @@ -19,298 +19,241 @@ # ---------------------------------------------------------------------------- # ---------------------------------------------------------------------------- -# Maven Start Up Batch script -# -# Required ENV vars: -# ------------------ -# JAVA_HOME - location of a JDK home dir +# Apache Maven Wrapper startup batch script, version 3.3.2 # # 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 +# JAVA_HOME - location of a JDK home dir, required when download maven via java source +# MVNW_REPOURL - repo url base for downloading maven distribution +# MVNW_USERNAME/MVNW_PASSWORD - user and password for downloading maven +# MVNW_VERBOSE - true: enable verbose log; debug: trace the mvnw script; others: silence the output # ---------------------------------------------------------------------------- -if [ -z "$MAVEN_SKIP_RC" ] ; then - - if [ -f /usr/local/etc/mavenrc ] ; then - . /usr/local/etc/mavenrc - fi - - if [ -f /etc/mavenrc ] ; then - . /etc/mavenrc - fi +set -euf +[ "${MVNW_VERBOSE-}" != debug ] || set -x - if [ -f "$HOME/.mavenrc" ] ; then - . "$HOME/.mavenrc" - fi +# OS specific support. +native_path() { printf %s\\n "$1"; } +case "$(uname)" in +CYGWIN* | MINGW*) + [ -z "${JAVA_HOME-}" ] || JAVA_HOME="$(cygpath --unix "$JAVA_HOME")" + native_path() { cygpath --path --windows "$1"; } + ;; +esac -fi +# set JAVACMD and JAVACCMD +set_java_home() { + # For Cygwin and MinGW, ensure paths are in Unix format before anything is touched + 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" + JAVACCMD="$JAVA_HOME/jre/sh/javac" + else + JAVACMD="$JAVA_HOME/bin/java" + JAVACCMD="$JAVA_HOME/bin/javac" -# OS specific support. $var _must_ be set to either true or 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" + if [ ! -x "$JAVACMD" ] || [ ! -x "$JAVACCMD" ]; then + echo "The JAVA_HOME environment variable is not defined correctly, so mvnw cannot run." >&2 + echo "JAVA_HOME is set to \"$JAVA_HOME\", but \"\$JAVA_HOME/bin/java\" or \"\$JAVA_HOME/bin/javac\" does not exist." >&2 + return 1 fi fi - ;; -esac - -if [ -z "$JAVA_HOME" ] ; then - if [ -r /etc/gentoo-release ] ; then - JAVA_HOME=`java-config --jre-home` + else + JAVACMD="$( + 'set' +e + 'unset' -f command 2>/dev/null + 'command' -v java + )" || : + JAVACCMD="$( + 'set' +e + 'unset' -f command 2>/dev/null + 'command' -v javac + )" || : + + if [ ! -x "${JAVACMD-}" ] || [ ! -x "${JAVACCMD-}" ]; then + echo "The java/javac command does not exist in PATH nor is JAVA_HOME set, so mvnw cannot run." >&2 + return 1 + fi 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 +# hash string like Java String::hashCode +hash_string() { + str="${1:-}" h=0 + while [ -n "$str" ]; do + char="${str%"${str#?}"}" + h=$(((h * 31 + $(LC_CTYPE=C printf %d "'$char")) % 4294967296)) + str="${str#?}" done + printf %x\\n $h +} - saveddir=`pwd` +verbose() { :; } +[ "${MVNW_VERBOSE-}" != true ] || verbose() { printf %s\\n "${1-}"; } - M2_HOME=`dirname "$PRG"`/.. +die() { + printf %s\\n "$1" >&2 + exit 1 +} - # make it fully qualified - M2_HOME=`cd "$M2_HOME" && pwd` +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:]' +} - cd "$saveddir" - # echo Using m2 at $M2_HOME -fi +# parse distributionUrl and optional distributionSha256Sum, requires .mvn/wrapper/maven-wrapper.properties +while IFS="=" read -r key value; do + case "${key-}" in + distributionUrl) distributionUrl=$(trim "${value-}") ;; + distributionSha256Sum) distributionSha256Sum=$(trim "${value-}") ;; + esac +done <"${0%/*}/.mvn/wrapper/maven-wrapper.properties" +[ -n "${distributionUrl-}" ] || die "cannot read distributionUrl property in ${0%/*}/.mvn/wrapper/maven-wrapper.properties" + +case "${distributionUrl##*/}" in +maven-mvnd-*bin.*) + MVN_CMD=mvnd.sh _MVNW_REPO_PATTERN=/maven/mvnd/ + case "${PROCESSOR_ARCHITECTURE-}${PROCESSOR_ARCHITEW6432-}:$(uname -a)" in + *AMD64:CYGWIN* | *AMD64:MINGW*) distributionPlatform=windows-amd64 ;; + :Darwin*x86_64) distributionPlatform=darwin-amd64 ;; + :Darwin*arm64) distributionPlatform=darwin-aarch64 ;; + :Linux*x86_64*) distributionPlatform=linux-amd64 ;; + *) + echo "Cannot detect native platform for mvnd on $(uname)-$(uname -m), use pure java version" >&2 + distributionPlatform=linux-amd64 + ;; + esac + distributionUrl="${distributionUrl%-bin.*}-$distributionPlatform.zip" + ;; +maven-mvnd-*) MVN_CMD=mvnd.sh _MVNW_REPO_PATTERN=/maven/mvnd/ ;; +*) MVN_CMD="mvn${0##*/mvnw}" _MVNW_REPO_PATTERN=/org/apache/maven/ ;; +esac -# 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"` -fi +# apply MVNW_REPOURL and calculate MAVEN_HOME +# maven home pattern: ~/.m2/wrapper/dists/{apache-maven-,maven-mvnd--}/ +[ -z "${MVNW_REPOURL-}" ] || distributionUrl="$MVNW_REPOURL$_MVNW_REPO_PATTERN${distributionUrl#*"$_MVNW_REPO_PATTERN"}" +distributionUrlName="${distributionUrl##*/}" +distributionUrlNameMain="${distributionUrlName%.*}" +distributionUrlNameMain="${distributionUrlNameMain%-bin}" +MAVEN_USER_HOME="${MAVEN_USER_HOME:-${HOME}/.m2}" +MAVEN_HOME="${MAVEN_USER_HOME}/wrapper/dists/${distributionUrlNameMain-}/$(hash_string "$distributionUrl")" + +exec_maven() { + unset MVNW_VERBOSE MVNW_USERNAME MVNW_PASSWORD MVNW_REPOURL || : + exec "$MAVEN_HOME/bin/$MVN_CMD" "$@" || die "cannot exec $MAVEN_HOME/bin/$MVN_CMD" +} -# 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 [ -d "$MAVEN_HOME" ]; then + verbose "found existing MAVEN_HOME at $MAVEN_HOME" + exec_maven "$@" fi -if [ -z "$JAVA_HOME" ]; 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" - else - javaExecutable="`readlink -f \"$javaExecutable\"`" - fi - javaHome="`dirname \"$javaExecutable\"`" - javaHome=`expr "$javaHome" : '\(.*\)/bin'` - JAVA_HOME="$javaHome" - export JAVA_HOME - fi - fi -fi +case "${distributionUrl-}" in +*?-bin.zip | *?maven-mvnd-?*-?*.zip) ;; +*) die "distributionUrl is not valid, must match *-bin.zip or maven-mvnd-*.zip, but found '${distributionUrl-}'" ;; +esac -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`" - fi +# prepare tmp dir +if TMP_DOWNLOAD_DIR="$(mktemp -d)" && [ -d "$TMP_DOWNLOAD_DIR" ]; then + clean() { rm -rf -- "$TMP_DOWNLOAD_DIR"; } + trap clean HUP INT TERM EXIT +else + die "cannot create temp dir" fi -if [ ! -x "$JAVACMD" ] ; then - echo "Error: JAVA_HOME is not defined correctly." >&2 - echo " We cannot execute $JAVACMD" >&2 - exit 1 -fi +mkdir -p -- "${MAVEN_HOME%/*}" -if [ -z "$JAVA_HOME" ] ; then - echo "Warning: JAVA_HOME environment variable is not set." +# Download and Install Apache Maven +verbose "Couldn't find MAVEN_HOME, downloading and installing it ..." +verbose "Downloading from: $distributionUrl" +verbose "Downloading to: $TMP_DOWNLOAD_DIR/$distributionUrlName" + +# select .zip or .tar.gz +if ! command -v unzip >/dev/null; then + distributionUrl="${distributionUrl%.zip}.tar.gz" + distributionUrlName="${distributionUrl##*/}" fi -CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher +# verbose opt +__MVNW_QUIET_WGET=--quiet __MVNW_QUIET_CURL=--silent __MVNW_QUIET_UNZIP=-q __MVNW_QUIET_TAR='' +[ "${MVNW_VERBOSE-}" != true ] || __MVNW_QUIET_WGET='' __MVNW_QUIET_CURL='' __MVNW_QUIET_UNZIP='' __MVNW_QUIET_TAR=v -# traverses directory structure from process work directory to filesystem root -# first directory with .mvn subdirectory is considered project base directory -find_maven_basedir() { +# normalize http auth +case "${MVNW_PASSWORD:+has-password}" in +'') MVNW_USERNAME='' MVNW_PASSWORD='' ;; +has-password) [ -n "${MVNW_USERNAME-}" ] || MVNW_USERNAME='' MVNW_PASSWORD='' ;; +esac - if [ -z "$1" ] - then - echo "Path not specified to find_maven_basedir" - return 1 - fi +if [ -z "${MVNW_USERNAME-}" ] && command -v wget >/dev/null; then + verbose "Found wget ... using wget" + wget ${__MVNW_QUIET_WGET:+"$__MVNW_QUIET_WGET"} "$distributionUrl" -O "$TMP_DOWNLOAD_DIR/$distributionUrlName" || die "wget: Failed to fetch $distributionUrl" +elif [ -z "${MVNW_USERNAME-}" ] && command -v curl >/dev/null; then + verbose "Found curl ... using curl" + curl ${__MVNW_QUIET_CURL:+"$__MVNW_QUIET_CURL"} -f -L -o "$TMP_DOWNLOAD_DIR/$distributionUrlName" "$distributionUrl" || die "curl: Failed to fetch $distributionUrl" +elif set_java_home; then + verbose "Falling back to use Java to download" + javaSource="$TMP_DOWNLOAD_DIR/Downloader.java" + targetZip="$TMP_DOWNLOAD_DIR/$distributionUrlName" + cat >"$javaSource" <<-END + public class Downloader extends java.net.Authenticator + { + protected java.net.PasswordAuthentication getPasswordAuthentication() + { + return new java.net.PasswordAuthentication( System.getenv( "MVNW_USERNAME" ), System.getenv( "MVNW_PASSWORD" ).toCharArray() ); + } + public static void main( String[] args ) throws Exception + { + setDefault( new Downloader() ); + java.nio.file.Files.copy( java.net.URI.create( args[0] ).toURL().openStream(), java.nio.file.Paths.get( args[1] ).toAbsolutePath().normalize() ); + } + } + END + # For Cygwin/MinGW, switch paths to Windows format before running javac and java + verbose " - Compiling Downloader.java ..." + "$(native_path "$JAVACCMD")" "$(native_path "$javaSource")" || die "Failed to compile Downloader.java" + verbose " - Running Downloader.java ..." + "$(native_path "$JAVACMD")" -cp "$(native_path "$TMP_DOWNLOAD_DIR")" Downloader "$distributionUrl" "$(native_path "$targetZip")" +fi - basedir="$1" - wdir="$1" - while [ "$wdir" != '/' ] ; do - if [ -d "$wdir"/.mvn ] ; then - basedir=$wdir - break +# If specified, validate the SHA-256 sum of the Maven distribution zip file +if [ -n "${distributionSha256Sum-}" ]; then + distributionSha256Result=false + if [ "$MVN_CMD" = mvnd.sh ]; then + echo "Checksum validation is not supported for maven-mvnd." >&2 + echo "Please disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." >&2 + exit 1 + elif command -v sha256sum >/dev/null; then + if echo "$distributionSha256Sum $TMP_DOWNLOAD_DIR/$distributionUrlName" | sha256sum -c >/dev/null 2>&1; then + distributionSha256Result=true fi - # workaround for JBEAP-8937 (on Solaris 10/Sparc) - if [ -d "${wdir}" ]; then - wdir=`cd "$wdir/.."; pwd` + elif command -v shasum >/dev/null; then + if echo "$distributionSha256Sum $TMP_DOWNLOAD_DIR/$distributionUrlName" | shasum -a 256 -c >/dev/null 2>&1; then + distributionSha256Result=true fi - # end of workaround - done - echo "${basedir}" -} - -# concatenates all lines of a file -concat_lines() { - if [ -f "$1" ]; then - echo "$(tr -s '\n' ' ' < "$1")" + else + echo "Checksum validation was requested but neither 'sha256sum' or 'shasum' are available." >&2 + echo "Please install either command, or disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." >&2 + exit 1 + fi + if [ $distributionSha256Result = false ]; then + echo "Error: Failed to validate Maven distribution SHA-256, your Maven distribution might be compromised." >&2 + echo "If you updated your Maven version, you need to update the specified distributionSha256Sum property." >&2 + exit 1 fi -} - -BASE_DIR=`find_maven_basedir "$(pwd)"` -if [ -z "$BASE_DIR" ]; then - exit 1; fi -########################################################################################## -# 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 +# unzip and move +if command -v unzip >/dev/null; then + unzip ${__MVNW_QUIET_UNZIP:+"$__MVNW_QUIET_UNZIP"} "$TMP_DOWNLOAD_DIR/$distributionUrlName" -d "$TMP_DOWNLOAD_DIR" || die "failed to unzip" 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" - else - jarUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" - 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" - fi - wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" - if $cygwin; then - wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"` - 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 - fi -fi -########################################################################################## -# End of extension -########################################################################################## - -export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} -if [ "$MVNW_VERBOSE" = true ]; then - echo $MAVEN_PROJECTBASEDIR + tar xzf${__MVNW_QUIET_TAR:+"$__MVNW_QUIET_TAR"} "$TMP_DOWNLOAD_DIR/$distributionUrlName" -C "$TMP_DOWNLOAD_DIR" || die "failed to untar" 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"` -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 +printf %s\\n "$distributionUrl" >"$TMP_DOWNLOAD_DIR/$distributionUrlNameMain/mvnw.url" +mv -- "$TMP_DOWNLOAD_DIR/$distributionUrlNameMain" "$MAVEN_HOME" || [ -d "$MAVEN_HOME" ] || die "fail to move MAVEN_HOME" -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 "$@" +clean || : +exec_maven "$@" diff --git a/mvnw.cmd b/mvnw.cmd index 23b7079..b150b91 100644 --- a/mvnw.cmd +++ b/mvnw.cmd @@ -1,3 +1,4 @@ +<# : batch portion @REM ---------------------------------------------------------------------------- @REM Licensed to the Apache Software Foundation (ASF) under one @REM or more contributor license agreements. See the NOTICE file @@ -18,171 +19,131 @@ @REM ---------------------------------------------------------------------------- @REM ---------------------------------------------------------------------------- -@REM Maven Start Up Batch script -@REM -@REM Required ENV vars: -@REM JAVA_HOME - location of a JDK home dir +@REM Apache Maven Wrapper startup batch script, version 3.3.2 @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 -@REM e.g. to debug Maven itself, use -@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 -@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files +@REM MVNW_REPOURL - repo url base for downloading maven distribution +@REM MVNW_USERNAME/MVNW_PASSWORD - user and password for downloading maven +@REM MVNW_VERBOSE - true: enable verbose log; others: silence the output @REM ---------------------------------------------------------------------------- -@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' -@echo off -@REM set title of command window -title %0 -@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 -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 "%USERPROFILE%\mavenrc_pre.bat" call "%USERPROFILE%\mavenrc_pre.bat" %* -if exist "%USERPROFILE%\mavenrc_pre.cmd" call "%USERPROFILE%\mavenrc_pre.cmd" %* -:skipRcPre - -@setlocal - -set ERROR_CODE=0 - -@REM To isolate internal variables from possible post scripts, we use another setlocal -@setlocal - -@REM ==== START VALIDATION ==== -if not "%JAVA_HOME%" == "" goto OkJHome - -echo. -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. -goto error - -:OkJHome -if exist "%JAVA_HOME%\bin\java.exe" goto init - -echo. -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. -goto error - -@REM ==== END VALIDATION ==== - -:init - -@REM Find the project base dir, i.e. the directory that contains the folder ".mvn". -@REM Fallback to current working directory if not found. - -set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% -IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir - -set EXEC_DIR=%CD% -set WDIR=%EXEC_DIR% -:findBaseDir -IF EXIST "%WDIR%"\.mvn goto baseDirFound -cd .. -IF "%WDIR%"=="%CD%" goto baseDirNotFound -set WDIR=%CD% -goto findBaseDir - -:baseDirFound -set MAVEN_PROJECTBASEDIR=%WDIR% -cd "%EXEC_DIR%" -goto endDetectBaseDir - -:baseDirNotFound -set MAVEN_PROJECTBASEDIR=%EXEC_DIR% -cd "%EXEC_DIR%" - -:endDetectBaseDir - -IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig - -@setlocal EnableExtensions EnableDelayedExpansion -for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a -@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% - -:endReadAdditionalConfig - -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" - -FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( - IF "%%A"=="wrapperUrl" SET DOWNLOAD_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% ( - if "%MVNW_VERBOSE%" == "true" ( - echo Found %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" - ) - if "%MVNW_VERBOSE%" == "true" ( - echo Couldn't find %WRAPPER_JAR%, downloading it ... - echo Downloading from: %DOWNLOAD_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('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^ - "}" - if "%MVNW_VERBOSE%" == "true" ( - echo Finished downloading %WRAPPER_JAR% - ) +@IF "%__MVNW_ARG0_NAME__%"=="" (SET __MVNW_ARG0_NAME__=%~nx0) +@SET __MVNW_CMD__= +@SET __MVNW_ERROR__= +@SET __MVNW_PSMODULEP_SAVE=%PSModulePath% +@SET PSModulePath= +@FOR /F "usebackq tokens=1* delims==" %%A IN (`powershell -noprofile "& {$scriptDir='%~dp0'; $script='%__MVNW_ARG0_NAME__%'; icm -ScriptBlock ([Scriptblock]::Create((Get-Content -Raw '%~f0'))) -NoNewScope}"`) DO @( + IF "%%A"=="MVN_CMD" (set __MVNW_CMD__=%%B) ELSE IF "%%B"=="" (echo %%A) ELSE (echo %%A=%%B) ) -@REM End of extension - -@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 - -:error -set ERROR_CODE=1 - -:end -@endlocal & set ERROR_CODE=%ERROR_CODE% - -if not "%MAVEN_SKIP_RC%"=="" goto skipRcPost -@REM check for post script, once with legacy .bat ending and once with .cmd ending -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_TERMINATE_CMD%"=="on" exit %ERROR_CODE% - -cmd /C exit /B %ERROR_CODE% +@SET PSModulePath=%__MVNW_PSMODULEP_SAVE% +@SET __MVNW_PSMODULEP_SAVE= +@SET __MVNW_ARG0_NAME__= +@SET MVNW_USERNAME= +@SET MVNW_PASSWORD= +@IF NOT "%__MVNW_CMD__%"=="" (%__MVNW_CMD__% %*) +@echo Cannot start maven from wrapper >&2 && exit /b 1 +@GOTO :EOF +: end batch / begin powershell #> + +$ErrorActionPreference = "Stop" +if ($env:MVNW_VERBOSE -eq "true") { + $VerbosePreference = "Continue" +} + +# calculate distributionUrl, requires .mvn/wrapper/maven-wrapper.properties +$distributionUrl = (Get-Content -Raw "$scriptDir/.mvn/wrapper/maven-wrapper.properties" | ConvertFrom-StringData).distributionUrl +if (!$distributionUrl) { + Write-Error "cannot read distributionUrl property in $scriptDir/.mvn/wrapper/maven-wrapper.properties" +} + +switch -wildcard -casesensitive ( $($distributionUrl -replace '^.*/','') ) { + "maven-mvnd-*" { + $USE_MVND = $true + $distributionUrl = $distributionUrl -replace '-bin\.[^.]*$',"-windows-amd64.zip" + $MVN_CMD = "mvnd.cmd" + break + } + default { + $USE_MVND = $false + $MVN_CMD = $script -replace '^mvnw','mvn' + break + } +} + +# apply MVNW_REPOURL and calculate MAVEN_HOME +# maven home pattern: ~/.m2/wrapper/dists/{apache-maven-,maven-mvnd--}/ +if ($env:MVNW_REPOURL) { + $MVNW_REPO_PATTERN = if ($USE_MVND) { "/org/apache/maven/" } else { "/maven/mvnd/" } + $distributionUrl = "$env:MVNW_REPOURL$MVNW_REPO_PATTERN$($distributionUrl -replace '^.*'+$MVNW_REPO_PATTERN,'')" +} +$distributionUrlName = $distributionUrl -replace '^.*/','' +$distributionUrlNameMain = $distributionUrlName -replace '\.[^.]*$','' -replace '-bin$','' +$MAVEN_HOME_PARENT = "$HOME/.m2/wrapper/dists/$distributionUrlNameMain" +if ($env:MAVEN_USER_HOME) { + $MAVEN_HOME_PARENT = "$env:MAVEN_USER_HOME/wrapper/dists/$distributionUrlNameMain" +} +$MAVEN_HOME_NAME = ([System.Security.Cryptography.MD5]::Create().ComputeHash([byte[]][char[]]$distributionUrl) | ForEach-Object {$_.ToString("x2")}) -join '' +$MAVEN_HOME = "$MAVEN_HOME_PARENT/$MAVEN_HOME_NAME" + +if (Test-Path -Path "$MAVEN_HOME" -PathType Container) { + Write-Verbose "found existing MAVEN_HOME at $MAVEN_HOME" + Write-Output "MVN_CMD=$MAVEN_HOME/bin/$MVN_CMD" + exit $? +} + +if (! $distributionUrlNameMain -or ($distributionUrlName -eq $distributionUrlNameMain)) { + Write-Error "distributionUrl is not valid, must end with *-bin.zip, but found $distributionUrl" +} + +# prepare tmp dir +$TMP_DOWNLOAD_DIR_HOLDER = New-TemporaryFile +$TMP_DOWNLOAD_DIR = New-Item -Itemtype Directory -Path "$TMP_DOWNLOAD_DIR_HOLDER.dir" +$TMP_DOWNLOAD_DIR_HOLDER.Delete() | Out-Null +trap { + if ($TMP_DOWNLOAD_DIR.Exists) { + try { Remove-Item $TMP_DOWNLOAD_DIR -Recurse -Force | Out-Null } + catch { Write-Warning "Cannot remove $TMP_DOWNLOAD_DIR" } + } +} + +New-Item -Itemtype Directory -Path "$MAVEN_HOME_PARENT" -Force | Out-Null + +# Download and Install Apache Maven +Write-Verbose "Couldn't find MAVEN_HOME, downloading and installing it ..." +Write-Verbose "Downloading from: $distributionUrl" +Write-Verbose "Downloading to: $TMP_DOWNLOAD_DIR/$distributionUrlName" + +$webclient = New-Object System.Net.WebClient +if ($env:MVNW_USERNAME -and $env:MVNW_PASSWORD) { + $webclient.Credentials = New-Object System.Net.NetworkCredential($env:MVNW_USERNAME, $env:MVNW_PASSWORD) +} +[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 +$webclient.DownloadFile($distributionUrl, "$TMP_DOWNLOAD_DIR/$distributionUrlName") | Out-Null + +# If specified, validate the SHA-256 sum of the Maven distribution zip file +$distributionSha256Sum = (Get-Content -Raw "$scriptDir/.mvn/wrapper/maven-wrapper.properties" | ConvertFrom-StringData).distributionSha256Sum +if ($distributionSha256Sum) { + if ($USE_MVND) { + Write-Error "Checksum validation is not supported for maven-mvnd. `nPlease disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." + } + Import-Module $PSHOME\Modules\Microsoft.PowerShell.Utility -Function Get-FileHash + if ((Get-FileHash "$TMP_DOWNLOAD_DIR/$distributionUrlName" -Algorithm SHA256).Hash.ToLower() -ne $distributionSha256Sum) { + Write-Error "Error: Failed to validate Maven distribution SHA-256, your Maven distribution might be compromised. If you updated your Maven version, you need to update the specified distributionSha256Sum property." + } +} + +# unzip and move +Expand-Archive "$TMP_DOWNLOAD_DIR/$distributionUrlName" -DestinationPath "$TMP_DOWNLOAD_DIR" | Out-Null +Rename-Item -Path "$TMP_DOWNLOAD_DIR/$distributionUrlNameMain" -NewName $MAVEN_HOME_NAME | Out-Null +try { + Move-Item -Path "$TMP_DOWNLOAD_DIR/$MAVEN_HOME_NAME" -Destination $MAVEN_HOME_PARENT | Out-Null +} catch { + if (! (Test-Path -Path "$MAVEN_HOME" -PathType Container)) { + Write-Error "fail to move MAVEN_HOME" + } +} finally { + try { Remove-Item $TMP_DOWNLOAD_DIR -Recurse -Force | Out-Null } + catch { Write-Warning "Cannot remove $TMP_DOWNLOAD_DIR" } +} + +Write-Output "MVN_CMD=$MAVEN_HOME/bin/$MVN_CMD" diff --git a/pom.xml b/pom.xml index 5375b81..1e69a94 100644 --- a/pom.xml +++ b/pom.xml @@ -20,13 +20,13 @@ org.apache.maven.plugins maven-compiler-plugin - 3.10.1 + 3.14.0 org.apache.maven.plugins maven-jar-plugin - 3.3.0 + 3.4.2