From fd929287003d5adb0011d232aa8f49f1c39acbe6 Mon Sep 17 00:00:00 2001 From: liach Date: Thu, 24 Jun 2021 11:00:17 -0500 Subject: [PATCH] Slurp mod version from json to avoid issues in IDE See FabricMC/fabric-loader#457 Signed-off-by: liach --- build.gradle | 23 +++++++++++------------ gradle.properties | 2 +- src/main/resources/fabric.mod.json | 2 +- 3 files changed, 13 insertions(+), 14 deletions(-) diff --git a/build.gradle b/build.gradle index f807b77..8bcd2eb 100644 --- a/build.gradle +++ b/build.gradle @@ -7,9 +7,19 @@ sourceCompatibility = JavaVersion.VERSION_16 targetCompatibility = JavaVersion.VERSION_16 archivesBaseName = project.archives_base_name -version = project.mod_version group = project.maven_group +// Obtains mod version. change file reference if your fabric.mod.json is located elsewhere +import groovy.json.JsonSlurper +version = new JsonSlurper().parse(file('src/main/resources/fabric.mod.json')).version + +// You can use logger.lifecycle to print out messages like System.out; double-quote strings convert +// ${statement} templates to statement values, such as method calls, while single-quote strings don't. +// getXxx() calls can be simplified to xxx, like project.getGradle().getGradleVersion() is project.gradle.gradleVersion. +// Since the buildscript is provided with a project, you can call project methods without qualification if there is no +// ambiguity, such as file() call to retrieve version is project.file(), and gradle is project.getGradle() +logger.lifecycle "Setting up ${archivesBaseName} ${version} with Gradle ${gradle.gradleVersion}" + repositories { // Add repositories to retrieve artifacts from in here. // You should only use this when depending on other mods because @@ -26,17 +36,6 @@ dependencies { // Fabric API. This is technically optional, but you probably want it anyway. modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}" - - // PSA: Some older mods, compiled on Loom 0.2.1, might have outdated Maven POMs. - // You may need to force-disable transitiveness on them. -} - -processResources { - inputs.property "version", project.version - - filesMatching("fabric.mod.json") { - expand "version": project.version - } } tasks.withType(JavaCompile).configureEach { diff --git a/gradle.properties b/gradle.properties index 60cb9a4..5cc8607 100644 --- a/gradle.properties +++ b/gradle.properties @@ -8,7 +8,7 @@ org.gradle.jvmargs=-Xmx1G loader_version=0.11.6 # Mod Properties - mod_version = 1.0.0 + # edit your mod version in fabric.mod.json maven_group = com.example archives_base_name = fabric-example-mod diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index a0bfabb..ece03ac 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -1,7 +1,7 @@ { "schemaVersion": 1, "id": "modid", - "version": "${version}", + "version": "1.0.0", "name": "Example Mod", "description": "This is an example description! Tell everyone what your mod is about!",