Have you got a description of how you think it ought to work?
I quite like the ability of downloading projects that rely on 3rd
party repos, and having them magically work without having to do
anything (which is why I have a distaste for having to go through a
validate-my-settings-and-proxy-don't-break-external-users step when
pushing project changes to outside users).
I think all I'm saying is that repository names are good, or
repository URLs are good, but names *and* URLs isn't.
On Sun, Mar 16, 2008 at 7:03 PM, Jason van Zyl <[EMAIL PROTECTED]> wrote:
>
> On 16-Mar-08, at 11:39 AM, Nigel Magnay wrote:
>
> > I've never thought it was sane in the first place...
> >
>
> It is. Ultimately a repository manager should requires users to point
> at one URL, period. All control must reside in the repository manager
> or it's a configuration nightmare. Even if you automated the
> propagation of configuration, which can be done with an SCM, or a pub/
> sub model it's still a pain in the ass.
>
> The shortest settings.xml that fully delegates to a repository manager
> is still pretty lengthy but it's possible to do now, but eventually
> one short URL that every developer points to should suffice.
>
> The mirrorOf is a result of people putting repositories in their POMs
> which is a horrible practice. The short term benefit of what appears
> to be self-containment is a huge, fat mess. In a corporate environment
> it is entire possible to know what repositories you need up-front.
> Putting repositories in POMs make it impossible to have any sort of
> automated promotion model and the bane of anyone's effort to have a
> sane process within their organization.
>
> In short, the baked in repos in our super POM should go away, and be
> replaced by a simple configuration visible in the maven install.
> Anyone should be able to change that easily, and/or control it all
> from settings and ultimately it's one URL and folks delegate to a
> repository manager. Repositories in POMs, hacks to repath repositories
> like mirrorOf, and the "*" notation are a complete dead end. It needs
> to be made explicit and made manageable.
>
>
>
> > I don't understand why the artifact servers (archiva et al) can't just
> > respond in the same way that an ordinary proxy server does, without
> > all this mirrorOf mucking about. Working on two or three independant
> > projects and my settings.xml is a bloatfest of project-specific repo
> > names.
> >
> > I've got about 5 <mirrorOf> sections all pointing to a corporate
> > archiva server. Unfortunately (again), that's been set up in the
> > 'default/recommended' way, whereby many remote sites are all being
> > proxied through one archiva repository of /internal, which IMO is
> > really bad, because it's possible to specify a new artifact in your
> > pom.xml and find it magically downloads from {remote.repo.one} via
> > /internal, even though you never specified {remote.repo.one} in your
> > pom.xml in the first place. Which is all fine until someone remote
> > tries to build it offsite and.. bang, it all stops working.
> >
> > If the local repository was more separated out into a different format
> > that separated out the remote repositories that the artifacts came
> > from, then you could rsync directly into them anyway, which would
> > solve half these problems anyway... I.E
> >
> > .m2/repository/local/...
> > .m2/repository/snapshots.maven.codehaus.org/maven2/...
> >
> > etc., etc.
> >
> > On Sun, Mar 16, 2008 at 5:50 AM, Joakim Erdfelt <[EMAIL PROTECTED]>
> > wrote:
> >> 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]
> >>
> >>
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
>
> Thanks,
>
> Jason
>
> ----------------------------------------------------------
> Jason van Zyl
> Founder, Apache Maven
> jason at sonatype dot com
> ----------------------------------------------------------
>
> Simplex sigillum veri. (Simplicity is the seal of truth.)
>
>
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]