I was motivated by http://jira.codehaus.org/browse/MNG-3407 and some personal headaches, mostly with dealing with working with OSS on a laptop within restricted environments, (ie. no, or bad internet connection, such as a service station, while waiting for your car to be fixed.)

I have a local directory on my laptop with a central rsync and the java.net repos, which helps a ton. But, I've set up a long list of <mirrorOf> entries to catch specific ids and redirect them to my file:// urls. Which works, but the list is growing, I don't set up <mirrorOf>*</mirrorOf> intentionally, because I have separations for the directories (so that rsync works ok for example). I was motivated tonite to scan my central rsync mirror for <repository> and <pluginRepository> sections to see what is actually in use, what I found kinda confirmed my suspicions, the free form repository id naming has blossomed into an interesting variety of choices.

Heh, this email will be good google-bot food for people searching for maven repository mirrors.

acegi-snapshot : http://acegisecurity.sourceforge.net/repository/snapshots
activemq : http://people.apache.org/~chirino/incubator-activemq-4.0/maven2/
activemq-repo : http://people.apache.org/repo/m2-incubating-repository
agilesque-legacy-repository : http://agilesque.net/dist
AMQ 4.0.2 : http://people.apache.org/~chirino/incubator-activemq-4.0.2-RC3/maven2
apache.incubating : http://people.apache.org/repo/m2-incubating-repository
apache-incubator : http://people.apache.org/repo/m2-incubating-repository/
apache.incubator : http://people.apache.org/repo/m2-incubating-repository
apache-incubator-repo : http://people.apache.org/repo/m2-incubating-repository
apache-maven-snapshots : http://cvs.apache.org/maven-snapshot-repository
apache-maven-snapshots : http://people.apache.org/repo/m2-snapshot-repository/
apache.org : http://people.apache.org/repo/m2-snapshot-repository
apache-plugin-snapshots-repository : http://people.apache.org/repo/m2-snapshot-repository
apache.snapshot : http://people.apache.org/repo/m2-snapshot-repository
apache-snapshot-repo : http://people.apache.org/maven-snapshot-repository
apache.snapshots : http://cvs.apache.org/maven-snapshot-repository
apache.snapshots : http://cvs.apache.org/repository
apache.snapshots : http://minotaur.apache.org/maven-snapshot-repository
apache-snapshots : http://people.apache.org/maven-snapshot-repository/
apache.snapshots : http://people.apache.org/maven-snapshot-repository
apache-snapshots : http://people.apache.org/repo/m2-snapshot-repository
apache.snapshots : http://people.apache.org/repo/m2-snapshot-repository
atanion : http://www.atanion.com/maven2
atlassian : http://repository.atlassian.com
central : http://ibiblio.org/maven2/
central : http://repo1.maven.org/maven2
central : http://www.ibiblio.org/maven2
codehaus : http://dist.codehaus.org
codehaus : http://dist.codehaus.org/
codehaus : http://repository.codehaus.org
codehaus : http://repository.codehaus.org/
CodeHaus : http://snapshots.maven.codehaus.org/maven2
codehaus-legacy-repository : http://dist.codehaus.org
codehaus-m1-repository : http://dist.codehaus.org
codehaus-m2-repository : http://repository.codehaus.org
Codehaus Maven Plugin Repository : http://dist.codehaus.org
Codehaus Maven Repository : http://dist.codehaus.org
codehaus.org : http://repository.codehaus.org/
codehaus.org : http://snapshots.repository.codehaus.org
codehaus.org : http://snapshots.repository.codehaus.org/
codehaus-plugin-repository : http://snapshots.maven.codehaus.org/maven2/
codehaus-snap : http://snapshots.repository.codehaus.org/
codehaus-snapshot-repo : http://snapshots.repository.codehaus.org/
codehaus-snapshots : http://snapshots.maven.codehaus.org/maven2
codehaus-snapshots : http://snapshots.repository.codehaus.org
codehaus-snapshots : http://snapshots.repository.codehaus.org/
codehaus.snapshots : http://snapshots.repository.codehaus.org
dist.codehaus.org : http://dist.codehaus.org
dtddoc : http://dtddoc.sf.net/maven2
fabric3 : http://www.fabric3.org/snapshots
gleamynode-m1-repository : http://gleamynode.net/dev
gwt-maven-repo : http://gwt-maven.googlecode.com/svn/trunk/mavenrepo
ibiblio : http://ibiblio.org/maven2
java.net : https://maven-repository.dev.java.net/nonav/repository
java.net : https://maven-repository.dev.java.net/repository
java.net repository : https://maven-repository.dev.java.net/nonav/repository/
jetty6-releases : http://www.mortbay.org/maven2/release
jetty6-snapshots : http://www.mortbay.org/maven2/snapshot
jetty-repository : http://repository.codehaus.org/
jetty-snapshot-repository : http://jetty4.inetu.net/home/ftp/pub/maven2/snapshot
jetty-snapshot-repository : http://snapshots.repository.codehaus.org/
jibx : http://jibx.sourceforge.net/maven2/
jibx.sf.net : http://jibx.sf.net/maven
jibx.sf.net : http://jibx.sf.net/maven2
m2-snapshot-repository : http://people.apache.org/repo/m2-snapshot-repository
mapasuta.repo : http://mapasuta.sf.net/maven/repo
maven2 : http://repo1.maven.org/maven2
maven2-repository.dev.java.net : http://download.java.net/maven/1/
maven2-repository.dev.java.net : https://maven2-repository.dev.java.net/nonav/repository
Maven Codehaus Snapshots : http://snapshots.maven.codehaus.org/maven2/
maven-hostedqa : http://maven.hostedqa.com
maven-snapshot : http://snapshots.maven.codehaus.org/maven2
Maven Snapshots : http://snapshots.maven.codehaus.org/maven2
Maven Snapshots : http://snapshots.maven.codehaus.org/maven2/
mirror : http://www.ibiblio.org/maven2
mirrormax.mirror : http://apache.mirrormax.net/apache/maven-repository/
module-local : file://${pom.basedir}/repository
module-repo : file:${basedir}/repository
mojo.snapshots : http://snapshots.maven.codehaus.org/maven2
mortbay-repo : http://www.mortbay.org/maven2/snapshot
mortbay-snapshot-repo : http://jetty.mortbay.org/maven2/snapshot
oaw.repository : http://openarchitectureware.org/m2/
objectstyle.org : http://objectstyle.org/maven2/
ObjectWeb Maven Repository : http://maven.objectweb.org/maven2/
openqa : http://maven.openqa.org
OpenQA : http://maven.openqa.org
org.livetribe : http://repo.livetribe.org/maven2-snapshot
playboy.mirror : http://mirrors.playboy.com/apache/maven-repository/
project-repo : file:${basedir}/${topDirectoryLocation}/maven_repo
repository-codehaus : http://repository.codehaus.org
repository.codehaus.org : http://repository.codehaus.org/
safehaus : http://m2.safehaus.org
safehauS-m1-repository : http://maven.safehaus.org/
seekmeup.mirror : http://apache.seekmeup.com/apache/maven-repository/
smartlab : http://www.smartlab.net/releases
snapshot-apache : http://people.apache.org/repo/m2-snapshot-repository
snapshot : http://snapshots.maven.codehaus.org/maven2/
snapshots : http://snapshots.maven.codehaus.org/maven2
snapshots : http://snapshots.maven.codehaus.org/maven2/
snapshots : http://snapshots.repository.codehaus.org
snapshots-plugins : http://snapshots.maven.codehaus.org/maven2
snapshots-plugins : http://snapshots.maven.codehaus.org/maven2/plugins
snapshots.repository.codehaus.org : http://snapshots.repository.codehaus.org/
sppatel : http://people.apache.org/~sppatel/maven/repository/
spring-repository : https://svn.sourceforge.net/svnroot/springframework/repos/repo spring-repository : https://svn.sourceforge.net/svnroot/springframework/repos/repo/ spring-snapshot-repository : https://svn.sourceforge.net/svnroot/springframework/repos/repo-snapshots spring-snapshot-repository : https://svn.sourceforge.net/svnroot/springframework/repos/repo-snapshots/
tapestry.javaforge : http://howardlewisship.com/repository
vraptor2 : http://vraptor2.sourceforge.net/m2repo
wicket : http://wicket.sourceforge.net/maven2
xfire : http://dist.codehaus.org

The approach nicolas took in MNG-3407 is strange. I don't understand the whole {0} idea. Wouldn't it make more sense to base mirrorOf on host or url instead?
That way the mirror section can be wrangled in a more sane way?

example:

<mirrors>
 <mirror>
   <mirrorOf>http://snapshots.repository.codehaus.org</mirrorOf>
   <url>file:///home/repos/codehaus/snapshots</url>
 </mirror>
 <mirror>
   <mirrorOf>http://repository.codehaus.org</mirrorOf>
   <url>file:///home/repos/codehaus/releases</url>
 </mirror>
 <mirror>
   <mirrorOf>http://people.apache.org/maven-snapshot-repository</mirrorOf>
   <url>file:///home/repos/apache/snapshots</url>
 </mirror>
</mirrors>

At first glance, the tendency would be to look for ":/" in the mirrorOf setting and use an url based mirror mapping, but that is probably a bad idea, considering that we had no restrictions on repository id naming. just because central has noone using ":/" in the repository id doesn't mean someone out there isn't using it.

- Joakim


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to