diff options
-rw-r--r-- | android/config.go | 14 | ||||
-rw-r--r-- | android/variable.go | 5 |
2 files changed, 19 insertions, 0 deletions
diff --git a/android/config.go b/android/config.go index b3b8f3cc2..e3d05a67e 100644 --- a/android/config.go +++ b/android/config.go @@ -209,6 +209,20 @@ func loadFromConfigFile(configurable *productVariables, filename string) error { Bool(configurable.GcovCoverage) || Bool(configurable.ClangCoverage)) + // when Platform_sdk_final is true (or PLATFORM_VERSION_CODENAME is REL), use Platform_sdk_version; + // if false (pre-released version, for example), use Platform_sdk_codename. + if Bool(configurable.Platform_sdk_final) { + if configurable.Platform_sdk_version != nil { + configurable.Platform_sdk_version_or_codename = + proptools.StringPtr(strconv.Itoa(*(configurable.Platform_sdk_version))) + } else { + return fmt.Errorf("Platform_sdk_version cannot be pointed by a NULL pointer") + } + } else { + configurable.Platform_sdk_version_or_codename = + proptools.StringPtr(String(configurable.Platform_sdk_codename)) + } + return saveToBazelConfigFile(configurable, filepath.Dir(filename)) } diff --git a/android/variable.go b/android/variable.go index 0fb907810..5cf9aa8e8 100644 --- a/android/variable.go +++ b/android/variable.go @@ -42,6 +42,10 @@ type variableProperties struct { Cflags []string } + Platform_sdk_version_or_codename struct { + Java_resource_dirs []string + } + // unbundled_build is a catch-all property to annotate modules that don't build in one or // more unbundled branches, usually due to dependencies missing from the manifest. Unbundled_build struct { @@ -164,6 +168,7 @@ type productVariables struct { Platform_version_name *string `json:",omitempty"` Platform_sdk_version *int `json:",omitempty"` Platform_sdk_codename *string `json:",omitempty"` + Platform_sdk_version_or_codename *string `json:",omitempty"` Platform_sdk_final *bool `json:",omitempty"` Platform_version_active_codenames []string `json:",omitempty"` Platform_vndk_version *string `json:",omitempty"` |