diff --git a/build-logic/src/main/kotlin/spotless.error-prone.gradle.kts b/build-logic/src/main/kotlin/spotless.error-prone.gradle.kts index 45a97a7439..f5ba3f28f7 100644 --- a/build-logic/src/main/kotlin/spotless.error-prone.gradle.kts +++ b/build-logic/src/main/kotlin/spotless.error-prone.gradle.kts @@ -4,9 +4,15 @@ plugins { id("net.ltgt.errorprone") } +// error_prone_core 2.43.0+ requires Java 21+ to run (compiled with classfile version 65.0). +val isJava21Compatible = JavaVersion.current() >= JavaVersion.VERSION_21 + tasks.withType().configureEach { options.errorprone { - enabled = System.getenv("error-prone")?.toBooleanGroovy() == true + enabled = + isJava21Compatible && + (System.getProperty("error-prone")?.toBooleanGroovy() == true || + System.getenv("error-prone")?.toBooleanGroovy() == true) // https://github.com/diffplug/spotless/issues/2745 // https://github.com/google/error-prone/issues/5365 disableAllWarnings = true @@ -34,5 +40,7 @@ tasks.withType().configureEach { } dependencies { - errorprone(libs.errorprone.core) + if (isJava21Compatible) { + errorprone(libs.errorprone.core) + } } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index b4acb59da6..2da62c3667 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -73,7 +73,7 @@ rewrite-recipe-migrate-java = "org.openrewrite.recipe:rewrite-migrate-java:3.42. rewrite-recipe-static-analysis = "org.openrewrite.recipe:rewrite-static-analysis:2.41.1" rewrite-recipe-third-party = "org.openrewrite.recipe:rewrite-third-party:0.45.0" -errorprone-core = "com.google.errorprone:error_prone_core:2.42.0" +errorprone-core = "com.google.errorprone:error_prone_core:2.50.0" [plugins] buildconfig = "com.github.gmazzo.buildconfig:6.1.0"