Merge "Revert "Fix erroneous "Field requires API level 33 (current min is 32)" warnings"" am: 99666e2720 am: 611f75ea9a

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

Change-Id: Ib989959b0b864c46f519d57295c5647321db009c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Victor Chang
2022-04-29 18:16:50 +00:00
committed by Automerger Merge Worker
3 changed files with 10 additions and 38 deletions

View File

@@ -54,14 +54,6 @@ type ApiLevel struct {
isPreview bool isPreview bool
} }
func (this ApiLevel) FinalInt() int {
if this.IsPreview() {
panic("Requested a final int from a non-final ApiLevel")
} else {
return this.number
}
}
func (this ApiLevel) FinalOrFutureInt() int { func (this ApiLevel) FinalOrFutureInt() int {
if this.IsPreview() { if this.IsPreview() {
return FutureApiLevelInt return FutureApiLevelInt

View File

@@ -1478,30 +1478,11 @@ func (j *Module) compile(ctx android.ModuleContext, aaptSrcJar android.Path) {
} }
if ctx.Device() { if ctx.Device() {
lintSDKVersion := func(sdkSpec android.SdkSpec) int { lintSDKVersion := func(sdkSpec android.SdkSpec) android.ApiLevel {
if v := sdkSpec.ApiLevel; !v.IsPreview() { if v := sdkSpec.ApiLevel; !v.IsPreview() {
return v.FinalInt() return v
} else { } else {
// When running metalava, we pass --version-codename. When that value return ctx.Config().DefaultAppTargetSdk(ctx)
// is not REL, metalava will add 1 to the --current-version argument.
// On old branches, PLATFORM_SDK_VERSION is the latest version (for that
// branch) and the codename is REL, except potentially on the most
// recent non-master branch. On that branch, it goes through two other
// phases before it gets to the phase previously described:
// - PLATFORM_SDK_VERSION has not been updated yet, and the codename
// is not rel. This happens for most of the internal branch's life
// while the branch has been cut but is still under active development.
// - PLATFORM_SDK_VERSION has been set, but the codename is still not
// REL. This happens briefly during the release process. During this
// state the code to add --current-version is commented out, and then
// that commenting out is reverted after the codename is set to REL.
// On the master branch, the PLATFORM_SDK_VERSION always represents a
// prior version and the codename is always non-REL.
//
// We need to add one here to match metalava adding 1. Technically
// this means that in the state described in the second bullet point
// above, this number is 1 higher than it should be.
return ctx.Config().PlatformSdkVersion().FinalInt() + 1
} }
} }

View File

@@ -17,7 +17,6 @@ package java
import ( import (
"fmt" "fmt"
"sort" "sort"
"strconv"
"strings" "strings"
"github.com/google/blueprint/proptools" "github.com/google/blueprint/proptools"
@@ -76,9 +75,9 @@ type linter struct {
extraLintCheckJars android.Paths extraLintCheckJars android.Paths
test bool test bool
library bool library bool
minSdkVersion int minSdkVersion android.ApiLevel
targetSdkVersion int targetSdkVersion android.ApiLevel
compileSdkVersion int compileSdkVersion android.ApiLevel
compileSdkKind android.SdkKind compileSdkKind android.SdkKind
javaLanguageLevel string javaLanguageLevel string
kotlinLanguageLevel string kotlinLanguageLevel string
@@ -300,8 +299,8 @@ func (l *linter) generateManifest(ctx android.ModuleContext, rule *android.RuleB
Text(`echo "<?xml version='1.0' encoding='utf-8'?>" &&`). Text(`echo "<?xml version='1.0' encoding='utf-8'?>" &&`).
Text(`echo "<manifest xmlns:android='http://schemas.android.com/apk/res/android'" &&`). Text(`echo "<manifest xmlns:android='http://schemas.android.com/apk/res/android'" &&`).
Text(`echo " android:versionCode='1' android:versionName='1' >" &&`). Text(`echo " android:versionCode='1' android:versionName='1' >" &&`).
Textf(`echo " <uses-sdk android:minSdkVersion='%d' android:targetSdkVersion='%d'/>" &&`, Textf(`echo " <uses-sdk android:minSdkVersion='%s' android:targetSdkVersion='%s'/>" &&`,
l.minSdkVersion, l.targetSdkVersion). l.minSdkVersion.String(), l.targetSdkVersion.String()).
Text(`echo "</manifest>"`). Text(`echo "</manifest>"`).
Text(") >").Output(manifestPath) Text(") >").Output(manifestPath)
@@ -326,7 +325,7 @@ func (l *linter) lint(ctx android.ModuleContext) {
return return
} }
if l.minSdkVersion != l.compileSdkVersion { if l.minSdkVersion.CompareTo(l.compileSdkVersion) == -1 {
l.extraMainlineLintErrors = append(l.extraMainlineLintErrors, updatabilityChecks...) l.extraMainlineLintErrors = append(l.extraMainlineLintErrors, updatabilityChecks...)
_, filtered := android.FilterList(l.properties.Lint.Warning_checks, updatabilityChecks) _, filtered := android.FilterList(l.properties.Lint.Warning_checks, updatabilityChecks)
if len(filtered) != 0 { if len(filtered) != 0 {
@@ -428,7 +427,7 @@ func (l *linter) lint(ctx android.ModuleContext) {
FlagWithOutput("--html ", html). FlagWithOutput("--html ", html).
FlagWithOutput("--text ", text). FlagWithOutput("--text ", text).
FlagWithOutput("--xml ", xml). FlagWithOutput("--xml ", xml).
FlagWithArg("--compile-sdk-version ", strconv.Itoa(l.compileSdkVersion)). FlagWithArg("--compile-sdk-version ", l.compileSdkVersion.String()).
FlagWithArg("--java-language-level ", l.javaLanguageLevel). FlagWithArg("--java-language-level ", l.javaLanguageLevel).
FlagWithArg("--kotlin-language-level ", l.kotlinLanguageLevel). FlagWithArg("--kotlin-language-level ", l.kotlinLanguageLevel).
FlagWithArg("--url ", fmt.Sprintf(".=.,%s=out", android.PathForOutput(ctx).String())). FlagWithArg("--url ", fmt.Sprintf(".=.,%s=out", android.PathForOutput(ctx).String())).