-
Notifications
You must be signed in to change notification settings - Fork 43
Description
exported_plugins is "The list of java_plugins (e.g. annotation processors) to export to libraries that directly depend on this library." That makes it suitable for plain old annotation processors (since you can't write an annotation in your code without depending directly upon it) and for static analysis that applies to such annotation usages, but it does not make it suitable for cases like ours, "No one calls a @Beta method from Guava," since it's possible to call a @Beta method on Guava without declaring a direct dependency on Guava itself.
The practical danger here is slim, since Guava has few @Beta APIs nowadays. But it might be more honest to remove exported_plugins or to find another way of fully enabling the checking that we want. Really, though, I'm filing this bug because TIL from a question on YAQS :) See also some Google-internal documentation added in CL 149351089 (though the Bazel docs are crystal-clear on the behavior, even if they don't go into the implications in detail).