Use plugin to build gRPC lib for grpc-java-reflection

Also include grpc-java-reflection in grpc-java lib.

Bug: 306500189
Test: build
Change-Id: I141d782944c0360a84317357c37c37487e02d035
diff --git a/Android.bp b/Android.bp
index 03dabc5..aaddf66 100644
--- a/Android.bp
+++ b/Android.bp
@@ -48,6 +48,7 @@
         "grpc-java-core-util",
         "grpc-java-protobuf",
         "grpc-java-protobuf-lite",
+        "grpc-java-reflection",
         "grpc-java-stub",
     ],
 }
diff --git a/services/Android.bp b/services/Android.bp
index 276de0c..f599aeb 100644
--- a/services/Android.bp
+++ b/services/Android.bp
@@ -14,65 +14,49 @@
 //
 
 package {
-    // See: http://go/android-license-faq
-    // A large-scale-change added 'default_applicable_licenses' to import
-    // all of the 'license_kinds' from "external_grpc-grpc-java_license"
-    // to get the below license kinds:
-    //   SPDX-license-identifier-Apache-2.0
     default_applicable_licenses: ["external_grpc-grpc-java_license"],
 }
 
-java_genrule {
-    name: "grpc-reflection-proto-gen",
+java_library_static {
+    name: "grpc-java-reflection-proto",
+    host_supported: true,
+    device_supported: false,
     srcs: [
         "src/main/proto/grpc/reflection/v1alpha/reflection.proto",
     ],
-    tools: [
-        "aprotoc",
-        "protoc-gen-grpc-java-plugin",
-        "soong_zip",
-    ],
-    cmd: "$(location aprotoc)  -Iexternal/protobuf/src" +
-        " -Iexternal/grpc-grpc-java/services/src/main/proto" +
-        " --plugin=protoc-gen-grpc=$(location protoc-gen-grpc-java-plugin) $(in)" +
-        " --grpc_out=lite:$(genDir) --java_out=lite:$(genDir)" +
-        " && $(location soong_zip) -o $(out) -C $(genDir) -D $(genDir)",
-    out: ["grpc-reflection-proto.srcjar"],
-}
-
-java_library_static {
-    name: "grpc-reflection-lib",
-    srcs: [
-        ":grpc-reflection-proto-gen",
-    ],
-    static_libs: [
-        "grpc-java-okhttp-client-lite",
-        "libprotobuf-java-lite",
-        "javax_annotation-api_1.3.2",
-    ],
-    host_supported: true,
-    device_supported: false,
-    libs: [
-        "guava",
-    ],
-    sdk_version: "current",
+    proto: {
+        include_dirs: ["external/protobuf/src"],
+    },
+    visibility: ["//visibility:private"],
+    // b/267831518: Pin tradefed and dependencies to Java 11.
+    java_version: "11",
 }
 
 java_library_host {
     name: "grpc-java-reflection",
     srcs: [
         "src/main/java/io/grpc/protobuf/services/ProtoReflectionService.java",
+        "src/main/proto/grpc/reflection/v1alpha/reflection.proto",
+    ],
+    proto: {
+        include_dirs: ["external/protobuf/src"],
+        plugin: "grpc-java-plugin",
+        output_params: ["lite"],
+    },
+    static_libs: [
+        "grpc-java-reflection-proto",
     ],
     libs: [
         "grpc-java-api",
         "grpc-java-core",
         "grpc-java-context",
         "grpc-java-protobuf",
+        "grpc-java-protobuf-lite",
         "grpc-java-stub",
         "guava",
+        "javax_annotation-api_1.3.2",
         "jsr305",
         "libprotobuf-java-util-full",
-        "grpc-reflection-lib",
     ],
     // b/267831518: Pin tradefed and dependencies to Java 11.
     java_version: "11",