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;