Closed boxleytw closed 4 years ago
Ping @binkley <-- My personal account, so I can track this issue
Thank you very much for such a detailed report!
This is a bug in build-dashboard
plugin. Spotbugs plugin always creates lazy tasks for each source set, but only required tasks are assigned to check
(according to configuration). But buildDashboard
task forces initialization of all tasks in the project:
project.getTasks().all(new Action<Task>() {
(there must be configureEach
instead of all
).
This forces initialization of not used spotbugs tasks spotbugsTest
and spotbugsIntegrationTest
which tries to configure default dependencies in the spotbugs
configuration (strange that each spotbugs task configures shared configuration, but anyway).. and it's too late for that.
To workaround it, you can force tasks initialization in the correct phase:
subprojects {
...
afterEvaluate {
tasks.findByName('spotbugsIntegrationTest')
tasks.findByName('spotbugsTest')
}
}
afterEvaluate
required because quality plugin applies spotbugs plugin after initial configuration (to see if plugin required).
I checked on your project and this works.
Could you please report this issue to grade (or, maybe, provide pull request directly)?
I spot slf4j warnings after spotbugs tasks execution, so I will release now 4.2.2 with removed spotbugs
configuration tuning to avoid these warnings (it was a bad idea).
@xvik Thank you for a detailed, clear explanation. I'll chase this down with the build dashboard plugin, and reference you in the issue so you can track.
First step, find the issue tracker! https://discuss.gradle.org/t/links-for-source-repositories-provided-in-the-gradle-documentation/35803
@binkley build-dashboard is a core gradle plugin and problems with it should be reported in the main gradle repo.
Sorry if I wasn't explicit enough. I put a link inside my response into gradle repo at exact line containing the problem: https://github.com/gradle/gradle/blob/master/subprojects/reporting/src/main/java/org/gradle/api/reporting/GenerateBuildDashboard.java#L100 (it is a buildDashboard task itself).
If you want I can create the issue myself. I was just assuming it could be interesting for you to create the issue yourself because you found this problem.
And, just to mention, I put problem description into main documentation, just in case
@xvik Tracking here: https://github.com/gradle/gradle/issues/12967
Closing issue as not related to quality plugin (I'm tracking gradle issue)
This is an awesome plugin -- thank you!
On a project with separate integration tests from unit tests, I use the testsets plugin to setup a separate source root for integration tests, separate from unit tests. (See https://github.com/unbroken-dome/gradle-testsets-plugin).
I'm adding in the quality plugin, and encounter this Gradle error:
Is this something I can resolve myself?
Disabling the build dashboard plugin worked, but I lose the single HTML page to see all build reports.
The project is https://github.com/binkley/gradle-multiple-test-roots. I have not pushed commits to use the quality plugin (waiting to have a green build first).
Build files, not pushed:
build.gradle
:settings.gradle
:gradle.properties
:Gradle stacktrace says: