The FindBugs Plugin
The FindBugs plugin performs quality checks on your project’s Java source files using FindBugs and generates reports from these checks.
|
⚠
|
Since FindBugs is unmaintained and does not support bytecode compiled for Java 9 and above, the FindBugs plugin has been deprecated and is scheduled to be removed in Gradle 6.0. Please consider using the SpotBugs plugin instead. |
Usage
To use the FindBugs plugin, include the following in your build script:
plugins {
id 'findbugs'
}
plugins {
findbugs
}
The plugin adds a number of tasks to the project that perform the quality checks. You can execute the checks by running gradle check.
Note that Findbugs will run with the same Java version used to run Gradle.
Tasks
The FindBugs plugin adds the following tasks to the project:
findbugsMain— FindBugs-
Depends on:
classesRuns FindBugs against the production Java source files.
findbugsTest— FindBugs-
Depends on:
testClassesRuns FindBugs against the test Java source files.
findbugsSourceSet— FindBugs-
Depends on:
sourceSetClassesRuns FindBugs against the given source set’s Java source files.
The FindBugs plugin adds the following dependencies to tasks defined by the Java plugin.
| Task name | Depends on |
|---|---|
|
All FindBugs tasks, including |
Dependency management
The FindBugs plugin adds the following dependency configurations:
| Name | Meaning |
|---|---|
|
The FindBugs libraries to use |
Configuration
See the FindBugsExtension class in the API documentation.
Customizing the HTML report
The HTML report generated by the FindBugs task can be customized using a XSLT stylesheet, for example to highlight specific errors or change its appearance:
tasks.withType(FindBugs) {
reports {
xml.enabled false
html.enabled true
html.stylesheet resources.text.fromFile('config/xsl/findbugs-custom.xsl')
}
}
tasks.withType<FindBugs>().configureEach {
reports {
xml.isEnabled = false
html.isEnabled = true
html.stylesheet = resources.text.fromFile("config/xsl/findbugs-custom.xsl")
}
}