Add support for making `sunapi` an error using `-Werror:`
PiperOrigin-RevId: 627829134
Change-Id: I7615e927fd95ed7dca62e2f1f734c8b19ac00448
diff --git a/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/javac/FormattedDiagnostic.java b/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/javac/FormattedDiagnostic.java
index ad8d9ac..8f2f4b1 100644
--- a/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/javac/FormattedDiagnostic.java
+++ b/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/javac/FormattedDiagnostic.java
@@ -26,6 +26,7 @@
import com.sun.tools.javac.util.Log;
import java.util.Locale;
import java.util.Optional;
+import javax.annotation.Nullable;
import javax.tools.Diagnostic;
import javax.tools.DiagnosticListener;
import javax.tools.JavaFileObject;
@@ -160,19 +161,31 @@
if (werrorCustomOption.isEmpty()) {
return false;
}
- LintCategory lintCategory = diagnostic.getLintCategory();
+ String lintCategory = lintCategory(diagnostic);
if (lintCategory == null) {
return false;
}
switch (diagnostic.getKind()) {
case WARNING:
case MANDATORY_WARNING:
- return werrorCustomOption.get().isEnabled(lintCategory.option);
+ return werrorCustomOption.get().isEnabled(lintCategory);
default:
return false;
}
}
+ @Nullable
+ private static String lintCategory(JCDiagnostic diagnostic) {
+ if (diagnostic.getCode().equals("compiler.warn.sun.proprietary")) {
+ return "sunapi";
+ }
+ LintCategory lintCategory = diagnostic.getLintCategory();
+ if (lintCategory == null) {
+ return null;
+ }
+ return lintCategory.option;
+ }
+
ImmutableList<FormattedDiagnostic> build() {
return diagnostics.build();
}