You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by hb...@apache.org on 2020/03/03 22:43:33 UTC

[maven-studies] branch maven-buildinfo-plugin updated: cleanup: finish maven-resolver migration

This is an automated email from the ASF dual-hosted git repository.

hboutemy pushed a commit to branch maven-buildinfo-plugin
in repository https://gitbox.apache.org/repos/asf/maven-studies.git


The following commit(s) were added to refs/heads/maven-buildinfo-plugin by this push:
     new 989bf64  cleanup: finish maven-resolver migration
989bf64 is described below

commit 989bf64d2597bb86c2f10a1bde1408767acc1010
Author: Hervé Boutemy <hb...@apache.org>
AuthorDate: Tue Mar 3 23:43:29 2020 +0100

    cleanup: finish maven-resolver migration
---
 pom.xml                                            | 12 +++---
 .../apache/maven/plugins/buildinfo/SaveMojo.java   | 46 ++++++----------------
 2 files changed, 19 insertions(+), 39 deletions(-)

diff --git a/pom.xml b/pom.xml
index efc1417..d22ff26 100644
--- a/pom.xml
+++ b/pom.xml
@@ -99,12 +99,6 @@
       <scope>provided</scope>
     </dependency>
     <dependency>
-      <groupId>org.apache.maven</groupId>
-      <artifactId>maven-compat</artifactId>
-      <version>${mavenVersion}</version>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
       <groupId>org.codehaus.plexus</groupId>
       <artifactId>plexus-utils</artifactId>
       <version>3.3.0</version>
@@ -119,6 +113,12 @@
       <artifactId>maven-plugin-annotations</artifactId>
       <scope>provided</scope>
     </dependency>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-compat</artifactId>
+      <version>${mavenVersion}</version>
+      <scope>test</scope>
+    </dependency>
     <!--dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>
diff --git a/src/main/java/org/apache/maven/plugins/buildinfo/SaveMojo.java b/src/main/java/org/apache/maven/plugins/buildinfo/SaveMojo.java
index aa224ad..c6838ec 100644
--- a/src/main/java/org/apache/maven/plugins/buildinfo/SaveMojo.java
+++ b/src/main/java/org/apache/maven/plugins/buildinfo/SaveMojo.java
@@ -22,12 +22,7 @@ package org.apache.maven.plugins.buildinfo;
 import org.apache.commons.codec.Charsets;
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.factory.ArtifactFactory;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy;
-import org.apache.maven.artifact.repository.MavenArtifactRepository;
-import org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout;
 import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
-import org.apache.maven.artifact.resolver.ArtifactResolver;
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
 
@@ -38,6 +33,7 @@ import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.MavenProjectHelper;
 import org.codehaus.plexus.util.FileUtils;
+
 import org.eclipse.aether.AbstractForwardingRepositorySystemSession;
 import org.eclipse.aether.RepositorySystem;
 import org.eclipse.aether.RepositorySystemSession;
@@ -53,6 +49,7 @@ import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.OutputStreamWriter;
 import java.io.PrintWriter;
+import java.util.Collections;
 import java.util.List;
 
 /**
@@ -115,29 +112,11 @@ public class SaveMojo
     private File referenceDir;
 
     /**
-     * The local repository taken from Maven's runtime. Typically <code>$HOME/.m2/repository</code>.
-     */
-    @Parameter( defaultValue = "${localRepository}", readonly = true, required = true )
-    private ArtifactRepository localRepository;
-
-    /**
-     * List of Remote Repositories used by the resolver.
-     */
-    @Parameter( defaultValue = "${project.remoteArtifactRepositories}", readonly = true, required = true )
-    private List<ArtifactRepository> remoteArtifactRepositories;
-
-    /**
      * Used for attaching the buildinfo file in the project.
      */
     @Component
     private MavenProjectHelper projectHelper;
 
-    /**
-     * Artifact Resolver, needed to resolve and download the {@code resourceBundles}.
-     */
-    @Component
-    private ArtifactResolver artifactResolver;
-
     @Component
     private ArtifactFactory artifactFactory;
 
@@ -243,7 +222,7 @@ public class SaveMojo
     private void checkAgainstReference( boolean mono, List<Artifact> artifacts )
         throws MojoExecutionException
     {
-        ArtifactRepository repo = createReferenceRepo(); // TODO replace with org.eclipse.aether.repository.RemoteRepository
+        RemoteRepository repo = createReferenceRepo();
         referenceDir.mkdirs();
 
         File referenceBuildinfo = downloadReferenceBuildinfo( repo );
@@ -282,7 +261,7 @@ public class SaveMojo
         // TODO compare reference buildinfo vs actual
     }
 
-    private File downloadReferenceBuildinfo( ArtifactRepository repo )
+    private File downloadReferenceBuildinfo( RemoteRepository repo )
         throws MojoExecutionException
     {
         Artifact buildinfo =
@@ -305,7 +284,7 @@ public class SaveMojo
         return null;
     }
 
-    private File downloadReference( ArtifactRepository repo, Artifact artifact )
+    private File downloadReference( RemoteRepository repo, Artifact artifact )
         throws MojoExecutionException, ArtifactNotFoundException
     {
         try
@@ -314,7 +293,7 @@ public class SaveMojo
             request.setArtifact( new DefaultArtifact( artifact.getGroupId(), artifact.getArtifactId(),
                                                       artifact.getClassifier(), artifact.getType(),
                                                       artifact.getVersion() ) );
-            request.setRepositories( remoteRepos ); // TODO replace with repo
+            request.setRepositories( Collections.singletonList( repo ) );
 
             ArtifactResult result =
                 repoSystem.resolveArtifact( new NoWorkspaceRepositorySystemSession( repoSession ), request );
@@ -339,7 +318,7 @@ public class SaveMojo
         }
     }
 
-    private ArtifactRepository createReferenceRepo()
+    private RemoteRepository createReferenceRepo()
         throws MojoExecutionException
     {
         if ( referenceRepo.contains( "::" ) )
@@ -357,7 +336,7 @@ public class SaveMojo
         }
 
         // id
-        for ( ArtifactRepository repo : remoteArtifactRepositories )
+        for ( RemoteRepository repo : remoteRepos )
         {
             if ( referenceRepo.equals( repo.getId() ) )
             {
@@ -367,15 +346,16 @@ public class SaveMojo
         throw new MojoExecutionException( "Could not find repository with id = " + referenceRepo );
     }
 
-    protected ArtifactRepository createDeploymentArtifactRepository( String id, String url )
+    protected RemoteRepository createDeploymentArtifactRepository( String id, String url )
     {
-        return new MavenArtifactRepository( id, url, new DefaultRepositoryLayout(), new ArtifactRepositoryPolicy(),
-                                            new ArtifactRepositoryPolicy() );
+        return new RemoteRepository.Builder( id, null, url ).build();
     }
 
-    private static class NoWorkspaceRepositorySystemSession extends AbstractForwardingRepositorySystemSession
+    private static class NoWorkspaceRepositorySystemSession
+        extends AbstractForwardingRepositorySystemSession
     {
         private final RepositorySystemSession rss;
+
         NoWorkspaceRepositorySystemSession( RepositorySystemSession rss )
         {
             this.rss = rss;