.setSonarRuntime(sonarRuntime) .setBootConfiguration(container.getComponentByType(Configuration.class)) .build(); plugin.define(context); for (Object extension : context.getExtensions()) {
@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"); } }
@Test public void provide_extensions_for_7_2() { SonarRuntime runtime = SonarRuntimeImpl.forSonarQube(Version.parse("7.2"), SonarQubeSide.SCANNER); Plugin.Context context = new PluginContextImpl.Builder().setSonarRuntime(runtime).build(); new XooPlugin().define(context); assertThat(getExtensions(context)) .hasSize(55) .contains(OneExternalIssuePerLineSensor.class); }
.setSonarRuntime(sonarRuntime) .setBootConfiguration(container.getComponentByType(Configuration.class)) .build(); plugin.define(context); for (Object extension : context.getExtensions()) {
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; }
@Test public void provide_extensions_for_7_3() { SonarRuntime runtime = SonarRuntimeImpl.forSonarQube(Version.parse("7.3"), SonarQubeSide.SCANNER); Plugin.Context context = new PluginContextImpl.Builder().setSonarRuntime(runtime).build(); new XooPlugin().define(context); assertThat(getExtensions(context)) .hasSize(56) .contains(OneExternalIssuePerLineSensor.class); }
@Test public void provide_extensions_for_6_6() { SonarRuntime runtime = SonarRuntimeImpl.forSonarQube(Version.parse("6.6"), SonarQubeSide.SCANNER); Plugin.Context context = new PluginContextImpl.Builder().setSonarRuntime(runtime).build(); new XooPlugin().define(context); assertThat(getExtensions(context)) .hasSize(51) .contains(XooBuiltInQualityProfilesDefinition.class); }
@Test public void provide_extensions_for_5_6() { SonarRuntime runtime = SonarRuntimeImpl.forSonarLint(Version.parse("5.4")); Plugin.Context context = new PluginContextImpl.Builder().setSonarRuntime(runtime).build(); new XooPlugin().define(context); assertThat(getExtensions(context)) .hasSize(48) .doesNotContain(XooBuiltInQualityProfilesDefinition.class); }
@Test public void provide_extensions_for_7_6() { SonarRuntime runtime = SonarRuntimeImpl.forSonarQube(Version.parse("7.6"), SonarQubeSide.SCANNER); Plugin.Context context = new PluginContextImpl.Builder().setSonarRuntime(runtime).build(); new XooPlugin().define(context); assertThat(getExtensions(context)) .hasSize(58) .contains(GlobalProjectSensor.class) .contains(XooIgnoreCommand.class); }