Releases: tbroyer/gradle-errorprone-plugin
v4.2.0
Handle configurations more lazily
This is in preparation for Gradle 8.14 which will no longer realize all configurations in the base
plugin, allowing truly lazily-initialized configurations.
This change should allow the javacConfiguration
to only be initialized when JDK 8 is being used, and the various annotationProcessor
configurations from source sets to only be initialized when needed, e.g. when a compilation tasks for that source set is run (it's likely that the java
plugin doesn't yet take advantage of this new possibility itself though)
v4.1.0
v4.0.1
v4.0.0
v3.1.0
Avoid forking if Gradle already has appropriate --add-exports
/--add-opens
passed through the org.gradle.jvmargs
property.
✨ Potentially breaking changes
When using JDK 16+, users configuring additional JVM arguments on their compile tasks and expecting a forked compiler daemon from the plugin should now explicitly configure the tasks to fork if they want their JVM arguments to be enforced in all cases.
v3.0.1
v3.0.0
☣️ Known issues
The Gradle Module Metadata for the 3.0.0 release includes a org.gradle.jvm.version
attribute with an incorrect value. This will break builds using a JDK < 17 (#73). This is fixed in version 3.0.1.
💥 Breaking changes
- Remove support for Android (2c4afc6): the plugin should still be usable within Android projects, but compile tasks will have to be configured manually: ErrorProne is no longer added to the annotation processor path, ErrorProne is disabled by default, and
isCompilingTestOnlyCode
is no longer configured based on the type of variant. - Require Gradle 6.8 at a minimum (7410cc0)
✨ Potentially breaking changes
- Fork options are no longer reset when the plugin configures forking (c032f7d, 8958d29): any fork option that was configured despite the task not forking will now apply when the plugin determines that the task should fork, and ErrorProne-specific fork options are now additive to those previously-configured options.
- ErrorProne Javac is now declared as a default dependency of the
errorproneJavac
configuration (72a842c): ErrorProne no longer supports JDK 8 (since 2.11.0), so this dependency won't change, and can thus be defaulted to the latest version (released nearly 5 years ago) - Strong encapsulation JVM arguments are now configured for all JDK 9+, rather than JDK 16+ (423cbfa): those arguments won't be used unless forking is explicitly configured though; forking still is only configured by the plugin for JDK 8 or JDK 16+, not JDK 9–15.
- Use
jvmArgumentProvides
in Gradle 7.1+ (ffef94d)
📝 Upgrading
You can safely remove errorproneJavac("com.google.errorprone:javac:9+181-r4173-1")
from your dependencies as this is now added by default.
Also make sure you do not configure any fork option while not enabling forking, that would cause any error if forking was enabled, as those options will be retained when the plugin configures forking.