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
This commit is contained in:
@@ -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")
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user