From 701ca2545e09dd26006809e0d8a34f51c9e6506f Mon Sep 17 00:00:00 2001 From: Cole Faust Date: Tue, 23 Nov 2021 19:02:08 -0800 Subject: [PATCH] Change type of Unbundled_build_apps from bool to []string Unbundled_build_apps is supposed to be a list of apps to build as unbundled, not just a simple boolean. Change it to properly reflect what it is, because the starlark product configuration relies on soong's interpretation of variables types. Bug: 201700692 Test: Presubmits Change-Id: I85d40d58fe519f9f6e5a382b8f3ec9014f990aa1 --- android/config.go | 2 +- android/variable.go | 53 +++++++++++++++++++++++---------------------- 2 files changed, 28 insertions(+), 27 deletions(-) diff --git a/android/config.go b/android/config.go index 5ee28e735..76bfc287b 100644 --- a/android/config.go +++ b/android/config.go @@ -856,7 +856,7 @@ func (c *config) UnbundledBuild() bool { // Returns true if building apps that aren't bundled with the platform. // UnbundledBuild() is always true when this is true. func (c *config) UnbundledBuildApps() bool { - return Bool(c.productVariables.Unbundled_build_apps) + return len(c.productVariables.Unbundled_build_apps) > 0 } // Returns true if building image that aren't bundled with the platform. diff --git a/android/variable.go b/android/variable.go index fe828d3e3..a29c6f86a 100644 --- a/android/variable.go +++ b/android/variable.go @@ -15,13 +15,14 @@ package android import ( - "android/soong/android/soongconfig" - "android/soong/bazel" "fmt" "reflect" "runtime" "strings" + "android/soong/android/soongconfig" + "android/soong/bazel" + "github.com/google/blueprint/proptools" ) @@ -245,30 +246,30 @@ type productVariables struct { AppsDefaultVersionName *string `json:",omitempty"` - Allow_missing_dependencies *bool `json:",omitempty"` - Unbundled_build *bool `json:",omitempty"` - Unbundled_build_apps *bool `json:",omitempty"` - Unbundled_build_image *bool `json:",omitempty"` - Always_use_prebuilt_sdks *bool `json:",omitempty"` - Skip_boot_jars_check *bool `json:",omitempty"` - Malloc_not_svelte *bool `json:",omitempty"` - Malloc_zero_contents *bool `json:",omitempty"` - Malloc_pattern_fill_contents *bool `json:",omitempty"` - Safestack *bool `json:",omitempty"` - HostStaticBinaries *bool `json:",omitempty"` - Binder32bit *bool `json:",omitempty"` - UseGoma *bool `json:",omitempty"` - UseRBE *bool `json:",omitempty"` - UseRBEJAVAC *bool `json:",omitempty"` - UseRBER8 *bool `json:",omitempty"` - UseRBED8 *bool `json:",omitempty"` - Debuggable *bool `json:",omitempty"` - Eng *bool `json:",omitempty"` - Treble_linker_namespaces *bool `json:",omitempty"` - Enforce_vintf_manifest *bool `json:",omitempty"` - Uml *bool `json:",omitempty"` - Arc *bool `json:",omitempty"` - MinimizeJavaDebugInfo *bool `json:",omitempty"` + Allow_missing_dependencies *bool `json:",omitempty"` + Unbundled_build *bool `json:",omitempty"` + Unbundled_build_apps []string `json:",omitempty"` + Unbundled_build_image *bool `json:",omitempty"` + Always_use_prebuilt_sdks *bool `json:",omitempty"` + Skip_boot_jars_check *bool `json:",omitempty"` + Malloc_not_svelte *bool `json:",omitempty"` + Malloc_zero_contents *bool `json:",omitempty"` + Malloc_pattern_fill_contents *bool `json:",omitempty"` + Safestack *bool `json:",omitempty"` + HostStaticBinaries *bool `json:",omitempty"` + Binder32bit *bool `json:",omitempty"` + UseGoma *bool `json:",omitempty"` + UseRBE *bool `json:",omitempty"` + UseRBEJAVAC *bool `json:",omitempty"` + UseRBER8 *bool `json:",omitempty"` + UseRBED8 *bool `json:",omitempty"` + Debuggable *bool `json:",omitempty"` + Eng *bool `json:",omitempty"` + Treble_linker_namespaces *bool `json:",omitempty"` + Enforce_vintf_manifest *bool `json:",omitempty"` + Uml *bool `json:",omitempty"` + Arc *bool `json:",omitempty"` + MinimizeJavaDebugInfo *bool `json:",omitempty"` Check_elf_files *bool `json:",omitempty"`