From 31acd52acbd2c7fb2d61d4021eac1d3a142d0635 Mon Sep 17 00:00:00 2001 From: Eclipse Date: Sat, 6 Sep 2025 06:17:04 +0000 Subject: [PATCH] Migrate build scripts to kotlin, update to Gradle 9.0.0 --- build.gradle | 76 ----------------------- build.gradle.kts | 79 ++++++++++++++++++++++++ gradle/wrapper/gradle-wrapper.properties | 2 +- settings.gradle => settings.gradle.kts | 4 +- 4 files changed, 82 insertions(+), 79 deletions(-) delete mode 100644 build.gradle create mode 100644 build.gradle.kts rename settings.gradle => settings.gradle.kts (55%) diff --git a/build.gradle b/build.gradle deleted file mode 100644 index 3912291..0000000 --- a/build.gradle +++ /dev/null @@ -1,76 +0,0 @@ -plugins { - id 'fabric-loom' version '1.11-SNAPSHOT' - id 'maven-publish' -} - -repositories { - maven { - url = "https://maven.parchmentmc.org" - } -} - -dependencies { - minecraft "com.mojang:minecraft:${project.minecraft_version}" - mappings(loom.layered { - officialMojangMappings() - parchment("org.parchmentmc.data:parchment-${project.parchment_version}@zip") - }) - - modImplementation "net.fabricmc:fabric-loader:${project.loader_version}" - - modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}" -} - -processResources { - inputs.property "version", project.mod_version - inputs.property "supported_versions", project.supported_versions - inputs.property "loader_version", project.loader_version - filteringCharset "UTF-8" - - filesMatching("fabric.mod.json") { - expand "version": project.mod_version, - "supported_versions": project.supported_versions, - "loader_version": project.loader_version - } -} - -def targetJavaVersion = 21 -tasks.withType(JavaCompile).configureEach { - it.options.encoding = "UTF-8" - if (targetJavaVersion >= 10 || JavaVersion.current().isJava10Compatible()) { - it.options.release.set(targetJavaVersion) - } -} - -java { - def javaVersion = JavaVersion.toVersion(targetJavaVersion) - if (JavaVersion.current() < javaVersion) { - toolchain.languageVersion = JavaLanguageVersion.of(targetJavaVersion) - } - withSourcesJar() -} - -jar { - from("LICENSE") { - rename { "${it}_${project.archivesBaseName}" } - } -} - -publishing { - publications { - create("mavenJava", MavenPublication) { - artifactId = project.archives_base_name - from components.java - } - } - - repositories {} -} - -loom { - runs { - named("server") { - runDir = "run-server" - } - } -} diff --git a/build.gradle.kts b/build.gradle.kts new file mode 100644 index 0000000..716b807 --- /dev/null +++ b/build.gradle.kts @@ -0,0 +1,79 @@ +plugins { + id("fabric-loom") version "1.11-SNAPSHOT" +} + +val minecraftVersion = properties["minecraft_version"]!! as String +val parchmentVersion = properties["parchment_version"]!! as String +val loaderVersion = properties["loader_version"]!! as String + +val modVersion = properties["mod_version"]!! as String +val supportedVersions = properties["supported_versions"]!! as String +val archivesBaseName = properties["archives_base_name"]!! as String +val fabricVersion = properties["fabric_version"]!! as String + +val targetJavaVersion = 21 + +repositories { + maven { + name = "ParchmentMC" + url = uri("https://maven.parchmentmc.org") + } +} + +dependencies { + minecraft("com.mojang:minecraft:${minecraftVersion}") + mappings(loom.layered { + officialMojangMappings() + parchment("org.parchmentmc.data:parchment-${parchmentVersion}@zip") + }) + + modImplementation("net.fabricmc:fabric-loader:${loaderVersion}") + + modImplementation("net.fabricmc.fabric-api:fabric-api:${fabricVersion}") +} + +tasks { + processResources { + inputs.property("version", modVersion) + inputs.property("supported_versions", supportedVersions) + inputs.property("loader_version", loaderVersion) + filteringCharset = "UTF-8" + + filesMatching("fabric.mod.json") { + expand( + mapOf( + "version" to modVersion, + "supported_versions" to supportedVersions, + "loader_version" to loaderVersion + ) + ) + } + } + + jar { + from("LICENSE") { + rename { "${it}_${archivesBaseName}" } + } + } + + withType().configureEach { + options.encoding = "UTF-8" + options.release = targetJavaVersion + } +} + +java { + val javaVersion = JavaVersion.toVersion(targetJavaVersion) + if (JavaVersion.current() < javaVersion) { + toolchain.languageVersion = JavaLanguageVersion.of(targetJavaVersion) + } + withSourcesJar() +} + +loom { + runs { + named("server") { + runDir = "run-server" + } + } +} diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index ff23a68..2a84e18 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.0.0-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/settings.gradle b/settings.gradle.kts similarity index 55% rename from settings.gradle rename to settings.gradle.kts index f91a4fe..e7b2814 100644 --- a/settings.gradle +++ b/settings.gradle.kts @@ -1,8 +1,8 @@ pluginManagement { repositories { maven { - name = 'Fabric' - url = 'https://maven.fabricmc.net/' + name = "Fabric" + url = uri("https://maven.fabricmc.net/") } gradlePluginPortal() }