diff --git a/changelog/@unreleased/pr-1210.v2.yml b/changelog/@unreleased/pr-1210.v2.yml new file mode 100644 index 000000000..05ee02c87 --- /dev/null +++ b/changelog/@unreleased/pr-1210.v2.yml @@ -0,0 +1,6 @@ +type: fix +fix: + description: Turn off UnnecessaryLambda in tests where it doesn't provide value + because there is a ubiquitous use case that is painful to fix. + links: + - https://github.com/palantir/gradle-baseline/pull/1210 diff --git a/gradle-baseline-java/src/main/groovy/com/palantir/baseline/plugins/BaselineErrorProne.java b/gradle-baseline-java/src/main/groovy/com/palantir/baseline/plugins/BaselineErrorProne.java index 56e49df4c..ae11c6752 100644 --- a/gradle-baseline-java/src/main/groovy/com/palantir/baseline/plugins/BaselineErrorProne.java +++ b/gradle-baseline-java/src/main/groovy/com/palantir/baseline/plugins/BaselineErrorProne.java @@ -156,6 +156,17 @@ private static void applyToJavaProject(Project project) { })); }); + project.getTasks().withType(JavaCompile.class).configureEach(javaCompile -> { + ((ExtensionAware) javaCompile.getOptions()) + .getExtensions() + .configure(ErrorProneOptions.class, errorProneOptions -> { + // Relax some checks for test code + if (errorProneOptions.isCompilingTestOnlyCode()) { + errorProneOptions.check("UnnecessaryLambda", CheckSeverity.OFF); + } + }); + }); + // In case of java 8 we need to add errorprone javac compiler to bootstrap classpath of tasks that perform // compilation or code analysis. ErrorProneJavacPluginPlugin handles JavaCompile cases via errorproneJavac // configuration and we do similar thing for Test and Javadoc type tasks