diff options
-rw-r--r-- | java/lint.go | 6 | ||||
-rw-r--r-- | java/lint_test.go | 19 |
2 files changed, 25 insertions, 0 deletions
diff --git a/java/lint.go b/java/lint.go index bd6c1bae6..c79f6e7bb 100644 --- a/java/lint.go +++ b/java/lint.go @@ -364,6 +364,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 diff --git a/java/lint_test.go b/java/lint_test.go index 6aee5946b..b51753f71 100644 --- a/java/lint_test.go +++ b/java/lint_test.go @@ -262,3 +262,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) +} |