On Aug 23, 2009, at 4:04 AM, Adam Murdoch wrote:



Adam Murdoch wrote:
It would be nice if Gradle understood the concept of a verification task, such as 'test', 'checkstyle', 'integTest', etc. Then, it could schedule them in order from fastest to slowest (based on the history of execution time). Maybe it should do this for all tasks, subject to the dependsOn constraints, of course.


Thinking about this a bit more, the concept of verification tasks has some interesting possibilities:

- We could add some way to ask Gradle to run all the verifications, regardless of success or failure, and gather up all the failures at the end. For example, gradle --continue test check would run the unit tests and checkstyle checks, and whatever other verifications we have, and you'd get all the failures at the end. Of course, the build would still break if some task fails.

- We could add some way to ask Gradle to exclude all verifications.

- We could add some way to ask Gradle to run only those verifications which failed last time the build was run.

- We can add a 'project health' report which summarises the results of all the verifications. This could serve as the 'test summary' report we've been talking about in another thread. Something like, the report shows a dashboard summarising the result of each verification, and some way to click through to the report for each verification.

- We can aggregate all the verifications (somehow :) into a single project quality metric, which could itself be input into a verification. Perhaps something simple like each verification generates a 'green', 'orange' or 'red' result, and the project quality metric is simply the average of these, or the worst, or whatever. I would love something like this, as it gives something management types can look at and track, or something which could get shown on a project status BVC.

- People can add custom verification tasks, and all the above stuff works for the custom verifications.

- It makes project quality and verification a first-class citizen of the Gradle world, and you get most of it for free when you use Gradle.

I like all of the ideas very much. The whole concept of verification as a super concept on top of test is very powerful. Some of the other ideas would bring back some of the current CI only stuff to the developer machine. Which is one of the aims of Gradle in general.

- Hans

--
Hans Dockter
Gradle Project Manager
http://www.gradle.org


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

   http://xircles.codehaus.org/manage_email


Reply via email to