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:[EMAIL PROTECTED] > Sent: Sunday, January 28, 2007 10:10 AM > To: [email protected] > 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/ >
