----- Original Message -----
From: "Jason van Zyl" <[EMAIL PROTECTED]>
To: "Vincent Massol" <[EMAIL PROTECTED]>
Sent: Wednesday, August 08, 2001 7:24 PM
Subject: Re: Central Repository for JARs
[snip]
> Ah, do you use .ant.properties? I consider what's in build.properties to
be
> ant properties.
yes, me too :)
[snip]
> > why don't you do it as I have proposed ? It looks fine and simple to me.
>
> I actually don't understand what you're saying.
I am proposing :
* JJAR be an Ant taks. This is agreed, it seems. So you just have to drop it
in $ANT_HOME/lib (or even better if it is included in optional.jar but not
necessary for a first release),
* I define in my build.properties (for example) the location of the
repository directory (lib.repo property)
* I point my jars to this in build.properties. For example, in Cactus I need
the servlet 2.2 API jar, so I would write :
lib.repo = c:/tmp/repo
servlet22.jar = c:/tmp/repo/XXX/servlet.jar
Question: How do you standardize XXX ? In other words how do you define the
location of a given jar in the repository (server side). I believe, this is
actually what Sam was saying and GUMP has defined a way to define it.
* Somewhere in my build.xml, I call the jjar task to update my local jars. A
good place would be my init target for instance. That would be something
like:
<jjar repo="${lib.repo}" config="<config file>"/>
I think we need a jjar config file that defines the needed jars and their
versions. We might also need profiles, like
<config file>:
<dependencies>
<profile name="latest">
<jar name="servlet.api"> <!-- by default when no version is defined, use
latest -->
...
</profile>
<profile name="stable">
<jar name="velocity" version="1.1"/>
...
</profile>
</dependencies
Although profiles would be refinement that is not needed for the first
release.
But I do think we need a file to describe the dependencies.
* The jjar behaviour would be :
- if no internet connection, does nothing,
- if newest jars download them in lib.repo otherwise do nothing.
[snip]
> >> We could get gump to build velocity-latest.jar and put that into the
> >> repository as well though I think it will always be the case that a
> > project
> >> binds to a version.
> >
> > nope ... velocity-latest is the same as velocity-1.2, it contains
version
> > information in the name! :)
>
> How would you know that velocity-1.2 is the latest for sure?
I don't know that. That's my question ! I'm just saying that we need a
mechanism (like the one proposed above) to be able to manage latest
versions.
[snip]
> That's what I'm saying. As a user of ant you decide where you want to put
> the jars. I think we're on a different wavelength. Where ${lib.repo} is
> located is fully up to the user of ant. I'm definitely not advocating a
> standard location like /usr/local/jjar or C:/jjar or anything like that.
good. We're saying the same thing then :-)
[snip]
Note: It's funny because I have a sense of 'deja-vu' .... I remember
discussin all this on this same mailing list about 4 months ago ... :)
-Vincent