You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by sj...@apache.org on 2024/10/09 20:56:46 UTC

(maven-archetype) branch ARCHETYPE-689 created (now 2be29e0b)

This is an automated email from the ASF dual-hosted git repository.

sjaranowski pushed a change to branch ARCHETYPE-689
in repository https://gitbox.apache.org/repos/asf/maven-archetype.git


      at 2be29e0b [ARCHETYPE-689] Restore removed public methods in ArchetypeGenerationRequest

This branch includes the following new commits:

     new 2be29e0b [ARCHETYPE-689] Restore removed public methods in ArchetypeGenerationRequest

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



(maven-archetype) 01/01: [ARCHETYPE-689] Restore removed public methods in ArchetypeGenerationRequest

Posted by sj...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

sjaranowski pushed a commit to branch ARCHETYPE-689
in repository https://gitbox.apache.org/repos/asf/maven-archetype.git

commit 2be29e0be4fa3633f0a97a28f30b62c18cac6d28
Author: Slawomir Jaranowski <s....@gmail.com>
AuthorDate: Wed Oct 9 22:56:04 2024 +0200

    [ARCHETYPE-689] Restore removed public methods in ArchetypeGenerationRequest
---
 .../archetype/ArchetypeGenerationRequest.java      | 109 +++++++++++++++++++--
 .../generator/DefaultArchetypeGenerator.java       |   2 +-
 .../maven/archetype/old/DefaultOldArchetype.java   |   2 +-
 .../apache/maven/archetype/old/ArchetypeTest.java  |   2 +-
 .../mojos/CreateProjectFromArchetypeMojo.java      |  12 ++-
 .../DefaultArchetypeGenerationConfigurator.java    |   4 +-
 .../ui/generation/DefaultArchetypeSelector.java    |   4 +-
 7 files changed, 117 insertions(+), 18 deletions(-)

diff --git a/archetype-common/src/main/java/org/apache/maven/archetype/ArchetypeGenerationRequest.java b/archetype-common/src/main/java/org/apache/maven/archetype/ArchetypeGenerationRequest.java
index 3a229831..e0a113fd 100644
--- a/archetype-common/src/main/java/org/apache/maven/archetype/ArchetypeGenerationRequest.java
+++ b/archetype-common/src/main/java/org/apache/maven/archetype/ArchetypeGenerationRequest.java
@@ -23,21 +23,41 @@ import java.util.List;
 import java.util.Properties;
 
 import org.apache.maven.archetype.catalog.Archetype;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.execution.MavenSession;
+import org.apache.maven.project.ProjectBuildingRequest;
+import org.eclipse.aether.RepositorySystem;
 import org.eclipse.aether.RepositorySystemSession;
 import org.eclipse.aether.repository.RemoteRepository;
 
