Hello everyone. I am trying to generate a zipped spotbugs report. I managed to get something similar working for Unit-Test reports and JaCoCo reports.
This works for test reports:
task generateTestReport(dependsOn: test, type: Zip) {
from file("${buildDir}/reports/tests/test")
archiveName "${project.name}-TestReport.zip"
destinationDir rootProject.projectDir
test.finalizedBy generateTestReport
}
However this doesn’t work for Spotbugs reports. By that I mean, when any of the Spotbugs tasks fails (aka when issues are found and the report is useful) the spotbugs
task and the generateSpotbugsReport
task aren’t run.
task spotbugs(dependsOn: tasks.withType(SpotBugsTask)) {
group "verification"
description "Run SpotBugs analysis for all classes"
check.dependsOn tasks.spotbugs
}
task generateSpotbugsReport(dependsOn: tasks.spotbugs, type: Zip) {
from file("${buildDir}/reports/spotbugs")
archiveName "${project.name}-SpotbugsReport.zip"
destinationDir rootProject.projectDir
tasks.spotbugs.finalizedBy generateSpotbugsReport
}
tasks.withType(SpotBugsTask) {
group "verification"
reports {
xml.enabled false
html.enabled true
}
finalizedBy tasks.spotbugs
}
It appears like that the finalizedBy
statement inside the tasks.withType(SpotBugsTask)
-block gets ignored entirely!