You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by be...@apache.org on 2009/06/06 13:35:57 UTC

svn commit: r782231 - in /maven/components/trunk: maven-core/src/main/java/org/apache/maven/project/RepositoryModelResolver.java maven-model-builder/src/main/java/org/apache/maven/model/resolution/ModelResolver.java

Author: bentmann
Date: Sat Jun  6 11:35:57 2009
New Revision: 782231

URL: http://svn.apache.org/viewvc?rev=782231&view=rev
Log:
o Fixed aggregation of remote repositories

Modified:
    maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/RepositoryModelResolver.java
    maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/resolution/ModelResolver.java

Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/RepositoryModelResolver.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/RepositoryModelResolver.java?rev=782231&r1=782230&r2=782231&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/RepositoryModelResolver.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/RepositoryModelResolver.java Sat Jun  6 11:35:57 2009
@@ -21,7 +21,9 @@
 
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Iterator;
 import java.util.List;
+import java.util.Map;
 
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.repository.ArtifactRepository;
@@ -88,7 +90,19 @@
         try
         {
             ArtifactRepository repo = repositorySystem.buildArtifactRepository( repository );
-            remoteRepositories.addAll( 0, repositorySystem.getMirrors( Arrays.asList( repo ) ) );
+
+            ArtifactRepository mirror = repositorySystem.getMirrors( Arrays.asList( repo ) ).get( 0 );
+
+            for ( Iterator<ArtifactRepository> it = remoteRepositories.iterator(); it.hasNext(); )
+            {
+                ArtifactRepository remoteRepository = it.next();
+                if ( mirror.getId().equals( remoteRepository.getId() ) )
+                {
+                    it.remove();
+                }
+            }
+
+            remoteRepositories.add( 0, mirror );
         }
         catch ( org.apache.maven.artifact.InvalidRepositoryException e )
         {

Modified: maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/resolution/ModelResolver.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/resolution/ModelResolver.java?rev=782231&r1=782230&r2=782231&view=diff
==============================================================================
--- maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/resolution/ModelResolver.java (original)
+++ maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/resolution/ModelResolver.java Sat Jun  6 11:35:57 2009
@@ -33,9 +33,25 @@
 public interface ModelResolver
 {
 
+    /**
+     * Tries to resolve the POM for the specified coordinates.
+     * 
+     * @param groupId The group identifier of the POM, must not be {@code null}.
+     * @param artifactId The artifact identifier of the POM, must not be {@code null}.
+     * @param version The version of the POM, must not be {@code null}.
+     * @return The source of the requested POM, never {@code null}.
+     * @throws UnresolvableModelException If the POM could not be resolved from any configured repository.
+     */
     ModelSource resolveModel( String groupId, String artifactId, String version )
         throws UnresolvableModelException;
 
+    /**
+     * Adds a repository to use for subsequent resolution requests. The order in which repositories are added matters.
+     * When multiple repositories with the same identifier are added, only the last repository being added will be used.
+     * 
+     * @param repository The repository to add to the internal search chain, must not be {@code null}.
+     * @throws InvalidRepositoryException If the repository could not be added (e.g. due to invalid URL or layout).
+     */
     void addRepository( Repository repository )
         throws InvalidRepositoryException;