> > It's using the value of ${maven.repo.local}.  How is yours set,
> > if at all?
> 
> Haha ... No I haven't set that property anywhere. Actually I don't know
> how to do that with maven ng. As I said, I have a build.properties in
> which I define maven.home and lib.repo. That file is used by
> build-bootstrap.xml. Is it also used by Maven ng ? In which case, does
> it mean I need to define maven.repo.local in it, in addition to lib.repo
> (both pointing to the same location) ? Or is it done in another way in
> Maven ng ?

You should've gotten a deprecation warning for having ${lib.repo} and
not ${maven.repo.local}.  

Yes, I typically set $HOME/build.properties to include

        maven.repo.local=${user.home}/maven.repo



> Yes ... almost. If I understand what you are saying, Maven ng uses the
> jars in maven.home/lib *over* the ones in maven.repo.local, which means
> I can actually remove the jars in maven.repo.local with no problem and
> Maven ng will not copy them again there as it will find them in
> maven.home/lib ?

If you delete ${maven.repo.local}, maven itself will still function.
If you compile something that has dependencies, it'll do HTTP downloads
to re-populate ${maven.repo.local}.  I shouldn't be copying things
from ${maven.home}/lib/.

> Let me explain why I don't want the Maven jars in lib.repo.local. I have
> a project that I want to build with Maven. This project depends on
> external jars that I check in CVS so that all our teams can get them
> easily and in their correct versions. For us, our maven.repo.local is
> the location where we put our *runtime* jars. We don't want to see
> *buildtime* jars in there. Which is why I thought it was great when you
> decided to put Maven jars in maven.home/lib. I don't want to see these
> jars, they are Maven's own internal ones. It must be transparent for me,
> as a Maven user.
> 
> Does it work this way now ?

Okay, I see where you're going.  After installing maven, you'd prefer
to have ${maven.repo.local} to be an empty directory?

        rm -Rf ${maven.repo.local}/

That'll work just fine.  We could add that automatically, but since
lots of us deal with lots of jakarta projects, having to d/l jelly.jar
for maven install and once again for other others that use it seems
wasteful.  

Maybe we could add a -Dclean.repo to the bootstrap, to leave you with
a virginal repo, if you like.

> > So that you don't necessarily have to download them again when you
> > compile jakarta-commons-toejam, which might need some of them.
> 
> I prefer to control what I need (see above). If you're saying it's just
> a convenience done by Maven when you build it from CVS sources, then it
> is fine, just as long as I can remove them afterwards and they will come
> back ...

You can kill ${maven.repo.local}, and the right thing will happen.

> > Also, in the event of a multi-user system, maven itself could be
> install
> > at /usr/local/maven/ or somewhere not world-writable.  Each person
> could
> > still maintain their own maven.repo.local.
> 
> yep! And there could possibly be several versions of Maven installed
> locally, which is real important for building Jakarta Commons
> components, right ? ;-)

Yah, which is one reason I've gone with MAVEN_HOME runtime env variable
instead of ${user.home}/build.properties setting ${maven.home}.

So, adjust your $MAVEN_HOME, and you're building with a different version
of maven.

        -bob


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

Reply via email to