Hello Michael,

In your example what do all the "jar" means?  I assume
that in the <taskdef> task, the my.properties files
declares new task (using the my: namespace), while the
my.jar contains the implementation.

As for the <PreSetDef> task, are you re-directing the
core <jar> to use your <my:jar> task and by doing this
way (via the PreSetDef) you are not having to
pollute(or modify) the build.xml to use my:jar?

Is this right?

Ninju Bohra
--- Michael Sunde <[EMAIL PROTECTED]> wrote:

> Hi,
> 
> In our case we wanted to make an enhancement to one
> of the existing ant
> tasks. Here is what we did:
> - subclassed the existing implementation
> - Loaded new implementation using taskdef
> - use presetdef to redirect the standard
> implementation to our
> implementation.
> 
> No need to modify all the existing calls and I can
> remove my changes by
> deleting a few lines in the build.xml file:
> 
> <taskdef resource="my.properties" classpath="my.jar"
> uri="http://my.com/"; loaderRef="my"/>
> 
> <presetdef name="jar">
>       <my:jar/>
> </presetdef>
> 
> Michael
> 
> -----Original Message-----
> From: Ninju Bohra [mailto:[EMAIL PROTECTED] 
> Sent: Friday, January 28, 2005 2:39 PM
> To: user@ant.apache.org
> Subject: 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! 
> 
>
---------------------------------------------------------------------
> To unsubscribe, e-mail:
> [EMAIL PROTECTED]
> For additional commands, e-mail:
> [EMAIL PROTECTED]
> 
> 



                
__________________________________ 
Do you Yahoo!? 
Yahoo! Mail - Helps protect you from nasty viruses. 
http://promotions.yahoo.com/new_mail

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

Reply via email to