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 2010/07/19 21:55:20 UTC

svn commit: r965608 - in /maven/ant-tasks/trunk: build-tests.xml src/main/java/org/apache/maven/artifact/ant/AbstractArtifactWithRepositoryTask.java

Author: hboutemy
Date: Mon Jul 19 19:55:20 2010
New Revision: 965608

URL: http://svn.apache.org/viewvc?rev=965608&view=rev
Log:
[MANTTASKS-195] fixed remote repository overriding

Modified:
    maven/ant-tasks/trunk/build-tests.xml
    maven/ant-tasks/trunk/src/main/java/org/apache/maven/artifact/ant/AbstractArtifactWithRepositoryTask.java

Modified: maven/ant-tasks/trunk/build-tests.xml
URL: http://svn.apache.org/viewvc/maven/ant-tasks/trunk/build-tests.xml?rev=965608&r1=965607&r2=965608&view=diff
==============================================================================
--- maven/ant-tasks/trunk/build-tests.xml (original)
+++ maven/ant-tasks/trunk/build-tests.xml Mon Jul 19 19:55:20 2010
@@ -326,6 +326,16 @@
     </artifact:dependencies>
   </target>
 
+  <target name="test-deps-repo-override" depends="initTaskDefs">
+  	<echo>Expected failure: central has been overrided.</echo>
+    <delete dir="target/tmp"/>
+    <artifact:dependencies settingsFile="${basedir}/src/test/settings-empty.xml">
+      <localRepository path="target/tmp"/>
+      <remoteRepository id="central" url="file://${user.dir}/src/test/repo"/>
+      <dependency groupId="commons-logging" artifactId="commons-logging" version="1.1.1"/>
+    </artifact:dependencies>
+  </target>
+
   <target name="test-deps-order" depends="initTaskDefs">
     <artifact:dependencies pathId="order.path">
       <dependency groupId="junit" artifactId="junit" version="3.8.1"/>

Modified: maven/ant-tasks/trunk/src/main/java/org/apache/maven/artifact/ant/AbstractArtifactWithRepositoryTask.java
URL: http://svn.apache.org/viewvc/maven/ant-tasks/trunk/src/main/java/org/apache/maven/artifact/ant/AbstractArtifactWithRepositoryTask.java?rev=965608&r1=965607&r2=965608&view=diff
==============================================================================
--- maven/ant-tasks/trunk/src/main/java/org/apache/maven/artifact/ant/AbstractArtifactWithRepositoryTask.java (original)
+++ maven/ant-tasks/trunk/src/main/java/org/apache/maven/artifact/ant/AbstractArtifactWithRepositoryTask.java Mon Jul 19 19:55:20 2010
@@ -22,7 +22,9 @@ package org.apache.maven.artifact.ant;
 import java.math.BigInteger;
 import java.security.MessageDigest;
 import java.util.ArrayList;
+import java.util.HashSet;
 import java.util.List;
+import java.util.Set;
 
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.model.Repository;
@@ -94,8 +96,14 @@ public abstract class AbstractArtifactWi
 
         log( "Using remote repositories:", Project.MSG_VERBOSE );
         List<ArtifactRepository> list = new ArrayList<ArtifactRepository>();
+        Set<String> ids = new HashSet<String>();
         for ( RemoteRepository remoteRepository : remoteRepositories )
         {
+            if ( !ids.add( remoteRepository.getId() ) )
+            {
+                // repository id already added to the list: ignore it, since it has been overridden
+                continue;
+            }
             updateRepositoryWithSettings( remoteRepository );
 
             StringBuffer msg = new StringBuffer();