Re: Regarding exec task

2012-02-22 Thread Stefan Bodewig
On 2012-02-21, Vimil Saju wrote:

 When you get a chance could you look at the patch for the below issue?

That's Bugzilla issue 52706, right?  Unfortunately I didn't have the
time to review it, yet.

 I really would like to see this make into ant 1.8.3 release.

If it hadn't been for the regression 1.8.3 would be out there already.
I really only want to address the single issue, cut the release and then
go on after that.

I understand this may be unsatisfying and can only promise to look into
it soon after preparing the release so it'll end up in whatever comes
after 1.8.3.

Sorry

Stefan

-
To unsubscribe, e-mail: dev-unsubscr...@ant.apache.org
For additional commands, e-mail: dev-h...@ant.apache.org



Re: Regarding exec task

2012-02-22 Thread Vimil Saju
No problem, In the mean time I will use a locally modified version of ant for 
the build.

Thanks
Vimil



 From: Stefan Bodewig bode...@apache.org
To: dev@ant.apache.org 
Sent: Wednesday, February 22, 2012 8:35 AM
Subject: Re: Regarding exec task
 
On 2012-02-21, Vimil Saju wrote:

 When you get a chance could you look at the patch for the below issue?

That's Bugzilla issue 52706, right?  Unfortunately I didn't have the
time to review it, yet.

 I really would like to see this make into ant 1.8.3 release.

If it hadn't been for the regression 1.8.3 would be out there already.
I really only want to address the single issue, cut the release and then
go on after that.

I understand this may be unsatisfying and can only promise to look into
it soon after preparing the release so it'll end up in whatever comes
after 1.8.3.

Sorry

        Stefan

-
To unsubscribe, e-mail: dev-unsubscr...@ant.apache.org
For additional commands, e-mail: dev-h...@ant.apache.org

Re: Regarding exec task

2012-02-14 Thread Stefan Bodewig
On 2012-02-12, Vimil Saju wrote:

 So I thought of somehow extending the 'Execute' class of ant to use
 the functionality of this 3rd party library, but I find that its
 difficult if not impossible to extend this class.

It has certainly not been designed for this, no.

 Is it possible to make the Execute class in ant extensible so that it
 becomes possible to plugin our own implementation of Process class.

If you had a way to provide your own CommandLauncher then you could wrap
Execute's default choice with your own implementation and return a
Process class of your liking.  This is not possible today, but I'm
testing whether this would be enough for you.

Stefan

-
To unsubscribe, e-mail: dev-unsubscr...@ant.apache.org
For additional commands, e-mail: dev-h...@ant.apache.org



Re: Regarding exec task

2012-02-14 Thread Vimil Saju
Thanks Stefan, 

Your help is very much appreciated. Would using a custom CommandLauncher make 
it possible for all the built-in ant tasks that support fork attribute to use 
it. 
I was thinking of an approach similar to how ant allows property expansion to 
be customized. By just adding our own custom PropertyHelper we can change how 
properties are expanded globally.
If we have something like that for processes too, it would be great.  

I'd like to write a patch for this if possible, but I'd like to know the best 
way to implement it, without breaking anything else. My idea was to provide 
something like ProcessHelper class that can be stored as a reference in the 
project. The Execute class then calls this class to get an appropriate Process 
implementation. This ProcessHelper class should then have the ability to 
provide a default Process implementation as well as a mechanism to delegate 
process creation to a user-defined class. 

Thanks again. 
Vimil



 From: Stefan Bodewig bode...@apache.org
To: dev@ant.apache.org 
Sent: Tuesday, February 14, 2012 4:46 AM
Subject: Re: Regarding exec task
 
On 2012-02-12, Vimil Saju wrote:

 So I thought of somehow extending the 'Execute' class of ant to use
 the functionality of this 3rd party library, but I find that its
 difficult if not impossible to extend this class.

It has certainly not been designed for this, no.

 Is it possible to make the Execute class in ant extensible so that it
 becomes possible to plugin our own implementation of Process class.

If you had a way to provide your own CommandLauncher then you could wrap
Execute's default choice with your own implementation and return a
Process class of your liking.  This is not possible today, but I'm
testing whether this would be enough for you.

Stefan

