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);
    }
  }
Beispiel #2
0
  /**
   * @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);
    }
  }