ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gilles Scokart" <gscok...@gmail.com>
Subject RE: Problem extending ivy tasks due to classloader usage.
Date Mon, 29 Jan 2007 08:09:55 GMT
You should use the loaderref attributes in your taskdef class.

By default every takskdef use a different classloader.

Gilles

> -----Original Message-----
> From: Eran Bartenstein [mailto:ebarten1401@hotmail.com] 
> Sent: Sunday, January 28, 2007 10:10 AM
> To: ivy-user@incubator.apache.org
> Subject: Problem extending ivy tasks due to classloader usage.
> 
> Hi,
> 
> I have written my own task. My task extends the cachepath task.
> However, it seems that I can not find a way to use it.
> The problem is that Ivy tasks are loaded into ant classloader 
> prior to my taskdef decleration.
> The reason it is done that way, is since I want to keep the 
> ivy bundle intact rather than repack it.
> Also I do not want to pack all ivy jars with my project.
> 
> Thus, when trying to use my task (which requires ivy in the 
> classapth) - if I specify ivy jar in the taskdef classpath I 
> get a classcast exeption (due to different classloaders). 
> When ommiting it - ivy jar is obviously missing in my classpath.
> 
> Is there a way to hang one classloader under the ivy one ?
> Is there another way to extend ivy tasks from my code ?
> 
> BTW - the task enables cachepath filtering for dependencies, 
> dependending on a set of specified extra attrbiutes.
> 
> Thanks,
>            Eran B.
> 
> _________________________________________________________________
> Express yourself instantly with MSN Messenger! Download today 
> it's FREE! 
> http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/
> 


Mime
View raw message