diff options
6 files changed, 29 insertions, 30 deletions
diff --git a/sonar-core/src/main/java/org/sonar/classloader/ClassloaderBuilder.java b/sonar-core/src/main/java/org/sonar/classloader/ClassloaderBuilder.java index 076865924dd..5a843212fc9 100644 --- a/sonar-core/src/main/java/org/sonar/classloader/ClassloaderBuilder.java +++ b/sonar-core/src/main/java/org/sonar/classloader/ClassloaderBuilder.java @@ -117,13 +117,7 @@ public class ClassloaderBuilder { throw new IllegalStateException(String.format("The classloader '%s' already exists in the list of previously created classloaders." + " Can not create it twice.", key)); } - //TODO: to be checked, the other version of the code is not building - ClassRealm realm = AccessController.doPrivileged(new PrivilegedAction<ClassRealm>() { - @Override - public ClassRealm run() { - return new ClassRealm(key, baseClassloader); - } - }); + ClassRealm realm = AccessController.doPrivileged((PrivilegedAction<ClassRealm>) () -> new ClassRealm(key, baseClassloader)); realm.setStrategy(LoadingOrder.PARENT_FIRST.strategy); newRealmsByKey.put(key, new NewRealm(realm)); return this; diff --git a/sonar-scanner-engine/src/it/java/org/sonar/scanner/mediumtest/fs/FileSystemMediumIT.java b/sonar-scanner-engine/src/it/java/org/sonar/scanner/mediumtest/fs/FileSystemMediumIT.java index 1b3ac84f4dc..0229752156f 100644 --- a/sonar-scanner-engine/src/it/java/org/sonar/scanner/mediumtest/fs/FileSystemMediumIT.java +++ b/sonar-scanner-engine/src/it/java/org/sonar/scanner/mediumtest/fs/FileSystemMediumIT.java @@ -133,7 +133,7 @@ public class FileSystemMediumIT { .put("sonar.sources", "src") .build()) .execute()) - .isInstanceOf(MessageException.class); + .isInstanceOf(MessageException.class); } @Test @@ -695,8 +695,8 @@ public class FileSystemMediumIT { .put("sonar.sources", "src,src/sample.xoo") .build()) .execute()) - .isInstanceOf(MessageException.class) - .hasMessage("File src/sample.xoo can't be indexed twice. Please check that inclusion/exclusion patterns produce disjoint sets for main and test files"); + .isInstanceOf(MessageException.class) + .hasMessage("File src/sample.xoo can't be indexed twice. Please check that inclusion/exclusion patterns produce disjoint sets for main and test files"); } // SONAR-9574 @@ -714,8 +714,8 @@ public class FileSystemMediumIT { .put("module1.sonar.sources", "src") .build()) .execute()) - .isInstanceOf(MessageException.class) - .hasMessage("File module1/src/sample.xoo can't be indexed twice. Please check that inclusion/exclusion patterns produce disjoint sets for main and test files"); + .isInstanceOf(MessageException.class) + .hasMessage("File module1/src/sample.xoo can't be indexed twice. Please check that inclusion/exclusion patterns produce disjoint sets for main and test files"); } // SONAR-5330 @@ -870,7 +870,7 @@ public class FileSystemMediumIT { File srcDir = new File(baseDir, "src"); srcDir.mkdir(); - tester.addLanguage("xoo3", "xoo3",false, ".xoo3"); + tester.addLanguage("xoo3", "xoo3", false, ".xoo3"); writeFile(srcDir, "sample.xoo3", "Sample xoo\ncontent"); writeFile(srcDir, "sample2.xoo3", "Sample xoo 2\ncontent"); @@ -1236,7 +1236,7 @@ public class FileSystemMediumIT { .build()) .execute(); - assertAnalysedFiles(result, "src/srcSubDir/srcSub.xoo"); + assertAnalysedFiles(result, "src/srcSubDir/srcSub.xoo"); } @Test diff --git a/sonar-scanner-engine/src/main/java/org/sonar/scanner/bootstrap/SpringScannerContainer.java b/sonar-scanner-engine/src/main/java/org/sonar/scanner/bootstrap/SpringScannerContainer.java index d7cecd16ed3..efee457d5a1 100644 --- a/sonar-scanner-engine/src/main/java/org/sonar/scanner/bootstrap/SpringScannerContainer.java +++ b/sonar-scanner-engine/src/main/java/org/sonar/scanner/bootstrap/SpringScannerContainer.java @@ -330,10 +330,10 @@ public class SpringScannerContainer extends SpringComponentContainer { }); BranchConfiguration branchConfig = getComponentByType(BranchConfiguration.class); - if (branchConfig.branchType() == BranchType.PULL_REQUEST) { + if (branchConfig.branchType() == BranchType.PULL_REQUEST && LOG.isInfoEnabled()) { LOG.info("Pull request {} for merge into {} from {}", branchConfig.pullRequestKey(), pullRequestBaseToDisplayName(branchConfig.targetBranchName()), branchConfig.branchName()); - } else if (branchConfig.branchName() != null) { + } else if (branchConfig.branchName() != null && LOG.isInfoEnabled()) { LOG.info("Branch name: {}", branchConfig.branchName()); } diff --git a/sonar-scanner-engine/src/main/java/org/sonar/scanner/repository/language/DefaultLanguagesRepository.java b/sonar-scanner-engine/src/main/java/org/sonar/scanner/repository/language/DefaultLanguagesRepository.java index 607587950b6..0dd80451fa2 100644 --- a/sonar-scanner-engine/src/main/java/org/sonar/scanner/repository/language/DefaultLanguagesRepository.java +++ b/sonar-scanner-engine/src/main/java/org/sonar/scanner/repository/language/DefaultLanguagesRepository.java @@ -30,6 +30,7 @@ import java.util.stream.Collectors; import javax.annotation.CheckForNull; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import javax.annotation.concurrent.Immutable; import org.sonar.api.Startable; import org.sonar.api.config.Configuration; import org.sonar.api.resources.Languages; @@ -40,6 +41,7 @@ import org.sonarqube.ws.client.GetRequest; * Languages repository using {@link Languages} * @since 4.4 */ +@Immutable public class DefaultLanguagesRepository implements LanguagesRepository, Startable { private static final Logger LOG = LoggerFactory.getLogger(DefaultLanguagesRepository.class); private static final String LANGUAGES_WS_URL = "/api/languages/list"; @@ -75,9 +77,8 @@ public class DefaultLanguagesRepository implements LanguagesRepository, Startabl } private Language populateFileSuffixesAndPatterns(SupportedLanguageDto lang) { - String propertyFragment = PROPERTY_FRAGMENT_MAP.getOrDefault(lang.getKey(), lang.getKey()); - lang.setFileSuffixes(properties.getStringArray(String.format("sonar.%s.file.suffixes", propertyFragment))); - lang.setFilenamePatterns(properties.getStringArray(String.format("sonar.%s.file.patterns", propertyFragment))); + lang.setFileSuffixes(getFileSuffixes(lang.getKey())); + lang.setFilenamePatterns(getFilenamePatterns(lang.getKey())); if (lang.filenamePatterns() == null && lang.getFileSuffixes() == null) { LOG.debug("Language '{}' cannot be detected as it has neither suffixes nor patterns.", lang.getName()); } @@ -85,7 +86,15 @@ public class DefaultLanguagesRepository implements LanguagesRepository, Startabl } private String[] getFileSuffixes(String languageKey) { - String propName = String.format("sonar.%s.file.suffixes", PROPERTY_FRAGMENT_MAP.getOrDefault(languageKey, languageKey)); + return getPropertyForLanguage("sonar.%s.file.suffixes", languageKey); + } + + private String[] getFilenamePatterns(String languageKey) { + return getPropertyForLanguage("sonar.%s.file.patterns", languageKey); + } + + private String[] getPropertyForLanguage(String propertyPattern, String languageKey) { + String propName = String.format(propertyPattern, PROPERTY_FRAGMENT_MAP.getOrDefault(languageKey, languageKey)); return properties.getStringArray(propName); } diff --git a/sonar-scanner-engine/src/main/java/org/sonar/scanner/scan/filesystem/DirectoryFileVisitor.java b/sonar-scanner-engine/src/main/java/org/sonar/scanner/scan/filesystem/DirectoryFileVisitor.java index 57720692eb0..ea0bacb9a59 100644 --- a/sonar-scanner-engine/src/main/java/org/sonar/scanner/scan/filesystem/DirectoryFileVisitor.java +++ b/sonar-scanner-engine/src/main/java/org/sonar/scanner/scan/filesystem/DirectoryFileVisitor.java @@ -47,7 +47,8 @@ public class DirectoryFileVisitor implements FileVisitor<Path> { private final InputModuleHierarchy inputModuleHierarchy; private final InputFile.Type type; - DirectoryFileVisitor(FileVisitAction fileVisitAction, DefaultInputModule module, ModuleExclusionFilters moduleExclusionFilters, InputModuleHierarchy inputModuleHierarchy, InputFile.Type type) { + DirectoryFileVisitor(FileVisitAction fileVisitAction, DefaultInputModule module, ModuleExclusionFilters moduleExclusionFilters, + InputModuleHierarchy inputModuleHierarchy, InputFile.Type type) { this.fileVisitAction = fileVisitAction; this.module = module; this.moduleExclusionFilters = moduleExclusionFilters; diff --git a/sonar-scanner-engine/src/main/java/org/sonar/scanner/scan/filesystem/ProjectFilePreprocessor.java b/sonar-scanner-engine/src/main/java/org/sonar/scanner/scan/filesystem/ProjectFilePreprocessor.java index 31a467fd5ce..4f2b9570860 100644 --- a/sonar-scanner-engine/src/main/java/org/sonar/scanner/scan/filesystem/ProjectFilePreprocessor.java +++ b/sonar-scanner-engine/src/main/java/org/sonar/scanner/scan/filesystem/ProjectFilePreprocessor.java @@ -54,7 +54,6 @@ import static java.util.Collections.singletonList; public class ProjectFilePreprocessor { private static final Logger LOG = LoggerFactory.getLogger(ProjectFilePreprocessor.class); - private static final String TELEMETRY_STEP_NAME = "file.preprocessing"; private final AnalysisWarnings analysisWarnings; private final IgnoreCommand ignoreCommand; @@ -113,17 +112,13 @@ public class ProjectFilePreprocessor { pluralizeWithCount("preprocessed file", totalFilesPreprocessed))); int excludedFileByPatternCount = exclusionCounter.getByPatternsCount(); - if (projectExclusionFilters.hasPattern() || excludedFileByPatternCount > 0) { - if (LOG.isInfoEnabled()) { - LOG.info("{} ignored because of inclusion/exclusion patterns", pluralizeWithCount("file", excludedFileByPatternCount)); - } + if ((projectExclusionFilters.hasPattern() || excludedFileByPatternCount > 0) && LOG.isInfoEnabled()) { + LOG.info("{} ignored because of inclusion/exclusion patterns", pluralizeWithCount("file", excludedFileByPatternCount)); } int excludedFileByScmCount = exclusionCounter.getByScmCount(); - if (useScmExclusion) { - if (LOG.isInfoEnabled()) { - LOG.info("{} ignored because of scm ignore settings", pluralizeWithCount("file", excludedFileByScmCount)); - } + if (useScmExclusion && LOG.isInfoEnabled()) { + LOG.info("{} ignored because of scm ignore settings", pluralizeWithCount("file", excludedFileByScmCount)); } } |