From 813eca2504684bbcb0d0bfa90cf1ddebad566f4c Mon Sep 17 00:00:00 2001
From: Chrison Simtian
Date: Sun, 31 May 2026 23:52:42 +1200
Subject: [PATCH 1/5] =?UTF-8?q?feat(tooling):=20extract=20process-executio?=
=?UTF-8?q?n=20port=20(IProcessRunner)=20=E2=80=94=20onion=20step=203?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
ADR-0006 step 3 (first piece of the Infrastructure ring). The single impure step of
running a tool — spawning an OS process — now goes through an injectable IProcessRunner
port (default SystemProcessRunner) instead of a static Process.Start. This lets the
tooling vocabulary stay pure (prerequisite for moving the wrappers to Application in
step 4) and makes builds unit-testable by swapping the runner. Non-breaking; behaviour
identical — Tooling builds, 64/64 tests pass.
Co-Authored-By: Claude Opus 4.8
---
src/Fallout.Tooling/IProcessRunner.cs | 15 +++++++++++++++
src/Fallout.Tooling/ProcessTasks.cs | 16 +++++++++-------
src/Fallout.Tooling/SystemProcessRunner.cs | 21 +++++++++++++++++++++
3 files changed, 45 insertions(+), 7 deletions(-)
create mode 100644 src/Fallout.Tooling/IProcessRunner.cs
create mode 100644 src/Fallout.Tooling/SystemProcessRunner.cs
diff --git a/src/Fallout.Tooling/IProcessRunner.cs b/src/Fallout.Tooling/IProcessRunner.cs
new file mode 100644
index 000000000..040f89ec4
--- /dev/null
+++ b/src/Fallout.Tooling/IProcessRunner.cs
@@ -0,0 +1,15 @@
+using System;
+using System.Diagnostics;
+
+namespace Fallout.Common.Tooling;
+
+///
+/// The process-execution port (ADR-0006 step 3). Abstracts the single impure step of running a tool —
+/// spawning an OS process — so the tooling vocabulary (, the generated
+/// wrappers) stays pure and side-effect-free, and builds become unit-testable by swapping in a fake
+/// runner via . The default adapter is .
+///
+public interface IProcessRunner
+{
+ IProcess Start(ProcessStartInfo startInfo, int? timeout, Action logger, Func outputFilter);
+}
diff --git a/src/Fallout.Tooling/ProcessTasks.cs b/src/Fallout.Tooling/ProcessTasks.cs
index d95a4fbed..3a17bd46f 100644
--- a/src/Fallout.Tooling/ProcessTasks.cs
+++ b/src/Fallout.Tooling/ProcessTasks.cs
@@ -19,6 +19,12 @@ public static class ProcessTasks
public static bool LogWorkingDirectory = true;
public static string DefaultWorkingDirectory = EnvironmentInfo.WorkingDirectory;
+ ///
+ /// The process-execution port (ADR-0006). Defaults to spawning a real OS process; tests (and, later,
+ /// a hosted runner) swap in a fake/alternate .
+ ///
+ public static IProcessRunner Runner { get; set; } = new SystemProcessRunner();
+
private static readonly char[] s_pathSeparators = { EnvironmentInfo.IsWin ? ';' : ':' };
private static readonly object s_lock = new();
@@ -158,12 +164,8 @@ private static IProcess StartProcessInternal(
if (logInvocation)
LogInvocation(startInfo, outputFilter, environmentVariables != null);
- var process = Process.Start(startInfo);
- if (process == null)
- return null;
-
- var output = GetOutputCollection(process, logger, outputFilter);
- return new Process2(process, outputFilter, timeout, output);
+ // The one impure step — spawning the OS process — goes through the execution port.
+ return Runner.Start(startInfo, timeout, logger, outputFilter);
}
private static void LogInvocation(ProcessStartInfo startInfo, Func outputFilter, bool hasEnvironmentVariables)
@@ -188,7 +190,7 @@ private static void LogInvocation(ProcessStartInfo startInfo, Func GetOutputCollection(
+ internal static BlockingCollection
For more details, visit the official website.
[ExcludeFromCodeCoverage]
@@ -25,13 +25,13 @@ public partial class CodecovTasks : ToolTasks, IRequireNuGetPackage
/// Code coverage is a measurement used to express which lines of code were executed by a test suite. We use three primary terms to describe each line executed.
- hit - indicates that the source code was executed by the test suite.
- partial - indicates that the source code was not fully executed by the test suite; there are remaining branches that were not executed.
- miss - indicates that the source code was not executed by the test suite.
Coverage is the ratio of hits / (sum of hit + partial + miss). A code base that has 5 lines executed by tests out of 12 total lines will receive a coverage ratio of 41% (rounding down).Phrased simply, code coverage provides a visual measurement of what source code is being executed by a test suite. This information indicates to the software developer where they should write new tests in an effort to achieve higher coverage.Testing source code helps to prevent bugs and syntax errors by executing each line with a known variable and cross-checking it with an expected output.For more details, visit the official website.
/// This is a CLI wrapper with fluent API that allows to modify the following arguments:
- --branch via
- --build via
- --disable-network via
- --dump via
- --env via
- --feature via
- --file via
- --flag via
- --name via
- --no-color via
- --pr via
- --required via
- --root via
- --sha via
- --slug via
- --tag via
- --token via
- --url via
- --verbose via
public static IReadOnlyCollection Codecov(CodecovSettings options = null) => new CodecovTasks().Run(options);
- ///
+ ///
public static IReadOnlyCollection Codecov(Configure configurator) => new CodecovTasks().Run(configurator.Invoke(new CodecovSettings()));
- ///
+ ///
public static IEnumerable<(CodecovSettings Settings, IReadOnlyCollection Output)> Codecov(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(Codecov, degreeOfParallelism, completeOnFailure);
}
#region CodecovSettings
-///
+///
[ExcludeFromCodeCoverage]
[Command(Type = typeof(CodecovTasks), Command = nameof(CodecovTasks.Codecov))]
public partial class CodecovSettings : ToolOptions
@@ -79,7 +79,7 @@ public partial class CodecovSettings : ToolOptions
}
#endregion
#region CodecovSettingsExtensions
-///
+///
[ExcludeFromCodeCoverage]
public static partial class CodecovSettingsExtensions
{
diff --git a/src/Fallout.Common/Tools/Codecov/CodecovTasks.cs b/src/Fallout.Common/Tools/Codecov/CodecovTasks.cs
index 8cbcccf33..90f8c3cf5 100644
--- a/src/Fallout.Common/Tools/Codecov/CodecovTasks.cs
+++ b/src/Fallout.Common/Tools/Codecov/CodecovTasks.cs
@@ -1,7 +1,9 @@
-using System;
-using Fallout.Common.Tooling;
+using System;
+using Fallout.Application.Tooling;
+using Fallout.Infrastructure.Tooling;
+using Fallout.Common;
-namespace Fallout.Common.Tools.Codecov;
+namespace Fallout.Application.Tools.Codecov;
partial class CodecovTasks
{
diff --git a/src/Fallout.Common/Tools/CorFlags/CorFlags.Generated.cs b/src/Fallout.Common/Tools/CorFlags/CorFlags.Generated.cs
index 7ccb947da..c4fdbb969 100644
--- a/src/Fallout.Common/Tools/CorFlags/CorFlags.Generated.cs
+++ b/src/Fallout.Common/Tools/CorFlags/CorFlags.Generated.cs
@@ -1,7 +1,6 @@
// Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/CorFlags/CorFlags.json
using Fallout.Common;
-using Fallout.Common.Tooling;
using Fallout.Common.Utilities.Collections;
using System;
using System.Collections.Generic;
@@ -12,8 +11,9 @@
using System.Linq;
using System.Text;
using System.Text.Json.Serialization;
+using Fallout.Application.Tooling;
-namespace Fallout.Common.Tools.CorFlags;
+namespace Fallout.Application.Tools.CorFlags;
/// The CorFlags Conversion tool allows you to configure the CorFlags section of the header of a portable executable image.
For more details, visit the official website.
[ExcludeFromCodeCoverage]
@@ -27,13 +27,13 @@ public partial class CorFlagsTasks : ToolTasks, IRequirePathTool
/// The CorFlags Conversion tool allows you to configure the CorFlags section of the header of a portable executable image.
For more details, visit the official website.
/// This is a CLI wrapper with fluent API that allows to modify the following arguments:
- <assembly> via
- -32BIT via
- -32BITPREF via
- -Force via
- -ILONLY via
- -nologo via
- -RevertCLRHeader via
- -UpgradeCLRHeader via
public static IReadOnlyCollection CorFlags(CorFlagsSettings options = null) => new CorFlagsTasks().Run(options);
- ///
+ ///
public static IReadOnlyCollection CorFlags(Configure configurator) => new CorFlagsTasks().Run(configurator.Invoke(new CorFlagsSettings()));
- ///
+ ///
public static IEnumerable<(CorFlagsSettings Settings, IReadOnlyCollection Output)> CorFlags(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(CorFlags, degreeOfParallelism, completeOnFailure);
}
#region CorFlagsSettings
-///
+///
[ExcludeFromCodeCoverage]
[Command(Type = typeof(CorFlagsTasks), Command = nameof(CorFlagsTasks.CorFlags))]
public partial class CorFlagsSettings : ToolOptions
@@ -57,7 +57,7 @@ public partial class CorFlagsSettings : ToolOptions
}
#endregion
#region CorFlagsSettingsExtensions
-///
+///
[ExcludeFromCodeCoverage]
public static partial class CorFlagsSettingsExtensions
{
diff --git a/src/Fallout.Common/Tools/CorFlags/CorFlagsSettings.cs b/src/Fallout.Common/Tools/CorFlags/CorFlagsSettings.cs
index cbf870749..6ec2148f7 100644
--- a/src/Fallout.Common/Tools/CorFlags/CorFlagsSettings.cs
+++ b/src/Fallout.Common/Tools/CorFlags/CorFlagsSettings.cs
@@ -1,7 +1,7 @@
-using System;
+using System;
using System.Reflection;
-namespace Fallout.Common.Tools.CorFlags;
+namespace Fallout.Application.Tools.CorFlags;
partial class CorFlagsSettings
{
diff --git a/src/Fallout.Common/Tools/CoverallsNet/CoverallsNet.Generated.cs b/src/Fallout.Common/Tools/CoverallsNet/CoverallsNet.Generated.cs
index 9ab051b0b..8164e97d0 100644
--- a/src/Fallout.Common/Tools/CoverallsNet/CoverallsNet.Generated.cs
+++ b/src/Fallout.Common/Tools/CoverallsNet/CoverallsNet.Generated.cs
@@ -1,4 +1,3 @@
-using Fallout.Common.Tooling;
using Fallout.Common.Utilities.Collections;
using System;
using System.Collections.Generic;
@@ -10,8 +9,9 @@
using System.Text;
using System.Text.Json.Serialization;
using Fallout.Application;
+using Fallout.Application.Tooling;
-namespace Fallout.Common.Tools.CoverallsNet;
+namespace Fallout.Application.Tools.CoverallsNet;
/// Coveralls uploader for .Net Code coverage of your C# source code. Should work with any code files that get reported with the supported coverage tools, but the primary focus is CSharp.
For more details, visit the official website.
[ExcludeFromCodeCoverage]
@@ -26,13 +26,13 @@ public partial class CoverallsNetTasks : ToolTasks, IRequireNuGetPackage
/// Coveralls uploader for .Net Code coverage of your C# source code. Should work with any code files that get reported with the supported coverage tools, but the primary focus is CSharp.
For more details, visit the official website.
/// This is a CLI wrapper with fluent API that allows to modify the following arguments:
- --basePath via
- --commitAuthor via
- --commitBranch via
- --commitEmail via
- --commitId via
- --commitMessage via
- --dryrun via
- --dynamiccodecoverage via
- --exportcodecoverage via
- --input via
- --jobId via
- --monocov via
- --opencover via
- --output via
- --pullRequest via
- --repoToken via
- --repoTokenVariable via
- --serviceName via
- --useRelativePaths via
public static IReadOnlyCollection CoverallsNet(CoverallsNetSettings options = null) => new CoverallsNetTasks().Run(options);
- ///
+ ///
public static IReadOnlyCollection CoverallsNet(Configure configurator) => new CoverallsNetTasks().Run(configurator.Invoke(new CoverallsNetSettings()));
- ///
+ ///
public static IEnumerable<(CoverallsNetSettings Settings, IReadOnlyCollection Output)> CoverallsNet(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(CoverallsNet, degreeOfParallelism, completeOnFailure);
}
#region CoverallsNetSettings
-///
+///
[ExcludeFromCodeCoverage]
[Command(Type = typeof(CoverallsNetTasks), Command = nameof(CoverallsNetTasks.CoverallsNet))]
public partial class CoverallsNetSettings : ToolOptions
@@ -78,7 +78,7 @@ public partial class CoverallsNetSettings : ToolOptions
}
#endregion
#region CoverallsNetSettingsExtensions
-///
+///
[ExcludeFromCodeCoverage]
public static partial class CoverallsNetSettingsExtensions
{
diff --git a/src/Fallout.Common/Tools/Coverlet/Coverlet.Generated.cs b/src/Fallout.Common/Tools/Coverlet/Coverlet.Generated.cs
index 78801f476..34aa9fa61 100644
--- a/src/Fallout.Common/Tools/Coverlet/Coverlet.Generated.cs
+++ b/src/Fallout.Common/Tools/Coverlet/Coverlet.Generated.cs
@@ -1,8 +1,6 @@
// Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/Coverlet/Coverlet.json
using Fallout.Common;
-using Fallout.Common.Tooling;
-using Fallout.Common.Tools.DotNet;
using Fallout.Common.Utilities.Collections;
using System;
using System.Collections.Generic;
@@ -13,8 +11,10 @@
using System.Linq;
using System.Text;
using System.Text.Json.Serialization;
+using Fallout.Application.Tooling;
+using Fallout.Application.Tools.DotNet;
-namespace Fallout.Common.Tools.Coverlet;
+namespace Fallout.Application.Tools.Coverlet;
/// Coverlet is a cross platform code coverage library for .NET Core, with support for line, branch and method coverage.The dotnet test command is used to execute unit tests in a given project. Unit tests are console application projects that have dependencies on the unit test framework (for example, MSTest, NUnit, or xUnit) and the dotnet test runner for the unit testing framework. These are packaged as NuGet packages and are restored as ordinary dependencies for the project.
For more details, visit the official website.
[ExcludeFromCodeCoverage]
@@ -29,13 +29,13 @@ public partial class CoverletTasks : ToolTasks, IRequireNuGetPackage
/// Coverlet is a cross platform code coverage library for .NET Core, with support for line, branch and method coverage.The dotnet test command is used to execute unit tests in a given project. Unit tests are console application projects that have dependencies on the unit test framework (for example, MSTest, NUnit, or xUnit) and the dotnet test runner for the unit testing framework. These are packaged as NuGet packages and are restored as ordinary dependencies for the project.
For more details, visit the official website.
/// This is a CLI wrapper with fluent API that allows to modify the following arguments:
- <assembly> via
- --exclude via
- --exclude-by-file via
- --format via
- --include via
- --merge-with via
- --output via
- --target via
- --targetargs via
- --threshold via
- --threshold-type via
- --version via
public static IReadOnlyCollection Coverlet(CoverletSettings options = null) => new CoverletTasks().Run(options);
- ///
+ ///
public static IReadOnlyCollection Coverlet(Configure configurator) => new CoverletTasks().Run(configurator.Invoke(new CoverletSettings()));
- ///
+ ///
public static IEnumerable<(CoverletSettings Settings, IReadOnlyCollection Output)> Coverlet(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(Coverlet, degreeOfParallelism, completeOnFailure);
}
#region CoverletSettings
-///
+///
[ExcludeFromCodeCoverage]
[Command(Type = typeof(CoverletTasks), Command = nameof(CoverletTasks.Coverlet))]
public partial class CoverletSettings : ToolOptions
@@ -67,7 +67,7 @@ public partial class CoverletSettings : ToolOptions
}
#endregion
#region CoverletSettingsExtensions
-///
+///
[ExcludeFromCodeCoverage]
public static partial class CoverletSettingsExtensions
{
diff --git a/src/Fallout.Common/Tools/Coverlet/CoverletSettingsExtensions.cs b/src/Fallout.Common/Tools/Coverlet/CoverletSettingsExtensions.cs
index d37e3dfb3..0acd04d30 100644
--- a/src/Fallout.Common/Tools/Coverlet/CoverletSettingsExtensions.cs
+++ b/src/Fallout.Common/Tools/Coverlet/CoverletSettingsExtensions.cs
@@ -1,8 +1,8 @@
-using System;
+using System;
using System.Linq;
-using Fallout.Common.Tooling;
+using Fallout.Application.Tooling;
-namespace Fallout.Common.Tools.Coverlet;
+namespace Fallout.Application.Tools.Coverlet;
public static partial class CoverletSettingsExtensions
{
diff --git a/src/Fallout.Common/Tools/Discord/Discord.Generated.cs b/src/Fallout.Common/Tools/Discord/Discord.Generated.cs
index 2277892ce..d1efe0e77 100644
--- a/src/Fallout.Common/Tools/Discord/Discord.Generated.cs
+++ b/src/Fallout.Common/Tools/Discord/Discord.Generated.cs
@@ -1,7 +1,6 @@
// Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/Discord/Discord.json
using Fallout.Common;
-using Fallout.Common.Tooling;
using Fallout.Common.Utilities.Collections;
using System;
using System.Collections.Generic;
@@ -12,8 +11,9 @@
using System.Linq;
using System.Text;
using System.Text.Json.Serialization;
+using Fallout.Application.Tooling;
-namespace Fallout.Common.Tools.Discord;
+namespace Fallout.Application.Tools.Discord;
#region DiscordMessage
/// Used within .
diff --git a/src/Fallout.Common/Tools/Discord/DiscordTasks.cs b/src/Fallout.Common/Tools/Discord/DiscordTasks.cs
index 398d2cc39..b1b3c03b0 100644
--- a/src/Fallout.Common/Tools/Discord/DiscordTasks.cs
+++ b/src/Fallout.Common/Tools/Discord/DiscordTasks.cs
@@ -1,9 +1,9 @@
using System.Net.Http;
using System.Threading.Tasks;
-using Fallout.Common.Tooling;
using Fallout.Common.Utilities.Net;
+using Fallout.Application.Tooling;
-namespace Fallout.Common.Tools.Discord;
+namespace Fallout.Application.Tools.Discord;
public static class DiscordTasks
{
diff --git a/src/Fallout.Common/Tools/DocFX/DocFX.Generated.cs b/src/Fallout.Common/Tools/DocFX/DocFX.Generated.cs
index 114506878..d129d413e 100644
--- a/src/Fallout.Common/Tools/DocFX/DocFX.Generated.cs
+++ b/src/Fallout.Common/Tools/DocFX/DocFX.Generated.cs
@@ -1,7 +1,6 @@
// Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/DocFX/DocFX.json
using Fallout.Common;
-using Fallout.Common.Tooling;
using Fallout.Common.Utilities.Collections;
using System;
using System.Collections.Generic;
@@ -12,8 +11,9 @@
using System.Linq;
using System.Text;
using System.Text.Json.Serialization;
+using Fallout.Application.Tooling;
-namespace Fallout.Common.Tools.DocFX;
+namespace Fallout.Application.Tools.DocFX;
/// DocFX is an API documentation generator for .NET, and currently it supports C# and VB. It generates API reference documentation from triple-slash comments in your source code. It also allows you to use Markdown files to create additional topics such as tutorials and how-tos, and to customize the generated reference documentation. DocFX builds a static HTML website from your source code and Markdown files, which can be easily hosted on any web servers (for example, github.io). Also, DocFX provides you the flexibility to customize the layout and style of your website through templates. If you are interested in creating your own website with your own styles, you can follow how to create custom template to create custom templates.
For more details, visit the official website.
[ExcludeFromCodeCoverage]
@@ -28,76 +28,76 @@ public partial class DocFXTasks : ToolTasks, IRequireNuGetPackage
/// Generate client-only website combining API in YAML files and conceptual files.
For more details, visit the official website.
/// This is a CLI wrapper with fluent API that allows to modify the following arguments:
- <configFile> via
- --changesFile via
- --cleanupCacheHistory via
- --content via
- --correlationId via
- --debug via
- --debugOutput via
- --disableGitFeatures via
- --dryRun via
- --exportRawModel via
- --exportViewModel via
- --falName via
- --fileMetadataFile via
- --fileMetadataFiles via
- --force via
- --forcePostProcess via
- --globalMetadata via
- --globalMetadataFile via
- --globalMetadataFiles via
- --help via
- --hostname via
- --intermediateFolder via
- --keepFileLink via
- --log via
- --logLevel via
- --lruSize via
- --markdownEngineName via
- --markdownEngineProperties via
- --maxParallelism via
- --noLangKeyword via
- --output via
- --overwrite via
- --port via
- --postProcessors via
- --rawModelOutputFolder via
- --repositoryRoot via
- --resource via
- --schemaLicense via
- --serve via
- --template via
- --theme via
- --viewModelOutputFolder via
- --warningsAsErrors via
- --xref via
public static IReadOnlyCollection DocFXBuild(DocFXBuildSettings options = null) => new DocFXTasks().Run(options);
- ///
+ ///
public static IReadOnlyCollection DocFXBuild(Configure configurator) => new DocFXTasks().Run(configurator.Invoke(new DocFXBuildSettings()));
- ///
+ ///
public static IEnumerable<(DocFXBuildSettings Settings, IReadOnlyCollection Output)> DocFXBuild(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DocFXBuild, degreeOfParallelism, completeOnFailure);
/// Export dependency file.
For more details, visit the official website.
/// This is a CLI wrapper with fluent API that allows to modify the following arguments:
- <dependencyFile> via
- --help via
- --intermediateFolder via
- --version via
public static IReadOnlyCollection DocFXDependency(DocFXDependencySettings options = null) => new DocFXTasks().Run(options);
- ///
+ ///
public static IReadOnlyCollection DocFXDependency(Configure configurator) => new DocFXTasks().Run(configurator.Invoke(new DocFXDependencySettings()));
- ///
+ ///
public static IEnumerable<(DocFXDependencySettings Settings, IReadOnlyCollection Output)> DocFXDependency(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DocFXDependency, degreeOfParallelism, completeOnFailure);
/// Download remote xref map file and create an xref archive in local.
For more details, visit the official website.
/// This is a CLI wrapper with fluent API that allows to modify the following arguments:
- <archiveFile> via
- --help via
- --xref via
public static IReadOnlyCollection DocFXDownload(DocFXDownloadSettings options = null) => new DocFXTasks().Run(options);
- ///
+ ///
public static IReadOnlyCollection DocFXDownload(Configure configurator) => new DocFXTasks().Run(configurator.Invoke(new DocFXDownloadSettings()));
- ///
+ ///
public static IEnumerable<(DocFXDownloadSettings Settings, IReadOnlyCollection Output)> DocFXDownload(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DocFXDownload, degreeOfParallelism, completeOnFailure);
/// Get an overall guide for the command and sub-commands.
For more details, visit the official website.
/// This is a CLI wrapper with fluent API that allows to modify the following arguments:
public static IReadOnlyCollection DocFXHelp(DocFXHelpSettings options = null) => new DocFXTasks().Run(options);
- ///
+ ///
public static IReadOnlyCollection DocFXHelp(Configure configurator) => new DocFXTasks().Run(configurator.Invoke(new DocFXHelpSettings()));
- ///
+ ///
public static IEnumerable<(DocFXHelpSettings Settings, IReadOnlyCollection Output)> DocFXHelp(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DocFXHelp, degreeOfParallelism, completeOnFailure);
/// Generate an initial docfx.json following the instructions.
For more details, visit the official website.
/// This is a CLI wrapper with fluent API that allows to modify the following arguments:
- --apiGlobPattern via
- --apiSourceFolder via
- --file via
- --help via
- --output via
- --overwrite via
- --quiet via
public static IReadOnlyCollection DocFXInit(DocFXInitSettings options = null) => new DocFXTasks().Run(options);
- ///
+ ///
public static IReadOnlyCollection DocFXInit(Configure configurator) => new DocFXTasks().Run(configurator.Invoke(new DocFXInitSettings()));
- ///
+ ///
public static IEnumerable<(DocFXInitSettings Settings, IReadOnlyCollection Output)> DocFXInit(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DocFXInit, degreeOfParallelism, completeOnFailure);
/// Merge .net base API in YAML files and toc files.
For more details, visit the official website.
/// This is a CLI wrapper with fluent API that allows to modify the following arguments:
- <configFile> via
- --content via
- --correlationId via
- --fileMetadataFile via
- --globalMetadata via
- --globalMetadataFile via
- --help via
- --log via
- --logLevel via
- --repositoryRoot via
- --tocMetadata via
- --warningsAsErrors via
public static IReadOnlyCollection DocFXMerge(DocFXMergeSettings options = null) => new DocFXTasks().Run(options);
- ///
+ ///
public static IReadOnlyCollection DocFXMerge(Configure configurator) => new DocFXTasks().Run(configurator.Invoke(new DocFXMergeSettings()));
- ///
+ ///
public static IEnumerable<(DocFXMergeSettings Settings, IReadOnlyCollection Output)> DocFXMerge(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DocFXMerge, degreeOfParallelism, completeOnFailure);
/// Generate YAML files from source code.
For more details, visit the official website.
/// This is a CLI wrapper with fluent API that allows to modify the following arguments:
- <projects> via
- --correlationId via
- --disableDefaultFilter via
- --disableGitFeatures via
- --filter via
- --force via
- --globalNamespaceId via
- --help via
- --log via
- --logLevel via
- --output via
- --property via
- --raw via
- --repositoryRoot via
- --shouldSkipMarkup via
- --warningsAsErrors via
public static IReadOnlyCollection DocFXMetadata(DocFXMetadataSettings options = null) => new DocFXTasks().Run(options);
- ///
+ ///
public static IReadOnlyCollection DocFXMetadata(Configure configurator) => new DocFXTasks().Run(configurator.Invoke(new DocFXMetadataSettings()));
- ///
+ ///
public static IEnumerable<(DocFXMetadataSettings Settings, IReadOnlyCollection Output)> DocFXMetadata(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DocFXMetadata, degreeOfParallelism, completeOnFailure);
/// Generate pdf file.
For more details, visit the official website.
/// This is a CLI wrapper with fluent API that allows to modify the following arguments:
- <configFile> via
- --basePath via
- --changesFile via
- --cleanupCacheHistory via
- --content via
- --correlationId via
- --css via
- --debug via
- --debugOutput via
- --disableGitFeatures via
- --dryRun via
- --errorHandling via
- --excludedTocs via
- --exportRawModel via
- --exportViewModel via
- --falName via
- --fileMetadataFile via
- --fileMetadataFiles via
- --force via
- --forcePostProcess via
- --generatesAppendices via
- --generatesExternalLink via
- --globalMetadata via
- --globalMetadataFile via
- --globalMetadataFiles via
- --help via
- --host via
- --hostname via
- --intermediateFolder via
- --keepFileLink via
- --keepRawFiles via
- --locale via
- --log via
- --logLevel via
- --lruSize via
- --markdownEngineName via
- --markdownEngineProperties via
- --maxParallelism via
- --name via
- --noLangKeyword via
- --noStdin via
- --output via
- --overwrite via
- --port via
- --postProcessors via
- --rawModelOutputFolder via
- --rawOutputFolder via
- --repositoryRoot via
- --resource via
- --schemaLicense via
- --serve via
- --template via
- --theme via
- --viewModelOutputFolder via
- --warningsAsErrors via
- --xref via
public static IReadOnlyCollection DocFXPdf(DocFXPdfSettings options = null) => new DocFXTasks().Run(options);
- ///
+ ///
public static IReadOnlyCollection DocFXPdf(Configure configurator) => new DocFXTasks().Run(configurator.Invoke(new DocFXPdfSettings()));
- ///
+ ///
public static IEnumerable<(DocFXPdfSettings Settings, IReadOnlyCollection Output)> DocFXPdf(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DocFXPdf, degreeOfParallelism, completeOnFailure);
/// Host a local static website.
For more details, visit the official website.
/// This is a CLI wrapper with fluent API that allows to modify the following arguments:
- <folder> via
- --help via
- --hostname via
- --port via
public static IReadOnlyCollection DocFXServe(DocFXServeSettings options = null) => new DocFXTasks().Run(options);
- ///
+ ///
public static IReadOnlyCollection DocFXServe(Configure configurator) => new DocFXTasks().Run(configurator.Invoke(new DocFXServeSettings()));
- ///
+ ///
public static IEnumerable<(DocFXServeSettings Settings, IReadOnlyCollection Output)> DocFXServe(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DocFXServe, degreeOfParallelism, completeOnFailure);
/// List or export existing template.
For more details, visit the official website.
/// This is a CLI wrapper with fluent API that allows to modify the following arguments:
- <command> via
- --all via
- --help via
- --output via
public static IReadOnlyCollection DocFXTemplate(DocFXTemplateSettings options = null) => new DocFXTasks().Run(options);
- ///
+ ///
public static IReadOnlyCollection DocFXTemplate(Configure configurator) => new DocFXTasks().Run(configurator.Invoke(new DocFXTemplateSettings()));
- ///
+ ///
public static IEnumerable<(DocFXTemplateSettings Settings, IReadOnlyCollection Output)> DocFXTemplate(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DocFXTemplate, degreeOfParallelism, completeOnFailure);
}
#region DocFXBuildSettings
-///
+///
[ExcludeFromCodeCoverage]
[Command(Type = typeof(DocFXTasks), Command = nameof(DocFXTasks.DocFXBuild), Arguments = "build")]
public partial class DocFXBuildSettings : ToolOptions
@@ -193,7 +193,7 @@ public partial class DocFXBuildSettings : ToolOptions
}
#endregion
#region DocFXDependencySettings
-///
+///
[ExcludeFromCodeCoverage]
[Command(Type = typeof(DocFXTasks), Command = nameof(DocFXTasks.DocFXDependency), Arguments = "dependency")]
public partial class DocFXDependencySettings : ToolOptions
@@ -209,7 +209,7 @@ public partial class DocFXDependencySettings : ToolOptions
}
#endregion
#region DocFXDownloadSettings
-///
+///
[ExcludeFromCodeCoverage]
[Command(Type = typeof(DocFXTasks), Command = nameof(DocFXTasks.DocFXDownload), Arguments = "download")]
public partial class DocFXDownloadSettings : ToolOptions
@@ -223,7 +223,7 @@ public partial class DocFXDownloadSettings : ToolOptions
}
#endregion
#region DocFXHelpSettings
-///
+///
[ExcludeFromCodeCoverage]
[Command(Type = typeof(DocFXTasks), Command = nameof(DocFXTasks.DocFXHelp), Arguments = "help")]
public partial class DocFXHelpSettings : ToolOptions
@@ -233,7 +233,7 @@ public partial class DocFXHelpSettings : ToolOptions
}
#endregion
#region DocFXInitSettings
-///
+///
[ExcludeFromCodeCoverage]
[Command(Type = typeof(DocFXTasks), Command = nameof(DocFXTasks.DocFXInit), Arguments = "init")]
public partial class DocFXInitSettings : ToolOptions
@@ -255,7 +255,7 @@ public partial class DocFXInitSettings : ToolOptions
}
#endregion
#region DocFXMergeSettings
-///
+///
[ExcludeFromCodeCoverage]
[Command(Type = typeof(DocFXTasks), Command = nameof(DocFXTasks.DocFXMerge), Arguments = "merge")]
public partial class DocFXMergeSettings : ToolOptions
@@ -287,7 +287,7 @@ public partial class DocFXMergeSettings : ToolOptions
}
#endregion
#region DocFXMetadataSettings
-///
+///
[ExcludeFromCodeCoverage]
[Command(Type = typeof(DocFXTasks), Command = nameof(DocFXTasks.DocFXMetadata), Arguments = "metadata")]
public partial class DocFXMetadataSettings : ToolOptions
@@ -327,7 +327,7 @@ public partial class DocFXMetadataSettings : ToolOptions
}
#endregion
#region DocFXPdfSettings
-///
+///
[ExcludeFromCodeCoverage]
[Command(Type = typeof(DocFXTasks), Command = nameof(DocFXTasks.DocFXPdf), Arguments = "pdf")]
public partial class DocFXPdfSettings : ToolOptions
@@ -447,7 +447,7 @@ public partial class DocFXPdfSettings : ToolOptions
}
#endregion
#region DocFXServeSettings
-///
+///
[ExcludeFromCodeCoverage]
[Command(Type = typeof(DocFXTasks), Command = nameof(DocFXTasks.DocFXServe), Arguments = "serve")]
public partial class DocFXServeSettings : ToolOptions
@@ -463,7 +463,7 @@ public partial class DocFXServeSettings : ToolOptions
}
#endregion
#region DocFXTemplateSettings
-///
+///
[ExcludeFromCodeCoverage]
[Command(Type = typeof(DocFXTasks), Command = nameof(DocFXTasks.DocFXTemplate), Arguments = "template")]
public partial class DocFXTemplateSettings : ToolOptions
@@ -479,7 +479,7 @@ public partial class DocFXTemplateSettings : ToolOptions
}
#endregion
#region DocFXBuildSettingsExtensions
-///
+///
[ExcludeFromCodeCoverage]
public static partial class DocFXBuildSettingsExtensions
{
@@ -1090,7 +1090,7 @@ public static partial class DocFXBuildSettingsExtensions
}
#endregion
#region DocFXDependencySettingsExtensions
-///
+///
[ExcludeFromCodeCoverage]
public static partial class DocFXDependencySettingsExtensions
{
@@ -1138,7 +1138,7 @@ public static partial class DocFXDependencySettingsExtensions
}
#endregion
#region DocFXDownloadSettingsExtensions
-///
+///
[ExcludeFromCodeCoverage]
public static partial class DocFXDownloadSettingsExtensions
{
@@ -1178,7 +1178,7 @@ public static partial class DocFXDownloadSettingsExtensions
}
#endregion
#region DocFXHelpSettingsExtensions
-///
+///
[ExcludeFromCodeCoverage]
public static partial class DocFXHelpSettingsExtensions
{
@@ -1193,7 +1193,7 @@ public static partial class DocFXHelpSettingsExtensions
}
#endregion
#region DocFXInitSettingsExtensions
-///
+///
[ExcludeFromCodeCoverage]
public static partial class DocFXInitSettingsExtensions
{
@@ -1292,7 +1292,7 @@ public static partial class DocFXInitSettingsExtensions
}
#endregion
#region DocFXMergeSettingsExtensions
-///
+///
[ExcludeFromCodeCoverage]
public static partial class DocFXMergeSettingsExtensions
{
@@ -1443,7 +1443,7 @@ public static partial class DocFXMergeSettingsExtensions
}
#endregion
#region DocFXMetadataSettingsExtensions
-///
+///
[ExcludeFromCodeCoverage]
public static partial class DocFXMetadataSettingsExtensions
{
@@ -1665,7 +1665,7 @@ public static partial class DocFXMetadataSettingsExtensions
}
#endregion
#region DocFXPdfSettingsExtensions
-///
+///
[ExcludeFromCodeCoverage]
public static partial class DocFXPdfSettingsExtensions
{
@@ -2423,7 +2423,7 @@ public static partial class DocFXPdfSettingsExtensions
}
#endregion
#region DocFXServeSettingsExtensions
-///
+///
[ExcludeFromCodeCoverage]
public static partial class DocFXServeSettingsExtensions
{
@@ -2471,7 +2471,7 @@ public static partial class DocFXServeSettingsExtensions
}
#endregion
#region DocFXTemplateSettingsExtensions
-///
+///
[ExcludeFromCodeCoverage]
public static partial class DocFXTemplateSettingsExtensions
{
diff --git a/src/Fallout.Common/Tools/DocFX/DocFXTasks.cs b/src/Fallout.Common/Tools/DocFX/DocFXTasks.cs
index f47be9417..3869cafdc 100644
--- a/src/Fallout.Common/Tools/DocFX/DocFXTasks.cs
+++ b/src/Fallout.Common/Tools/DocFX/DocFXTasks.cs
@@ -1,7 +1,7 @@
-using Fallout.Common.Tooling;
using Serilog.Events;
+using Fallout.Application.Tooling;
-namespace Fallout.Common.Tools.DocFX;
+namespace Fallout.Application.Tools.DocFX;
[LogLevelPattern(LogEventLevel.Warning, $@"{TimestampPattern}Info\:\[ExtractMetadata\]No\ files\ are\ found")]
[LogLevelPattern(LogEventLevel.Warning, $@"{TimestampPattern}Warning\:")]
diff --git a/src/Fallout.Common/Tools/Docker/Docker.Generated.cs b/src/Fallout.Common/Tools/Docker/Docker.Generated.cs
index 964545ea8..85ae6e4dd 100644
--- a/src/Fallout.Common/Tools/Docker/Docker.Generated.cs
+++ b/src/Fallout.Common/Tools/Docker/Docker.Generated.cs
@@ -1,4 +1,3 @@
-using Fallout.Common.Tooling;
using Fallout.Common.Utilities.Collections;
using System;
using System.Collections.Generic;
@@ -10,8 +9,9 @@
using System.Text;
using System.Text.Json.Serialization;
using Fallout.Application;
+using Fallout.Application.Tooling;
-namespace Fallout.Common.Tools.Docker;
+namespace Fallout.Application.Tools.Docker;
/// Docker is an open platform for developing, shipping, and running applications. Docker enables you to separate your applications from your infrastructure so you can deliver software quickly. With Docker, you can manage your infrastructure in the same ways you manage your applications. By taking advantage of Docker’s methodologies for shipping, testing, and deploying code quickly, you can significantly reduce the delay between writing code and running it in production.
For more details, visit the official website.
[ExcludeFromCodeCoverage]
@@ -25,1315 +25,1315 @@ public partial class DockerTasks : ToolTasks, IRequirePathTool
/// Remove one or more configs.
For more details, visit the official website.
/// This is a CLI wrapper with fluent API that allows to modify the following arguments:
- <configs> via
- --config via
- --debug via
- --log-level via
- --tls via
- --tlscacert via
- --tlscert via
- --tlskey via
- --tlsverify via
public static IReadOnlyCollection DockerConfigRm(DockerConfigRmSettings options = null) => new DockerTasks().Run(options);
- ///
+ ///
public static IReadOnlyCollection DockerConfigRm(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerConfigRmSettings()));
- ///
+ ///
public static IEnumerable<(DockerConfigRmSettings Settings, IReadOnlyCollection Output)> DockerConfigRm(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerConfigRm, degreeOfParallelism, completeOnFailure);
/// Load an image from a tar archive or STDIN.
For more details, visit the official website.
/// This is a CLI wrapper with fluent API that allows to modify the following arguments:
- --config via
- --debug via
- --input via
- --log-level via
- --quiet via
- --tls via
- --tlscacert via
- --tlscert via
- --tlskey via
- --tlsverify via
public static IReadOnlyCollection DockerLoad(DockerLoadSettings options = null) => new DockerTasks().Run(options);
- ///
+ ///
public static IReadOnlyCollection DockerLoad(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerLoadSettings()));
- ///
+ ///
public static IEnumerable<(DockerLoadSettings Settings, IReadOnlyCollection Output)> DockerLoad(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerLoad, degreeOfParallelism, completeOnFailure);
/// Remove all stopped containers.
For more details, visit the official website.
/// This is a CLI wrapper with fluent API that allows to modify the following arguments:
- --config via
- --debug via
- --filter via
- --force via
- --log-level via
- --tls via
- --tlscacert via
- --tlscert via
- --tlskey via
- --tlsverify via
public static IReadOnlyCollection DockerContainerPrune(DockerContainerPruneSettings options = null) => new DockerTasks().Run(options);
- ///
+ ///
public static IReadOnlyCollection DockerContainerPrune(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerContainerPruneSettings()));
- ///
+ ///
public static IEnumerable<(DockerContainerPruneSettings Settings, IReadOnlyCollection Output)> DockerContainerPrune(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerContainerPrune, degreeOfParallelism, completeOnFailure);
/// Manage trust on Docker images.
For more details, visit the official website.
/// This is a CLI wrapper with fluent API that allows to modify the following arguments:
- --config via
- --debug via
- --log-level via
- --tls via
- --tlscacert via
- --tlscert via
- --tlskey via
- --tlsverify via
public static IReadOnlyCollection DockerTrust(DockerTrustSettings options = null) => new DockerTasks().Run(options);
- ///
+ ///
public static IReadOnlyCollection DockerTrust(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerTrustSettings()));
- ///
+ ///
public static IEnumerable<(DockerTrustSettings Settings, IReadOnlyCollection Output)> DockerTrust(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerTrust, degreeOfParallelism, completeOnFailure);
/// Manage Docker stacks.
For more details, visit the official website.
/// This is a CLI wrapper with fluent API that allows to modify the following arguments:
- --config via
- --debug via
- --kubeconfig via
- --log-level via
- --orchestrator via
- --tls via
- --tlscacert via
- --tlscert via
- --tlskey via
- --tlsverify via
public static IReadOnlyCollection DockerStack(DockerStackSettings options = null) => new DockerTasks().Run(options);
- ///
+ ///
public static IReadOnlyCollection DockerStack(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerStackSettings()));
- ///
+ ///
public static IEnumerable<(DockerStackSettings Settings, IReadOnlyCollection Output)> DockerStack(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerStack, degreeOfParallelism, completeOnFailure);
/// Pull an image or a repository from a registry.
For more details, visit the official website.
/// This is a CLI wrapper with fluent API that allows to modify the following arguments:
- <name> via
- --all-tags via
- --config via
- --debug via
- --disable-content-trust via
- --log-level via
- --platform via
- --quiet via
- --tls via
- --tlscacert via
- --tlscert via
- --tlskey via
- --tlsverify via
public static IReadOnlyCollection DockerPull(DockerPullSettings options = null) => new DockerTasks().Run(options);
- ///
+ ///
public static IReadOnlyCollection DockerPull(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerPullSettings()));
- ///
+ ///
public static IEnumerable<(DockerPullSettings Settings, IReadOnlyCollection Output)> DockerPull(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerPull, degreeOfParallelism, completeOnFailure);
/// Sign an image.
For more details, visit the official website.
/// This is a CLI wrapper with fluent API that allows to modify the following arguments:
- --config via
- --debug via
- --log-level via
- --tls via
- --tlscacert via
- --tlscert via
- --tlskey via
- --tlsverify via
public static IReadOnlyCollection DockerTrustSign(DockerTrustSignSettings options = null) => new DockerTasks().Run(options);
- ///
+ ///
public static IReadOnlyCollection DockerTrustSign(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerTrustSignSettings()));
- ///
+ ///
public static IEnumerable<(DockerTrustSignSettings Settings, IReadOnlyCollection Output)> DockerTrustSign(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerTrustSign, degreeOfParallelism, completeOnFailure);
/// Manage checkpoints.
For more details, visit the official website.
/// This is a CLI wrapper with fluent API that allows to modify the following arguments:
- --config via
- --debug via
- --log-level via
- --tls via
- --tlscacert via
- --tlscert via
- --tlskey via
- --tlsverify via
public static IReadOnlyCollection DockerCheckpoint(DockerCheckpointSettings options = null) => new DockerTasks().Run(options);
- ///
+ ///
public static IReadOnlyCollection DockerCheckpoint(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerCheckpointSettings()));
- ///
+ ///
public static IEnumerable<(DockerCheckpointSettings Settings, IReadOnlyCollection Output)> DockerCheckpoint(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerCheckpoint, degreeOfParallelism, completeOnFailure);
/// Manage entities who can sign Docker images.
For more details, visit the official website.
/// This is a CLI wrapper with fluent API that allows to modify the following arguments:
- --config via
- --debug via
- --log-level via
- --tls via
- --tlscacert via
- --tlscert via
- --tlskey via
- --tlsverify via
public static IReadOnlyCollection DockerTrustSigner(DockerTrustSignerSettings options = null) => new DockerTasks().Run(options);
- ///
+ ///
public static IReadOnlyCollection DockerTrustSigner(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerTrustSignerSettings()));
- ///
+ ///
public static IEnumerable<(DockerTrustSignerSettings Settings, IReadOnlyCollection Output)> DockerTrustSigner(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerTrustSigner, degreeOfParallelism, completeOnFailure);
/// Display detailed information on one or more configs.
For more details, visit the official website.
/// This is a CLI wrapper with fluent API that allows to modify the following arguments:
- <configs> via
- --config via
- --debug via
- --format via
- --log-level via
- --pretty via
- --tls via
- --tlscacert via
- --tlscert via
- --tlskey via
- --tlsverify via
public static IReadOnlyCollection DockerConfigInspect(DockerConfigInspectSettings options = null) => new DockerTasks().Run(options);
- ///
+ ///
public static IReadOnlyCollection DockerConfigInspect(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerConfigInspectSettings()));
- ///
+ ///
public static IEnumerable<(DockerConfigInspectSettings Settings, IReadOnlyCollection Output)> DockerConfigInspect(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerConfigInspect, degreeOfParallelism, completeOnFailure);
/// Manage services.
For more details, visit the official website.
/// This is a CLI wrapper with fluent API that allows to modify the following arguments:
- --config via
- --debug via
- --log-level via
- --tls via
- --tlscacert via
- --tlscert via
- --tlskey via
- --tlsverify via
public static IReadOnlyCollection DockerService(DockerServiceSettings options = null) => new DockerTasks().Run(options);
- ///
+ ///
public static IReadOnlyCollection DockerService(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerServiceSettings()));
- ///
+ ///
public static IEnumerable<(DockerServiceSettings Settings, IReadOnlyCollection Output)> DockerService(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerService, degreeOfParallelism, completeOnFailure);
/// Generate and load a signing key-pair.
For more details, visit the official website.
/// This is a CLI wrapper with fluent API that allows to modify the following arguments:
- <name> via
- --config via
- --debug via
- --log-level via
- --tls via
- --tlscacert via
- --tlscert via
- --tlskey via
- --tlsverify via
public static IReadOnlyCollection DockerTrustKeyGenerate(DockerTrustKeyGenerateSettings options = null) => new DockerTasks().Run(options);
- ///
+ ///
public static IReadOnlyCollection DockerTrustKeyGenerate(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerTrustKeyGenerateSettings()));
- ///
+ ///
public static IEnumerable<(DockerTrustKeyGenerateSettings Settings, IReadOnlyCollection Output)> DockerTrustKeyGenerate(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerTrustKeyGenerate, degreeOfParallelism, completeOnFailure);
/// Manage Docker.
For more details, visit the official website.
/// This is a CLI wrapper with fluent API that allows to modify the following arguments:
- --config via
- --debug via
- --log-level via
- --tls via
- --tlscacert via
- --tlscert via
- --tlskey via
- --tlsverify via
public static IReadOnlyCollection DockerSystem(DockerSystemSettings options = null) => new DockerTasks().Run(options);
- ///
+ ///
public static IReadOnlyCollection DockerSystem(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerSystemSettings()));
- ///
+ ///
public static IEnumerable<(DockerSystemSettings Settings, IReadOnlyCollection Output)> DockerSystem(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerSystem, degreeOfParallelism, completeOnFailure);
/// List configs.
For more details, visit the official website.
/// This is a CLI wrapper with fluent API that allows to modify the following arguments:
- --config via
- --debug via
- --filter via
- --format via
- --log-level via
- --quiet via
- --tls via
- --tlscacert via
- --tlscert via
- --tlskey via
- --tlsverify via
public static IReadOnlyCollection DockerConfigLs(DockerConfigLsSettings options = null) => new DockerTasks().Run(options);
- ///
+ ///
public static IReadOnlyCollection DockerConfigLs(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerConfigLsSettings()));
- ///
+ ///
public static IEnumerable<(DockerConfigLsSettings Settings, IReadOnlyCollection Output)> DockerConfigLs(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerConfigLs, degreeOfParallelism, completeOnFailure);
/// Update a context.
For more details, visit the official website.
/// This is a CLI wrapper with fluent API that allows to modify the following arguments:
- <context> via
- --config via
- --debug via
- --default-stack-orchestrator via
- --description via
- --docker via
- --kubernetes via
- --log-level via
- --tls via
- --tlscacert via
- --tlscert via
- --tlskey via
- --tlsverify via
public static IReadOnlyCollection DockerContextUpdate(DockerContextUpdateSettings options = null) => new DockerTasks().Run(options);
- ///
+ ///
public static IReadOnlyCollection DockerContextUpdate(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerContextUpdateSettings()));
- ///
+ ///
public static IEnumerable<(DockerContextUpdateSettings Settings, IReadOnlyCollection Output)> DockerContextUpdate(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerContextUpdate, degreeOfParallelism, completeOnFailure);
/// List the services in the stack.
For more details, visit the official website.
/// This is a CLI wrapper with fluent API that allows to modify the following arguments:
- <stack> via
- --config via
- --debug via
- --filter via
- --format via
- --kubeconfig via
- --log-level via
- --namespace via
- --orchestrator via
- --quiet via
- --tls via
- --tlscacert via
- --tlscert via
- --tlskey via
- --tlsverify via
public static IReadOnlyCollection DockerStackServices(DockerStackServicesSettings options = null) => new DockerTasks().Run(options);
- ///
+ ///
public static IReadOnlyCollection DockerStackServices(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerStackServicesSettings()));
- ///
+ ///
public static IEnumerable<(DockerStackServicesSettings Settings, IReadOnlyCollection Output)> DockerStackServices(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerStackServices, degreeOfParallelism, completeOnFailure);
/// List port mappings or a specific mapping for the container.
For more details, visit the official website.
/// This is a CLI wrapper with fluent API that allows to modify the following arguments:
- <container> via
- <privatePort> via
- --config via
- --debug via
- --log-level via
- --tls via
- --tlscacert via
- --tlscert via
- --tlskey via
- --tlsverify via
public static IReadOnlyCollection DockerContainerPort(DockerContainerPortSettings options = null) => new DockerTasks().Run(options);
- ///
+ ///
public static IReadOnlyCollection DockerContainerPort(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerContainerPortSettings()));
- ///
+ ///
public static IEnumerable<(DockerContainerPortSettings Settings, IReadOnlyCollection Output)> DockerContainerPort(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerContainerPort, degreeOfParallelism, completeOnFailure);
/// Rename a container.
For more details, visit the official website.
/// This is a CLI wrapper with fluent API that allows to modify the following arguments:
- <container> via
- <newName> via
- --config via
- --debug via
- --log-level via
- --tls via
- --tlscacert via
- --tlscert via
- --tlskey via
- --tlsverify via
public static IReadOnlyCollection DockerRename(DockerRenameSettings options = null) => new DockerTasks().Run(options);
- ///
+ ///
public static IReadOnlyCollection DockerRename(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerRenameSettings()));
- ///
+ ///
public static IEnumerable<(DockerRenameSettings Settings, IReadOnlyCollection Output)> DockerRename(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerRename, degreeOfParallelism, completeOnFailure);
/// Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE.
For more details, visit the official website.
/// This is a CLI wrapper with fluent API that allows to modify the following arguments:
- <sourceImage> via
- <targetImage> via
- --config via
- --debug via
- --log-level via
- --tls via
- --tlscacert via
- --tlscert via
- --tlskey via
- --tlsverify via
public static IReadOnlyCollection DockerTag(DockerTagSettings options = null) => new DockerTasks().Run(options);
- ///
+ ///
public static IReadOnlyCollection DockerTag(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerTagSettings()));
- ///
+ ///
public static IEnumerable<(DockerTagSettings Settings, IReadOnlyCollection Output)> DockerTag(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerTag, degreeOfParallelism, completeOnFailure);
/// Display detailed information on one or more secrets.
For more details, visit the official website.
/// This is a CLI wrapper with fluent API that allows to modify the following arguments:
- <secrets> via
- --config via
- --debug via
- --format via
- --log-level via
- --pretty via
- --tls via
- --tlscacert via
- --tlscert via
- --tlskey via
- --tlsverify via
public static IReadOnlyCollection DockerSecretInspect(DockerSecretInspectSettings options = null) => new DockerTasks().Run(options);
- ///
+ ///
public static IReadOnlyCollection DockerSecretInspect(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerSecretInspectSettings()));
- ///
+ ///
public static IEnumerable<(DockerSecretInspectSettings Settings, IReadOnlyCollection Output)> DockerSecretInspect(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerSecretInspect, degreeOfParallelism, completeOnFailure);
/// Manage Docker secrets.
For more details, visit the official website.
/// This is a CLI wrapper with fluent API that allows to modify the following arguments:
- --config via
- --debug via
- --log-level via
- --tls via
- --tlscacert via
- --tlscert via
- --tlskey via
- --tlsverify via
public static IReadOnlyCollection DockerSecret(DockerSecretSettings options = null) => new DockerTasks().Run(options);
- ///
+ ///
public static IReadOnlyCollection DockerSecret(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerSecretSettings()));
- ///
+ ///
public static IEnumerable<(DockerSecretSettings Settings, IReadOnlyCollection Output)> DockerSecret(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerSecret, degreeOfParallelism, completeOnFailure);
/// Export a container's filesystem as a tar archive.
For more details, visit the official website.
/// This is a CLI wrapper with fluent API that allows to modify the following arguments:
- <container> via
- --config via
- --debug via
- --log-level via
- --output via
- --tls via
- --tlscacert via
- --tlscert via
- --tlskey via
- --tlsverify via
public static IReadOnlyCollection DockerContainerExport(DockerContainerExportSettings options = null) => new DockerTasks().Run(options);
- ///
+ ///
public static IReadOnlyCollection DockerContainerExport(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerContainerExportSettings()));
- ///
+ ///
public static IEnumerable<(DockerContainerExportSettings Settings, IReadOnlyCollection Output)> DockerContainerExport(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerContainerExport, degreeOfParallelism, completeOnFailure);
///