void loadPlugin(Plugin plugin) { if (FindBugs.DEBUG) { System.out.println("Loading " + plugin.getPluginId()); } pluginByIdMap.put(plugin.getPluginId(), plugin); setGlobalOptions(); // Register all of the detectors that this plugin contains for (DetectorFactory factory : plugin.getDetectorFactories()) { registerDetector(factory); } for (BugCategory bugCategory : plugin.getBugCategories()) { registerBugCategory(bugCategory); } // Register the BugPatterns for (BugPattern bugPattern : plugin.getBugPatterns()) { registerBugPattern(bugPattern); } // Register the BugCodes for (BugCode bugCode : plugin.getBugCodes()) { registerBugCode(bugCode); } for (CloudPlugin cloud : plugin.getCloudPlugins()) { registerCloud(cloud); } }
/** * @param justPrintConfiguration * @throws InterruptedException */ public static void printVersion(boolean justPrintConfiguration) throws InterruptedException { System.out.println("FindBugs " + Version.COMPUTED_RELEASE); if (justPrintConfiguration) { for (Plugin plugin : Plugin.getAllPlugins()) { System.out.printf( "Plugin %s, version %s, loaded from %s%n", plugin.getPluginId(), plugin.getVersion(), plugin.getPluginLoader().getURL()); if (plugin.isCorePlugin()) System.out.println(" is core plugin"); if (plugin.isInitialPlugin()) System.out.println(" is initial plugin"); if (plugin.isEnabledByDefault()) System.out.println(" is enabled by default"); if (plugin.isGloballyEnabled()) System.out.println(" is globally enabled"); Plugin parent = plugin.getParentPlugin(); if (parent != null) { System.out.println(" has parent plugin " + parent.getPluginId()); } for (CloudPlugin cloudPlugin : plugin.getCloudPlugins()) { System.out.printf(" cloud %s%n", cloudPlugin.getId()); System.out.printf(" %s%n", cloudPlugin.getDescription()); } for (DetectorFactory factory : plugin.getDetectorFactories()) { System.out.printf(" detector %s%n", factory.getShortName()); } System.out.println(); } printPluginUpdates(true, 10); } else printPluginUpdates(false, 3); }
void unLoadPlugin(Plugin plugin) { pluginByIdMap.remove(plugin.getPluginId()); setGlobalOptions(); for (DetectorFactory factory : plugin.getDetectorFactories()) { unRegisterDetector(factory); } for (BugCategory bugCategory : plugin.getBugCategories()) { unRegisterBugCategory(bugCategory); } for (BugPattern bugPattern : plugin.getBugPatterns()) { unRegisterBugPattern(bugPattern); } for (BugCode bugCode : plugin.getBugCodes()) { unRegisterBugCode(bugCode); } for (CloudPlugin cloud : plugin.getCloudPlugins()) { unRegisterCloud(cloud); } }