]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-11465 Rework scanner logs
authorJulien HENRY <julien.henry@sonarsource.com>
Mon, 3 Dec 2018 17:12:57 +0000 (18:12 +0100)
committersonartech <sonartech@sonarsource.com>
Wed, 16 Jan 2019 08:43:05 +0000 (09:43 +0100)
sonar-core/src/main/java/org/sonar/core/extension/CoreExtensionsLoader.java
sonar-scanner-engine/src/main/java/org/sonar/scanner/bootstrap/GlobalAnalysisMode.java
sonar-scanner-engine/src/main/java/org/sonar/scanner/report/ReportPublisher.java
sonar-scanner-engine/src/main/java/org/sonar/scanner/repository/settings/DefaultSettingsLoader.java
sonar-scanner-engine/src/main/java/org/sonar/scanner/scan/InputModuleHierarchyProvider.java
sonar-scanner-engine/src/main/java/org/sonar/scanner/scan/InputProjectProvider.java
sonar-scanner-engine/src/main/java/org/sonar/scanner/scan/ProjectBuildersExecutor.java
sonar-scanner-engine/src/main/java/org/sonar/scanner/scan/ProjectScanContainer.java
sonar-scanner-engine/src/main/java/org/sonar/scanner/scan/filesystem/ProjectFileIndexer.java

