Definer only addresses a segment of the problem (a very worthy segment I admit)
but there are still many tasks that use a <classpath> not to load themselves
but to load other classes. All the EJB stuff is like that. Compilers, etc.

So there is still a need for some general facility.

Jose Alberto

> -----Original Message-----
> From: Costin Manolache [mailto:[EMAIL PROTECTED]
> Sent: 17 December 2002 05:20
> To: [EMAIL PROTECTED]
> Subject: Re: How to provide reusable ClassPaths in ANT
> 
> 
> If you check Definer.java, there is already a way to reuse a 
> classloader.
> 
> 
> Costin
> 
> 
> Jose Alberto Fernandez wrote:
> 
> > One of the things that most anoyed me of the current 
> architecture of ANT
> > if the way ClassPaths are managed during the build. Almost 
> every task
> > that can be passed a <path> for finding classes, creates its own
> > AntClassLoader. As a consecuence ref-ids become 
> incompatible very easily
> > unless the classes are all on the system classpath.
> > 
> > By creating AntClassLoaders on those indifvidual tasks we 
> are forcing ANT
> > to reload class definitions a lot, which has to slow things 
> down, IMHO.
> > 
> > I do not have a full solution (backward compatible and 
> all), but would
> > like to propose doing some brainstorming to find a better 
> way to do this
> > (at least on most cases).
> > 
> > Here are some ideas I have been thinking about, for you 
> guys to shread to
> > pieces:
> > 
> > We continue declaring <path>s the way we do, but allow to 
> specify caching
> > of classloaders:
> > 
> > <path cacheclasses=true>
> > ...
> > </path>
> > 
> > The Path class will have a new methods:
> > 
> > ClassLoader getCachedLoader();
> > void setCachedLoader(ClassLoader cl);
> > 
> > these methods would be used by AntClassLoader to decide whether to
> > actually create a new ClassLoader of simply delegate to the 
> cached one. So
> > users will continue to use things as they do today, and 
> just the internals
> > of this implementations will know about this things.
> > 
> > Of course, we still need some rules to decide when it is 
> safe to use the
> > same classloader and when not. Given the configuration of 
> the Path object.
> > 
> > Any comments, ideas, do you guys thing there is any hope on 
> something like
> > this to work?
> > 
> > Jose Alberto
> 
> 
> 
> 
> --
> To unsubscribe, e-mail:   
<mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>


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

Reply via email to