From: Christopher H. <he...@st...> - 2004-12-18 07:43:01
|
Hi, We're using Ant and CruiseControl and ant-contrib (and some custom Ant tasks of our own) to manage the regression and verification tests for our assembly language embedded firmware. The nature of the tests and the time it takes to execute them makes Ant's usual view of "as soon as one task fails, stop all work" very inefficient for this particular usage. So, inspired by the <cc> task's relentless parameter, we've implementeded two things. The first is a change to ant-contrib's <for> task, to add a relentless attribute. If this attribute is set to true, the <for> task will continue iterating through the entire list/filset/path, even if one of the tasks in one of the iterations fails. At the end, if any task has failed, the <for> will fail, otherwise it will succeed. We do NOT relentlessy execute within a given iteration, just from one iteration to the next. (I >think< that should be clear, let me know if it's not) The second change is a <relentless> task. This was necessary because not every group of tasks that you want to execute relentlessly lends itself to <for>. <relentless> is pretty simple: <relentless description="Run the protocol tests" > ... some list of tasks ... </relentless> <relentless> executes ALL of the tasks in the list - if any of them fails, then it will fail at the end. If all the tasks succeed, then <relentless> will succeed. We've found these so useful that we think others might as well. Is there any interest in considering one or both of these for inclusion in ant-contrib? If so, how do we go about submitting them for perusal? Email? Submit a bug and attach the files? Or are diffs preferred? We're working with the 1.0b1 sources. Thanks very much, Chris |