This is an automated email from the ASF dual-hosted git repository.
sjaranowski pushed a commit to branch maven-plugin-testing-3.x
in repository https://gitbox.apache.org/repos/asf/maven-plugin-testing.git
The following commit(s) were added to refs/heads/maven-plugin-testing-3.x by
this push:
new ef72bea Use setPomFile method for setting pom file on MavenProject
ef72bea is described below
commit ef72bea4c7646e8baef89256bcc3601367a2ddf0
Author: Slawomir Jaranowski <[email protected]>
AuthorDate: Fri Jan 2 18:40:45 2026 +0100
Use setPomFile method for setting pom file on MavenProject
setFile method also change basedir ... which can be a wrong here
---
.../org/apache/maven/api/plugin/testing/MojoExtension.java | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git
a/maven-plugin-testing-harness/src/main/java/org/apache/maven/api/plugin/testing/MojoExtension.java
b/maven-plugin-testing-harness/src/main/java/org/apache/maven/api/plugin/testing/MojoExtension.java
index ccf3ee6..f7e19be 100644
---
a/maven-plugin-testing-harness/src/main/java/org/apache/maven/api/plugin/testing/MojoExtension.java
+++
b/maven-plugin-testing-harness/src/main/java/org/apache/maven/api/plugin/testing/MojoExtension.java
@@ -463,8 +463,15 @@ public class MojoExtension extends PlexusExtension
implements ParameterResolver
}
if (mockingDetails(mavenProject).isMock()) {
- if (mockingDetails(mavenProject).isSpy() && pomPath != null) {
- mavenProject.setFile(pomPath.toFile());
+ if (mockingDetails(mavenProject).isSpy()) {
+ // there is no setter for basedir, so set it via reflection
+ setVariableValueToObject(
+ mavenProject, "basedir",
Paths.get(getBasedir()).toFile());
+
+ // we only set the pom file
+ // setFile also change a basedir, so should not be used here
+ mavenProject.setPomFile(
+
Optional.ofNullable(pomPath).map(Path::toFile).orElse(null));
} else {
lenient()
.doReturn(new File(getTestBasedir(extensionContext)))