You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ant.apache.org by Ninju Bohra <ni...@yahoo.com> on 2005/01/28 20:38:52 UTC

Getting my own core task implementation ahead of ant.jar

Hello all,
 
I am using ANT 1.6.2 on WinXP and Lunix enviroments...
 
I have some issues with the <sql> task (defined by the class org.apache.tools.ant.taskdefs.SQLExec) in ant.jar (i.e. does not handle PL/SQL, no interactive error handling, etc...) and have made suggestions to the ant-dev group as to how to resolve them.
 
But while waiting for the ant-dev to resolve and agree on a solution, I wanted to modify my local ant environment to have contain my desired behavior.  Our first solution was to get the ANT source and modify the default defintion of the <sql> task.  After rebuilding the ant.jar everything worked but I felt uncomfortable that I had rebuilt and changed the ANT distribution source and so I unable to move up the next release (without having to re-do my code changes).
 
Then I came up with the idea that maybe if I could put my modified <sql> task in a seperate jar and have that jar file (i.e. myTasks.jar), which has my <sql> task (same package and class name) implementation, be loaded before the core <sql> task then my <sql> would be used in place of the core ANT one.  And if and when the ant-dev group gets around to implementing some of my suggestions in the core <sql> task, all I need to do is remove my class from my jar file and I will auto-magically pick up the core <sql> task class.
 
Which comes to my core question, is this possible... and if so how/where do I list my jar infront of ant.jars on both the WinXP enviroment (ant.bat, ant.cmd, antRun.bat) and the Lunix/UNIX enviroments (ant and antrun)?
 
I am also open to other ways to solve the problem of getting a custom implementation while still using the standard task name in my build.xml files?  I did not want to create my own task name (i.e. <MYsql>) and use the <taskdef> to point to my custom implementation (with different package or class name) because then I would make a lot of changes if/when I moved back to the updated core task (i.e. <sql>).
 
I know that is way to wordy, but thanks for your input in advance,
 
Ninju Bohra

		
---------------------------------
Do you Yahoo!?
 Meet the all-new My Yahoo! � Try it today! 

Re: Getting my own core task implementation ahead of ant.jar

Posted by Matt Benson <gu...@yahoo.com>.
You should be able simply to <taskdef> your own task
to the "sql" name, replacing the builtin with your
own.

-Matt

--- Ninju Bohra <ni...@yahoo.com> wrote:

> Hello all,
>  
> I am using ANT 1.6.2 on WinXP and Lunix
> enviroments...
>  
> I have some issues with the <sql> task (defined by
> the class org.apache.tools.ant.taskdefs.SQLExec) in
> ant.jar (i.e. does not handle PL/SQL, no interactive
> error handling, etc...) and have made suggestions to
> the ant-dev group as to how to resolve them.
>  
> But while waiting for the ant-dev to resolve and
> agree on a solution, I wanted to modify my local ant
> environment to have contain my desired behavior. 
> Our first solution was to get the ANT source and
> modify the default defintion of the <sql> task. 
> After rebuilding the ant.jar everything worked but I
> felt uncomfortable that I had rebuilt and changed
> the ANT distribution source and so I unable to move
> up the next release (without having to re-do my code
> changes).
>  
> Then I came up with the idea that maybe if I could
> put my modified <sql> task in a seperate jar and
> have that jar file (i.e. myTasks.jar), which has my
> <sql> task (same package and class name)
> implementation, be loaded before the core <sql> task
> then my <sql> would be used in place of the core ANT
> one.  And if and when the ant-dev group gets around
> to implementing some of my suggestions in the core
> <sql> task, all I need to do is remove my class from
> my jar file and I will auto-magically pick up the
> core <sql> task class.
>  
> Which comes to my core question, is this possible...
> and if so how/where do I list my jar infront of
> ant.jars on both the WinXP enviroment (ant.bat,
> ant.cmd, antRun.bat) and the Lunix/UNIX enviroments
> (ant and antrun)?
>  
> I am also open to other ways to solve the problem of
> getting a custom implementation while still using
> the standard task name in my build.xml files?  I did
> not want to create my own task name (i.e. <MYsql>)
> and use the <taskdef> to point to my custom
> implementation (with different package or class
> name) because then I would make a lot of changes
> if/when I moved back to the updated core task (i.e.
> <sql>).
>  
> I know that is way to wordy, but thanks for your
> input in advance,
>  
> Ninju Bohra
> 
> 		
> ---------------------------------
> Do you Yahoo!?
>  Meet the all-new My Yahoo! &#8211; Try it today! 



		
__________________________________ 
Do you Yahoo!? 
Yahoo! Mail - now with 250MB free storage. Learn more.
http://info.mail.yahoo.com/mail_250

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
For additional commands, e-mail: user-help@ant.apache.org