Propagate recovery_available property through to sdk snapshot
Needed for jni_headers which is marked as recovery_available because libchrome
is also marked and that library is used by others that are the recovery
partition. There may be other dependency paths that require jni_headers to be
recovery_available that was just the first one found.
Bug: 168301990
Test: m nothing
Change-Id: I916ecfe7700b9c153b29115e849da148fc7e7a76
diff --git a/cc/library_sdk_member.go b/cc/library_sdk_member.go
index c6b0bf0..7187360 100644
--- a/cc/library_sdk_member.go
+++ b/cc/library_sdk_member.go
@@ -119,6 +119,10 @@
ccModule := member.Variants()[0].(*Module)
+ if proptools.Bool(ccModule.Properties.Recovery_available) {
+ pbm.AddProperty("recovery_available", true)
+ }
+
if proptools.Bool(ccModule.VendorProperties.Vendor_available) {
pbm.AddProperty("vendor_available", true)
}
diff --git a/sdk/cc_sdk_test.go b/sdk/cc_sdk_test.go
index 0811ef5..8c9e228 100644
--- a/sdk/cc_sdk_test.go
+++ b/sdk/cc_sdk_test.go
@@ -1672,6 +1672,7 @@
],
export_include_dirs: ["include"],
stl: "none",
+ recovery_available: true,
vendor_available: true,
}
`)
@@ -1684,6 +1685,7 @@
name: "myexports_mynativelib@current",
sdk_member_name: "mynativelib",
installable: false,
+ recovery_available: true,
vendor_available: true,
stl: "none",
compile_multilib: "both",
@@ -1711,6 +1713,7 @@
cc_prebuilt_library {
name: "mynativelib",
prefer: false,
+ recovery_available: true,
vendor_available: true,
stl: "none",
compile_multilib: "both",