org.gradle.api.plugins.quality

## Class FindBugs

- java.lang.Object
- - org.gradle.api.internal.AbstractTask
  - - org.gradle.api.DefaultTask
    - - org.gradle.api.internal.ConventionTask
      - - org.gradle.api.tasks.SourceTask
        - - org.gradle.api.plugins.quality.FindBugs

- All Implemented Interfaces:
    Comparable<Task>, org.gradle.api.internal.DynamicObjectAware, org.gradle.api.internal.IConventionAware, org.gradle.api.internal.TaskInternal, ExtensionAware, Reporting<FindBugsReports>, Task, PatternFilterable, VerificationTask, org.gradle.util.Configurable<Task>

      @CacheableTask
      public class FindBugs
      extends SourceTask
      implements VerificationTask, Reporting<FindBugsReports>

  Analyzes code with FindBugs. See the FindBugs Manual for additional information on configuration options.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface org.gradle.api.Task

      `Task.Namer`

  - ### Field Summary

    - ### Fields inherited from class org.gradle.api.tasks.SourceTask

      `source`

    - ### Fields inherited from interface org.gradle.api.Task

      `TASK_ACTION, TASK_DEPENDS_ON, TASK_DESCRIPTION, TASK_GROUP, TASK_NAME, TASK_OVERWRITE, TASK_TYPE`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `FindBugs()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `FindBugs` | `extraArgs(Iterable<String> arguments)` Any additional arguments (not covered here more explicitly like `effort`) to be passed along to FindBugs.
    `FindBugs` | `extraArgs(String... arguments)` Any additional arguments (not covered here more explicitly like `effort`) to be passed along to FindBugs.
    `protected FileCollection` | `getCandidateClassFiles()` The classes to be analyzed.
    `FileCollection` | `getClasses()` The class directories to be analyzed.
    `FileCollection` | `getClasspath()` Compile class path for the classes to be analyzed.
    `String` | `getEffort()` The analysis effort level.
    `File` | `getExcludeBugsFilter()` The filename of a filter specifying baseline bugs to exclude from being reported.
    `TextResource` | `getExcludeBugsFilterConfig()` A filter specifying baseline bugs to exclude from being reported.
    `File` | `getExcludeFilter()` The filename of a filter specifying bugs to exclude from being reported.
    `TextResource` | `getExcludeFilterConfig()` A filter specifying bugs to exclude from being reported.
    `Collection<String>` | `getExtraArgs()` Any additional arguments (not covered here more explicitly like `effort`) to be passed along to FindBugs.
    `FileCollection` | `getFindbugsClasspath()` Class path holding the FindBugs library.
    `boolean` | `getIgnoreFailures()` Whether to allow the build to continue if there are warnings.
    `File` | `getIncludeFilter()` The filename of a filter specifying which bugs are reported.
    `TextResource` | `getIncludeFilterConfig()` A filter specifying which bugs are reported.
    `Collection<String>` | `getJvmArgs()` Any additional arguments to be passed along to FindBugs JVM process.
    `String` | `getMaxHeapSize()` The maximum heap size for the forked findbugs process (ex: '1g').
    `ObjectFactory` | `getObjectFactory()` Injects and returns an instance of `ObjectFactory`.
    `Collection<String>` | `getOmitVisitors()` Similar to `visitors` except that it specifies bug detectors which should not be run.
    `FileCollection` | `getPluginClasspath()` Class path holding any additional FindBugs plugins.
    `String` | `getReportLevel()` The priority threshold for reporting bugs.
    `FindBugsReports` | `getReports()` The reports to be generated by this task.
    `boolean` | `getShowProgress()` Indicates whether analysis progress should be rendered on standard output.
    `FileTree` | `getSource()` Returns the source for this task, after the include and exclude patterns have been applied.
    `Collection<String>` | `getVisitors()` The bug detectors which should be run.
    `org.gradle.process.internal.worker.WorkerProcessFactory` | `getWorkerProcessBuilderFactory()`
    `FindBugs` | `jvmArgs(Iterable<String> arguments)` Any additional arguments to be passed along to FindBugs JVM process.
    `FindBugs` | `jvmArgs(String... arguments)` Any additional arguments to be passed along to FindBugs JVM process.
    `FindBugsReports` | `reports(Action<? super FindBugsReports> configureAction)` Configures the reports to be generated by this task.
    `FindBugsReports` | `reports(Closure closure)` Configures the reports to be generated by this task.
    `void` | `run()`
    `void` | `setClasses(FileCollection classes)` The class directories to be analyzed.
    `void` | `setClasspath(FileCollection classpath)` Compile class path for the classes to be analyzed.
    `void` | `setEffort(String effort)` The analysis effort level.
    `void` | `setExcludeBugsFilter(File filter)` The filename of a filter specifying baseline bugs to exclude from being reported.
    `void` | `setExcludeBugsFilterConfig(TextResource excludeBugsFilterConfig)` 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` | `setExcludeFilterConfig(TextResource excludeFilterConfig)` A filter specifying bugs to exclude from being reported.
    `void` | `setExtraArgs(Collection<String> extraArgs)` Any additional arguments (not covered here more explicitly like `effort`) to be passed along to FindBugs.
    `void` | `setFindbugsClasspath(FileCollection findbugsClasspath)` Class path holding the FindBugs library.
    `void` | `setIgnoreFailures(boolean ignoreFailures)` Whether to allow the build to continue if there are warnings.
    `void` | `setIncludeFilter(File filter)` The filename of a filter specifying which bugs are reported.
    `void` | `setIncludeFilterConfig(TextResource includeFilterConfig)` A filter specifying which bugs are reported.
    `void` | `setJvmArgs(Collection<String> jvmArgs)` Any additional arguments to be passed along to FindBugs JVM process.
    `void` | `setMaxHeapSize(String maxHeapSize)` The maximum heap size for the forked findbugs process (ex: '1g').
    `void` | `setOmitVisitors(Collection<String> omitVisitors)` Similar to `visitors` except that it specifies bug detectors which should not be run.
    `void` | `setPluginClasspath(FileCollection pluginClasspath)` Class path holding any additional FindBugs plugins.
    `void` | `setReportLevel(String reportLevel)` The priority threshold for reporting bugs.
    `void` | `setShowProgress(boolean showProgress)` Indicates whether analysis progress should be rendered on standard output.
    `void` | `setVisitors(Collection<String> visitors)` The bug detectors which should be run.

    - ### Methods inherited from class org.gradle.api.tasks.SourceTask

      `exclude, exclude, exclude, exclude, getExcludes, getIncludes, getPatternSetFactory, include, include, include, include, setExcludes, setIncludes, setSource, setSource, source`

    - ### Methods inherited from class org.gradle.api.internal.ConventionTask

      `conventionMapping, conventionMapping, getConventionMapping`

    - ### Methods inherited from class org.gradle.api.DefaultTask

      `newInputDirectory, newInputFile, newOutputDirectory, newOutputFile`

    - ### Methods inherited from class org.gradle.api.internal.AbstractTask

      `addValidator, appendParallelSafeAction, compareTo, configure, deleteAllActions, dependsOn, dependsOnTaskDidWork, doFirst, doFirst, doFirst, doLast, doLast, doLast, execute, finalizedBy, getActions, getAnt, getAsDynamicObject, getConvention, getDependsOn, getDescription, getDestroyables, getDidWork, getEnabled, getExecuter, getExtensions, getFinalizedBy, getGroup, getIdentityPath, getImpliesSubProjects, getInputs, getLocalState, getLogger, getLogging, getMustRunAfter, getName, getOnlyIf, getOutputs, getPath, getProject, getServices, getShouldRunAfter, getStandardOutputCapture, getState, getTaskActions, getTaskDependencies, getTemporaryDir, getTemporaryDirFactory, getValidators, hasProperty, injectIntoNewInstance, isEnabled, isHasCustomActions, leftShift, mustRunAfter, onlyIf, onlyIf, prependParallelSafeAction, property, setActions, setDependsOn, setDescription, setDidWork, setEnabled, setExecuter, setFinalizedBy, setGroup, setImpliesSubProjects, setMustRunAfter, setOnlyIf, setOnlyIf, setProperty, setShouldRunAfter, shouldRunAfter, toString`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### FindBugs

          public FindBugs()

  - ### Method Detail

    - #### getObjectFactory

          @Incubating
           @Inject
          public ObjectFactory getObjectFactory()

      Injects and returns an instance of `ObjectFactory`.
      Since:
        4.2

    - #### getWorkerProcessBuilderFactory

          @Inject
          public org.gradle.process.internal.worker.WorkerProcessFactory getWorkerProcessBuilderFactory()

    - #### getReports

          public FindBugsReports getReports()

      The reports to be generated by this task.
      Specified by:
        `getReports` in interface `Reporting<FindBugsReports>`
      Returns:
        The reports container

    - #### reports

          public FindBugsReports reports(Closure closure)

      Configures the reports to be generated by this task. The contained reports can be configured by name and closures. Example:

           findbugsTask {
             reports {
               xml {
                 destination "build/findbugs.xml"
               }
             }
           }

      Specified by:
        `reports` in interface `Reporting<FindBugsReports>`
      Parameters:
        `closure` - The configuration
      Returns:
        The reports container

    - #### reports

          public FindBugsReports reports(Action<? super FindBugsReports> configureAction)

      Configures the reports to be generated by this task. The contained reports can be configured by name and closures. Example:

           findbugsTask {
             reports {
               xml {
                 destination "build/findbugs.xml"
               }
             }
           }

      Specified by:
        `reports` in interface `Reporting<FindBugsReports>`
      Parameters:
        `configureAction` - The configuration
      Returns:
        The reports container

    - #### getIncludeFilter

          @Internal
          public File getIncludeFilter()

      The filename of a filter specifying which bugs are reported.

    - #### setIncludeFilter

          public void setIncludeFilter(File filter)

      The filename of a filter specifying which bugs are reported.

    - #### getExcludeFilter

          @Internal
          public File getExcludeFilter()

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

    - #### setExcludeFilter

          public void setExcludeFilter(File filter)

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

    - #### getExcludeBugsFilter

          @Internal
          public File getExcludeBugsFilter()

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

    - #### setExcludeBugsFilter

          public void setExcludeBugsFilter(File filter)

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

    - #### run

          public void run()
                   throws IOException,
                          InterruptedException

      Throws:
        `IOException`
        `InterruptedException`

    - #### extraArgs

          public FindBugs extraArgs(Iterable<String> arguments)

      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

    - #### extraArgs

          public FindBugs extraArgs(String... arguments)

      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

    - #### jvmArgs

          @Incubating
          public FindBugs jvmArgs(Iterable<String> arguments)

      Any additional arguments to be passed along to FindBugs JVM process.

      Arguments can contain general JVM flags like `-Xdebug` and also FindBugs system properties like `-Dfindbugs.loadPropertiesFrom=...`

      Since:
        4.3

    - #### jvmArgs

          @Incubating
          public FindBugs jvmArgs(String... arguments)

      Any additional arguments to be passed along to FindBugs JVM process.

      Arguments can contain general JVM flags like `-Xdebug` and also FindBugs system properties like `-Dfindbugs.loadPropertiesFrom=...`

      Since:
        4.3

    - #### getSource

          @PathSensitive(value=RELATIVE)
          public FileTree getSource()

      Returns the source for this task, after the include and exclude patterns have been applied. Ignores source files which do not exist.
      Overrides:
        `getSource` in class `SourceTask`
      Returns:
        The source.

    - #### getCandidateClassFiles

          @SkipWhenEmpty
           @PathSensitive(value=RELATIVE)
           @InputFiles
          protected FileCollection getCandidateClassFiles()

      The classes to be analyzed.

    - #### getClasses

          @Internal
          public FileCollection getClasses()

      The class directories to be analyzed.

    - #### setClasses

          public void setClasses(FileCollection classes)

      The class directories to be analyzed.

    - #### getClasspath

          @Classpath
          public FileCollection getClasspath()

      Compile class path for the classes to be analyzed. The classes on this class path are used during analysis but aren't analyzed themselves.

    - #### setClasspath

          public void setClasspath(FileCollection classpath)

      Compile class path for the classes to be analyzed. The classes on this class path are used during analysis but aren't analyzed themselves.

    - #### getFindbugsClasspath

          @Classpath
          public FileCollection getFindbugsClasspath()

      Class path holding the FindBugs library.

    - #### setFindbugsClasspath

          public void setFindbugsClasspath(FileCollection findbugsClasspath)

      Class path holding the FindBugs library.

    - #### getPluginClasspath

          @Classpath
          public FileCollection getPluginClasspath()

      Class path holding any additional FindBugs plugins.

    - #### setPluginClasspath

          public void setPluginClasspath(FileCollection pluginClasspath)

      Class path holding any additional FindBugs plugins.

    - #### getIgnoreFailures

          public boolean getIgnoreFailures()

      Whether to allow the build to continue if there are warnings.
      Specified by:
        `getIgnoreFailures` in interface `VerificationTask`
      Returns:
        false, when the build should break on failure, true when the failures should be ignored.

    - #### setIgnoreFailures

          public void setIgnoreFailures(boolean ignoreFailures)

      Whether to allow the build to continue if there are warnings.
      Specified by:
        `setIgnoreFailures` in interface `VerificationTask`
      Parameters:
        `ignoreFailures` - false to break the build on failure, true to ignore the failures. The default is false.

    - #### getEffort

          @Input
           @Optional
          public String getEffort()

      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.

    - #### setEffort

          public void setEffort(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.

    - #### getReportLevel

          @Input
           @Optional
          public String getReportLevel()

      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.

    - #### setReportLevel

          public void setReportLevel(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.

    - #### getMaxHeapSize

          @Input
           @Optional
          public String getMaxHeapSize()

      The maximum heap size for the forked findbugs process (ex: '1g').

    - #### setMaxHeapSize

          public void setMaxHeapSize(String maxHeapSize)

      The maximum heap size for the forked findbugs process (ex: '1g').

    - #### getVisitors

          @Input
           @Optional
          public Collection<String> getVisitors()

      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.

    - #### setVisitors

          public void setVisitors(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.

    - #### getOmitVisitors

          @Input
           @Optional
          public Collection<String> getOmitVisitors()

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

    - #### setOmitVisitors

          public void setOmitVisitors(Collection<String> omitVisitors)

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

    - #### getIncludeFilterConfig

          @Incubating
           @Optional
          public TextResource getIncludeFilterConfig()

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

    - #### setIncludeFilterConfig

          @Incubating
          public void setIncludeFilterConfig(TextResource includeFilterConfig)

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

    - #### getExcludeFilterConfig

          @Incubating
           @Optional
          public TextResource getExcludeFilterConfig()

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

    - #### setExcludeFilterConfig

          @Incubating
          public void setExcludeFilterConfig(TextResource excludeFilterConfig)

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

    - #### getExcludeBugsFilterConfig

          @Incubating
           @Optional
          public TextResource getExcludeBugsFilterConfig()

      A filter specifying baseline bugs to exclude from being reported.
      Since:
        2.4

    - #### setExcludeBugsFilterConfig

          @Incubating
          public void setExcludeBugsFilterConfig(TextResource excludeBugsFilterConfig)

      A filter specifying baseline bugs to exclude from being reported.
      Since:
        2.4

    - #### getExtraArgs

          @Input
           @Optional
          public Collection<String> getExtraArgs()

      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

    - #### setExtraArgs

          public void setExtraArgs(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

    - #### getShowProgress

          @Input
           @Optional
          public boolean getShowProgress()

      Indicates whether analysis progress should be rendered on standard output. Defaults to false.
      Since:
        4.2

    - #### setShowProgress

          public void setShowProgress(boolean showProgress)

      Indicates whether analysis progress should be rendered on standard output.
      Since:
        4.2

    - #### getJvmArgs

          @Input
           @Optional
           @Incubating
          public Collection<String> getJvmArgs()

      Any additional arguments to be passed along to FindBugs JVM process.

      Arguments can contain general JVM flags like `-Xdebug` and also FindBugs system properties like `-Dfindbugs.loadPropertiesFrom=...`

      Since:
        4.3

    - #### setJvmArgs

          @Incubating
          public void setJvmArgs(Collection<String> jvmArgs)

      Any additional arguments to be passed along to FindBugs JVM process.

      Arguments can contain general JVM flags like `-Xdebug` and also FindBugs system properties like `-Dfindbugs.loadPropertiesFrom=...`

      Since:
        4.3