From faff86e69c6143ce990333d8717d1b2ead8c485f Mon Sep 17 00:00:00 2001 From: Big-Iron-Cheems <52252627+Big-Iron-Cheems@users.noreply.github.com> Date: Wed, 4 Feb 2026 14:13:42 +0100 Subject: [PATCH] build: refactor with Crosby's suggestions --- build.gradle.kts | 57 +++++++++++++++++++++--------------------------- 1 file changed, 25 insertions(+), 32 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index caa2179526..17cfb27b56 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -7,13 +7,8 @@ base { archivesName = properties["archives_base_name"] as String group = properties["maven_group"] as String - val suffix = if (project.hasProperty("build_number")) { - project.findProperty("build_number") - } else { - "local" - } - - version = libs.versions.minecraft.get() + "-" + suffix + val suffix = providers.gradleProperty("build_number").getOrElse("local") + version = "${libs.versions.minecraft.get()}-$suffix" } repositories { @@ -69,8 +64,6 @@ configurations { } } -sourceSets.create("launcher") - dependencies { // Fabric minecraft(libs.minecraft) @@ -103,15 +96,23 @@ dependencies { } sourceSets { - val launcher = getByName("launcher") - - launcher.apply { + val launcher by creating { java { srcDir("src/launcher/java") } } } +java { + sourceCompatibility = JavaVersion.VERSION_21 + targetCompatibility = JavaVersion.VERSION_21 + + if (System.getenv("CI")?.toBoolean() == true) { + withSourcesJar() + withJavadocJar() + } +} + // Handle transitive dependencies for jar-in-jar // Based on implementation from BaseProject by FlorianMichael/EnZaXD // Source: https://github.com/FlorianMichael/BaseProject/blob/main/src/main/kotlin/de/florianmichael/baseproject/Fabric.kt @@ -148,8 +149,8 @@ loom { tasks { processResources { - val buildNumber = project.findProperty("build_number")?.toString() ?: "" - val commit = project.findProperty("commit")?.toString() ?: "" + val buildNumber = providers.gradleProperty("build_number").getOrElse("") + val commit = providers.gradleProperty("commit").getOrElse("") val propertyMap = mapOf( "version" to project.version, @@ -166,7 +167,7 @@ tasks { } // Compile launcher with Java 8 for backwards compatibility - getByName("compileLauncherJava") { + named("compileLauncherJava").configure { sourceCompatibility = JavaVersion.VERSION_1_8.toString() targetCompatibility = JavaVersion.VERSION_1_8.toString() options.compilerArgs.add("-Xlint:-options") @@ -180,28 +181,20 @@ tasks { } // Include launcher classes - val launcher = sourceSets.getByName("launcher") - from(launcher.output.classesDirs) - from(launcher.output.resourcesDir) + from(sourceSets["launcher"].output) manifest { attributes["Main-Class"] = "meteordevelopment.meteorclient.Main" } } - java { - sourceCompatibility = JavaVersion.VERSION_21 - targetCompatibility = JavaVersion.VERSION_21 - - if (System.getenv("CI")?.toBoolean() == true) { - withSourcesJar() - withJavadocJar() - } - } - - withType { - options.compilerArgs.add("-Xlint:deprecation") - options.compilerArgs.add("-Xlint:unchecked") + withType().configureEach { + options.compilerArgs.addAll( + listOf( + "-Xlint:deprecation", + "-Xlint:unchecked" + ) + ) } javadoc { @@ -225,7 +218,7 @@ publishing { from(components["java"]) artifactId = "meteor-client" - version = libs.versions.minecraft.get() + "-SNAPSHOT" + version = "${libs.versions.minecraft.get()}-SNAPSHOT" } }