From 775cfa1c87146daee1ddf36466df67564017c15a Mon Sep 17 00:00:00 2001 From: Ilia Kebets Date: Fri, 1 Mar 2024 12:54:21 +0100 Subject: [PATCH 1/2] Fix issues related to Java v17 bump --- .../css/src/main/java/org/sonar/css/CssRules.java | 3 +-- .../src/main/java/org/sonar/css/metrics/Tokenizer.java | 3 +-- .../css/src/main/java/org/sonar/css/rules/RuleUtils.java | 3 +-- .../java/org/sonar/css/rules/SelectorTypeNoUnknown.java | 8 +++++--- .../sonar/javascript/checks/NoUnknownPropertyCheck.java | 5 +---- .../sonar/plugins/javascript/bridge/CssRuleSensor.java | 3 +-- .../org/sonar/plugins/javascript/bridge/EslintRule.java | 9 ++------- .../org/sonar/plugins/javascript/bridge/HtmlSensor.java | 3 +-- .../org/sonar/plugins/javascript/bridge/JsTsChecks.java | 3 +-- .../org/sonar/plugins/javascript/bridge/JsTsSensor.java | 3 +-- .../sonar/plugins/javascript/bridge/RulesBundles.java | 3 +-- .../plugins/javascript/bridge/TsConfigProvider.java | 3 +-- .../org/sonar/plugins/javascript/bridge/YamlSensor.java | 3 +-- .../sonar/plugins/javascript/bridge/cache/CacheKey.java | 5 ++--- .../javascript/bridge/cache/SequenceSerialization.java | 3 +-- .../javascript/filter/AverageLineLengthCalculator.java | 3 +-- .../filter/JavaScriptExclusionsFileFilter.java | 5 ++--- .../org/sonar/plugins/javascript/lcov/LCOVParser.java | 3 +-- .../javascript/utils/RulesMetadataForSonarLint.java | 6 ++---- .../src/main/java/org/sonarsource/javascript/XZ.java | 7 +------ 20 files changed, 28 insertions(+), 56 deletions(-) diff --git a/sonar-plugin/css/src/main/java/org/sonar/css/CssRules.java b/sonar-plugin/css/src/main/java/org/sonar/css/CssRules.java index 7e7404fa01d..aecdfb90314 100644 --- a/sonar-plugin/css/src/main/java/org/sonar/css/CssRules.java +++ b/sonar-plugin/css/src/main/java/org/sonar/css/CssRules.java @@ -25,7 +25,6 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.stream.Collectors; import javax.annotation.Nullable; import org.sonar.api.batch.rule.CheckFactory; import org.sonar.api.batch.rule.Checks; @@ -115,6 +114,6 @@ public RuleKey getActiveSonarKey(String stylelintKey) { public List getStylelintRules() { return this.rules.stream() .map(rule -> new StylelintRule(rule.stylelintKey(), rule.stylelintOptions())) - .collect(Collectors.toList()); + .toList(); } } diff --git a/sonar-plugin/css/src/main/java/org/sonar/css/metrics/Tokenizer.java b/sonar-plugin/css/src/main/java/org/sonar/css/metrics/Tokenizer.java index c9abadad12c..c4dfcfa763e 100644 --- a/sonar-plugin/css/src/main/java/org/sonar/css/metrics/Tokenizer.java +++ b/sonar-plugin/css/src/main/java/org/sonar/css/metrics/Tokenizer.java @@ -22,7 +22,6 @@ import com.sonar.sslr.api.Token; import java.util.ArrayList; import java.util.List; -import java.util.stream.Collectors; public class Tokenizer { @@ -33,6 +32,6 @@ public List tokenize(String css) { List cloneTokenList = new ArrayList<>(tokenList); cloneTokenList.remove(cloneTokenList.size() - 1); - return cloneTokenList.stream().map(CssToken::new).collect(Collectors.toList()); + return cloneTokenList.stream().map(CssToken::new).toList(); } } diff --git a/sonar-plugin/css/src/main/java/org/sonar/css/rules/RuleUtils.java b/sonar-plugin/css/src/main/java/org/sonar/css/rules/RuleUtils.java index f192fdcc6b9..42017b7736e 100644 --- a/sonar-plugin/css/src/main/java/org/sonar/css/rules/RuleUtils.java +++ b/sonar-plugin/css/src/main/java/org/sonar/css/rules/RuleUtils.java @@ -22,7 +22,6 @@ import java.util.Arrays; import java.util.Collections; import java.util.List; -import java.util.stream.Collectors; public class RuleUtils { @@ -33,6 +32,6 @@ public static List splitAndTrim(String parameterValue) { return Collections.emptyList(); } String[] split = parameterValue.split(","); - return Arrays.stream(split).map(String::trim).collect(Collectors.toList()); + return Arrays.stream(split).map(String::trim).toList(); } } diff --git a/sonar-plugin/css/src/main/java/org/sonar/css/rules/SelectorTypeNoUnknown.java b/sonar-plugin/css/src/main/java/org/sonar/css/rules/SelectorTypeNoUnknown.java index 82ea81ec064..adb3340a4ae 100644 --- a/sonar-plugin/css/src/main/java/org/sonar/css/rules/SelectorTypeNoUnknown.java +++ b/sonar-plugin/css/src/main/java/org/sonar/css/rules/SelectorTypeNoUnknown.java @@ -43,9 +43,11 @@ public class SelectorTypeNoUnknown implements CssRule { @RuleProperty( key = "ignore", - description = "Comma-separated list of ignored elements. The possible values are:\n" + - "\"custom-elements\": Allow custom elements (e.g \"x-foo\").\n" + - "\"default-namespace\": Allow unknown type selectors if they belong to the default namespace.", + description = """ + Comma-separated list of ignored elements. The possible values are: + "custom-elements": Allow custom elements (e.g "x-foo"). + "default-namespace": Allow unknown type selectors if they belong to the default namespace. + """, defaultValue = "" + DEFAULT_IGNORE ) String ignore = DEFAULT_IGNORE; diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUnknownPropertyCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUnknownPropertyCheck.java index 5e4e2ce60a2..c4674beae29 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUnknownPropertyCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUnknownPropertyCheck.java @@ -22,7 +22,6 @@ import java.util.Arrays; import java.util.Collections; import java.util.List; -import java.util.stream.Collectors; import org.sonar.check.Rule; import org.sonar.check.RuleProperty; import org.sonar.plugins.javascript.api.EslintBasedCheck; @@ -44,9 +43,7 @@ public class NoUnknownPropertyCheck implements EslintBasedCheck { @Override public List configurations() { return Collections.singletonList( - new Config( - Arrays.asList(whitelist.split(",")).stream().map(String::trim).collect(Collectors.toList()) - ) + new Config(Arrays.asList(whitelist.split(",")).stream().map(String::trim).toList()) ); } diff --git a/sonar-plugin/sonar-javascript-plugin/src/main/java/org/sonar/plugins/javascript/bridge/CssRuleSensor.java b/sonar-plugin/sonar-javascript-plugin/src/main/java/org/sonar/plugins/javascript/bridge/CssRuleSensor.java index 1a9d644641e..13d18ef15ab 100644 --- a/sonar-plugin/sonar-javascript-plugin/src/main/java/org/sonar/plugins/javascript/bridge/CssRuleSensor.java +++ b/sonar-plugin/sonar-javascript-plugin/src/main/java/org/sonar/plugins/javascript/bridge/CssRuleSensor.java @@ -26,7 +26,6 @@ import java.util.concurrent.TimeUnit; import java.util.regex.Matcher; import java.util.regex.Pattern; -import java.util.stream.Collectors; import java.util.stream.StreamSupport; import org.sonar.api.SonarProduct; import org.sonar.api.SonarRuntime; @@ -232,7 +231,7 @@ protected List getInputFiles() { .spliterator(), false ) - .collect(Collectors.toList()); + .toList(); } public static boolean hasCssFiles(SensorContext context) { diff --git a/sonar-plugin/sonar-javascript-plugin/src/main/java/org/sonar/plugins/javascript/bridge/EslintRule.java b/sonar-plugin/sonar-javascript-plugin/src/main/java/org/sonar/plugins/javascript/bridge/EslintRule.java index c359072e82b..490eda34723 100644 --- a/sonar-plugin/sonar-javascript-plugin/src/main/java/org/sonar/plugins/javascript/bridge/EslintRule.java +++ b/sonar-plugin/sonar-javascript-plugin/src/main/java/org/sonar/plugins/javascript/bridge/EslintRule.java @@ -22,7 +22,6 @@ import java.util.List; import java.util.Set; import java.util.function.Predicate; -import java.util.stream.Collectors; import org.sonar.api.batch.fs.InputFile; import org.sonar.plugins.javascript.JavaScriptLanguage; import org.sonar.plugins.javascript.TypeScriptLanguage; @@ -43,8 +42,7 @@ class EslintRule { String language ) { this.key = key; - this.fileTypeTarget = - fileTypeTarget.stream().map(InputFile.Type::name).collect(Collectors.toList()); + this.fileTypeTarget = fileTypeTarget.stream().map(InputFile.Type::name).toList(); this.configurations = configurations; // unfortunately we can't check this using types, so it's enforced at runtime if (!JavaScriptLanguage.KEY.equals(language) && !TypeScriptLanguage.KEY.equals(language)) { @@ -71,10 +69,7 @@ static EslintRule findFirstRuleWithKey(List rules, String eslintKey) } static List findAllBut(List rules, Set blackListRuleKeys) { - return rules - .stream() - .filter(rule -> !blackListRuleKeys.contains(rule.key)) - .collect(Collectors.toList()); + return rules.stream().filter(rule -> !blackListRuleKeys.contains(rule.key)).toList(); } private static Predicate ruleMatcher(String eslintKey) { diff --git a/sonar-plugin/sonar-javascript-plugin/src/main/java/org/sonar/plugins/javascript/bridge/HtmlSensor.java b/sonar-plugin/sonar-javascript-plugin/src/main/java/org/sonar/plugins/javascript/bridge/HtmlSensor.java index e3b48045a9a..7c068be98a2 100644 --- a/sonar-plugin/sonar-javascript-plugin/src/main/java/org/sonar/plugins/javascript/bridge/HtmlSensor.java +++ b/sonar-plugin/sonar-javascript-plugin/src/main/java/org/sonar/plugins/javascript/bridge/HtmlSensor.java @@ -22,7 +22,6 @@ import java.io.IOException; import java.util.List; import java.util.concurrent.TimeUnit; -import java.util.stream.Collectors; import java.util.stream.StreamSupport; import org.sonar.api.batch.fs.FilePredicate; import org.sonar.api.batch.fs.FilePredicates; @@ -117,7 +116,7 @@ protected List getInputFiles() { ) ); var inputFiles = context.fileSystem().inputFiles(filePredicate); - return StreamSupport.stream(inputFiles.spliterator(), false).collect(Collectors.toList()); + return StreamSupport.stream(inputFiles.spliterator(), false).toList(); } private void analyze(InputFile file, CacheStrategy cacheStrategy) throws IOException { diff --git a/sonar-plugin/sonar-javascript-plugin/src/main/java/org/sonar/plugins/javascript/bridge/JsTsChecks.java b/sonar-plugin/sonar-javascript-plugin/src/main/java/org/sonar/plugins/javascript/bridge/JsTsChecks.java index e85ec98b809..8bca6b3a957 100644 --- a/sonar-plugin/sonar-javascript-plugin/src/main/java/org/sonar/plugins/javascript/bridge/JsTsChecks.java +++ b/sonar-plugin/sonar-javascript-plugin/src/main/java/org/sonar/plugins/javascript/bridge/JsTsChecks.java @@ -24,7 +24,6 @@ import java.util.List; import java.util.Map; import java.util.Objects; -import java.util.stream.Collectors; import java.util.stream.Stream; import javax.annotation.Nullable; import org.sonar.api.batch.rule.CheckFactory; @@ -169,7 +168,7 @@ List eslintRules() { ) ) ) - .collect(Collectors.toList()); + .toList(); } static class LanguageAndRepository { diff --git a/sonar-plugin/sonar-javascript-plugin/src/main/java/org/sonar/plugins/javascript/bridge/JsTsSensor.java b/sonar-plugin/sonar-javascript-plugin/src/main/java/org/sonar/plugins/javascript/bridge/JsTsSensor.java index 2460d66d81c..ce81e71e6df 100644 --- a/sonar-plugin/sonar-javascript-plugin/src/main/java/org/sonar/plugins/javascript/bridge/JsTsSensor.java +++ b/sonar-plugin/sonar-javascript-plugin/src/main/java/org/sonar/plugins/javascript/bridge/JsTsSensor.java @@ -21,7 +21,6 @@ import java.io.IOException; import java.util.List; -import java.util.stream.Collectors; import java.util.stream.StreamSupport; import javax.annotation.Nullable; import org.sonar.api.batch.fs.FilePredicate; @@ -98,7 +97,7 @@ protected List getInputFiles() { FilePredicate allFilesPredicate = JavaScriptFilePredicate.getJsTsPredicate(fileSystem); return StreamSupport .stream(fileSystem.inputFiles(allFilesPredicate).spliterator(), false) - .collect(Collectors.toList()); + .toList(); } @Override diff --git a/sonar-plugin/sonar-javascript-plugin/src/main/java/org/sonar/plugins/javascript/bridge/RulesBundles.java b/sonar-plugin/sonar-javascript-plugin/src/main/java/org/sonar/plugins/javascript/bridge/RulesBundles.java index 3a7cb5cf454..8300ef7d4ca 100644 --- a/sonar-plugin/sonar-javascript-plugin/src/main/java/org/sonar/plugins/javascript/bridge/RulesBundles.java +++ b/sonar-plugin/sonar-javascript-plugin/src/main/java/org/sonar/plugins/javascript/bridge/RulesBundles.java @@ -28,7 +28,6 @@ import java.util.Collections; import java.util.List; import java.util.Optional; -import java.util.stream.Collectors; import org.sonar.api.scanner.ScannerSide; import org.sonar.api.utils.log.Logger; import org.sonar.api.utils.log.Loggers; @@ -70,7 +69,7 @@ public RulesBundles(RulesBundle[] rulesBundles) { } return resource; }) - .collect(Collectors.toList()); + .toList(); } /** diff --git a/sonar-plugin/sonar-javascript-plugin/src/main/java/org/sonar/plugins/javascript/bridge/TsConfigProvider.java b/sonar-plugin/sonar-javascript-plugin/src/main/java/org/sonar/plugins/javascript/bridge/TsConfigProvider.java index 30cdb8d05f1..e278a2632ec 100644 --- a/sonar-plugin/sonar-javascript-plugin/src/main/java/org/sonar/plugins/javascript/bridge/TsConfigProvider.java +++ b/sonar-plugin/sonar-javascript-plugin/src/main/java/org/sonar/plugins/javascript/bridge/TsConfigProvider.java @@ -21,7 +21,6 @@ import static java.util.Collections.emptyList; import static java.util.Collections.singletonList; -import static java.util.stream.Collectors.toList; import com.google.gson.Gson; import java.io.File; @@ -141,7 +140,7 @@ public List tsconfigs(SensorContext context) { FileProvider fileProvider = new FileProvider(baseDir, pattern); List matchingTsconfigs = fileProvider.getMatchingFiles(); if (!matchingTsconfigs.isEmpty()) { - tsconfigs.addAll(matchingTsconfigs.stream().map(File::getAbsolutePath).collect(toList())); + tsconfigs.addAll(matchingTsconfigs.stream().map(File::getAbsolutePath).toList()); } } diff --git a/sonar-plugin/sonar-javascript-plugin/src/main/java/org/sonar/plugins/javascript/bridge/YamlSensor.java b/sonar-plugin/sonar-javascript-plugin/src/main/java/org/sonar/plugins/javascript/bridge/YamlSensor.java index 4397581ef1a..7923ab49085 100644 --- a/sonar-plugin/sonar-javascript-plugin/src/main/java/org/sonar/plugins/javascript/bridge/YamlSensor.java +++ b/sonar-plugin/sonar-javascript-plugin/src/main/java/org/sonar/plugins/javascript/bridge/YamlSensor.java @@ -25,7 +25,6 @@ import java.util.concurrent.TimeUnit; import java.util.regex.Matcher; import java.util.regex.Pattern; -import java.util.stream.Collectors; import java.util.stream.StreamSupport; import org.sonar.api.batch.fs.FilePredicates; import org.sonar.api.batch.fs.InputFile; @@ -112,7 +111,7 @@ protected List getInputFiles() { input -> isSamTemplate(input, LOG) ); var inputFiles = context.fileSystem().inputFiles(filePredicate); - return StreamSupport.stream(inputFiles.spliterator(), false).collect(Collectors.toList()); + return StreamSupport.stream(inputFiles.spliterator(), false).toList(); } // Inspired from diff --git a/sonar-plugin/sonar-javascript-plugin/src/main/java/org/sonar/plugins/javascript/bridge/cache/CacheKey.java b/sonar-plugin/sonar-javascript-plugin/src/main/java/org/sonar/plugins/javascript/bridge/cache/CacheKey.java index 215027a9dfc..aba652dae47 100644 --- a/sonar-plugin/sonar-javascript-plugin/src/main/java/org/sonar/plugins/javascript/bridge/cache/CacheKey.java +++ b/sonar-plugin/sonar-javascript-plugin/src/main/java/org/sonar/plugins/javascript/bridge/cache/CacheKey.java @@ -20,7 +20,6 @@ package org.sonar.plugins.javascript.bridge.cache; import static java.util.Collections.emptyList; -import static java.util.stream.Collectors.toList; import java.util.ArrayList; import java.util.Arrays; @@ -38,7 +37,7 @@ class CacheKey { private final String pluginVersion; private CacheKey(List prefixes, @Nullable String pluginVersion, String file) { - this.prefixes = prefixes.stream().filter(Objects::nonNull).collect(toList()); + this.prefixes = prefixes.stream().filter(Objects::nonNull).toList(); this.pluginVersion = pluginVersion; this.file = file; } @@ -68,7 +67,7 @@ CacheKey forFileMetadata() { CacheKey withPrefix(String... prefixes) { return new CacheKey( - Stream.concat(this.prefixes.stream(), Arrays.stream(prefixes)).collect(toList()), + Stream.concat(this.prefixes.stream(), Arrays.stream(prefixes)).toList(), pluginVersion, file ); diff --git a/sonar-plugin/sonar-javascript-plugin/src/main/java/org/sonar/plugins/javascript/bridge/cache/SequenceSerialization.java b/sonar-plugin/sonar-javascript-plugin/src/main/java/org/sonar/plugins/javascript/bridge/cache/SequenceSerialization.java index fbbdc25d911..659162326ef 100644 --- a/sonar-plugin/sonar-javascript-plugin/src/main/java/org/sonar/plugins/javascript/bridge/cache/SequenceSerialization.java +++ b/sonar-plugin/sonar-javascript-plugin/src/main/java/org/sonar/plugins/javascript/bridge/cache/SequenceSerialization.java @@ -22,7 +22,6 @@ import static java.util.Collections.emptyList; import static java.util.Objects.requireNonNull; import static java.util.stream.Collectors.joining; -import static java.util.stream.Collectors.toList; import java.io.BufferedOutputStream; import java.io.IOException; @@ -110,7 +109,7 @@ private static FilesManifest createManifest(Path directory, FileIterator enumera FilesManifest writeToCache(@Nullable List generatedFiles) throws IOException { List paths = generatedFiles == null ? emptyList() - : generatedFiles.stream().map(Path::of).collect(toList()); + : generatedFiles.stream().map(Path::of).toList(); var iterator = new FileIterator(paths); try (var sequence = new SequenceInputStream(new IteratorEnumeration<>(iterator))) { diff --git a/sonar-plugin/sonar-javascript-plugin/src/main/java/org/sonar/plugins/javascript/filter/AverageLineLengthCalculator.java b/sonar-plugin/sonar-javascript-plugin/src/main/java/org/sonar/plugins/javascript/filter/AverageLineLengthCalculator.java index c38299f0933..07fe97099a1 100644 --- a/sonar-plugin/sonar-javascript-plugin/src/main/java/org/sonar/plugins/javascript/filter/AverageLineLengthCalculator.java +++ b/sonar-plugin/sonar-javascript-plugin/src/main/java/org/sonar/plugins/javascript/filter/AverageLineLengthCalculator.java @@ -23,7 +23,6 @@ import java.io.IOException; import java.io.InputStreamReader; import java.util.List; -import java.util.stream.Collectors; import org.sonar.api.batch.fs.InputFile; /** @@ -114,7 +113,7 @@ private static List readLines(InputFile file) { new InputStreamReader(file.inputStream(), file.charset()) ) ) { - return reader.lines().collect(Collectors.toList()); + return reader.lines().toList(); } catch (IOException e) { throw new IllegalStateException("Unable to read file " + file.uri(), e); } diff --git a/sonar-plugin/sonar-javascript-plugin/src/main/java/org/sonar/plugins/javascript/filter/JavaScriptExclusionsFileFilter.java b/sonar-plugin/sonar-javascript-plugin/src/main/java/org/sonar/plugins/javascript/filter/JavaScriptExclusionsFileFilter.java index 311cb63c0a6..13678c063f3 100644 --- a/sonar-plugin/sonar-javascript-plugin/src/main/java/org/sonar/plugins/javascript/filter/JavaScriptExclusionsFileFilter.java +++ b/sonar-plugin/sonar-javascript-plugin/src/main/java/org/sonar/plugins/javascript/filter/JavaScriptExclusionsFileFilter.java @@ -20,7 +20,6 @@ package org.sonar.plugins.javascript.filter; import java.util.List; -import java.util.stream.Collectors; import java.util.stream.Stream; import org.sonar.api.batch.fs.InputFile; import org.sonar.api.batch.fs.InputFileFilter; @@ -44,14 +43,14 @@ public JavaScriptExclusionsFileFilter(Configuration configuration) { new BundleAssessor() ) .filter(assessor -> shouldBeEnabled(assessor, configuration)) - .collect(Collectors.toUnmodifiableList()); + .toList(); // We ignore the size limit for CSS files, because analyzing large CSS files takes a reasonable amount of time cssAssessors = Stream .of(new PathAssessor(configuration), new MinificationAssessor(), new BundleAssessor()) .filter(assessor -> shouldBeEnabled(assessor, configuration)) - .collect(Collectors.toUnmodifiableList()); + .toList(); } private static boolean shouldBeEnabled(Assessor assessor, Configuration configuration) { diff --git a/sonar-plugin/sonar-javascript-plugin/src/main/java/org/sonar/plugins/javascript/lcov/LCOVParser.java b/sonar-plugin/sonar-javascript-plugin/src/main/java/org/sonar/plugins/javascript/lcov/LCOVParser.java index 865755a53cf..77e76a1d78f 100644 --- a/sonar-plugin/sonar-javascript-plugin/src/main/java/org/sonar/plugins/javascript/lcov/LCOVParser.java +++ b/sonar-plugin/sonar-javascript-plugin/src/main/java/org/sonar/plugins/javascript/lcov/LCOVParser.java @@ -29,7 +29,6 @@ import java.util.List; import java.util.Map; import java.util.Set; -import java.util.stream.Collectors; import java.util.stream.Stream; import javax.annotation.CheckForNull; import org.sonar.api.batch.fs.InputFile; @@ -66,7 +65,7 @@ static LCOVParser create(SensorContext context, List files, FileLocator fi final List lines = new LinkedList<>(); for (File file : files) { try (Stream fileLines = Files.lines(file.toPath())) { - lines.addAll(fileLines.collect(Collectors.toList())); + lines.addAll(fileLines.toList()); } catch (IOException e) { throw new IllegalArgumentException("Could not read content from file: " + file, e); } diff --git a/sonar-plugin/sonar-javascript-plugin/src/main/java/org/sonar/plugins/javascript/utils/RulesMetadataForSonarLint.java b/sonar-plugin/sonar-javascript-plugin/src/main/java/org/sonar/plugins/javascript/utils/RulesMetadataForSonarLint.java index 5645d46678a..3a8160f3424 100644 --- a/sonar-plugin/sonar-javascript-plugin/src/main/java/org/sonar/plugins/javascript/utils/RulesMetadataForSonarLint.java +++ b/sonar-plugin/sonar-javascript-plugin/src/main/java/org/sonar/plugins/javascript/utils/RulesMetadataForSonarLint.java @@ -226,12 +226,10 @@ static Rule fromSqRule(String repository, RulesDefinition.Rule sqRule, @Nullable rule.params = sqRule.params(); rule.scope = sqRule.scope(); rule.activatedByDefault = sqRule.activatedByDefault(); - if (check instanceof EslintBasedCheck) { - var eslintBasedCheck = (EslintBasedCheck) check; + if (check instanceof EslintBasedCheck eslintBasedCheck) { rule.eslintKey = eslintBasedCheck.eslintKey(); rule.defaultParams = eslintBasedCheck.configurations(); - } else if (check instanceof CssRule) { - var cssRule = (CssRule) check; + } else if (check instanceof CssRule cssRule) { rule.stylelintKey = cssRule.stylelintKey(); rule.defaultParams = cssRule.stylelintOptions(); } diff --git a/tools/fetch-node/src/main/java/org/sonarsource/javascript/XZ.java b/tools/fetch-node/src/main/java/org/sonarsource/javascript/XZ.java index e6366cbaa8d..84827896b8b 100644 --- a/tools/fetch-node/src/main/java/org/sonarsource/javascript/XZ.java +++ b/tools/fetch-node/src/main/java/org/sonarsource/javascript/XZ.java @@ -26,7 +26,6 @@ import java.util.Arrays; import java.util.Collections; import java.util.List; -import java.util.stream.Collectors; import java.util.stream.Stream; import org.tukaani.xz.LZMA2Options; import org.tukaani.xz.XZOutputStream; @@ -41,11 +40,7 @@ public static void main(String[] args) { } List filenames = Collections.emptyList(); try { - filenames = - Stream - .of(args) - .map(filename -> filename.replaceAll("[\\\\/]+", "/")) - .collect(Collectors.toList()); + filenames = Stream.of(args).map(filename -> filename.replaceAll("[\\\\/]+", "/")).toList(); compress(filenames); } catch (IOException e) { From f78872d2798c558c8190a78a82b447689d6bce85 Mon Sep 17 00:00:00 2001 From: Ilia Kebets Date: Mon, 4 Mar 2024 15:10:49 +0100 Subject: [PATCH 2/2] fix some more issues --- .../org/sonar/plugins/javascript/bridge/BridgeServerImpl.java | 3 +-- .../java/org/sonar/plugins/javascript/bridge/BundleUtils.java | 3 ++- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/sonar-plugin/sonar-javascript-plugin/src/main/java/org/sonar/plugins/javascript/bridge/BridgeServerImpl.java b/sonar-plugin/sonar-javascript-plugin/src/main/java/org/sonar/plugins/javascript/bridge/BridgeServerImpl.java index e4b1829c350..eb0ed3e0ff0 100644 --- a/sonar-plugin/sonar-javascript-plugin/src/main/java/org/sonar/plugins/javascript/bridge/BridgeServerImpl.java +++ b/sonar-plugin/sonar-javascript-plugin/src/main/java/org/sonar/plugins/javascript/bridge/BridgeServerImpl.java @@ -43,7 +43,6 @@ import java.util.concurrent.ScheduledFuture; import java.util.concurrent.TimeUnit; import java.util.function.Consumer; -import java.util.regex.Pattern; import java.util.stream.Collectors; import javax.annotation.Nullable; import org.sonar.api.SonarProduct; @@ -254,7 +253,7 @@ private NodeCommand initNodeCommand(SensorContext context, File scriptFile, Stri return nodeCommandBuilder.build(); } - private Map getEnv() { + private static Map getEnv() { Map env = new HashMap<>(); if (LOG.isDebugEnabled()) { env.put("TIMING", "all"); diff --git a/sonar-plugin/sonar-javascript-plugin/src/main/java/org/sonar/plugins/javascript/bridge/BundleUtils.java b/sonar-plugin/sonar-javascript-plugin/src/main/java/org/sonar/plugins/javascript/bridge/BundleUtils.java index 1bd72bce44a..69dc94422f7 100644 --- a/sonar-plugin/sonar-javascript-plugin/src/main/java/org/sonar/plugins/javascript/bridge/BundleUtils.java +++ b/sonar-plugin/sonar-javascript-plugin/src/main/java/org/sonar/plugins/javascript/bridge/BundleUtils.java @@ -29,6 +29,7 @@ import java.util.zip.GZIPInputStream; import org.apache.commons.compress.archivers.ArchiveEntry; import org.apache.commons.compress.archivers.ArchiveInputStream; +import org.apache.commons.compress.archivers.tar.TarArchiveEntry; import org.apache.commons.compress.archivers.tar.TarArchiveInputStream; import org.apache.commons.compress.utils.IOUtils; @@ -42,7 +43,7 @@ static void extractFromClasspath(InputStream resource, Path targetPath) throws I Objects.requireNonNull(resource); try ( InputStream stream = new GZIPInputStream(new BufferedInputStream(resource)); - ArchiveInputStream archive = new TarArchiveInputStream(stream) + ArchiveInputStream archive = new TarArchiveInputStream(stream) ) { ArchiveEntry entry; while ((entry = archive.getNextEntry()) != null) {