index f0dbfd30f7fa9f648abe3b8acb8d09cf6715a7a5..41866c16a345fef5339562d46286e9dacd112e6a 100644 (file)
@@ -53,7 +53,9 @@ public class CoreExtensionsLoader {
     ensureNoDuplicateName(coreExtensions);
 
     coreExtensionRepository.setLoadedCoreExtensions(coreExtensions);
-    LOG.info("Loaded core extensions: {}", coreExtensions.stream().map(CoreExtension::getName).collect(Collectors.joining(", ")));
+    if (!coreExtensions.isEmpty()) {
+      LOG.info("Loaded core extensions: {}", coreExtensions.stream().map(CoreExtension::getName).collect(Collectors.joining(", ")));
+    }
   }
 
   private static void ensureNoDuplicateName(Set<CoreExtension> coreExtensions) {
index 202fbbcecfab6b174096b640770d0e319beb8572..421dfdeb73fff77928a9150312960671b0c5141e 100644 (file)
@@ -47,8 +47,6 @@ public class GlobalAnalysisMode {
     } else if (issues) {
       LOG.info("Issues mode");
       LOG.warn("The use of the issues mode (sonar.analysis.mode=issues) is deprecated. This mode will be dropped in the future.");
-    } else {
-      LOG.info("Publish mode");
     }
     if (mediumTestMode) {
       LOG.info("Medium test mode");
index 2483a1dadc0643ba345fd1e581d66f213f8a675b..22a2905e1f03d775181976137391b72e8e0f25b0 100644 (file)
@@ -127,16 +127,13 @@ public class ReportPublisher implements Startable {
   }
 
   public void execute() {
-    // If this is a issues mode analysis then we should not upload reports
     String taskId = null;
-    if (!analysisMode.isIssues()) {
-      File report = generateReportFile();
-      if (properties.shouldKeepReport()) {
-        LOG.info("Analysis report generated in " + reportDir);
-      }
-      if (!analysisMode.isMediumTest()) {
-        taskId = upload(report);
-      }
+    File report = generateReportFile();
+    if (properties.shouldKeepReport()) {
+      LOG.info("Analysis report generated in " + reportDir);
+    }
+    if (!analysisMode.isMediumTest()) {
+      taskId = upload(report);
     }
     logSuccess(taskId);
   }
@@ -154,7 +151,7 @@ public class ReportPublisher implements Startable {
       File reportZip = temp.newFile("scanner-report", ".zip");
       ZipUtils.zipDir(reportDir.toFile(), reportZip);
       stopTime = System.currentTimeMillis();
-      LOG.info("Analysis reports compressed in {}ms, zip size={}", stopTime - startTime, FileUtils.byteCountToDisplaySize(FileUtils.sizeOf(reportZip)));
+      LOG.info("Analysis report compressed in {}ms, zip size={}", stopTime - startTime, FileUtils.byteCountToDisplaySize(FileUtils.sizeOf(reportZip)));
       return reportZip;
     } catch (IOException e) {
       throw new IllegalStateException("Unable to prepare analysis report", e);
index 504c61f5c0b6a821f79ee8c9b4dd613e8b21b2c4..47ffbe18cf1e9d32d3db5fee509dbd6c178b0498 100644 (file)
@@ -57,7 +57,7 @@ public class DefaultSettingsLoader implements SettingsLoader {
     Profiler profiler = Profiler.create(LOG);
     if (componentKey != null) {
       url += "?component=" + ScannerUtils.encodeForUrl(componentKey);
-      profiler.startInfo("Load settings for component '" + componentKey + "'");
+      profiler.startInfo("Load project settings");
     } else {
       profiler.startInfo("Load global settings");
     }
index 3026296253b1dbc32d4af1b735303a59d73ae1cc..ffe0e15f073721bb9329341185cb6d17d1b2b2d7 100644 (file)
  */
 package org.sonar.scanner.scan;
 
-import java.nio.file.Path;
 import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
 import java.util.Locale;
 import java.util.Map;
-import java.util.Optional;
-import org.apache.commons.lang.StringUtils;
 import org.picocontainer.injectors.ProviderAdapter;
 import org.sonar.api.batch.bootstrap.ProjectDefinition;
 import org.sonar.api.batch.fs.internal.DefaultInputModule;
 import org.sonar.api.batch.fs.internal.DefaultInputProject;
-import org.sonar.api.scan.filesystem.PathResolver;
 import org.sonar.api.utils.log.Logger;
 import org.sonar.api.utils.log.Loggers;
 import org.sonar.scanner.scan.filesystem.ScannerComponentIdGenerator;
@@ -72,31 +66,7 @@ public class InputModuleHierarchyProvider extends ProviderAdapter {
     LOG.debug("    Base dir: {}", module.getBaseDir().toAbsolutePath().toString());
     LOG.debug("    Working dir: {}", module.getWorkDir().toAbsolutePath().toString());
     LOG.debug("    Module global encoding: {}, default locale: {}", module.getEncoding().displayName(), Locale.getDefault());
-    logPaths("    Source paths: ", module.getBaseDir(), module.getSourceDirsOrFiles());
-    logPaths("    Test paths: ", module.getBaseDir(), module.getTestDirsOrFiles());
     return module;
   }
 
-  private static void logPaths(String label, Path baseDir, List<Path> paths) {
-    if (!paths.isEmpty()) {
-      StringBuilder sb = new StringBuilder(label);
-      for (Iterator<Path> it = paths.iterator(); it.hasNext(); ) {
-        Path file = it.next();
-        Optional<String> relativePathToBaseDir = PathResolver.relativize(baseDir, file);
-        if (!relativePathToBaseDir.isPresent()) {
-          sb.append(file);
-        } else if (StringUtils.isBlank(relativePathToBaseDir.get())) {
-          sb.append(".");
-        } else {
-          sb.append(relativePathToBaseDir.get());
-        }
-        if (it.hasNext()) {
-          sb.append(", ");
-        }
-      }
-      LOG.info(sb.toString());
-    }
-  }
-
-
 }
index ea05d64e4b15d95ca509ff87a1f7fc3e2b230f67..4284848a6651314bb0e02eaec5f3ee04aecb6902 100644 (file)
@@ -46,6 +46,7 @@ public class InputProjectProvider extends ProviderAdapter {
       // 3 Create project
       project = new DefaultInputProject(projectReactor.getRoot(), scannerComponentIdGenerator.getAsInt());
 
+      LOG.info("Project key: {}", project.key());
       LOG.info("Base dir: {}", project.getBaseDir().toAbsolutePath().toString());
       LOG.info("Working dir: {}", project.getWorkDir().toAbsolutePath().toString());
       LOG.debug("Project global encoding: {}, default locale: {}", project.getEncoding().displayName(), Locale.getDefault());
index 50576d1d89ed13504f4ec4d1055e95efef3551fc..3bdfdf85c01d54f4b97cfd1918d35e5dad2a1e7b 100644 (file)
@@ -49,6 +49,7 @@ public class ProjectBuildersExecutor {
 
       for (ProjectBuilder projectBuilder : projectBuilders) {
         try {
+          LOG.debug("Execute project builder: {}", projectBuilder.getClass().getName());
           projectBuilder.build(context);
         } catch (Exception e) {
           throw MessageException.of("Failed to execute project builder: " + getDescription(projectBuilder), e);
index 578f8d120de722dfc3ff90a9a8f2f841fe37b99d..633efa40caa5b4a2913f96278e1b35dcba6341e3 100644 (file)
@@ -329,8 +329,6 @@ public class ProjectScanContainer extends ComponentContainer {
     ScanProperties properties = getComponentByType(ScanProperties.class);
     properties.validate();
 
-    LOG.info("Project key: {}", tree.root().key());
-    LOG.info("Project base dir: {}", tree.root().getBaseDir());
     properties.organizationKey().ifPresent(k -> LOG.info("Organization key: {}", k));
 
     String branch = tree.root().definition().getBranch();
@@ -360,6 +358,7 @@ public class ProjectScanContainer extends ComponentContainer {
     if (analysisMode.isIssues()) {
       getComponentByType(IssueTransition.class).execute();
       getComponentByType(JSONReport.class).execute();
+      LOG.info("ANALYSIS SUCCESSFUL");
     } else {
       getComponentByType(CpdExecutor.class).execute();
       getComponentByType(ReportPublisher.class).execute();
@@ -367,8 +366,6 @@ public class ProjectScanContainer extends ComponentContainer {
 
     getComponentByType(PostJobsExecutor.class).execute();
 
-    LOG.info("ANALYSIS SUCCESSFUL");
-
     if (analysisMode.isMediumTest()) {
       getComponentByType(AnalysisObservers.class).notifyEndOfScanTask();
     }
index bae2a44d47cc6ce183ab7472f4ef9ed96143dd06..525165f18eb1d5109a422370cb035118f334335c 100644 (file)
@@ -29,15 +29,19 @@ import java.nio.file.Path;
 import java.nio.file.attribute.BasicFileAttributes;
 import java.util.Collections;
 import java.util.Comparator;
+import java.util.Iterator;
 import java.util.List;
+import java.util.Optional;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicInteger;
+import org.apache.commons.lang.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.sonar.api.batch.fs.InputFile.Type;
 import org.sonar.api.batch.fs.internal.DefaultInputModule;
 import org.sonar.api.batch.fs.internal.DefaultInputProject;
 import org.sonar.api.batch.fs.internal.InputModuleHierarchy;
+import org.sonar.api.scan.filesystem.PathResolver;
 import org.sonar.scanner.phases.ModuleCoverageExclusions;
 import org.sonar.scanner.phases.ProjectCoverageExclusions;
 import org.sonar.scanner.util.ProgressReport;
@@ -92,7 +96,10 @@ public class ProjectFileIndexer {
 
   private void index(DefaultInputModule module, AtomicInteger excludedByPatternsCount) {
     if (componentStore.allModules().size() > 1) {
-      LOG.info("Indexing files from module {}", module.getName());
+      LOG.info("  Indexing files from module {}", module.getName());
+      LOG.info("    Base dir: {}", module.getBaseDir().toAbsolutePath().toString());
+      logPaths("    Source paths: ", module.getBaseDir(), module.getSourceDirsOrFiles());
+      logPaths("    Test paths: ", module.getBaseDir(), module.getTestDirsOrFiles());
     }
     ModuleExclusionFilters moduleExclusionFilters = new ModuleExclusionFilters(module);
     ModuleCoverageExclusions moduleCoverageExclusions = new ModuleCoverageExclusions(module);
@@ -100,6 +107,31 @@ public class ProjectFileIndexer {
     indexFiles(module, moduleExclusionFilters, moduleCoverageExclusions, module.getTestDirsOrFiles(), Type.TEST, excludedByPatternsCount);
   }
 
+  private static void logPaths(String label, Path baseDir, List<Path> paths) {
+    if (!paths.isEmpty()) {
+      StringBuilder sb = new StringBuilder(label);
+      for (Iterator<Path> it = paths.iterator(); it.hasNext(); ) {
+        Path file = it.next();
+        Optional<String> relativePathToBaseDir = PathResolver.relativize(baseDir, file);
+        if (!relativePathToBaseDir.isPresent()) {
+          sb.append(file);
+        } else if (StringUtils.isBlank(relativePathToBaseDir.get())) {
+          sb.append(".");
+        } else {
+          sb.append(relativePathToBaseDir.get());
+        }
+        if (it.hasNext()) {
+          sb.append(", ");
+        }
+      }
+      if (LOG.isDebugEnabled()) {
+        LOG.debug(sb.toString());
+      } else {
+        LOG.info(StringUtils.abbreviate(sb.toString(), 80));
+      }
+    }
+  }
+
   private static String pluralizeFiles(int count) {
     return count == 1 ? "file" : "files";
   }