From 02dd159e4c2d10fbf2e8ad85f72fdd86888b8224 Mon Sep 17 00:00:00 2001 From: Lukas Jost Date: Fri, 2 Jan 2026 21:10:36 +0100 Subject: [PATCH 1/6] chore: automatically replace version --- .gitignore | 3 +++ paper/build.gradle.kts | 6 ++++++ paper/src/main/resources/plugin.yml | 2 +- velocity/build.gradle.kts | 21 ++++++++++++++++++- .../grounds/GroundsPluginServerDiscovery.kt | 9 +++++++- 5 files changed, 38 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 2f177c2..522c67d 100644 --- a/.gitignore +++ b/.gitignore @@ -42,3 +42,6 @@ nb-configuration.xml # Ignore DevSpace cache and log folder .devspace/ + +# Ignore kotlin folder +.kotlin diff --git a/paper/build.gradle.kts b/paper/build.gradle.kts index aea4c23..2da0606 100644 --- a/paper/build.gradle.kts +++ b/paper/build.gradle.kts @@ -14,3 +14,9 @@ tasks.shadowJar { archiveClassifier.set("") // Removes the 'all' classifier archiveVersion.set("") // Removes the version from the jar name } + +tasks.processResources { + inputs.property("version", project.version) + + filesMatching(listOf("**/plugin.yml")) { expand("VERSION" to project.version.toString()) } +} diff --git a/paper/src/main/resources/plugin.yml b/paper/src/main/resources/plugin.yml index 11aa8d7..d9aca15 100644 --- a/paper/src/main/resources/plugin.yml +++ b/paper/src/main/resources/plugin.yml @@ -1,5 +1,5 @@ name: GroundsServerDiscovery -version: 1.0.0-SNAPSHOT +version: ${VERSION} main: gg.grounds.GroundsPluginServerDiscovery api-version: 1.21 \ No newline at end of file diff --git a/velocity/build.gradle.kts b/velocity/build.gradle.kts index 448c8f8..5d6cf41 100644 --- a/velocity/build.gradle.kts +++ b/velocity/build.gradle.kts @@ -1,4 +1,7 @@ -plugins { id("com.gradleup.shadow") version "9.3.0" } +plugins { + id("com.gradleup.shadow") version "9.3.0" + id("com.opencastsoftware.gradle.buildinfo") version "0.3.1" +} dependencies { implementation(project(":common")) @@ -15,3 +18,19 @@ tasks.shadowJar { archiveClassifier.set("") // Removes the 'all' classifier archiveVersion.set("") // Removes the version from the jar name } + +buildInfo { + packageName.set("gg.grounds") + className.set("BuildInfo") + properties.set(mapOf("version" to "${project.version}")) +} + +val generateBuildInfo: TaskProvider = tasks.named("generateBuildInfo") + +tasks + .matching { it.name == "kaptGenerateStubsKotlin" } + .configureEach { dependsOn(generateBuildInfo) } + +tasks.matching { it.name == "kaptKotlin" }.configureEach { dependsOn(generateBuildInfo) } + +tasks.matching { it.name == "compileKotlin" }.configureEach { dependsOn(generateBuildInfo) } diff --git a/velocity/src/main/kotlin/gg/grounds/GroundsPluginServerDiscovery.kt b/velocity/src/main/kotlin/gg/grounds/GroundsPluginServerDiscovery.kt index 6c3eac0..f0d1b54 100644 --- a/velocity/src/main/kotlin/gg/grounds/GroundsPluginServerDiscovery.kt +++ b/velocity/src/main/kotlin/gg/grounds/GroundsPluginServerDiscovery.kt @@ -11,7 +11,14 @@ import gg.grounds.discovery.VelocityDiscoveryConfig import gg.grounds.discovery.VelocityDiscoveryService import org.slf4j.Logger -@Plugin(id = "plugin-server-discovery", name = "Grounds Server Discovery Plugin") +@Plugin( + id = "plugin-server-discovery", + name = "Grounds Server Discovery Plugin", + version = BuildInfo.version, + description = "Grounds server discovery plugin for Velocity", + authors = ["Grounds Development Team and contributors"], + url = "https://github.com/groundsgg/plugin-server-discovery", +) class GroundsPluginServerDiscovery @Inject constructor(private val proxyServer: ProxyServer, private val logger: Logger) { From d88ca02aefc8c5de532ba2a6e1ae8729630d9804 Mon Sep 17 00:00:00 2001 From: Lukas Jost Date: Fri, 2 Jan 2026 21:37:21 +0100 Subject: [PATCH 2/6] chore: add missing newline --- paper/src/main/resources/plugin.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/paper/src/main/resources/plugin.yml b/paper/src/main/resources/plugin.yml index d9aca15..5fbde81 100644 --- a/paper/src/main/resources/plugin.yml +++ b/paper/src/main/resources/plugin.yml @@ -2,4 +2,4 @@ name: GroundsServerDiscovery version: ${VERSION} main: gg.grounds.GroundsPluginServerDiscovery -api-version: 1.21 \ No newline at end of file +api-version: 1.21 From 2d00d506bd172a8895e776b7a6bf4ed5d27790e6 Mon Sep 17 00:00:00 2001 From: Lukas Jost Date: Fri, 2 Jan 2026 22:06:08 +0100 Subject: [PATCH 3/6] chore: simplify tasks dependants --- velocity/build.gradle.kts | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/velocity/build.gradle.kts b/velocity/build.gradle.kts index 5d6cf41..ceff996 100644 --- a/velocity/build.gradle.kts +++ b/velocity/build.gradle.kts @@ -9,7 +9,10 @@ dependencies { kapt("com.velocitypowered:velocity-api:3.4.0-SNAPSHOT") } -tasks.build { dependsOn(tasks.shadowJar) } +tasks.build { + dependsOn(tasks.shadowJar) + dependsOn(tasks.generateBuildInfo) +} tasks.jar { enabled = false } @@ -24,13 +27,3 @@ buildInfo { className.set("BuildInfo") properties.set(mapOf("version" to "${project.version}")) } - -val generateBuildInfo: TaskProvider = tasks.named("generateBuildInfo") - -tasks - .matching { it.name == "kaptGenerateStubsKotlin" } - .configureEach { dependsOn(generateBuildInfo) } - -tasks.matching { it.name == "kaptKotlin" }.configureEach { dependsOn(generateBuildInfo) } - -tasks.matching { it.name == "compileKotlin" }.configureEach { dependsOn(generateBuildInfo) } From 47545492e78a2618f45f972730e9696ed3194bb0 Mon Sep 17 00:00:00 2001 From: Lukas Jost Date: Fri, 2 Jan 2026 22:13:02 +0100 Subject: [PATCH 4/6] chore: kapt tasks must also run generateBuildInfo --- velocity/build.gradle.kts | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/velocity/build.gradle.kts b/velocity/build.gradle.kts index ceff996..a57f101 100644 --- a/velocity/build.gradle.kts +++ b/velocity/build.gradle.kts @@ -9,10 +9,11 @@ dependencies { kapt("com.velocitypowered:velocity-api:3.4.0-SNAPSHOT") } -tasks.build { - dependsOn(tasks.shadowJar) - dependsOn(tasks.generateBuildInfo) -} +tasks.build { dependsOn(tasks.shadowJar) } + +tasks + .matching { it.name == "kaptGenerateStubsKotlin" } + .configureEach { dependsOn(tasks.generateBuildInfo) } tasks.jar { enabled = false } From 32d93081ee54c9d684cd0d030117a753004d875a Mon Sep 17 00:00:00 2001 From: Lukas Jost Date: Fri, 2 Jan 2026 22:27:55 +0100 Subject: [PATCH 5/6] chore: switch to gmazzo/gradle-buildconfig-plugin --- build.gradle.kts | 2 ++ velocity/build.gradle.kts | 17 ++++++++--------- .../gg/grounds/GroundsPluginServerDiscovery.kt | 2 +- 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 65a9372..f706585 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -20,12 +20,14 @@ allprojects { it.setBlockIndent(4) it.setContinuationIndent(4) } + targetExclude("**/build/**") } kotlinGradle { ktfmt().googleStyle().configure { it.setBlockIndent(4) it.setContinuationIndent(4) } + targetExclude("**/build/**") } } } diff --git a/velocity/build.gradle.kts b/velocity/build.gradle.kts index a57f101..8906713 100644 --- a/velocity/build.gradle.kts +++ b/velocity/build.gradle.kts @@ -1,6 +1,6 @@ plugins { id("com.gradleup.shadow") version "9.3.0" - id("com.opencastsoftware.gradle.buildinfo") version "0.3.1" + id("com.github.gmazzo.buildconfig") version "6.0.7" } dependencies { @@ -11,10 +11,6 @@ dependencies { tasks.build { dependsOn(tasks.shadowJar) } -tasks - .matching { it.name == "kaptGenerateStubsKotlin" } - .configureEach { dependsOn(tasks.generateBuildInfo) } - tasks.jar { enabled = false } tasks.shadowJar { @@ -23,8 +19,11 @@ tasks.shadowJar { archiveVersion.set("") // Removes the version from the jar name } -buildInfo { - packageName.set("gg.grounds") - className.set("BuildInfo") - properties.set(mapOf("version" to "${project.version}")) +buildConfig { + className("BuildInfo") + packageName("gg.grounds") + + useKotlinOutput() + + buildConfigField("String", "VERSION", "\"${project.version}\"") } diff --git a/velocity/src/main/kotlin/gg/grounds/GroundsPluginServerDiscovery.kt b/velocity/src/main/kotlin/gg/grounds/GroundsPluginServerDiscovery.kt index f0d1b54..d4d7763 100644 --- a/velocity/src/main/kotlin/gg/grounds/GroundsPluginServerDiscovery.kt +++ b/velocity/src/main/kotlin/gg/grounds/GroundsPluginServerDiscovery.kt @@ -14,7 +14,7 @@ import org.slf4j.Logger @Plugin( id = "plugin-server-discovery", name = "Grounds Server Discovery Plugin", - version = BuildInfo.version, + version = BuildInfo.VERSION, description = "Grounds server discovery plugin for Velocity", authors = ["Grounds Development Team and contributors"], url = "https://github.com/groundsgg/plugin-server-discovery", From 094f137e9e3b0d14386bdb3f509cada7a3dbb9af Mon Sep 17 00:00:00 2001 From: Lukas Jost Date: Fri, 2 Jan 2026 22:42:19 +0100 Subject: [PATCH 6/6] chore: do not use deprecated gradle methods --- paper/build.gradle.kts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/paper/build.gradle.kts b/paper/build.gradle.kts index 2da0606..40fa29b 100644 --- a/paper/build.gradle.kts +++ b/paper/build.gradle.kts @@ -15,8 +15,10 @@ tasks.shadowJar { archiveVersion.set("") // Removes the version from the jar name } +val pluginVersion = project.version.toString() + tasks.processResources { inputs.property("version", project.version) - filesMatching(listOf("**/plugin.yml")) { expand("VERSION" to project.version.toString()) } + filesMatching(listOf("**/plugin.yml")) { expand("VERSION" to pluginVersion) } }