private static boolean analyzerFilter(SonarAnalyzer analyzer) { if (!analyzer.sonarlintCompatible()) { LOG.debug("Code analyzer '{}' is not compatible with SonarLint. Skip downloading it.", analyzer.key()); return false; } else if (!analyzer.versionSupported()) { LOG.debug("Code analyzer '{}' version '{}' is not supported (minimal version is '{}'). Skip downloading it.", analyzer.key(), analyzer.version(), analyzer.minimumVersion()); return false; } return true; }
private static String analyzerToString(SonarAnalyzer analyzer) { return analyzer.key() + " (installed: " + analyzer.version() + ", minimum: " + analyzer.minimumVersion() + ")"; }
private static boolean tooOld(SonarAnalyzer analyzer) { if (analyzer.minimumVersion() != null && analyzer.version() != null) { Version minimum = Version.create(analyzer.minimumVersion()); Version version = Version.create(analyzer.version()); return version.compareTo(minimum) < 0; } return false; }
public PluginReferences toReferences(List<SonarAnalyzer> analyzers) { Builder builder = PluginReferences.newBuilder(); analyzers.stream() .filter(PluginReferencesDownloader::analyzerFilter) .map(analyzer -> PluginReference.newBuilder() .setKey(analyzer.key()) .setHash(analyzer.hash()) .setFilename(analyzer.filename()) .build()) .forEach(builder::addReference); return builder.build(); }
private static String buildMinimumVersionFailMessage(Collection<SonarAnalyzer> failingAnalyzers) { return "The following plugins do not meet the required minimum versions, please upgrade them on your SonarQube server:\n " + failingAnalyzers.stream() .map(p -> p.key() + " (installed: " + p.version() + ", minimum: " + p.minimumVersion() + ")") .collect(Collectors.joining("\n ")); }
private static boolean tooOld(SonarAnalyzer analyzer) { if (analyzer.minimumVersion() != null && analyzer.version() != null) { Version minimum = Version.parseVersion(analyzer.minimumVersion()); Version version = Version.parseVersion(analyzer.version()); return version.compareTo(minimum) < 0; } return false; }