ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Steve Loughran <ste...@apache.org>
Subject Re: terminating running builds better
Date Tue, 06 Nov 2007 12:29:33 GMT
Darin Swanson wrote:
> Eclipse is pretty similar to #1.
> We have a progress monitor / build listener within which we check to see 
> if the user has requested to cancel the build.
> If the monitor is cancelled we throw a OperationCancelledException which 
> halts the execution of the build from the Eclipse entry point and reports 
> the cancelled message to the user.
> 
> Darins
> http://www.runnerwhocodes.blogspot.com/

well, I'll do the same thing.  Now I know it works.

Ant-wise, we could create an interruptable logger that lets you do this 
formally; the main reason for doing so would be to add tests for it. 
This is clearly an important use case.


> 
> 
> 
> 
> Jesse Glick <jesse.glick@sun.com> 
> Sent by: news <news@ger.gmane.org>
> 11/03/2007 01:19 PM
> Please respond to
> "Ant Developers List" <dev@ant.apache.org>
> 
> 
> To
> dev@ant.apache.org
> cc
> 
> Subject
> Re: terminating running builds better
> 
> 
> 
> 
> 
> 
> Steve Loughran wrote:
>> What do IDEs do to stop ant builds? just kill the thread/process?
> 
> NB behaves as follows:
> 
> 1. It sets a special flag. The next time any BuildListener/BuildLogger 
> method is called on the IDE's listener, it will throw a BuildException, 
> which usually stops the build.
> 
> 2. If several seconds have elapsed with no listener method, or if the 
> build did not stop for any other reason, Thread.stop is called.
> 
> For example, if <java fork="true"> is the active task, any output 
> printed will cause #1 to be triggered. Otherwise, ThreadDeath is caught 
> by the task, which stops the external process and then rethrows.
> 
> Not perfect but seems to work reasonably well in practice. #2 could 
> probably be improved to first try Thread.interrupt and only use 
> Thread.stop as a last resort.
> 



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


Mime
View raw message