Package: org.gradle.api.plugins.quality

## [Groovy] Class FindBugsExtension

- org.gradle.api.plugins.quality.FindBugsExtension

- Configuration options for the FindBugs plugin. All options have sensible defaults. See the FindBugs Manual for additional information on these options.

  Below is a full configuration example. Since all properties have sensible defaults, typically only selected properties will be configured.

           apply plugin: "java"
           apply plugin: "findbugs"

           findbugs {
               toolVersion = "2.0.1"
               sourceSets = [sourceSets.main]
               ignoreFailures = true
               reportsDir = file("$project.buildDir/findbugsReports")
               effort = "max"
               reportLevel = "high"
               visitors = ["FindSqlInjection", "SwitchFallthrough"]
               omitVisitors = ["FindNonShortCircuit"]
               includeFilter = file("$rootProject.projectDir/config/findbugs/includeFilter.xml")
               excludeFilter = file("$rootProject.projectDir/config/findbugs/excludeFilter.xml")
               excludeBugsFilter = file("$rootProject.projectDir/config/findbugs/excludeBugsFilter.xml")
           }

  See Also:
    FindBugsPlugin

- - ### Properties Summary

    Properties
    Type | Name and description
    --- | ---
    `String` | `effort` The analysis effort level.
    `TextResource` | `excludeBugsFilterConfig` A filter specifying baseline bugs to exclude from being reported.
    `TextResource` | `excludeFilterConfig` A filter specifying bugs to exclude from being reported.
    `Collection<String>` | `extraArgs` Any additional arguments (not covered here more explicitly like `effort`) to be passed along to FindBugs.
    `TextResource` | `includeFilterConfig` A filter specifying which bugs are reported.
    `Collection<String>` | `omitVisitors` Similar to `visitors` except that it specifies bug detectors which should not be run.
    `String` | `reportLevel` The priority threshold for reporting bugs.
    `Collection<String>` | `visitors` The bug detectors which should be run.

  - ### Constructor Summary

    Constructors
    Constructor and description
    `FindBugsExtension (Project project)`

  - ### Methods Summary

    Methods
    Type | Name and description
    --- | ---
    `File` | `getExcludeBugsFilter()` The filename of a filter specifying baseline bugs to exclude from being reported.
    `File` | `getExcludeFilter()` The filename of a filter specifying bugs to exclude from being reported.
    `File` | `getIncludeFilter()` The filename of a filter specifying which bugs are reported.
    `void` | `setExcludeBugsFilter(File filter)` The filename of a filter specifying baseline bugs to exclude from being reported.
    `void` | `setExcludeFilter(File filter)` The filename of a filter specifying bugs to exclude from being reported.
    `void` | `setIncludeFilter(File filter)` The filename of a filter specifying which bugs are reported.

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class Object` | `wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll`

- - ### Property Detail

    - #### String effort

      The analysis effort level. The value specified should be one of `min`, `default`, or `max`. Higher levels increase precision and find more bugs at the expense of running time and memory consumption.

    - #### @Incubating TextResource excludeBugsFilterConfig

      A filter specifying baseline bugs to exclude from being reported.

      Since:
        2.4

    - #### @Incubating TextResource excludeFilterConfig

      A filter specifying bugs to exclude from being reported. Replaces the `excludeFilter` property.

      Since:
        2.2

    - #### Collection<String> extraArgs

      Any additional arguments (not covered here more explicitly like `effort`) to be passed along to FindBugs.

      Extra arguments are passed to FindBugs after the arguments Gradle understands (like `effort` but before the list of classes to analyze. This should only be used for arguments that cannot be provided by Gradle directly. Gradle does not try to interpret or validate the arguments before passing them to FindBugs.

      See the FindBugs TextUICommandLine source for available options.

      Since:
        2.6

    - #### @Incubating TextResource includeFilterConfig

      A filter specifying which bugs are reported. Replaces the `includeFilter` property.

      Since:
        2.2

    - #### Collection<String> omitVisitors

      Similar to `visitors` except that it specifies bug detectors which should not be run. By default, no visitors are omitted.

    - #### String reportLevel

      The priority threshold for reporting bugs. If set to `low`, all bugs are reported. If set to `medium` (the default), medium and high priority bugs are reported. If set to `high`, only high priority bugs are reported.

    - #### Collection<String> visitors

      The bug detectors which should be run. The bug detectors are specified by their class names, without any package qualification. By default, all detectors which are not disabled by default are run.

  - ### Constructor Detail

    - #### FindBugsExtension(Project project)

  - ### Method Detail

    - #### File getExcludeBugsFilter()

      The filename of a filter specifying baseline bugs to exclude from being reported.

    - #### File getExcludeFilter()

      The filename of a filter specifying bugs to exclude from being reported.

    - #### File getIncludeFilter()

      The filename of a filter specifying which bugs are reported.

    - #### void setExcludeBugsFilter(File filter)

      The filename of a filter specifying baseline bugs to exclude from being reported.

    - #### void setExcludeFilter(File filter)

      The filename of a filter specifying bugs to exclude from being reported.

    - #### void setIncludeFilter(File filter)

      The filename of a filter specifying which bugs are reported.