diff options
author | 2019-04-02 16:10:56 -0700 | |
---|---|---|
committer | 2019-04-02 23:18:30 +0000 | |
commit | ff0daf4ccf2f1ef65dad34a971a1f3c65827f744 (patch) | |
tree | d39ed037e1b949afb6283157b9058d98b7f80b1d /java/sdk.go | |
parent | 9a4f3f7ea87d983ddf69831a9e197f6b62d4d873 (diff) |
Fix sdk_version: "system_current" when Platform_sdk_final=true
When PLATFORM_VERSION_CODENAME is set to REL Platform_sdk_final
becomes true, which causes the return value of sdkVersionToNumber
for "system_current" to a real version number instead of
FutureApiLevel. This enables the check against
PlatformSystemSdkVersions, which doesn't contain "current". Use
the numeric value instead.
Fixes: 129786845
Test: sdk_test.go
Change-Id: If7cf211cc01c5fbf3e3ece3c3f604718a13d5a9b
Diffstat (limited to 'java/sdk.go')
-rw-r--r-- | java/sdk.go | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/java/sdk.go b/java/sdk.go index 0959be7de..48e77465a 100644 --- a/java/sdk.go +++ b/java/sdk.go @@ -84,7 +84,7 @@ func decodeSdkDep(ctx android.BaseContext, sdkContext sdkContext) sdkDep { v = strconv.Itoa(latestSdkVersion) } - i, err := sdkVersionToNumber(ctx, v) + numericSdkVersion, err := sdkVersionToNumber(ctx, v) if err != nil { ctx.PropertyErrorf("sdk_version", "%s", err) return sdkDep{} @@ -151,15 +151,14 @@ func decodeSdkDep(ctx android.BaseContext, sdkContext sdkContext) sdkDep { // Ensures that the specificed system SDK version is one of BOARD_SYSTEMSDK_VERSIONS (for vendor apks) // or PRODUCT_SYSTEMSDK_VERSIONS (for other apks or when BOARD_SYSTEMSDK_VERSIONS is not set) - if strings.HasPrefix(v, "system_") && i != android.FutureApiLevel { + if strings.HasPrefix(v, "system_") && numericSdkVersion != android.FutureApiLevel { allowed_versions := ctx.DeviceConfig().PlatformSystemSdkVersions() if ctx.DeviceSpecific() || ctx.SocSpecific() { if len(ctx.DeviceConfig().SystemSdkVersions()) > 0 { allowed_versions = ctx.DeviceConfig().SystemSdkVersions() } } - version := strings.TrimPrefix(v, "system_") - if len(allowed_versions) > 0 && !android.InList(version, allowed_versions) { + if len(allowed_versions) > 0 && !android.InList(strconv.Itoa(numericSdkVersion), allowed_versions) { ctx.PropertyErrorf("sdk_version", "incompatible sdk version %q. System SDK version should be one of %q", v, allowed_versions) } |