Convert the build flag RELEASE_EXPORT_RUNTIME_APIS to a product variable
RELEASE_EXPORT_RUNTIME_APIS build flag is currently used to modify the
filter condition for the "exportable" stubs, so that it exposes wider
set of flagged apis (ENABLED && READ_ONLY vs ENABLED || READ_WRITE).
This flag was originally introduced as a build flag to be enabled in
specific release configurations, but instead this is used as a product
variable that will be enabled in the product `sdk_with_runtime_apis`,
which will be introduced in a future change.
Test: m nothing --no-skip-soong-tests
Bug: 326312949
Change-Id: Ieb3cee517dd6cedcca844a9eab270aedf8199d4e
diff --git a/android/config.go b/android/config.go
index 8430511..e757d50 100644
--- a/android/config.go
+++ b/android/config.go
@@ -213,7 +213,7 @@
// Enables flagged apis annotated with READ_WRITE aconfig flags to be included in the stubs
// and hiddenapi flags so that they are accessible at runtime
func (c Config) ReleaseExportRuntimeApis() bool {
- return c.config.productVariables.GetBuildFlagBool("RELEASE_EXPORT_RUNTIME_APIS")
+ return Bool(c.config.productVariables.ExportRuntimeApis)
}
// Enables ABI monitoring of NDK libraries
diff --git a/android/variable.go b/android/variable.go
index 3236506..be3c80d 100644
--- a/android/variable.go
+++ b/android/variable.go
@@ -498,6 +498,8 @@
BuildIgnoreApexContributionContents []string `json:",omitempty"`
HiddenapiExportableStubs *bool `json:",omitempty"`
+
+ ExportRuntimeApis *bool `json:",omitempty"`
}
type PartitionQualifiedVariablesType struct {
diff --git a/java/droidstubs_test.go b/java/droidstubs_test.go
index caa8345..e5ffd28 100644
--- a/java/droidstubs_test.go
+++ b/java/droidstubs_test.go
@@ -22,6 +22,8 @@
"testing"
"android/soong/android"
+
+ "github.com/google/blueprint/proptools"
)
func TestDroidstubs(t *testing.T) {
@@ -419,8 +421,8 @@
android.FixtureModifyProductVariables(func(variables android.FixtureProductVariables) {
variables.BuildFlags = map[string]string{
"RELEASE_HIDDEN_API_EXPORTABLE_STUBS": "true",
- "RELEASE_EXPORT_RUNTIME_APIS": "true",
}
+ variables.ExportRuntimeApis = proptools.BoolPtr(true)
}),
android.FixtureMergeMockFs(map[string][]byte{
"a/A.java": nil,