diff --git a/maven-plugin-testing-harness/src/main/java/org/apache/maven/api/plugin/testing/stubs/ProjectStub.java b/maven-plugin-testing-harness/src/main/java/org/apache/maven/api/plugin/testing/stubs/ProjectStub.java index 433386a5..b3624cf3 100644 --- a/maven-plugin-testing-harness/src/main/java/org/apache/maven/api/plugin/testing/stubs/ProjectStub.java +++ b/maven-plugin-testing-harness/src/main/java/org/apache/maven/api/plugin/testing/stubs/ProjectStub.java @@ -41,8 +41,9 @@ public class ProjectStub implements Project { private Model model = Model.newInstance(); private Path basedir; private File pomPath; - private boolean executionRoot; + private boolean topProject; private Artifact artifact; + private Path rootDirectory; public void setModel(Model model) { this.model = model; @@ -117,7 +118,7 @@ public void setBasedir(Path basedir) { @Override public boolean isExecutionRoot() { - return executionRoot; + return isTopProject(); } @Override @@ -135,6 +136,21 @@ public List getRemotePluginRepositories() { return Collections.emptyList(); } + @Override + public boolean isTopProject() { + return topProject; + } + + @Override + public boolean isRootProject() { + return model.isRoot(); + } + + @Override + public Path getRootDirectory() { + return rootDirectory; + } + public void setGroupId(String groupId) { model = model.withGroupId(groupId); } @@ -163,11 +179,15 @@ public void setPomPath(File pomPath) { this.pomPath = pomPath; } - public void setExecutionRoot(boolean executionRoot) { - this.executionRoot = executionRoot; + public void setTopProject(boolean topProject) { + this.topProject = topProject; } public void setMavenModel(org.apache.maven.model.Model model) { this.model = model.getDelegate(); } + + public void setRootDirectory(Path rootDirectory) { + this.rootDirectory = rootDirectory; + } } diff --git a/maven-plugin-testing-harness/src/main/java/org/apache/maven/api/plugin/testing/stubs/SessionStub.java b/maven-plugin-testing-harness/src/main/java/org/apache/maven/api/plugin/testing/stubs/SessionStub.java index 6e069c06..2b055670 100644 --- a/maven-plugin-testing-harness/src/main/java/org/apache/maven/api/plugin/testing/stubs/SessionStub.java +++ b/maven-plugin-testing-harness/src/main/java/org/apache/maven/api/plugin/testing/stubs/SessionStub.java @@ -50,7 +50,7 @@ import org.apache.maven.api.services.RepositoryFactory; import org.apache.maven.api.services.xml.ModelXmlFactory; import org.apache.maven.internal.impl.DefaultModelXmlFactory; -import org.apache.maven.model.io.xpp3.MavenXpp3Reader; +import org.apache.maven.model.v4.MavenStaxReader; import org.mockito.ArgumentMatchers; import static org.mockito.ArgumentMatchers.any; @@ -185,9 +185,7 @@ public static Session getMockSession(LocalRepository localRepository) { when(projectBuilder.build(any(ProjectBuilderRequest.class))).then(iom -> { ProjectBuilderRequest request = iom.getArgument(0, ProjectBuilderRequest.class); ProjectBuilderResult result = mock(ProjectBuilderResult.class); - Model model = new MavenXpp3Reader() - .read(request.getSource().get().getInputStream()) - .getDelegate(); + Model model = new MavenStaxReader().read(request.getSource().get().openStream()); ProjectStub projectStub = new ProjectStub(); projectStub.setModel(model); ArtifactStub artifactStub = new ArtifactStub( diff --git a/maven-plugin-testing-harness/src/test/java/org/apache/maven/api/plugin/testing/ExpressionEvaluatorTest.java b/maven-plugin-testing-harness/src/test/java/org/apache/maven/api/plugin/testing/ExpressionEvaluatorTest.java index 5003b474..9869aebf 100644 --- a/maven-plugin-testing-harness/src/test/java/org/apache/maven/api/plugin/testing/ExpressionEvaluatorTest.java +++ b/maven-plugin-testing-harness/src/test/java/org/apache/maven/api/plugin/testing/ExpressionEvaluatorTest.java @@ -89,7 +89,7 @@ Session session() { Session session = SessionStub.getMockSession(LOCAL_REPO); doReturn(new Properties()).when(session).getSystemProperties(); doReturn(new Properties()).when(session).getUserProperties(); - doAnswer(iom -> Paths.get(MojoExtension.getBasedir())).when(session).getExecutionRootDirectory(); + doAnswer(iom -> Paths.get(MojoExtension.getBasedir())).when(session).getRootDirectory(); return session; } } diff --git a/pom.xml b/pom.xml index 515c9e58..2c5b1831 100644 --- a/pom.xml +++ b/pom.xml @@ -65,7 +65,7 @@ under the License. 3.2.1 - 4.0.0-alpha-4 + 4.0.0-alpha-8 plugin-testing-archives/LATEST 8 2023-02-15T20:04:02Z