Skip to content

exported_plugins doesn't do quite what we want for beta-checker in guava #200

Description

@cpovirk

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).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    P4bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions