Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package maven for openSUSE:Factory checked in at 2024-08-27 19:39:32 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/maven (Old) and /work/SRC/openSUSE:Factory/.maven.new.2698 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "maven" Tue Aug 27 19:39:32 2024 rev:27 rq:1196271 version:3.9.9 Changes: -------- --- /work/SRC/openSUSE:Factory/maven/maven.changes 2024-06-18 22:52:58.808856155 +0200 +++ /work/SRC/openSUSE:Factory/.maven.new.2698/maven.changes 2024-08-27 19:39:55.973984771 +0200 @@ -1,0 +2,24 @@ +Tue Aug 27 08:46:19 UTC 2024 - Fridrich Strba <[email protected]> + +- Upgrade to upstream version 3.9.9 + * Bug + + MNG-8159: Fix search for topDirectory when using -f / --file + for Maven 3.9.x + + MNG-8165: Maven does not find extensions for -f when current + dir is root + + MNG-8177: Warning + "'dependencyManagement.dependencies.dependency.systemPath' for + com.sun:tools:jar refers to a non-existing file + C:\Temp\jdk-11.0.23\..\lib\tools.jar" + + MNG-8178: Profile activation based on OS properties is broken + for "mvn site" + + MNG-8180: Resolver will blindly assume it is deploying a + plugin by presence of META-INF/maven/plugins.xml in JAR + + MNG-8182: Missing or mismatching Trusted Checksum for some + artifacts is not properly reported + + MNG-8188: [REGRESSION] Property not resolved in profile + pluginManagement + * Task + + MNG-8206: Remove Maven 2.1 (v 2.0) compatibility bits + +------------------------------------------------------------------- Old: ---- apache-maven-3.9.8-build.tar.xz apache-maven-3.9.8-src.tar.gz New: ---- apache-maven-3.9.9-src.tar.gz apache-maven-build.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ maven.spec ++++++ --- /var/tmp/diff_new_pack.y8AfyT/_old 2024-08-27 19:39:56.562009663 +0200 +++ /var/tmp/diff_new_pack.y8AfyT/_new 2024-08-27 19:39:56.566009832 +0200 @@ -20,7 +20,7 @@ %global homedir %{_datadir}/%{name}%{?maven_version_suffix} %global confdir %{_sysconfdir}/%{name}%{?maven_version_suffix} Name: maven -Version: 3.9.8 +Version: 3.9.9 Release: 0 Summary: Java project management and project comprehension tool # maven itself is ASL 2.0 @@ -31,7 +31,7 @@ Source0: http://archive.apache.org/dist/%{name}/%{name}-3/%{version}/source/apache-%{name}-%{version}-src.tar.gz Source1: maven-bash-completion Source2: mvn.1 -Source10: apache-%{name}-%{version}-build.tar.xz +Source10: apache-%{name}-build.tar.xz Patch1: 0001-Adapt-mvn-script.patch # Downstream-specific, avoids dependency on logback Patch2: 0002-Invoke-logback-via-reflection.patch ++++++ apache-maven-3.9.8-src.tar.gz -> apache-maven-3.9.9-src.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-maven-3.9.8/DEPENDENCIES new/apache-maven-3.9.9/DEPENDENCIES --- old/apache-maven-3.9.8/DEPENDENCIES 2024-06-13 10:21:46.000000000 +0200 +++ new/apache-maven-3.9.9/DEPENDENCIES 2024-08-14 10:48:47.000000000 +0200 @@ -44,7 +44,7 @@ - Plexus Common Utilities (https://codehaus-plexus.github.io/plexus-utils/) org.codehaus.plexus:plexus-utils:jar:3.5.1 License: Apache License, Version 2.0 (http://www.apache.org/licenses/LICENSE-2.0.txt) - - Plexus XML Utilities (https://codehaus-plexus.github.io/plexus-xml/) org.codehaus.plexus:plexus-xml:jar:3.0.0 + - Plexus XML Utilities (https://codehaus-plexus.github.io/plexus-xml/) org.codehaus.plexus:plexus-xml:jar:3.0.1 License: Apache License, Version 2.0 (https://www.apache.org/licenses/LICENSE-2.0.txt) @@ -89,73 +89,73 @@ - Apache Commons CLI (https://commons.apache.org/proper/commons-cli/) commons-cli:commons-cli:jar:1.8.0 License: Apache-2.0 (https://www.apache.org/licenses/LICENSE-2.0.txt) - - Apache Commons Codec (https://commons.apache.org/proper/commons-codec/) commons-codec:commons-codec:jar:1.16.1 + - Apache Commons Codec (https://commons.apache.org/proper/commons-codec/) commons-codec:commons-codec:jar:1.17.1 License: Apache-2.0 (https://www.apache.org/licenses/LICENSE-2.0.txt) - - Maven Artifact (https://maven.apache.org/ref/3.9.8/maven-artifact/) org.apache.maven:maven-artifact:jar:3.9.8 + - Maven Artifact (https://maven.apache.org/ref/3.9.9/maven-artifact/) org.apache.maven:maven-artifact:jar:3.9.9 License: Apache-2.0 (https://www.apache.org/licenses/LICENSE-2.0.txt) - - Maven Builder Support (https://maven.apache.org/ref/3.9.8/maven-builder-support/) org.apache.maven:maven-builder-support:jar:3.9.8 + - Maven Builder Support (https://maven.apache.org/ref/3.9.9/maven-builder-support/) org.apache.maven:maven-builder-support:jar:3.9.9 License: Apache-2.0 (https://www.apache.org/licenses/LICENSE-2.0.txt) - - Maven Compat (https://maven.apache.org/ref/3.9.8/maven-compat/) org.apache.maven:maven-compat:jar:3.9.8 + - Maven Compat (https://maven.apache.org/ref/3.9.9/maven-compat/) org.apache.maven:maven-compat:jar:3.9.9 License: Apache-2.0 (https://www.apache.org/licenses/LICENSE-2.0.txt) - - Maven Core (https://maven.apache.org/ref/3.9.8/maven-core/) org.apache.maven:maven-core:jar:3.9.8 + - Maven Core (https://maven.apache.org/ref/3.9.9/maven-core/) org.apache.maven:maven-core:jar:3.9.9 License: Apache-2.0 (https://www.apache.org/licenses/LICENSE-2.0.txt) - - Maven Embedder (https://maven.apache.org/ref/3.9.8/maven-embedder/) org.apache.maven:maven-embedder:jar:3.9.8 + - Maven Embedder (https://maven.apache.org/ref/3.9.9/maven-embedder/) org.apache.maven:maven-embedder:jar:3.9.9 License: Apache-2.0 (https://www.apache.org/licenses/LICENSE-2.0.txt) - - Maven Model (https://maven.apache.org/ref/3.9.8/maven-model/) org.apache.maven:maven-model:jar:3.9.8 + - Maven Model (https://maven.apache.org/ref/3.9.9/maven-model/) org.apache.maven:maven-model:jar:3.9.9 License: Apache-2.0 (https://www.apache.org/licenses/LICENSE-2.0.txt) - - Maven Model Builder (https://maven.apache.org/ref/3.9.8/maven-model-builder/) org.apache.maven:maven-model-builder:jar:3.9.8 + - Maven Model Builder (https://maven.apache.org/ref/3.9.9/maven-model-builder/) org.apache.maven:maven-model-builder:jar:3.9.9 License: Apache-2.0 (https://www.apache.org/licenses/LICENSE-2.0.txt) - - Maven Plugin API (https://maven.apache.org/ref/3.9.8/maven-plugin-api/) org.apache.maven:maven-plugin-api:jar:3.9.8 + - Maven Plugin API (https://maven.apache.org/ref/3.9.9/maven-plugin-api/) org.apache.maven:maven-plugin-api:jar:3.9.9 License: Apache-2.0 (https://www.apache.org/licenses/LICENSE-2.0.txt) - - Maven Repository Metadata Model (https://maven.apache.org/ref/3.9.8/maven-repository-metadata/) org.apache.maven:maven-repository-metadata:jar:3.9.8 + - Maven Repository Metadata Model (https://maven.apache.org/ref/3.9.9/maven-repository-metadata/) org.apache.maven:maven-repository-metadata:jar:3.9.9 License: Apache-2.0 (https://www.apache.org/licenses/LICENSE-2.0.txt) - - Maven Artifact Resolver Provider (https://maven.apache.org/ref/3.9.8/maven-resolver-provider/) org.apache.maven:maven-resolver-provider:jar:3.9.8 + - Maven Artifact Resolver Provider (https://maven.apache.org/ref/3.9.9/maven-resolver-provider/) org.apache.maven:maven-resolver-provider:jar:3.9.9 License: Apache-2.0 (https://www.apache.org/licenses/LICENSE-2.0.txt) - - Maven Settings (https://maven.apache.org/ref/3.9.8/maven-settings/) org.apache.maven:maven-settings:jar:3.9.8 + - Maven Settings (https://maven.apache.org/ref/3.9.9/maven-settings/) org.apache.maven:maven-settings:jar:3.9.9 License: Apache-2.0 (https://www.apache.org/licenses/LICENSE-2.0.txt) - - Maven Settings Builder (https://maven.apache.org/ref/3.9.8/maven-settings-builder/) org.apache.maven:maven-settings-builder:jar:3.9.8 + - Maven Settings Builder (https://maven.apache.org/ref/3.9.9/maven-settings-builder/) org.apache.maven:maven-settings-builder:jar:3.9.9 License: Apache-2.0 (https://www.apache.org/licenses/LICENSE-2.0.txt) - - Maven SLF4J Simple Provider (https://maven.apache.org/ref/3.9.8/maven-slf4j-provider/) org.apache.maven:maven-slf4j-provider:jar:3.9.8 + - Maven SLF4J Simple Provider (https://maven.apache.org/ref/3.9.9/maven-slf4j-provider/) org.apache.maven:maven-slf4j-provider:jar:3.9.9 License: Apache-2.0 (https://www.apache.org/licenses/LICENSE-2.0.txt) - - Maven Artifact Resolver API (https://maven.apache.org/resolver/maven-resolver-api/) org.apache.maven.resolver:maven-resolver-api:jar:1.9.20 + - Maven Artifact Resolver API (https://maven.apache.org/resolver/maven-resolver-api/) org.apache.maven.resolver:maven-resolver-api:jar:1.9.22 License: Apache-2.0 (https://www.apache.org/licenses/LICENSE-2.0.txt) - - Maven Artifact Resolver Connector Basic (https://maven.apache.org/resolver/maven-resolver-connector-basic/) org.apache.maven.resolver:maven-resolver-connector-basic:jar:1.9.20 + - Maven Artifact Resolver Connector Basic (https://maven.apache.org/resolver/maven-resolver-connector-basic/) org.apache.maven.resolver:maven-resolver-connector-basic:jar:1.9.22 License: Apache-2.0 (https://www.apache.org/licenses/LICENSE-2.0.txt) - - Maven Artifact Resolver Implementation (https://maven.apache.org/resolver/maven-resolver-impl/) org.apache.maven.resolver:maven-resolver-impl:jar:1.9.20 + - Maven Artifact Resolver Implementation (https://maven.apache.org/resolver/maven-resolver-impl/) org.apache.maven.resolver:maven-resolver-impl:jar:1.9.22 License: Apache-2.0 (https://www.apache.org/licenses/LICENSE-2.0.txt) - - Maven Artifact Resolver Named Locks (https://maven.apache.org/resolver/maven-resolver-named-locks/) org.apache.maven.resolver:maven-resolver-named-locks:jar:1.9.20 + - Maven Artifact Resolver Named Locks (https://maven.apache.org/resolver/maven-resolver-named-locks/) org.apache.maven.resolver:maven-resolver-named-locks:jar:1.9.22 License: Apache-2.0 (https://www.apache.org/licenses/LICENSE-2.0.txt) - - Maven Artifact Resolver SPI (https://maven.apache.org/resolver/maven-resolver-spi/) org.apache.maven.resolver:maven-resolver-spi:jar:1.9.20 + - Maven Artifact Resolver SPI (https://maven.apache.org/resolver/maven-resolver-spi/) org.apache.maven.resolver:maven-resolver-spi:jar:1.9.22 License: Apache-2.0 (https://www.apache.org/licenses/LICENSE-2.0.txt) - - Maven Artifact Resolver Transport File (https://maven.apache.org/resolver/maven-resolver-transport-file/) org.apache.maven.resolver:maven-resolver-transport-file:jar:1.9.20 + - Maven Artifact Resolver Transport File (https://maven.apache.org/resolver/maven-resolver-transport-file/) org.apache.maven.resolver:maven-resolver-transport-file:jar:1.9.22 License: Apache-2.0 (https://www.apache.org/licenses/LICENSE-2.0.txt) - - Maven Artifact Resolver Transport HTTP (https://maven.apache.org/resolver/maven-resolver-transport-http/) org.apache.maven.resolver:maven-resolver-transport-http:jar:1.9.20 + - Maven Artifact Resolver Transport HTTP (https://maven.apache.org/resolver/maven-resolver-transport-http/) org.apache.maven.resolver:maven-resolver-transport-http:jar:1.9.22 License: Apache-2.0 (https://www.apache.org/licenses/LICENSE-2.0.txt) - - Maven Artifact Resolver Transport Wagon (https://maven.apache.org/resolver/maven-resolver-transport-wagon/) org.apache.maven.resolver:maven-resolver-transport-wagon:jar:1.9.20 + - Maven Artifact Resolver Transport Wagon (https://maven.apache.org/resolver/maven-resolver-transport-wagon/) org.apache.maven.resolver:maven-resolver-transport-wagon:jar:1.9.22 License: Apache-2.0 (https://www.apache.org/licenses/LICENSE-2.0.txt) - - Maven Artifact Resolver Utilities (https://maven.apache.org/resolver/maven-resolver-util/) org.apache.maven.resolver:maven-resolver-util:jar:1.9.20 + - Maven Artifact Resolver Utilities (https://maven.apache.org/resolver/maven-resolver-util/) org.apache.maven.resolver:maven-resolver-util:jar:1.9.22 License: Apache-2.0 (https://www.apache.org/licenses/LICENSE-2.0.txt) - Apache Maven Shared Utils (https://maven.apache.org/shared/maven-shared-utils/) org.apache.maven.shared:maven-shared-utils:jar:3.4.2 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-maven-3.9.8/apache-maven/pom.xml new/apache-maven-3.9.9/apache-maven/pom.xml --- old/apache-maven-3.9.8/apache-maven/pom.xml 2024-06-13 10:21:46.000000000 +0200 +++ new/apache-maven-3.9.9/apache-maven/pom.xml 2024-08-14 10:48:47.000000000 +0200 @@ -23,7 +23,7 @@ <parent> <groupId>org.apache.maven</groupId> <artifactId>maven</artifactId> - <version>3.9.8</version> + <version>3.9.9</version> </parent> <artifactId>apache-maven</artifactId> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-maven-3.9.8/apache-maven/src/bin/mvn new/apache-maven-3.9.9/apache-maven/src/bin/mvn --- old/apache-maven-3.9.8/apache-maven/src/bin/mvn 2024-06-13 10:21:46.000000000 +0200 +++ new/apache-maven-3.9.9/apache-maven/src/bin/mvn 2024-08-14 10:48:47.000000000 +0200 @@ -127,11 +127,15 @@ ( basedir=`find_file_argument_basedir "$@"` wdir="${basedir}" - while [ "$wdir" != '/' ] ; do + while : + do if [ -d "$wdir"/.mvn ] ; then basedir=$wdir break fi + if [ "$wdir" = '/' ] ; then + break + fi wdir=`cd "$wdir/.."; pwd` done echo "${basedir}" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-maven-3.9.8/maven-artifact/pom.xml new/apache-maven-3.9.9/maven-artifact/pom.xml --- old/apache-maven-3.9.8/maven-artifact/pom.xml 2024-06-13 10:21:46.000000000 +0200 +++ new/apache-maven-3.9.9/maven-artifact/pom.xml 2024-08-14 10:48:47.000000000 +0200 @@ -23,7 +23,7 @@ <parent> <groupId>org.apache.maven</groupId> <artifactId>maven</artifactId> - <version>3.9.8</version> + <version>3.9.9</version> </parent> <artifactId>maven-artifact</artifactId> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-maven-3.9.8/maven-artifact/src/main/java/org/apache/maven/artifact/repository/ArtifactRepositoryPolicy.java new/apache-maven-3.9.9/maven-artifact/src/main/java/org/apache/maven/artifact/repository/ArtifactRepositoryPolicy.java --- old/apache-maven-3.9.8/maven-artifact/src/main/java/org/apache/maven/artifact/repository/ArtifactRepositoryPolicy.java 2024-06-13 10:21:46.000000000 +0200 +++ new/apache-maven-3.9.9/maven-artifact/src/main/java/org/apache/maven/artifact/repository/ArtifactRepositoryPolicy.java 2024-08-14 10:48:47.000000000 +0200 @@ -166,7 +166,6 @@ } } - @SuppressWarnings("checkstyle:magicnumber") private int ordinalOfUpdatePolicy(String policy) { if (ArtifactRepositoryPolicy.UPDATE_POLICY_DAILY.equals(policy)) { return 1440; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-maven-3.9.8/maven-builder-support/pom.xml new/apache-maven-3.9.9/maven-builder-support/pom.xml --- old/apache-maven-3.9.8/maven-builder-support/pom.xml 2024-06-13 10:21:46.000000000 +0200 +++ new/apache-maven-3.9.9/maven-builder-support/pom.xml 2024-08-14 10:48:47.000000000 +0200 @@ -23,7 +23,7 @@ <parent> <groupId>org.apache.maven</groupId> <artifactId>maven</artifactId> - <version>3.9.8</version> + <version>3.9.9</version> </parent> <artifactId>maven-builder-support</artifactId> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-maven-3.9.8/maven-builder-support/src/test/java/org/apache/maven/building/DefaultProblemCollectorTest.java new/apache-maven-3.9.9/maven-builder-support/src/test/java/org/apache/maven/building/DefaultProblemCollectorTest.java --- old/apache-maven-3.9.8/maven-builder-support/src/test/java/org/apache/maven/building/DefaultProblemCollectorTest.java 2024-06-13 10:21:46.000000000 +0200 +++ new/apache-maven-3.9.9/maven-builder-support/src/test/java/org/apache/maven/building/DefaultProblemCollectorTest.java 2024-08-14 10:48:47.000000000 +0200 @@ -21,7 +21,8 @@ import org.apache.maven.building.Problem.Severity; import org.junit.Test; -import static org.junit.Assert.*; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; public class DefaultProblemCollectorTest { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-maven-3.9.8/maven-compat/pom.xml new/apache-maven-3.9.9/maven-compat/pom.xml --- old/apache-maven-3.9.8/maven-compat/pom.xml 2024-06-13 10:21:46.000000000 +0200 +++ new/apache-maven-3.9.9/maven-compat/pom.xml 2024-08-14 10:48:47.000000000 +0200 @@ -23,7 +23,7 @@ <parent> <groupId>org.apache.maven</groupId> <artifactId>maven</artifactId> - <version>3.9.8</version> + <version>3.9.9</version> </parent> <artifactId>maven-compat</artifactId> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-maven-3.9.8/maven-compat/src/main/resources/META-INF/maven/plugin.xml new/apache-maven-3.9.9/maven-compat/src/main/resources/META-INF/maven/plugin.xml --- old/apache-maven-3.9.8/maven-compat/src/main/resources/META-INF/maven/plugin.xml 2024-06-13 10:21:46.000000000 +0200 +++ new/apache-maven-3.9.9/maven-compat/src/main/resources/META-INF/maven/plugin.xml 1970-01-01 01:00:00.000000000 +0100 @@ -1,218 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> - -<!-- -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. ---> - -<plugin> - <description>Maven Internal State-Management Plugins</description> - <groupId>org.apache.maven.plugins.internal</groupId> - <artifactId>maven-state-management</artifactId> - <version>2.1</version> - <goalPrefix>statemgmt</goalPrefix> - <isolatedRealm>false</isolatedRealm> - <inheritedByDefault>true</inheritedByDefault> - <mojos> - <mojo> - <goal>start-fork</goal> - <description>Setup the appropriate build state to initiate a forked execution.</description> - <requiresDirectInvocation>false</requiresDirectInvocation> - <requiresProject>false</requiresProject> - <requiresReports>false</requiresReports> - <aggregator>false</aggregator> - <requiresOnline>false</requiresOnline> - <inheritedByDefault>true</inheritedByDefault> - <implementation>org.apache.maven.lifecycle.statemgmt.StartForkedExecutionMojo</implementation> - <language>java</language> - <instantiationStrategy>per-lookup</instantiationStrategy> - <executionStrategy>once-per-session</executionStrategy> - <parameters> - <parameter> - <name>project</name> - <type>org.apache.maven.project.MavenProject</type> - <required>true</required> - <editable>false</editable> - <description>The current MavenProject instance, which will have a new executionProject set after execution.</description> - </parameter> - <parameter> - <name>session</name> - <type>org.apache.maven.execution.MavenSession</type> - <required>true</required> - <editable>false</editable> - <description>The current MavenSession instance, which will handle the fork context.</description> - </parameter> - <parameter> - <name>forkId</name> - <type>int</type> - <required>true</required> - <editable>true</editable> - <description>The current fork identifier.</description> - </parameter> - </parameters> - <configuration> - <project implementation="org.apache.maven.project.MavenProject" default-value="${project}"/> - <session implementation="org.apache.maven.execution.MavenSession" default-value="${session}"/> - <forkId implementation="int" default-value="-1">${forkId}</forkId> - </configuration> - </mojo> - <mojo> - <goal>end-fork</goal> - <description>Restore the non-fork currentProject instance, for use in the forking mojo.</description> - <requiresDirectInvocation>false</requiresDirectInvocation> - <requiresProject>false</requiresProject> - <requiresReports>false</requiresReports> - <aggregator>false</aggregator> - <requiresOnline>false</requiresOnline> - <inheritedByDefault>true</inheritedByDefault> - <implementation>org.apache.maven.lifecycle.statemgmt.EndForkedExecutionMojo</implementation> - <language>java</language> - <instantiationStrategy>per-lookup</instantiationStrategy> - <executionStrategy>once-per-session</executionStrategy> - <parameters> - <parameter> - <name>session</name> - <type>org.apache.maven.execution.MavenSession</type> - <required>true</required> - <editable>false</editable> - <description>The current MavenSession instance, which will handle the fork context.</description> - </parameter> - <parameter> - <name>forkId</name> - <type>int</type> - <required>true</required> - <editable>true</editable> - <description>The current fork identifier.</description> - </parameter> - </parameters> - <configuration> - <session implementation="org.apache.maven.execution.MavenSession" default-value="${session}"/> - <forkId implementation="int" default-value="-1">${forkId}</forkId> - </configuration> - </mojo> - <mojo> - <goal>clear-fork-context</goal> - <description>Tear down any build state used during the previous forked execution.</description> - <requiresDirectInvocation>false</requiresDirectInvocation> - <requiresProject>false</requiresProject> - <requiresReports>false</requiresReports> - <aggregator>false</aggregator> - <requiresOnline>false</requiresOnline> - <inheritedByDefault>true</inheritedByDefault> - <implementation>org.apache.maven.lifecycle.statemgmt.ClearForkedContextMojo</implementation> - <language>java</language> - <instantiationStrategy>per-lookup</instantiationStrategy> - <executionStrategy>once-per-session</executionStrategy> - <parameters> - <parameter> - <name>project</name> - <type>org.apache.maven.project.MavenProject</type> - <required>true</required> - <editable>false</editable> - <description>The current MavenProject instance, which will have the current executionProject cleared after execution.</description> - </parameter> - <parameter> - <name>forkId</name> - <type>int</type> - <required>true</required> - <editable>true</editable> - <description>The current fork identifier.</description> - </parameter> - </parameters> - <configuration> - <project implementation="org.apache.maven.project.MavenProject" default-value="${project}"/> - <forkId implementation="int" default-value="-1">${forkId}</forkId> - </configuration> - </mojo> - <mojo> - <goal>resolve-late-bound-plugin</goal> - <description>Resolve a late-bound plugin during a build, right before it is to be used.</description> - <requiresDirectInvocation>false</requiresDirectInvocation> - <requiresProject>false</requiresProject> - <requiresReports>false</requiresReports> - <aggregator>false</aggregator> - <requiresOnline>false</requiresOnline> - <inheritedByDefault>true</inheritedByDefault> - <implementation>org.apache.maven.lifecycle.statemgmt.ResolveLateBoundPluginMojo</implementation> - <language>java</language> - <instantiationStrategy>per-lookup</instantiationStrategy> - <executionStrategy>once-per-session</executionStrategy> - <parameters> - <parameter> - <name>project</name> - <type>org.apache.maven.project.MavenProject</type> - <required>true</required> - <editable>false</editable> - <description>The current MavenProject instance, for building a new MojoBinding instance.</description> - </parameter> - <parameter> - <name>session</name> - <type>org.apache.maven.execution.MavenSession</type> - <required>true</required> - <editable>false</editable> - <description>The current MavenSession instance, which will handle the fork context.</description> - </parameter> - <parameter> - <name>groupId</name> - <type>java.lang.String</type> - <required>true</required> - <editable>true</editable> - <description>The plugin's groupId.</description> - </parameter> - <parameter> - <name>artifactId</name> - <type>java.lang.String</type> - <required>true</required> - <editable>true</editable> - <description>The plugin's artifactId.</description> - </parameter> - <parameter> - <name>version</name> - <type>java.lang.String</type> - <required>false</required> - <editable>true</editable> - <description>The plugin's version.</description> - </parameter> - <parameter> - <name>goal</name> - <type>java.lang.String</type> - <required>true</required> - <editable>true</editable> - <description>The mojo's goal that we're looking for, as an extra validation step.</description> - </parameter> - </parameters> - <configuration> - <project implementation="org.apache.maven.project.MavenProject" default-value="${project}"/> - <session implementation="org.apache.maven.execution.MavenSession" default-value="${session}"/> - <groupId implementation="java.lang.String">${groupId}</groupId> - <artifactId implementation="java.lang.String">${artifactId}</artifactId> - <version implementation="java.lang.String">${version}</version> - <goal implementation="java.lang.String">${goal}</goal> - </configuration> - <requirements> - <requirement> - <role>org.apache.maven.plugin.loader.PluginLoader</role> - <field-name>pluginLoader</field-name> - </requirement> - <requirement> - <role>org.apache.maven.lifecycle.binding.MojoBindingFactory</role> - <field-name>bindingFactory</field-name> - </requirement> - </requirements> - </mojo> - </mojos> -</plugin> \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-maven-3.9.8/maven-core/pom.xml new/apache-maven-3.9.9/maven-core/pom.xml --- old/apache-maven-3.9.8/maven-core/pom.xml 2024-06-13 10:21:46.000000000 +0200 +++ new/apache-maven-3.9.9/maven-core/pom.xml 2024-08-14 10:48:47.000000000 +0200 @@ -23,7 +23,7 @@ <parent> <groupId>org.apache.maven</groupId> <artifactId>maven</artifactId> - <version>3.9.8</version> + <version>3.9.9</version> </parent> <artifactId>maven-core</artifactId> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-maven-3.9.8/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultPluginDependenciesResolver.java new/apache-maven-3.9.9/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultPluginDependenciesResolver.java --- old/apache-maven-3.9.8/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultPluginDependenciesResolver.java 2024-06-13 10:21:46.000000000 +0200 +++ new/apache-maven-3.9.9/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultPluginDependenciesResolver.java 2024-08-14 10:48:47.000000000 +0200 @@ -23,6 +23,8 @@ import java.util.List; import java.util.Map; import java.util.Objects; +import java.util.stream.Collectors; +import java.util.stream.Stream; import org.apache.maven.RepositoryUtils; import org.apache.maven.model.Dependency; @@ -223,8 +225,13 @@ throw new PluginResolutionException( plugin, e.getResult().getExceptions(), logger.isDebugEnabled() ? e : null); } catch (DependencyResolutionException e) { - throw new PluginResolutionException( - plugin, e.getResult().getCollectExceptions(), logger.isDebugEnabled() ? e : null); + List<Exception> exceptions = Stream.concat( + e.getResult().getCollectExceptions().stream(), + e.getResult().getArtifactResults().stream() + .filter(r -> !r.isResolved()) + .flatMap(r -> r.getExceptions().stream())) + .collect(Collectors.toList()); + throw new PluginResolutionException(plugin, exceptions, logger.isDebugEnabled() ? e : null); } return node; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-maven-3.9.8/maven-core/src/test/java/org/apache/maven/lifecycle/internal/ConcurrencyDependencyGraphTest.java new/apache-maven-3.9.9/maven-core/src/test/java/org/apache/maven/lifecycle/internal/ConcurrencyDependencyGraphTest.java --- old/apache-maven-3.9.8/maven-core/src/test/java/org/apache/maven/lifecycle/internal/ConcurrencyDependencyGraphTest.java 2024-06-13 10:21:46.000000000 +0200 +++ new/apache-maven-3.9.9/maven-core/src/test/java/org/apache/maven/lifecycle/internal/ConcurrencyDependencyGraphTest.java 2024-08-14 10:48:47.000000000 +0200 @@ -35,7 +35,13 @@ import org.apache.maven.plugin.version.PluginVersionResolutionException; import org.apache.maven.project.MavenProject; -import static org.apache.maven.lifecycle.internal.stub.ProjectDependencyGraphStub.*; +import static org.apache.maven.lifecycle.internal.stub.ProjectDependencyGraphStub.A; +import static org.apache.maven.lifecycle.internal.stub.ProjectDependencyGraphStub.B; +import static org.apache.maven.lifecycle.internal.stub.ProjectDependencyGraphStub.C; +import static org.apache.maven.lifecycle.internal.stub.ProjectDependencyGraphStub.X; +import static org.apache.maven.lifecycle.internal.stub.ProjectDependencyGraphStub.Y; +import static org.apache.maven.lifecycle.internal.stub.ProjectDependencyGraphStub.Z; +import static org.apache.maven.lifecycle.internal.stub.ProjectDependencyGraphStub.getProjectBuildList; /** * @author Kristian Rosenvold @@ -57,7 +63,7 @@ final List<MavenProject> subsequent = graph.markAsFinished(A); assertEquals(2, subsequent.size()); - assertEquals(ProjectDependencyGraphStub.B, subsequent.get(0)); + assertEquals(B, subsequent.get(0)); assertEquals(C, subsequent.get(1)); final List<MavenProject> bDescendants = graph.markAsFinished(B); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-maven-3.9.8/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/DefaultLifecyclesStub.java new/apache-maven-3.9.9/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/DefaultLifecyclesStub.java --- old/apache-maven-3.9.8/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/DefaultLifecyclesStub.java 2024-06-13 10:21:46.000000000 +0200 +++ new/apache-maven-3.9.9/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/DefaultLifecyclesStub.java 2024-08-14 10:48:47.000000000 +0200 @@ -27,7 +27,21 @@ import org.apache.maven.lifecycle.DefaultLifecycles; import org.apache.maven.lifecycle.Lifecycle; -import static org.apache.maven.lifecycle.internal.stub.LifecycleExecutionPlanCalculatorStub.*; +import static org.apache.maven.lifecycle.internal.stub.LifecycleExecutionPlanCalculatorStub.CLEAN; +import static org.apache.maven.lifecycle.internal.stub.LifecycleExecutionPlanCalculatorStub.COMPILE; +import static org.apache.maven.lifecycle.internal.stub.LifecycleExecutionPlanCalculatorStub.INITIALIZE; +import static org.apache.maven.lifecycle.internal.stub.LifecycleExecutionPlanCalculatorStub.INSTALL; +import static org.apache.maven.lifecycle.internal.stub.LifecycleExecutionPlanCalculatorStub.PACKAGE; +import static org.apache.maven.lifecycle.internal.stub.LifecycleExecutionPlanCalculatorStub.POST_CLEAN; +import static org.apache.maven.lifecycle.internal.stub.LifecycleExecutionPlanCalculatorStub.POST_SITE; +import static org.apache.maven.lifecycle.internal.stub.LifecycleExecutionPlanCalculatorStub.PRE_CLEAN; +import static org.apache.maven.lifecycle.internal.stub.LifecycleExecutionPlanCalculatorStub.PRE_SITE; +import static org.apache.maven.lifecycle.internal.stub.LifecycleExecutionPlanCalculatorStub.PROCESS_RESOURCES; +import static org.apache.maven.lifecycle.internal.stub.LifecycleExecutionPlanCalculatorStub.PROCESS_TEST_RESOURCES; +import static org.apache.maven.lifecycle.internal.stub.LifecycleExecutionPlanCalculatorStub.SITE; +import static org.apache.maven.lifecycle.internal.stub.LifecycleExecutionPlanCalculatorStub.SITE_DEPLOY; +import static org.apache.maven.lifecycle.internal.stub.LifecycleExecutionPlanCalculatorStub.TEST; +import static org.apache.maven.lifecycle.internal.stub.LifecycleExecutionPlanCalculatorStub.VALIDATE; /** * @author Kristian Rosenvold diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-maven-3.9.8/maven-core/src/test/java/org/apache/maven/plugin/PluginParameterExpressionEvaluatorTest.java new/apache-maven-3.9.9/maven-core/src/test/java/org/apache/maven/plugin/PluginParameterExpressionEvaluatorTest.java --- old/apache-maven-3.9.8/maven-core/src/test/java/org/apache/maven/plugin/PluginParameterExpressionEvaluatorTest.java 2024-06-13 10:21:46.000000000 +0200 +++ new/apache-maven-3.9.9/maven-core/src/test/java/org/apache/maven/plugin/PluginParameterExpressionEvaluatorTest.java 2024-08-14 10:48:47.000000000 +0200 @@ -266,6 +266,46 @@ assertEquals("value", value); } + public void testValueExtractionOfMissingPrefixedProperty() throws Exception { + Properties executionProperties = new Properties(); + + ExpressionEvaluator ee = createExpressionEvaluator(null, null, executionProperties); + + Object value = ee.evaluate("prefix-${PPEET_nonexisting_p_property}"); + + assertEquals("prefix-${PPEET_nonexisting_p_property}", value); + } + + public void testValueExtractionOfMissingSuffixedProperty() throws Exception { + Properties executionProperties = new Properties(); + + ExpressionEvaluator ee = createExpressionEvaluator(null, null, executionProperties); + + Object value = ee.evaluate("${PPEET_nonexisting_s_property}-suffix"); + + assertEquals("${PPEET_nonexisting_s_property}-suffix", value); + } + + public void testValueExtractionOfMissingPrefixedSuffixedProperty() throws Exception { + Properties executionProperties = new Properties(); + + ExpressionEvaluator ee = createExpressionEvaluator(null, null, executionProperties); + + Object value = ee.evaluate("prefix-${PPEET_nonexisting_ps_property}-suffix"); + + assertEquals("prefix-${PPEET_nonexisting_ps_property}-suffix", value); + } + + public void testValueExtractionOfMissingProperty() throws Exception { + Properties executionProperties = new Properties(); + + ExpressionEvaluator ee = createExpressionEvaluator(null, null, executionProperties); + + Object value = ee.evaluate("${PPEET_nonexisting_property}"); + + assertNull(value); + } + public void testValueExtractionFromSystemPropertiesWithMissingProject_WithDotNotation() throws Exception { String sysprop = "PPEET.sysprop2"; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-maven-3.9.8/maven-embedder/pom.xml new/apache-maven-3.9.9/maven-embedder/pom.xml --- old/apache-maven-3.9.8/maven-embedder/pom.xml 2024-06-13 10:21:46.000000000 +0200 +++ new/apache-maven-3.9.9/maven-embedder/pom.xml 2024-08-14 10:48:47.000000000 +0200 @@ -23,7 +23,7 @@ <parent> <groupId>org.apache.maven</groupId> <artifactId>maven</artifactId> - <version>3.9.8</version> + <version>3.9.9</version> </parent> <artifactId>maven-embedder</artifactId> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-maven-3.9.8/maven-embedder/src/main/java/org/apache/maven/cli/CLIReportingUtils.java new/apache-maven-3.9.9/maven-embedder/src/main/java/org/apache/maven/cli/CLIReportingUtils.java --- old/apache-maven-3.9.8/maven-embedder/src/main/java/org/apache/maven/cli/CLIReportingUtils.java 2024-06-13 10:21:46.000000000 +0200 +++ new/apache-maven-3.9.9/maven-embedder/src/main/java/org/apache/maven/cli/CLIReportingUtils.java 2024-08-14 10:48:47.000000000 +0200 @@ -37,7 +37,6 @@ * @author jdcasey */ public final class CLIReportingUtils { - // CHECKSTYLE_OFF: MagicNumber public static final long MB = 1024 * 1024; private static final long ONE_SECOND = 1000L; @@ -47,7 +46,6 @@ private static final long ONE_HOUR = 60 * ONE_MINUTE; private static final long ONE_DAY = 24 * ONE_HOUR; - // CHECKSTYLE_ON: MagicNumber public static final String BUILD_VERSION_PROPERTY = "version"; @@ -159,13 +157,11 @@ } public static String formatDuration(long duration) { - // CHECKSTYLE_OFF: MagicNumber long ms = duration % 1000; long s = (duration / ONE_SECOND) % 60; long m = (duration / ONE_MINUTE) % 60; long h = (duration / ONE_HOUR) % 24; long d = duration / ONE_DAY; - // CHECKSTYLE_ON: MagicNumber String format; if (d > 0) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-maven-3.9.8/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java new/apache-maven-3.9.9/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java --- old/apache-maven-3.9.8/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java 2024-06-13 10:21:46.000000000 +0200 +++ new/apache-maven-3.9.9/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java 2024-08-14 10:48:47.000000000 +0200 @@ -68,7 +68,10 @@ import org.apache.maven.cli.logging.Slf4jConfigurationFactory; import org.apache.maven.cli.logging.Slf4jLoggerManager; import org.apache.maven.cli.logging.Slf4jStdoutLogger; -import org.apache.maven.cli.transfer.*; +import org.apache.maven.cli.transfer.ConsoleMavenTransferListener; +import org.apache.maven.cli.transfer.QuietMavenTransferListener; +import org.apache.maven.cli.transfer.SimplexTransferListener; +import org.apache.maven.cli.transfer.Slf4jMavenTransferListener; import org.apache.maven.eventspy.internal.EventSpyDispatcher; import org.apache.maven.exception.DefaultExceptionHandler; import org.apache.maven.exception.ExceptionHandler; @@ -325,7 +328,7 @@ for (String arg : cliRequest.args) { if (isAltFile) { // this is the argument following -f/--file - Path path = topDirectory.resolve(arg); + Path path = topDirectory.resolve(stripLeadingAndTrailingQuotes(arg)); if (Files.isDirectory(path)) { topDirectory = path; } else if (Files.isRegularFile(path)) { @@ -343,7 +346,7 @@ break; } else { // Check if this is the -f/--file option - isAltFile = arg.equals(String.valueOf(CLIManager.ALTERNATE_POM_FILE)) || arg.equals("file"); + isAltFile = arg.equals("-f") || arg.equals("--file"); } } topDirectory = getCanonicalPath(topDirectory); @@ -1593,6 +1596,18 @@ return interpolator; } + private static String stripLeadingAndTrailingQuotes(String str) { + final int length = str.length(); + if (length > 1 + && str.startsWith("\"") + && str.endsWith("\"") + && str.substring(1, length - 1).indexOf('"') == -1) { + str = str.substring(1, length - 1); + } + + return str; + } + private static Path getCanonicalPath(Path path) { try { return path.toRealPath(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-maven-3.9.8/maven-embedder/src/main/java/org/apache/maven/cli/transfer/AbstractMavenTransferListener.java new/apache-maven-3.9.9/maven-embedder/src/main/java/org/apache/maven/cli/transfer/AbstractMavenTransferListener.java --- old/apache-maven-3.9.8/maven-embedder/src/main/java/org/apache/maven/cli/transfer/AbstractMavenTransferListener.java 2024-06-13 10:21:46.000000000 +0200 +++ new/apache-maven-3.9.9/maven-embedder/src/main/java/org/apache/maven/cli/transfer/AbstractMavenTransferListener.java 2024-08-14 10:48:47.000000000 +0200 @@ -136,7 +136,6 @@ return format(size, unit, false); } - @SuppressWarnings("checkstyle:magicnumber") public String format(long size, ScaleUnit unit, boolean omitSymbol) { if (size < 0L) { throw new IllegalArgumentException("file size cannot be negative: " + size); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-maven-3.9.8/maven-model/pom.xml new/apache-maven-3.9.9/maven-model/pom.xml --- old/apache-maven-3.9.8/maven-model/pom.xml 2024-06-13 10:21:46.000000000 +0200 +++ new/apache-maven-3.9.9/maven-model/pom.xml 2024-08-14 10:48:47.000000000 +0200 @@ -23,7 +23,7 @@ <parent> <groupId>org.apache.maven</groupId> <artifactId>maven</artifactId> - <version>3.9.8</version> + <version>3.9.9</version> </parent> <artifactId>maven-model</artifactId> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-maven-3.9.8/maven-model-builder/pom.xml new/apache-maven-3.9.9/maven-model-builder/pom.xml --- old/apache-maven-3.9.8/maven-model-builder/pom.xml 2024-06-13 10:21:46.000000000 +0200 +++ new/apache-maven-3.9.9/maven-model-builder/pom.xml 2024-08-14 10:48:47.000000000 +0200 @@ -23,7 +23,7 @@ <parent> <groupId>org.apache.maven</groupId> <artifactId>maven</artifactId> - <version>3.9.8</version> + <version>3.9.9</version> </parent> <artifactId>maven-model-builder</artifactId> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-maven-3.9.8/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java new/apache-maven-3.9.9/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java --- old/apache-maven-3.9.8/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java 2024-06-13 10:21:46.000000000 +0200 +++ new/apache-maven-3.9.9/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java 2024-08-14 10:48:47.000000000 +0200 @@ -36,6 +36,7 @@ import java.util.Optional; import java.util.Properties; import java.util.function.Consumer; +import java.util.stream.IntStream; import org.apache.maven.artifact.versioning.DefaultArtifactVersion; import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException; @@ -764,7 +765,7 @@ private Model interpolateModel(Model model, ModelBuildingRequest request, ModelProblemCollector problems) { // save profile activations before interpolation, since they are evaluated with limited scope - List<Profile> originalActivations = getProfiles(model, true); + List<Profile> originalProfiles = getProfiles(model, true); Model interpolatedModel = modelInterpolator.interpolateModel(model, model.getProjectDirectory(), request, problems); @@ -791,8 +792,11 @@ } interpolatedModel.setPomFile(model.getPomFile()); - // restore profiles with file activation to their value before full interpolation - model.setProfiles(originalActivations); + // restore profiles with any activation to their value before full interpolation + List<Profile> interpolatedProfiles = model.getProfiles(); + IntStream.range(0, interpolatedProfiles.size()).forEach(i -> interpolatedProfiles + .get(i) + .setActivation(originalProfiles.get(i).getActivation())); return interpolatedModel; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-maven-3.9.8/maven-model-builder/src/main/java/org/apache/maven/model/profile/activation/OperatingSystemProfileActivator.java new/apache-maven-3.9.9/maven-model-builder/src/main/java/org/apache/maven/model/profile/activation/OperatingSystemProfileActivator.java --- old/apache-maven-3.9.8/maven-model-builder/src/main/java/org/apache/maven/model/profile/activation/OperatingSystemProfileActivator.java 2024-06-13 10:21:46.000000000 +0200 +++ new/apache-maven-3.9.9/maven-model-builder/src/main/java/org/apache/maven/model/profile/activation/OperatingSystemProfileActivator.java 2024-08-14 10:48:47.000000000 +0200 @@ -58,9 +58,15 @@ boolean active = ensureAtLeastOneNonNull(os); - String actualOsName = context.getSystemProperties().get("os.name").toLowerCase(Locale.ENGLISH); - String actualOsArch = context.getSystemProperties().get("os.arch").toLowerCase(Locale.ENGLISH); - String actualOsVersion = context.getSystemProperties().get("os.version").toLowerCase(Locale.ENGLISH); + String actualOsName = context.getSystemProperties() + .getOrDefault("os.name", Os.OS_NAME) + .toLowerCase(Locale.ENGLISH); + String actualOsArch = context.getSystemProperties() + .getOrDefault("os.arch", Os.OS_ARCH) + .toLowerCase(Locale.ENGLISH); + String actualOsVersion = context.getSystemProperties() + .getOrDefault("os.version", Os.OS_VERSION) + .toLowerCase(Locale.ENGLISH); if (active && os.getFamily() != null) { active = determineFamilyMatch(os.getFamily(), actualOsName); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-maven-3.9.8/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/StringSearchModelInterpolatorTest.java new/apache-maven-3.9.9/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/StringSearchModelInterpolatorTest.java --- old/apache-maven-3.9.8/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/StringSearchModelInterpolatorTest.java 2024-06-13 10:21:46.000000000 +0200 +++ new/apache-maven-3.9.9/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/StringSearchModelInterpolatorTest.java 2024-08-14 10:48:47.000000000 +0200 @@ -19,7 +19,12 @@ package org.apache.maven.model.interpolation; import java.io.File; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Properties; import java.util.concurrent.Callable; import java.util.concurrent.CountDownLatch; import java.util.concurrent.Future; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-maven-3.9.8/maven-model-builder/src/test/java/org/apache/maven/model/profile/DefaultProfileInterpolationTest.java new/apache-maven-3.9.9/maven-model-builder/src/test/java/org/apache/maven/model/profile/DefaultProfileInterpolationTest.java --- old/apache-maven-3.9.8/maven-model-builder/src/test/java/org/apache/maven/model/profile/DefaultProfileInterpolationTest.java 1970-01-01 01:00:00.000000000 +0100 +++ new/apache-maven-3.9.9/maven-model-builder/src/test/java/org/apache/maven/model/profile/DefaultProfileInterpolationTest.java 2024-08-14 10:48:47.000000000 +0200 @@ -0,0 +1,90 @@ +/* + * 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. + */ +package org.apache.maven.model.profile; + +import java.io.File; + +import org.apache.maven.model.Model; +import org.apache.maven.model.Plugin; +import org.apache.maven.model.building.DefaultModelBuilderFactory; +import org.apache.maven.model.building.DefaultModelBuildingRequest; +import org.apache.maven.model.building.FileModelSource; +import org.apache.maven.model.building.ModelBuilder; +import org.apache.maven.model.building.ModelBuildingRequest; +import org.apache.maven.model.building.ModelBuildingResult; +import org.junit.Test; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; + +/** + * Tests model builder profile interpolation. + */ +public class DefaultProfileInterpolationTest { + private File getPom(String name) { + return new File("src/test/resources/poms/profile/" + name); + } + + /** + * MNG-8188: profile interpolation was "undone" by mistake. This UT executes reproducer and ensures that + * profile interpolated values (sans activation) are fully interpolated. + */ + @Test + public void profilePropertiesInterpolation() throws Exception { + ModelBuilder builder = new DefaultModelBuilderFactory().newInstance(); + assertNotNull(builder); + + DefaultModelBuildingRequest request = new DefaultModelBuildingRequest(); + request.setModelSource(new FileModelSource(getPom("mng8188.xml"))); + request.setValidationLevel(ModelBuildingRequest.VALIDATION_LEVEL_MAVEN_3_1); + + ModelBuildingResult result = builder.build(request); + assertNotNull(result); + Model effectiveModel = result.getEffectiveModel(); + assertNotNull(effectiveModel); + + Plugin interpolatedPlugin = null; + + // build/pluginManagement + for (Plugin plugin : effectiveModel.getBuild().getPluginManagement().getPlugins()) { + if ("spring-boot-maven-plugin".equals(plugin.getArtifactId())) { + interpolatedPlugin = plugin; + break; + } + } + assertNotNull(interpolatedPlugin); + assertEquals("3.3.1", interpolatedPlugin.getVersion()); + + // profiles/foo/build/pluginManagement + interpolatedPlugin = null; + for (Plugin plugin : effectiveModel + .getProfiles() + .get(0) + .getBuild() + .getPluginManagement() + .getPlugins()) { + if ("spring-boot-maven-plugin".equals(plugin.getArtifactId())) { + interpolatedPlugin = plugin; + break; + } + } + assertNotNull(interpolatedPlugin); + assertEquals("3.3.1", interpolatedPlugin.getVersion()); + } +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-maven-3.9.8/maven-model-builder/src/test/resources/poms/profile/mng8188.xml new/apache-maven-3.9.9/maven-model-builder/src/test/resources/poms/profile/mng8188.xml --- old/apache-maven-3.9.8/maven-model-builder/src/test/resources/poms/profile/mng8188.xml 1970-01-01 01:00:00.000000000 +0100 +++ new/apache-maven-3.9.9/maven-model-builder/src/test/resources/poms/profile/mng8188.xml 2024-08-14 10:48:47.000000000 +0200 @@ -0,0 +1,62 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- +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. +--> + +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + + <groupId>profile</groupId> + <artifactId>mng8188</artifactId> + <version>1.0</version> + + <properties> + <version.spring-boot>3.3.1</version.spring-boot> + </properties> + + <build> + <pluginManagement> + <plugins> + <plugin> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-maven-plugin</artifactId> + <version>${version.spring-boot}</version> + </plugin> + </plugins> + </pluginManagement> + </build> + + <profiles> + <profile> + <id>foo</id> + <build> + <pluginManagement> + <plugins> + <plugin> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-maven-plugin</artifactId> + <version>${version.spring-boot}</version> + </plugin> + </plugins> + </pluginManagement> + </build> + </profile> + </profiles> +</project> \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-maven-3.9.8/maven-plugin-api/pom.xml new/apache-maven-3.9.9/maven-plugin-api/pom.xml --- old/apache-maven-3.9.8/maven-plugin-api/pom.xml 2024-06-13 10:21:46.000000000 +0200 +++ new/apache-maven-3.9.9/maven-plugin-api/pom.xml 2024-08-14 10:48:47.000000000 +0200 @@ -23,7 +23,7 @@ <parent> <groupId>org.apache.maven</groupId> <artifactId>maven</artifactId> - <version>3.9.8</version> + <version>3.9.9</version> </parent> <artifactId>maven-plugin-api</artifactId> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-maven-3.9.8/maven-repository-metadata/pom.xml new/apache-maven-3.9.9/maven-repository-metadata/pom.xml --- old/apache-maven-3.9.8/maven-repository-metadata/pom.xml 2024-06-13 10:21:46.000000000 +0200 +++ new/apache-maven-3.9.9/maven-repository-metadata/pom.xml 2024-08-14 10:48:47.000000000 +0200 @@ -23,7 +23,7 @@ <parent> <groupId>org.apache.maven</groupId> <artifactId>maven</artifactId> - <version>3.9.8</version> + <version>3.9.9</version> </parent> <artifactId>maven-repository-metadata</artifactId> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-maven-3.9.8/maven-resolver-provider/pom.xml new/apache-maven-3.9.9/maven-resolver-provider/pom.xml --- old/apache-maven-3.9.8/maven-resolver-provider/pom.xml 2024-06-13 10:21:46.000000000 +0200 +++ new/apache-maven-3.9.9/maven-resolver-provider/pom.xml 2024-08-14 10:48:47.000000000 +0200 @@ -23,7 +23,7 @@ <parent> <groupId>org.apache.maven</groupId> <artifactId>maven</artifactId> - <version>3.9.8</version> + <version>3.9.9</version> </parent> <artifactId>maven-resolver-provider</artifactId> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-maven-3.9.8/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultArtifactDescriptorReader.java new/apache-maven-3.9.9/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultArtifactDescriptorReader.java --- old/apache-maven-3.9.8/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultArtifactDescriptorReader.java 2024-06-13 10:21:46.000000000 +0200 +++ new/apache-maven-3.9.9/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultArtifactDescriptorReader.java 2024-08-14 10:48:47.000000000 +0200 @@ -42,6 +42,7 @@ import org.apache.maven.model.building.ModelProblem; import org.apache.maven.model.building.ModelProblemUtils; import org.apache.maven.model.resolution.UnresolvableModelException; +import org.codehaus.plexus.util.StringUtils; import org.eclipse.aether.RepositoryEvent; import org.eclipse.aether.RepositoryEvent.EventType; import org.eclipse.aether.RepositoryException; @@ -195,6 +196,7 @@ return result; } + @SuppressWarnings("MethodLength") private Model loadPom( RepositorySystemSession session, ArtifactDescriptorRequest request, ArtifactDescriptorResult result) throws ArtifactDescriptorException { @@ -293,16 +295,29 @@ // that may lead to unexpected build failure, log them if (!modelResult.getProblems().isEmpty()) { List<ModelProblem> problems = modelResult.getProblems(); - logger.warn( - "{} {} encountered while building the effective model for {}", - problems.size(), - (problems.size() == 1) ? "problem was" : "problems were", - request.getArtifact()); if (logger.isDebugEnabled()) { - for (ModelProblem problem : problems) { - logger.warn( - "{} @ {}", problem.getMessage(), ModelProblemUtils.formatLocation(problem, null)); + String problem = (problems.size() == 1) ? "problem" : "problems"; + String problemPredicate = problem + ((problems.size() == 1) ? " was" : " were"); + String message = String.format( + "%s %s encountered while building the effective model for %s during %s\n", + problems.size(), + problemPredicate, + request.getArtifact(), + RequestTraceHelper.interpretTrace(true, request.getTrace())); + message += StringUtils.capitalizeFirstLetter(problem); + for (ModelProblem modelProblem : problems) { + message += String.format( + "\n* %s @ %s", + modelProblem.getMessage(), ModelProblemUtils.formatLocation(modelProblem, null)); } + logger.warn(message); + } else { + logger.warn( + "{} {} encountered while building the effective model for {} during {} (use -X to see details)", + problems.size(), + (problems.size() == 1) ? "problem was" : "problems were", + request.getArtifact(), + RequestTraceHelper.interpretTrace(false, request.getTrace())); } } model = modelResult.getEffectiveModel(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-maven-3.9.8/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/PluginsMetadataGenerator.java new/apache-maven-3.9.9/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/PluginsMetadataGenerator.java --- old/apache-maven-3.9.8/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/PluginsMetadataGenerator.java 2024-06-13 10:21:46.000000000 +0200 +++ new/apache-maven-3.9.9/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/PluginsMetadataGenerator.java 2024-08-14 10:48:47.000000000 +0200 @@ -27,6 +27,7 @@ import java.util.Iterator; import java.util.LinkedHashMap; import java.util.Map; +import java.util.Objects; import java.util.jar.JarFile; import java.util.zip.ZipEntry; @@ -41,6 +42,8 @@ import org.eclipse.aether.installation.InstallRequest; import org.eclipse.aether.metadata.Metadata; import org.eclipse.aether.util.ConfigUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * Maven G level metadata generator. @@ -50,6 +53,8 @@ class PluginsMetadataGenerator implements MetadataGenerator { private static final String PLUGIN_DESCRIPTOR_LOCATION = "META-INF/maven/plugin.xml"; + private final Logger logger = LoggerFactory.getLogger(getClass()); + private final Map<Object, PluginsMetadata> processedPlugins; private final Date timestamp; @@ -131,11 +136,27 @@ // - maven-plugin-api (for model) // - Plexus Container (for model supporting classes and exceptions) Xpp3Dom root = Xpp3DomBuilder.build(reader); - String groupId = root.getChild("groupId").getValue(); - String artifactId = root.getChild("artifactId").getValue(); - String goalPrefix = root.getChild("goalPrefix").getValue(); - String name = root.getChild("name").getValue(); - return new PluginInfo(groupId, artifactId, goalPrefix, name); + String groupId = mayGetChild(root, "groupId"); + String artifactId = mayGetChild(root, "artifactId"); + String goalPrefix = mayGetChild(root, "goalPrefix"); + String name = mayGetChild(root, "name"); + // sanity check: plugin descriptor extracted from artifact must have same GA + if (Objects.equals(artifact.getGroupId(), groupId) + && Objects.equals(artifact.getArtifactId(), artifactId)) { + // here groupId and artifactId cannot be null + return new PluginInfo(groupId, artifactId, goalPrefix, name); + } else { + logger.warn( + "Artifact {}:{}" + + " JAR (about to be installed/deployed) contains Maven Plugin metadata for" + + " conflicting coordinates: {}:{}." + + " Your JAR contains rogue Maven Plugin metadata." + + " Possible causes may be: shaded into this JAR some Maven Plugin or some rogue resource.", + artifact.getGroupId(), + artifact.getArtifactId(), + groupId, + artifactId); + } } } } catch (Exception e) { @@ -145,4 +166,12 @@ } return null; } + + private static String mayGetChild(Xpp3Dom node, String child) { + Xpp3Dom c = node.getChild(child); + if (c != null) { + return c.getValue(); + } + return null; + } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-maven-3.9.8/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/PluginsMetadataGeneratorFactory.java new/apache-maven-3.9.9/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/PluginsMetadataGeneratorFactory.java --- old/apache-maven-3.9.8/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/PluginsMetadataGeneratorFactory.java 2024-06-13 10:21:46.000000000 +0200 +++ new/apache-maven-3.9.9/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/PluginsMetadataGeneratorFactory.java 2024-08-14 10:48:47.000000000 +0200 @@ -45,7 +45,6 @@ return new PluginsMetadataGenerator(session, request); } - @SuppressWarnings("checkstyle:magicnumber") @Override public float getPriority() { return 10; // G level MD should be deployed as 3rd MD diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-maven-3.9.8/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/RequestTraceHelper.java new/apache-maven-3.9.9/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/RequestTraceHelper.java --- old/apache-maven-3.9.8/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/RequestTraceHelper.java 1970-01-01 01:00:00.000000000 +0100 +++ new/apache-maven-3.9.9/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/RequestTraceHelper.java 2024-08-14 10:48:47.000000000 +0200 @@ -0,0 +1,77 @@ +/* + * 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. + */ +package org.apache.maven.repository.internal; + +import java.util.stream.Collectors; + +import org.apache.maven.model.Plugin; +import org.eclipse.aether.RequestTrace; +import org.eclipse.aether.collection.CollectRequest; +import org.eclipse.aether.collection.CollectStepData; +import org.eclipse.aether.resolution.ArtifactDescriptorRequest; +import org.eclipse.aether.resolution.ArtifactRequest; +import org.eclipse.aether.resolution.DependencyRequest; + +/** + * Helper class to manage {@link RequestTrace} for better error logging. + * + * @since 3.9.9 + */ +public final class RequestTraceHelper { + + /** + * Method that creates some informational string based on passed in {@link RequestTrace}. The contents of request + * trace can literally be anything, but this class tries to cover "most common" cases that are happening in Maven. + */ + public static String interpretTrace(boolean detailed, RequestTrace requestTrace) { + while (requestTrace != null) { + Object data = requestTrace.getData(); + if (data instanceof DependencyRequest) { + DependencyRequest request = (DependencyRequest) data; + return "dependency resolution for " + request; + } else if (data instanceof CollectRequest) { + CollectRequest request = (CollectRequest) data; + return "dependency collection for " + request; + } else if (data instanceof CollectStepData) { + CollectStepData stepData = (CollectStepData) data; + String msg = "dependency collection step for " + stepData.getContext(); + if (detailed) { + msg += ". Path to offending node from root:\n"; + msg += stepData.getPath().stream() + .map(n -> " -> " + n.toString()) + .collect(Collectors.joining("\n")); + msg += "\n => " + stepData.getNode(); + } + return msg; + } else if (data instanceof ArtifactDescriptorRequest) { + ArtifactDescriptorRequest request = (ArtifactDescriptorRequest) data; + return "artifact descriptor request for " + request.getArtifact(); + } else if (data instanceof ArtifactRequest) { + ArtifactRequest request = (ArtifactRequest) data; + return "artifact request for " + request.getArtifact(); + } else if (data instanceof Plugin) { + Plugin plugin = (Plugin) data; + return "plugin request " + plugin.getId(); + } + requestTrace = requestTrace.getParent(); + } + + return "n/a"; + } +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-maven-3.9.8/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/SnapshotMetadataGeneratorFactory.java new/apache-maven-3.9.9/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/SnapshotMetadataGeneratorFactory.java --- old/apache-maven-3.9.8/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/SnapshotMetadataGeneratorFactory.java 2024-06-13 10:21:46.000000000 +0200 +++ new/apache-maven-3.9.9/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/SnapshotMetadataGeneratorFactory.java 2024-08-14 10:48:47.000000000 +0200 @@ -45,7 +45,6 @@ return new RemoteSnapshotMetadataGenerator(session, request); } - @SuppressWarnings("checkstyle:magicnumber") @Override public float getPriority() { return 30; // GAV level metadata should be deployed 1st MD diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-maven-3.9.8/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/VersionsMetadataGeneratorFactory.java new/apache-maven-3.9.9/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/VersionsMetadataGeneratorFactory.java --- old/apache-maven-3.9.8/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/VersionsMetadataGeneratorFactory.java 2024-06-13 10:21:46.000000000 +0200 +++ new/apache-maven-3.9.9/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/VersionsMetadataGeneratorFactory.java 2024-08-14 10:48:47.000000000 +0200 @@ -45,7 +45,6 @@ return new VersionsMetadataGenerator(session, request); } - @SuppressWarnings("checkstyle:magicnumber") @Override public float getPriority() { return 20; // GA level metadata should be deployed 2nd MD diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-maven-3.9.8/maven-settings/pom.xml new/apache-maven-3.9.9/maven-settings/pom.xml --- old/apache-maven-3.9.8/maven-settings/pom.xml 2024-06-13 10:21:46.000000000 +0200 +++ new/apache-maven-3.9.9/maven-settings/pom.xml 2024-08-14 10:48:47.000000000 +0200 @@ -23,7 +23,7 @@ <parent> <groupId>org.apache.maven</groupId> <artifactId>maven</artifactId> - <version>3.9.8</version> + <version>3.9.9</version> </parent> <artifactId>maven-settings</artifactId> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-maven-3.9.8/maven-settings-builder/pom.xml new/apache-maven-3.9.9/maven-settings-builder/pom.xml --- old/apache-maven-3.9.8/maven-settings-builder/pom.xml 2024-06-13 10:21:46.000000000 +0200 +++ new/apache-maven-3.9.9/maven-settings-builder/pom.xml 2024-08-14 10:48:47.000000000 +0200 @@ -23,7 +23,7 @@ <parent> <groupId>org.apache.maven</groupId> <artifactId>maven</artifactId> - <version>3.9.8</version> + <version>3.9.9</version> </parent> <artifactId>maven-settings-builder</artifactId> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-maven-3.9.8/maven-slf4j-provider/pom.xml new/apache-maven-3.9.9/maven-slf4j-provider/pom.xml --- old/apache-maven-3.9.8/maven-slf4j-provider/pom.xml 2024-06-13 10:21:46.000000000 +0200 +++ new/apache-maven-3.9.9/maven-slf4j-provider/pom.xml 2024-08-14 10:48:47.000000000 +0200 @@ -23,7 +23,7 @@ <parent> <groupId>org.apache.maven</groupId> <artifactId>maven</artifactId> - <version>3.9.8</version> + <version>3.9.9</version> </parent> <artifactId>maven-slf4j-provider</artifactId> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-maven-3.9.8/pom.xml new/apache-maven-3.9.9/pom.xml --- old/apache-maven-3.9.8/pom.xml 2024-06-13 10:21:46.000000000 +0200 +++ new/apache-maven-3.9.9/pom.xml 2024-08-14 10:48:47.000000000 +0200 @@ -23,12 +23,12 @@ <parent> <groupId>org.apache.maven</groupId> <artifactId>maven-parent</artifactId> - <version>42</version> + <version>43</version> <relativePath /> </parent> <artifactId>maven</artifactId> - <version>3.9.8</version> + <version>3.9.9</version> <packaging>pom</packaging> <name>Apache Maven</name> @@ -104,7 +104,7 @@ <scm> <connection>scm:git:https://gitbox.apache.org/repos/asf/maven.git</connection> <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/maven.git</developerConnection> - <tag>maven-3.9.8</tag> + <tag>maven-3.9.9</tag> <url>https://github.com/apache/maven/tree/${project.scm.tag}</url> </scm> <issueManagement> @@ -130,7 +130,7 @@ <commonsCliVersion>1.8.0</commonsCliVersion> <commonsIoVersion>2.16.1</commonsIoVersion> <junitVersion>4.13.2</junitVersion> - <hamcrestVersion>2.2</hamcrestVersion> + <hamcrestVersion>3.0</hamcrestVersion> <mockitoVersion>4.11.0</mockitoVersion> <!-- plexus 2.1.1 is broken --> <plexusVersion>2.1.0</plexusVersion> @@ -144,7 +144,7 @@ <securityDispatcherVersion>2.0</securityDispatcherVersion> <cipherVersion>2.0</cipherVersion> <jxpathVersion>1.3</jxpathVersion> - <resolverVersion>1.9.20</resolverVersion> + <resolverVersion>1.9.22</resolverVersion> <slf4jVersion>1.7.36</slf4jVersion> <xmlunitVersion>2.10.0</xmlunitVersion> <powermockVersion>2.0.9</powermockVersion> @@ -156,7 +156,7 @@ <maven.site.path>ref/3-LATEST</maven.site.path> <checkstyle.violation.ignore>None</checkstyle.violation.ignore> <checkstyle.excludes>**/package-info.java</checkstyle.excludes> - <project.build.outputTimestamp>2024-06-13T08:21:46Z</project.build.outputTimestamp> + <project.build.outputTimestamp>2024-08-14T08:48:47Z</project.build.outputTimestamp> </properties> <!--bootstrap-start-comment--> @@ -628,7 +628,7 @@ <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>animal-sniffer-maven-plugin</artifactId> - <version>1.23</version> + <version>1.24</version> <configuration> <signature> <groupId>org.codehaus.mojo.signature</groupId> ++++++ apache-maven-3.9.8-build.tar.xz -> apache-maven-build.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/common.xml new/common.xml --- old/common.xml 2024-06-18 09:59:44.856417717 +0200 +++ new/common.xml 2024-08-26 15:45:01.680474196 +0200 @@ -3,7 +3,7 @@ <project name="common" basedir="."> <property file="build.properties"/> - <property name="project.version" value="3.9.8"/> + <property name="project.version" value="3.9.9"/> <property name="project.groupId" value="org.apache.maven"/> <property name="project.organization.name" value="The Apache Software Foundation"/>
