-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Build System Revamp #4836
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: 1.19.4
Are you sure you want to change the base?
Build System Revamp #4836
Conversation
|
I'm waiting on #4698 to merge. That will upgrade the nether pathfinder version to 1.6. |
|
Changed shadow to new URL because of GradleUp/shadow#908. |
- Update plugin version in buildSrc/build.gradle - Add unimined-mapping-library-jvm dependency to buildSrc - Update ProguardTask to use new getMinecraft API
|
@leijurv Instead of working on 1.19.4 forever, I feel like Baritone should be developed on the latest Minecraft version. I know that matching the current 2b2t version might be a reason to keep it at 1.19.4, but people can just use ViaFabricPlus and also 2b2t updated to 1.21.4 anyway. |
|
Also Dependabot or something would be good |
|
My position is that baritone should just follow the version of 2b2t. So yes we could update the development version accordingly |
|
wtf why is copilot here |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR represents a comprehensive build system modernization for Baritone, updating dependencies that haven't been changed in 2 years and migrating from Groovy-based Gradle scripts to Kotlin DSL. The changes include upgrading to Gradle 9, switching from ProGuard to R8 for code obfuscation, and removing the Tweaker module that is no longer needed.
Key changes:
- Upgraded build tools: Gradle 9.2.1, Unimined 1.4.1, Shadow 9.3.0, switched from ProGuard to R8 8.5.35
- Migrated entire build configuration from Groovy to Kotlin DSL for type safety and better IDE support
- Removed Tweaker module and associated launch testing infrastructure
Reviewed changes
Copilot reviewed 54 out of 57 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
gradle/libs.versions.toml |
New centralized version catalog for all dependencies and build configuration |
gradle.properties |
Enhanced with performance optimizations (parallel builds, caching, Kotlin incremental compilation) |
settings.gradle.kts |
Converted to Kotlin DSL with centralized dependency resolution and build cache configuration |
build.gradle.kts |
Root project build file converted to Kotlin DSL with improved source set configuration |
buildSrc/build.gradle.kts |
BuildSrc configuration migrated to Kotlin with R8, Gson, Commons IO dependencies |
buildSrc/settings.gradle.kts |
New buildSrc settings enabling version catalog usage in convention plugins |
buildSrc/src/main/kotlin/*.gradle.kts |
Five new convention plugins for base, Minecraft, loader, R8, distribution, and publishing configurations |
buildSrc/src/main/kotlin/baritone/gradle/task/*.kt |
R8Task, CreateDistTask, BaritoneGradleTask ported to Kotlin |
buildSrc/src/main/kotlin/baritone/gradle/util/Determinizer.kt |
Determinizer utility ported from Java to Kotlin |
scripts/r8-*.pro |
New R8 configuration files replacing ProGuard configs |
forge/build.gradle.kts |
Forge module converted to Kotlin DSL with convention plugin usage |
fabric/build.gradle.kts |
Fabric module converted to Kotlin DSL with convention plugin usage |
forge/src/main/resources/META-INF/mods.toml |
Updated license URL to reference 1.19.4 branch |
src/main/java/baritone/KeepName.java |
Added proper annotation metadata for R8 compatibility |
src/launch/resources/mixins.baritone.json |
Added minVersion constraint for Mixin |
| Various source files | Migrated from javax.annotation to org.jetbrains.annotations and updated //noinspection comments to @SuppressWarnings |
BUILD.md |
New comprehensive build system documentation |
SETUP.md |
Updated to reflect R8 usage and removal of Tweaker |
| Tweaker module files | Removed entire tweaker subproject as it's no longer needed |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
First update to dependencies in 2 years.
runClientFix TweakerRemove Tweaker (I don't even know why it exists)Fix ProguardSwitch from ProGuard to R8