Releases: tbroyer/gradle-errorprone-plugin
v4.1.0
- Pass
--should-stop=ifError=FLOW
to the compiler; it fixes a few issues in all versions of Error Prone, and the next version will make it mandatory (should have been the case in 2.34 already, but didn't actually apply to the JavaC plugin). - Add metadata to the published POM (#100)
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.
v2.0.2
v2.0.1
v2.0.0
v1.3.1
Fix regression in v1.3.0 where the errorproneJavac
configuration was resolved even when not using JDK 8, in Gradle 6.7+ (as a side-effect to adding toolchains support). This would lead to either resolving an unnecessary 6.5Mb file, or printing a warning that com.google.errorprone:javac
is missing in errorproneJavac
.
Add KDoc to the DSL extension, in the hope that it's picked up by IDEs (no additional artifact is generated)