diff options
| author | 2021-06-13 15:23:16 -0700 | |
|---|---|---|
| committer | 2021-06-14 15:31:32 -0700 | |
| commit | 75fffb14b8c74a6495d481f03586db7b505e737f (patch) | |
| tree | 7de47dbeb0506198ef07f700d684daebfb078814 /java/java_test.go | |
| parent | 5f16b3d03ef34494e3ac7ef581ab5797f824d0f6 (diff) | |
Add a build flag to always enable errorprone per-target
Currently, errorprone is only run if the RUN_ERROR_PRONE
enviornment variable is true. Add a flag that individual
modules can use to always enable errorprone.
In a followup cl, I plan to add another flag that will
force all errorprone checks to be errors, so that modules
can be confident that they're not ignoring any errorprone
checks.
Bug: 190944875
Test: New unit test and manually
Change-Id: Iab0c81642ed22a736add054147829e91a891d179
Diffstat (limited to 'java/java_test.go')
| -rw-r--r-- | java/java_test.go | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/java/java_test.go b/java/java_test.go index bd373c177..78d9ab4c7 100644 --- a/java/java_test.go +++ b/java/java_test.go @@ -1392,3 +1392,31 @@ func TestDefaultInstallable(t *testing.T) { assertDeepEquals(t, "Default installable value should be true.", proptools.BoolPtr(true), module.properties.Installable) } + +func TestErrorproneEnabled(t *testing.T) { + ctx, _ := testJava(t, ` + java_library { + name: "foo", + srcs: ["a.java"], + errorprone: { + enabled: true, + }, + } + `) + + javac := ctx.ModuleForTests("foo", "android_common").Description("javac") + + // Test that the errorprone plugins are passed to javac + expectedSubstring := "-Xplugin:ErrorProne" + if !strings.Contains(javac.Args["javacFlags"], expectedSubstring) { + t.Errorf("expected javacFlags to conain %q, got %q", expectedSubstring, javac.Args["javacFlags"]) + } + + // Modules with errorprone { enabled: true } will include errorprone checks + // in the main javac build rule. Only when RUN_ERROR_PRONE is true will + // the explicit errorprone build rule be created. + errorprone := ctx.ModuleForTests("foo", "android_common").MaybeDescription("errorprone") + if errorprone.RuleParams.Description != "" { + t.Errorf("expected errorprone build rule to not exist, but it did") + } +} |