Package edu.umd.cs.findbugs
Class FindBugs
- java.lang.Object
-
- edu.umd.cs.findbugs.FindBugs
-
public abstract class FindBugs extends java.lang.ObjectStatic methods and fields useful for working with instances of IFindBugsEngine. This class was previously the main driver for FindBugs analyses, but has been replaced byFindBugs2.- Author:
- Bill Pugh, David Hovemeyer
-
-
Field Summary
Fields Modifier and Type Field Description static booleanDEBUGDebug tracing.static AnalysisFeatureSetting[]DEFAULT_EFFORTAnalysis settings for -effort:default.static java.util.Set<java.lang.String>knownURLProtocolSetKnown URL protocols.static AnalysisFeatureSetting[]LESS_EFFORTAnalysis settings for -effort:less.static AnalysisFeatureSetting[]MAX_EFFORTAnalysis settings for -effort:max.static AnalysisFeatureSetting[]MIN_EFFORTAnalysis settings for -effort:min.static longMINIMUM_TIMESTAMPstatic AnalysisFeatureSetting[]MORE_EFFORTAnalysis settings for -effort:more.static booleannoAnalysis
-
Constructor Summary
Constructors Constructor Description FindBugs()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static voidconfigureBaselineFilter(DelegatingBugReporter bugReporter, java.lang.String baselineFileName)Configure a baseline bug instance filter.static voidconfigureBugCollection(IFindBugsEngine findBugs)Configure the BugCollection (if the BugReporter being used is constructing one).static voidconfigureFilter(DelegatingBugReporter bugReporter, java.lang.String filterFileName, boolean include)Configure the (bug instance) Filter for the given DelegatingBugReporter.static voidconfigureTrainingDatabases(IFindBugsEngine findBugs)Configure training databases.static java.lang.StringgetHome()Get the FindBugs home directory.static java.util.Set<java.lang.String>handleBugCategories(UserPreferences userPreferences, java.lang.String categories)Process -bugCategories option.static booleanisDetectorEnabled(IFindBugsEngine findBugs, DetectorFactory factory, int rankThreshold)Determing whether or not given DetectorFactory should be enabled.static voidprocessCommandLine(TextUICommandLine commandLine, java.lang.String[] argv, IFindBugsEngine findBugs)Process the command line.static voidrunMain(IFindBugsEngine findBugs, TextUICommandLine commandLine)Given a fully-configured IFindBugsEngine and the TextUICommandLine used to configure it, execute the analysis.static voidsetHome(java.lang.String home)Set the FindBugs home directory.static voidshowCommandLineOptions()Print command line options synopses to stdout.static voidshowCommandLineOptions(TextUICommandLine commandLine)Print command line options synopses to stdout.static voidshowHelp(TextUICommandLine commandLine)Show -help message.static voidshowSynopsis()Show the overall FindBugs command synopsis.static booleanvalidTimestamp(long timestamp)
-
-
-
Field Detail
-
MIN_EFFORT
public static final AnalysisFeatureSetting[] MIN_EFFORT
Analysis settings for -effort:min.
-
LESS_EFFORT
public static final AnalysisFeatureSetting[] LESS_EFFORT
Analysis settings for -effort:less.
-
DEFAULT_EFFORT
public static final AnalysisFeatureSetting[] DEFAULT_EFFORT
Analysis settings for -effort:default.
-
MORE_EFFORT
public static final AnalysisFeatureSetting[] MORE_EFFORT
Analysis settings for -effort:more.
-
MAX_EFFORT
public static final AnalysisFeatureSetting[] MAX_EFFORT
Analysis settings for -effort:max.
-
DEBUG
public static final boolean DEBUG
Debug tracing.
-
noAnalysis
public static boolean noAnalysis
-
knownURLProtocolSet
public static final java.util.Set<java.lang.String> knownURLProtocolSet
Known URL protocols. Filename URLs that do not have an explicit protocol are assumed to be files.
-
MINIMUM_TIMESTAMP
public static final long MINIMUM_TIMESTAMP
-
-
Method Detail
-
setHome
public static void setHome(java.lang.String home)
Set the FindBugs home directory.
-
getHome
public static java.lang.String getHome()
Get the FindBugs home directory.
-
configureTrainingDatabases
public static void configureTrainingDatabases(IFindBugsEngine findBugs) throws java.io.IOException
Configure training databases.- Parameters:
findBugs- the IFindBugsEngine to configure- Throws:
java.io.IOException
-
isDetectorEnabled
public static boolean isDetectorEnabled(IFindBugsEngine findBugs, DetectorFactory factory, int rankThreshold)
Determing whether or not given DetectorFactory should be enabled.- Parameters:
findBugs- the IFindBugsEnginefactory- the DetectorFactoryrankThreshold- TODO- Returns:
- true if the DetectorFactory should be enabled, false otherwise
-
handleBugCategories
public static java.util.Set<java.lang.String> handleBugCategories(UserPreferences userPreferences, java.lang.String categories)
Process -bugCategories option.- Parameters:
userPreferences- UserPreferences representing which Detectors are enabledcategories- comma-separated list of bug categories- Returns:
- Set of categories to be used
-
processCommandLine
public static void processCommandLine(TextUICommandLine commandLine, java.lang.String[] argv, IFindBugsEngine findBugs) throws java.io.IOException, FilterException
Process the command line.- Parameters:
commandLine- the TextUICommandLine object which will parse the command lineargv- the command line argumentsfindBugs- the IFindBugsEngine to configure- Throws:
java.io.IOExceptionFilterException
-
showHelp
public static void showHelp(TextUICommandLine commandLine)
Show -help message.- Parameters:
commandLine-
-
runMain
public static void runMain(IFindBugsEngine findBugs, TextUICommandLine commandLine) throws java.io.IOException, java.lang.RuntimeException
Given a fully-configured IFindBugsEngine and the TextUICommandLine used to configure it, execute the analysis.- Parameters:
findBugs- a fully-configured IFindBugsEnginecommandLine- the TextUICommandLine used to configure the IFindBugsEngine- Throws:
java.io.IOExceptionjava.lang.RuntimeException
-
showCommandLineOptions
public static void showCommandLineOptions()
Print command line options synopses to stdout.
-
showCommandLineOptions
public static void showCommandLineOptions(TextUICommandLine commandLine)
Print command line options synopses to stdout.- Parameters:
commandLine- the TextUICommandLine whose options should be printed
-
showSynopsis
public static void showSynopsis()
Show the overall FindBugs command synopsis.
-
configureFilter
public static void configureFilter(DelegatingBugReporter bugReporter, java.lang.String filterFileName, boolean include) throws java.io.IOException, FilterException
Configure the (bug instance) Filter for the given DelegatingBugReporter.- Parameters:
bugReporter- a DelegatingBugReporterfilterFileName- filter file nameinclude- true if the filter is an include filter, false if it's an exclude filter- Throws:
java.io.IOExceptionFilterException
-
configureBaselineFilter
public static void configureBaselineFilter(DelegatingBugReporter bugReporter, java.lang.String baselineFileName) throws java.io.IOException, org.dom4j.DocumentException
Configure a baseline bug instance filter.- Parameters:
bugReporter- a DelegatingBugReporterbaselineFileName- filename of baseline Filter- Throws:
java.io.IOExceptionorg.dom4j.DocumentException
-
configureBugCollection
public static void configureBugCollection(IFindBugsEngine findBugs)
Configure the BugCollection (if the BugReporter being used is constructing one).- Parameters:
findBugs- the IFindBugsEngine
-
validTimestamp
public static boolean validTimestamp(long timestamp)
- Parameters:
timestamp-- Returns:
-
-