Loading android/api_levels.go +54 −30 Original line number Diff line number Diff line Loading @@ -302,8 +302,11 @@ func GetApiLevelsJson(ctx PathContext) WritablePath { return PathForOutput(ctx, "api_levels.json") } func getApiLevelsMapReleasedVersions() map[string]int { return map[string]int{ var finalCodenamesMapKey = NewOnceKey("FinalCodenamesMap") func getFinalCodenamesMap(config Config) map[string]int { return config.Once(finalCodenamesMapKey, func() interface{} { apiLevelsMap := map[string]int{ "G": 9, "I": 14, "J": 16, Loading @@ -324,13 +327,6 @@ func getApiLevelsMapReleasedVersions() map[string]int { "S-V2": 32, "Tiramisu": 33, } } var finalCodenamesMapKey = NewOnceKey("FinalCodenamesMap") func getFinalCodenamesMap(config Config) map[string]int { return config.Once(finalCodenamesMapKey, func() interface{} { apiLevelsMap := getApiLevelsMapReleasedVersions() // TODO: Differentiate "current" and "future". // The code base calls it FutureApiLevel, but the spelling is "current", Loading @@ -353,10 +349,29 @@ func getFinalCodenamesMap(config Config) map[string]int { var apiLevelsMapKey = NewOnceKey("ApiLevelsMap") // ApiLevelsMap has entries for preview API levels func GetApiLevelsMap(config Config) map[string]int { return config.Once(apiLevelsMapKey, func() interface{} { apiLevelsMap := getApiLevelsMapReleasedVersions() apiLevelsMap := map[string]int{ "G": 9, "I": 14, "J": 16, "J-MR1": 17, "J-MR2": 18, "K": 19, "L": 21, "L-MR1": 22, "M": 23, "N": 24, "N-MR1": 25, "O": 26, "O-MR1": 27, "P": 28, "Q": 29, "R": 30, "S": 31, "S-V2": 32, "Tiramisu": 33, } for i, codename := range config.PlatformVersionActiveCodenames() { apiLevelsMap[codename] = previewAPILevelBase + i } Loading @@ -371,11 +386,20 @@ func (a *apiLevelsSingleton) GenerateBuildActions(ctx SingletonContext) { createApiLevelsJson(ctx, apiLevelsJson, apiLevelsMap) } func printApiLevelsStarlarkDict(config Config) string { apiLevelsMap := GetApiLevelsMap(config) valDict := make(map[string]string, len(apiLevelsMap)) for k, v := range apiLevelsMap { valDict[k] = strconv.Itoa(v) } return starlark_fmt.PrintDict(valDict, 0) } func StarlarkApiLevelConfigs(config Config) string { return fmt.Sprintf(bazel.GeneratedBazelFileWarning+` _api_levels_released_versions = %s _api_levels = %s api_levels_released_versions = _api_levels_released_versions `, starlark_fmt.PrintStringIntDict(getApiLevelsMapReleasedVersions(), 0), api_levels = _api_levels `, printApiLevelsStarlarkDict(config), ) } bp2build/conversion.go +0 −1 Original line number Diff line number Diff line Loading @@ -59,7 +59,6 @@ func soongInjectionFiles(cfg android.Config, metrics CodegenMetrics) ([]BazelFil return nil, err } files = append(files, newFile("api_levels", GeneratedBuildFileName, `exports_files(["api_levels.json"])`)) // TODO(b/269691302) value of apiLevelsContent is product variable dependent and should be avoided for soong injection files = append(files, newFile("api_levels", "api_levels.json", string(apiLevelsContent))) files = append(files, newFile("api_levels", "api_levels.bzl", android.StarlarkApiLevelConfigs(cfg))) Loading starlark_fmt/format.go +0 −11 Original line number Diff line number Diff line Loading @@ -17,7 +17,6 @@ package starlark_fmt import ( "fmt" "sort" "strconv" "strings" ) Loading Loading @@ -85,16 +84,6 @@ func PrintBoolDict(dict map[string]bool, indentLevel int) string { return PrintDict(formattedValueDict, indentLevel) } // PrintStringIntDict returns a Starlark-compatible string formatted as dictionary with // string keys and int values. func PrintStringIntDict(dict map[string]int, indentLevel int) string { valDict := make(map[string]string, len(dict)) for k, v := range dict { valDict[k] = strconv.Itoa(v) } return PrintDict(valDict, indentLevel) } // PrintDict returns a starlark-compatible string containing a dictionary with string keys and // values printed with no additional formatting. func PrintDict(dict map[string]string, indentLevel int) string { Loading Loading
android/api_levels.go +54 −30 Original line number Diff line number Diff line Loading @@ -302,8 +302,11 @@ func GetApiLevelsJson(ctx PathContext) WritablePath { return PathForOutput(ctx, "api_levels.json") } func getApiLevelsMapReleasedVersions() map[string]int { return map[string]int{ var finalCodenamesMapKey = NewOnceKey("FinalCodenamesMap") func getFinalCodenamesMap(config Config) map[string]int { return config.Once(finalCodenamesMapKey, func() interface{} { apiLevelsMap := map[string]int{ "G": 9, "I": 14, "J": 16, Loading @@ -324,13 +327,6 @@ func getApiLevelsMapReleasedVersions() map[string]int { "S-V2": 32, "Tiramisu": 33, } } var finalCodenamesMapKey = NewOnceKey("FinalCodenamesMap") func getFinalCodenamesMap(config Config) map[string]int { return config.Once(finalCodenamesMapKey, func() interface{} { apiLevelsMap := getApiLevelsMapReleasedVersions() // TODO: Differentiate "current" and "future". // The code base calls it FutureApiLevel, but the spelling is "current", Loading @@ -353,10 +349,29 @@ func getFinalCodenamesMap(config Config) map[string]int { var apiLevelsMapKey = NewOnceKey("ApiLevelsMap") // ApiLevelsMap has entries for preview API levels func GetApiLevelsMap(config Config) map[string]int { return config.Once(apiLevelsMapKey, func() interface{} { apiLevelsMap := getApiLevelsMapReleasedVersions() apiLevelsMap := map[string]int{ "G": 9, "I": 14, "J": 16, "J-MR1": 17, "J-MR2": 18, "K": 19, "L": 21, "L-MR1": 22, "M": 23, "N": 24, "N-MR1": 25, "O": 26, "O-MR1": 27, "P": 28, "Q": 29, "R": 30, "S": 31, "S-V2": 32, "Tiramisu": 33, } for i, codename := range config.PlatformVersionActiveCodenames() { apiLevelsMap[codename] = previewAPILevelBase + i } Loading @@ -371,11 +386,20 @@ func (a *apiLevelsSingleton) GenerateBuildActions(ctx SingletonContext) { createApiLevelsJson(ctx, apiLevelsJson, apiLevelsMap) } func printApiLevelsStarlarkDict(config Config) string { apiLevelsMap := GetApiLevelsMap(config) valDict := make(map[string]string, len(apiLevelsMap)) for k, v := range apiLevelsMap { valDict[k] = strconv.Itoa(v) } return starlark_fmt.PrintDict(valDict, 0) } func StarlarkApiLevelConfigs(config Config) string { return fmt.Sprintf(bazel.GeneratedBazelFileWarning+` _api_levels_released_versions = %s _api_levels = %s api_levels_released_versions = _api_levels_released_versions `, starlark_fmt.PrintStringIntDict(getApiLevelsMapReleasedVersions(), 0), api_levels = _api_levels `, printApiLevelsStarlarkDict(config), ) }
bp2build/conversion.go +0 −1 Original line number Diff line number Diff line Loading @@ -59,7 +59,6 @@ func soongInjectionFiles(cfg android.Config, metrics CodegenMetrics) ([]BazelFil return nil, err } files = append(files, newFile("api_levels", GeneratedBuildFileName, `exports_files(["api_levels.json"])`)) // TODO(b/269691302) value of apiLevelsContent is product variable dependent and should be avoided for soong injection files = append(files, newFile("api_levels", "api_levels.json", string(apiLevelsContent))) files = append(files, newFile("api_levels", "api_levels.bzl", android.StarlarkApiLevelConfigs(cfg))) Loading
starlark_fmt/format.go +0 −11 Original line number Diff line number Diff line Loading @@ -17,7 +17,6 @@ package starlark_fmt import ( "fmt" "sort" "strconv" "strings" ) Loading Loading @@ -85,16 +84,6 @@ func PrintBoolDict(dict map[string]bool, indentLevel int) string { return PrintDict(formattedValueDict, indentLevel) } // PrintStringIntDict returns a Starlark-compatible string formatted as dictionary with // string keys and int values. func PrintStringIntDict(dict map[string]int, indentLevel int) string { valDict := make(map[string]string, len(dict)) for k, v := range dict { valDict[k] = strconv.Itoa(v) } return PrintDict(valDict, indentLevel) } // PrintDict returns a starlark-compatible string containing a dictionary with string keys and // values printed with no additional formatting. func PrintDict(dict map[string]string, indentLevel int) string { Loading