diff options
author | Matteo Mara <matteo.mara@sonarsource.com> | 2023-12-15 14:31:39 +0100 |
---|---|---|
committer | sonartech <sonartech@sonarsource.com> | 2024-01-04 20:02:48 +0000 |
commit | f8465c0d33ceb835c92f0b24e7842ba96c7604e0 (patch) | |
tree | e6b4bf5fec92c471e7510ee92b003fbc49dc24fa /sonar-scanner-engine/src/main/java/org/sonar/scanner/mediumtest/FakePluginInstaller.java | |
parent | aec0c95e903db2ab7fdc3dfc6e90421e6342a277 (diff) | |
download | sonarqube-f8465c0d33ceb835c92f0b24e7842ba96c7604e0.tar.gz sonarqube-f8465c0d33ceb835c92f0b24e7842ba96c7604e0.zip |
SONAR-21195 Refactor file indexing into two distinct steps
Diffstat (limited to 'sonar-scanner-engine/src/main/java/org/sonar/scanner/mediumtest/FakePluginInstaller.java')
-rw-r--r-- | sonar-scanner-engine/src/main/java/org/sonar/scanner/mediumtest/FakePluginInstaller.java | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/sonar-scanner-engine/src/main/java/org/sonar/scanner/mediumtest/FakePluginInstaller.java b/sonar-scanner-engine/src/main/java/org/sonar/scanner/mediumtest/FakePluginInstaller.java index 36e2bbbd298..a735827e65d 100644 --- a/sonar-scanner-engine/src/main/java/org/sonar/scanner/mediumtest/FakePluginInstaller.java +++ b/sonar-scanner-engine/src/main/java/org/sonar/scanner/mediumtest/FakePluginInstaller.java @@ -36,15 +36,21 @@ import org.sonar.scanner.bootstrap.ScannerPlugin; public class FakePluginInstaller implements PluginInstaller { private final Map<String, ScannerPlugin> pluginsByKeys = new HashMap<>(); - private final List<Object[]> mediumTestPlugins = new ArrayList<>(); + private final List<LocalPlugin> mediumTestPlugins = new ArrayList<>(); + private final List<LocalPlugin> optionalMediumTestPlugins = new ArrayList<>(); public FakePluginInstaller add(String pluginKey, File jarFile, long lastUpdatedAt) { pluginsByKeys.put(pluginKey, new ScannerPlugin(pluginKey, lastUpdatedAt, PluginType.BUNDLED, PluginInfo.create(jarFile))); return this; } - public FakePluginInstaller add(String pluginKey, Plugin instance, long lastUpdatedAt) { - mediumTestPlugins.add(new Object[] {pluginKey, instance, lastUpdatedAt}); + public FakePluginInstaller add(String pluginKey, Plugin instance) { + mediumTestPlugins.add(new LocalPlugin(pluginKey, instance, Set.of())); + return this; + } + + public FakePluginInstaller addOptional(String pluginKey, Set<String> requiredForLanguages, Plugin instance) { + optionalMediumTestPlugins.add(new LocalPlugin(pluginKey, instance, requiredForLanguages)); return this; } @@ -64,7 +70,14 @@ public class FakePluginInstaller implements PluginInstaller { } @Override - public List<Object[]> installLocals() { + public List<LocalPlugin> installLocals() { return mediumTestPlugins; } + + @Override + public List<LocalPlugin> installOptionalLocals(Set<String> languageKeys) { + return optionalMediumTestPlugins.stream() + .filter(plugin -> languageKeys.stream().anyMatch(lang -> plugin.requiredForLanguages().contains(lang))) + .toList(); + } } |