Sounds great, Adam. I'm already looking forward to this! Etienne
On 27.10.2010, at 04:56, Adam Murdoch wrote: > > On 26/10/2010, at 5:35 PM, Etienne Studer wrote: > >> Hi >> >> I've noticed that if I run the build task of the java plugin, the assemble >> task runs before the test task (alphabetically ordered), meaning that my >> archives are built even if I have failing tests. I think this is not ideal. >> Why create artifacts if my tests are red? Especially if my archiving tasks >> take a long time to run due to the size of the project. >> >> I could do a 'gradle test build' to get that under control. But I don't >> think this can be the final solution that every developer on the project has >> to remember. >> >> Any thoughts and ideas are appreciated. > > As you point out, Gradle could do better at providing feedback earlier. > > A solution to this problem that we've talked about is to have Gradle > prioritise verification tasks (such as test, checkstyle, etc) so that it runs > them as early as possible in the build (subject to dependency constraints, of > course). This way, Gradle would run the tests before building the jar. Or it > would build the jar so that it can run the tests for a dependent project > before it bothers with the javadoc, say. > > Prioritisation is something we want to use for other use cases too. For > example, validation tasks, such as those that check that certain project or > task properties have been set, would have the highest priority. Then we might > do verification tasks, then bundling tasks, then finally publishing tasks > last. > > Gradle might also take the execution time of a task into account when > prioritising tasks, so that it would favour quick tasks over long running > tasks. Or it might take the failure rate of a task into account, so that it > would favour tasks that fail a lot over those that do not. > > > -- > Adam Murdoch > Gradle Developer > http://www.gradle.org > CTO, Gradle Inc. - Gradle Training, Support, Consulting > http://www.gradle.biz > Etienne Studer Senior Software Developer Canoo Engineering AG Kirschgartenstrasse 5 CH-4051 Basel T +41 61 228 94 44 F +41 61 228 94 49 [email protected] www.canoo.com
