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