From 4256b988f0b7dea637773ecaaa3db2087dacbfaf Mon Sep 17 00:00:00 2001 From: Mikolaj Izdebski 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 @@ - 2.2.0 + 3.1.1 shared-archives/maven-dependency-tree-LATEST @@ -63,13 +63,13 @@ org.apache.maven - maven-project + maven-compat ${mavenVersion} org.apache.maven maven-core - 3.0.4 + 3.1.0 provided @@ -77,27 +77,14 @@ plexus-component-annotations - org.sonatype.aether - aether-api - 1.13.1 - true - - org.eclipse.aether aether-api 0.9.0.M2 - true org.eclipse.aether aether-util 0.9.0.M2 - - - org.eclipse.aether - aether-api - - 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 nodes = new ArrayList( 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 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 remoteRepositories ) throws ArtifactMetadataRetrievalException { List availableVersions = availableVersionsByArtifact.get( artifact ); @@ -128,9 +129,28 @@ public class ArtifactMetadataSourceStub } public Artifact retrieveRelocatedArtifact( Artifact artifact, ArtifactRepository localRepository, - List remoteRepositories ) + List remoteRepositories ) throws ArtifactMetadataRetrievalException { return artifact; } + + public ResolutionGroup retrieve( MetadataResolutionRequest request ) + throws ArtifactMetadataRetrievalException + { + return retrieve( request.getArtifact(), request.getLocalRepository(), request.getRemoteRepositories() ); + } + + public List retrieveAvailableVersions( MetadataResolutionRequest request ) + throws ArtifactMetadataRetrievalException + { + return retrieveAvailableVersions( request.getArtifact(), request.getLocalRepository(), request.getRemoteRepositories() ); + } + + public List retrieveAvailableVersionsFromDeploymentRepository( Artifact artifact, ArtifactRepository localRepository, + ArtifactRepository remoteRepository) + throws ArtifactMetadataRetrievalException + { + return retrieveAvailableVersions( artifact, localRepository, Collections.singletonList( remoteRepository ) ); + } } -- 1.8.4.2