Add Platform_sdk_version_or_codename variable

1. Added a new product variable Platform_sdk_version_or_codename;
2. This variable is used to support the logic in the Android.bp file
when either the Platform_sdk_version or the Platform_sdk_codename is
used.

Bug: 195986342
Test: m CtsThemeHostTestCases (the module where the product variable is
used)
Test: TreeHugger

Change-Id: I6b952ce47fd4adc280aa3c7ef4185487558af9bc
This commit is contained in:
Yuntao Xu
2021-08-09 15:44:44 -07:00
parent 0bcba80823
commit 402e9b08e1
2 changed files with 19 additions and 0 deletions

View File

@@ -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))
}

View File

@@ -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"`