From d44d4dbd01924bfff9656f7cec41f9bc1911fcd3 Mon Sep 17 00:00:00 2001 From: Adam <897017+aSemy@users.noreply.github.com> Date: Sun, 15 May 2022 13:08:36 +0200 Subject: [PATCH] try to fix project tokens null null null null bug --- modules/events-mod/build.gradle.kts | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/modules/events-mod/build.gradle.kts b/modules/events-mod/build.gradle.kts index daa1985..d48c960 100644 --- a/modules/events-mod/build.gradle.kts +++ b/modules/events-mod/build.gradle.kts @@ -19,7 +19,13 @@ description = "Sends in-game information to a server over the internet (requires // - filename: `mod-name_version.zip` // - zip contains one directory, `mod-name` -val modName: String by extra { "${rootProject.name}-events" } + +//val modName: String by extra { "${rootProject.name}-events" } +extra.set("modName", "kafkatorio-events") +val modName = extra.get("modName") as String + +val modDescription: String by project.extra { project.description ?: "" } + val distributionZipName: String by extra { "${modName}_${rootProject.version}.zip" } // version of Factorio that the mod is compatible with (must only be "major.minor" - patch causes error) @@ -27,13 +33,17 @@ val modFactorioCompatibility: Provider = libs.versions.factorio.map { SemVer.parse(it).run { "$major.$minor" } } val licenseFile: RegularFile by rootProject.extra -val projectTokens: MapProperty by rootProject.extra -val modDescription: String by project.extra { project.description ?: "" } -projectTokens.apply { + +@Suppress("UNCHECKED_CAST") +val projectTokens: MapProperty = + rootProject.extra.get("projectTokens") as? MapProperty ?: error("error getting projectTokens") +//val projectTokens: MapProperty by rootProject.extra + +val projectTokensX = projectTokens.apply { put("mod.name", modName) put("mod.title", "Kafkatorio Events") put("mod.description", modDescription) - put("factorio.version", modFactorioCompatibility) + put("factorio.version", modFactorioCompatibility.get()) } val tsSrcDir: Directory = layout.projectDirectory.dir("src/main/typescript") @@ -96,8 +106,10 @@ val installEventsTsSchema by tasks.registering(Sync::class) { val zipNameProvider = provider { distributionZipName } tasks.distZip { + val projectTokensXX = projectTokensX + inputs.property("zipNameProvider", zipNameProvider) - inputs.property("projectTokens", projectTokens) + inputs.property("projectTokens", projectTokensXX) archiveFileName.set(zipNameProvider) } @@ -130,7 +142,8 @@ distributions { tasks.withType().configureEach { - inputs.property("projectTokens", projectTokens) + val projectTokensXX = projectTokensX + inputs.property("projectTokens", projectTokensXX) // if (name.startsWith("dist")) { // notCompatibleWithConfigurationCache("NPE on projectTokens") // }