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";