BEP: report visibility errors
On finding a visibility error, report it directly for that target, instead of
relying on the implict "abort" message for targets that have not been built.
Change-Id: I5e45722a1117afca3bc8eeebd05179425b995172
PiperOrigin-RevId: 157592518
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java b/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java
index 2077a887..02fb3e5 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java
@@ -52,6 +52,7 @@
import com.google.devtools.build.lib.collect.nestedset.NestedSet;
import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable;
import com.google.devtools.build.lib.events.Event;
+import com.google.devtools.build.lib.events.ExtendedEventHandler.Postable;
import com.google.devtools.build.lib.events.Location;
import com.google.devtools.build.lib.packages.AspectDescriptor;
import com.google.devtools.build.lib.packages.Attribute;
@@ -1780,6 +1781,10 @@
return mapBuilder.build();
}
+ public void post(Postable event) {
+ reporter.post(event);
+ }
+
public void reportError(Location location, String message) {
reporter.reportError(location, message);
}
@@ -2127,6 +2132,10 @@
env.getEventHandler().handle(Event.error(location, message));
}
+ public void post(Postable event) {
+ env.getEventHandler().post(event);
+ }
+
@Override
public void ruleError(String message) {
reportError(rule.getLocation(), prefixRuleMessage(message));