On Tue, Mar 19, 2002 at 09:14:53AM -0800, Daniel Rall wrote:
> Jeff Turner <[EMAIL PROTECTED]> writes:
>
> > On Mon, Mar 18, 2002 at 07:49:29PM -0800, Daniel Rall wrote:
> > > Why not use lib.repo instead of root? Many other projects are already
> >> using this variable to point to the location where Java libraries are
> >> rooted.
> >
> > By "library repository", do you mean a directory full of random jars,
> > copied or symlinked there from various projects?
>
> Exactly. Preferably with version numbers in their file names. ;-)
there's the catch...
> > Is this a jar management scheme we want to encourage? :)
>
> Yes. Practice has shown me that it works extremely well. In fact,
> it's a time honored tradition, with the historical precedent dating
> back the beginnings of Unix. See /lib, /usr/lib, and /usr/local/lib
> on your favorite Unix or Linux box. Let's learn from history.
I agree that a /usr/lib repository mechanism is much better than the
project-centric approach, IF it's done properly. Specifically, if
version management is taken very seriously. Otherwise you end up with a
directory full of jars from who-knows-where.
If Maven has solved the versioning problem, then I'm keen to use it.
Until then, is there any reason we can't accomodate both systems? Heck,
they're just build properties ;)
> > I think we should assume a more structured, project-centric approach:
> >
> > base.path = ${user.home}
> > jakarta.home = ${base.path}/jakarta
> > proj.home = ${jakarta.home}/...
> > proj.jar = ${proj.home}/...
> > junit.home = ${base.path}/junit3.7
> > junit.jar = ${junit.home}/junit.jar
>
> This structure only works efficiently when you've checked out or
> downloaded the dependent packages in the exact manner that the build
> file's author did.
It works very efficiently if you accept the premises it's based on, that
users have either:
- checked stuff out from CVS and built a distribution (ant dist).
- downloaded a binary distribution (the standard Jakarta software
distribution mechanism).
If, rather, you're assuming a Maven-managed jar repository, then it's
not optimal.
I claim that most Jakarta-commons users are not using Maven (yet) and
therefore those assumptions are valid. Agree? But it's not an either/or
situation. You're more than welcome to add properties to accomodate a
more advanced, repository-centric approach.
> > I'm not too fussed either way. As long as there's *something* instead of
> > the various hardcoded paths I've seen (/java/jars, /cvs/, d:/java/lib,
> > etc). If we can get some +1's either way, I volunteer to update the
> > projects.
>
> I am fussy. I'm so sick of building these projects where I have to
> set a million build variables instead of just one or two to produce a
> JAR (which I generally just need as a dependency for some other
> project).
Absolutely. Every time I get a chance to work on a Commons project, I
first spend half an hour fiddling with dependencies to get it building.
--Jeff
> - Dan
>
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>