Skip to content

Commit ef72bea

Browse files
Use setPomFile method for setting pom file on MavenProject
setFile method also change basedir ... which can be a wrong here
1 parent 8a6062a commit ef72bea

1 file changed

Lines changed: 9 additions & 2 deletions

File tree

  • maven-plugin-testing-harness/src/main/java/org/apache/maven/api/plugin/testing

maven-plugin-testing-harness/src/main/java/org/apache/maven/api/plugin/testing/MojoExtension.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -463,8 +463,15 @@ protected Mojo lookupMojo(
463463
}
464464

465465
if (mockingDetails(mavenProject).isMock()) {
466-
if (mockingDetails(mavenProject).isSpy() && pomPath != null) {
467-
mavenProject.setFile(pomPath.toFile());
466+
if (mockingDetails(mavenProject).isSpy()) {
467+
// there is no setter for basedir, so set it via reflection
468+
setVariableValueToObject(
469+
mavenProject, "basedir", Paths.get(getBasedir()).toFile());
470+
471+
// we only set the pom file
472+
// setFile also change a basedir, so should not be used here
473+
mavenProject.setPomFile(
474+
Optional.ofNullable(pomPath).map(Path::toFile).orElse(null));
468475
} else {
469476
lenient()
470477
.doReturn(new File(getTestBasedir(extensionContext)))

0 commit comments

Comments
 (0)