in intellij-plugin-verifier/verifier-intellij/src/main/java/com/jetbrains/pluginverifier/filtering/KeepOnlyProblemsFilter.kt [16:39]
override fun shouldReportProblem(
problem: CompatibilityProblem,
context: VerificationContext
): ProblemsFilter.Result {
if (context !is PluginVerificationContext) {
return ProblemsFilter.Result.Report
}
val currentId = context.idePlugin.pluginId
val currentVersion = context.idePlugin.pluginVersion
val isNullOrMatch = { s: String?, r: Regex? -> s == null || r == null || s.matches(r)}
keepOnlyConditions.forEach { keepOnlyCondition ->
val (pluginIdPattern, versionPattern, problemPattern) = keepOnlyCondition
if (isNullOrMatch(currentId, pluginIdPattern)) {
if (isNullOrMatch(currentVersion, versionPattern)) {
if (problem.shortDescription.matches(problemPattern).not()) {
return ProblemsFilter.Result.Ignore("the problem is ignored as " +
"it's not matching any pattern for keeping problems : \"${keepOnlyCondition.serializeCondition()}")
}
}
}
}
return ProblemsFilter.Result.Report
}