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",
}