Modernize build: Gradle 8.10, Java 11, Lombok 1.18.30#77
Modernize build: Gradle 8.10, Java 11, Lombok 1.18.30#77rl-enjoyer wants to merge 2 commits intoFlipping-Utilities:masterfrom
Conversation
Align with current RuneLite plugin template: - Gradle 6.6.1 → 8.10 (fixes build on Java 17+/21) - sourceCompatibility 1.8 → options.release.set(11) (matches plugin hub) - Lombok 1.18.4 → 1.18.30 - Repo URL http → https The plugin hub's target_init.gradle already forces Java 11 on all plugins, so this just makes local development match production. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
📝 WalkthroughWalkthroughBuild configuration updates: Gradle wrapper upgraded from 6.6.1 to 8.10, Lombok bumped from 1.18.4 to 1.18.30, RuneLite Maven repository URL changed to HTTPS, and Java compilation set to release 11 (removed explicit sourceCompatibility 1.8). Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
Test output —
|
There was a problem hiding this comment.
🧹 Nitpick comments (2)
build.gradle (1)
17-18: LGTM! Lombok upgraded to 1.18.30.This version properly supports Java 11 through 21, aligning with the Java release target change.
🧹 Optional: Extract Lombok version to a variable for DRY
+def lombokVersion = '1.18.30' + dependencies { compileOnly group: 'net.runelite', name:'client', version: runeLiteVersion - compileOnly 'org.projectlombok:lombok:1.18.30' - annotationProcessor 'org.projectlombok:lombok:1.18.30' + compileOnly "org.projectlombok:lombok:${lombokVersion}" + annotationProcessor "org.projectlombok:lombok:${lombokVersion}"🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@build.gradle` around lines 17 - 18, The Lombok version is duplicated in build.gradle; define a single property (e.g., lombokVersion) in the Gradle extra/extension properties (or in the plugins block) and replace both hard-coded coordinates ('org.projectlombok:lombok:1.18.30') used in compileOnly and annotationProcessor with the property reference (e.g., "org.projectlombok:lombok:${lombokVersion}") so the version is maintained in one place across the build.gradle/wrapper/gradle-wrapper.properties (1)
3-3: Gradle 8.10 is a solid upgrade, but Gradle 9.4.1 is now available as the latest stable.The upgrade from 6.6.1 to 8.10 enables building on modern JDKs (17/21) and aligns with the RuneLite plugin template. The binary-only distribution (
-bin.zip) is appropriate. Consider upgrading to Gradle 9.4.1 (the current latest stable as of March 2026) for access to the newest features and improvements.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@gradle/wrapper/gradle-wrapper.properties` at line 3, Update the Gradle wrapper distributionUrl to the latest stable (9.4.1) by replacing the current distributionUrl value; specifically change the distributionUrl property (the line starting with "distributionUrl=" in gradle-wrapper.properties) from the gradle-8.10-bin.zip URL to the gradle-9.4.1-bin.zip URL, keeping the same https://services.gradle.org/distributions/ prefix and the "-bin.zip" artifact.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In `@build.gradle`:
- Around line 17-18: The Lombok version is duplicated in build.gradle; define a
single property (e.g., lombokVersion) in the Gradle extra/extension properties
(or in the plugins block) and replace both hard-coded coordinates
('org.projectlombok:lombok:1.18.30') used in compileOnly and annotationProcessor
with the property reference (e.g., "org.projectlombok:lombok:${lombokVersion}")
so the version is maintained in one place across the build.
In `@gradle/wrapper/gradle-wrapper.properties`:
- Line 3: Update the Gradle wrapper distributionUrl to the latest stable (9.4.1)
by replacing the current distributionUrl value; specifically change the
distributionUrl property (the line starting with "distributionUrl=" in
gradle-wrapper.properties) from the gradle-8.10-bin.zip URL to the
gradle-9.4.1-bin.zip URL, keeping the same
https://services.gradle.org/distributions/ prefix and the "-bin.zip" artifact.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 3c0ddda2-0b94-4eb5-8e46-7b839b70fbf1
📒 Files selected for processing (2)
build.gradlegradle/wrapper/gradle-wrapper.properties
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
Addressed the Lombok version variable nitpick in 9e1c9b2. Re: Gradle 9.x — intentionally staying on 8.10 to match the RuneLite plugin hub template. Jumping to 9.x could introduce breaking API changes and would diverge from what RuneLite itself uses. Happy to bump it in a follow-up if/when the template moves to 9.x. (comment from claude) |
Summary
Align the build config with the current RuneLite plugin template:
sourceCompatibility = '1.8'→options.release.set(11)(matches what the plugin hub forces viatarget_init.gradle)http://repo.runelite.net→https://repo.runelite.netMotivation
The old Gradle 6.6.1 can't run on Java 17+ due to class file version incompatibilities (
Unsupported class file major version 65). This means contributors on modern JDKs can't build or run tests locally. The plugin hub already overrides the Java target to 11, so this just makes local dev match production.Test
./gradlew buildpasses cleanly on Java 21./gradlew test— all existing tests passSummary by CodeRabbit