This is an automated email from the ASF dual-hosted git repository.
cstamas pushed a commit to branch maven-4.0.x
in repository https://gitbox.apache.org/repos/asf/maven.git
The following commit(s) were added to refs/heads/maven-4.0.x by this push:
new 1c7f779415 Mimir Cache-Purge w Pre-seed (#11315) (#11348)
1c7f779415 is described below
commit 1c7f779415867a81d08e42ca4abbfb77b0741ff7
Author: Tamas Cservenak <[email protected]>
AuthorDate: Tue Oct 28 16:02:27 2025 +0100
Mimir Cache-Purge w Pre-seed (#11315) (#11348)
For this to work in Windows, we need latest 0.10.4 and also some
changes/fixes in ITs.
Changes:
* update to Mimir 0.10.4 + enable cache purge
* dropped ctor `Verifier(String basedir, boolean debug)` as `debug` was
unused, instead introduced `Verifier(String basedir, boolean createDotMvn)`
that auto-creates `.mvn` folder in basedir for each ITs. If IT does not want
this, it must use alt method and have a Javadoc telling why.
* detached `its` parent POM from Maven parent POM, as it interferes with IT
support built plugins (we have ITs that uses plugin built in core-it-support
but in POM adds an IT specific dependency that in turn pulls in stub
plexus-utils dependency; by having depMgt in plugin POM, due Maven 4 transitive
dep mgmt, the 4th level p-u was NOT used, but a managed one was used instead)
* disabled RRF in ITs due
https://github.com/apache/maven-resolver/issues/1641 and parallel running of IT
just exacerbates this issue
Note: due cache rename this commit when merged is at the mercy of Central
(HTTP 500 and so on), so will probably need several runs to stabilize (populate
caches).
Backport of 598857d9c607751e901f38539bacee56502fa32f
---
.github/ci-mimir-daemon.properties | 5 +-
.github/workflows/maven.yml | 2 +-
.../apache/maven/cling/invoker/LookupInvoker.java | 17 ++--
its/core-it-suite/pom.xml | 26 ++++++
.../MavenITmng5230MakeReactorWithExcludesTest.java | 2 +-
.../maven/it/MavenITmng5669ReadPomsOnce.java | 4 +-
...enITmng5895CIFriendlyUsageWithPropertyTest.java | 4 +-
...enITmng5965ParallelBuildMultipliesWorkTest.java | 2 +-
.../it/MavenITmng6057CheckReactorOrderTest.java | 2 +-
.../maven/it/MavenITmng6065FailOnSeverityTest.java | 4 +-
.../maven/it/MavenITmng6090CIFriendlyTest.java | 8 +-
.../it/MavenITmng6118SubmoduleInvocation.java | 12 +--
.../maven/it/MavenITmng6391PrintVersionTest.java | 4 +-
.../it/MavenITmng6562WarnDefaultBindings.java | 12 +--
.../maven/it/MavenITmng6656BuildConsumer.java | 2 +-
.../maven/it/MavenITmng6720FailFastTest.java | 2 +-
.../maven/it/MavenITmng6957BuildConsumer.java | 2 +-
.../apache/maven/it/MavenITmng7038RootdirTest.java | 9 +-
.../MavenITmng7390SelectModuleOutsideCwdTest.java | 14 +--
.../maven/it/MavenITmng8744CIFriendlyTest.java | 6 +-
.../org/apache/maven/it/TestSuiteOrdering.java | 2 +-
.../maven-it-plugin-settings/pom.xml | 1 +
its/core-it-support/maven-it-helper/pom.xml | 1 +
.../maven/it/AbstractMavenIntegrationTestCase.java | 12 +--
.../main/java/org/apache/maven/it/Verifier.java | 18 +++-
.../maven-it-plugin-bootstrap/pom.xml | 1 +
its/core-it-support/pom.xml | 8 ++
its/pom.xml | 100 +++++++++++++++++----
pom.xml | 2 +-
29 files changed, 206 insertions(+), 78 deletions(-)
diff --git a/.github/ci-mimir-daemon.properties
b/.github/ci-mimir-daemon.properties
index a03c6571d8..3de619d769 100644
--- a/.github/ci-mimir-daemon.properties
+++ b/.github/ci-mimir-daemon.properties
@@ -19,6 +19,5 @@
# Pre-seed itself
mimir.daemon.preSeedItself=true
-# OFF for now; Windows issues
-# mimir.file.exclusiveAccess=true
-# mimir.file.cachePurge=ON_BEGIN
\ No newline at end of file
+mimir.file.exclusiveAccess=true
+mimir.file.cachePurge=ON_BEGIN
diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
index 75cfa9cd6b..22da55b1fa 100644
--- a/.github/workflows/maven.yml
+++ b/.github/workflows/maven.yml
@@ -32,7 +32,7 @@ concurrency:
permissions: {}
env:
- MIMIR_VERSION: 0.10.3
+ MIMIR_VERSION: 0.10.4
MIMIR_BASEDIR: ~/.mimir
MIMIR_LOCAL: ~/.mimir/local
diff --git
a/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/LookupInvoker.java
b/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/LookupInvoker.java
index 50448a8ade..963d8b1706 100644
---
a/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/LookupInvoker.java
+++
b/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/LookupInvoker.java
@@ -323,13 +323,6 @@ protected final void createTerminal(C context) {
context.terminal = MessageUtils.getTerminal();
context.closeables.add(MessageUtils::systemUninstall);
MessageUtils.registerShutdownHook(); // safety belt
-
- // when we use embedded executor AND --raw-streams, we must ENSURE
streams are properly set up
- if (context.invokerRequest.embedded()
- && context.options().rawStreams().orElse(false)) {
- // to trigger FastTerminal; with raw-streams we must do this
ASAP (to have system in/out/err set up)
- context.terminal.getName();
- }
} else {
doConfigureWithTerminal(context, context.terminal);
}
@@ -381,7 +374,15 @@ protected final void doConfigureWithTerminal(C context,
Terminal terminal) {
/**
* Override this method to add some special handling for "raw streams"
<em>enabled</em> option.
*/
- protected void doConfigureWithTerminalWithRawStreamsEnabled(C context) {}
+ protected void doConfigureWithTerminalWithRawStreamsEnabled(C context) {
+ context.invokerRequest.stdIn().ifPresent(System::setIn);
+ context.invokerRequest
+ .stdOut()
+ .ifPresent(out -> System.setOut(out instanceof PrintStream pw
? pw : new PrintStream(out, true)));
+ context.invokerRequest
+ .stdErr()
+ .ifPresent(err -> System.setErr(err instanceof PrintStream pw
? pw : new PrintStream(err, true)));
+ }
/**
* Override this method to add some special handling for "raw streams"
<em>disabled</em> option.
diff --git a/its/core-it-suite/pom.xml b/its/core-it-suite/pom.xml
index 8e9c0f8133..a6538a0935 100644
--- a/its/core-it-suite/pom.xml
+++ b/its/core-it-suite/pom.xml
@@ -96,6 +96,7 @@ under the License.
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-utils</artifactId>
+ <version>${plexusUtilsVersion}</version>
<!-- NOTE: Use compile scope for transitivity. -->
</dependency>
@@ -503,6 +504,31 @@ under the License.
</plugins>
</pluginManagement>
<plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-invoker-plugin</artifactId>
+ <configuration>
+ <skipInstallation>true</skipInstallation>
+
<localRepositoryPath>${preparedUserHome}/.m2/repository</localRepositoryPath>
+ <extraArtifacts>
+
<extraArtifact>eu.maveniverse.maven.plugins:toolbox:${toolboxVersion}:maven-plugin</extraArtifact>
+ <!--
+ Required by:
+ MavenITmng0449PluginVersionResolutionTest
+ MavenITmng0479OverrideCentralRepoTest
+ -->
+
<extraArtifact>org.apache.maven:maven-plugin-api:3.8.6</extraArtifact>
+ </extraArtifacts>
+ </configuration>
+ <executions>
+ <execution>
+ <id>install</id>
+ <goals>
+ <goal>install</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
diff --git
a/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng5230MakeReactorWithExcludesTest.java
b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng5230MakeReactorWithExcludesTest.java
index 4fa358974c..bfd970b161 100644
---
a/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng5230MakeReactorWithExcludesTest.java
+++
b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng5230MakeReactorWithExcludesTest.java
@@ -49,7 +49,7 @@ private void clean(Verifier verifier) throws Exception {
public void testitMakeWithExclude() throws Exception {
File testDir =
extractResources("/mng-5230-make-reactor-with-excludes");
- Verifier verifier = newVerifier(testDir.getAbsolutePath(), true);
+ Verifier verifier = newVerifier(testDir.getAbsolutePath());
verifier.addCliArgument("-X");
verifier.setAutoclean(false);
clean(verifier);
diff --git
a/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng5669ReadPomsOnce.java
b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng5669ReadPomsOnce.java
index e020d3ff8f..4cc6938669 100644
---
a/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng5669ReadPomsOnce.java
+++
b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng5669ReadPomsOnce.java
@@ -47,7 +47,7 @@ public MavenITmng5669ReadPomsOnce() {
public void testWithoutBuildConsumer() throws Exception {
// prepare JavaAgent
File testDir = extractResources("/mng-5669-read-poms-once");
- Verifier verifier = newVerifier(testDir.getAbsolutePath(), false);
+ Verifier verifier = newVerifier(testDir.getAbsolutePath());
Map<String, String> filterProperties = Collections.singletonMap(
"${javaAgentJar}",
verifier.getSupportArtifactPath("org.apache.maven.its",
"core-it-javaagent", "2.1-SNAPSHOT", "jar"));
@@ -82,7 +82,7 @@ public void testWithoutBuildConsumer() throws Exception {
public void testWithBuildConsumer() throws Exception {
// prepare JavaAgent
File testDir = extractResources("/mng-5669-read-poms-once");
- Verifier verifier = newVerifier(testDir.getAbsolutePath(), false);
+ Verifier verifier = newVerifier(testDir.getAbsolutePath());
Map<String, String> filterProperties = Collections.singletonMap(
"${javaAgentJar}",
verifier.getArtifactPath("org.apache.maven.its",
"core-it-javaagent", "2.1-SNAPSHOT", "jar"));
diff --git
a/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng5895CIFriendlyUsageWithPropertyTest.java
b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng5895CIFriendlyUsageWithPropertyTest.java
index e29f6cedaf..6a1703b605 100644
---
a/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng5895CIFriendlyUsageWithPropertyTest.java
+++
b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng5895CIFriendlyUsageWithPropertyTest.java
@@ -50,7 +50,7 @@ public MavenITmng5895CIFriendlyUsageWithPropertyTest() {
public void testitShouldResolveTheDependenciesWithoutBuildConsumer()
throws Exception {
File testDir =
extractResources("/mng-5895-ci-friendly-usage-with-property");
- Verifier verifier = newVerifier(testDir.getAbsolutePath(), false);
+ Verifier verifier = newVerifier(testDir.getAbsolutePath());
verifier.setAutoclean(false);
// verifier.setLogFileName( "log-only.txt" );
@@ -67,7 +67,7 @@ public void
testitShouldResolveTheDependenciesWithoutBuildConsumer() throws Exce
public void testitShouldResolveTheDependenciesWithBuildConsumer() throws
Exception {
File testDir =
extractResources("/mng-5895-ci-friendly-usage-with-property");
- Verifier verifier = newVerifier(testDir.getAbsolutePath(), false);
+ Verifier verifier = newVerifier(testDir.getAbsolutePath());
verifier.setAutoclean(false);
verifier.setLogFileName("log-bc.txt");
diff --git
a/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng5965ParallelBuildMultipliesWorkTest.java
b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng5965ParallelBuildMultipliesWorkTest.java
index c1889d6017..54dc6c4acb 100644
---
a/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng5965ParallelBuildMultipliesWorkTest.java
+++
b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng5965ParallelBuildMultipliesWorkTest.java
@@ -40,7 +40,7 @@ public MavenITmng5965ParallelBuildMultipliesWorkTest() {
public void testItShouldOnlyRunEachTaskOnce() throws Exception {
File testDir =
extractResources("/mng-5965-parallel-build-multiplies-work");
- Verifier verifier = newVerifier(testDir.getAbsolutePath(), false);
+ Verifier verifier = newVerifier(testDir.getAbsolutePath());
verifier.setAutoclean(false);
verifier.setLogFileName("log-only.txt");
diff --git
a/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng6057CheckReactorOrderTest.java
b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng6057CheckReactorOrderTest.java
index 75d1ec85f2..930c8cf40c 100644
---
a/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng6057CheckReactorOrderTest.java
+++
b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng6057CheckReactorOrderTest.java
@@ -51,7 +51,7 @@ public MavenITmng6057CheckReactorOrderTest() {
public void testitReactorShouldResultInExpectedOrder() throws Exception {
File testDir = extractResources("/mng-6057-check-reactor-order");
- Verifier verifier = newVerifier(testDir.getAbsolutePath(), false);
+ Verifier verifier = newVerifier(testDir.getAbsolutePath());
verifier.setAutoclean(false);
verifier.setLogFileName("log-only.txt");
diff --git
a/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng6065FailOnSeverityTest.java
b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng6065FailOnSeverityTest.java
index 56c3fec4bc..25dc963083 100644
---
a/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng6065FailOnSeverityTest.java
+++
b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng6065FailOnSeverityTest.java
@@ -41,7 +41,7 @@ public MavenITmng6065FailOnSeverityTest() {
public void testItShouldFailOnWarnLogMessages() throws Exception {
File testDir = extractResources("/mng-6065-fail-on-severity");
- Verifier verifier = newVerifier(testDir.getAbsolutePath(), false);
+ Verifier verifier = newVerifier(testDir.getAbsolutePath());
verifier.setLogFileName("warn.log");
verifier.addCliArgument("--fail-on-severity");
verifier.addCliArgument("WARN");
@@ -64,7 +64,7 @@ public void testItShouldFailOnWarnLogMessages() throws
Exception {
public void testItShouldSucceedOnWarnLogMessagesWhenFailLevelIsError()
throws Exception {
File testDir = extractResources("/mng-6065-fail-on-severity");
- Verifier verifier = newVerifier(testDir.getAbsolutePath(), false);
+ Verifier verifier = newVerifier(testDir.getAbsolutePath());
verifier.setLogFileName("error.log");
verifier.addCliArgument("--fail-on-severity");
verifier.addCliArgument("ERROR");
diff --git
a/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng6090CIFriendlyTest.java
b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng6090CIFriendlyTest.java
index 07f372ad76..39576a1168 100644
---
a/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng6090CIFriendlyTest.java
+++
b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng6090CIFriendlyTest.java
@@ -50,7 +50,7 @@ public MavenITmng6090CIFriendlyTest() {
public void testitShouldResolveTheDependenciesWithoutBuildConsumer()
throws Exception {
File testDir = extractResources("/mng-6090-ci-friendly");
- Verifier verifier = newVerifier(testDir.getAbsolutePath(), false);
+ Verifier verifier = newVerifier(testDir.getAbsolutePath());
verifier.setAutoclean(false);
verifier.addCliArgument("-Drevision=1.2");
@@ -60,7 +60,7 @@ public void
testitShouldResolveTheDependenciesWithoutBuildConsumer() throws Exce
verifier.execute();
verifier.verifyErrorFreeLog();
- verifier = newVerifier(testDir.getAbsolutePath(), false);
+ verifier = newVerifier(testDir.getAbsolutePath());
verifier.setAutoclean(false);
verifier.addCliArgument("-Drevision=1.2");
@@ -75,7 +75,7 @@ public void
testitShouldResolveTheDependenciesWithoutBuildConsumer() throws Exce
public void testitShouldResolveTheDependenciesWithBuildConsumer() throws
Exception {
File testDir = extractResources("/mng-6090-ci-friendly");
- Verifier verifier = newVerifier(testDir.getAbsolutePath(), false);
+ Verifier verifier = newVerifier(testDir.getAbsolutePath());
verifier.setAutoclean(false);
verifier.setForkJvm(true); // TODO: why?
@@ -86,7 +86,7 @@ public void
testitShouldResolveTheDependenciesWithBuildConsumer() throws Excepti
verifier.execute();
verifier.verifyErrorFreeLog();
- verifier = newVerifier(testDir.getAbsolutePath(), false);
+ verifier = newVerifier(testDir.getAbsolutePath());
verifier.setAutoclean(false);
verifier.setForkJvm(true); // TODO: why?
diff --git
a/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng6118SubmoduleInvocation.java
b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng6118SubmoduleInvocation.java
index 352459943a..52f30bbae8 100644
---
a/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng6118SubmoduleInvocation.java
+++
b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng6118SubmoduleInvocation.java
@@ -33,6 +33,8 @@
* <li>lib</li>
* </ul>
*
+ * This IT manually manages {@code .mvn} directories, so instructs Verifier to
NOT create any.
+ *
* @author Maarten Mulders
* @author Martin Kanters
*/
@@ -53,12 +55,12 @@ public MavenITmng6118SubmoduleInvocation() throws
IOException {
@Test
public void testInSubModule() throws Exception {
// Compile the whole project first.
- Verifier verifier = newVerifier(testDir.getAbsolutePath());
+ Verifier verifier = newVerifier(testDir.getAbsolutePath(), false);
verifier.addCliArgument("package");
verifier.execute();
final File submoduleDirectory = new File(testDir, "app");
- verifier = newVerifier(submoduleDirectory.getAbsolutePath());
+ verifier = newVerifier(submoduleDirectory.getAbsolutePath(), false);
verifier.setAutoclean(false);
verifier.setLogFileName("log-insubmodule.txt");
verifier.addCliArgument("compile");
@@ -73,7 +75,7 @@ public void testInSubModule() throws Exception {
@Test
public void testWithFile() throws Exception {
// Compile the whole project first.
- Verifier verifier = newVerifier(testDir.getAbsolutePath());
+ Verifier verifier = newVerifier(testDir.getAbsolutePath(), false);
verifier.addCliArgument("package");
verifier.execute();
@@ -93,7 +95,7 @@ public void testWithFile() throws Exception {
*/
@Test
public void testWithFileAndAlsoMake() throws Exception {
- Verifier verifier = newVerifier(testDir.getAbsolutePath());
+ Verifier verifier = newVerifier(testDir.getAbsolutePath(), false);
verifier.addCliArgument("-am");
verifier.addCliArgument("-f");
verifier.addCliArgument("app/pom.xml");
@@ -111,7 +113,7 @@ public void testWithFileAndAlsoMake() throws Exception {
@Test
public void testInSubModuleWithAlsoMake() throws Exception {
File submoduleDirectory = new File(testDir, "app");
- Verifier verifier = newVerifier(submoduleDirectory.getAbsolutePath());
+ Verifier verifier = newVerifier(submoduleDirectory.getAbsolutePath(),
false);
verifier.addCliArgument("-am");
verifier.setLogFileName("log-insubmodulealsomake.txt");
verifier.addCliArgument("compile");
diff --git
a/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng6391PrintVersionTest.java
b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng6391PrintVersionTest.java
index 30d76f7a40..4fa5deac77 100644
---
a/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng6391PrintVersionTest.java
+++
b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng6391PrintVersionTest.java
@@ -54,7 +54,7 @@ public MavenITmng6391PrintVersionTest() {
public void testitShouldPrintVersionAtTopAndAtBottom() throws Exception {
File testDir = extractResources("/mng-6391-print-version");
- Verifier verifier = newVerifier(testDir.getAbsolutePath(), false);
+ Verifier verifier = newVerifier(testDir.getAbsolutePath());
verifier.setAutoclean(false);
verifier.setLogFileName("version-log.txt");
@@ -95,7 +95,7 @@ public void testitShouldPrintVersionAtTopAndAtBottom() throws
Exception {
public void testitShouldPrintVersionInAllLines() throws Exception {
File testDir = extractResources("/mng-6391-print-version-aggregator");
- Verifier verifier = newVerifier(testDir.getAbsolutePath(), false);
+ Verifier verifier = newVerifier(testDir.getAbsolutePath());
verifier.setAutoclean(false);
verifier.setLogFileName("version-log.txt");
diff --git
a/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng6562WarnDefaultBindings.java
b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng6562WarnDefaultBindings.java
index ecd5261875..42e7139543 100644
---
a/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng6562WarnDefaultBindings.java
+++
b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng6562WarnDefaultBindings.java
@@ -33,7 +33,7 @@ public void testItShouldNotWarn() throws Exception {
File testDir = extractResources("/mng-6562-default-bindings");
String phase = "validate";
- Verifier verifier = newVerifier(testDir.getAbsolutePath(), false);
+ Verifier verifier = newVerifier(testDir.getAbsolutePath());
verifier.setAutoclean(false);
verifier.setLogFileName(phase + ".txt");
verifier.addCliArgument("-fos");
@@ -49,7 +49,7 @@ public void testItShouldNotWarn2() throws Exception {
File testDir = extractResources("/mng-6562-default-bindings");
String phase = "process-resources";
- Verifier verifier = newVerifier(testDir.getAbsolutePath(), false);
+ Verifier verifier = newVerifier(testDir.getAbsolutePath());
verifier.setAutoclean(false);
verifier.setLogFileName(phase + ".txt");
verifier.addCliArgument("-fos");
@@ -65,7 +65,7 @@ public void testItShouldWarnForCompilerPlugin() throws
Exception {
File testDir = extractResources("/mng-6562-default-bindings");
String phase = "compile";
- Verifier verifier = newVerifier(testDir.getAbsolutePath(), false);
+ Verifier verifier = newVerifier(testDir.getAbsolutePath());
verifier.setAutoclean(false);
verifier.setLogFileName(phase + ".txt");
verifier.addCliArgument(phase);
@@ -80,7 +80,7 @@ public void testItShouldWarnForCompilerPlugin2() throws
Exception {
File testDir = extractResources("/mng-6562-default-bindings");
String phase = "process-test-resources";
- Verifier verifier = newVerifier(testDir.getAbsolutePath(), false);
+ Verifier verifier = newVerifier(testDir.getAbsolutePath());
verifier.setAutoclean(false);
verifier.setLogFileName(phase + ".txt");
verifier.addCliArgument(phase);
@@ -96,7 +96,7 @@ public void testItShouldWarnForCompilerPlugin3() throws
Exception {
File testDir = extractResources("/mng-6562-default-bindings");
String phase = "test-compile";
- Verifier verifier = newVerifier(testDir.getAbsolutePath(), false);
+ Verifier verifier = newVerifier(testDir.getAbsolutePath());
verifier.setAutoclean(false);
verifier.setLogFileName(phase + ".txt");
verifier.addCliArgument(phase);
@@ -112,7 +112,7 @@ public void
testItShouldWarnForCompilerPluginAndSurefirePlugin() throws Exceptio
File testDir = extractResources("/mng-6562-default-bindings");
String phase = "test";
- Verifier verifier = newVerifier(testDir.getAbsolutePath(), false);
+ Verifier verifier = newVerifier(testDir.getAbsolutePath());
verifier.setAutoclean(false);
verifier.setLogFileName(phase + ".txt");
verifier.addCliArgument(phase);
diff --git
a/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng6656BuildConsumer.java
b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng6656BuildConsumer.java
index 0462567875..10a6925eb2 100644
---
a/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng6656BuildConsumer.java
+++
b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng6656BuildConsumer.java
@@ -64,7 +64,7 @@ public MavenITmng6656BuildConsumer() {
public void testPublishedPoms() throws Exception {
File testDir = extractResources("/mng-6656-buildconsumer");
- Verifier verifier = newVerifier(testDir.getAbsolutePath(), false);
+ Verifier verifier = newVerifier(testDir.getAbsolutePath());
verifier.setAutoclean(false);
verifier.addCliArgument("-Dchangelist=MNG6656");
diff --git
a/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng6720FailFastTest.java
b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng6720FailFastTest.java
index c187b9edef..62fbc9038c 100644
---
a/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng6720FailFastTest.java
+++
b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng6720FailFastTest.java
@@ -42,7 +42,7 @@ class MavenITmng6720FailFastTest extends
AbstractMavenIntegrationTestCase {
void testItShouldWaitForConcurrentModulesToFinish() throws Exception {
File testDir = extractResources("/mng-6720-fail-fast");
- Verifier verifier = newVerifier(testDir.getAbsolutePath(), false);
+ Verifier verifier = newVerifier(testDir.getAbsolutePath());
verifier.setAutoclean(false);
verifier.addCliArguments("-T", "2");
verifier.addCliArgument("-Dmaven.test.redirectTestOutputToFile=true");
diff --git
a/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng6957BuildConsumer.java
b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng6957BuildConsumer.java
index 7ad3ecd42c..623e342a26 100644
---
a/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng6957BuildConsumer.java
+++
b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng6957BuildConsumer.java
@@ -64,7 +64,7 @@ public MavenITmng6957BuildConsumer() {
public void testPublishedPoms() throws Exception {
File testDir = extractResources("/mng-6957-buildconsumer");
- Verifier verifier = newVerifier(testDir.getAbsolutePath(), false);
+ Verifier verifier = newVerifier(testDir.getAbsolutePath());
verifier.setAutoclean(false);
verifier.addCliArgument("-Dchangelist=MNG6957");
diff --git
a/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng7038RootdirTest.java
b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng7038RootdirTest.java
index 114c18743d..811aed4492 100644
---
a/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng7038RootdirTest.java
+++
b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng7038RootdirTest.java
@@ -26,6 +26,9 @@
import static org.junit.jupiter.api.Assertions.assertEquals;
+/**
+ * This IT manually manages {@code .mvn} directories, so instructs Verifier to
NOT create any.
+ */
public class MavenITmng7038RootdirTest extends
AbstractMavenIntegrationTestCase {
public MavenITmng7038RootdirTest() {
@@ -35,7 +38,7 @@ public MavenITmng7038RootdirTest() {
@Test
public void testRootdir() throws IOException, VerificationException {
File testDir = extractResources("/mng-7038-rootdir");
- Verifier verifier = newVerifier(testDir.getAbsolutePath());
+ Verifier verifier = newVerifier(testDir.getAbsolutePath(), false);
verifier.addCliArgument("validate");
verifier.execute();
@@ -123,7 +126,7 @@ public void testRootdir() throws IOException,
VerificationException {
@Test
public void testRootdirWithTopdirAndRoot() throws IOException,
VerificationException {
File testDir = extractResources("/mng-7038-rootdir");
- Verifier verifier = newVerifier(new File(testDir,
"module-a").getAbsolutePath());
+ Verifier verifier = newVerifier(new File(testDir,
"module-a").getAbsolutePath(), false);
verifier.addCliArgument("validate");
verifier.execute();
@@ -181,7 +184,7 @@ public void testRootdirWithTopdirAndRoot() throws
IOException, VerificationExcep
@Test
public void testRootdirWithTopdirAndNoRoot() throws IOException,
VerificationException {
File testDir = extractResources("/mng-7038-rootdir");
- Verifier verifier = newVerifier(new File(testDir,
"module-b").getAbsolutePath());
+ Verifier verifier = newVerifier(new File(testDir,
"module-b").getAbsolutePath(), false);
verifier.addCliArgument("validate");
verifier.execute();
diff --git
a/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng7390SelectModuleOutsideCwdTest.java
b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng7390SelectModuleOutsideCwdTest.java
index a3b598b1a3..cee7a2a68a 100644
---
a/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng7390SelectModuleOutsideCwdTest.java
+++
b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng7390SelectModuleOutsideCwdTest.java
@@ -27,6 +27,8 @@
* This test suite tests whether other modules in the same multi-module
project can be selected when invoking Maven from a submodule.
* Related JIRA issue: <a
href="https://issues.apache.org/jira/browse/MNG-7390">MNG-7390</a>.
*
+ * This IT manually manages {@code .mvn} directories, so instructs Verifier to
NOT create any.
+ *
* @author Martin Kanters
*/
public class MavenITmng7390SelectModuleOutsideCwdTest extends
AbstractMavenIntegrationTestCase {
@@ -42,7 +44,7 @@ protected void setUp() throws Exception {
moduleADir = extractResources("/mng-7390-pl-outside-cwd/module-a");
// Clean up target files from earlier runs (verifier.setAutoClean does
not work, as we are reducing the reactor)
- final Verifier verifier = newVerifier(moduleADir.getAbsolutePath());
+ final Verifier verifier = newVerifier(moduleADir.getAbsolutePath(),
false);
verifier.addCliArgument("-f");
verifier.addCliArgument("..");
verifier.addCliArgument("clean");
@@ -51,7 +53,7 @@ protected void setUp() throws Exception {
@Test
public void testSelectModuleByCoordinate() throws Exception {
- final Verifier verifier = newVerifier(moduleADir.getAbsolutePath());
+ final Verifier verifier = newVerifier(moduleADir.getAbsolutePath(),
false);
verifier.addCliArgument("-pl");
verifier.addCliArgument(":module-b");
@@ -65,7 +67,7 @@ public void testSelectModuleByCoordinate() throws Exception {
@Test
public void testSelectMultipleModulesByCoordinate() throws Exception {
- final Verifier verifier = newVerifier(moduleADir.getAbsolutePath());
+ final Verifier verifier = newVerifier(moduleADir.getAbsolutePath(),
false);
verifier.addCliArgument("-pl");
verifier.addCliArgument(":module-b,:module-a");
@@ -79,7 +81,7 @@ public void testSelectMultipleModulesByCoordinate() throws
Exception {
@Test
public void testSelectModuleByRelativePath() throws Exception {
- final Verifier verifier = newVerifier(moduleADir.getAbsolutePath());
+ final Verifier verifier = newVerifier(moduleADir.getAbsolutePath(),
false);
verifier.addCliArgument("-pl");
verifier.addCliArgument("../module-b");
@@ -93,7 +95,7 @@ public void testSelectModuleByRelativePath() throws Exception
{
@Test
public void testSelectModulesByRelativePath() throws Exception {
- final Verifier verifier = newVerifier(moduleADir.getAbsolutePath());
+ final Verifier verifier = newVerifier(moduleADir.getAbsolutePath(),
false);
verifier.addCliArgument("-pl");
verifier.addCliArgument("../module-b,.");
@@ -113,7 +115,7 @@ public void testSelectModulesByRelativePath() throws
Exception {
public void testSelectModulesOutsideCwdDoesNotWorkWhenDotMvnIsNotPresent()
throws Exception {
final String noDotMvnPath =
"/mng-7390-pl-outside-cwd-no-dotmvn/module-a";
final File noDotMvnDir = extractResources(noDotMvnPath);
- final Verifier verifier = newVerifier(noDotMvnDir.getAbsolutePath());
+ final Verifier verifier = newVerifier(noDotMvnDir.getAbsolutePath(),
false);
verifier.addCliArgument("-pl");
verifier.addCliArgument("../module-b");
diff --git
a/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng8744CIFriendlyTest.java
b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng8744CIFriendlyTest.java
index 3e5a285373..ab67fc6293 100644
---
a/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng8744CIFriendlyTest.java
+++
b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng8744CIFriendlyTest.java
@@ -49,7 +49,7 @@ public MavenITmng8744CIFriendlyTest() {
public void testitShouldResolveTheInstalledDependencies() throws Exception
{
File testDir = extractResources("/mng-8744-ci-friendly");
- Verifier verifier = newVerifier(testDir.getAbsolutePath(), false);
+ Verifier verifier = newVerifier(testDir.getAbsolutePath());
verifier.setAutoclean(false);
verifier.addCliArgument("-Drevision=1.2");
@@ -59,13 +59,13 @@ public void testitShouldResolveTheInstalledDependencies()
throws Exception {
verifier.execute();
verifier.verifyErrorFreeLog();
- verifier = newVerifier(testDir.getAbsolutePath(), false);
+ verifier = newVerifier(testDir.getAbsolutePath());
verifier.setAutoclean(false);
verifier.addCliArgument("clean");
verifier.execute();
verifier.verifyErrorFreeLog();
- verifier = newVerifier(testDir.getAbsolutePath(), false);
+ verifier = newVerifier(testDir.getAbsolutePath());
verifier.setAutoclean(false);
verifier.addCliArgument("-Drevision=1.2");
diff --git
a/its/core-it-suite/src/test/java/org/apache/maven/it/TestSuiteOrdering.java
b/its/core-it-suite/src/test/java/org/apache/maven/it/TestSuiteOrdering.java
index fda57f8529..45e8a3c374 100644
--- a/its/core-it-suite/src/test/java/org/apache/maven/it/TestSuiteOrdering.java
+++ b/its/core-it-suite/src/test/java/org/apache/maven/it/TestSuiteOrdering.java
@@ -64,7 +64,7 @@ private static void infoProperty(PrintStream info, String
property) {
System.clearProperty("maven.conf");
System.clearProperty("classworlds.conf");
- Verifier verifier = new Verifier("");
+ Verifier verifier = new Verifier("", false);
String mavenVersion = verifier.getMavenVersion();
String executable = verifier.getExecutable();
ExecutorHelper.Mode defaultMode = verifier.getDefaultMode();
diff --git
a/its/core-it-support/core-it-plugins/maven-it-plugin-settings/pom.xml
b/its/core-it-support/core-it-plugins/maven-it-plugin-settings/pom.xml
index dbc0c6bfc1..b62231317e 100644
--- a/its/core-it-support/core-it-plugins/maven-it-plugin-settings/pom.xml
+++ b/its/core-it-support/core-it-plugins/maven-it-plugin-settings/pom.xml
@@ -52,6 +52,7 @@ under the License.
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-utils</artifactId>
+ <version>${plexusUtilsVersion}</version>
</dependency>
</dependencies>
diff --git a/its/core-it-support/maven-it-helper/pom.xml
b/its/core-it-support/maven-it-helper/pom.xml
index eb11a34c38..88c1fe76d7 100644
--- a/its/core-it-support/maven-it-helper/pom.xml
+++ b/its/core-it-support/maven-it-helper/pom.xml
@@ -46,6 +46,7 @@ under the License.
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-utils</artifactId>
+ <version>${plexusUtilsVersion}</version>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
diff --git
a/its/core-it-support/maven-it-helper/src/main/java/org/apache/maven/it/AbstractMavenIntegrationTestCase.java
b/its/core-it-support/maven-it-helper/src/main/java/org/apache/maven/it/AbstractMavenIntegrationTestCase.java
index 744dcfd8c6..a71260d63b 100644
---
a/its/core-it-support/maven-it-helper/src/main/java/org/apache/maven/it/AbstractMavenIntegrationTestCase.java
+++
b/its/core-it-support/maven-it-helper/src/main/java/org/apache/maven/it/AbstractMavenIntegrationTestCase.java
@@ -247,19 +247,19 @@ protected File extractResources(String resourcePath)
throws IOException {
}
protected Verifier newVerifier(String basedir) throws
VerificationException {
- return newVerifier(basedir, false);
+ return newVerifier(basedir, true);
}
protected Verifier newVerifier(String basedir, String settings) throws
VerificationException {
- return newVerifier(basedir, settings, false);
+ return newVerifier(basedir, settings, true);
}
- protected Verifier newVerifier(String basedir, boolean debug) throws
VerificationException {
- return newVerifier(basedir, "remote", debug);
+ protected Verifier newVerifier(String basedir, boolean createDotMvn)
throws VerificationException {
+ return newVerifier(basedir, "remote", createDotMvn);
}
- protected Verifier newVerifier(String basedir, String settings, boolean
debug) throws VerificationException {
- Verifier verifier = new Verifier(basedir);
+ protected Verifier newVerifier(String basedir, String settings, boolean
createDotMvn) throws VerificationException {
+ Verifier verifier = new Verifier(basedir, createDotMvn);
// try to get jacoco arg from command line if any then use it to start
IT to populate jacoco data
// we use a different file than the main one
diff --git
a/its/core-it-support/maven-it-helper/src/main/java/org/apache/maven/it/Verifier.java
b/its/core-it-support/maven-it-helper/src/main/java/org/apache/maven/it/Verifier.java
index e4ebe69ac2..2951abc56e 100644
---
a/its/core-it-support/maven-it-helper/src/main/java/org/apache/maven/it/Verifier.java
+++
b/its/core-it-support/maven-it-helper/src/main/java/org/apache/maven/it/Verifier.java
@@ -135,19 +135,31 @@ public Verifier(String basedir) throws
VerificationException {
this(basedir, null);
}
+ public Verifier(String basedir, List<String> defaultCliArguments) throws
VerificationException {
+ this(basedir, defaultCliArguments, true);
+ }
+
+ public Verifier(String basedir, boolean createDotMvn) throws
VerificationException {
+ this(basedir, null, createDotMvn);
+ }
+
/**
* Creates verifier instance using passed in basedir as "cwd" and passed
in default CLI arguments (if not null).
* The discovery of user home and Maven installation directory is
performed as well.
*
* @param basedir The basedir, cannot be {@code null}
* @param defaultCliArguments The defaultCliArguments override, may be
{@code null}
+ * @param createDotMvn If {@code true}, Verifier will create {@code .mvn}
in passed basedir.
*
* @see #DEFAULT_CLI_ARGUMENTS
*/
- public Verifier(String basedir, List<String> defaultCliArguments) throws
VerificationException {
+ public Verifier(String basedir, List<String> defaultCliArguments, boolean
createDotMvn) throws VerificationException {
requireNonNull(basedir);
try {
this.basedir = Paths.get(basedir).toAbsolutePath();
+ if (createDotMvn) {
+ Files.createDirectories(this.basedir.resolve(".mvn"));
+ }
this.tempBasedir = Files.createTempDirectory("verifier");
this.userHomeDirectory =
Paths.get(System.getProperty("maven.test.user.home", "user.home"));
Files.createDirectories(this.userHomeDirectory);
@@ -231,6 +243,10 @@ public void execute() throws VerificationException {
args.add(0, "-l");
}
+ // TODO: disable RRF for now until
https://github.com/apache/maven-resolver/issues/1641 can be fixed
+ args.add("-Daether.remoteRepositoryFilter.groupId=false");
+ args.add("-Daether.remoteRepositoryFilter.prefixes=false");
+
try {
ExecutorRequest.Builder builder = executorHelper
.executorRequest()
diff --git a/its/core-it-support/maven-it-plugin-bootstrap/pom.xml
b/its/core-it-support/maven-it-plugin-bootstrap/pom.xml
index 5c91f927ad..a5b9859162 100644
--- a/its/core-it-support/maven-it-plugin-bootstrap/pom.xml
+++ b/its/core-it-support/maven-it-plugin-bootstrap/pom.xml
@@ -58,6 +58,7 @@ under the License.
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-utils</artifactId>
+ <version>${plexusUtilsVersion}</version>
</dependency>
</dependencies>
diff --git a/its/core-it-support/pom.xml b/its/core-it-support/pom.xml
index 5408e3ff57..3e53f56b04 100644
--- a/its/core-it-support/pom.xml
+++ b/its/core-it-support/pom.xml
@@ -46,6 +46,14 @@ under the License.
<dependencyManagement>
<dependencies>
+ <!-- WARNING: Do not manage plexus-utils at this level, as we have ITs
adding custom versions of it to
+ plugin dependencies, and Maven 4 transitive depMgr would override that!
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>${plexusUtilsVersion}</version>
+ </dependency-->
+ <!-- Plugin tools -->
<dependency>
<groupId>org.apache.maven.plugin-tools</groupId>
<artifactId>maven-plugin-annotations</artifactId>
diff --git a/its/pom.xml b/its/pom.xml
index 1778e11308..8c66abe441 100644
--- a/its/pom.xml
+++ b/its/pom.xml
@@ -21,9 +21,10 @@ under the License.
<modelVersion>4.0.0</modelVersion>
<parent>
- <groupId>org.apache.maven</groupId>
- <artifactId>maven</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <groupId>org.apache</groupId>
+ <artifactId>apache</artifactId>
+ <version>35</version>
+ <relativePath />
</parent>
<groupId>org.apache.maven.its</groupId>
@@ -73,12 +74,34 @@ under the License.
<!-- <maven.compiler.source>8</maven.compiler.source>-->
<!-- <maven.compiler.target>8</maven.compiler.target>-->
- <maven-version>4.0.0-SNAPSHOT</maven-version>
<maven-plugin-tools-version>3.15.2</maven-plugin-tools-version>
+ <!-- Maven version being tested - must match the parent project version -->
+ <maven-version>4.0.0-SNAPSHOT</maven-version>
+ <!-- Support artifacts version - kept separate from Maven version -->
+ <core-it-support-version>2.1-SNAPSHOT</core-it-support-version>
+
+ <maven.compiler.release>17</maven.compiler.release>
+
+ <wagonVersion>3.5.3</wagonVersion>
+ <asmVersion>9.9</asmVersion>
+ <plexusUtilsVersion>4.0.2</plexusUtilsVersion>
+ <plexusXmlVersion>4.1.0</plexusXmlVersion>
+
+ <!-- Set as system property in surefire/failsafe to propagate to tests and
IT Verifier -->
+ <toolboxVersion>0.14.1</toolboxVersion>
+ <jacocoArgLine />
</properties>
<dependencyManagement>
<dependencies>
+ <dependency>
+ <groupId>org.junit</groupId>
+ <artifactId>junit-bom</artifactId>
+ <version>6.0.0</version>
+ <type>pom</type>
+ <scope>import</scope>
+ </dependency>
+
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-artifact</artifactId>
@@ -240,6 +263,22 @@ under the License.
<version>${maven-version}</version>
</dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ <version>2.0.17</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-xml</artifactId>
+ <version>${plexusXmlVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>javax.inject</groupId>
+ <artifactId>javax.inject</artifactId>
+ <version>1</version>
+ </dependency>
+
<dependency>
<groupId>org.apache.maven.shared</groupId>
<artifactId>maven-verifier</artifactId>
@@ -276,14 +315,27 @@ under the License.
<build>
<pluginManagement>
<plugins>
+ <plugin>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-component-metadata</artifactId>
+ <version>2.2.0</version>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.sisu</groupId>
+ <artifactId>sisu-maven-plugin</artifactId>
+ <version>0.9.0.M4</version>
+ </plugin>
+
<plugin>
<groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <environmentVariables>
- <JENKINS_MAVEN_AGENT_DISABLED>true</JENKINS_MAVEN_AGENT_DISABLED>
- </environmentVariables>
- </configuration>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>extra-enforcer-rules</artifactId>
+ <version>1.10.0</version>
+ </dependency>
+ </dependencies>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
@@ -301,7 +353,6 @@ under the License.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-scm-publish-plugin</artifactId>
- <version>3.3.0</version>
<configuration>
<serverId>apache.releases.https</serverId>
</configuration>
@@ -334,13 +385,30 @@ under the License.
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-plugin-plugin</artifactId>
- <version>${maven-plugin-tools-version}</version>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <forkNode
implementation="org.apache.maven.plugin.surefire.extensions.SurefireForkNodeFactory"
/>
+ <argLine>-Xmx256m @{jacocoArgLine}</argLine>
+ <systemPropertyVariables combine.children="append">
+ <version.toolbox>${toolboxVersion}</version.toolbox>
+ </systemPropertyVariables>
+ </configuration>
</plugin>
<plugin>
- <groupId>org.codehaus.plexus</groupId>
- <artifactId>plexus-component-metadata</artifactId>
- <version>2.2.0</version>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-failsafe-plugin</artifactId>
+ <configuration>
+ <forkNode
implementation="org.apache.maven.plugin.surefire.extensions.SurefireForkNodeFactory"
/>
+ <argLine>-Xmx256m @{jacocoArgLine}</argLine>
+ <systemPropertyVariables combine.children="append">
+ <version.toolbox>${toolboxVersion}</version.toolbox>
+ </systemPropertyVariables>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-plugin-plugin</artifactId>
+ <version>${maven-plugin-tools-version}</version>
</plugin>
</plugins>
</pluginManagement>
diff --git a/pom.xml b/pom.xml
index 7e4070695d..922a0b7d3c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -693,7 +693,7 @@ under the License.
<dependency>
<groupId>eu.maveniverse.maven.mimir</groupId>
<artifactId>testing</artifactId>
- <version>0.10.3</version>
+ <version>0.10.4</version>
</dependency>
</dependencies>
<!--bootstrap-start-comment-->