ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Peter Donald <>
Subject Re: cvs commit: jakarta-ant/proposal/myrmidon/src/java/org/apache/myrmidon/components/builder ant1convert.xsl
Date Thu, 21 Mar 2002 01:39:05 GMT
On Thu, 21 Mar 2002 11:53, Adam Murdoch wrote:
> The classloader stuff definitely needs more work.  We have 3 issues to deal
> with:
> * How do we declare the dependencies of a jar file (given that an antlib is
> a jar file)?

The "standard" Java way ? (Optional Packages) :)

> * How do we map from a dependency declared by a jar file, to the set of jar
> files that make up that dependency?

The "standard" Java way ? (Optional Packages) :)

> * How do we ensure that each jar file, when used as a dependency, appears
> at most once in the classloader hierarchy?

The "standard" Java way ? (Optional Packages) :)

> We certainly want the mapping from extension name (and version) -> jar
> files to be pluggable, and we want to allow more than one mapping at
> runtime. 

Sounds interesting - hadn't thought of it in that way ;)

> * The mapping currently provided by DefaultExtensionManager, which uses the
> jars in the ext/ directory.
> * A couple of special case mappings to tools.jar, and to a JAXP 1.1 impl.
> * Implicit mapping from antlib name -> antlib.


> * Probably some light-weight mechanism for bundling up a set of jars as an
> extension, without needing to mess with their manifests.  Maybe add them to
> a subdirectory of ext/ and use the subdir name as the extension name.

This starts to make things feel a bit icky for me because it means the person 
who installs the products has to know how the implementors wanted it laid 
out. Compare this to current mechanism where you cna just drop in a jar 
anywhere on extensions on path and it just works.

> As far as the classloader hierarchy goes, I'd like to try using
> multi-parent classloaders, to see what grief that causes.

I have some code for that over in phoenix land - not checked in but ... I 
coul dpossibly refactor it or at lkeast give it as an example of how to do 
things. I may check it in today if not then just go ahead and do it whichever 
way you please ;) (I say this because I may find out phoenixs one is a mess ;)

> I've been meaning to make ClassLoaderManager responsible for all this, just
> haven't gotten around to it.  I'd also like to start exposing some of this
> to the build file.  For example, adding a specialised path that evaluates
> to the classpath for an extension:
> <javac>
>    <classpath>
>        <library-path libname="" />
>        <library-path libname="jaxp" version="1.1+" />
>        <library-path libname="antlib.core" />
>    </classpath>




The avalanche has already started. It is too late for 
the pebbles to vote.  -Ambassador Kosh

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

View raw message