Replace FutureApiLevel with an ApiLevel. am: 0b176c8038 am: d5e15a13df

Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1388351

Change-Id: Ica0a6c1a244225e39586523314b1e7e9e1d98096
This commit is contained in:
Dan Albert
2020-09-24 23:49:00 +00:00
committed by Automerger Merge Worker
7 changed files with 19 additions and 19 deletions

View File

@@ -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() {

View File

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

View File

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

View File

@@ -2315,7 +2315,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)
}
@@ -2324,7 +2324,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) {

View File

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

View File

@@ -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 {

View File

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