On 21 Nov 2013, at 5:54 am, andrew.obers...@securian.com wrote: > The only issue I can see with finalizing is that you don't always need the > report, e.g. if I'm pushing the data into Sonar. However, this would be > the same behavior as the test reports, so there could be value in > consistency.
I would solve this by introducing test suites as a first class concept, then we can provide a bunch of different kinds of test outputs in various combinations for a given suite of tests. This would allow different tasks to run based on what you’re asking for. For now, however, we’re stuck with a single task as the test suite definition, and we have to choose something that’s going to fit most people’s use cases but probably not everyone’s use cases. > > > Andrew Oberstar > > Marcin Erdmann <marcin.erdm...@proxerd.pl> wrote on 11/20/2013 10:30:00 > AM: > >> From: Marcin Erdmann <marcin.erdm...@proxerd.pl> >> To: dev@gradle.codehaus.org, >> Date: 11/20/2013 10:30 AM >> Subject: Re: [gradle-dev] jacoco questions >> >> What about Luke's suggestion (last comment at http:// >> forums.gradle.org/gradle/topics/ >> > jacocoreport_tasks_dont_have_dependencies_on_tasks_that_produce_coverage_data >> ) to finalize test task with jacoco task? Then you would always get >> a coverage report whenever test is being run and jacoco plugin is > applied. >> > >> On Wed, Nov 20, 2013 at 3:26 PM, Szczepan Faber > <szczepan.fa...@gradleware.com >>> wrote: >> Thanks Andrew, this helps a lot. >> >> Jacoco report task that is introduced by our plugin is coupled with >> a particular test task. There's no use case I can think of running >> the jacoco report without running this test task before. >> Effectively, the user needs to always include this particular test >> task explicitly at the command line, which is kind of awkward (and >> surprising for new users). I'd like to change this sometime this >> week and replace mustRunAfter with dependsOn. I'll do it unless >> someone replies with a good story that supports mustRunAfter ;) >> >> @Rene, can you comment on the use of relative paths? E.g. what's > theintention? >> >> @Andrew, I forgot to say my thanks for the contribution. The >> experience is so much better than with the coverage plugins I used >> in the past. >> >> Cheers! >> > >> On Wed, Nov 20, 2013 at 3:32 PM, <andrew.obers...@securian.com> wrote: >> Some related discussions for your 1st and 3rd points. >> >> http://forums.gradle.org/gradle/topics/ >> > jacocoreport_tasks_dont_have_dependencies_on_tasks_that_produce_coverage_data >> http://issues.gradle.org/browse/GRADLE-2764 >> >> You can see some stuff in the history of JacocoTaskExtension related >> to #2. There were some issues with some of the tests failing as >> noted in my original pull request. >> >> https://github.com/gradle/gradle/commits/master/subprojects/jacoco/ >> > src/main/groovy/org/gradle/testing/jacoco/plugins/JacocoTaskExtension.groovy > >> https://github.com/gradle/gradle/pull/138 >> >> The doFirst was to make the evaluation of the arguments lazy. Could >> be a better way, but that's all I thought of at the time. >> >> >> Andrew Oberstar >> >> Szczepan Faber <szczepan.fa...@gradleware.com> wrote on 11/20/2013 >> 08:19:48 AM: >> >>> From: Szczepan Faber <szczepan.fa...@gradleware.com> >>> To: dev@gradle.codehaus.org, >>> Date: 11/20/2013 08:19 AM >>> Subject: [gradle-dev] jacoco questions >>> >>> Hey, >>> >>> I have a couple of questions re jacoco: >>> >>> - jacoco tasks don't depend on test tasks. So running 'jacoco' has >>> no effect (task is skipped). Is this intentional? I think jacoco >>> report task should depend on test task that produces the input. >>> >>> - the agent arguments use relative paths. What is the reason of >>> using relative paths? Is it to conserve the length of the args? If >>> absolute paths are used, it's easier to hook up jacoco for e2e >>> integration tests (e.g. container needs to start with agent >>> settings) because the getAsJvmArgs() method can be used to build >>> agent arguments. >>> >>> - some html reports allow to navigate to the class level and >>> inspect the class visually, by looking at decorated source file. >>> However some classes are not decorated - e.g. I can only see the >>> tabular view of the coverage, but cannot drill down to the decorated >>> source file. I haven't figured out the pattern of when it works or >>> not. Anyone knows about this issue? >>> >>> - I've noticed that doFirst() is used to configure test tasks' >>> jvmargs. Currently, the up-to-date checks don't work reliably when >>> task inputs or outputs are changed during this task execution. >>> >>> Cheers! >>> -- >>> Szczepan Faber >>> Principal engineer@gradle; Founder@mockito >> > >> >> -- >> Szczepan Faber >> Principal engineer@gradle; Founder@mockito > > --------------------------------------------------------------------- > To unsubscribe from this list, please visit: > > http://xircles.codehaus.org/manage_email > > -- Adam Murdoch Gradle Co-founder http://www.gradle.org VP of Engineering, Gradleware Inc. - Gradle Training, Support, Consulting http://www.gradleware.com