From 895dff0d185241ba2d31091c4c8a89d1fc7e449a Mon Sep 17 00:00:00 2001 From: Alexey Loubyansky Date: Tue, 6 Jun 2023 07:59:25 +0200 Subject: [PATCH] Initialize MavenArtifactResolver in CreateExtensionMojo --- .../io/quarkus/maven/CreateExtensionMojo.java | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/devtools/maven/src/main/java/io/quarkus/maven/CreateExtensionMojo.java b/devtools/maven/src/main/java/io/quarkus/maven/CreateExtensionMojo.java index e877bdbaa98c3..8487aa12aa3ad 100644 --- a/devtools/maven/src/main/java/io/quarkus/maven/CreateExtensionMojo.java +++ b/devtools/maven/src/main/java/io/quarkus/maven/CreateExtensionMojo.java @@ -8,18 +8,27 @@ import java.io.File; import java.io.IOException; +import java.util.List; import org.apache.maven.execution.MavenSession; import org.apache.maven.plugin.AbstractMojo; import org.apache.maven.plugin.MojoExecutionException; +import org.apache.maven.plugins.annotations.Component; import org.apache.maven.plugins.annotations.Mojo; import org.apache.maven.plugins.annotations.Parameter; import org.apache.maven.project.MavenProject; +import org.eclipse.aether.RepositorySystem; +import org.eclipse.aether.RepositorySystemSession; +import org.eclipse.aether.impl.RemoteRepositoryManager; +import org.eclipse.aether.repository.RemoteRepository; import org.jboss.logging.Logger; +import io.quarkus.bootstrap.resolver.maven.MavenArtifactResolver; import io.quarkus.devtools.commands.CreateExtension; import io.quarkus.devtools.commands.data.QuarkusCommandException; +import io.quarkus.devtools.project.QuarkusProjectHelper; import io.quarkus.maven.components.Prompter; +import io.quarkus.maven.utilities.MojoUtils; /** * Creates the base of a @@ -213,6 +222,18 @@ public class CreateExtensionMojo extends AbstractMojo { @Parameter(defaultValue = "${session}") private MavenSession session; + @Parameter(defaultValue = "${project.remoteProjectRepositories}", readonly = true, required = true) + List repos; + + @Parameter(defaultValue = "${repositorySystemSession}", readonly = true) + RepositorySystemSession repoSession; + + @Component + RepositorySystem repoSystem; + + @Component + RemoteRepositoryManager remoteRepoManager; + @Override public void execute() throws MojoExecutionException { @@ -234,6 +255,20 @@ public void execute() throws MojoExecutionException { autoComputeQuarkiverseExtensionId(); + try { + final MavenArtifactResolver resolver = MavenArtifactResolver.builder() + .setRepositorySystem(repoSystem) + .setRepositorySystemSession( + getLog().isDebugEnabled() ? repoSession : MojoUtils.muteTransferListener(repoSession)) + .setRemoteRepositories(repos) + .setRemoteRepositoryManager(remoteRepoManager) + .build(); + // there should be a better way to pass the resolver + QuarkusProjectHelper.setArtifactResolver(resolver); + } catch (Exception e) { + throw new MojoExecutionException("Failed to initialize Maven artifact resolver", e); + } + final CreateExtension createExtension = new CreateExtension(basedir.toPath()) .extensionId(extensionId) .extensionName(extensionName)