249 lines
12 KiB
Diff
249 lines
12 KiB
Diff
From 84007b5d12c451ed52efa75ce3675181dc0c5077 Mon Sep 17 00:00:00 2001
|
|
From: Mikolaj Izdebski <mizdebsk@redhat.com>
|
|
Date: Wed, 24 Jul 2013 12:14:30 +0200
|
|
Subject: [PATCH] Port to Maven 3.1.0 and Eclipse Aether
|
|
|
|
---
|
|
pom.xml | 19 +++-------------
|
|
.../internal/Maven3DependencyGraphBuilder.java | 17 +++++++-------
|
|
.../tree/DefaultDependencyTreeBuilder.java | 6 +----
|
|
.../tree/DependencyTreeResolutionListener.java | 9 ++++++++
|
|
.../tree/ArtifactMetadataSourceStub.java | 26 +++++++++++++++++++---
|
|
5 files changed, 45 insertions(+), 32 deletions(-)
|
|
|
|
diff --git a/pom.xml b/pom.xml
|
|
index 46a1d14..c739698 100644
|
|
--- a/pom.xml
|
|
+++ b/pom.xml
|
|
@@ -50,7 +50,7 @@
|
|
</distributionManagement>
|
|
|
|
<properties>
|
|
- <mavenVersion>2.2.1</mavenVersion>
|
|
+ <mavenVersion>3.1.1</mavenVersion>
|
|
</properties>
|
|
|
|
<contributors>
|
|
@@ -62,14 +62,14 @@
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>org.apache.maven</groupId>
|
|
- <artifactId>maven-project</artifactId>
|
|
+ <artifactId>maven-compat</artifactId>
|
|
<version>${mavenVersion}</version>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.maven</groupId>
|
|
<artifactId>maven-core</artifactId>
|
|
- <version>3.0.4</version>
|
|
+ <version>3.1.0</version>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
<dependency>
|
|
@@ -77,27 +77,14 @@
|
|
<artifactId>plexus-component-annotations</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
- <groupId>org.sonatype.aether</groupId>
|
|
- <artifactId>aether-api</artifactId>
|
|
- <version>1.13.1</version>
|
|
- <optional>true</optional>
|
|
- </dependency>
|
|
- <dependency>
|
|
<groupId>org.eclipse.aether</groupId>
|
|
<artifactId>aether-api</artifactId>
|
|
<version>0.9.0.M2</version>
|
|
- <optional>true</optional>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.eclipse.aether</groupId>
|
|
<artifactId>aether-util</artifactId>
|
|
<version>0.9.0.M2</version>
|
|
- <exclusions>
|
|
- <exclusion>
|
|
- <groupId>org.eclipse.aether</groupId>
|
|
- <artifactId>aether-api</artifactId>
|
|
- </exclusion>
|
|
- </exclusions>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
diff --git a/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven3DependencyGraphBuilder.java b/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven3DependencyGraphBuilder.java
|
|
index f47363a..16e460a 100644
|
|
--- a/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven3DependencyGraphBuilder.java
|
|
+++ b/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven3DependencyGraphBuilder.java
|
|
@@ -36,8 +36,8 @@ import org.apache.maven.shared.dependency.graph.DependencyNode;
|
|
import org.codehaus.plexus.component.annotations.Component;
|
|
import org.codehaus.plexus.component.annotations.Requirement;
|
|
import org.codehaus.plexus.logging.AbstractLogEnabled;
|
|
-import org.sonatype.aether.graph.Dependency;
|
|
-import org.sonatype.aether.version.VersionConstraint;
|
|
+import org.eclipse.aether.graph.Dependency;
|
|
+import org.eclipse.aether.version.VersionConstraint;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.Collection;
|
|
@@ -144,7 +144,7 @@ public class Maven3DependencyGraphBuilder
|
|
return result;
|
|
}
|
|
|
|
- private List<org.sonatype.aether.graph.Dependency> getReactorDependencies( Collection<MavenProject> reactorProjects,
|
|
+ private List<org.eclipse.aether.graph.Dependency> getReactorDependencies( Collection<MavenProject> reactorProjects,
|
|
List<?> dependencies )
|
|
{
|
|
Set<ArtifactKey> reactorProjectsIds = new HashSet<ArtifactKey>();
|
|
@@ -157,7 +157,7 @@ public class Maven3DependencyGraphBuilder
|
|
for ( Object untypedDependency : dependencies )
|
|
{
|
|
Dependency dependency = (Dependency) untypedDependency;
|
|
- org.sonatype.aether.artifact.Artifact depArtifact = dependency.getArtifact();
|
|
+ org.eclipse.aether.artifact.Artifact depArtifact = dependency.getArtifact();
|
|
|
|
ArtifactKey key =
|
|
new ArtifactKey( depArtifact.getGroupId(), depArtifact.getArtifactId(), depArtifact.getVersion() );
|
|
@@ -173,7 +173,7 @@ public class Maven3DependencyGraphBuilder
|
|
|
|
private Artifact getDependencyArtifact( Dependency dep )
|
|
{
|
|
- org.sonatype.aether.artifact.Artifact artifact = dep.getArtifact();
|
|
+ org.eclipse.aether.artifact.Artifact artifact = dep.getArtifact();
|
|
|
|
return factory.createDependencyArtifact( artifact.getGroupId(), artifact.getArtifactId(),
|
|
VersionRange.createFromVersion( artifact.getVersion() ),
|
|
@@ -181,7 +181,7 @@ public class Maven3DependencyGraphBuilder
|
|
artifact.getClassifier(), dep.getScope(), dep.isOptional() );
|
|
}
|
|
|
|
- private DependencyNode buildDependencyNode( DependencyNode parent, org.sonatype.aether.graph.DependencyNode node,
|
|
+ private DependencyNode buildDependencyNode( DependencyNode parent, org.eclipse.aether.graph.DependencyNode node,
|
|
Artifact artifact, ArtifactFilter filter )
|
|
{
|
|
DefaultDependencyNode current =
|
|
@@ -191,7 +191,7 @@ public class Maven3DependencyGraphBuilder
|
|
getVersionSelectedFromRange( node.getVersionConstraint() ) );
|
|
|
|
List<DependencyNode> nodes = new ArrayList<DependencyNode>( node.getChildren().size() );
|
|
- for ( org.sonatype.aether.graph.DependencyNode child : node.getChildren() )
|
|
+ for ( org.eclipse.aether.graph.DependencyNode child : node.getChildren() )
|
|
{
|
|
Artifact childArtifact = getDependencyArtifact( child.getDependency() );
|
|
|
|
@@ -214,7 +214,8 @@ public class Maven3DependencyGraphBuilder
|
|
}
|
|
|
|
StringBuilder sb = new StringBuilder();
|
|
- for ( org.sonatype.aether.version.VersionRange range : constraint.getRanges() )
|
|
+ org.eclipse.aether.version.VersionRange range = constraint.getRange();
|
|
+ if ( range != null )
|
|
{
|
|
if ( sb.length() > 0 )
|
|
{
|
|
diff --git a/src/main/java/org/apache/maven/shared/dependency/tree/DefaultDependencyTreeBuilder.java b/src/main/java/org/apache/maven/shared/dependency/tree/DefaultDependencyTreeBuilder.java
|
|
index 063406d..3c90b5b 100644
|
|
--- a/src/main/java/org/apache/maven/shared/dependency/tree/DefaultDependencyTreeBuilder.java
|
|
+++ b/src/main/java/org/apache/maven/shared/dependency/tree/DefaultDependencyTreeBuilder.java
|
|
@@ -122,10 +122,6 @@ public class DefaultDependencyTreeBuilder
|
|
|
|
return listener.getRootNode();
|
|
}
|
|
- catch ( ArtifactResolutionException exception )
|
|
- {
|
|
- throw new DependencyTreeBuilderException( "Cannot build project dependency tree", exception );
|
|
- }
|
|
catch ( InvalidDependencyVersionException e )
|
|
{
|
|
throw new DependencyTreeBuilderException( "Invalid dependency version for artifact "
|
|
@@ -143,7 +139,7 @@ public class DefaultDependencyTreeBuilder
|
|
public DependencyNode buildDependencyTree( MavenProject project )
|
|
throws DependencyTreeBuilderException
|
|
{
|
|
- return buildDependencyTree( project, project.getProjectBuilderConfiguration().getLocalRepository(), factory,
|
|
+ return buildDependencyTree( project, project.getProjectBuildingRequest().getLocalRepository(), factory,
|
|
metadataSource, null, collector );
|
|
}
|
|
|
|
diff --git a/src/main/java/org/apache/maven/shared/dependency/tree/DependencyTreeResolutionListener.java b/src/main/java/org/apache/maven/shared/dependency/tree/DependencyTreeResolutionListener.java
|
|
index d646eac..0f8f577 100644
|
|
--- a/src/main/java/org/apache/maven/shared/dependency/tree/DependencyTreeResolutionListener.java
|
|
+++ b/src/main/java/org/apache/maven/shared/dependency/tree/DependencyTreeResolutionListener.java
|
|
@@ -362,6 +362,15 @@ public class DependencyTreeResolutionListener
|
|
}
|
|
}
|
|
|
|
+ /**
|
|
+ * {@inheritDoc}
|
|
+ */
|
|
+ public void manageArtifactSystemPath( Artifact artifact, Artifact replacement )
|
|
+ {
|
|
+ log( "manageArtifactSystemPath: artifact=" + artifact + ", replacement=" + replacement );
|
|
+ // Ignore the call
|
|
+ }
|
|
+
|
|
// public methods ---------------------------------------------------------
|
|
|
|
/**
|
|
diff --git a/src/test/java/org/apache/maven/shared/dependency/tree/ArtifactMetadataSourceStub.java b/src/test/java/org/apache/maven/shared/dependency/tree/ArtifactMetadataSourceStub.java
|
|
index e2e69d5..c368880 100644
|
|
--- a/src/test/java/org/apache/maven/shared/dependency/tree/ArtifactMetadataSourceStub.java
|
|
+++ b/src/test/java/org/apache/maven/shared/dependency/tree/ArtifactMetadataSourceStub.java
|
|
@@ -31,6 +31,7 @@ import org.apache.maven.artifact.metadata.ArtifactMetadataSource;
|
|
import org.apache.maven.artifact.metadata.ResolutionGroup;
|
|
import org.apache.maven.artifact.repository.ArtifactRepository;
|
|
import org.apache.maven.artifact.versioning.ArtifactVersion;
|
|
+import org.apache.maven.repository.legacy.metadata.MetadataResolutionRequest;
|
|
|
|
/**
|
|
* Provides a stub to simulate an artifact metadata source.
|
|
@@ -71,7 +72,7 @@ public class ArtifactMetadataSourceStub
|
|
/**
|
|
* {@inheritDoc}
|
|
*/
|
|
- public ResolutionGroup retrieve( Artifact artifact, ArtifactRepository localRepository, List remoteRepositories )
|
|
+ public ResolutionGroup retrieve( Artifact artifact, ArtifactRepository localRepository, List<ArtifactRepository> remoteRepositories )
|
|
throws ArtifactMetadataRetrievalException
|
|
{
|
|
ResolutionGroup resolution = resolutionGroupsByArtifact.get( artifact );
|
|
@@ -89,7 +90,7 @@ public class ArtifactMetadataSourceStub
|
|
* {@inheritDoc}
|
|
*/
|
|
public List retrieveAvailableVersions( Artifact artifact, ArtifactRepository localRepository,
|
|
- List remoteRepositories )
|
|
+ List<ArtifactRepository> remoteRepositories )
|
|
throws ArtifactMetadataRetrievalException
|
|
{
|
|
List<ArtifactVersion> availableVersions = availableVersionsByArtifact.get( artifact );
|
|
@@ -124,9 +125,28 @@ public class ArtifactMetadataSourceStub
|
|
}
|
|
|
|
public Artifact retrieveRelocatedArtifact( Artifact artifact, ArtifactRepository localRepository,
|
|
- List remoteRepositories )
|
|
+ List<ArtifactRepository> remoteRepositories )
|
|
throws ArtifactMetadataRetrievalException
|
|
{
|
|
return artifact;
|
|
}
|
|
+
|
|
+ public ResolutionGroup retrieve( MetadataResolutionRequest request )
|
|
+ throws ArtifactMetadataRetrievalException
|
|
+ {
|
|
+ return retrieve( request.getArtifact(), request.getLocalRepository(), request.getRemoteRepositories() );
|
|
+ }
|
|
+
|
|
+ public List<ArtifactVersion> retrieveAvailableVersions( MetadataResolutionRequest request )
|
|
+ throws ArtifactMetadataRetrievalException
|
|
+ {
|
|
+ return retrieveAvailableVersions( request.getArtifact(), request.getLocalRepository(), request.getRemoteRepositories() );
|
|
+ }
|
|
+
|
|
+ public List<ArtifactVersion> retrieveAvailableVersionsFromDeploymentRepository( Artifact artifact, ArtifactRepository localRepository,
|
|
+ ArtifactRepository remoteRepository)
|
|
+ throws ArtifactMetadataRetrievalException
|
|
+ {
|
|
+ return retrieveAvailableVersions( artifact, localRepository, Collections.singletonList( remoteRepository ) );
|
|
+ }
|
|
}
|
|
--
|
|
1.9.3
|
|
|