ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Peter Donald <>
Subject Re: We need to stop the lies
Date Mon, 25 Feb 2002 09:06:21 GMT
On Mon, 25 Feb 2002 19:47, Jose Alberto Fernandez wrote:
> From: "Peter Donald" <>
> > On Mon, 25 Feb 2002 16:30, Conor MacNeill wrote:
> > > > From: Peter Donald []
> > >
> > > All of this is handled by the VM. Can you point out where the spec
> > > deals with application resolution of optional packages?
> >
> > Hmm - I am fairly sure I answered this question last time ...
> >
> > It is ****NOT**** done by the JVM but needs to be implemented by
> > container vendors. Avalon/Phoenix implements it, as does TC4 as does most
> > newer servlet (and ejb?) containers because it is part of their spec.
> >
> > Look at they way that all the commons products now use it - even ant is
> > following the spec now due to a recent contribution. Heres a basic
> > reference
> >
> >
> >
> > Example dependency declaration
> >
> > Extension-List: javahelp
> > javahelp-Extension-Name:
> > javahelp-Specification-Version: 1.0
> > javahelp-Implementation-Version: 1.0.3
> > javahelp-Implementation-Vendor-Id: com.sun
> >
> > No location dependent information there.
> So, how does it work with Class-Path. You are proposing using Class-Path
> don't you?

nope. "Class-Path:" manifest entries are another way of doing it but IMHO way 
too brittle because it requires very specific directory layout, colocation of 
jars and naming of jars. It is alos done by runtime and doesn't give any 
hooks to the container.

> The stuff above is about the extension mechanism
> which several people have mention here are evil and we should never ever
> use etc, etc, etc.

That would be the java.ext.dirs and I would be one of those people that say 
it is EVIL ;)

> Are we changing out minds.
> Can you post a proposal on how this libraries will work in the context of
> ANT?

Hmmm ... will do. Basically it consists of one jar declaring dependency like 
above. The container then decides how to satisfy the dependency. Myrmidon 
just chucks all the required jars into one ClassLoader but there are other 
alternative implementation strategies.

Anyways I am flat out at work atm and wont have time to do it justice. Next 
monday is our deadline I believe (yaya!) so after that I will rework the docs 
I have for myrmidon and commit them. I believe they already cover many of 
these details.



"The perfect way is only difficult for those who pick and choose.  Do not
like, do not dislike; all will then be clear.  Make a hairbreadth
difference and heaven and earth are set apart; if you want the truth to
stand clear before you, never be for or against." - Bruce Lee

To unsubscribe, e-mail:   <>
For additional commands, e-mail: <>

View raw message