From 6a7470c1e32c6d6b5ec630ee228a20d7041225f2 Mon Sep 17 00:00:00 2001 From: Vincent Potucek Date: Thu, 9 Oct 2025 19:20:04 +0200 Subject: [PATCH] Add `error-prone.picnic.tech` --- build.gradle | 1 + gradle/error-prone.gradle | 66 +++++++++++++++++++++++++++++++++++++++ rewrite.yml | 1 - settings.gradle | 1 + 4 files changed, 68 insertions(+), 1 deletion(-) create mode 100644 gradle/error-prone.gradle diff --git a/build.gradle b/build.gradle index a20f2b4c74..9a905550cf 100644 --- a/build.gradle +++ b/build.gradle @@ -12,6 +12,7 @@ repositories { apply from: rootProject.file('gradle/java-publish.gradle') apply from: rootProject.file('gradle/changelog.gradle') allprojects { + apply from: rootProject.file('gradle/error-prone.gradle') apply from: rootProject.file('gradle/rewrite.gradle') apply from: rootProject.file('gradle/spotless.gradle') } diff --git a/gradle/error-prone.gradle b/gradle/error-prone.gradle new file mode 100644 index 0000000000..f6bd0d0cb0 --- /dev/null +++ b/gradle/error-prone.gradle @@ -0,0 +1,66 @@ +import static java.lang.System.getenv + +apply plugin: 'net.ltgt.errorprone' + +dependencies { + errorprone('com.google.errorprone:error_prone_core:2.42.0') + errorprone('tech.picnic.error-prone-support:error-prone-contrib:0.25.0') + errorprone('tech.picnic.error-prone-support:refaster-runner:0.25.0') + constraints { + errorprone('com.google.guava:guava') { + version { + require('33.4.8-jre') + } + because('Older versions use deprecated methods in sun.misc.Unsafe') + // https://github.com/junit-team/junit-framework/pull/5039#discussion_r2414490581 + } + } +} + +tasks.withType(JavaCompile).configureEach { + options.errorprone { + errorproneArgs.add('-XepOpt:Refaster:NamePattern=^(?!.*Rules\\$).*') + error( + 'DirectReturn', + // 'ConstantNaming', + // 'LexicographicalAnnotationAttributeListing', + // 'LexicographicalAnnotationListing', + // 'MissingOverride', + // 'NonStaticImport', + // 'OptionalMapUnusedValue', + // 'OptionalOfRedundantMethod', + // 'RedundantSetterCall', + // 'RedundantStringConversion', + // 'RedundantStringEscape', + // 'StaticImport', + // 'StringJoin', + // 'UnnecessaryCheckNotNull', + // 'UnnecessaryTypeArgument', + // 'UnusedAnonymousClass', + // 'UnusedCollectionModifiedInPlace', + ) + if (!getenv().containsKey('CI') && getenv('IN_PLACE')?.toBoolean()) { + errorproneArgs.addAll( + '-XepPatchLocation:IN_PLACE', + '-XepPatchChecks:' + + 'DirectReturn,' + // 'ConstantNaming,' + + // 'MissingOverride,' + + // 'StaticImport,' + + // LexicographicalAnnotationAttributeListing,' + + // LexicographicalAnnotationListing,' + + // NonStaticImport,' + + // OptionalMapUnusedValue,' + + // OptionalOfRedundantMethod,' + + // RedundantSetterCall,' + + // RedundantStringConversion,' + + // RedundantStringEscape,' + + // StringJoin,' + + // UnnecessaryCheckNotNull,' + + // UnnecessaryTypeArgument,' + + // UnusedAnonymousClass,' + + // UnusedCollectionModifiedInPlace,' + ) + } + } +} diff --git a/rewrite.yml b/rewrite.yml index a7f4e4654d..b27ea2ad97 100644 --- a/rewrite.yml +++ b/rewrite.yml @@ -10,7 +10,6 @@ tags: - cleanup recipeList: - org.openrewrite.gradle.EnableGradleBuildCache - - org.openrewrite.gradle.EnableGradleParallelExecution - org.openrewrite.gradle.GradleBestPractices - org.openrewrite.java.RemoveUnusedImports - org.openrewrite.java.format.NormalizeFormat diff --git a/settings.gradle b/settings.gradle index 03e841f0ae..5b63b1a24d 100644 --- a/settings.gradle +++ b/settings.gradle @@ -23,6 +23,7 @@ plugins { id 'com.gradle.develocity' version '4.2.1' // https://github.com/equodev/equo-ide/blob/main/plugin-gradle/CHANGELOG.md id 'dev.equo.ide' version '1.7.8' apply false + id 'net.ltgt.errorprone' version '4.3.0' apply false id 'org.openrewrite.rewrite' version '7.17.0' apply false }