Redefine android-non-updatable.stubs.* modules definition

In order to prevent build graph of the reverse dependencies of
android-non-updatable.stubs.* from being modified based on build
configuration (via --build-from-text-stub flag),
android-non-updatable.stubs.* modules can be renamed with ".from-source"
suffic, and android-non-updatable.stubs.* can contain either
android-non-updatable.stubs.*.from-source or
android-non-updatable.stubs.*.from-text as static libs based on build
configuration.

Test: m && m --build-from-text-stub and verify no ninja path between android-non-updatable.stubs and android-non-updatable.stubs.from-source
Bug: 287490642
Change-Id: I9b409ce5965384ebaeb858e0bbb007dba970632a
diff --git a/api/StubLibraries.bp b/api/StubLibraries.bp
index ed5a8f2..7c8dd92 100644
--- a/api/StubLibraries.bp
+++ b/api/StubLibraries.bp
@@ -217,13 +217,17 @@
 }
 
 java_defaults {
-    name: "android-non-updatable_defaults_stubs_current",
-    libs: ["stub-annotations"],
-    static_libs: ["framework-res-package-jar"], // Export package of framework-res
+    name: "android-non-updatable_defaults",
     sdk_version: "none",
     system_modules: "none",
     java_version: "1.8",
     compile_dex: true,
+}
+
+java_defaults {
+    name: "android-non-updatable_from_source_defaults",
+    libs: ["stub-annotations"],
+    static_libs: ["framework-res-package-jar"], // Export package of framework-res
     dist: {
         targets: ["sdk"],
         tag: ".jar",
@@ -233,7 +237,82 @@
 
 java_library {
     name: "android-non-updatable.stubs",
-    defaults: ["android-non-updatable_defaults_stubs_current"],
+    defaults: ["android-non-updatable_defaults"],
+    static_libs: [
+        "android-non-updatable.stubs.from-source",
+    ],
+    product_variables: {
+        build_from_text_stub: {
+            static_libs: [
+                "android-non-updatable.stubs.from-text",
+            ],
+            exclude_static_libs: [
+                "android-non-updatable.stubs.from-source",
+            ],
+        },
+    },
+}
+
+java_library {
+    name: "android-non-updatable.stubs.system",
+    defaults: ["android-non-updatable_defaults"],
+    static_libs: [
+        "android-non-updatable.stubs.system.from-source",
+    ],
+    product_variables: {
+        build_from_text_stub: {
+            static_libs: [
+                "android-non-updatable.stubs.system.from-text",
+            ],
+            exclude_static_libs: [
+                "android-non-updatable.stubs.system.from-source",
+            ],
+        },
+    },
+}
+
+java_library {
+    name: "android-non-updatable.stubs.module_lib",
+    defaults: ["android-non-updatable_defaults"],
+    static_libs: [
+        "android-non-updatable.stubs.module_lib.from-source",
+    ],
+    product_variables: {
+        build_from_text_stub: {
+            static_libs: [
+                "android-non-updatable.stubs.module_lib.from-text",
+            ],
+            exclude_static_libs: [
+                "android-non-updatable.stubs.module_lib.from-source",
+            ],
+        },
+    },
+}
+
+java_library {
+    name: "android-non-updatable.stubs.test",
+    defaults: ["android-non-updatable_defaults"],
+    static_libs: [
+        "android-non-updatable.stubs.test.from-source",
+    ],
+    product_variables: {
+        build_from_text_stub: {
+            static_libs: [
+                "android-non-updatable.stubs.test.from-text",
+            ],
+            exclude_static_libs: [
+                "android-non-updatable.stubs.test.from-source",
+            ],
+        },
+    },
+}
+
+java_library {
+    name: "android-non-updatable.stubs.from-source",
+    defaults: [
+        "android-non-updatable_defaults",
+        "android-non-updatable_from_source_defaults",
+    ],
     srcs: [":api-stubs-docs-non-updatable"],
     libs: ["all-modules-public-stubs"],
     dist: {
@@ -242,8 +321,11 @@
 }
 
 java_library {
-    name: "android-non-updatable.stubs.system",
-    defaults: ["android-non-updatable_defaults_stubs_current"],
+    name: "android-non-updatable.stubs.system.from-source",
+    defaults: [
+        "android-non-updatable_defaults",
+        "android-non-updatable_from_source_defaults",
+    ],
     srcs: [":system-api-stubs-docs-non-updatable"],
     libs: ["all-modules-system-stubs"],
     dist: {
@@ -252,8 +334,11 @@
 }
 
 java_library {
-    name: "android-non-updatable.stubs.module_lib",
-    defaults: ["android-non-updatable_defaults_stubs_current"],
+    name: "android-non-updatable.stubs.module_lib.from-source",
+    defaults: [
+        "android-non-updatable_defaults",
+        "android-non-updatable_from_source_defaults",
+    ],
     srcs: [":module-lib-api-stubs-docs-non-updatable"],
     libs: [
         "sdk_module-lib_current_framework-tethering",
@@ -270,8 +355,11 @@
 }
 
 java_library {
-    name: "android-non-updatable.stubs.test",
-    defaults: ["android-non-updatable_defaults_stubs_current"],
+    name: "android-non-updatable.stubs.test.from-source",
+    defaults: [
+        "android-non-updatable_defaults",
+        "android-non-updatable_from_source_defaults",
+    ],
     srcs: [":test-api-stubs-docs-non-updatable"],
     libs: ["all-modules-system-stubs"],
     dist: {
@@ -280,7 +368,7 @@
 }
 
 java_defaults {
-    name: "non_updatable_api_library_defaults",
+    name: "android-non-updatable_from_text_defaults",
     static_libs: ["framework-res-package-jar"],
     libs: ["stub-annotations"],
 }
@@ -291,7 +379,7 @@
     api_files: [
         ":non-updatable-current.txt",
     ],
-    defaults: ["non_updatable_api_library_defaults"],
+    defaults: ["android-non-updatable_from_text_defaults"],
     dep_api_srcs: "android_stubs_current.from-text",
 }
 
@@ -302,7 +390,7 @@
         ":non-updatable-current.txt",
         ":non-updatable-system-current.txt",
     ],
-    defaults: ["non_updatable_api_library_defaults"],
+    defaults: ["android-non-updatable_from_text_defaults"],
     dep_api_srcs: "android_system_stubs_current.from-text",
 }
 
@@ -314,7 +402,7 @@
         ":non-updatable-system-current.txt",
         ":non-updatable-test-current.txt",
     ],
-    defaults: ["non_updatable_api_library_defaults"],
+    defaults: ["android-non-updatable_from_text_defaults"],
     dep_api_srcs: "android_test_stubs_current.from-text",
 }
 
@@ -326,7 +414,7 @@
         ":non-updatable-system-current.txt",
         ":non-updatable-module-lib-current.txt",
     ],
-    defaults: ["non_updatable_api_library_defaults"],
+    defaults: ["android-non-updatable_from_text_defaults"],
     dep_api_srcs: "android_module_lib_stubs_current_full.from-text",
 }