@Override protected void doAnalysis(Map<String, String> properties, ReportFactory reportFactory, List<ClientInputFile> inputFiles, Path baseDirPath) { Date start = new Date(); ConnectedAnalysisConfiguration config = new ConnectedAnalysisConfiguration(moduleKey, baseDirPath, baseDirPath.resolve(".sonarlint"), inputFiles, properties); IssueCollector collector = new IssueCollector(); AnalysisResults result = engine.analyze(config, collector); engine.downloadServerIssues(getServerConfiguration(server), moduleKey); Collection<Trackable> trackables = matchAndTrack(baseDirPath, collector.get()); generateReports(trackables, result, reportFactory, baseDirPath.getFileName().toString(), baseDirPath, start); }
@Override protected AnalysisResults analyze(Path baseDir, Path workDir, Collection<ClientInputFile> inputFiles, Map<String, String> props, IssueListener issueListener, ProgressMonitor progressMonitor) { ConnectedAnalysisConfiguration config = new ConnectedAnalysisConfiguration(projectKey, baseDir, workDir, inputFiles, props); console.debug("Starting analysis with configuration:\n" + config.toString()); return sonarlint.analyze(config, issueListener, new ProjectLogOutput(console, projectSettings), progressMonitor); }
@Override public void analyze(ConnectedAnalysisReq requestConfig, StreamObserver<org.sonarsource.sonarlint.daemon.proto.SonarlintDaemon.Issue> response) { try { List<ClientInputFile> files = new LinkedList<>(); List<InputFile> requestFiles = requestConfig.getFileList(); Path baseDir = Paths.get(requestConfig.getBaseDir()); for (InputFile f : requestFiles) { files.add(new DefaultClientInputFile(baseDir, Paths.get(f.getPath()), f.getIsTest(), Charset.forName(f.getCharset()), f.getUserObject(), trimToNull(f.getLanguage()))); } ConnectedAnalysisConfiguration config = new ConnectedAnalysisConfiguration( requestConfig.getModuleKey(), baseDir, Paths.get(requestConfig.getWorkDir()), files, requestConfig.getPropertiesMap()); engine.analyze(config, new ProxyIssueListener(response), logOutput, null); response.onCompleted(); } catch (Exception e) { LOGGER.error("Error analyzing", e); response.onError(e); } }
@Override protected ConnectedAnalysisConfiguration prepareAnalysisConfig(Path projectBaseDir, List<ClientInputFile> inputFiles, Map<String, String> mergedExtraProps) { SonarLintLogger.get().debug("Connected mode (using configuration of '" + binding.projectKey() + "' in server '" + binding.serverId() + "')"); return new ConnectedAnalysisConfiguration(binding.projectKey(), projectBaseDir, getProject().getWorkingDir(), inputFiles, mergedExtraProps); }