Skip to content

Conversation

@Strokkur424
Copy link

@Strokkur424 Strokkur424 commented Jan 9, 2026

Requires minecraft-dev/MinecraftDev#2574 to be merged alongside.

This PR improves the default Paper/Spigot plugin templates by changing the following things:

  • Only generate Gradle scripts with the Kotlin DSL
  • Give users a choice to add the run-paper and shadowjar plugins if they so desire
  • Move the project version and group declaration to gradle.properties
  • Add some performance enhancing properties to gradle.properties
  • Remove unnecessary java version configure logic
  • Add a .gitattributes file
  • Bump the Gradle plugin versions used
  • Always use the latest available Gradle version, ensured by running gradle wrapper --gradle-version=latest
  • Optional userdev plugin inclusion toggle
  • Optional toggle for Gradle version catalog (libs.versions.toml)
  • Paper PluginLoader file creation toggle
  • Paper PluginBootstrap file creation toggle
  • Gremlin Gradle plugin for automatic runtime download

#if ($LANGUAGE=='Java')
id("java-library")
#else
kotlin("jvm") version "${KOTLIN_VERSION}"

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why not manage this version in the version catalog with

kotlin("jvm") version libs.versions.kotlin.get()

?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've decided against it because it was also decided (I did ask the MCDev people about this) that we do not want to have the Java version in that version catalog, as that is a rather uncommon thing to do. In the same spirit I also think the version catalog should not contain the Kotlin version. This is a very minor thing to worry about though IMO.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Both Kotlin and Java are dependencies to the project (stdlib in particular) tho.
This would also allow to only make changes for newer versions (like using renovate) in a single file instead of build scripts.

Is it feasible to make it an "advanced" toggle, then? (is there even an "advanced" section even?)

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess

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