diff --git a/independent-projects/bootstrap/maven-plugin/src/main/java/io/quarkus/maven/AbstractTreeMojo.java b/independent-projects/bootstrap/maven-plugin/src/main/java/io/quarkus/maven/AbstractTreeMojo.java deleted file mode 100644 index f1281757413d8..0000000000000 --- a/independent-projects/bootstrap/maven-plugin/src/main/java/io/quarkus/maven/AbstractTreeMojo.java +++ /dev/null @@ -1,62 +0,0 @@ -package io.quarkus.maven; - -import io.quarkus.bootstrap.model.AppArtifact; -import io.quarkus.bootstrap.resolver.BootstrapAppModelResolver; -import io.quarkus.bootstrap.resolver.maven.BootstrapMavenException; -import io.quarkus.bootstrap.resolver.maven.MavenArtifactResolver; -import java.util.List; -import org.apache.maven.plugin.AbstractMojo; -import org.apache.maven.plugin.MojoExecutionException; -import org.apache.maven.plugin.MojoFailureException; -import org.apache.maven.plugins.annotations.Component; -import org.apache.maven.plugins.annotations.Parameter; -import org.apache.maven.project.MavenProject; -import org.eclipse.aether.RepositorySystem; -import org.eclipse.aether.impl.RemoteRepositoryManager; -import org.eclipse.aether.repository.RemoteRepository; - -public class AbstractTreeMojo extends AbstractMojo { - - @Parameter(defaultValue = "${project}", readonly = true, required = true) - protected MavenProject project; - - @Component - RepositorySystem repoSystem; - - @Component - RemoteRepositoryManager remoteRepoManager; - - @Parameter(defaultValue = "${project.remoteRepositories}", readonly = true, required = true) - private List repos; - - protected MavenArtifactResolver resolver; - - @Override - public void execute() throws MojoExecutionException, MojoFailureException { - final AppArtifact appArtifact = new AppArtifact(project.getGroupId(), project.getArtifactId(), null, "pom", - project.getVersion()); - final BootstrapAppModelResolver modelResolver; - try { - modelResolver = new BootstrapAppModelResolver(resolver()); - setupResolver(modelResolver); - modelResolver.setBuildTreeLogger(s -> getLog().info(s)); - modelResolver.resolveModel(appArtifact); - } catch (Exception e) { - throw new MojoExecutionException("Failed to resolve application model " + appArtifact + " dependencies", e); - } - } - - protected MavenArtifactResolver resolver() throws BootstrapMavenException { - return resolver == null - ? resolver = MavenArtifactResolver.builder() - .setRepositorySystem(repoSystem) - .setRemoteRepositoryManager(remoteRepoManager) - //.setRepositorySystemSession(repoSession) the session should be initialized with the loaded workspace - .setRemoteRepositories(repos) - .build() - : resolver; - } - - protected void setupResolver(BootstrapAppModelResolver modelResolver) { - } -} diff --git a/independent-projects/bootstrap/maven-plugin/src/main/java/io/quarkus/maven/BuildTreeMojo.java b/independent-projects/bootstrap/maven-plugin/src/main/java/io/quarkus/maven/BuildTreeMojo.java deleted file mode 100644 index 19934d53b7143..0000000000000 --- a/independent-projects/bootstrap/maven-plugin/src/main/java/io/quarkus/maven/BuildTreeMojo.java +++ /dev/null @@ -1,18 +0,0 @@ -/** - * - */ -package io.quarkus.maven; - -import org.apache.maven.plugins.annotations.LifecyclePhase; -import org.apache.maven.plugins.annotations.Mojo; -import org.apache.maven.plugins.annotations.ResolutionScope; - -/** - * Displays Quarkus application build dependency tree including the deployment ones. - * - * @deprecated this mojo has moved to the quarkus-maven-plugin - */ -@Mojo(name = "build-tree", defaultPhase = LifecyclePhase.NONE, requiresDependencyResolution = ResolutionScope.NONE) -@Deprecated -public class BuildTreeMojo extends AbstractTreeMojo { -} diff --git a/independent-projects/bootstrap/maven-plugin/src/main/java/io/quarkus/maven/DevModeTreeMojo.java b/independent-projects/bootstrap/maven-plugin/src/main/java/io/quarkus/maven/DevModeTreeMojo.java deleted file mode 100644 index a4ad98b6d6545..0000000000000 --- a/independent-projects/bootstrap/maven-plugin/src/main/java/io/quarkus/maven/DevModeTreeMojo.java +++ /dev/null @@ -1,20 +0,0 @@ -/** - * - */ -package io.quarkus.maven; - -import io.quarkus.bootstrap.resolver.BootstrapAppModelResolver; -import org.apache.maven.plugins.annotations.LifecyclePhase; -import org.apache.maven.plugins.annotations.Mojo; -import org.apache.maven.plugins.annotations.ResolutionScope; - -/** - * Displays Quarkus application dependency tree used to set up the classpath for the dev mode. - */ -@Mojo(name = "dev-mode-tree", defaultPhase = LifecyclePhase.NONE, requiresDependencyResolution = ResolutionScope.COMPILE_PLUS_RUNTIME) -public class DevModeTreeMojo extends AbstractTreeMojo { - @Override - protected void setupResolver(BootstrapAppModelResolver modelResolver) { - modelResolver.setDevMode(true); - } -} diff --git a/independent-projects/bootstrap/maven-plugin/src/test/java/io/quarkus/maven/BuildTreeMojoTest.java b/independent-projects/bootstrap/maven-plugin/src/test/java/io/quarkus/maven/BuildTreeMojoTest.java deleted file mode 100644 index 25b68afa8c5c1..0000000000000 --- a/independent-projects/bootstrap/maven-plugin/src/test/java/io/quarkus/maven/BuildTreeMojoTest.java +++ /dev/null @@ -1,14 +0,0 @@ -package io.quarkus.maven; - -public class BuildTreeMojoTest extends TreeMojoTestBase { - - @Override - protected AbstractTreeMojo newTreeMojo() { - return new BuildTreeMojo(); - } - - @Override - protected String mojoName() { - return "build-tree"; - } -} diff --git a/independent-projects/bootstrap/maven-plugin/src/test/java/io/quarkus/maven/DevModeTreeMojoTest.java b/independent-projects/bootstrap/maven-plugin/src/test/java/io/quarkus/maven/DevModeTreeMojoTest.java deleted file mode 100644 index 21891dd619143..0000000000000 --- a/independent-projects/bootstrap/maven-plugin/src/test/java/io/quarkus/maven/DevModeTreeMojoTest.java +++ /dev/null @@ -1,14 +0,0 @@ -package io.quarkus.maven; - -public class DevModeTreeMojoTest extends TreeMojoTestBase { - - @Override - protected AbstractTreeMojo newTreeMojo() { - return new DevModeTreeMojo(); - } - - @Override - protected String mojoName() { - return "dev-mode-tree"; - } -} diff --git a/independent-projects/bootstrap/maven-plugin/src/test/java/io/quarkus/maven/TreeMojoTestBase.java b/independent-projects/bootstrap/maven-plugin/src/test/java/io/quarkus/maven/TreeMojoTestBase.java deleted file mode 100644 index b51e288df13f6..0000000000000 --- a/independent-projects/bootstrap/maven-plugin/src/test/java/io/quarkus/maven/TreeMojoTestBase.java +++ /dev/null @@ -1,117 +0,0 @@ -package io.quarkus.maven; - -import static org.junit.jupiter.api.Assertions.assertEquals; - -import io.quarkus.bootstrap.resolver.BootstrapAppModelResolver; -import io.quarkus.bootstrap.resolver.TsArtifact; -import io.quarkus.bootstrap.resolver.TsDependency; -import io.quarkus.bootstrap.resolver.TsQuarkusExt; -import io.quarkus.bootstrap.resolver.TsRepoBuilder; -import io.quarkus.bootstrap.resolver.maven.MavenArtifactResolver; -import io.quarkus.bootstrap.util.IoUtils; -import java.io.BufferedReader; -import java.io.IOException; -import java.io.PrintStream; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import org.apache.maven.artifact.DefaultArtifact; -import org.apache.maven.artifact.handler.DefaultArtifactHandler; -import org.apache.maven.model.Model; -import org.apache.maven.project.MavenProject; -import org.junit.jupiter.api.AfterEach; -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; - -public abstract class TreeMojoTestBase { - protected Path workDir; - protected Path repoHome; - - protected MavenArtifactResolver mvnResolver; - protected TsRepoBuilder repoBuilder; - protected TsArtifact app; - protected Model appModel; - - @BeforeEach - public void setup() throws Exception { - workDir = IoUtils.createRandomTmpDir(); - repoHome = IoUtils.mkdirs(workDir.resolve("repo")); - - mvnResolver = MavenArtifactResolver.builder() - .setOffline(true) - .setLocalRepository(repoHome.toString()) - .setRemoteRepositories(Collections.emptyList()) - .setWorkspaceDiscovery(false) - .build(); - - repoBuilder = TsRepoBuilder.getInstance(new BootstrapAppModelResolver(mvnResolver), workDir); - initRepo(); - } - - protected void initRepo() throws Exception { - final TsQuarkusExt coreExt = new TsQuarkusExt("test-core-ext"); - app = TsArtifact.jar("test-app") - .addDependency(new TsArtifact(TsArtifact.DEFAULT_GROUP_ID, "artifact-with-classifier", "classifier", "jar", - TsArtifact.DEFAULT_VERSION)) - .addDependency(new TsQuarkusExt("test-ext2") - .addDependency(new TsQuarkusExt("test-ext1").addDependency(coreExt))) - .addDependency(new TsDependency(TsArtifact.jar("optional"), true)) - .addDependency(new TsQuarkusExt("test-ext3").addDependency(coreExt)) - .addDependency(new TsDependency(TsArtifact.jar("provided"), "provided")) - .addDependency(new TsDependency(TsArtifact.jar("runtime"), "runtime")) - .addDependency(new TsDependency(TsArtifact.jar("test"), "test")); - appModel = app.getPomModel(); - app.install(repoBuilder); - } - - @AfterEach - public void cleanup() { - if (workDir != null) { - IoUtils.recursiveDelete(workDir); - } - } - - protected abstract AbstractTreeMojo newTreeMojo(); - - protected abstract String mojoName(); - - @Test - public void test() throws Exception { - - final AbstractTreeMojo mojo = newTreeMojo(); - mojo.project = new MavenProject(); - mojo.project.setArtifact(new DefaultArtifact(app.getGroupId(), app.getArtifactId(), app.getVersion(), "compile", - app.getType(), app.getClassifier(), new DefaultArtifactHandler("jar"))); - mojo.project.setModel(appModel); - mojo.project.setOriginalModel(appModel); - mojo.resolver = mvnResolver; - - final Path mojoLog = workDir.resolve("mojo.log"); - final PrintStream defaultOut = System.out; - - try (PrintStream logOut = new PrintStream(mojoLog.toFile(), "UTF-8")) { - System.setOut(logOut); - mojo.execute(); - } finally { - System.setOut(defaultOut); - } - - assertEquals(readInLowCase(Paths.get("").toAbsolutePath().resolve("target").resolve("test-classes") - .resolve(app.getArtifactFileName() + "." + mojoName())), readInLowCase(mojoLog)); - } - - private static List readInLowCase(Path p) throws IOException { - final List list = new ArrayList<>(); - try (BufferedReader reader = Files.newBufferedReader(p)) { - String line = reader.readLine(); - while (line != null) { - list.add(line.toLowerCase()); - line = reader.readLine(); - } - } - return list; - } -} diff --git a/independent-projects/bootstrap/maven-plugin/src/test/resources/test-app-1.jar.build-tree b/independent-projects/bootstrap/maven-plugin/src/test/resources/test-app-1.jar.build-tree deleted file mode 100644 index 4d106eb51fa75..0000000000000 --- a/independent-projects/bootstrap/maven-plugin/src/test/resources/test-app-1.jar.build-tree +++ /dev/null @@ -1,12 +0,0 @@ -[info] io.quarkus.bootstrap.test:test-app:pom:1 -[info] ├─ io.quarkus.bootstrap.test:artifact-with-classifier:jar:classifier:1 (compile) -[info] ├─ io.quarkus.bootstrap.test:test-ext2-deployment:jar:1 (compile) -[info] │ ├─ io.quarkus.bootstrap.test:test-ext2:jar:1 (compile) -[info] │ │ └─ io.quarkus.bootstrap.test:test-ext1:jar:1 (compile) -[info] │ └─ io.quarkus.bootstrap.test:test-ext1-deployment:jar:1 (compile) -[info] ├─ io.quarkus.bootstrap.test:optional:jar:1 (compile optional) -[info] ├─ io.quarkus.bootstrap.test:test-ext3-deployment:jar:1 (compile) -[info] │ ├─ io.quarkus.bootstrap.test:test-ext3:jar:1 (compile) -[info] │ │ └─ io.quarkus.bootstrap.test:test-core-ext:jar:1 (compile) -[info] │ └─ io.quarkus.bootstrap.test:test-core-ext-deployment:jar:1 (compile) -[info] └─ io.quarkus.bootstrap.test:runtime:jar:1 (runtime) diff --git a/independent-projects/bootstrap/maven-plugin/src/test/resources/test-app-1.jar.dev-mode-tree b/independent-projects/bootstrap/maven-plugin/src/test/resources/test-app-1.jar.dev-mode-tree deleted file mode 100644 index f564bf06bd1bd..0000000000000 --- a/independent-projects/bootstrap/maven-plugin/src/test/resources/test-app-1.jar.dev-mode-tree +++ /dev/null @@ -1,13 +0,0 @@ -[info] io.quarkus.bootstrap.test:test-app:pom:1 -[info] ├─ io.quarkus.bootstrap.test:artifact-with-classifier:jar:classifier:1 (compile) -[info] ├─ io.quarkus.bootstrap.test:test-ext2-deployment:jar:1 (compile) -[info] │ ├─ io.quarkus.bootstrap.test:test-ext2:jar:1 (compile) -[info] │ │ └─ io.quarkus.bootstrap.test:test-ext1:jar:1 (compile) -[info] │ └─ io.quarkus.bootstrap.test:test-ext1-deployment:jar:1 (compile) -[info] ├─ io.quarkus.bootstrap.test:optional:jar:1 (compile optional) -[info] ├─ io.quarkus.bootstrap.test:test-ext3-deployment:jar:1 (compile) -[info] │ ├─ io.quarkus.bootstrap.test:test-ext3:jar:1 (compile) -[info] │ │ └─ io.quarkus.bootstrap.test:test-core-ext:jar:1 (compile) -[info] │ └─ io.quarkus.bootstrap.test:test-core-ext-deployment:jar:1 (compile) -[info] ├─ io.quarkus.bootstrap.test:provided:jar:1 (provided) -[info] └─ io.quarkus.bootstrap.test:runtime:jar:1 (runtime)