From e188f3e08ccb972480aba6a610d811f57b8b53bc Mon Sep 17 00:00:00 2001 From: Juan Hoyos Date: Tue, 13 Apr 2021 14:12:12 -0700 Subject: [PATCH] Add LayoutWorker that can block files from publishing (#2176) --- .../Common/FileIgnoreWorker.cs | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 eng/release/DiagnosticsReleaseTool/Common/FileIgnoreWorker.cs diff --git a/eng/release/DiagnosticsReleaseTool/Common/FileIgnoreWorker.cs b/eng/release/DiagnosticsReleaseTool/Common/FileIgnoreWorker.cs new file mode 100644 index 000000000..08ae49dfd --- /dev/null +++ b/eng/release/DiagnosticsReleaseTool/Common/FileIgnoreWorker.cs @@ -0,0 +1,27 @@ +using System; +using System.IO; +using System.Threading; +using System.Threading.Tasks; + +namespace ReleaseTool.Core +{ + internal class SkipLayoutWorker : ILayoutWorker + { + private readonly Func _shouldHandleFileFunc; + + public SkipLayoutWorker(Func shouldHandleFileFunc) + { + _shouldHandleFileFunc = shouldHandleFileFunc; + } + + public void Dispose() {} + + public ValueTask HandleFileAsync(FileInfo file, CancellationToken ct) + { + LayoutResultStatus status = _shouldHandleFileFunc(file) ? + LayoutResultStatus.FileHandled : LayoutResultStatus.FileNotHandled; + + return new ValueTask(new LayoutWorkerResult(status)); + } + } +} \ No newline at end of file -- 2.34.1