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() + }); + }); + }); }