I'm -1 on this commit for several reasons:

First and foremost, there was no proposal on the wiki or any discussion
on the dev list that I can see for this.

Second, the use case is not very clear and implementation questionable. 

 

If this functionality is needed for some reason, it should be brought up
and discussed in a proposal and on the dev list. We don't just write
issues, fix them, commit and close the issue with no discussion. Also it
seems like this change is tailored to support only one repository
manager which is concerning to me.

 

 

 

_________________________-

 

Author: nicolas 
Date: Mon Feb 25 02:18:23 2008 
New Revision: 630789 

URL: http://svn.apache.org/viewvc?rev=630789&view=rev
Log: 
MNG-3407 : improve mirrorOf to support pattern based repository URL 

Modified: 
 
maven/artifact/trunk/src/main/java/org/apache/maven/artifact/manager/Def
aultWagonManager.java 
 
maven/artifact/trunk/src/test/java/org/apache/maven/artifact/manager/Def
aultWagonManagerTest.java 

Modified:
maven/artifact/trunk/src/main/java/org/apache/maven/artifact/manager/Def
aultWagonManager.java 
URL:
http://svn.apache.org/viewvc/maven/artifact/trunk/src/main/java/org/apac
he/maven/artifact/manager/DefaultWagonManager.java?rev=630789&r1=630788&
r2=630789&view=diff
========================================================================
====== 
---
maven/artifact/trunk/src/main/java/org/apache/maven/artifact/manager/Def
aultWagonManager.java (original) 
+++
maven/artifact/trunk/src/main/java/org/apache/maven/artifact/manager/Def
aultWagonManager.java Mon Feb 25 02:18:23 2008 
@@ -52,6 +52,7 @@ 
 import org.codehaus.plexus.logging.AbstractLogEnabled; 
 import
org.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualizable;

 import org.codehaus.plexus.util.FileUtils; 
+import org.codehaus.plexus.util.StringUtils; 
 import org.codehaus.plexus.util.xml.Xpp3Dom; 
  
 import java.io.File; 
@@ -62,6 +63,7 @@ 
 import java.util.Iterator; 
 import java.util.List; 
 import java.util.Map; 
+import java.text.MessageFormat; 
  
 /** @plexus.component */ 
 public class DefaultWagonManager 
@@ -754,6 +756,17 @@ 
         if ( repository == null ) 
         { 
             repository = (ArtifactRepository) mirrors.get( WILDCARD ); 
+        if ( repository != null ) 
+        { 
+ String url = repository.getUrl(); 
+ if ( url.indexOf( "${mirrorOf}" ) >= 0 ) 
+ { 
+    url = StringUtils.replace( url, "${mirrorOf}", "{0}" ); 
+    url = MessageFormat.format( url, new Object[] { mirrorOf } ); 
+    repository = new DefaultArtifactRepository( mirrorOf, url, null ); 
+ mirrors.put( mirrorOf, repository ); 
+ } 
+ } 
         } 
  
         return repository; 

Modified:
maven/artifact/trunk/src/test/java/org/apache/maven/artifact/manager/Def
aultWagonManagerTest.java 
URL:
http://svn.apache.org/viewvc/maven/artifact/trunk/src/test/java/org/apac
he/maven/artifact/manager/DefaultWagonManagerTest.java?rev=630789&r1=630
788&r2=630789&view=diff
========================================================================
====== 
---
maven/artifact/trunk/src/test/java/org/apache/maven/artifact/manager/Def
aultWagonManagerTest.java (original) 
+++
maven/artifact/trunk/src/test/java/org/apache/maven/artifact/manager/Def
aultWagonManagerTest.java Mon Feb 25 02:18:23 2008 
@@ -56,6 +56,15 @@ 
         wagonManager = (WagonManager) lookup( WagonManager.ROLE ); 
     } 
  
+ public void testMappedMirror() 
+ throws Exception 
+ { 
+ DefaultWagonManager manager = (DefaultWagonManager) wagonManager; 
+ manager.addMirror( "wildcar", "*",
"http://archiva/repository/${mirrorOf}"; ); 
+ assertEquals( "http://archiva/repository/central";, manager.getMirror(
"central" ).getUrl() ); 
+ assertEquals( "http://archiva/repository/apache.snapshots";,
manager.getMirror( "apache.snapshots" ).getUrl() ); 
+ } 
+ 
     public void testDefaultWagonManager() 
         throws Exception 
     { 



Reply via email to