ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject Re: Problem extending ivy tasks due to classloader usage.
Date Sun, 28 Jan 2007 22:30:12 GMT
Hi Eran,
if you are working with Ant 1.6.1 (or higher) have you considered using 
the Ant plug-in mechanism?

e.g. <project xmlns:ivy="antlib:fr.jayasoft.ivy.ant" 
xmlns:yourLib="antlib:..." >


"Eran Bartenstein" <> 
29/01/2007 09:20 AM
Please respond to


Problem extending ivy tasks due to classloader usage.


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) - 
I specify ivy jar in the taskdef classpath I get a classcast exeption (due 

to different classloaders). When ommiting it - ivy jar is obviously 
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 
a set of specified extra attrbiutes.

           Eran B.

Express yourself instantly with MSN Messenger! Download today it's FREE!

View raw message