public ExtensionInstaller install(ComponentContainer container, ExtensionMatcher matcher) { // core components for (Object o : BatchComponents.all(analysisMode)) { doInstall(container, matcher, null, o); } // plugin extensions for (PluginInfo pluginInfo : pluginRepository.getPluginInfos()) { Plugin plugin = pluginRepository.getPluginInstance(pluginInfo.getKey()); Plugin.Context context = new PluginContextImpl.Builder() .setSonarRuntime(sonarRuntime) .setBootConfiguration(bootConfiguration) .build(); plugin.define(context); for (Object extension : context.getExtensions()) { doInstall(container, matcher, pluginInfo, extension); } } List<ExtensionProvider> providers = container.getComponentsByType(ExtensionProvider.class); for (ExtensionProvider provider : providers) { Object object = provider.provide(); if (object instanceof Iterable) { for (Object extension : (Iterable) object) { doInstall(container, matcher, null, extension); } } else { doInstall(container, matcher, null, object); } } return this; }
public ExtensionInstaller install(ComponentContainer container, ExtensionMatcher matcher) { // core components for (Object o : BatchComponents.all(analysisMode)) { doInstall(container, matcher, null, o); } // plugin extensions for (PluginInfo pluginInfo : pluginRepository.getPluginInfos()) { Plugin plugin = pluginRepository.getPluginInstance(pluginInfo.getKey()); Plugin.Context context = new PluginContextImpl.Builder() .setSonarRuntime(sonarRuntime) .setBootConfiguration(bootConfiguration) .build(); plugin.define(context); for (Object extension : context.getExtensions()) { doInstall(container, matcher, pluginInfo, extension); } } List<ExtensionProvider> providers = container.getComponentsByType(ExtensionProvider.class); for (ExtensionProvider provider : providers) { Object object = provider.provide(); if (object instanceof Iterable) { for (Object extension : (Iterable) object) { doInstall(container, matcher, null, extension); } } else { doInstall(container, matcher, null, object); } } return this; }