maven-dependency-tree/0001-Port-to-Maven-3.1.0-and-Eclipse-Aether.patch
2014-01-17 16:55:37 +01:00

230 lines
10 KiB
Diff

From 4256b988f0b7dea637773ecaaa3db2087dacbfaf 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 | 13 ++++++-----
.../tree/DefaultDependencyTreeBuilder.java | 6 +----
.../tree/DependencyTreeResolutionListener.java | 9 ++++++++
.../tree/ArtifactMetadataSourceStub.java | 26 +++++++++++++++++++---
5 files changed, 43 insertions(+), 30 deletions(-)
diff --git a/pom.xml b/pom.xml
index 9ccef69..5d4fe78 100644
--- a/pom.xml
+++ b/pom.xml
@@ -50,7 +50,7 @@
</distributionManagement>
<properties>
- <mavenVersion>2.2.0</mavenVersion>
+ <mavenVersion>3.1.1</mavenVersion>
<maven.site.path>shared-archives/maven-dependency-tree-LATEST</maven.site.path>
</properties>
@@ -63,13 +63,13 @@
<dependencies>
<dependency>
<groupId>org.apache.maven</groupId>
- <artifactId>maven-project</artifactId>
+ <artifactId>maven-compat</artifactId>
<version>${mavenVersion}</version>
</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 b6f49e7..6254021 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
@@ -40,8 +40,8 @@ import org.apache.maven.shared.dependency.graph.DependencyGraphBuilderException;
import org.apache.maven.shared.dependency.graph.DependencyNode;
import org.codehaus.plexus.component.annotations.Component;
import org.codehaus.plexus.component.annotations.Requirement;
-import org.sonatype.aether.graph.Dependency;
-import org.sonatype.aether.version.VersionConstraint;
+import org.eclipse.aether.graph.Dependency;
+import org.eclipse.aether.version.VersionConstraint;
/**
* Wrapper around Maven 3 dependency resolver.
@@ -101,7 +101,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() ),
@@ -109,7 +109,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 =
@@ -117,7 +117,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() );
@@ -140,7 +140,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 60f8c92..3c3cae2 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 "
@@ -136,7 +132,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 058e59e..b4c4b21 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
@@ -363,6 +363,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 1a3aa13..16627ca 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 );
@@ -128,9 +129,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.8.4.2