@Override protected void doAfterStart() { installPlugins(); loadCoreExtensions(); long startTime = System.currentTimeMillis(); String taskKey = StringUtils.defaultIfEmpty(scannerProperties.get(CoreProperties.TASK), CoreProperties.SCAN_TASK); if (taskKey.equals("views")) { throw MessageException.of("The task 'views' was removed with SonarQube 7.1. " + "You can safely remove this call since portfolios and applications are automatically re-calculated."); } else if (!taskKey.equals(CoreProperties.SCAN_TASK)) { throw MessageException.of("Tasks support was removed in SonarQube 7.6."); } new ProjectScanContainer(this).execute(); LOG.info("Analysis total time: {}", formatTime(System.currentTimeMillis() - startTime)); }
private void installPlugins() { PluginRepository pluginRepository = getComponentByType(PluginRepository.class); for (PluginInfo pluginInfo : pluginRepository.getPluginInfos()) { Plugin instance = pluginRepository.getPluginInstance(pluginInfo.getKey()); addExtension(pluginInfo, instance); } }
public static GlobalContainer create(Map<String, String> scannerProperties, List<?> extensions) { GlobalContainer container = new GlobalContainer(scannerProperties); container.add(extensions); return container; }
@Override protected void doBeforeStart() { ScannerProperties scannerProps = new ScannerProperties(scannerProperties); GlobalAnalysisMode globalMode = new GlobalAnalysisMode(scannerProps); add(scannerProps); add(globalMode); addBootstrapComponents(); }
private void loadCoreExtensions() { CoreExtensionsLoader loader = getComponentByType(CoreExtensionsLoader.class); loader.load(); }
private void addBootstrapComponents() { Version apiVersion = ApiVersion.load(System2.INSTANCE); add( // plugins ScannerPluginRepository.class, PluginLoader.class, PluginClassloaderFactory.class, ScannerPluginJarExploder.class, ScannerPluginPredicate.class, ExtensionInstaller.class, new SonarQubeVersion(apiVersion), SonarRuntimeImpl.forSonarQube(apiVersion, SonarQubeSide.SCANNER), StoragesManager.class, new GlobalServerSettingsProvider(), new GlobalConfigurationProvider(), new ScannerWsClientProvider(), DefaultServer.class, new GlobalTempFolderProvider(), DefaultHttpDownloader.class, UriReader.class, PluginFiles.class, System2.INSTANCE, Clock.systemDefaultZone(), new MetricsRepositoryProvider(), UuidFactoryImpl.INSTANCE); addIfMissing(ScannerPluginInstaller.class, PluginInstaller.class); add(CoreExtensionRepositoryImpl.class, CoreExtensionsLoader.class, ScannerCoreExtensionsInstaller.class); addIfMissing(DefaultSettingsLoader.class, SettingsLoader.class); addIfMissing(DefaultMetricsRepositoryLoader.class, MetricsRepositoryLoader.class); }
private GlobalContainer createContainer(List<Object> extensions) { Map<String, String> props = ImmutableMap.of(CoreProperties.WORKING_DIRECTORY, temp.getRoot().getAbsolutePath(), CoreProperties.GLOBAL_WORKING_DIRECTORY, temp.getRoot().getAbsolutePath()); GlobalContainer container = GlobalContainer.create(props, extensions); container.doBeforeStart(); return container; }
@Test public void shouldFormatTime() { assertThat(GlobalContainer.formatTime(1 * 60 * 60 * 1000 + 2 * 60 * 1000 + 3 * 1000 + 400)).isEqualTo("1:02:03.400 s"); assertThat(GlobalContainer.formatTime(2 * 60 * 1000 + 3 * 1000 + 400)).isEqualTo("2:03.400 s"); assertThat(GlobalContainer.formatTime(3 * 1000 + 400)).isEqualTo("3.400 s"); assertThat(GlobalContainer.formatTime(400)).isEqualTo("0.400 s"); }
@Test public void should_add_components() { GlobalContainer container = createContainer(Collections.emptyList()); assertThat(container.getComponentByType(UuidFactory.class)).isNotNull(); assertThat(container.getComponentByType(TempFolder.class)).isNotNull(); }
public static GlobalContainer create(Map<String, String> scannerProperties, List<?> extensions) { GlobalContainer container = new GlobalContainer(scannerProperties); container.add(extensions); return container; }
@Override protected void doBeforeStart() { ScannerProperties scannerProps = new ScannerProperties(scannerProperties); GlobalAnalysisMode globalMode = new GlobalAnalysisMode(scannerProps); add(scannerProps); add(globalMode); addBootstrapComponents(); }
private void addBootstrapComponents() { Version apiVersion = ApiVersion.load(System2.INSTANCE); add( // plugins ScannerPluginRepository.class, PluginLoader.class, PluginClassloaderFactory.class, ScannerPluginJarExploder.class, ScannerPluginPredicate.class, ExtensionInstaller.class, new SonarQubeVersion(apiVersion), SonarRuntimeImpl.forSonarQube(apiVersion, SonarQubeSide.SCANNER), StoragesManager.class, new GlobalServerSettingsProvider(), new GlobalConfigurationProvider(), new ScannerWsClientProvider(), DefaultServer.class, new GlobalTempFolderProvider(), DefaultHttpDownloader.class, UriReader.class, PluginFiles.class, System2.INSTANCE, Clock.systemDefaultZone(), new MetricsRepositoryProvider(), UuidFactoryImpl.INSTANCE); addIfMissing(ScannerPluginInstaller.class, PluginInstaller.class); add(CoreExtensionRepositoryImpl.class, CoreExtensionsLoader.class, ScannerCoreExtensionsInstaller.class); addIfMissing(DefaultSettingsLoader.class, SettingsLoader.class); addIfMissing(DefaultMetricsRepositoryLoader.class, MetricsRepositoryLoader.class); }
@Override protected void doAfterStart() { installPlugins(); loadCoreExtensions(); long startTime = System.currentTimeMillis(); String taskKey = StringUtils.defaultIfEmpty(scannerProperties.get(CoreProperties.TASK), CoreProperties.SCAN_TASK); if (taskKey.equals("views")) { throw MessageException.of("The task 'views' was removed with SonarQube 7.1. " + "You can safely remove this call since portfolios and applications are automatically re-calculated."); } else if (!taskKey.equals(CoreProperties.SCAN_TASK)) { throw MessageException.of("Tasks support was removed in SonarQube 7.6."); } new ProjectScanContainer(this).execute(); LOG.info("Analysis total time: {}", formatTime(System.currentTimeMillis() - startTime)); }
private void installPlugins() { PluginRepository pluginRepository = getComponentByType(PluginRepository.class); for (PluginInfo pluginInfo : pluginRepository.getPluginInfos()) { Plugin instance = pluginRepository.getPluginInstance(pluginInfo.getKey()); addExtension(pluginInfo, instance); } }
@Test public void should_add_bootstrap_extensions() { GlobalContainer container = createContainer(Lists.newArrayList(Foo.class, new Bar())); assertThat(container.getComponentByType(Foo.class)).isNotNull(); assertThat(container.getComponentByType(Bar.class)).isNotNull(); }
private void loadCoreExtensions() { CoreExtensionsLoader loader = getComponentByType(CoreExtensionsLoader.class); loader.load(); }