This is an automated email from the ASF dual-hosted git repository. sjaranowski pushed a commit to branch ARCHETYPE-660 in repository https://gitbox.apache.org/repos/asf/maven-archetype.git
commit 51663a14b524ca0e5c9a80ec7c1817f1010108b5 Author: Slawomir Jaranowski <s.jaranow...@gmail.com> AuthorDate: Sat Aug 17 10:28:21 2024 +0200 [ARCHETYPE-660] Require Maven 3.6.3 --- archetype-common/pom.xml | 32 ++++++++++----------- .../generator/DefaultArchetypeGeneratorTest.java | 17 +++++++---- .../apache/maven/archetype/old/ArchetypeTest.java | 19 ++++++++++--- .../LocalCatalogArchetypeDataSourceTest.java | 20 +++++++++---- .../archetype/test/ArchetypeGenerationTest.java | 22 +++++++++++---- .../InternalCatalogArchetypesVerificationTest.java | 21 ++++++++++---- maven-archetype-plugin/pom.xml | 4 --- pom.xml | 33 ++++------------------ 8 files changed, 96 insertions(+), 72 deletions(-) diff --git a/archetype-common/pom.xml b/archetype-common/pom.xml index f3ff0d2d..bf00130f 100644 --- a/archetype-common/pom.xml +++ b/archetype-common/pom.xml @@ -98,12 +98,6 @@ <groupId>org.apache.maven.shared</groupId> <artifactId>maven-invoker</artifactId> </dependency> - <dependency> - <groupId>org.apache.maven</groupId> - <artifactId>maven-aether-provider</artifactId> - <version>3.0</version> - <scope>runtime</scope> - </dependency> <dependency> <groupId>org.apache.maven.shared</groupId> <artifactId>maven-artifact-transfer</artifactId> @@ -120,11 +114,6 @@ <groupId>commons-collections</groupId> <artifactId>commons-collections</artifactId> </dependency> - <dependency> - <groupId>org.sonatype.aether</groupId> - <artifactId>aether-impl</artifactId> - <version>1.7</version> - </dependency> <dependency> <groupId>org.codehaus.plexus</groupId> <artifactId>plexus-velocity</artifactId> @@ -153,18 +142,21 @@ <scope>test</scope> </dependency> <dependency> - <groupId>org.sonatype.aether</groupId> - <artifactId>aether-connector-file</artifactId> + <groupId>org.apache.maven.resolver</groupId> + <artifactId>maven-resolver-connector-basic</artifactId> + <version>${resolverVersion}</version> <scope>test</scope> </dependency> <dependency> - <groupId>org.sonatype.aether</groupId> - <artifactId>aether-connector-wagon</artifactId> + <groupId>org.apache.maven.resolver</groupId> + <artifactId>maven-resolver-transport-file</artifactId> + <version>${resolverVersion}</version> <scope>test</scope> </dependency> <dependency> - <groupId>org.apache.maven.wagon</groupId> - <artifactId>wagon-http</artifactId> + <groupId>org.apache.maven.resolver</groupId> + <artifactId>maven-resolver-transport-http</artifactId> + <version>${resolverVersion}</version> <scope>test</scope> </dependency> <dependency> @@ -172,6 +164,12 @@ <artifactId>xmlunit-matchers</artifactId> <scope>test</scope> </dependency> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-simple</artifactId> + <version>1.7.36</version> + <scope>test</scope> + </dependency> <dependency> <groupId>com.ibm.icu</groupId> <artifactId>icu4j</artifactId> diff --git a/archetype-common/src/test/java/org/apache/maven/archetype/generator/DefaultArchetypeGeneratorTest.java b/archetype-common/src/test/java/org/apache/maven/archetype/generator/DefaultArchetypeGeneratorTest.java index 0b4f9e56..c17f991f 100644 --- a/archetype-common/src/test/java/org/apache/maven/archetype/generator/DefaultArchetypeGeneratorTest.java +++ b/archetype-common/src/test/java/org/apache/maven/archetype/generator/DefaultArchetypeGeneratorTest.java @@ -36,11 +36,14 @@ import org.apache.maven.model.io.xpp3.MavenXpp3Reader; import org.apache.maven.plugin.testing.AbstractMojoTestCase; import org.apache.maven.project.DefaultProjectBuildingRequest; import org.apache.maven.project.ProjectBuildingRequest; -import org.apache.maven.repository.internal.MavenRepositorySystemSession; +import org.codehaus.plexus.component.repository.exception.ComponentLookupException; import org.codehaus.plexus.util.FileUtils; import org.codehaus.plexus.util.ReaderFactory; import org.codehaus.plexus.util.xml.pull.XmlPullParserException; -import org.sonatype.aether.impl.internal.SimpleLocalRepositoryManager; +import org.eclipse.aether.DefaultRepositorySystemSession; +import org.eclipse.aether.RepositorySystem; +import org.eclipse.aether.repository.LocalRepository; +import org.eclipse.aether.repository.LocalRepositoryManager; public class DefaultArchetypeGeneratorTest extends AbstractMojoTestCase { // archetypes prepared by antrun execution (see pom.xml) from src/test/archetypes @@ -518,7 +521,8 @@ public class DefaultArchetypeGeneratorTest extends AbstractMojoTestCase { assertNotNull(getVariableValueFromObject(generator, "filesetGenerator")); } - private ArchetypeGenerationRequest createArchetypeGenerationRequest(String project, Archetype archetype) { + private ArchetypeGenerationRequest createArchetypeGenerationRequest(String project, Archetype archetype) + throws ComponentLookupException { outputDirectory = getBasedir() + "/target/test-classes/projects/" + project; projectDirectory = new File(outputDirectory, "file-value"); @@ -540,8 +544,11 @@ public class DefaultArchetypeGeneratorTest extends AbstractMojoTestCase { request.setProperties(ADDITIONAL_PROPERTIES); ProjectBuildingRequest buildingRequest = new DefaultProjectBuildingRequest(); - MavenRepositorySystemSession repositorySession = new MavenRepositorySystemSession(); - repositorySession.setLocalRepositoryManager(new SimpleLocalRepositoryManager(localRepository.getBasedir())); + DefaultRepositorySystemSession repositorySession = new DefaultRepositorySystemSession(); + RepositorySystem repositorySystem = lookup(RepositorySystem.class); + LocalRepositoryManager localRepositoryManager = repositorySystem.newLocalRepositoryManager( + repositorySession, new LocalRepository(localRepository.getBasedir())); + repositorySession.setLocalRepositoryManager(localRepositoryManager); buildingRequest.setRepositorySession(repositorySession); request.setProjectBuildingRequest(buildingRequest); 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 0f08962e..e9ab3a78 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 @@ -44,14 +44,17 @@ import org.apache.maven.model.Model; import org.apache.maven.model.io.xpp3.MavenXpp3Reader; import org.apache.maven.project.DefaultProjectBuildingRequest; import org.apache.maven.project.ProjectBuildingRequest; -import org.apache.maven.repository.internal.MavenRepositorySystemSession; import org.apache.velocity.VelocityContext; import org.apache.velocity.context.Context; +import org.codehaus.plexus.ContainerConfiguration; import org.codehaus.plexus.PlexusTestCase; import org.codehaus.plexus.util.FileUtils; import org.codehaus.plexus.util.xml.pull.XmlPullParserException; import org.codehaus.plexus.velocity.VelocityComponent; -import org.sonatype.aether.impl.internal.SimpleLocalRepositoryManager; +import org.eclipse.aether.DefaultRepositorySystemSession; +import org.eclipse.aether.RepositorySystem; +import org.eclipse.aether.repository.LocalRepository; +import org.eclipse.aether.repository.LocalRepositoryManager; import static org.hamcrest.MatcherAssert.assertThat; import static org.xmlunit.matchers.CompareMatcher.isIdenticalTo; @@ -63,6 +66,11 @@ import static org.xmlunit.matchers.CompareMatcher.isIdenticalTo; public class ArchetypeTest extends PlexusTestCase { private OldArchetype archetype; + @Override + protected void customizeContainerConfiguration(ContainerConfiguration configuration) { + configuration.setClassPathScanning("index"); + } + public void testArchetype() throws Exception { FileUtils.deleteDirectory(getTestFile("target/quickstart")); @@ -89,8 +97,11 @@ public class ArchetypeTest extends PlexusTestCase { ProjectBuildingRequest buildingRequest = new DefaultProjectBuildingRequest(); buildingRequest.setRemoteRepositories(remoteRepositories); - MavenRepositorySystemSession repositorySession = new MavenRepositorySystemSession(); - repositorySession.setLocalRepositoryManager(new SimpleLocalRepositoryManager(localRepository.getBasedir())); + DefaultRepositorySystemSession repositorySession = new DefaultRepositorySystemSession(); + RepositorySystem repositorySystem = lookup(RepositorySystem.class); + LocalRepositoryManager localRepositoryManager = repositorySystem.newLocalRepositoryManager( + repositorySession, new LocalRepository(localRepository.getBasedir())); + repositorySession.setLocalRepositoryManager(localRepositoryManager); buildingRequest.setRepositorySession(repositorySession); ArchetypeGenerationRequest request = new ArchetypeGenerationRequest() diff --git a/archetype-common/src/test/java/org/apache/maven/archetype/source/LocalCatalogArchetypeDataSourceTest.java b/archetype-common/src/test/java/org/apache/maven/archetype/source/LocalCatalogArchetypeDataSourceTest.java index 5de95e39..e1290438 100644 --- a/archetype-common/src/test/java/org/apache/maven/archetype/source/LocalCatalogArchetypeDataSourceTest.java +++ b/archetype-common/src/test/java/org/apache/maven/archetype/source/LocalCatalogArchetypeDataSourceTest.java @@ -45,12 +45,20 @@ import org.apache.maven.archetype.catalog.ArchetypeCatalog; import org.apache.maven.archetype.catalog.io.xpp3.ArchetypeCatalogXpp3Writer; import org.apache.maven.project.DefaultProjectBuildingRequest; import org.apache.maven.project.ProjectBuildingRequest; -import org.apache.maven.repository.internal.MavenRepositorySystemSession; +import org.codehaus.plexus.ContainerConfiguration; import org.codehaus.plexus.PlexusTestCase; -import org.sonatype.aether.impl.internal.SimpleLocalRepositoryManager; +import org.eclipse.aether.DefaultRepositorySystemSession; +import org.eclipse.aether.RepositorySystem; +import org.eclipse.aether.repository.LocalRepository; +import org.eclipse.aether.repository.LocalRepositoryManager; public class LocalCatalogArchetypeDataSourceTest extends PlexusTestCase { + @Override + protected void customizeContainerConfiguration(ContainerConfiguration configuration) { + configuration.setClassPathScanning("index"); + } + @Override protected void setUp() throws Exception { super.setUp(); @@ -75,11 +83,13 @@ public class LocalCatalogArchetypeDataSourceTest extends PlexusTestCase { public void testLocalCatalog() throws Exception { ArchetypeManager archetype = lookup(ArchetypeManager.class); + RepositorySystem repositorySystem = lookup(RepositorySystem.class); ProjectBuildingRequest buildingRequest = new DefaultProjectBuildingRequest(); - MavenRepositorySystemSession repositorySession = new MavenRepositorySystemSession(); - repositorySession.setLocalRepositoryManager( - new SimpleLocalRepositoryManager(getTestFile("target/test-classes/repositories/test-catalog"))); + DefaultRepositorySystemSession repositorySession = new DefaultRepositorySystemSession(); + LocalRepositoryManager localRepositoryManager = repositorySystem.newLocalRepositoryManager( + repositorySession, new LocalRepository(getTestFile("target/test-classes/repositories/test-catalog"))); + repositorySession.setLocalRepositoryManager(localRepositoryManager); buildingRequest.setRepositorySession(repositorySession); ArchetypeCatalog result = archetype.getLocalCatalog(buildingRequest); diff --git a/archetype-common/src/test/java/org/apache/maven/archetype/test/ArchetypeGenerationTest.java b/archetype-common/src/test/java/org/apache/maven/archetype/test/ArchetypeGenerationTest.java index bd4fc58b..2434ba78 100644 --- a/archetype-common/src/test/java/org/apache/maven/archetype/test/ArchetypeGenerationTest.java +++ b/archetype-common/src/test/java/org/apache/maven/archetype/test/ArchetypeGenerationTest.java @@ -32,13 +32,22 @@ import org.apache.maven.artifact.repository.MavenArtifactRepository; import org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout; import org.apache.maven.project.DefaultProjectBuildingRequest; import org.apache.maven.project.ProjectBuildingRequest; -import org.apache.maven.repository.internal.MavenRepositorySystemSession; +import org.codehaus.plexus.ContainerConfiguration; import org.codehaus.plexus.PlexusTestCase; import org.codehaus.plexus.util.FileUtils; -import org.sonatype.aether.impl.internal.SimpleLocalRepositoryManager; +import org.eclipse.aether.DefaultRepositorySystemSession; +import org.eclipse.aether.RepositorySystem; +import org.eclipse.aether.repository.LocalRepository; +import org.eclipse.aether.repository.LocalRepositoryManager; /** @author Jason van Zyl */ public class ArchetypeGenerationTest extends PlexusTestCase { + + @Override + protected void customizeContainerConfiguration(ContainerConfiguration configuration) { + configuration.setClassPathScanning("index"); + } + public void testProjectGenerationFromAnArchetype() throws Exception { ArchetypeManager archetype = (ArchetypeManager) lookup(ArchetypeManager.ROLE); @@ -53,9 +62,12 @@ public class ArchetypeGenerationTest extends PlexusTestCase { "local-repo"); ProjectBuildingRequest buildingRequest = new DefaultProjectBuildingRequest(); - MavenRepositorySystemSession repositorySession = new MavenRepositorySystemSession(); - repositorySession.setLocalRepositoryManager( - new SimpleLocalRepositoryManager("target/test-classes/repositories/central")); + DefaultRepositorySystemSession repositorySession = new DefaultRepositorySystemSession(); + RepositorySystem repositorySystem = lookup(RepositorySystem.class); + LocalRepositoryManager localRepositoryManager = repositorySystem.newLocalRepositoryManager( + repositorySession, new LocalRepository("target/test-classes/repositories/central")); + repositorySession.setLocalRepositoryManager(localRepositoryManager); + buildingRequest.setRepositorySession(repositorySession); ArchetypeCatalog catalog = archetype.getLocalCatalog(buildingRequest); diff --git a/archetype-common/src/test/java/org/apache/maven/archetype/test/InternalCatalogArchetypesVerificationTest.java b/archetype-common/src/test/java/org/apache/maven/archetype/test/InternalCatalogArchetypesVerificationTest.java index a8f3fe4e..ae6f4225 100644 --- a/archetype-common/src/test/java/org/apache/maven/archetype/test/InternalCatalogArchetypesVerificationTest.java +++ b/archetype-common/src/test/java/org/apache/maven/archetype/test/InternalCatalogArchetypesVerificationTest.java @@ -31,10 +31,13 @@ import org.apache.maven.artifact.repository.MavenArtifactRepository; import org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout; import org.apache.maven.project.DefaultProjectBuildingRequest; import org.apache.maven.project.ProjectBuildingRequest; -import org.apache.maven.repository.internal.MavenRepositorySystemSession; +import org.codehaus.plexus.ContainerConfiguration; import org.codehaus.plexus.PlexusTestCase; import org.codehaus.plexus.util.FileUtils; -import org.sonatype.aether.impl.internal.SimpleLocalRepositoryManager; +import org.eclipse.aether.DefaultRepositorySystemSession; +import org.eclipse.aether.RepositorySystem; +import org.eclipse.aether.repository.LocalRepository; +import org.eclipse.aether.repository.LocalRepositoryManager; /** * @@ -43,6 +46,11 @@ import org.sonatype.aether.impl.internal.SimpleLocalRepositoryManager; public class InternalCatalogArchetypesVerificationTest extends PlexusTestCase { private static final String CENTRAL = "https://repo.maven.apache.org/maven2"; + @Override + protected void customizeContainerConfiguration(ContainerConfiguration configuration) { + configuration.setClassPathScanning("index"); + } + public void testInternalCatalog() throws Exception { ArtifactRepository localRepository = createRepository( new File(getBasedir(), "target/test-classes/repositories/local") @@ -82,14 +90,17 @@ public class InternalCatalogArchetypesVerificationTest extends PlexusTestCase { .setLocalRepository(localRepository); ProjectBuildingRequest buildingRequest = new DefaultProjectBuildingRequest(); - MavenRepositorySystemSession repositorySession = new MavenRepositorySystemSession(); - repositorySession.setLocalRepositoryManager(new SimpleLocalRepositoryManager(localRepository.getBasedir())); + DefaultRepositorySystemSession repositorySession = new DefaultRepositorySystemSession(); + RepositorySystem repositorySystem = lookup(RepositorySystem.class); + LocalRepositoryManager localRepositoryManager = repositorySystem.newLocalRepositoryManager( + repositorySession, new LocalRepository(localRepository.getBasedir())); + repositorySession.setLocalRepositoryManager(localRepositoryManager); buildingRequest.setRepositorySession(repositorySession); request.setProjectBuildingRequest(buildingRequest); ArchetypeGenerationResult generationResult = archetype.generateProjectFromArchetype(request); - assertTrue("Archetype wasn't generated successfully", generationResult.getCause() == null); + assertNull("Archetype wasn't generated successfully", generationResult.getCause()); count++; } diff --git a/maven-archetype-plugin/pom.xml b/maven-archetype-plugin/pom.xml index ac0977e2..f8b35235 100644 --- a/maven-archetype-plugin/pom.xml +++ b/maven-archetype-plugin/pom.xml @@ -140,10 +140,6 @@ <artifactId>commons-lang3</artifactId> <version>3.14.0</version> </dependency> - <dependency> - <groupId>org.codehaus.plexus</groupId> - <artifactId>plexus-velocity</artifactId> - </dependency> <dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity</artifactId> diff --git a/pom.xml b/pom.xml index a79291bf..054fe779 100644 --- a/pom.xml +++ b/pom.xml @@ -71,7 +71,8 @@ <properties> <maven.archetype.scm.devConnection>scm:git:https://gitbox.apache.org/repos/asf/maven-archetype.git</maven.archetype.scm.devConnection> - <mavenVersion>3.0</mavenVersion> + <mavenVersion>3.6.3</mavenVersion> + <resolverVersion>1.4.1</resolverVersion> <wagonVersion>3.3.3</wagonVersion> <!-- provided by Maven core --> <javaVersion>8</javaVersion> @@ -212,7 +213,7 @@ <dependency> <groupId>org.apache.maven.plugin-testing</groupId> <artifactId>maven-plugin-testing-harness</artifactId> - <version>2.1</version> + <version>3.3.0</version> </dependency> <dependency> <groupId>org.apache.maven.wagon</groupId> @@ -226,33 +227,11 @@ <version>${wagonVersion}</version> </dependency> <dependency> - <groupId>org.sonatype.aether</groupId> - <artifactId>aether-api</artifactId> - <version>1.7</version> - <scope>provided</scope> - </dependency> - <dependency> - <groupId>org.sonatype.aether</groupId> - <artifactId>aether-impl</artifactId> - <version>1.7</version> + <groupId>org.apache.maven.resolver</groupId> + <artifactId>maven-resolver-api</artifactId> + <version>${resolverVersion}</version> <scope>provided</scope> </dependency> - <dependency> - <groupId>org.sonatype.aether</groupId> - <artifactId>aether-spi</artifactId> - <version>1.7</version> - <scope>provided</scope> - </dependency> - <dependency> - <groupId>org.sonatype.aether</groupId> - <artifactId>aether-connector-file</artifactId> - <version>1.7</version> - </dependency> - <dependency> - <groupId>org.sonatype.aether</groupId> - <artifactId>aether-connector-wagon</artifactId> - <version>1.7</version> - </dependency> <!-- Deprecated --> <dependency>