maven-dependency-tree/0001-Port-to-Maven-3.1.0-and-Eclipse-Aether.patch
2014-09-16 09:57:39 +02:00

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