-/** @author Jason van Zyl */
+/**
+ * <b>NOTICE</b> all setters method are public for technical reasons, should be recognised as internals,
+ * so should not be used directly.
+ *
+ * @author Jason van Zyl
+ */
 public class ArchetypeGenerationRequest {
+    private ProjectBuildingRequest projectBuildingRequest;
+
+    private boolean offline;
+
+    private MavenSession mavenSession;
 
     private RepositorySystemSession repositorySession;
 
+    private RepositorySystem repositorySystem;
+
     private boolean interactiveMode;
 
     private boolean askForDefaultPropertyValues;
 
     private String outputDirectory;
 
-    private List<RemoteRepository> remoteArtifactRepositories = Collections.emptyList();
+    private ArtifactRepository localRepository;
+
+    private List<ArtifactRepository> remoteArtifactRepositories;
+
+    private List<RemoteRepository> remoteRepositories = Collections.emptyList();
 
     // Archetype definition
     private String archetypeName;
@@ -70,7 +90,7 @@ public class ArchetypeGenerationRequest {
     private Properties properties = new Properties();
 
     /**
-     *  @since 2.1
+     * @since 2.1
      */
     private String filter;
 
@@ -80,14 +100,20 @@ public class ArchetypeGenerationRequest {
 
     public ArchetypeGenerationRequest(Archetype archetype) {
         this.archetypeGroupId = archetype.getGroupId();
-
         this.archetypeArtifactId = archetype.getArtifactId();
-
         this.archetypeVersion = archetype.getVersion();
-
         this.archetypeRepository = archetype.getRepository();
     }
 
+    public MavenSession getMavenSession() {
+        return mavenSession;
+    }
+
+    public ArchetypeGenerationRequest setMavenSession(MavenSession mavenSession) {
+        this.mavenSession = mavenSession;
+        return this;
+    }
+
     public RepositorySystemSession getRepositorySession() {
         return repositorySession;
     }
@@ -97,6 +123,28 @@ public class ArchetypeGenerationRequest {
         return this;
     }
 
+    public RepositorySystem getRepositorySystem() {
+        return repositorySystem;
+    }
+
+    public ArchetypeGenerationRequest setRepositorySystem(RepositorySystem repositorySystem) {
+        this.repositorySystem = repositorySystem;
+        return this;
+    }
+
+    /**
+     * @deprecated please use {@link #getMavenSession()} and {@link MavenSession#getProjectBuildingRequest()}
+     */
+    @Deprecated
+    public ProjectBuildingRequest getProjectBuildingRequest() {
+        return projectBuildingRequest;
+    }
+
+    public ArchetypeGenerationRequest setProjectBuildingRequest(ProjectBuildingRequest projectBuildingRequest) {
+        this.projectBuildingRequest = projectBuildingRequest;
+        return this;
+    }
+
     public String getArchetypeGroupId() {
         return archetypeGroupId;
     }
@@ -143,7 +191,6 @@ public class ArchetypeGenerationRequest {
     }
 
     /**
-     *
      * @return the URL of the archetype repository
      * @deprecated see ARCHETYPE-439
      */
@@ -153,7 +200,6 @@ public class ArchetypeGenerationRequest {
     }
 
     /**
-     *
      * @param archetypeRepository the URL of the archetype repository
      * @return this request
      * @deprecated see ARCHETYPE-439
@@ -211,6 +257,20 @@ public class ArchetypeGenerationRequest {
         return this;
     }
 
+    /**
+     * @deprecated please use {@link #getRepositorySession()} and {@link RepositorySystemSession#getLocalRepository()}
+     */
+    @Deprecated
+    public ArtifactRepository getLocalRepository() {
+        return localRepository;
+    }
+
+    public ArchetypeGenerationRequest setLocalRepository(ArtifactRepository localRepository) {
+        this.localRepository = localRepository;
+
+        return this;
+    }
+
     public String getOutputDirectory() {
         return outputDirectory;
     }
@@ -238,12 +298,41 @@ public class ArchetypeGenerationRequest {
         return this;
     }
 
-    public List<RemoteRepository> getRemoteArtifactRepositories() {
+    /**
+     * @deprecated please use {@link #getRepositorySession()} and {@link RepositorySystemSession#isOffline()}
+     *         or {@link #getMavenSession()} and {@link MavenSession#isOffline()}
+     */
+    @Deprecated
+    public boolean isOffline() {
+        return offline;
+    }
+
+    public ArchetypeGenerationRequest setOffline(boolean offline) {
+        this.offline = offline;
+        return this;
+    }
+
+    /**
+     * @deprecated please use {@link #getRemoteRepositories()}
+     */
+    @Deprecated
+    public List<ArtifactRepository> getRemoteArtifactRepositories() {
         return remoteArtifactRepositories;
     }
 
-    public ArchetypeGenerationRequest setRemoteArtifactRepositories(List<RemoteRepository> remoteArtifactRepositories) {
+    public ArchetypeGenerationRequest setRemoteArtifactRepositories(
+            List<ArtifactRepository> remoteArtifactRepositories) {
         this.remoteArtifactRepositories = remoteArtifactRepositories;
+
+        return this;
+    }
+
+    public List<RemoteRepository> getRemoteRepositories() {
+        return remoteRepositories;
+    }
+
+    public ArchetypeGenerationRequest setRemoteRepositories(List<RemoteRepository> remoteRepositories) {
+        this.remoteRepositories = remoteRepositories;
         return this;
     }
 
diff --git a/archetype-common/src/main/java/org/apache/maven/archetype/generator/DefaultArchetypeGenerator.java b/archetype-common/src/main/java/org/apache/maven/archetype/generator/DefaultArchetypeGenerator.java
index 3c0b272d..f859f3ed 100644
--- a/archetype-common/src/main/java/org/apache/maven/archetype/generator/DefaultArchetypeGenerator.java
+++ b/archetype-common/src/main/java/org/apache/maven/archetype/generator/DefaultArchetypeGenerator.java
@@ -64,7 +64,7 @@ public class DefaultArchetypeGenerator extends AbstractLogEnabled implements Arc
             throw new ArchetypeNotDefined("The archetype is not defined");
         }
 
-        List<RemoteRepository> repos = new ArrayList<>(request.getRemoteArtifactRepositories());
+        List<RemoteRepository> repos = new ArrayList<>(request.getRemoteRepositories());
 
         RemoteRepository remoteRepo = null;
         if (request != null && request.getArchetypeRepository() != null) {
diff --git a/archetype-common/src/main/java/org/apache/maven/archetype/old/DefaultOldArchetype.java b/archetype-common/src/main/java/org/apache/maven/archetype/old/DefaultOldArchetype.java
index 9f51255d..05a7d19e 100644
--- a/archetype-common/src/main/java/org/apache/maven/archetype/old/DefaultOldArchetype.java
+++ b/archetype-common/src/main/java/org/apache/maven/archetype/old/DefaultOldArchetype.java
@@ -112,7 +112,7 @@ public class DefaultOldArchetype extends AbstractLogEnabled implements OldArchet
                 request.getArchetypeGroupId(),
                 request.getArchetypeArtifactId(),
                 request.getArchetypeVersion(),
-                request.getRemoteArtifactRepositories(),
+                request.getRemoteRepositories(),
                 request.getRepositorySession());
 
         createArchetype(request, archetypeFile);
diff --git a/archetype-common/src/test/java/org/apache/maven/archetype/old/ArchetypeTest.java b/archetype-common/src/test/java/org/apache/maven/archetype/old/ArchetypeTest.java
index 82a1f48e..304bcaa5 100644
--- a/archetype-common/src/test/java/org/apache/maven/archetype/old/ArchetypeTest.java
+++ b/archetype-common/src/test/java/org/apache/maven/archetype/old/ArchetypeTest.java
@@ -103,7 +103,7 @@ public class ArchetypeTest extends PlexusTestCase {
                 .setArchetypeGroupId("org.apache.maven.archetypes")
                 .setArchetypeArtifactId("maven-archetype-quickstart")
                 .setArchetypeVersion("1.0-alpha-1-SNAPSHOT")
-                .setRemoteArtifactRepositories(remoteRepositories)
+                .setRemoteRepositories(remoteRepositories)
                 .setRepositorySession(repositorySession)
                 .setOutputDirectory(getTestFile("target").getAbsolutePath());
 
diff --git a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/CreateProjectFromArchetypeMojo.java b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/CreateProjectFromArchetypeMojo.java
index c095be35..cfb787c2 100644
--- a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/CreateProjectFromArchetypeMojo.java
+++ b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/CreateProjectFromArchetypeMojo.java
@@ -43,6 +43,7 @@ import org.apache.maven.shared.invoker.InvocationRequest;
 import org.apache.maven.shared.invoker.InvocationResult;
 import org.apache.maven.shared.invoker.Invoker;
 import org.apache.maven.shared.invoker.MavenInvocationException;
+import org.eclipse.aether.RepositorySystem;
 
 /**
  * Generates a new project from an archetype, or updates the actual project if using a partial archetype.
@@ -66,6 +67,9 @@ public class CreateProjectFromArchetypeMojo extends AbstractMojo implements Cont
     @Component
     private Invoker invoker;
 
+    @Component
+    private RepositorySystem repositorySystem;
+
     /**
      * The archetype's artifactId.
      */
@@ -171,8 +175,14 @@ public class CreateProjectFromArchetypeMojo extends AbstractMojo implements Cont
                 .setArchetypeArtifactId(archetypeArtifactId)
                 .setArchetypeVersion(archetypeVersion)
                 .setOutputDirectory(outputDirectory.getAbsolutePath())
-                .setRemoteArtifactRepositories(project.getRemoteProjectRepositories())
+                .setRemoteRepositories(project.getRemoteProjectRepositories())
+                .setRemoteArtifactRepositories(project.getRemoteArtifactRepositories())
+                .setMavenSession(session)
                 .setRepositorySession(session.getRepositorySession())
+                .setRepositorySystem(repositorySystem)
+                .setProjectBuildingRequest(session.getProjectBuildingRequest())
+                .setLocalRepository(session.getLocalRepository())
+                .setOffline(session.isOffline())
                 .setFilter(filter)
                 .setAskForDefaultPropertyValues(askForDefaultPropertyValues);
 
diff --git a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeGenerationConfigurator.java b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeGenerationConfigurator.java
index 4e1caf07..18cdf439 100644
--- a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeGenerationConfigurator.java
+++ b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeGenerationConfigurator.java
@@ -117,8 +117,8 @@ public class DefaultArchetypeGenerationConfigurator extends AbstractLogEnabled
                     createRepository(repositorySession, request.getArchetypeRepository(), ad.getArtifactId() + "-repo");
             repositories.add(archetypeRepository);
         }
-        if (request.getRemoteArtifactRepositories() != null) {
-            repositories.addAll(request.getRemoteArtifactRepositories());
+        if (request.getRemoteRepositories() != null) {
+            repositories.addAll(request.getRemoteRepositories());
         }
 
         if (!archetypeArtifactManager.exists(
diff --git a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeSelector.java b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeSelector.java
index a58a2549..290f8234 100644
--- a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeSelector.java
+++ b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeSelector.java
@@ -63,8 +63,8 @@ public class DefaultArchetypeSelector extends AbstractLogEnabled implements Arch
             return;
         }
 
-        Map<String, List<Archetype>> archetypes = getArchetypesByCatalog(
-                request.getRepositorySession(), request.getRemoteArtifactRepositories(), catalogs);
+        Map<String, List<Archetype>> archetypes =
+                getArchetypesByCatalog(request.getRepositorySession(), request.getRemoteRepositories(), catalogs);
 
         if (StringUtils.isNotBlank(request.getFilter())) {
             // applying some filtering depending on filter parameter