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

olamy pushed a commit to branch 
MINVOKER-249_install_mojo_download_from_local_repo
in repository https://gitbox.apache.org/repos/asf/maven-invoker-plugin.git


The following commit(s) were added to 
refs/heads/MINVOKER-249_install_mojo_download_from_local_repo by this push:
     new e6535f5  fix the it test
e6535f5 is described below

commit e6535f5feae6c83f846cd4fd2b6a692dacab24b8
Author: olivier lamy <[email protected]>
AuthorDate: Mon Sep 2 11:44:59 2019 +1000

    fix the it test
    
    Signed-off-by: olivier lamy <[email protected]>
---
 .../apache/maven/plugins/invoker/InstallMojo.java  | 51 ++++++++++------------
 1 file changed, 22 insertions(+), 29 deletions(-)

diff --git a/src/main/java/org/apache/maven/plugins/invoker/InstallMojo.java 
b/src/main/java/org/apache/maven/plugins/invoker/InstallMojo.java
index 0610d8c..569bbf7 100644
--- a/src/main/java/org/apache/maven/plugins/invoker/InstallMojo.java
+++ b/src/main/java/org/apache/maven/plugins/invoker/InstallMojo.java
@@ -19,7 +19,6 @@ package org.apache.maven.plugins.invoker;
  * under the License.
  */
 
-import org.apache.commons.lang.StringUtils;
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.factory.ArtifactFactory;
 import org.apache.maven.artifact.repository.ArtifactRepository;
@@ -37,7 +36,6 @@ import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.ProjectBuildingRequest;
 import org.apache.maven.shared.artifact.filter.resolve.PatternExclusionsFilter;
 import org.apache.maven.shared.transfer.artifact.install.ArtifactInstaller;
-import 
org.apache.maven.shared.transfer.artifact.install.ArtifactInstallerException;
 import org.apache.maven.shared.transfer.artifact.resolve.ArtifactResult;
 import 
org.apache.maven.shared.transfer.dependencies.DefaultDependableCoordinate;
 import 
org.apache.maven.shared.transfer.dependencies.resolve.DependencyResolver;
@@ -48,6 +46,7 @@ import org.codehaus.plexus.util.FileUtils;
 import java.io.File;
 import java.io.IOException;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.HashMap;
@@ -509,22 +508,6 @@ public class InstallMojo
         }
     }
 
-    protected boolean isInProjectReferences( Collection<MavenProject> 
references, MavenProject project )
-    {
-        if ( references == null || references.isEmpty() )
-        {
-            return false;
-        }
-        for ( MavenProject mavenProject : references )
-        {
-            if ( StringUtils.equals( mavenProject.getId(), project.getId() ) )
-            {
-                return true;
-            }
-        }
-        return false;
-    }
-
     private void copyArtifact( Artifact artifact )
         throws MojoExecutionException
     {
@@ -641,25 +624,35 @@ public class InstallMojo
                 coordinate.setType( type );
                 coordinate.setClassifier( classifier );
 
-                Iterable<ArtifactResult> artifactResults =
-                    resolver.resolveDependencies( projectBuildingRequest, 
coordinate,
-                                                  new PatternExclusionsFilter( 
Collections.<String>emptyList() ) );
+
                 if ( !localRepository.getBasedir().equals( 
localRepositoryPath.getPath() ) && useLocalRepository )
                 {
-                    // using another request with the correct target repo
-                    installer.install( 
repositoryManager.setLocalRepositoryBasedir( 
session.getProjectBuildingRequest(),
-                                                                               
     localRepositoryPath ),
-                                       toArtifactsList( artifactResults ) );
+                    String previousId = localRepository.getId();
+                    try
+                    {
+                        // using another request with the correct target repo
+                        ProjectBuildingRequest projectBuildingRequest = 
repositoryManager
+                                .setLocalRepositoryBasedir( 
session.getProjectBuildingRequest(),
+                                localRepositoryPath );
+                        projectBuildingRequest.setRemoteRepositories( 
Arrays.asList( localRepository ) );
+                        resolver.resolveDependencies( projectBuildingRequest, 
coordinate,
+                                        new PatternExclusionsFilter( 
Collections.<String>emptyList() ) );
+                    }
+                    finally
+                    {
+                        localRepository.setId( previousId );
+                    }
+                }
+                else
+                    {
+                    resolver.resolveDependencies( projectBuildingRequest, 
coordinate,
+                                new PatternExclusionsFilter( 
Collections.<String>emptyList() ) );
                 }
             }
             catch ( DependencyResolverException e )
             {
                 throw new MojoExecutionException( "Unable to resolve 
dependencies for: " + coordinate, e );
             }
-            catch ( ArtifactInstallerException e )
-            {
-                throw new MojoExecutionException( "Fail to install artifacts: 
" + coordinate, e );
-            }
         }
     }
 

Reply via email to