Skip to content

Conversation

@Murat65536
Copy link
Contributor

@Murat65536 Murat65536 commented Aug 4, 2025

First update to dependencies in 2 years.

  • Update Unimined to 1.4.1
  • Update Gson to 2.9.1
  • Update Commons IO to 2.20.0
  • Fix Forge runClient
  • Refactor the whole thing to be Kotlin DSL
  • Update to Gradle 9
  • Hide Baritone from servers in Forge
  • Fix Tweaker Remove Tweaker (I don't even know why it exists)
  • Update Shadow
  • Fix Proguard Switch from ProGuard to R8

@Murat65536
Copy link
Contributor Author

I'm waiting on #4698 to merge. That will upgrade the nether pathfinder version to 1.6.

@Murat65536
Copy link
Contributor Author

Changed shadow to new URL because of GradleUp/shadow#908.

@Murat65536 Murat65536 mentioned this pull request Dec 17, 2025
3 tasks
- Update plugin version in buildSrc/build.gradle
- Add unimined-mapping-library-jvm dependency to buildSrc
- Update ProguardTask to use new getMinecraft API
@Murat65536
Copy link
Contributor Author

@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.

@Murat65536
Copy link
Contributor Author

Also Dependabot or something would be good

@Murat65536 Murat65536 changed the title Dependencies Build System Revamp Dec 26, 2025
@Murat65536 Murat65536 marked this pull request as ready for review December 26, 2025 20:18
@leijurv
Copy link
Member

leijurv commented Dec 27, 2025

My position is that baritone should just follow the version of 2b2t. So yes we could update the development version accordingly

Copilot AI review requested due to automatic review settings January 5, 2026 17:51
@Murat65536
Copy link
Contributor Author

wtf why is copilot here

Copy link

Copilot AI left a 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants