From 438d203bc9b0fbcc030636ad818bae6f1c0436ba Mon Sep 17 00:00:00 2001 From: Ellpeck Date: Tue, 22 Nov 2022 19:17:33 +0100 Subject: [PATCH] cleaned up the build script and added a clean task --- build.cake | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/build.cake b/build.cake index cbd3266..4211506 100644 --- a/build.cake +++ b/build.cake @@ -7,25 +7,28 @@ var config = Argument("configuration", "Release"); var tinyLifeDir = $"{Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)}/Tiny Life"; +Task("Clean").Does(() => { + EnsureDirectoryDoesNotExist($"bin/{config}"); + EnsureDirectoryDoesNotExist($"{tinyLifeDir}/Mods/_Dev"); +}); + Task("Build").DoesForEach(GetFiles("**/*.csproj"), p => { - DeleteFiles($"bin/{config}/**/*"); - DotNetBuild(p.FullPath, new DotNetBuildSettings { Configuration = config }); + DotNetBuild(p.FullPath, new DotNetBuildSettings { + Configuration = config + }); }); Task("CopyToMods").IsDependentOn("Build").Does(() => { - var dir = $"{tinyLifeDir}/Mods"; - CreateDirectory(dir); + var dir = $"{tinyLifeDir}/Mods/_Dev"; + EnsureDirectoryExists(dir); var files = GetFiles($"bin/{config}/net*/**/*"); CopyFiles(files, dir, true); }); Task("Run").IsDependentOn("CopyToMods").Does(() => { // start the tiny life process - var exeDir = $"{tinyLifeDir}/GameDir"; - if (!FileExists(exeDir)) - throw new Exception("Didn't find game directory information. Run the game manually at least once to allow the Run task to be executed."); - var exe = $"{System.IO.File.ReadAllText(exeDir)}/Tiny Life"; - var process = Process.Start(new ProcessStartInfo(exe) { + var exeDir = System.IO.File.ReadAllText($"{tinyLifeDir}/GameDir"); + var process = Process.Start(new ProcessStartInfo($"{exeDir}/Tiny Life") { Arguments = "-v --skip-splash --skip-preloads", CreateNoWindow = true });