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:47 UTC
(maven-archetype) 01/01: [ARCHETYPE-689] Restore removed public methods in ArchetypeGenerationRequest
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