diff options
author | Matteo Mara <matteo.mara@sonarsource.com> | 2023-12-22 10:28:17 +0100 |
---|---|---|
committer | sonartech <sonartech@sonarsource.com> | 2023-12-22 20:03:00 +0000 |
commit | c93c5127dc667a49642bbdaab9d4a766b9bf32e4 (patch) | |
tree | 6f51344cace18f42d1d2497064d3d3230e9f5f4e /sonar-scanner-engine/src/main | |
parent | 8d83a05ca5d3742d2184080c87043020b8db1cf6 (diff) | |
download | sonarqube-c93c5127dc667a49642bbdaab9d4a766b9bf32e4.tar.gz sonarqube-c93c5127dc667a49642bbdaab9d4a766b9bf32e4.zip |
Revert "SONAR-21195 Fetch publishAllFiles value from the languages registered by the plugins"
This reverts commit b3b72d16a630075b50815eb76fb0b05cbfaee636.
Diffstat (limited to 'sonar-scanner-engine/src/main')
3 files changed, 24 insertions, 91 deletions
diff --git a/sonar-scanner-engine/src/main/java/org/sonar/scanner/mediumtest/FakeLanguagesLoader.java b/sonar-scanner-engine/src/main/java/org/sonar/scanner/mediumtest/FakeLanguagesLoader.java index 088e27121ff..15153900f80 100644 --- a/sonar-scanner-engine/src/main/java/org/sonar/scanner/mediumtest/FakeLanguagesLoader.java +++ b/sonar-scanner-engine/src/main/java/org/sonar/scanner/mediumtest/FakeLanguagesLoader.java @@ -33,12 +33,12 @@ public class FakeLanguagesLoader implements LanguagesLoader { private final Map<String, Language> languageMap = new HashMap<>(); public FakeLanguagesLoader() { - languageMap.put("xoo", new Language(new SupportedLanguageDto("xoo", "xoo", new String[] { ".xoo" }, new String[0]))); + languageMap.put("xoo", new Language(new FakeLanguage("xoo", "xoo", new String[] { ".xoo" }, new String[0], true))); } public FakeLanguagesLoader(Languages languages) { for (org.sonar.api.resources.Language language : languages.all()) { - languageMap.put(language.getKey(), new Language(new SupportedLanguageDto(language.getKey(), language.getName(), language.getFileSuffixes(), language.filenamePatterns()))); + languageMap.put(language.getKey(), new Language(new FakeLanguage(language.getKey(), language.getName(), language.getFileSuffixes(), language.filenamePatterns(), true))); } } @Override @@ -47,7 +47,25 @@ public class FakeLanguagesLoader implements LanguagesLoader { } public void addLanguage(String key, String name, String[] suffixes, String[] filenamePatterns) { - languageMap.put(key, new Language(new SupportedLanguageDto(key, name, suffixes, filenamePatterns))); + languageMap.put(key, new Language(new FakeLanguage(key, name, suffixes, filenamePatterns, true))); } + public void addLanguage(String key, String name, String[] suffixes, String[] filenamePatterns, boolean publishAllFiles) { + languageMap.put(key, new Language(new FakeLanguage(key, name, suffixes, filenamePatterns, publishAllFiles))); + } + + private static class FakeLanguage extends SupportedLanguageDto { + + private final boolean publishAllFiles; + + public FakeLanguage(String key, String name, String[] fileSuffixes, String[] filenamePatterns, boolean publishAllFiles) { + super(key, name, fileSuffixes, filenamePatterns); + this.publishAllFiles = publishAllFiles; + } + + @Override + public boolean publishAllFiles() { + return publishAllFiles; + } + } } diff --git a/sonar-scanner-engine/src/main/java/org/sonar/scanner/mediumtest/FakeLanguagesProvider.java b/sonar-scanner-engine/src/main/java/org/sonar/scanner/mediumtest/FakeLanguagesProvider.java deleted file mode 100644 index c6046cdbf34..00000000000 --- a/sonar-scanner-engine/src/main/java/org/sonar/scanner/mediumtest/FakeLanguagesProvider.java +++ /dev/null @@ -1,75 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2023 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -package org.sonar.scanner.mediumtest; - -import javax.annotation.Priority; -import org.sonar.api.resources.Language; -import org.sonar.api.resources.Languages; -import org.springframework.context.annotation.Bean; - -@Priority(1) -public class FakeLanguagesProvider { - - private Languages languages = new Languages(); - - @Bean("Languages") - public Languages provide() { - return this.languages; - } - - public void addLanguage(String key, String name, boolean publishAllFiles) { - this.languages.add(new FakeLanguage(key, name, publishAllFiles)); - } - - private static class FakeLanguage implements Language { - - private final String name; - private final String key; - private final boolean publishAllFiles; - - public FakeLanguage(String key, String name, boolean publishAllFiles) { - this.name = name; - this.key = key; - this.publishAllFiles = publishAllFiles; - } - - @Override - public String getKey() { - return this.key; - } - - @Override - public String getName() { - return this.name; - } - - @Override - public String[] getFileSuffixes() { - return new String[0]; - } - - @Override - public boolean publishAllFiles() { - return this.publishAllFiles; - } - } - - -} diff --git a/sonar-scanner-engine/src/main/java/org/sonar/scanner/scan/filesystem/FileIndexer.java b/sonar-scanner-engine/src/main/java/org/sonar/scanner/scan/filesystem/FileIndexer.java index 25686fb7ac4..4d264590716 100644 --- a/sonar-scanner-engine/src/main/java/org/sonar/scanner/scan/filesystem/FileIndexer.java +++ b/sonar-scanner-engine/src/main/java/org/sonar/scanner/scan/filesystem/FileIndexer.java @@ -32,7 +32,6 @@ import org.sonar.api.batch.fs.internal.DefaultInputFile; import org.sonar.api.batch.fs.internal.DefaultInputModule; import org.sonar.api.batch.fs.internal.DefaultInputProject; import org.sonar.api.batch.fs.internal.SensorStrategy; -import org.sonar.api.resources.Languages; import org.sonar.api.utils.MessageException; import org.sonar.scanner.issue.ignore.scanner.IssueExclusionsLoader; import org.sonar.scanner.repository.language.Language; @@ -60,15 +59,14 @@ public class FileIndexer { private final LanguageDetection langDetection; private final StatusDetection statusDetection; private final ScmChangedFiles scmChangedFiles; + private final ModuleRelativePathWarner moduleRelativePathWarner; private final InputFileFilterRepository inputFileFilterRepository; - private final Languages languages; public FileIndexer(DefaultInputProject project, ScannerComponentIdGenerator scannerComponentIdGenerator, InputComponentStore componentStore, ProjectCoverageAndDuplicationExclusions projectCoverageAndDuplicationExclusions, IssueExclusionsLoader issueExclusionsLoader, MetadataGenerator metadataGenerator, SensorStrategy sensorStrategy, LanguageDetection languageDetection, ScanProperties properties, - ScmChangedFiles scmChangedFiles, StatusDetection statusDetection, ModuleRelativePathWarner moduleRelativePathWarner, - InputFileFilterRepository inputFileFilterRepository, Languages languages) { + ScmChangedFiles scmChangedFiles, StatusDetection statusDetection, ModuleRelativePathWarner moduleRelativePathWarner, InputFileFilterRepository inputFileFilterRepository) { this.project = project; this.scannerComponentIdGenerator = scannerComponentIdGenerator; this.componentStore = componentStore; @@ -82,7 +80,6 @@ public class FileIndexer { this.statusDetection = statusDetection; this.moduleRelativePathWarner = moduleRelativePathWarner; this.inputFileFilterRepository = inputFileFilterRepository; - this.languages = languages; } void indexFile(DefaultInputModule module, ModuleCoverageAndDuplicationExclusions moduleCoverageAndDuplicationExclusions, Path sourceFile, @@ -107,7 +104,7 @@ public class FileIndexer { DefaultInputFile inputFile = new DefaultInputFile(indexedFile, f -> metadataGenerator.setMetadata(module.key(), f, module.getEncoding()), f -> f.setStatus(statusDetection.findStatusFromScm(f))); - if (language != null && isPublishAllFiles(language.key())) { + if (language != null && language.isPublishAllFiles()) { inputFile.setPublished(true); } if (!accept(inputFile)) { @@ -129,13 +126,6 @@ public class FileIndexer { progressReport.message(count + " " + pluralizeFiles(count) + " indexed... (last one was " + inputFile.getProjectRelativePath() + ")"); } - private boolean isPublishAllFiles(String languageKey) { - if (languages.get(languageKey) != null) { - return languages.get(languageKey).publishAllFiles(); - } - return false; - } - private void checkIfAlreadyIndexed(DefaultInputFile inputFile) { if (componentStore.inputFile(inputFile.getProjectRelativePath()) != null) { throw MessageException.of("File " + inputFile + " can't be indexed twice. Please check that inclusion/exclusion patterns produce " |