From b6cde40c206a1191f68927559e1f8ef86d72412a Mon Sep 17 00:00:00 2001 From: Harald Wolff Date: Wed, 9 Dec 2020 11:03:03 +0100 Subject: [PATCH] Fixed incorrect relative paths in DotnetCommands --- ln.build/pipeline/DotNetCommands.cs | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/ln.build/pipeline/DotNetCommands.cs b/ln.build/pipeline/DotNetCommands.cs index 6ad77d6..8a784f0 100644 --- a/ln.build/pipeline/DotNetCommands.cs +++ b/ln.build/pipeline/DotNetCommands.cs @@ -3,8 +3,6 @@ using System; using System.Collections.Generic; using System.IO; using System.Linq; -using System.Runtime.InteropServices; -using ln.application; using ln.build.pipeline; using ln.build.semver; using ln.build.support.dotnet; @@ -18,8 +16,8 @@ namespace ln.build.commands { public static void Prepare(Stage stage,params string[] arguments) { - if (Directory.Exists(".build")) - Directory.Delete(".build", true); + if (Directory.Exists(Path.Combine(stage.CommandEnvironment.WorkingDirectory, ".build"))) + Directory.Delete(Path.Combine(stage.CommandEnvironment.WorkingDirectory, ".build"), true); List projectFiles = new List(); List slnFiles = new List(); @@ -77,10 +75,10 @@ namespace ln.build.commands new CommandRunner("dotnet","pack", projectFileName) .AddArgument(new CommandRunner.Option("-c", stage.CommandEnvironment.Get("DOTNET_CONFIGURATION"))) - .AddArguments("-o", ".build/") + .AddArguments("-o", Path.Combine(stage.CommandEnvironment.WorkingDirectory, ".build/")) .Run(stage.CommandEnvironment); - string artefact = String.Format(".build/{0}.{1}.nupkg",csProject.GetName(), csProject.GetVersion()); + string artefact = String.Format(Path.Combine(stage.CommandEnvironment.WorkingDirectory, ".build","{0}.{1}.nupkg"),csProject.GetName(), csProject.GetVersion()); if (!File.Exists(artefact)) throw new FileNotFoundException(artefact); @@ -113,7 +111,7 @@ namespace ln.build.commands .AddArgument(new CommandRunner.Option("-c", stage.CommandEnvironment.Get("DOTNET_CONFIGURATION"))) .AddArguments("-p:PublishTrimmed=true","-p:PublishSingleFile=true","-p:PublishReadyToRun=false"); - CommandRunner.Option outputOption = new CommandRunner.Option("-o", ".build/"); + CommandRunner.Option outputOption = new CommandRunner.Option("-o", Path.Combine(stage.CommandEnvironment.WorkingDirectory, ".build")); cr.AddArgument(outputOption); string[] rids = stage.CommandEnvironment.Get("DOTNET_RIDS","").Split(':'); @@ -130,24 +128,24 @@ namespace ln.build.commands foreach (string rid in rids) { ridOption.SetValue(rid); - outputOption.SetValue(String.Format(".build/{0}/", rid)); + outputOption.SetValue(Path.Combine(stage.CommandEnvironment.WorkingDirectory, ".build",rid)); cr.Run(stage.CommandEnvironment); - string artefact = Directory.GetFiles(String.Format(".build/{0}/", rid)).Where((fn)=>!fn.EndsWith(".pdb")).FirstOrDefault(); + string artefact = Directory.GetFiles(Path.Combine(stage.CommandEnvironment.WorkingDirectory, ".build",rid)).Where((fn)=>!fn.EndsWith(".pdb")).FirstOrDefault(); if (artefact != null) { string ext = Path.GetExtension(artefact); if (!ext.Equals(".exe")) ext = ""; - string finalName = string.Format(".build/{0}-{3}-{1}{2}",csProject.GetName(), rid, ext, csProject.GetVersion()); + string finalName = Path.Combine(stage.CommandEnvironment.WorkingDirectory, ".build", string.Format("{0}-{3}-{1}{2}",csProject.GetName(), rid, ext, csProject.GetVersion())); File.Move(artefact, finalName); artefacts.Add(finalName); stage.PipeLine.CommandEnvironment.Extend("DOTNET_ARTEFACTS", finalName); - Directory.Delete(String.Format(".build/{0}/", rid), true); + Directory.Delete(Path.Combine(stage.CommandEnvironment.WorkingDirectory, ".build",rid), true); } } }