Replace FutureApiLevel with an ApiLevel.
Keeping the int constant around for now as FutureApiLevelInt because
it's still useful in places that haven't adopted ApiLevel yet for
testing if their non-ApiLevel API level is current or not.
Test: treehugger
Bug: http://b/154667674
Change-Id: I47a7012703f41fdeb56f91edf9c83afa93042deb
diff --git a/android/api_levels.go b/android/api_levels.go
index 81f5db0..cba13ee 100644
--- a/android/api_levels.go
+++ b/android/api_levels.go
@@ -51,7 +51,7 @@
func (this ApiLevel) FinalOrFutureInt() int {
if this.IsPreview() {
- return FutureApiLevel
+ return FutureApiLevelInt
} else {
return this.number
}
@@ -127,13 +127,6 @@
}
}
-// 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 @@
}
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 1c06e8c..34f1580 100644
--- a/android/config.go
+++ b/android/config.go
@@ -37,7 +37,13 @@
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 @@
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 d2973c2..e8294a8 100644
--- a/apex/apex.go
+++ b/apex/apex.go
@@ -1955,7 +1955,7 @@
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 @@
}
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 e0e6a2f..aad1ac9 100644
--- a/cc/cc.go
+++ b/cc/cc.go
@@ -2291,7 +2291,7 @@
}
// 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 @@
// 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 18a2f62..bb5c7bf 100644
--- a/cc/compiler.go
+++ b/cc/compiler.go
@@ -392,7 +392,7 @@
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 4c6d98c..5682d1c 100644
--- a/cc/ndk_library.go
+++ b/cc/ndk_library.go
@@ -118,8 +118,8 @@
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 5f8cb24..0d7341e 100644
--- a/java/sdk.go
+++ b/java/sdk.go
@@ -107,7 +107,7 @@
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)