> -----Original Message-----
> From: Aslak Helles�y [mailto:[EMAIL PROTECTED]
> Sent: Saturday, June 21, 2003 12:33 PM
> To: Maven Developers List
> Subject: Re: private jar dependencies
>
>
>
> >
> > We're doing this in the http://www.nanocontainer.org/ project. Have a
> > look at:
>
> Oops, this example is from xdoclet2 and not nanocontainer. Oh well.
>
> >
> > http://tinyurl.com/ew5l (look at the end of the 1st property)
> > http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/xdoclet/xdoclet2/lib/
> > (this is our own local repo treated as a remote one)
> >
> > Of course, if you're in a corporate environment, you should be able to
> > set up a real remote repository on an internal webserver, whihch is an
> > even cleaner solution.
> >
> > Aslak
> >

There is one more mean for realizing such scenario which was not mentioned
here:
jar overriding mechanism (or more generally artifact overriding mechanism).

I am personally for dropping the jar overriding mechanism.
and for replacing them with such "fake remote repository"  as Aslak has
described.


This will make the implementation cleaner.
There is a lot of places in maven where the fact that artifact was overriden
is simply ignored.
This feature probably is not used so often but surly plugins like
war, ear, eclipse are not aware of the fact that artifact can be overriden!

and what they do is something like:


       <j:if test="${dep.getProperty('war.bundle')=='true' and dep.type
=='jar' }">
          <ant:lib dir="${maven.repo.local}/${dep.artifactDirectory}/jars/">
            <ant:include name="${dep.artifact}"/>
          </ant:lib>
        </j:if>

So basiclly they require that artifact must be in local repository.
I think that this assumption is correct and it is the idea of jar overriding
which is wrong.
Moreover there is no easy way of determining if artifact was overriden or
not (it is in maven-new, but that's different story)

So I am really +1 on scenario described by Aslak.
First time you start you maven -- artifact from "fake remote repository"
will appear in local repository.
And this forces you to __always__ keep repository layout which adheres to
maven standards. Even if this repository
is kept in CVS.


Michal



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

Reply via email to