This is an automated email from the ASF dual-hosted git repository. sjaranowski pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/maven-archetype.git
The following commit(s) were added to refs/heads/master by this push: new 2d7b2e57 [ARCHETYPE-689] Restore removed public methods in ArchetypeGenerationRequest 2d7b2e57 is described below commit 2d7b2e57473eed70c0e1afbc0193b76030df6413 Author: Slawomir Jaranowski <s.jaranow...@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 fc766d32..570e19c9 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 @@ -116,8 +116,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