From df07553c1818f8e0a64782b86a2217f426173372 Mon Sep 17 00:00:00 2001 From: david-pw <178433875+david-pw@users.noreply.github.com> Date: Fri, 26 Sep 2025 11:24:39 +1200 Subject: [PATCH 1/2] chore: add ability to skip-validation + simplify unicode logging --- src/Refitter.MSBuild/README.md | 7 ++++--- src/Refitter.MSBuild/Refitter.MSBuild.targets | 7 ++++--- src/Refitter.MSBuild/RefitterGenerateTask.cs | 8 +++++++- 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/src/Refitter.MSBuild/README.md b/src/Refitter.MSBuild/README.md index 5b10bc6dc..8e7ae98e7 100644 --- a/src/Refitter.MSBuild/README.md +++ b/src/Refitter.MSBuild/README.md @@ -5,12 +5,13 @@ Refitter is available as custom MSBuild tasks that includes the Refitter CLI exe The MSBuild package includes a custom `.target` file which executes the `RefitterGenerateTask` custom task and looks something like this: ```xml - + DisableLogging="$(RefitterNoLogging)" + SkipValidation="$(RefitterSkipValidation)"> diff --git a/src/Refitter.MSBuild/Refitter.MSBuild.targets b/src/Refitter.MSBuild/Refitter.MSBuild.targets index 5db14c3d1..c3395467a 100644 --- a/src/Refitter.MSBuild/Refitter.MSBuild.targets +++ b/src/Refitter.MSBuild/Refitter.MSBuild.targets @@ -1,12 +1,13 @@ - + DisableLogging="$(RefitterNoLogging)" + SkipValidation="$(RefitterSkipValidation)"> diff --git a/src/Refitter.MSBuild/RefitterGenerateTask.cs b/src/Refitter.MSBuild/RefitterGenerateTask.cs index cf2c810c7..11694ab37 100644 --- a/src/Refitter.MSBuild/RefitterGenerateTask.cs +++ b/src/Refitter.MSBuild/RefitterGenerateTask.cs @@ -12,6 +12,8 @@ public class RefitterGenerateTask : MSBuildTask public bool DisableLogging { get; set; } + public bool SkipValidation { get; set; } + [Output] public ITaskItem[] GeneratedFiles { get; set; } @@ -78,11 +80,15 @@ private List StartProcess(string file) TryLogCommandLine("Using .NET 8 version of Refitter."); } - var args = $"{refitterDll} --settings-file {file}"; + var args = $"{refitterDll} --settings-file {file} --simple-output"; if (DisableLogging) { args += " --no-logging"; } + if (SkipValidation) + { + args += " --skip-validation"; + } TryLogCommandLine($"Starting dotnet {args}"); From 249d2bfc0850e1e964a7c11c80515a5c7a1d8a31 Mon Sep 17 00:00:00 2001 From: david-pw <178433875+david-pw@users.noreply.github.com> Date: Sun, 28 Sep 2025 20:39:51 +1300 Subject: [PATCH 2/2] chore: wrap args path variables with quotes The command fails when either refitterDll or the .refitter file lives in a directory containing spaces (very common under %UserProfile%) --- src/Refitter.MSBuild/RefitterGenerateTask.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Refitter.MSBuild/RefitterGenerateTask.cs b/src/Refitter.MSBuild/RefitterGenerateTask.cs index 11694ab37..74ddd23d1 100644 --- a/src/Refitter.MSBuild/RefitterGenerateTask.cs +++ b/src/Refitter.MSBuild/RefitterGenerateTask.cs @@ -80,7 +80,7 @@ private List StartProcess(string file) TryLogCommandLine("Using .NET 8 version of Refitter."); } - var args = $"{refitterDll} --settings-file {file} --simple-output"; + var args = $"\"{refitterDll}\" --settings-file \"{file}\" --simple-output"; if (DisableLogging) { args += " --no-logging";