Replace gensrcs with java_library to deprecate depfile in gensrcs

The depfile concept in Soong and Ninja isn't applicable in Bazel because Bazel requires listing the deps explicitly. This CL changes the module type from gensrcs to java_library with proto.type set to "stream".

The end goal is to eventually deprecate depfile in gensrcs to ensure all gensrcs modules are convertable to Bazel.

Test: CI
Bug: 179452413
Change-Id: Icd588b33749a423ed2518d4c3a51909e962f36e0
Merged-In: I353272256fc371cad5927e15508cfa1615ee44e3
Merged-In: Icd588b33749a423ed2518d4c3a51909e962f36e0
diff --git a/service/Android.bp b/service/Android.bp
index 69e58d4..1887c83 100644
--- a/service/Android.bp
+++ b/service/Android.bp
@@ -33,30 +33,22 @@
     visibility: ["//frameworks/base"],
 }
 
-gensrcs {
+java_library {
     name: "service-permission-javastream-protos",
-    depfile: true,
-
-    tools: [
-        "aprotoc",
-        "protoc-gen-javastream",
-        "soong_zip",
+    proto: {
+        type: "stream",
+        include_dirs: [
+            "external/protobuf/src",
+        ],
+    },
+    srcs: [":service-permission-protos"],
+    installable: false,
+    min_sdk_version: "30",
+    sdk_version: "system_server_current",
+    apex_available: [
+        "com.android.permission",
+        "test_com.android.permission",
     ],
-
-    cmd: "mkdir -p $(genDir)/$(in) " +
-        "&& $(location aprotoc) " +
-        "  --plugin=$(location protoc-gen-javastream) " +
-        "  --dependency_out=$(depfile) " +
-        "  --javastream_out=$(genDir)/$(in) " +
-        "  -Iexternal/protobuf/src " +
-        "  -I . " +
-        "  $(in) " +
-        "&& $(location soong_zip) -jar -o $(out) -C $(genDir)/$(in) -D $(genDir)/$(in)",
-
-    srcs: [
-        ":service-permission-protos",
-    ],
-    output_extension: "srcjar",
 }
 
 java_library {
@@ -86,7 +78,6 @@
     ],
     srcs: [
         ":service-permission-sources",
-        ":service-permission-javastream-protos",
     ],
     libs: [
         // TODO(b/177884622): Short term solution to prevent service-permission from seeing hidden
@@ -101,6 +92,7 @@
         "modules-utils-backgroundthread",
         "modules-utils-os",
         "service-permission-shared",
+        "service-permission-javastream-protos",
     ],
     jarjar_rules: ":permission-jarjar-rules",
     lint: {