From 3fa4eba4b394c604a3774378cbf90eca1530c583 Mon Sep 17 00:00:00 2001 From: Adam <897017+aSemy@users.noreply.github.com> Date: Thu, 23 Jun 2022 23:59:48 +0200 Subject: [PATCH] try making files in build script system independent (temp fix) --- .../infra-factorio-client/build.gradle.kts | 20 ++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/modules/infra-factorio-client/build.gradle.kts b/modules/infra-factorio-client/build.gradle.kts index 8288025..b06d9c9 100644 --- a/modules/infra-factorio-client/build.gradle.kts +++ b/modules/infra-factorio-client/build.gradle.kts @@ -11,9 +11,19 @@ plugins { description = "Start the Factorio game client" -val clientModsDirectory = file("""D:\Users\Adam\AppData\Roaming\Factorio\mods""") +val clientModsDirectory: DirectoryProperty = objects.directoryProperty().apply { + val modDir = File("""D:\Users\Adam\AppData\Roaming\Factorio\mods""") + if (modDir.exists()) { + set(modDir) + } +} val factorioGameId = "427520" -val steamExe = """C:\Program Files (x86)\Steam\steam.exe""" +val steamExe: RegularFileProperty = objects.fileProperty().apply { + val steam = File("""C:\Program Files (x86)\Steam\steam.exe""") + if (steam.exists()) { + set(steam) + } +} val factorioMod: Configuration by configurations.creating { asConsumer() @@ -29,6 +39,8 @@ val deployModToClient by tasks.registering(Copy::class) { description = "Copy the mod to the Factorio client" group = project.name + onlyIf { clientModsDirectory.orNull?.asFile?.exists() == true } + from(factorioMod) into(clientModsDirectory) @@ -47,6 +59,8 @@ val clientLaunch by tasks.registering(Exec::class) { group = project.name onlyIf(!serviceOf().isFactorioRunning()) + onlyIf { steamExe.orNull?.asFile?.exists() == true } + onlyIf { clientModsDirectory.orNull?.asFile?.exists() == true } dependsOn(deployModToClient) mustRunAfter(clientKill, ":modules:infra-factorio-server:processRun") @@ -54,7 +68,7 @@ val clientLaunch by tasks.registering(Exec::class) { commandLine = parseSpaceSeparatedArgs( // """explorer "steam://rungameid/$factorioGameId// --mp-connect localhost/" """ // not working // """explorer "steam://run/$factorioGameId//--mp-connect localhost/" """ // works! But has annoying pop-up - """ $steamExe -applaunch $factorioGameId --mp-connect localhost --mod-directory $clientModsDirectory """ + """ ${steamExe.asFile.get().canonicalPath} -applaunch $factorioGameId --mp-connect localhost --mod-directory ${clientModsDirectory.asFile.get().canonicalPath} """ ) doFirst { logger.lifecycle("Launching factorio.exe") } }