From 35349466cd725513a997a2f7e1cd38e90f0397b8 Mon Sep 17 00:00:00 2001 From: Jihoon Kang Date: Thu, 22 Feb 2024 19:52:46 +0000 Subject: [PATCH] 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 --- android/config.go | 2 +- android/variable.go | 2 ++ java/droidstubs_test.go | 4 +++- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/android/config.go b/android/config.go index 84305112a..e757d504c 100644 --- a/android/config.go +++ b/android/config.go @@ -213,7 +213,7 @@ func (c Config) ReleaseDefaultModuleBuildFromSource() bool { // 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 32365067a..be3c80d8e 100644 --- a/android/variable.go +++ b/android/variable.go @@ -498,6 +498,8 @@ type ProductVariables struct { 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 caa834535..e5ffd2847 100644 --- a/java/droidstubs_test.go +++ b/java/droidstubs_test.go @@ -22,6 +22,8 @@ import ( "testing" "android/soong/android" + + "github.com/google/blueprint/proptools" ) func TestDroidstubs(t *testing.T) { @@ -419,8 +421,8 @@ func TestReleaseExportRuntimeApis(t *testing.T) { 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,