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.
Adam
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email