diff --git a/android/api_levels.go b/android/api_levels.go index 81f5db02c..cba13ee2d 100644 --- a/android/api_levels.go +++ b/android/api_levels.go @@ -51,7 +51,7 @@ type ApiLevel struct { func (this ApiLevel) FinalOrFutureInt() int { if this.IsPreview() { - return FutureApiLevel + return FutureApiLevelInt } else { return this.number } @@ -127,13 +127,6 @@ func uncheckedFinalApiLevel(num int) ApiLevel { } } -// TODO: Merge with FutureApiLevel -var CurrentApiLevel = ApiLevel{ - value: "current", - number: 10000, - isPreview: true, -} - var NoneApiLevel = ApiLevel{ value: "(no version)", // Not 0 because we don't want this to compare equal with the first preview. @@ -188,7 +181,7 @@ func ApiLevelFromUser(ctx EarlyModuleContext, raw string) (ApiLevel, error) { } if raw == "current" { - return CurrentApiLevel, nil + return FutureApiLevel, nil } for _, preview := range ctx.Config().PreviewApiLevels() { diff --git a/android/config.go b/android/config.go index 1c06e8c55..34f1580a3 100644 --- a/android/config.go +++ b/android/config.go @@ -37,7 +37,13 @@ var Bool = proptools.Bool var String = proptools.String var StringDefault = proptools.StringDefault -const FutureApiLevel = 10000 +const FutureApiLevelInt = 10000 + +var FutureApiLevel = ApiLevel{ + value: "current", + number: FutureApiLevelInt, + isPreview: true, +} // The configuration file name const configFileName = "soong.config" @@ -672,11 +678,12 @@ func (c *config) AllSupportedApiLevels() []ApiLevel { return append(levels, c.PreviewApiLevels()...) } +// TODO: Merge this and DefaultAppTargetSdk to just return an ApiLevel. func (c *config) DefaultAppTargetSdkInt() int { if Bool(c.productVariables.Platform_sdk_final) { return c.PlatformSdkVersionInt() } else { - return FutureApiLevel + return FutureApiLevelInt } } diff --git a/apex/apex.go b/apex/apex.go index d2973c210..e8294a8f6 100644 --- a/apex/apex.go +++ b/apex/apex.go @@ -1955,7 +1955,7 @@ func (a *apexBundle) WalkPayloadDeps(ctx android.ModuleContext, do android.Paylo func (a *apexBundle) minSdkVersion(ctx android.BaseModuleContext) android.ApiLevel { ver := proptools.String(a.properties.Min_sdk_version) if ver == "" { - return android.CurrentApiLevel + return android.FutureApiLevel } apiLevel, err := android.ApiLevelFromUser(ctx, ver) if err != nil { @@ -1964,7 +1964,7 @@ func (a *apexBundle) minSdkVersion(ctx android.BaseModuleContext) android.ApiLev } if apiLevel.IsPreview() { // All codenames should build against "current". - return android.CurrentApiLevel + return android.FutureApiLevel } return apiLevel } diff --git a/cc/cc.go b/cc/cc.go index e0e6a2ffa..aad1ac9a2 100644 --- a/cc/cc.go +++ b/cc/cc.go @@ -2291,7 +2291,7 @@ func (c *Module) depsToPaths(ctx android.ModuleContext) PathDeps { } // For the dependency from platform to apex, use the latest stubs - c.apexSdkVersion = android.CurrentApiLevel + c.apexSdkVersion = android.FutureApiLevel if !c.IsForPlatform() { c.apexSdkVersion = c.ApexProperties.Info.MinSdkVersion(ctx) } @@ -2300,7 +2300,7 @@ func (c *Module) depsToPaths(ctx android.ModuleContext) PathDeps { // In hwasan build, we override apexSdkVersion to the FutureApiLevel(10000) // so that even Q(29/Android10) apexes could use the dynamic unwinder by linking the newer stubs(e.g libc(R+)). // (b/144430859) - c.apexSdkVersion = android.CurrentApiLevel + c.apexSdkVersion = android.FutureApiLevel } ctx.VisitDirectDeps(func(dep android.Module) { diff --git a/cc/compiler.go b/cc/compiler.go index 18a2f629a..bb5c7bf2a 100644 --- a/cc/compiler.go +++ b/cc/compiler.go @@ -392,7 +392,7 @@ func (compiler *baseCompiler) compilerFlags(ctx ModuleContext, flags Flags, deps if ctx.Os().Class == android.Device { version := ctx.sdkVersion() if version == "" || version == "current" { - target += strconv.Itoa(android.FutureApiLevel) + target += strconv.Itoa(android.FutureApiLevelInt) } else { target += version } diff --git a/cc/ndk_library.go b/cc/ndk_library.go index 4c6d98c52..5682d1c6b 100644 --- a/cc/ndk_library.go +++ b/cc/ndk_library.go @@ -118,8 +118,8 @@ func generatePerApiVariants(ctx android.BottomUpMutatorContext, m *Module, versionStrs = append(versionStrs, version.String()) } } - versions = append(versions, android.CurrentApiLevel) - versionStrs = append(versionStrs, android.CurrentApiLevel.String()) + versions = append(versions, android.FutureApiLevel) + versionStrs = append(versionStrs, android.FutureApiLevel.String()) modules := ctx.CreateVariations(versionStrs...) for i, module := range modules { diff --git a/java/sdk.go b/java/sdk.go index 5f8cb2400..0d7341e96 100644 --- a/java/sdk.go +++ b/java/sdk.go @@ -107,7 +107,7 @@ type sdkVersion int const ( // special version number for a not-yet-frozen SDK - sdkVersionCurrent sdkVersion = sdkVersion(android.FutureApiLevel) + sdkVersionCurrent sdkVersion = sdkVersion(android.FutureApiLevelInt) // special version number to be used for SDK specs where version number doesn't // make sense, e.g. "none", "", etc. sdkVersionNone sdkVersion = sdkVersion(0)