From 84007b5d12c451ed52efa75ce3675181dc0c5077 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 | 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 @@ - 2.2.1 + 3.1.1 @@ -62,14 +62,14 @@ org.apache.maven - maven-project + maven-compat ${mavenVersion} provided 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 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 getReactorDependencies( Collection reactorProjects, + private List getReactorDependencies( Collection reactorProjects, List dependencies ) { Set reactorProjectsIds = new HashSet(); @@ -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 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() ); @@ -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 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 ); @@ -124,9 +125,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.9.3