-
To unsubscribe, e-mail: dev-unsubscr...@ant.apache.org
For additional commands, e-mail: dev-h...@ant.apache.org

Re: Regarding exec task

2012-02-14 Thread Stefan Bodewig
On 2012-02-14, Vimil Saju wrote:

 Your help is very much appreciated. Would using a custom
 CommandLauncher make it possible for all the built-in ant tasks that
 support fork attribute to use it. 

Right now Execute uses a static CommandLauncher instance which is
initialize inside the static initializer (class constructor).
CommandLauncher's responsibility is tro create the Process instances.

We don't have a way to make Execute use a different CommandLauncher, but
if there was (like using the ProcessHelper you describe) then it would
be used by all Execute instances - or we could make it so.

 I was thinking of an approach similar to how ant allows property
 expansion to be customized. By just adding our own custom
 PropertyHelper we can change how properties are expanded globally.  If
 we have something like that for processes too, it would be great.

 I'd like to write a patch for this if possible, but I'd like to know
 the best way to implement it, without breaking anything else.

That's great.

 My idea was to provide something like ProcessHelper class that can be
 stored as a reference in the project. The Execute class then calls
 this class to get an appropriate Process implementation.

I'm not sure about the name ProcessHelper when CommandLauncher is
already there, but I'm not good at names either.

One thing you must keep in mind is Execute may not have access to a
Project instance at all - it may know about one if setAntRun has been
used, but using that is somewhat optional.  Also some methods in Execute
are static and don't provide a Project.  There need to be usable
defaults for this case.

Stefan

-
To unsubscribe, e-mail: dev-unsubscr...@ant.apache.org
For additional commands, e-mail: dev-h...@ant.apache.org



Regarding exec task

2012-02-12 Thread Vimil Saju




Hi,

I noticed that on windows, if I use the exec task to run a batch script which 
in turn starts other processes then if kill ant then the sub-processes created 
by the batch script still continues to run. I did some research on google and 
found that the default java implementation of Process.destroy does not kill the 
child processes created by a process on windows. I also found that there are 
some third party libraries like jvnet that provide the capability of killing 
all processes created by a process on windows. 

So I thought of somehow extending the 'Execute' class of ant to use the 
functionality of this 3rd party library, but I find that its difficult if not 
impossible to extend this class. I can't find a way to provide my 
implementation of Process class that does something different when its destroy 
method is called. Other core tasks such as java task directly create an 
instance of the 'Execute' class which makes it difficult to globally change how 
a forked process is destroyed within ant.

Is it possible to make the Execute class in ant extensible so that it becomes 
possible to plugin our own implementation of Process class.


Thanks

Vimil

Re: Regarding exec task

2012-02-12 Thread wolfgang häfelinger
 Is it possible to make the Execute class in ant extensible so that it becomes 
 possible to plugin our own implementation of Process class.

Implement your own ueber-exec taks which uses default exec class when
not-on windows and otherwise makes use of your own jvnet-process exec
task.

On Sun, Feb 12, 2012 at 3:29 PM, Vimil Saju vimils...@yahoo.com wrote:




 Hi,

 I noticed that on windows, if I use the exec task to run a batch script which 
 in turn starts other processes then if kill ant then the sub-processes 
 created by the batch script still continues to run. I did some research on 
 google and found that the default java implementation of Process.destroy does 
 not kill the child processes created by a process on windows. I also found 
 that there are some third party libraries like jvnet that provide the 
 capability of killing all processes created by a process on windows.

 So I thought of somehow extending the 'Execute' class of ant to use the 
 functionality of this 3rd party library, but I find that its difficult if not 
 impossible to extend this class. I can't find a way to provide my 
 implementation of Process class that does something different when its 
 destroy method is called. Other core tasks such as java task directly create 
 an instance of the 'Execute' class which makes it difficult to globally 
 change how a forked process is destroyed within ant.

 Is it possible to make the Execute class in ant extensible so that it becomes 
 possible to plugin our own implementation of Process class.


 Thanks

 Vimil



-- 
Wolfgang Häfelinger

-
To unsubscribe, e-mail: dev-unsubscr...@ant.apache.org
For additional commands, e-mail: dev-h...@ant.apache.org