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)))

Reply via email to