Update to Maven 3 APIs

This commit is contained in:
Mikolaj Izdebski 2014-01-17 16:45:59 +01:00
parent 7d4faf6371
commit e428a72504
2 changed files with 136 additions and 14 deletions

View File

@ -1,18 +1,37 @@
From 28dd9622dc16e517991a9d45d62a791c75957bc7 Mon Sep 17 00:00:00 2001 From 4256b988f0b7dea637773ecaaa3db2087dacbfaf Mon Sep 17 00:00:00 2001
From: Mikolaj Izdebski <mizdebsk@redhat.com> From: Mikolaj Izdebski <mizdebsk@redhat.com>
Date: Wed, 24 Jul 2013 12:14:30 +0200 Date: Wed, 24 Jul 2013 12:14:30 +0200
Subject: [PATCH] Port to Maven 3.1.0 and Eclipse Aether Subject: [PATCH] Port to Maven 3.1.0 and Eclipse Aether
--- ---
pom.xml | 15 +-------------- pom.xml | 19 +++-------------
.../graph/internal/Maven3DependencyGraphBuilder.java | 13 +++++++------ .../internal/Maven3DependencyGraphBuilder.java | 13 ++++++-----
2 files changed, 8 insertions(+), 20 deletions(-) .../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 diff --git a/pom.xml b/pom.xml
index 8e246aa..7bb6e47 100644 index 9ccef69..5d4fe78 100644
--- a/pom.xml --- a/pom.xml
+++ b/pom.xml +++ b/pom.xml
@@ -78,7 +78,7 @@ @@ -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> <dependency>
<groupId>org.apache.maven</groupId> <groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId> <artifactId>maven-core</artifactId>
@ -21,7 +40,7 @@ index 8e246aa..7bb6e47 100644
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency> <dependency>
@@ -86,27 +86,14 @@ @@ -77,27 +77,14 @@
<artifactId>plexus-component-annotations</artifactId> <artifactId>plexus-component-annotations</artifactId>
</dependency> </dependency>
<dependency> <dependency>
@ -101,6 +120,110 @@ index b6f49e7..6254021 100644
{ {
if ( sb.length() > 0 ) 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.1.4 1.8.4.2

View File

@ -1,7 +1,7 @@
Name: maven-dependency-tree Name: maven-dependency-tree
Version: 2.1 Version: 2.1
Release: 3%{?dist} Release: 4%{?dist}
Summary: Maven dependency tree artifact Summary: Maven dependency tree artifact
Group: Development/Libraries Group: Development/Libraries
License: ASL 2.0 License: ASL 2.0
@ -12,10 +12,8 @@ BuildArch: noarch
Patch0001: 0001-Port-to-Maven-3.1.0-and-Eclipse-Aether.patch Patch0001: 0001-Port-to-Maven-3.1.0-and-Eclipse-Aether.patch
BuildRequires: maven-local BuildRequires: maven-local
BuildRequires: mvn(org.apache.maven:maven-artifact:2.2.1)
BuildRequires: mvn(org.apache.maven:maven-compat) BuildRequires: mvn(org.apache.maven:maven-compat)
BuildRequires: mvn(org.apache.maven:maven-core) BuildRequires: mvn(org.apache.maven:maven-core)
BuildRequires: mvn(org.apache.maven:maven-project)
BuildRequires: mvn(org.apache.maven.plugins:maven-invoker-plugin) BuildRequires: mvn(org.apache.maven.plugins:maven-invoker-plugin)
BuildRequires: mvn(org.apache.maven.shared:maven-plugin-testing-harness) BuildRequires: mvn(org.apache.maven.shared:maven-plugin-testing-harness)
BuildRequires: mvn(org.apache.maven.shared:maven-shared-components) BuildRequires: mvn(org.apache.maven.shared:maven-shared-components)
@ -40,11 +38,9 @@ This package contains javadoc for %{name}.
%prep %prep
%setup -q %setup -q
%patch0001 -p1 %patch0001 -p1
%pom_add_dep org.apache.maven:maven-compat:3.1.0
%pom_add_dep org.apache.maven:maven-artifact:2.2.1
%build %build
# we have no jmock yet # Incompatible version of jMock (Fedora has 2.x, upstream uses 1.x)
%mvn_build -f %mvn_build -f
%install %install
@ -57,6 +53,9 @@ This package contains javadoc for %{name}.
%doc LICENSE NOTICE %doc LICENSE NOTICE
%changelog %changelog
* Fri Jan 17 2014 Mikolaj Izdebski <mizdebsk@redhat.com> - 2.1-4
- Update to Maven 3 APIs
* Thu Oct 3 2013 Mikolaj Izdebski <mizdebsk@redhat.com> - 2.1-3 * Thu Oct 3 2013 Mikolaj Izdebski <mizdebsk@redhat.com> - 2.1-3
- Add missing BuildRequires - Add missing BuildRequires