Merge "Prevent disabling checks via flags property" into main am: 59739666e6

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

Change-Id: Ie49923115baf0fb0ffa8599621c0cad80398a9a9
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Treehugger Robot
2024-01-30 00:47:45 +00:00
committed by Automerger Merge Worker
2 changed files with 25 additions and 0 deletions

View File

@@ -370,6 +370,12 @@ func (l *linter) lint(ctx android.ModuleContext) {
return
}
for _, flag := range l.properties.Lint.Flags {
if strings.Contains(flag, "--disable") || strings.Contains(flag, "--enable") || strings.Contains(flag, "--check") {
ctx.PropertyErrorf("lint.flags", "Don't use --disable, --enable, or --check in the flags field, instead use the dedicated disabled_checks, warning_checks, error_checks, or fatal_checks fields")
}
}
if l.minSdkVersion.CompareTo(l.compileSdkVersion) == -1 {
l.extraMainlineLintErrors = append(l.extraMainlineLintErrors, updatabilityChecks...)
// Skip lint warning checks for NewApi warnings for libcore where they come from source

View File

@@ -260,3 +260,22 @@ func TestJavaLintDatabaseSelectionFull(t *testing.T) {
}
}
}
func TestCantControlCheckSeverityWithFlags(t *testing.T) {
bp := `
java_library {
name: "foo",
srcs: [
"a.java",
],
min_sdk_version: "29",
sdk_version: "current",
lint: {
flags: ["--disabled", "NewApi"],
},
}
`
PrepareForTestWithJavaDefaultModules.
ExtendWithErrorHandler(android.FixtureExpectsOneErrorPattern("Don't use --disable, --enable, or --check in the flags field, instead use the dedicated disabled_checks, warning_checks, error_checks, or fatal_checks fields")).
RunTestWithBp(t, bp)
}