Replace annotation_processors with plugins

Follow bazel's modules for annotation processors by introducing
a java_plugin module type that can contain extra metadata about
the annotation processor, the processor class and a flag to
specify if the annotation processor is compatible with the
turbine optimization.  Deprecate the annotation_processors
property, which took a list of java_library_host modules, in
favor of the plugins property, which takes a list of java_plugin
modules.  The annotation_processors property will be removed
once all uses have been replaced with plugins.

Bug: 77284273
Test: plugin_test.go
Test: m caliper
Change-Id: I37c1e80eba71ae2d6a06199fb102194a51994989
This commit is contained in:
Colin Cross
2019-01-21 21:37:16 -08:00
parent c4efd9cb55
commit be9cdb8d64
8 changed files with 222 additions and 9 deletions

View File

@@ -87,10 +87,10 @@ func TestKapt(t *testing.T) {
java_library {
name: "foo",
srcs: ["a.java", "b.kt"],
annotation_processors: ["bar"],
plugins: ["bar"],
}
java_library_host {
java_plugin {
name: "bar",
}
`)