You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by rf...@apache.org on 2017/01/27 13:14:23 UTC
[2/2] maven-archetype git commit: [ARCHETYPE-515] Migrate plugin to
Maven3
[ARCHETYPE-515] Migrate plugin to Maven3
Squashed commit of the following:
commit e1e6fff59037ba20a479cd1b1dcaa750bf6d1cd0
Author: rfscholte <rf...@apache.org>
Date: Fri Jan 27 14:08:13 2017 +0100
clean up dependencies
commit ffe813f486916b4d2d8ae249a64a818978f5bfc6
Author: rfscholte <rf...@apache.org>
Date: Thu Jan 26 17:23:29 2017 +0100
maven-compat now always has test scope
commit fa1a96680c77814f88cf5dc8b18227ab1e01ed87
Author: rfscholte <rf...@apache.org>
Date: Thu Jan 26 17:07:33 2017 +0100
Replace maven-compat classes in IntegrationTestMojo
commit 401832a7f95a508ad7ee6032950dd4df447ffb59
Author: rfscholte <rf...@apache.org>
Date: Thu Jan 26 12:39:50 2017 +0100
archetype-common main sources freed from maven-compat
commit d2ad8a7dde8ae5a7a64b2e6bb0aabfeb6cc6d7ad
Author: rfscholte <rf...@apache.org>
Date: Thu Jan 26 12:15:04 2017 +0100
Replace maven-compat class in DefaultArchetypeRegistryManager
commit 59e729068331b87fb68ec57c44a7d1d01f431b49
Author: rfscholte <rf...@apache.org>
Date: Thu Jan 26 11:42:42 2017 +0100
Replace maven-compat classes in DefaultDownloader
commit 08060f0ebd1e452d865ee11c0f66d36aef26e275
Author: rfscholte <rf...@apache.org>
Date: Wed Jan 25 16:05:23 2017 +0100
Maven 3.0 dependencies + maven-compat
commit 9415a13838fe4f3dbf82efc7cd064e7a27a4cfd4
Author: rfscholte <rf...@apache.org>
Date: Wed Jan 25 12:19:11 2017 +0100
Move parent to proper location
commit fff235b7df4c13f18a1b348649334d8b11dced65
Author: rfscholte <rf...@apache.org>
Date: Wed Jan 25 00:20:50 2017 +0100
[ARCHETYPE-515] Migrate plugin to Maven3
stop using legacy repository layout
Project: http://git-wip-us.apache.org/repos/asf/maven-archetype/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven-archetype/commit/624f9aff
Tree: http://git-wip-us.apache.org/repos/asf/maven-archetype/tree/624f9aff
Diff: http://git-wip-us.apache.org/repos/asf/maven-archetype/diff/624f9aff
Branch: refs/heads/master
Commit: 624f9affdc27c8efe6443e03e89259dbe51d08dd
Parents: 9857d34
Author: rfscholte <rf...@apache.org>
Authored: Fri Jan 27 14:13:54 2017 +0100
Committer: rfscholte <rf...@apache.org>
Committed: Fri Jan 27 14:13:54 2017 +0100
----------------------------------------------------------------------
archetype-common/pom.xml | 46 +++++-
.../archetype/ArchetypeGenerationRequest.java | 14 ++
.../common/ArchetypeArtifactManager.java | 30 ++--
.../common/DefaultArchetypeArtifactManager.java | 46 +++---
.../common/DefaultArchetypeRegistryManager.java | 31 ++--
.../creator/FilesetArchetypeCreator.java | 57 ++++----
.../archetype/downloader/DefaultDownloader.java | 84 +++++------
.../maven/archetype/downloader/Downloader.java | 9 +-
.../generator/DefaultArchetypeGenerator.java | 5 +-
.../archetype/old/DefaultOldArchetype.java | 9 +-
.../RemoteCatalogArchetypeDataSource.java | 141 +++++++++++++++++--
.../DefaultArchetypeGeneratorTest.java | 10 ++
.../maven/archetype/old/ArchetypeTest.java | 37 +++--
.../archetype/test/ArchetypeGenerationTest.java | 10 ++
...ternalCatalogArchetypesVerificationTest.java | 11 ++
...rchetype-quickstart-1.0-alpha-1-SNAPSHOT.jar | Bin 3624 -> 0 bytes
...rchetype-quickstart-1.0-alpha-1-SNAPSHOT.pom | 26 ----
...-quickstart-1.0-alpha-1-SNAPSHOT.version.txt | 1 -
.../maven-archetypes-1.0-alpha-1-SNAPSHOT.pom | 33 -----
...-archetypes-1.0-alpha-1-SNAPSHOT.version.txt | 1 -
...rchetype-quickstart-1.0-alpha-1-SNAPSHOT.jar | Bin 0 -> 3624 bytes
...rchetype-quickstart-1.0-alpha-1-SNAPSHOT.pom | 26 ++++
.../maven-archetypes-1.0-alpha-1-SNAPSHOT.pom | 33 +++++
.../maven-archetype-1.0-alpha-1-SNAPSHOT.pom | 23 +++
archetype-packaging/pom.xml | 7 -
archetype-testing/archetype-final/pom.xml | 33 ++---
.../creator/DefaultArchetypeCreatorIT.java | 29 ++--
.../archetype/test/ArchetyperRoundtripIT.java | 35 +++--
.../test/ArchetyperRoundtripWithProxyIT.java | 41 ++++--
.../archetype/test/RoundtripMultiModuleIT.java | 36 +++--
archetype-testing/archetype-proxy/pom.xml | 6 -
archetype-testing/archetype-repository/pom.xml | 6 -
maven-archetype-plugin/pom.xml | 52 +++----
.../mojos/CreateProjectFromArchetypeMojo.java | 13 +-
.../archetype/mojos/IntegrationTestMojo.java | 46 +++---
.../archetype/mojos/MavenArchetypeMojo.java | 14 +-
.../DefaultArchetypeGenerationConfigurator.java | 20 +--
...ultArchetypeGenerationConfigurator2Test.java | 15 +-
...aultArchetypeGenerationConfiguratorTest.java | 11 +-
pom.xml | 60 ++++++--
40 files changed, 718 insertions(+), 389 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/maven-archetype/blob/624f9aff/archetype-common/pom.xml
----------------------------------------------------------------------
diff --git a/archetype-common/pom.xml b/archetype-common/pom.xml
index f32533f..0c9c7cb 100644
--- a/archetype-common/pom.xml
+++ b/archetype-common/pom.xml
@@ -43,12 +43,14 @@
<dependencies>
<dependency>
- <groupId>org.apache.maven.archetype</groupId>
- <artifactId>archetype-catalog</artifactId>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-compat</artifactId>
+ <scope>test</scope>
</dependency>
+
<dependency>
<groupId>org.apache.maven.archetype</groupId>
- <artifactId>archetype-packaging</artifactId>
+ <artifactId>archetype-catalog</artifactId>
</dependency>
<dependency>
<groupId>org.apache.maven.archetype</groupId>
@@ -81,15 +83,27 @@
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
- <artifactId>maven-project</artifactId>
+ <artifactId>maven-core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-settings</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-settings-builder</artifactId>
</dependency>
<dependency>
<groupId>org.apache.maven.shared</groupId>
<artifactId>maven-invoker</artifactId>
</dependency>
<dependency>
- <groupId>org.codehaus.plexus</groupId>
- <artifactId>plexus-container-default</artifactId>
+ <groupId>org.apache.maven.shared</groupId>
+ <artifactId>maven-artifact-transfer</artifactId>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
@@ -113,11 +127,31 @@
<artifactId>velocity</artifactId>
</dependency>
<dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-provider-api</artifactId>
+ </dependency>
+
+ <dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.sonatype.aether</groupId>
+ <artifactId>aether-connector-file</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.sonatype.aether</groupId>
+ <artifactId>aether-connector-wagon</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-http</artifactId>
+ <scope>test</scope>
+ </dependency>
<dependency>
<groupId>org.mortbay.jetty</groupId>
http://git-wip-us.apache.org/repos/asf/maven-archetype/blob/624f9aff/archetype-common/src/main/java/org/apache/maven/archetype/ArchetypeGenerationRequest.java
----------------------------------------------------------------------
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 dc3a1b9..a3d63cf 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
@@ -21,6 +21,7 @@ package org.apache.maven.archetype;
import org.apache.maven.archetype.catalog.Archetype;
import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.project.ProjectBuildingRequest;
import org.apache.maven.settings.Mirror;
import org.apache.maven.settings.Proxy;
import org.apache.maven.settings.Server;
@@ -33,6 +34,8 @@ import java.util.Properties;
/** @author Jason van Zyl */
public class ArchetypeGenerationRequest
{
+ private ProjectBuildingRequest projectBuildingRequest;
+
private boolean offline;
private boolean interactiveMode;
@@ -96,6 +99,17 @@ public class ArchetypeGenerationRequest
this.archetypeRepository = archetype.getRepository();
}
+ public ProjectBuildingRequest getProjectBuildingRequest()
+ {
+ return projectBuildingRequest;
+ }
+
+ public ArchetypeGenerationRequest setProjectBuildingRequest( ProjectBuildingRequest projectBuildingRequest )
+ {
+ this.projectBuildingRequest = projectBuildingRequest;
+ return this;
+ }
+
public String getArchetypeGroupId()
{
return archetypeGroupId;
http://git-wip-us.apache.org/repos/asf/maven-archetype/blob/624f9aff/archetype-common/src/main/java/org/apache/maven/archetype/common/ArchetypeArtifactManager.java
----------------------------------------------------------------------
diff --git a/archetype-common/src/main/java/org/apache/maven/archetype/common/ArchetypeArtifactManager.java b/archetype-common/src/main/java/org/apache/maven/archetype/common/ArchetypeArtifactManager.java
index b89d64b..1577115 100644
--- a/archetype-common/src/main/java/org/apache/maven/archetype/common/ArchetypeArtifactManager.java
+++ b/archetype-common/src/main/java/org/apache/maven/archetype/common/ArchetypeArtifactManager.java
@@ -23,7 +23,7 @@ import org.apache.maven.archetype.exception.UnknownArchetype;
import org.apache.maven.archetype.metadata.ArchetypeDescriptor;
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.model.Model;
-
+import org.apache.maven.project.ProjectBuildingRequest;
import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
import java.io.File;
@@ -40,10 +40,11 @@ public interface ArchetypeArtifactManager
throws XmlPullParserException, UnknownArchetype, IOException;
/**
+ * @param buildingRequest TODO
*/
File getArchetypeFile( String groupId, String artifactId, String version,
ArtifactRepository archetypeRepository, ArtifactRepository localRepository,
- List<ArtifactRepository> repositories )
+ List<ArtifactRepository> repositories, ProjectBuildingRequest buildingRequest )
throws UnknownArchetype;
/**
@@ -61,25 +62,29 @@ public interface ArchetypeArtifactManager
boolean isFileSetArchetype( File archetypeFile );
/**
+ * @param buildingRequest TODO
*/
boolean isFileSetArchetype( String groupId, String artifactId, String version,
ArtifactRepository archetypeRepository, ArtifactRepository localRepository,
- List<ArtifactRepository> repositories );
+ List<ArtifactRepository> repositories, ProjectBuildingRequest buildingRequest );
/**
*/
boolean isOldArchetype( File archetypeFile );
/**
+ * @param buildingRequest TODO
*/
boolean isOldArchetype( String groupId, String artifactId, String version, ArtifactRepository archetypeRepository,
- ArtifactRepository localRepository, List<ArtifactRepository> repositories );
+ ArtifactRepository localRepository, List<ArtifactRepository> repositories,
+ ProjectBuildingRequest buildingRequest );
/**
+ * @param buildingRequest TODO
*/
boolean exists( String archetypeGroupId, String archetypeArtifactId, String archetypeVersion,
ArtifactRepository archetypeRepository, ArtifactRepository localRepository,
- List<ArtifactRepository> repos );
+ List<ArtifactRepository> repos, ProjectBuildingRequest buildingRequest );
/**
* Get the archetype file's post-generation script content, read as UTF-8 content.
@@ -98,11 +103,13 @@ public interface ArchetypeArtifactManager
throws UnknownArchetype;
/**
+ * @param buildingRequest TODO
*/
ArchetypeDescriptor getFileSetArchetypeDescriptor( String groupId, String artifactId, String version,
ArtifactRepository archetypeRepository,
ArtifactRepository localRepository,
- List<ArtifactRepository> repositories )
+ List<ArtifactRepository> repositories,
+ ProjectBuildingRequest buildingRequest )
throws UnknownArchetype;
/**
@@ -116,9 +123,14 @@ public interface ArchetypeArtifactManager
throws UnknownArchetype;
/**
+ * @param buildingRequest TODO
*/
- org.apache.maven.archetype.old.descriptor.ArchetypeDescriptor getOldArchetypeDescriptor(
- String groupId, String artifactId, String version, ArtifactRepository archetypeRepository,
- ArtifactRepository localRepository, List<ArtifactRepository> repositories )
+ org.apache.maven.archetype.old.descriptor.ArchetypeDescriptor getOldArchetypeDescriptor( String groupId,
+ String artifactId,
+ String version,
+ ArtifactRepository archetypeRepository,
+ ArtifactRepository localRepository,
+ List<ArtifactRepository> repositories,
+ ProjectBuildingRequest buildingRequest )
throws UnknownArchetype;
}
http://git-wip-us.apache.org/repos/asf/maven-archetype/blob/624f9aff/archetype-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeArtifactManager.java
----------------------------------------------------------------------
diff --git a/archetype-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeArtifactManager.java b/archetype-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeArtifactManager.java
index c91e3ad..3ba4435 100644
--- a/archetype-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeArtifactManager.java
+++ b/archetype-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeArtifactManager.java
@@ -29,7 +29,7 @@ import org.apache.maven.archetype.metadata.io.xpp3.ArchetypeDescriptorXpp3Reader
import org.apache.maven.archetype.old.descriptor.ArchetypeDescriptorBuilder;
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.model.Model;
-
+import org.apache.maven.project.ProjectBuildingRequest;
import org.codehaus.plexus.component.annotations.Component;
import org.codehaus.plexus.component.annotations.Requirement;
import org.codehaus.plexus.logging.AbstractLogEnabled;
@@ -70,7 +70,7 @@ public class DefaultArchetypeArtifactManager
public File getArchetypeFile( final String groupId, final String artifactId, final String version,
ArtifactRepository archetypeRepository, final ArtifactRepository localRepository,
- final List<ArtifactRepository> repositories )
+ final List<ArtifactRepository> repositories, ProjectBuildingRequest buildingRequest )
throws UnknownArchetype
{
try
@@ -81,7 +81,7 @@ public class DefaultArchetypeArtifactManager
{
archetype =
downloader.download( groupId, artifactId, version, archetypeRepository, localRepository,
- repositories );
+ repositories, buildingRequest );
setArchetype( groupId, artifactId, version, archetype );
}
@@ -203,12 +203,12 @@ public class DefaultArchetypeArtifactManager
public boolean isFileSetArchetype( String groupId, String artifactId, String version,
ArtifactRepository archetypeRepository, ArtifactRepository localRepository,
- List<ArtifactRepository> repositories )
+ List<ArtifactRepository> repositories, ProjectBuildingRequest buildingRequest )
{
try
{
File archetypeFile = getArchetypeFile( groupId, artifactId, version, archetypeRepository,
- localRepository, repositories );
+ localRepository, repositories, buildingRequest );
return isFileSetArchetype( archetypeFile );
}
@@ -251,12 +251,12 @@ public class DefaultArchetypeArtifactManager
public boolean isOldArchetype( String groupId, String artifactId, String version,
ArtifactRepository archetypeRepository, ArtifactRepository localRepository,
- List<ArtifactRepository> repositories )
+ List<ArtifactRepository> repositories, ProjectBuildingRequest buildingRequest )
{
try
{
File archetypeFile = getArchetypeFile( groupId, artifactId, version, archetypeRepository,
- localRepository, repositories );
+ localRepository, repositories, buildingRequest );
return isOldArchetype( archetypeFile );
}
@@ -269,7 +269,7 @@ public class DefaultArchetypeArtifactManager
public boolean exists( String archetypeGroupId, String archetypeArtifactId, String archetypeVersion,
ArtifactRepository archetypeRepository, ArtifactRepository localRepository,
- List<ArtifactRepository> remoteRepositories )
+ List<ArtifactRepository> remoteRepositories, ProjectBuildingRequest buildingRequest )
{
try
{
@@ -278,7 +278,7 @@ public class DefaultArchetypeArtifactManager
{
archetype =
downloader.download( archetypeGroupId, archetypeArtifactId, archetypeVersion, archetypeRepository,
- localRepository, remoteRepositories );
+ localRepository, remoteRepositories, buildingRequest );
setArchetype( archetypeGroupId, archetypeArtifactId, archetypeVersion, archetype );
}
@@ -343,13 +343,17 @@ public class DefaultArchetypeArtifactManager
}
}
- public org.apache.maven.archetype.metadata.ArchetypeDescriptor getFileSetArchetypeDescriptor(
- String groupId, String artifactId, String version, ArtifactRepository archetypeRepository,
- ArtifactRepository localRepository, List<ArtifactRepository> repositories )
+ public org.apache.maven.archetype.metadata.ArchetypeDescriptor getFileSetArchetypeDescriptor( String groupId,
+ String artifactId,
+ String version,
+ ArtifactRepository archetypeRepository,
+ ArtifactRepository localRepository,
+ List<ArtifactRepository> repositories,
+ ProjectBuildingRequest buildingRequest )
throws UnknownArchetype
{
- File archetypeFile =
- getArchetypeFile( groupId, artifactId, version, archetypeRepository, localRepository, repositories );
+ File archetypeFile = getArchetypeFile( groupId, artifactId, version, archetypeRepository, localRepository,
+ repositories, buildingRequest );
return getFileSetArchetypeDescriptor( archetypeFile );
}
@@ -415,13 +419,17 @@ public class DefaultArchetypeArtifactManager
}
}
- public org.apache.maven.archetype.old.descriptor.ArchetypeDescriptor getOldArchetypeDescriptor(
- String groupId, String artifactId, String version, ArtifactRepository archetypeRepository,
- ArtifactRepository localRepository, List<ArtifactRepository> repositories )
+ public org.apache.maven.archetype.old.descriptor.ArchetypeDescriptor getOldArchetypeDescriptor( String groupId,
+ String artifactId,
+ String version,
+ ArtifactRepository archetypeRepository,
+ ArtifactRepository localRepository,
+ List<ArtifactRepository> repositories,
+ ProjectBuildingRequest buildingRequest )
throws UnknownArchetype
{
- File archetypeFile =
- getArchetypeFile( groupId, artifactId, version, archetypeRepository, localRepository, repositories );
+ File archetypeFile = getArchetypeFile( groupId, artifactId, version, archetypeRepository, localRepository,
+ repositories, buildingRequest );
return getOldArchetypeDescriptor( archetypeFile );
}
http://git-wip-us.apache.org/repos/asf/maven-archetype/blob/624f9aff/archetype-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeRegistryManager.java
----------------------------------------------------------------------
diff --git a/archetype-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeRegistryManager.java b/archetype-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeRegistryManager.java
index 81cff67..14a2944 100644
--- a/archetype-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeRegistryManager.java
+++ b/archetype-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeRegistryManager.java
@@ -19,12 +19,20 @@ package org.apache.maven.archetype.common;
* under the License.
*/
+import java.io.File;
+import java.io.IOException;
+import java.io.Reader;
+import java.io.Writer;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
import org.apache.maven.archetype.registry.ArchetypeRegistry;
import org.apache.maven.archetype.registry.io.xpp3.ArchetypeRegistryXpp3Reader;
import org.apache.maven.archetype.registry.io.xpp3.ArchetypeRegistryXpp3Writer;
import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.repository.ArtifactRepositoryFactory;
import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy;
+import org.apache.maven.artifact.repository.MavenArtifactRepository;
import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
import org.codehaus.plexus.component.annotations.Component;
import org.codehaus.plexus.component.annotations.Requirement;
@@ -35,24 +43,11 @@ import org.codehaus.plexus.util.StringUtils;
import org.codehaus.plexus.util.WriterFactory;
import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
-import java.io.File;
-import java.io.IOException;
-import java.io.Reader;
-import java.io.Writer;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
@Component( role = ArchetypeRegistryManager.class )
public class DefaultArchetypeRegistryManager
extends AbstractLogEnabled
implements ArchetypeRegistryManager
{
- /**
- * Used to create ArtifactRepository objects given the urls of the remote repositories.
- */
- @Requirement
- private ArtifactRepositoryFactory artifactRepositoryFactory;
/**
* Determines whether the layout is legacy or not.
@@ -176,6 +171,8 @@ public class DefaultArchetypeRegistryManager
*/
public ArtifactRepository createRepository( String url, String repositoryId )
{
+
+
// snapshots vs releases
// offline = to turning the update policy off
@@ -190,9 +187,9 @@ public class DefaultArchetypeRegistryManager
ArtifactRepositoryPolicy releasesPolicy =
new ArtifactRepositoryPolicy( true, updatePolicyFlag, checksumPolicyFlag );
-
- return artifactRepositoryFactory.createArtifactRepository( repositoryId, url, defaultArtifactRepositoryLayout,
- snapshotsPolicy, releasesPolicy );
+
+ return new MavenArtifactRepository( repositoryId, url, defaultArtifactRepositoryLayout, snapshotsPolicy,
+ releasesPolicy );
}
public ArchetypeRegistry getDefaultArchetypeRegistry()
http://git-wip-us.apache.org/repos/asf/maven-archetype/blob/624f9aff/archetype-common/src/main/java/org/apache/maven/archetype/creator/FilesetArchetypeCreator.java
----------------------------------------------------------------------
diff --git a/archetype-common/src/main/java/org/apache/maven/archetype/creator/FilesetArchetypeCreator.java b/archetype-common/src/main/java/org/apache/maven/archetype/creator/FilesetArchetypeCreator.java
index 576d33b..828af40 100644
--- a/archetype-common/src/main/java/org/apache/maven/archetype/creator/FilesetArchetypeCreator.java
+++ b/archetype-common/src/main/java/org/apache/maven/archetype/creator/FilesetArchetypeCreator.java
@@ -19,6 +19,26 @@ package org.apache.maven.archetype.creator;
* under the License.
*/
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.Reader;
+import java.io.Writer;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+import java.util.Set;
+
import org.apache.commons.collections.CollectionUtils;
import org.apache.maven.archetype.ArchetypeCreationRequest;
import org.apache.maven.archetype.ArchetypeCreationResult;
@@ -44,9 +64,11 @@ import org.apache.maven.model.Plugin;
import org.apache.maven.model.PluginManagement;
import org.apache.maven.model.Profile;
import org.apache.maven.model.Resource;
+import org.apache.maven.project.DefaultProjectBuildingRequest;
import org.apache.maven.project.MavenProject;
-import org.apache.maven.project.MavenProjectBuilder;
+import org.apache.maven.project.ProjectBuilder;
import org.apache.maven.project.ProjectBuildingException;
+import org.apache.maven.project.ProjectBuildingRequest;
import org.apache.maven.shared.invoker.DefaultInvocationRequest;
import org.apache.maven.shared.invoker.InvocationRequest;
import org.apache.maven.shared.invoker.InvocationResult;
@@ -63,26 +85,6 @@ import org.codehaus.plexus.util.WriterFactory;
import org.codehaus.plexus.util.xml.Xpp3Dom;
import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.io.Reader;
-import java.io.Writer;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.Set;
-
/**
* Create a 2.x Archetype project from a project. Since 2.0-alpha-5, an integration-test named "basic" is created along
* the archetype itself to provide immediate test when building the archetype.
@@ -102,7 +104,7 @@ public class FilesetArchetypeCreator
private PomManager pomManager;
@Requirement
- private MavenProjectBuilder projectBuilder;
+ private ProjectBuilder projectBuilder;
@Requirement
private Invoker invoker;
@@ -430,8 +432,11 @@ public class FilesetArchetypeCreator
try
{
- MavenProject p =
- projectBuilder.buildFromRepository( pa, project.getRemoteArtifactRepositories(), localRepository );
+ ProjectBuildingRequest buildingRequest = new DefaultProjectBuildingRequest();
+ buildingRequest.setLocalRepository( localRepository );
+ buildingRequest.setRemoteRepositories( project.getRemoteArtifactRepositories() );
+
+ MavenProject p = projectBuilder.build( pa, buildingRequest ).getProject();
if ( p.getDistributionManagement() != null )
{
@@ -440,10 +445,8 @@ public class FilesetArchetypeCreator
if ( p.getBuildExtensions() != null )
{
- for ( Iterator<Extension> i = p.getBuildExtensions().iterator(); i.hasNext(); )
+ for ( Extension be : p.getBuildExtensions() )
{
- Extension be = i.next();
-
model.getBuild().addExtension( be );
}
}
http://git-wip-us.apache.org/repos/asf/maven-archetype/blob/624f9aff/archetype-common/src/main/java/org/apache/maven/archetype/downloader/DefaultDownloader.java
----------------------------------------------------------------------
diff --git a/archetype-common/src/main/java/org/apache/maven/archetype/downloader/DefaultDownloader.java b/archetype-common/src/main/java/org/apache/maven/archetype/downloader/DefaultDownloader.java
index 7d8cb08..8cb6e5e 100644
--- a/archetype-common/src/main/java/org/apache/maven/archetype/downloader/DefaultDownloader.java
+++ b/archetype-common/src/main/java/org/apache/maven/archetype/downloader/DefaultDownloader.java
@@ -19,19 +19,19 @@ package org.apache.maven.archetype.downloader;
* under the License.
*/
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.factory.ArtifactFactory;
import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
-import org.apache.maven.artifact.resolver.ArtifactResolutionException;
-import org.apache.maven.artifact.resolver.ArtifactResolver;
+import org.apache.maven.project.ProjectBuildingRequest;
+import org.apache.maven.shared.artifact.DefaultArtifactCoordinate;
+import org.apache.maven.shared.artifact.resolve.ArtifactResolver;
+import org.apache.maven.shared.artifact.resolve.ArtifactResolverException;
import org.codehaus.plexus.component.annotations.Component;
import org.codehaus.plexus.component.annotations.Requirement;
-import java.io.File;
-import java.util.ArrayList;
-import java.util.List;
-
/**
* @author Jason van Zyl
*/
@@ -42,17 +42,21 @@ public class DefaultDownloader
@Requirement
private ArtifactResolver artifactResolver;
- @Requirement
- private ArtifactFactory artifactFactory;
-
public File download( String groupId, String artifactId, String version, ArtifactRepository archetypeRepository,
- ArtifactRepository localRepository, List<ArtifactRepository> remoteRepositories )
+ ArtifactRepository localRepository, List<ArtifactRepository> remoteRepositories,
+ ProjectBuildingRequest buildingRequest )
throws DownloadException, DownloadNotFoundException
{
- Artifact artifact =
- artifactFactory.createArtifact( groupId, artifactId, version, Artifact.SCOPE_RUNTIME, "jar" );
- Artifact artifactPom =
- artifactFactory.createArtifact( groupId, artifactId, version, Artifact.SCOPE_RUNTIME, "pom" );
+ DefaultArtifactCoordinate jarCoordinate = new DefaultArtifactCoordinate();
+ jarCoordinate.setGroupId( groupId );
+ jarCoordinate.setArtifactId( artifactId );
+ jarCoordinate.setVersion( version );
+
+ DefaultArtifactCoordinate pomCoordinate = new DefaultArtifactCoordinate();
+ pomCoordinate.setGroupId( groupId );
+ pomCoordinate.setArtifactId( artifactId );
+ pomCoordinate.setVersion( version );
+ pomCoordinate.setExtension( "pom" );
List<ArtifactRepository> repositories = new ArrayList<ArtifactRepository>( remoteRepositories );
if ( repositories.isEmpty() && archetypeRepository != null )
@@ -65,54 +69,50 @@ public class DefaultDownloader
}
ArtifactRepository localRepo = localRepository;
+
+ buildingRequest.setLocalRepository( localRepo );
+ buildingRequest.setRemoteRepositories( repositories );
+
+ Artifact artifact;
try
{
- artifactResolver.resolve( artifact, repositories, localRepo );
- }
- catch ( ArtifactResolutionException e )
- {
- throw new DownloadException( "Error downloading " + artifact.getId() + ".", e );
+ artifact = artifactResolver.resolveArtifact( buildingRequest, jarCoordinate ).getArtifact();
}
- catch ( ArtifactNotFoundException e )
+ catch ( ArtifactResolverException e )
{
- throw new DownloadNotFoundException( "Requested " + artifact.getId() + " download does not exist.", e );
+ throw new DownloadException( "Error downloading " + jarCoordinate + ".", e );
}
+
+ // still required???
try
{
- artifactResolver.resolve( artifactPom, repositories, localRepo );
+ artifactResolver.resolveArtifact( buildingRequest, pomCoordinate );
}
- catch ( ArtifactResolutionException e )
+ catch ( ArtifactResolverException e )
{
throw new DownloadException( "Error downloading POM for " + artifact.getId() + ".", e );
}
- catch ( ArtifactNotFoundException e )
- {
- throw new DownloadNotFoundException( "Requested " + artifact.getId()
- + " download's POM does not exist.", e );
- }
return artifact.getFile();
}
public File downloadOld( String groupId, String artifactId, String version, ArtifactRepository archetypeRepository,
- ArtifactRepository localRepository, List<ArtifactRepository> remoteRepositories )
+ ArtifactRepository localRepository, List<ArtifactRepository> remoteRepositories,
+ ProjectBuildingRequest buildingRequest )
throws DownloadException, DownloadNotFoundException
{
- Artifact artifact =
- artifactFactory.createArtifact( groupId, artifactId, version, Artifact.SCOPE_RUNTIME, "jar" );
+ DefaultArtifactCoordinate jarCoordinate = new DefaultArtifactCoordinate();
+ jarCoordinate.setGroupId( groupId );
+ jarCoordinate.setArtifactId( artifactId );
+ jarCoordinate.setVersion( version );
+
try
{
- artifactResolver.resolve( artifact, remoteRepositories, localRepository );
- }
- catch ( ArtifactResolutionException e )
- {
- throw new DownloadException( "Error downloading " + artifact.getId() + ".", e );
+ return artifactResolver.resolveArtifact( buildingRequest, jarCoordinate ).getArtifact().getFile();
}
- catch ( ArtifactNotFoundException e )
+ catch ( ArtifactResolverException e )
{
- throw new DownloadNotFoundException( "Requested " + artifact.getId() + " download does not exist.", e );
+ throw new DownloadException( "Error downloading " + jarCoordinate + ".", e );
}
-
- return artifact.getFile();
}
}
http://git-wip-us.apache.org/repos/asf/maven-archetype/blob/624f9aff/archetype-common/src/main/java/org/apache/maven/archetype/downloader/Downloader.java
----------------------------------------------------------------------
diff --git a/archetype-common/src/main/java/org/apache/maven/archetype/downloader/Downloader.java b/archetype-common/src/main/java/org/apache/maven/archetype/downloader/Downloader.java
index 80842bf..c499664 100644
--- a/archetype-common/src/main/java/org/apache/maven/archetype/downloader/Downloader.java
+++ b/archetype-common/src/main/java/org/apache/maven/archetype/downloader/Downloader.java
@@ -20,6 +20,7 @@ package org.apache.maven.archetype.downloader;
*/
import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.project.ProjectBuildingRequest;
import java.io.File;
import java.util.List;
@@ -29,13 +30,13 @@ import java.util.List;
*/
public interface Downloader
{
- String ROLE = Downloader.class.getName();
-
File download( String groupId, String artifactId, String version, ArtifactRepository archetypeRepository,
- ArtifactRepository localRepository, List<ArtifactRepository> remoteRepositories )
+ ArtifactRepository localRepository, List<ArtifactRepository> remoteRepositories,
+ ProjectBuildingRequest buildingRequest )
throws DownloadException, DownloadNotFoundException;
File downloadOld( String groupId, String artifactId, String version, ArtifactRepository archetypeRepository,
- ArtifactRepository localRepository, List<ArtifactRepository> remoteRepositories )
+ ArtifactRepository localRepository, List<ArtifactRepository> remoteRepositories,
+ ProjectBuildingRequest buildingRequest )
throws DownloadException, DownloadNotFoundException;
}
http://git-wip-us.apache.org/repos/asf/maven-archetype/blob/624f9aff/archetype-common/src/main/java/org/apache/maven/archetype/generator/DefaultArchetypeGenerator.java
----------------------------------------------------------------------
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 b8fd61b..9d60978 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
@@ -79,7 +79,8 @@ public class DefaultArchetypeGenerator
}
if ( !archetypeArtifactManager.exists( request.getArchetypeGroupId(), request.getArchetypeArtifactId(),
- request.getArchetypeVersion(), remoteRepo, localRepository, repos ) )
+ request.getArchetypeVersion(), remoteRepo, localRepository, repos,
+ request.getProjectBuildingRequest() ) )
{
throw new UnknownArchetype( "The desired archetype does not exist (" + request.getArchetypeGroupId() + ":"
+ request.getArchetypeArtifactId() + ":" + request.getArchetypeVersion() + ")" );
@@ -88,7 +89,7 @@ public class DefaultArchetypeGenerator
File archetypeFile =
archetypeArtifactManager.getArchetypeFile( request.getArchetypeGroupId(), request.getArchetypeArtifactId(),
request.getArchetypeVersion(), remoteRepo, localRepository,
- repos );
+ repos, request.getProjectBuildingRequest() );
return archetypeFile;
}
http://git-wip-us.apache.org/repos/asf/maven-archetype/blob/624f9aff/archetype-common/src/main/java/org/apache/maven/archetype/old/DefaultOldArchetype.java
----------------------------------------------------------------------
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 5b6b746..5dca83e 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
@@ -111,9 +111,12 @@ public class DefaultOldArchetype
// Download the archetype
// ----------------------------------------------------------------------
- File archetypeFile = archetypeArtifactManager.getArchetypeFile(
- request.getArchetypeGroupId(), request.getArchetypeArtifactId(), request.getArchetypeVersion(),
- archetypeRepository, request.getLocalRepository(), request.getRemoteArtifactRepositories() );
+ File archetypeFile =
+ archetypeArtifactManager.getArchetypeFile( request.getArchetypeGroupId(), request.getArchetypeArtifactId(),
+ request.getArchetypeVersion(), archetypeRepository,
+ request.getLocalRepository(),
+ request.getRemoteArtifactRepositories(),
+ request.getProjectBuildingRequest() );
createArchetype( request, archetypeFile );
}
http://git-wip-us.apache.org/repos/asf/maven-archetype/blob/624f9aff/archetype-common/src/main/java/org/apache/maven/archetype/source/RemoteCatalogArchetypeDataSource.java
----------------------------------------------------------------------
diff --git a/archetype-common/src/main/java/org/apache/maven/archetype/source/RemoteCatalogArchetypeDataSource.java b/archetype-common/src/main/java/org/apache/maven/archetype/source/RemoteCatalogArchetypeDataSource.java
index 1e5838f..bc38d20 100644
--- a/archetype-common/src/main/java/org/apache/maven/archetype/source/RemoteCatalogArchetypeDataSource.java
+++ b/archetype-common/src/main/java/org/apache/maven/archetype/source/RemoteCatalogArchetypeDataSource.java
@@ -19,9 +19,23 @@ package org.apache.maven.archetype.source;
* under the License.
*/
+import java.io.File;
+import java.io.IOException;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+
import org.apache.maven.archetype.catalog.Archetype;
import org.apache.maven.archetype.catalog.ArchetypeCatalog;
-import org.apache.maven.artifact.manager.WagonManager;
+import org.apache.maven.execution.MavenExecutionRequest;
+import org.apache.maven.execution.MavenSession;
+import org.apache.maven.plugin.LegacySupport;
+import org.apache.maven.settings.Proxy;
+import org.apache.maven.settings.Server;
+import org.apache.maven.settings.crypto.DefaultSettingsDecryptionRequest;
+import org.apache.maven.settings.crypto.SettingsDecrypter;
+import org.apache.maven.settings.crypto.SettingsDecryptionResult;
+import org.apache.maven.wagon.UnsupportedProtocolException;
import org.apache.maven.wagon.Wagon;
import org.apache.maven.wagon.WagonException;
import org.apache.maven.wagon.authentication.AuthenticationInfo;
@@ -31,10 +45,6 @@ import org.codehaus.plexus.component.annotations.Component;
import org.codehaus.plexus.component.annotations.Requirement;
import org.codehaus.plexus.util.ReaderFactory;
-import java.io.File;
-import java.io.IOException;
-import java.util.Properties;
-
/**
* @author Jason van Zyl
*/
@@ -43,7 +53,13 @@ public class RemoteCatalogArchetypeDataSource
extends CatalogArchetypeDataSource
{
@Requirement
- private WagonManager wagonManager;
+ private Map<String, Wagon> wagons;
+
+ @Requirement
+ private LegacySupport legacySupport;
+
+ @Requirement
+ private SettingsDecrypter settingsDecrypter;
public static final String REPOSITORY_PROPERTY = "repository";
@@ -107,10 +123,10 @@ public class RemoteCatalogArchetypeDataSource
// We use wagon to take advantage of a Proxy that has already been setup in a Maven environment.
Repository wagonRepository = new Repository( REPOSITORY_ID, repositoryPath );
- AuthenticationInfo authInfo = wagonManager.getAuthenticationInfo( wagonRepository.getId() );
- ProxyInfo proxyInfo = wagonManager.getProxy( wagonRepository.getProtocol() );
+ AuthenticationInfo authInfo = getAuthenticationInfo( wagonRepository.getId() );
+ ProxyInfo proxyInfo = getProxy( wagonRepository.getProtocol() );
- Wagon wagon = wagonManager.getWagon( wagonRepository );
+ Wagon wagon = getWagon( wagonRepository );
File catalog = File.createTempFile( "archetype-catalog", ".xml" );
try
@@ -139,4 +155,111 @@ public class RemoteCatalogArchetypeDataSource
}
}
+ //
+
+ private Wagon getWagon( Repository repository )
+ throws UnsupportedProtocolException
+ {
+ return getWagon( repository.getProtocol() );
+ }
+
+ private Wagon getWagon( String protocol )
+ throws UnsupportedProtocolException
+ {
+ if ( protocol == null )
+ {
+ throw new UnsupportedProtocolException( "Unspecified protocol" );
+ }
+
+ String hint = protocol.toLowerCase( java.util.Locale.ENGLISH );
+
+ Wagon wagon = wagons.get( hint );
+ if ( wagon == null )
+ {
+ throw new UnsupportedProtocolException( "Cannot find wagon which supports the requested protocol: "
+ + protocol );
+ }
+
+ return wagon;
+ }
+
+ private AuthenticationInfo getAuthenticationInfo( String id )
+ {
+ MavenSession session = legacySupport.getSession();
+
+ if ( session != null && id != null )
+ {
+ MavenExecutionRequest request = session.getRequest();
+
+ if ( request != null )
+ {
+ List<Server> servers = request.getServers();
+
+ if ( servers != null )
+ {
+ for ( Server server : servers )
+ {
+ if ( id.equalsIgnoreCase( server.getId() ) )
+ {
+ SettingsDecryptionResult result =
+ settingsDecrypter.decrypt( new DefaultSettingsDecryptionRequest( server ) );
+ server = result.getServer();
+
+ AuthenticationInfo authInfo = new AuthenticationInfo();
+ authInfo.setUserName( server.getUsername() );
+ authInfo.setPassword( server.getPassword() );
+ authInfo.setPrivateKey( server.getPrivateKey() );
+ authInfo.setPassphrase( server.getPassphrase() );
+
+ return authInfo;
+ }
+ }
+ }
+ }
+ }
+
+ // empty one to prevent NPE
+ return new AuthenticationInfo();
+ }
+
+ private ProxyInfo getProxy( String protocol )
+ {
+ MavenSession session = legacySupport.getSession();
+
+ if ( session != null && protocol != null )
+ {
+ MavenExecutionRequest request = session.getRequest();
+
+ if ( request != null )
+ {
+ List<Proxy> proxies = request.getProxies();
+
+ if ( proxies != null )
+ {
+ for ( Proxy proxy : proxies )
+ {
+ if ( proxy.isActive() && protocol.equalsIgnoreCase( proxy.getProtocol() ) )
+ {
+ SettingsDecryptionResult result =
+ settingsDecrypter.decrypt( new DefaultSettingsDecryptionRequest( proxy ) );
+ proxy = result.getProxy();
+
+ ProxyInfo proxyInfo = new ProxyInfo();
+ proxyInfo.setHost( proxy.getHost() );
+ proxyInfo.setType( proxy.getProtocol() );
+ proxyInfo.setPort( proxy.getPort() );
+ proxyInfo.setNonProxyHosts( proxy.getNonProxyHosts() );
+ proxyInfo.setUserName( proxy.getUsername() );
+ proxyInfo.setPassword( proxy.getPassword() );
+
+ return proxyInfo;
+ }
+ }
+ }
+ }
+ }
+
+ return null;
+ }
+
}
http://git-wip-us.apache.org/repos/asf/maven-archetype/blob/624f9aff/archetype-common/src/test/java/org/apache/maven/archetype/generator/DefaultArchetypeGeneratorTest.java
----------------------------------------------------------------------
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 f901be6..94ee058 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
@@ -30,10 +30,14 @@ import org.apache.maven.model.Plugin;
import org.apache.maven.model.ReportPlugin;
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.util.FileUtils;
import org.codehaus.plexus.util.IOUtil;
import org.codehaus.plexus.util.ReaderFactory;
import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
+import org.sonatype.aether.impl.internal.SimpleLocalRepositoryManager;
import java.io.File;
import java.io.FileInputStream;
@@ -554,6 +558,12 @@ public class DefaultArchetypeGeneratorTest
request.setPackage( "file.value.package" );
request.setProperties( ADDITIONAL_PROPERTIES );
+
+ ProjectBuildingRequest buildingRequest = new DefaultProjectBuildingRequest();
+ MavenRepositorySystemSession repositorySession = new MavenRepositorySystemSession();
+ repositorySession.setLocalRepositoryManager( new SimpleLocalRepositoryManager( localRepository.getBasedir() ) );
+ buildingRequest.setRepositorySession( repositorySession );
+ request.setProjectBuildingRequest( buildingRequest );
return request;
}
http://git-wip-us.apache.org/repos/asf/maven-archetype/blob/624f9aff/archetype-common/src/test/java/org/apache/maven/archetype/old/ArchetypeTest.java
----------------------------------------------------------------------
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 6ef915e..fd4cfdd 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
@@ -1,5 +1,17 @@
package org.apache.maven.archetype.old;
+import java.io.File;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.StringReader;
+import java.io.StringWriter;
+import java.net.URL;
+import java.net.URLClassLoader;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
/*
* Copyright 2004-2006 The Apache Software Foundation.
*
@@ -27,6 +39,9 @@ import org.apache.maven.artifact.resolver.ArtifactResolutionException;
import org.apache.maven.artifact.resolver.ArtifactResolver;
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.PlexusTestCase;
@@ -34,18 +49,7 @@ import org.codehaus.plexus.util.FileUtils;
import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
import org.codehaus.plexus.velocity.VelocityComponent;
import org.dom4j.DocumentException;
-
-import java.io.File;
-import java.io.FileReader;
-import java.io.IOException;
-import java.io.StringReader;
-import java.io.StringWriter;
-import java.net.URL;
-import java.net.URLClassLoader;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import org.sonatype.aether.impl.internal.SimpleLocalRepositoryManager;
/**
* @author <a href="mailto:jason@maven.org">Jason van Zyl</a>
@@ -66,7 +70,7 @@ public class ArchetypeTest
// ----------------------------------------------------------------------
ArtifactRepositoryLayout layout =
- (ArtifactRepositoryLayout) getContainer().lookup( ArtifactRepositoryLayout.ROLE, "legacy" );
+ (ArtifactRepositoryLayout) getContainer().lookup( ArtifactRepositoryLayout.ROLE );
String mavenRepoLocal = getTestFile( "target/local-repository" ).toURI().toURL().toString();
@@ -79,8 +83,15 @@ public class ArchetypeTest
ArtifactRepository remoteRepository = new DefaultArtifactRepository( "remote", mavenRepoRemote, layout );
remoteRepositories.add( remoteRepository );
+
+ ProjectBuildingRequest buildingRequest = new DefaultProjectBuildingRequest();
+ buildingRequest.setRemoteRepositories( remoteRepositories );
+ MavenRepositorySystemSession repositorySession = new MavenRepositorySystemSession();
+ repositorySession.setLocalRepositoryManager( new SimpleLocalRepositoryManager( localRepository.getBasedir() ) );
+ buildingRequest.setRepositorySession( repositorySession );
ArchetypeGenerationRequest request = new ArchetypeGenerationRequest()
+ .setProjectBuildingRequest( buildingRequest )
.setPackage( "org.apache.maven.quickstart" )
.setGroupId( "maven" )
.setArtifactId( "quickstart" )
http://git-wip-us.apache.org/repos/asf/maven-archetype/blob/624f9aff/archetype-common/src/test/java/org/apache/maven/archetype/test/ArchetypeGenerationTest.java
----------------------------------------------------------------------
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 0c40c1d..7c26d0f 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
@@ -24,6 +24,9 @@ import org.apache.maven.archetype.ArchetypeGenerationResult;
import org.apache.maven.archetype.ArchetypeManager;
import org.apache.maven.archetype.common.ArchetypeRegistryManager;
import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.project.DefaultProjectBuildingRequest;
+import org.apache.maven.project.ProjectBuildingRequest;
+import org.apache.maven.repository.internal.MavenRepositorySystemSession;
import org.codehaus.plexus.PlexusTestCase;
import java.io.File;
@@ -32,6 +35,7 @@ import java.util.Properties;
import org.apache.maven.archetype.catalog.Archetype;
import org.apache.maven.archetype.catalog.ArchetypeCatalog;
import org.codehaus.plexus.util.FileUtils;
+import org.sonatype.aether.impl.internal.SimpleLocalRepositoryManager;
/** @author Jason van Zyl */
public class ArchetypeGenerationTest
@@ -94,6 +98,12 @@ public class ArchetypeGenerationTest
archetypeRequiredProperties.setProperty( "property-without-default-3", "some-value-3" );
archetypeRequiredProperties.setProperty( "property-without-default-4", "some-value-4" );
agr.setProperties( archetypeRequiredProperties );
+
+ ProjectBuildingRequest buildingRequest = new DefaultProjectBuildingRequest();
+ MavenRepositorySystemSession repositorySession = new MavenRepositorySystemSession();
+ repositorySession.setLocalRepositoryManager( new SimpleLocalRepositoryManager( localRepository.getBasedir() ) );
+ buildingRequest.setRepositorySession( repositorySession );
+ agr.setProjectBuildingRequest( buildingRequest );
// Then generate away!
http://git-wip-us.apache.org/repos/asf/maven-archetype/blob/624f9aff/archetype-common/src/test/java/org/apache/maven/archetype/test/InternalCatalogArchetypesVerificationTest.java
----------------------------------------------------------------------
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 e357353..a40e4cc 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
@@ -28,8 +28,12 @@ import org.apache.maven.archetype.catalog.Archetype;
import org.apache.maven.archetype.catalog.ArchetypeCatalog;
import org.apache.maven.archetype.common.ArchetypeRegistryManager;
import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.project.DefaultProjectBuildingRequest;
+import org.apache.maven.project.ProjectBuildingRequest;
+import org.apache.maven.repository.internal.MavenRepositorySystemSession;
import org.codehaus.plexus.PlexusTestCase;
import org.codehaus.plexus.util.FileUtils;
+import org.sonatype.aether.impl.internal.SimpleLocalRepositoryManager;
/**
*
@@ -81,6 +85,13 @@ public class InternalCatalogArchetypesVerificationTest
.setPackage( "com.acme" )
.setOutputDirectory( outputDirectory.getPath() )
.setLocalRepository( localRepository );
+
+ ProjectBuildingRequest buildingRequest = new DefaultProjectBuildingRequest();
+ MavenRepositorySystemSession repositorySession = new MavenRepositorySystemSession();
+ repositorySession.setLocalRepositoryManager( new SimpleLocalRepositoryManager( localRepository.getBasedir() ) );
+ buildingRequest.setRepositorySession( repositorySession );
+ request.setProjectBuildingRequest( buildingRequest );
+
ArchetypeGenerationResult generationResult = archetype.generateProjectFromArchetype( request );
assertTrue ( "Archetype wasn't generated successfully", generationResult.getCause() == null );
http://git-wip-us.apache.org/repos/asf/maven-archetype/blob/624f9aff/archetype-common/src/test/repository/org.apache.maven.archetypes/jars/maven-archetype-quickstart-1.0-alpha-1-SNAPSHOT.jar
----------------------------------------------------------------------
diff --git a/archetype-common/src/test/repository/org.apache.maven.archetypes/jars/maven-archetype-quickstart-1.0-alpha-1-SNAPSHOT.jar b/archetype-common/src/test/repository/org.apache.maven.archetypes/jars/maven-archetype-quickstart-1.0-alpha-1-SNAPSHOT.jar
deleted file mode 100644
index a1851ba..0000000
Binary files a/archetype-common/src/test/repository/org.apache.maven.archetypes/jars/maven-archetype-quickstart-1.0-alpha-1-SNAPSHOT.jar and /dev/null differ
http://git-wip-us.apache.org/repos/asf/maven-archetype/blob/624f9aff/archetype-common/src/test/repository/org.apache.maven.archetypes/poms/maven-archetype-quickstart-1.0-alpha-1-SNAPSHOT.pom
----------------------------------------------------------------------
diff --git a/archetype-common/src/test/repository/org.apache.maven.archetypes/poms/maven-archetype-quickstart-1.0-alpha-1-SNAPSHOT.pom b/archetype-common/src/test/repository/org.apache.maven.archetypes/poms/maven-archetype-quickstart-1.0-alpha-1-SNAPSHOT.pom
deleted file mode 100644
index ee21329..0000000
--- a/archetype-common/src/test/repository/org.apache.maven.archetypes/poms/maven-archetype-quickstart-1.0-alpha-1-SNAPSHOT.pom
+++ /dev/null
@@ -1,26 +0,0 @@
-<!--
- ~ Copyright 2004-2006 The Apache Software Foundation.
- ~
- ~ Licensed under the Apache License, Version 2.0 (the "License");
- ~ you may not use this file except in compliance with the License.
- ~ You may obtain a copy of the License at
- ~
- ~ http://www.apache.org/licenses/LICENSE-2.0
- ~
- ~ Unless required by applicable law or agreed to in writing, software
- ~ distributed under the License is distributed on an "AS IS" BASIS,
- ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- ~ See the License for the specific language governing permissions and
- ~ limitations under the License.
- -->
-
-<project>
- <parent>
- <artifactId>maven-archetypes</artifactId>
- <groupId>org.apache.maven.archetypes</groupId>
- <version>1.0-alpha-1-SNAPSHOT</version>
- </parent>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>maven-archetype-quickstart</artifactId>
- <version>1.0-alpha-1-SNAPSHOT</version>
-</project>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/maven-archetype/blob/624f9aff/archetype-common/src/test/repository/org.apache.maven.archetypes/poms/maven-archetype-quickstart-1.0-alpha-1-SNAPSHOT.version.txt
----------------------------------------------------------------------
diff --git a/archetype-common/src/test/repository/org.apache.maven.archetypes/poms/maven-archetype-quickstart-1.0-alpha-1-SNAPSHOT.version.txt b/archetype-common/src/test/repository/org.apache.maven.archetypes/poms/maven-archetype-quickstart-1.0-alpha-1-SNAPSHOT.version.txt
deleted file mode 100644
index 33f4519..0000000
--- a/archetype-common/src/test/repository/org.apache.maven.archetypes/poms/maven-archetype-quickstart-1.0-alpha-1-SNAPSHOT.version.txt
+++ /dev/null
@@ -1 +0,0 @@
-1.0-alpha-1-SNAPSHOT
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/maven-archetype/blob/624f9aff/archetype-common/src/test/repository/org.apache.maven.archetypes/poms/maven-archetypes-1.0-alpha-1-SNAPSHOT.pom
----------------------------------------------------------------------
diff --git a/archetype-common/src/test/repository/org.apache.maven.archetypes/poms/maven-archetypes-1.0-alpha-1-SNAPSHOT.pom b/archetype-common/src/test/repository/org.apache.maven.archetypes/poms/maven-archetypes-1.0-alpha-1-SNAPSHOT.pom
deleted file mode 100644
index 74dda84..0000000
--- a/archetype-common/src/test/repository/org.apache.maven.archetypes/poms/maven-archetypes-1.0-alpha-1-SNAPSHOT.pom
+++ /dev/null
@@ -1,33 +0,0 @@
-<!--
- ~ Copyright 2004-2006 The Apache Software Foundation.
- ~
- ~ Licensed under the Apache License, Version 2.0 (the "License");
- ~ you may not use this file except in compliance with the License.
- ~ You may obtain a copy of the License at
- ~
- ~ http://www.apache.org/licenses/LICENSE-2.0
- ~
- ~ Unless required by applicable law or agreed to in writing, software
- ~ distributed under the License is distributed on an "AS IS" BASIS,
- ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- ~ See the License for the specific language governing permissions and
- ~ limitations under the License.
- -->
-
-<model>
- <parent>
- <artifactId>maven-archetype</artifactId>
- <groupId>org.apache.maven</groupId>
- <version>1.0-alpha-1-SNAPSHOT</version>
- </parent>
- <modelVersion>4.0.0</modelVersion>
- <groupId>org.apache.maven.archetypes</groupId>
- <artifactId>maven-archetypes</artifactId>
- <packaging>pom</packaging>
- <version>1.0-alpha-1-SNAPSHOT</version>
- <modules>
- <module>maven-archetype-mojo</module>
- <module>maven-archetype-quickstart</module>
- <module>maven-archetype-webapp</module>
- </modules>
-</model>
http://git-wip-us.apache.org/repos/asf/maven-archetype/blob/624f9aff/archetype-common/src/test/repository/org.apache.maven.archetypes/poms/maven-archetypes-1.0-alpha-1-SNAPSHOT.version.txt
----------------------------------------------------------------------
diff --git a/archetype-common/src/test/repository/org.apache.maven.archetypes/poms/maven-archetypes-1.0-alpha-1-SNAPSHOT.version.txt b/archetype-common/src/test/repository/org.apache.maven.archetypes/poms/maven-archetypes-1.0-alpha-1-SNAPSHOT.version.txt
deleted file mode 100644
index 33f4519..0000000
--- a/archetype-common/src/test/repository/org.apache.maven.archetypes/poms/maven-archetypes-1.0-alpha-1-SNAPSHOT.version.txt
+++ /dev/null
@@ -1 +0,0 @@
-1.0-alpha-1-SNAPSHOT
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/maven-archetype/blob/624f9aff/archetype-common/src/test/repository/org/apache/maven/archetypes/maven-archetype-quickstart/1.0-alpha-1-SNAPSHOT/maven-archetype-quickstart-1.0-alpha-1-SNAPSHOT.jar
----------------------------------------------------------------------
diff --git a/archetype-common/src/test/repository/org/apache/maven/archetypes/maven-archetype-quickstart/1.0-alpha-1-SNAPSHOT/maven-archetype-quickstart-1.0-alpha-1-SNAPSHOT.jar b/archetype-common/src/test/repository/org/apache/maven/archetypes/maven-archetype-quickstart/1.0-alpha-1-SNAPSHOT/maven-archetype-quickstart-1.0-alpha-1-SNAPSHOT.jar
new file mode 100644
index 0000000..a1851ba
Binary files /dev/null and b/archetype-common/src/test/repository/org/apache/maven/archetypes/maven-archetype-quickstart/1.0-alpha-1-SNAPSHOT/maven-archetype-quickstart-1.0-alpha-1-SNAPSHOT.jar differ
http://git-wip-us.apache.org/repos/asf/maven-archetype/blob/624f9aff/archetype-common/src/test/repository/org/apache/maven/archetypes/maven-archetype-quickstart/1.0-alpha-1-SNAPSHOT/maven-archetype-quickstart-1.0-alpha-1-SNAPSHOT.pom
----------------------------------------------------------------------
diff --git a/archetype-common/src/test/repository/org/apache/maven/archetypes/maven-archetype-quickstart/1.0-alpha-1-SNAPSHOT/maven-archetype-quickstart-1.0-alpha-1-SNAPSHOT.pom b/archetype-common/src/test/repository/org/apache/maven/archetypes/maven-archetype-quickstart/1.0-alpha-1-SNAPSHOT/maven-archetype-quickstart-1.0-alpha-1-SNAPSHOT.pom
new file mode 100644
index 0000000..ee21329
--- /dev/null
+++ b/archetype-common/src/test/repository/org/apache/maven/archetypes/maven-archetype-quickstart/1.0-alpha-1-SNAPSHOT/maven-archetype-quickstart-1.0-alpha-1-SNAPSHOT.pom
@@ -0,0 +1,26 @@
+<!--
+ ~ Copyright 2004-2006 The Apache Software Foundation.
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+
+<project>
+ <parent>
+ <artifactId>maven-archetypes</artifactId>
+ <groupId>org.apache.maven.archetypes</groupId>
+ <version>1.0-alpha-1-SNAPSHOT</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>maven-archetype-quickstart</artifactId>
+ <version>1.0-alpha-1-SNAPSHOT</version>
+</project>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/maven-archetype/blob/624f9aff/archetype-common/src/test/repository/org/apache/maven/archetypes/maven-archetypes/1.0-alpha-1-SNAPSHOT/maven-archetypes-1.0-alpha-1-SNAPSHOT.pom
----------------------------------------------------------------------
diff --git a/archetype-common/src/test/repository/org/apache/maven/archetypes/maven-archetypes/1.0-alpha-1-SNAPSHOT/maven-archetypes-1.0-alpha-1-SNAPSHOT.pom b/archetype-common/src/test/repository/org/apache/maven/archetypes/maven-archetypes/1.0-alpha-1-SNAPSHOT/maven-archetypes-1.0-alpha-1-SNAPSHOT.pom
new file mode 100644
index 0000000..74dda84
--- /dev/null
+++ b/archetype-common/src/test/repository/org/apache/maven/archetypes/maven-archetypes/1.0-alpha-1-SNAPSHOT/maven-archetypes-1.0-alpha-1-SNAPSHOT.pom
@@ -0,0 +1,33 @@
+<!--
+ ~ Copyright 2004-2006 The Apache Software Foundation.
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+
+<model>
+ <parent>
+ <artifactId>maven-archetype</artifactId>
+ <groupId>org.apache.maven</groupId>
+ <version>1.0-alpha-1-SNAPSHOT</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven.archetypes</groupId>
+ <artifactId>maven-archetypes</artifactId>
+ <packaging>pom</packaging>
+ <version>1.0-alpha-1-SNAPSHOT</version>
+ <modules>
+ <module>maven-archetype-mojo</module>
+ <module>maven-archetype-quickstart</module>
+ <module>maven-archetype-webapp</module>
+ </modules>
+</model>
http://git-wip-us.apache.org/repos/asf/maven-archetype/blob/624f9aff/archetype-common/src/test/repository/org/apache/maven/maven-archetype/1.0-alpha-1-SNAPSHOT/maven-archetype-1.0-alpha-1-SNAPSHOT.pom
----------------------------------------------------------------------
diff --git a/archetype-common/src/test/repository/org/apache/maven/maven-archetype/1.0-alpha-1-SNAPSHOT/maven-archetype-1.0-alpha-1-SNAPSHOT.pom b/archetype-common/src/test/repository/org/apache/maven/maven-archetype/1.0-alpha-1-SNAPSHOT/maven-archetype-1.0-alpha-1-SNAPSHOT.pom
new file mode 100644
index 0000000..54351ae
--- /dev/null
+++ b/archetype-common/src/test/repository/org/apache/maven/maven-archetype/1.0-alpha-1-SNAPSHOT/maven-archetype-1.0-alpha-1-SNAPSHOT.pom
@@ -0,0 +1,23 @@
+<!--
+ ~ Copyright 2004-2006 The Apache Software Foundation.
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+
+<model>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>maven-archetype</artifactId>
+ <groupId>org.apache.maven</groupId>
+ <version>1.0-alpha-1-SNAPSHOT</version>
+ <packaging>pom</packaging>
+</model>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/maven-archetype/blob/624f9aff/archetype-packaging/pom.xml
----------------------------------------------------------------------
diff --git a/archetype-packaging/pom.xml b/archetype-packaging/pom.xml
index 813171b..b95eff8 100644
--- a/archetype-packaging/pom.xml
+++ b/archetype-packaging/pom.xml
@@ -33,11 +33,4 @@
<name>Maven Archetype Packaging</name>
<description>'maven-archetype' packaging configuration for archetypes.</description>
- <dependencies>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <scope>test</scope>
- </dependency>
- </dependencies>
</project>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/maven-archetype/blob/624f9aff/archetype-testing/archetype-final/pom.xml
----------------------------------------------------------------------
diff --git a/archetype-testing/archetype-final/pom.xml b/archetype-testing/archetype-final/pom.xml
index 5420802..46a06de 100644
--- a/archetype-testing/archetype-final/pom.xml
+++ b/archetype-testing/archetype-final/pom.xml
@@ -40,6 +40,16 @@
<dependencies>
<dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-compat</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-core</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
@@ -63,24 +73,6 @@
<scope>test</scope>
</dependency>
<dependency>
- <groupId>org.codehaus.cargo</groupId>
- <artifactId>cargo-core-api-container</artifactId>
- <version>${cargoVersion}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.codehaus.cargo</groupId>
- <artifactId>cargo-core-api-generic</artifactId>
- <version>${cargoVersion}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.codehaus.cargo</groupId>
- <artifactId>cargo-core-container-jetty</artifactId>
- <version>${cargoVersion}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty</artifactId>
<version>6.1.11</version>
@@ -96,6 +88,11 @@
<artifactId>wagon-http</artifactId>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.sonatype.aether</groupId>
+ <artifactId>aether-connector-wagon</artifactId>
+ <scope>test</scope>
+ </dependency>
<dependency>
<groupId>${project.groupId}</groupId>
http://git-wip-us.apache.org/repos/asf/maven-archetype/blob/624f9aff/archetype-testing/archetype-final/src/test/java/org/apache/maven/archetype/creator/DefaultArchetypeCreatorIT.java
----------------------------------------------------------------------
diff --git a/archetype-testing/archetype-final/src/test/java/org/apache/maven/archetype/creator/DefaultArchetypeCreatorIT.java b/archetype-testing/archetype-final/src/test/java/org/apache/maven/archetype/creator/DefaultArchetypeCreatorIT.java
index bd21568..06663f3 100644
--- a/archetype-testing/archetype-final/src/test/java/org/apache/maven/archetype/creator/DefaultArchetypeCreatorIT.java
+++ b/archetype-testing/archetype-final/src/test/java/org/apache/maven/archetype/creator/DefaultArchetypeCreatorIT.java
@@ -25,9 +25,13 @@ import org.apache.maven.archetype.common.Constants;
import org.apache.maven.artifact.repository.DefaultArtifactRepository;
import org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout;
import org.apache.maven.plugin.testing.AbstractMojoTestCase;
+import org.apache.maven.project.DefaultProjectBuildingRequest;
import org.apache.maven.project.MavenProject;
import org.apache.maven.project.MavenProjectBuilder;
-import org.apache.maven.project.MavenProjectBuildingResult;
+import org.apache.maven.project.ProjectBuilder;
+import org.apache.maven.project.ProjectBuildingRequest;
+import org.apache.maven.project.ProjectBuildingResult;
+//import org.apache.maven.project.MavenProjectBuildingResult;
import org.codehaus.plexus.util.FileUtils;
import org.codehaus.plexus.util.PropertyUtils;
import org.codehaus.plexus.util.StringUtils;
@@ -53,7 +57,7 @@ public class DefaultArchetypeCreatorIT
{
System.out.println( ">>>>>> testCreateFilesetArchetype( \"" + project + "\" )" );
- MavenProjectBuilder builder = (MavenProjectBuilder) lookup( MavenProjectBuilder.ROLE );
+ ProjectBuilder builder = lookup( ProjectBuilder.class );
File projectFile = getProjectFile( project );
@@ -71,23 +75,10 @@ public class DefaultArchetypeCreatorIT
Properties p = PropertyUtils.loadProperties( propertyFile );
- MavenProject mavenProject = null;
-
- {
- Object result = builder.buildWithDependencies( projectFile, localRepository, null );
- if ( result instanceof MavenProject )
- { // Using Maven 2.0.x / x >= 7
- mavenProject = (MavenProject) result;
- }
- else if ( result instanceof MavenProjectBuildingResult )
- { // Using Maven 3
- mavenProject = ( (MavenProjectBuildingResult) result ).getProject();
- }
- else
- {
- fail( "Wrong result class" );
- }
- }
+ ProjectBuildingRequest buildingRequest = new DefaultProjectBuildingRequest();
+ buildingRequest.setLocalRepository( localRepository );
+
+ MavenProject mavenProject = builder.build( projectFile, buildingRequest ).getProject();
FilesetArchetypeCreator instance =
(FilesetArchetypeCreator) lookup( ArchetypeCreator.class.getName(), "fileset" );
http://git-wip-us.apache.org/repos/asf/maven-archetype/blob/624f9aff/archetype-testing/archetype-final/src/test/java/org/apache/maven/archetype/test/ArchetyperRoundtripIT.java
----------------------------------------------------------------------
diff --git a/archetype-testing/archetype-final/src/test/java/org/apache/maven/archetype/test/ArchetyperRoundtripIT.java b/archetype-testing/archetype-final/src/test/java/org/apache/maven/archetype/test/ArchetyperRoundtripIT.java
index 139d78e..12ff295 100644
--- a/archetype-testing/archetype-final/src/test/java/org/apache/maven/archetype/test/ArchetyperRoundtripIT.java
+++ b/archetype-testing/archetype-final/src/test/java/org/apache/maven/archetype/test/ArchetyperRoundtripIT.java
@@ -1,5 +1,10 @@
package org.apache.maven.archetype.test;
+import java.io.File;
+import java.io.FileWriter;
+import java.io.Writer;
+import java.util.Properties;
+
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -31,20 +36,21 @@ import org.apache.maven.archetype.catalog.io.xpp3.ArchetypeCatalogXpp3Writer;
import org.apache.maven.archetype.common.ArchetypeRegistryManager;
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.model.Model;
+import org.apache.maven.model.building.ModelProblem;
import org.apache.maven.project.DefaultProjectBuilderConfiguration;
+import org.apache.maven.project.DefaultProjectBuildingRequest;
import org.apache.maven.project.MavenProject;
-import org.apache.maven.project.MavenProjectBuilder;
+import org.apache.maven.project.ProjectBuilder;
+import org.apache.maven.project.ProjectBuildingRequest;
+import org.apache.maven.project.ProjectBuildingResult;
import org.apache.maven.project.interpolation.ModelInterpolator;
+import org.apache.maven.repository.internal.MavenRepositorySystemSession;
import org.codehaus.plexus.PlexusTestCase;
import org.codehaus.plexus.util.FileUtils;
import org.codehaus.plexus.util.StringUtils;
import org.mortbay.jetty.Server;
import org.mortbay.jetty.webapp.WebAppContext;
-
-import java.io.File;
-import java.io.FileWriter;
-import java.io.Writer;
-import java.util.Properties;
+import org.sonatype.aether.impl.internal.SimpleLocalRepositoryManager;
/**
* @author Jason van Zyl
@@ -61,7 +67,7 @@ public class ArchetyperRoundtripIT
ArchetypeRegistryManager registryManager = (ArchetypeRegistryManager) lookup( ArchetypeRegistryManager.ROLE );
- MavenProjectBuilder projectBuilder = (MavenProjectBuilder) lookup( MavenProjectBuilder.ROLE );
+ ProjectBuilder projectBuilder = lookup( ProjectBuilder.class );
ArtifactRepository localRepository = registryManager.createRepository( new File( getBasedir(),
"target" + File.separator
@@ -101,7 +107,12 @@ public class ArchetyperRoundtripIT
// (2) create an archetype from the project
File pom = new File( workingProject, "pom.xml" );
- MavenProject project = projectBuilder.build( pom, localRepository, null );
+ ProjectBuildingRequest buildingRequest = new DefaultProjectBuildingRequest();
+ MavenRepositorySystemSession repositorySession = new MavenRepositorySystemSession();
+ repositorySession.setLocalRepositoryManager( new SimpleLocalRepositoryManager( localRepository.getBasedir() ) );
+ buildingRequest.setRepositorySession( repositorySession );
+
+ MavenProject project = projectBuilder.build( pom, buildingRequest ).getProject();
Properties properties = new Properties();
properties.setProperty( "someProperty", "someValue" );
@@ -126,7 +137,11 @@ public class ArchetyperRoundtripIT
"target" + File.separator + "generated-sources" + File.separator
+ "archetype" );
File generatedArchetypePom = new File( generatedArchetypeDirectory, "pom.xml" );
- MavenProject generatedArchetypeProject = projectBuilder.build( generatedArchetypePom, localRepository, null );
+
+ ProjectBuildingResult buildingResult = projectBuilder.build( generatedArchetypePom, buildingRequest );
+
+ MavenProject generatedArchetypeProject = projectBuilder.build( generatedArchetypePom, buildingRequest ).getProject();
+
ModelInterpolator modelInterpolator = (ModelInterpolator)lookup( ModelInterpolator.ROLE );
Model generatedArchetypeModel = modelInterpolator.interpolate( generatedArchetypeProject.getModel(), generatedArchetypePom.getParentFile(), new DefaultProjectBuilderConfiguration(), true );
@@ -174,7 +189,7 @@ public class ArchetyperRoundtripIT
setGroupId( "com.mycompany" ).setArtifactId( "myapp" ).setVersion( "1.0-SNAPSHOT" ).
setPackage( "com.mycompany.myapp" ).setProperties( properties ).
setOutputDirectory( outputDirectory ).setLocalRepository( localRepository ).
- setArchetypeRepository( "http://localhost:" + port + "/repo/" );
+ setArchetypeRepository( "http://localhost:" + port + "/repo/" ).setProjectBuildingRequest( buildingRequest );
ArchetypeGenerationResult generationResult = archetype.generateProjectFromArchetype( agr );
if ( generationResult.getCause() != null )