.setBootConfiguration(container.getComponentByType(Configuration.class)) .build(); plugin.define(context);
@Test public void test_context() { SonarRuntime runtime = SonarRuntimeImpl.forSonarQube(VERSION_5_6, SonarQubeSide.SERVER); MapSettings settings = new MapSettings().setProperty("foo", "bar"); Plugin.Context context = new PluginContextImpl.Builder() .setSonarRuntime(runtime) .setBootConfiguration(settings.asConfig()) .build(); assertThat(context.getSonarQubeVersion()).isEqualTo(VERSION_5_6); assertThat(context.getExtensions()).isEmpty(); context.addExtension("foo"); assertThat(context.getExtensions()).containsOnly("foo"); context.addExtensions(Arrays.asList("bar", "baz")); assertThat(context.getExtensions()).containsOnly("foo", "bar", "baz"); context.addExtensions("one", "two", "three", "four"); assertThat(context.getExtensions()).containsOnly("foo", "bar", "baz", "one", "two", "three", "four"); assertThat(context.getBootConfiguration().get("foo")).hasValue("bar"); } }
.setBootConfiguration(container.getComponentByType(Configuration.class)) .build(); plugin.define(context);
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, boolean global) { // 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); loadExtensions(container, pluginInfo, context, global); } 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; }