From ddc50f197c82005fb3940e8a194ee65027501036 Mon Sep 17 00:00:00 2001 From: Ben Ramey Date: Sat, 25 Feb 2023 14:03:53 -0600 Subject: [PATCH] Add deployment-package target --- tools/Build/Program.cs | 33 +++++++++++++++++++++++++++++---- 1 file changed, 29 insertions(+), 4 deletions(-) diff --git a/tools/Build/Program.cs b/tools/Build/Program.cs index 93b28a0..b5c8140 100644 --- a/tools/Build/Program.cs +++ b/tools/Build/Program.cs @@ -3,8 +3,33 @@ using static Faithlife.Build.DotNetRunner; internal static class Build { - public static int Main(string[] args) => BuildRunner.Execute(args, build => - { - build.AddDotNetTargets(); - }); + public static int Main(string[] args) => BuildRunner.Execute(args, build => + { + var artifactDirOption = build.AddOption("--artifact-dir ", "Artifact directory", defaultValue: "artifacts"); + + var dotNetSettings = new DotNetBuildSettings(); + + build.AddDotNetTargets(dotNetSettings); + + build.Target("deployment-package") + .DependsOn("test") + .Describe("Creates the deployment package") + .Does(() => + { + var projectPath = Path.Combine("src", "Twain.Web", "Twain.Web.csproj"); + + DeleteDirectory(artifactDirOption.Value); + + RunDotNet(new[] + { + "publish", projectPath, + "-c", dotNetSettings.GetConfiguration(), + "-o", artifactDirOption.Value, + dotNetSettings.GetPlatformArg(), + "--no-build", + dotNetSettings.GetVerbosityArg(), + dotNetSettings.GetMaxCpuCountArg() + }); + }); + }); }