in tools/ci/paimon-ci-tools/src/main/java/org/apache/paimon/tools/ci/licensecheck/NoticeFileChecker.java [226:258]
private static int checkNoticeFileAndLogProblems(
Map<String, Set<Dependency>> modulesWithShadedDependencies,
String moduleName,
@Nullable NoticeContents noticeContents)
throws IOException {
final Map<Severity, List<String>> problemsBySeverity =
checkNoticeFile(modulesWithShadedDependencies, moduleName, noticeContents);
final List<String> severeProblems =
problemsBySeverity.getOrDefault(Severity.CRITICAL, Collections.emptyList());
if (!problemsBySeverity.isEmpty()) {
final List<String> toleratedProblems =
problemsBySeverity.getOrDefault(Severity.TOLERATED, Collections.emptyList());
final List<String> expectedProblems =
problemsBySeverity.getOrDefault(Severity.SUPPRESSED, Collections.emptyList());
LOG.info(
"Problems were detected for a NOTICE file.\n" + "\t{}:\n" + "{}{}{}",
moduleName,
convertProblemsToIndentedString(
severeProblems,
"These issue are legally problematic and MUST be fixed:"),
convertProblemsToIndentedString(
toleratedProblems,
"These issues are mistakes that aren't legally problematic. They SHOULD be fixed at some point, but we don't have to:"),
convertProblemsToIndentedString(
expectedProblems, "These issues are assumed to be false-positives:"));
}
return severeProblems.size();
}