diff --git a/source/Nuke.Common/ProjectModel/ProjectModelTasks.cs b/source/Nuke.Common/ProjectModel/ProjectModelTasks.cs index b141e3e8e..2d944fc1b 100644 --- a/source/Nuke.Common/ProjectModel/ProjectModelTasks.cs +++ b/source/Nuke.Common/ProjectModel/ProjectModelTasks.cs @@ -25,7 +25,7 @@ public static Solution ParseSolution(string solutionFile) { var dotnet = ToolPathResolver.TryGetEnvironmentExecutable("DOTNET_EXE") ?? ToolPathResolver.GetPathExecutable("dotnet"); - var output = ProcessTasks.StartProcess(dotnet, "--info", EnvironmentInfo.WorkingDirectory, logOutput: false).AssertZeroExitCode().Output; + var output = ProcessTasks.StartProcess(dotnet, "--info", logOutput: false).AssertZeroExitCode().Output; var basePath = (PathConstruction.AbsolutePath) output .Select(x => x.Text.Trim()) .Single(x => x.StartsWith("Base Path:")) diff --git a/source/Nuke.Common/Tooling/ProcessTasks.cs b/source/Nuke.Common/Tooling/ProcessTasks.cs index 624c6323f..72c97cb04 100644 --- a/source/Nuke.Common/Tooling/ProcessTasks.cs +++ b/source/Nuke.Common/Tooling/ProcessTasks.cs @@ -19,6 +19,7 @@ public static class ProcessTasks { public static bool DefaultLogOutput = true; public static bool DefaultLogInvocation = true; + public static bool LogWorkingDirectory = true; private static readonly char[] s_pathSeparators = { EnvironmentInfo.IsWin ? ';' : ':' }; @@ -62,7 +63,11 @@ public static IProcess StartProcess( outputFilter = outputFilter ?? (x => x); ControlFlow.Assert(File.Exists(toolPath), $"ToolPath '{toolPath}' does not exist."); if (logInvocation ?? DefaultLogInvocation) + { Logger.Info($"> {Path.GetFullPath(toolPath).DoubleQuoteIfNeeded()} {outputFilter(arguments)}"); + if (LogWorkingDirectory && workingDirectory != null) + Logger.Info($"@ {workingDirectory}"); + } return StartProcessInternal(toolPath, arguments, diff --git a/source/Nuke.Common/Tools/Git/GitTasks.cs b/source/Nuke.Common/Tools/Git/GitTasks.cs index 0cfdf0244..d378ba77c 100644 --- a/source/Nuke.Common/Tools/Git/GitTasks.cs +++ b/source/Nuke.Common/Tools/Git/GitTasks.cs @@ -11,7 +11,7 @@ public static partial class GitTasks { public static bool GitIsDetached() { - return GitIsDetached(EnvironmentInfo.WorkingDirectory); + return GitIsDetached(workingDirectory: null); } public static bool GitIsDetached(string workingDirectory) @@ -21,7 +21,7 @@ public static bool GitIsDetached(string workingDirectory) public static bool GitHasCleanWorkingCopy() { - return GitHasCleanWorkingCopy(EnvironmentInfo.WorkingDirectory); + return GitHasCleanWorkingCopy(workingDirectory: null); } public static bool GitHasCleanWorkingCopy(string workingDirectory) @@ -31,7 +31,7 @@ public static bool GitHasCleanWorkingCopy(string workingDirectory) public static string GitCurrentBranch() { - return GitCurrentBranch(EnvironmentInfo.WorkingDirectory); + return GitCurrentBranch(workingDirectory: null); } private static string GitCurrentBranch(string workingDirectory) diff --git a/source/Nuke.Common/Tools/GitVersion/GitVersionAttribute.cs b/source/Nuke.Common/Tools/GitVersion/GitVersionAttribute.cs index caaa2803c..3f9a61370 100644 --- a/source/Nuke.Common/Tools/GitVersion/GitVersionAttribute.cs +++ b/source/Nuke.Common/Tools/GitVersion/GitVersionAttribute.cs @@ -31,7 +31,6 @@ public override object GetValue(MemberInfo member, object instance) return ControlFlow.SuppressErrors(() => GitVersionTasks.GitVersion(s => s - .SetWorkingDirectory(NukeBuild.RootDirectory) .DisableLogOutput()) .Result, includeStackTrace: true);