Skip to content

Conversation

@freya022
Copy link
Owner

@freya022 freya022 commented Jun 18, 2025

While Gradle is somehow slower (why does it make JARs that nothing uses) for the usual compile-run-test loop than Maven, at least when using IntelliJ, it should be better for the library due to:

  1. The ability to hide implementation dependencies
  2. Easier logic sharing across modules
  3. Having advanced build logic in the same project, such as KSP processors
  4. Configuring Dokka is not as fleshed out in Maven than it is in Gradle, especially to configure multi-module docs and versioning

This will go live alongside the JDA 6 update.

Breaking changes

  • Moved Spring support to a separate module
    • Add the BotCommands-spring dependency, that's it
  • Implementation dependencies are now exposed as runtime dependencies (previously were compile dependencies)
    • Reduces the classpath size for you, improving IDE and build performance, and avoiding you from (accidentally) depending on internal transitive dependencies

Changes

  • Some Kotlin internals have been made public to facilitate modules, but as a reminder, anything in an internal package may be changed at any time

@freya022 freya022 added this to the v3.0 milestone Jun 18, 2025
@freya022 freya022 added type: enhancement type: breaking Contains a backwards incompatible change V3 labels Jun 18, 2025
@freya022 freya022 marked this pull request as ready for review June 22, 2025 11:40
@freya022 freya022 changed the base branch from 3.X to 3.X-dev June 22, 2025 12:15
@freya022 freya022 merged commit fd12a98 into 3.X-dev Jun 22, 2025
@freya022 freya022 deleted the migrate/gradle branch June 22, 2025 14:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type: breaking Contains a backwards incompatible change type: enhancement

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants