feat!: Upgrade Gradle to 8.14.3, JDK 17#349
Conversation
fe196e8 to
2e587a0
Compare
74155b8 to
e8b49fa
Compare
* Breaking change - switch to JDK 17 * Upgrade Gradle from 8.5 -> 8.14.3 * Tidy Gradle syntax: * Move all dependency definitions to versions catalog (libs.versions.toml) * Use newer syntax for JDK release version * Upgrade dependencies to latest * use BOMs for dependencies where appropriate * Use v2 Gradle plugin publication plugin * adds Gradle Plugin Development Plugin by default * adds TestKit dependency by default * adds dependency on Gradle API by default * Filter Gradle tests based on Java version
e8b49fa to
ef64505
Compare
|
Just wondering, is this actually a breaking change? We’re still targeting JDK 8, the tests are basically the same, and the API is the same? What am I missing? Is there something implicitly different about the target Gradle api version? |
|
@chadlwilson we're breaking the compatibility with Gradle 6 - only supporting 7, 8 and 9. Might not mean much but it is a breaking change. |
|
Which specific change here actually broke that compatibility though? Yes, we can't test against it using Java 17, but that doesn't necessarily mean we broke compatibility if it's otherwise API and Java release compliant. It seems to me the earlier plugin code was already in a dubious state it compiling against a newer Gradle ApI anyway? Dropping support is different to breaking, and the language is important to users. |
Noted for future reference, if it's critical we can adjust the release version via a commit on master |
|
Ok, so my understanding is correct that it's mainly a "we wont guarantee Gradle 6 works for 3.x series"? If so, still agree with the change. Just curious as to the nature of it for my future PRs 😅 |
Yes. The only way to do that would be to run separate tests using JDK 11, definitely possible but not something I think any of us has time for. |
|
Yeah agreed. Honestly I think earlier the Gradle 6 compat wasn’t working anyway, since the Gradle api version it was compiling against was 2 major versions later. Even the readme says to use 1.x for Gradle 6 https://github.com/jk1/Gradle-License-Report?tab=readme-ov-file#usage and if I remember correctly from back then the 2.x version dropped 6.x compat when adding 7.x and 8.x compat hence this change: So arguably don’t/didn’t need to bump major version. |
|
Want to “never let a good crisis go to waste” and drop 7.x too? 😉 |
|
Not after I made the tests work! |
Breaking Change! Upgrade to JDK 17