Hi, I'm thinking about the best way to implement stopping a Gradle build.
One way to do it would be to add a type BuildController. A instance of this can be optionally passed to the Gradle.run method. The TaskExecuter and the Task will be associated with an instance of BuildController. If the state of the build controller is changed to stop, the TaskExecuter, Task, etc can react upon this and will throw eventually a BuildInterruptedException. This is a pretty intrusive approach. It has the additional draw back, that every task needs to be smart about this to make it work well. For example a task that delegates to an Ant task must wait with stopping the build until the Ant task has finished.
Another way of doing this is to still add a type BuildController. You can send a StopEvent to the BuildController. We have a separate Thread that receives this StopEvent. If it is received, the Thread running the Gradle build will be stopped.
Thoughts? - Hans -- Hans Dockter Gradle Project Manager http://www.gradle.org --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email
