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.
  • Constructor Details

    • FindBugs

      public FindBugs()
  • Method Details

    • 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(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(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

      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