From 99d577733c5994f1eecb1818cadcaa3b430d0f48 Mon Sep 17 00:00:00 2001 From: Alexey Loubyansky Date: Wed, 12 Oct 2022 21:01:14 +0200 Subject: [PATCH] Make sure MavenProject Models have pom files set --- .../src/main/java/io/quarkus/maven/DevMojo.java | 9 +-------- .../quarkus/maven/QuarkusBootstrapProvider.java | 17 ++++++++++++----- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/devtools/maven/src/main/java/io/quarkus/maven/DevMojo.java b/devtools/maven/src/main/java/io/quarkus/maven/DevMojo.java index 387fcb3a42fe2..0d300ecc92a9d 100644 --- a/devtools/maven/src/main/java/io/quarkus/maven/DevMojo.java +++ b/devtools/maven/src/main/java/io/quarkus/maven/DevMojo.java @@ -43,7 +43,6 @@ import org.apache.maven.execution.MavenSession; import org.apache.maven.model.BuildBase; import org.apache.maven.model.Dependency; -import org.apache.maven.model.Model; import org.apache.maven.model.Plugin; import org.apache.maven.model.PluginExecution; import org.apache.maven.model.Profile; @@ -121,8 +120,6 @@ @Mojo(name = "dev", defaultPhase = LifecyclePhase.PREPARE_PACKAGE, requiresDependencyResolution = ResolutionScope.TEST, threadSafe = true) public class DevMojo extends AbstractMojo { - private static final String EXT_PROPERTIES_PATH = "META-INF/quarkus-extension.properties"; - private static final String KOTLIN_MAVEN_PLUGIN_GA = "org.jetbrains.kotlin:kotlin-maven-plugin"; /** @@ -1105,11 +1102,7 @@ private QuarkusDevModeLauncher newLauncher() throws Exception { mvnConfig.setRepositorySystemSession(repoSession).setRepositorySystem(repoSystem); // there could be Maven extensions manipulating the project versions and models // the ones returned from the Maven API could be different from the original pom.xml files - final Map projectModels = new HashMap<>(session.getAllProjects().size()); - for (MavenProject mp : session.getAllProjects()) { - projectModels.put(mp.getBasedir().toPath(), mp.getOriginalModel()); - } - mvnConfig.setProjectModelProvider(projectModels::get); + mvnConfig.setProjectModelProvider(QuarkusBootstrapProvider.getProjectMap(session)::get); } final BootstrapMavenContext mvnCtx = new BootstrapMavenContext(mvnConfig); diff --git a/devtools/maven/src/main/java/io/quarkus/maven/QuarkusBootstrapProvider.java b/devtools/maven/src/main/java/io/quarkus/maven/QuarkusBootstrapProvider.java index f340b2048d46d..2c4e876d7e189 100644 --- a/devtools/maven/src/main/java/io/quarkus/maven/QuarkusBootstrapProvider.java +++ b/devtools/maven/src/main/java/io/quarkus/maven/QuarkusBootstrapProvider.java @@ -16,6 +16,7 @@ import java.util.concurrent.ExecutionException; import org.apache.maven.artifact.Artifact; +import org.apache.maven.execution.MavenSession; import org.apache.maven.model.Model; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.project.MavenProject; @@ -63,6 +64,16 @@ static ArtifactKey getProjectId(MavenProject project) { return ArtifactKey.ga(project.getGroupId(), project.getArtifactId()); } + static Map getProjectMap(MavenSession session) { + final List allProjects = session.getAllProjects(); + final Map projectModels = new HashMap<>(allProjects.size()); + for (MavenProject mp : allProjects) { + mp.getOriginalModel().setPomFile(mp.getFile()); + projectModels.put(mp.getBasedir().toPath(), mp.getOriginalModel()); + } + return projectModels; + } + public RepositorySystem repositorySystem() { return repoSystem; } @@ -143,11 +154,7 @@ private MavenArtifactResolver artifactResolver(QuarkusBootstrapMojo mojo, Launch .setRemoteRepositories(mojo.remoteRepositories()) .setRemoteRepositoryManager(remoteRepoManager); if (mode == LaunchMode.DEVELOPMENT || mode == LaunchMode.TEST || isWorkspaceDiscovery(mojo)) { - final Map projectModels = new HashMap<>(mojo.mavenSession().getAllProjects().size()); - for (MavenProject mp : mojo.mavenSession().getAllProjects()) { - projectModels.put(mp.getBasedir().toPath(), mp.getOriginalModel()); - } - builder.setWorkspaceDiscovery(true).setProjectModelProvider(projectModels::get); + builder.setWorkspaceDiscovery(true).setProjectModelProvider(getProjectMap(mojo.mavenSession())::get); } return builder.build(); } catch (BootstrapMavenException e) {