summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Spandan Das <spandandas@google.com> 2023-03-21 01:36:46 +0000
committer Spandan Das <spandandas@google.com> 2023-03-21 01:36:46 +0000
commitac96191f2234b58bcb250d1f88c85ce25077f7a5 (patch)
tree44795367861c742bc0bda6c029f37f2e73897404
parent51dc6859acdf9f861691f4b7fadbc7363b8afab1 (diff)
Revert "Create two sentinel api levels"
Revert submission 2457063 Reason for revert: Broken udc-dev Reverted changes: /q/submissionid:2457063 Change-Id: Ide8e1b23d5a575c57be44ebd801846dc5caf2e83
-rw-r--r--android/api_levels.go33
-rw-r--r--android/config.go9
-rw-r--r--android/sdk_version.go6
-rw-r--r--android/sdk_version_test.go4
4 files changed, 5 insertions, 47 deletions
diff --git a/android/api_levels.go b/android/api_levels.go
index a68d8e2b6..9440ee9e7 100644
--- a/android/api_levels.go
+++ b/android/api_levels.go
@@ -55,9 +55,6 @@ type ApiLevel struct {
}
func (this ApiLevel) FinalInt() int {
- if this.IsInvalid() {
- panic(fmt.Errorf("%v is not a recognized api_level\n", this))
- }
if this.IsPreview() {
panic("Requested a final int from a non-final ApiLevel")
} else {
@@ -66,9 +63,6 @@ func (this ApiLevel) FinalInt() int {
}
func (this ApiLevel) FinalOrFutureInt() int {
- if this.IsInvalid() {
- panic(fmt.Errorf("%v is not a recognized api_level\n", this))
- }
if this.IsPreview() {
return FutureApiLevelInt
} else {
@@ -82,9 +76,6 @@ func (this ApiLevel) FinalOrFutureInt() int {
// - preview codenames -> preview base (9000) + index
// - otherwise -> cast to int
func (this ApiLevel) FinalOrPreviewInt() int {
- if this.IsInvalid() {
- panic(fmt.Errorf("%v is not a recognized api_level\n", this))
- }
if this.IsCurrent() {
return this.number
}
@@ -106,11 +97,6 @@ func (this ApiLevel) IsPreview() bool {
return this.isPreview
}
-// Returns true if the raw api level string is invalid
-func (this ApiLevel) IsInvalid() bool {
- return this.EqualTo(InvalidApiLevel)
-}
-
// Returns true if this is the unfinalized "current" API level. This means
// different things across Java and native. Java APIs do not use explicit
// codenames, so all non-final codenames are grouped into "current". For native
@@ -127,12 +113,6 @@ func (this ApiLevel) IsNone() bool {
return this.number == -1
}
-// Returns true if an app is compiling against private apis.
-// e.g. if sdk_version = "" in Android.bp, then the ApiLevel of that "sdk" is at PrivateApiLevel.
-func (this ApiLevel) IsPrivate() bool {
- return this.number == PrivateApiLevel.number
-}
-
// Returns -1 if the current API level is less than the argument, 0 if they
// are equal, and 1 if it is greater than the argument.
func (this ApiLevel) CompareTo(other ApiLevel) int {
@@ -186,19 +166,6 @@ var NoneApiLevel = ApiLevel{
isPreview: true,
}
-// Sentinel ApiLevel to validate that an apiLevel is either an int or a recognized codename.
-var InvalidApiLevel = NewInvalidApiLevel("invalid")
-
-// Returns an apiLevel object at the same level as InvalidApiLevel.
-// The object contains the raw string provied in bp file, and can be used for error handling.
-func NewInvalidApiLevel(raw string) ApiLevel {
- return ApiLevel{
- value: raw,
- number: -2, // One less than NoneApiLevel
- isPreview: true,
- }
-}
-
// The first version that introduced 64-bit ABIs.
var FirstLp64Version = uncheckedFinalApiLevel(21)
diff --git a/android/config.go b/android/config.go
index 593812c5f..292fcf2fe 100644
--- a/android/config.go
+++ b/android/config.go
@@ -52,15 +52,6 @@ var StringDefault = proptools.StringDefault
// FutureApiLevelInt is a placeholder constant for unreleased API levels.
const FutureApiLevelInt = 10000
-// PrivateApiLevel represents the api level of SdkSpecPrivate (sdk_version: "")
-// This api_level exists to differentiate user-provided "" from "current" sdk_version
-// The differentiation is necessary to enable different validation rules for these two possible values.
-var PrivateApiLevel = ApiLevel{
- value: "current", // The value is current since aidl expects `current` as the default (TestAidlFlagsWithMinSdkVersion)
- number: FutureApiLevelInt + 1, // This is used to differentiate it from FutureApiLevel
- isPreview: true,
-}
-
// FutureApiLevel represents unreleased API levels.
var FutureApiLevel = ApiLevel{
value: "current",
diff --git a/android/sdk_version.go b/android/sdk_version.go
index 2d93ae0fc..a7e03dcd8 100644
--- a/android/sdk_version.go
+++ b/android/sdk_version.go
@@ -238,7 +238,7 @@ func (s SdkSpec) EffectiveVersionString(ctx EarlyModuleContext) (string, error)
var (
SdkSpecNone = SdkSpec{SdkNone, NoneApiLevel, "(no version)"}
- SdkSpecPrivate = SdkSpec{SdkPrivate, PrivateApiLevel, ""}
+ SdkSpecPrivate = SdkSpec{SdkPrivate, FutureApiLevel, ""}
SdkSpecCorePlatform = SdkSpec{SdkCorePlatform, FutureApiLevel, "core_platform"}
)
@@ -261,7 +261,7 @@ func SdkSpecFromWithConfig(config Config, str string) SdkSpec {
var kindString string
if sep == 0 {
- return SdkSpec{SdkInvalid, NewInvalidApiLevel(str), str}
+ return SdkSpec{SdkInvalid, NoneApiLevel, str}
} else if sep == -1 {
kindString = ""
} else {
@@ -289,7 +289,7 @@ func SdkSpecFromWithConfig(config Config, str string) SdkSpec {
apiLevel, err := ApiLevelFromUserWithConfig(config, versionString)
if err != nil {
- return SdkSpec{SdkInvalid, NewInvalidApiLevel(versionString), str}
+ return SdkSpec{SdkInvalid, apiLevel, str}
}
return SdkSpec{kind, apiLevel, str}
}
diff --git a/android/sdk_version_test.go b/android/sdk_version_test.go
index ea99c4d62..ec81782f0 100644
--- a/android/sdk_version_test.go
+++ b/android/sdk_version_test.go
@@ -37,11 +37,11 @@ func TestSdkSpecFrom(t *testing.T) {
},
{
input: "_",
- expected: "invalid__",
+ expected: "invalid_(no version)",
},
{
input: "_31",
- expected: "invalid__31",
+ expected: "invalid_(no version)",
},
{
input: "system_R",