From 86580c9ef13a71b5a3d3374c359407aca9ed905d Mon Sep 17 00:00:00 2001 From: Guillaume Nodet Date: Fri, 17 Jul 2026 09:53:02 +0000 Subject: [PATCH] Use maven-it-plugin-expression instead of effective POM string matching in MNG-11133 test Replace help:effective-pom + Files.readString/String.contains with the conventional maven-it-plugin-expression approach using verifier.loadProperties(), which is more robust against whitespace/formatting changes. Co-Authored-By: Claude Opus 4.6 --- .../MavenITmng11133MixinsPrecedenceTest.java | 16 +++++++------ .../mng-11133-mixins/project/pom.xml | 24 +++++++++++++++++++ 2 files changed, 33 insertions(+), 7 deletions(-) diff --git a/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng11133MixinsPrecedenceTest.java b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng11133MixinsPrecedenceTest.java index 852c99f5694c..d95ceff860f4 100644 --- a/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng11133MixinsPrecedenceTest.java +++ b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng11133MixinsPrecedenceTest.java @@ -18,12 +18,12 @@ */ package org.apache.maven.it; -import java.nio.file.Files; import java.nio.file.Path; +import java.util.Properties; import org.junit.jupiter.api.Test; -import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * MNG-11133: Mixins should override properties inherited from parent. @@ -37,13 +37,15 @@ public void testMixinOverridesParentProperty() throws Exception { Verifier verifier = newVerifier(testDir); verifier.setAutoclean(false); verifier.deleteDirectory("target"); - verifier.addCliArgument("help:effective-pom"); - verifier.addCliArgument("-Doutput=target/effective-pom.xml"); + verifier.addCliArgument("validate"); verifier.execute(); verifier.verifyErrorFreeLog(); - verifier.verifyFilePresent("target/effective-pom.xml"); - String effectivePom = Files.readString(testDir.resolve("target/effective-pom.xml")); - assertTrue(effectivePom.contains("21")); + verifier.verifyFilePresent("target/model.properties"); + Properties props = verifier.loadProperties("target/model.properties"); + assertEquals( + "21", + props.getProperty("project.properties.maven.compiler.release"), + "Property from mixin should override the parent's value"); } } diff --git a/its/core-it-suite/src/test/resources/mng-11133-mixins/project/pom.xml b/its/core-it-suite/src/test/resources/mng-11133-mixins/project/pom.xml index 6fe6d575506e..38ebf62d07e5 100644 --- a/its/core-it-suite/src/test/resources/mng-11133-mixins/project/pom.xml +++ b/its/core-it-suite/src/test/resources/mng-11133-mixins/project/pom.xml @@ -31,6 +31,30 @@ under the License. project 1.0 + + + + org.apache.maven.its.plugins + maven-it-plugin-expression + 2.1-SNAPSHOT + + + + eval + + validate + + target/model.properties + + project/properties + + + + + + + + ../mixins/mixin.xml