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
diff --git a/Android.bp b/Android.bp
index 2c400cf..03071d1 100644
--- a/Android.bp
+++ b/Android.bp
@@ -249,6 +249,7 @@
"java/jdeps.go",
"java/java_resources.go",
"java/kotlin.go",
+ "java/plugin.go",
"java/prebuilt_apis.go",
"java/proto.go",
"java/sdk.go",
@@ -262,6 +263,7 @@
"java/java_test.go",
"java/jdeps_test.go",
"java/kotlin_test.go",
+ "java/plugin_test.go",
"java/sdk_test.go",
],
pluginFor: ["soong_build"],