From 3e2d232307eda71ae22f2d10b8364693cc25f368 Mon Sep 17 00:00:00 2001 From: Chrison Simtian Date: Sun, 31 May 2026 19:54:54 +1200 Subject: [PATCH 01/46] docs: ADR-0006 + spike 0002 for onion layering & namespace realignment Records the decision to realign the wild NUKE-inherited structure to explicit onion layers (Fallout.Domain / .Application / .Infrastructure / .Cli root), namespace = project = layer, dissolving the Fallout.Common catch-all. Breaking, on experimental, batched to 2027.0.0 with re-pointed Nuke.* shims; amends the rebrand-plan's deferral of this work. Spike 0002 proves the mechanics on the innermost (Domain) ring first. Co-Authored-By: Claude Opus 4.8 --- ...nion-layering-and-namespace-realignment.md | 76 +++++++++++++++++++ docs/adr/README.md | 1 + docs/spikes/0002-onion-domain-ring.md | 52 +++++++++++++ 3 files changed, 129 insertions(+) create mode 100644 docs/adr/0006-onion-layering-and-namespace-realignment.md create mode 100644 docs/spikes/0002-onion-domain-ring.md diff --git a/docs/adr/0006-onion-layering-and-namespace-realignment.md b/docs/adr/0006-onion-layering-and-namespace-realignment.md new file mode 100644 index 000000000..979bf0c1f --- /dev/null +++ b/docs/adr/0006-onion-layering-and-namespace-realignment.md @@ -0,0 +1,76 @@ +# ADR-0006 — Onion layering + namespace realignment + +- **Status:** Proposed +- **Date:** 2026-05-31 +- **Deciders:** Fallout maintainers +- **Relates to:** ADR-[0004](0004-calendar-versioning-and-dual-pace-channels.md) (calendar versioning + channels — sets the breaking-change home), ADR-[0005](0005-ci-host-integration-ports-and-adapters.md) (the runtime-host ports the Application layer exposes), [docs/rebrand-plan.md](../rebrand-plan.md) (**amends** its deferral — see below) +- **Spike:** [docs/spikes/0002-onion-domain-ring.md](../spikes/0002-onion-domain-ring.md) + +## Context + +The project + namespace structure is inherited verbatim from NUKE: the rebrand ([#32](https://github.com/ChrisonSimtian/Fallout/issues/32)) did a **strict 1:1 prefix swap** (`Nuke.X` → `Fallout.X`) that deliberately preserved the existing shape. Two pathologies result: + +1. **Namespace ≠ project.** Most projects declare types under `Fallout.Common.*` rather than their own name. The core user-facing API (`FalloutBuild`, `Target`, `[Parameter]`, and the ADR-0005 ports) lives in namespace `Fallout.Common` inside project `Fallout.Build`. `Fallout.Core` declares both `Fallout.Core.Planning` and `Fallout.Common.Execution`. Every `Fallout.Utilities.*` sub-project (except `.Text.Yaml`) declares `Fallout.Common.*`. `Fallout.Tooling` → `Fallout.Common.Tooling`. `Fallout.Solution` (singular) → `Fallout.Solutions` (plural). `Fallout.Tooling.Generator` → `Fallout.CodeGeneration`. + +2. **`Fallout.Common.*` is a horizontal catch-all** contributed by **five** projects (`Build`, `Common`, `Core`, `Utilities`, `SourceGenerators`). It masks a layering that already exists *physically* — the `ProjectReference` graph is clean and acyclic (`Core`/`Utilities` at the bottom → `Build` → `Common` → `Cli` at the root) — but the namespaces lie about it. + +### Why now, and why this amends the rebrand plan + +`docs/rebrand-plan.md` explicitly **defers** "realigning project ↔ namespace" to "a future major version after the shim packages have sunset," citing the type-forwarding bridge as the blocker. This ADR **amends that deferral** on two grounds: + +- **The bridge is re-pointable.** It is not raw `[TypeForwardedTo]`; it is the `TransitionShimGenerator` (`ShimAllPublicTypesUnder(from, to)`), a *prefix-remappable* subclass generator. We can restructure the `Fallout.*` namespaces freely and re-point the shim mappings; the `Nuke.*` surface stays frozen and consumers on it are unaffected. +- **ADR-0004 gives a clean home.** Namespace realignment is breaking → it lands on `experimental` and is **batched to the `2027.0.0` yearly major**. The work happens in 2026; native `Fallout.*` consumers are carried by re-pointed shims + the `Fallout.Migrate` codefix. Old `Fallout.*` namespaces are deleted at the cut, not dragged. + +(The rebrand-plan is a transient maintainer-owned doc; this is a deliberate, recorded reversal of one of its deferrals, not a silent contradiction.) + +## Decision + +**Realign the runtime codebase to explicit onion layers, with `namespace = project = layer`.** + +| Layer | Holds | Today (selected) → target | +|---|---|---| +| **`Fallout.Domain.*`** (innermost; zero Fallout deps) | Target graph, planning algorithms, execution status, the read-only build model | `Fallout.Core` (`Fallout.Core.Planning` + `Fallout.Common.Execution`'s `ITargetModel`/`ExecutionStatus`) → `Fallout.Domain` | +| **`Fallout.Application.*`** (orchestration + ports; depends only on Domain) | `FalloutBuild`, `Target`, `[Parameter]` & attributes, execution engine (`BuildManager`/`Executor`/`Planner`), middleware pipeline, value injection, `Host` base, the ports (`IBuildHost`, `IBuildReporter`, `IConfigurationGenerator`, `IBuildServer`) | `Fallout.Build` + the `Fallout.Common`/`Fallout.Common.Execution`/`Fallout.Common.CI` types it declares → `Fallout.Application` | +| **`Fallout.Infrastructure.*`** (adapters; depends on Application/Domain) | CI host adapters, tool-execution framework + tool wrappers, IO/Net/compression/globbing/text, project/solution model, process execution | `Fallout.Common.CI.*` → `.Infrastructure.CI.*`; `Fallout.Common.Tools.*` + `Fallout.Tooling` → `.Infrastructure.Tools.*`; `Fallout.Utilities.*` → `.Infrastructure.IO`/`.Net`/`.Text.*`; `Fallout.ProjectModel`/`Fallout.Solution(s)` → `.Infrastructure.ProjectModel`/`.Solutions` | +| **`Fallout.Cli`** (composition root) | Entry points, host integration | `Fallout.Cli`, `Fallout.MSBuildTasks`, `Fallout.Migrate` — unchanged | + +**Outside the runtime onion** (build-time tooling, kept as-is): `Fallout.SourceGenerators`, `Fallout.Tooling.Generator` (the `Fallout.CodeGeneration` codegen), `Fallout.Migrate.Analyzers`. The vendored `Fallout.Persistence.Solution` keeps its namespace (Microsoft code). + +**Rules:** +1. **`namespace == project == layer`.** No project declares a namespace rooted outside its layer. `Fallout.Common` is **dissolved**. +2. **Onion dependency rule, fitness-enforced.** Domain references no other Fallout assembly; Application references only Domain; Infrastructure references Application/Domain; only the Cli composition root references Infrastructure. One architecture-test per ring, added as each ring lands (extends the ADR-0005 boundary-test pattern). +3. **Breaking → `experimental` → `2027.0.0`** (ADR-0004). Re-point the `TransitionShimGenerator` mappings so the `Nuke.*` surface is unchanged; update the `Fallout.Migrate` codefix to rewrite old `Fallout.*` → new `Fallout.*` for native consumers. Per ADR-0004 a breaking PR targets `experimental` only and carries `target/2027` + `breaking-change` + a `CHANGELOG.md` migration entry. +4. **Ring-by-ring migration**, inner to outer — each ring is its own PR on `experimental`. The spike (0002) proves the mechanics on the Domain ring before the larger rings. + +## Judgment calls (flagged for review — defaults chosen, easily changed) + +- **Public API under `.Infrastructure`.** Tool wrappers and CI attributes are consumer-facing yet land under `Fallout.Infrastructure.*` (the hexagonal reading: adapters are infrastructure even when public). Consequence: consumer `using` directives grow (`using Fallout.Infrastructure.Tools.DotNet;`). **Mitigation:** ship a curated set of global usings in the `dotnet fallout` project template so day-to-day build authoring isn't verbose. *Accepted by maintainer; recorded so the ergonomics cost is visible.* +- **`Fallout.Components`** (the `ICompile`/`IPack`/… mixins) sits on top of Application and is user-facing. Default: keep as `Fallout.Components` (an application-adjacent convenience layer that depends on Application). Alternative: fold into `Fallout.Application.Components`. +- **Utilities as Infrastructure vs shared kernel.** IO/Net/compression are genuinely infrastructure. Pure-algorithmic helpers (collections, reflection, string) are more a shared kernel; default is to keep a minimal shared-kernel that Domain may depend on, rather than forcing it through Infrastructure (which would violate the inner ring). To be pinned during the Application/Infrastructure rings. + +## Consequences + +### Positive +- The namespace finally tells the truth about the layer, and the onion dependency rule is enforced by construction (fitness tests), not convention. +- `Fallout.Common` — the catch-all — is gone; no more "five projects, one namespace." +- Sets the stage cleanly for the public plugin SDK (milestone #7): adapters live in a named Infrastructure layer behind the Application-owned ports. + +### Negative +- **Large, breaking, multi-PR.** Touches nearly every file's `namespace`/`using`. Mitigated by ring-by-ring sequencing, re-pointed shims, the migrate codefix, and batching to one yearly major. +- **Consumer churn** for native `Fallout.*` users (the `Nuke.*` shim users are insulated). The codefix + a CHANGELOG migration guide carry it. +- **`Fallout.Migrate`** must learn the intra-Fallout rename map in addition to the Nuke→Fallout one. + +## Alternatives considered + +- **Concern-aligned names** (`Fallout.Core`/`Build`/`Tooling`/`Tools`/`CI`/`IO`), namespace=project but not layer-labelled. Lower consumer surprise (keeps short names), fits the repo's by-concern convention. **Not chosen** — maintainer wants explicit onion layer names so the architecture is legible from the namespace alone. +- **Keep `Fallout.Common` as a thin facade** re-exporting the layered types. Less churn. **Not chosen** — keeps a name we want gone ("don't drag dead weight"). +- **Minimal — fix only the internal mismatches.** Smallest break. **Not chosen** — leaves the catch-all and doesn't achieve the onion goal. +- **Defer to "after shim sunset" (status quo per rebrand-plan).** **Not chosen** — see "Why now"; the work is wanted this year. + +## References + +- Current-state map: see the structural survey summarized in the spike. +- Shim machinery: `src/Fallout.SourceGenerators/TransitionShimGenerator.cs`, `src/Shims/Nuke.*` +- Migrate codefix: `src/Fallout.Migrate`, `src/Fallout.Migrate.Analyzers` +- Deferral being amended: `docs/rebrand-plan.md` §"What's deliberately deferred" +- Spike: [docs/spikes/0002-onion-domain-ring.md](../spikes/0002-onion-domain-ring.md) diff --git a/docs/adr/README.md b/docs/adr/README.md index c38f1e8d8..42a79817d 100644 --- a/docs/adr/README.md +++ b/docs/adr/README.md @@ -38,3 +38,4 @@ If you change a decision, do NOT silently rewrite the old ADR — add a new one | [0002](0002-v11-off-nuget-by-default.md) | v11 publishes to GitHub Packages by default; nuget.org opt-in | Accepted | | [0003](0003-variables-and-substitution.md) | Variables and `${…}` substitution layer | Proposed | | [0004](0004-calendar-versioning-and-dual-pace-channels.md) | Calendar versioning + dual-pace channels (edge/stable) + experimental APIs | Accepted | +| [0006](0006-onion-layering-and-namespace-realignment.md) | Onion layering + namespace realignment | Proposed | diff --git a/docs/spikes/0002-onion-domain-ring.md b/docs/spikes/0002-onion-domain-ring.md new file mode 100644 index 000000000..09e3acfa9 --- /dev/null +++ b/docs/spikes/0002-onion-domain-ring.md @@ -0,0 +1,52 @@ +# Spike 0002 — Onion realignment: prove the Domain ring + +- **Status:** Planned +- **Date:** 2026-05-31 +- **Decision record:** [ADR-0006](../adr/0006-onion-layering-and-namespace-realignment.md) +- **Channel:** `experimental` (spike branch `spike/onion-structure`) +- **Time-box:** one focused session + +> The full realignment (ADR-0006) is a large, breaking, ring-by-ring program. This spike does **only the innermost ring** — extract `Fallout.Domain` — to prove the three mechanics every later ring depends on, before committing to the larger ones. Throwaway-by-default. + +## Hypothesis + +> The pure-domain types can be lifted into a `Fallout.Domain` layer (`namespace = project = layer`) such that: (1) the Domain assembly references **no other Fallout assembly**, enforced by a fitness test; (2) the `TransitionShimGenerator` can be **re-pointed** so the `Nuke.*` surface is byte-for-byte unchanged; (3) the solution still builds and all tests pass — confirming the rename + shim-repoint + fitness loop that the Application and Infrastructure rings will reuse at larger scale. + +## Scope + +### In scope +1. **Create `Fallout.Domain`** (project + namespace). Move into it the pure-domain types: `Fallout.Core.Planning.*` (graph/topo-sort/cycle detection) and the domain types currently under `Fallout.Common.Execution` in the `Fallout.Core` project (`ITargetModel`, `ExecutionStatus`). Result: `Fallout.Core` is renamed/absorbed; no domain type remains under `Fallout.Common.*`. +2. **Re-point the shim.** Update the `ShimAllPublicTypesUnder` mappings so the moved types still surface at their original `Nuke.*` names (e.g. `Fallout.Domain.ITargetModel` → `Nuke.Common.Execution.ITargetModel`). Confirm the generated `Nuke.*` surface is unchanged. +3. **Fitness test.** Assert `Fallout.Domain` references no other `Fallout.*` assembly (the innermost-ring invariant). Demonstrate it fails on an injected violation, then revert. +4. **Update internal references.** `Fallout.Application`-to-be (currently `Fallout.Build`) and others that consumed the moved types via `Fallout.Common.Execution` now reference `Fallout.Domain`. + +### Out of scope +- ❌ The Application and Infrastructure rings (later PRs). +- ❌ Renaming `Fallout.Build` → `Fallout.Application`, dissolving `Fallout.Common`, moving tools/CI/utilities — none of it yet. +- ❌ Updating the `Fallout.Migrate` codefix for native consumers (batched work; the spike only proves the shim path). +- ❌ Consumer-template global usings (an Application/Infrastructure-ring concern). + +## Ordered steps + +1. Branch is `spike/onion-structure` off `experimental`. (Done.) +2. Read the current `Fallout.Core` contents and every reference to its types across the solution (esp. `Fallout.Common.Execution` consumers in `Fallout.Build`). +3. Create `Fallout.Domain` project; move the pure-domain files; set `namespace = Fallout.Domain[.Planning]`. +4. Fix references (project refs + `using`s) across the solution. +5. Re-point the `TransitionShimGenerator` mapping(s); rebuild the `Nuke.*` shim and confirm its public surface is unchanged (diff the generated types, or assert key `Nuke.Common.Execution.*` types still resolve). +6. Add the Domain-ring fitness test; confirm green, then confirm it goes red on a deliberate `Fallout.*` reference, then revert. +7. Validate: `./build.sh Compile` + `./build.sh Test` (or the per-project equivalents) green; dogfood workflows unchanged. + +## Success criteria +- ✅ `Fallout.Domain` exists; no domain type remains under `Fallout.Common.*`. +- ✅ Fitness test passes and demonstrably fails on a violation. +- ✅ `Nuke.*` shim surface unchanged (consumers on the bridge unaffected). +- ✅ Solution builds; tests green. +- ✅ A written verdict: did the rename + shim-repoint + fitness loop hold? What surprised us? Is it safe to scale to the Application ring (the big one — the user-facing API rename)? + +## Risks / watch +- **Shim re-point is the real unknown.** If `ShimAllPublicTypesUnder` can't express the many-old-layers → one-`Nuke.Common` mapping cleanly, that's the key finding — it gates every later ring. Record precisely what the generator supports. +- **`Fallout.Core` already mixes `Fallout.Core.Planning` and `Fallout.Common.Execution`** — make sure only genuinely-pure types move; anything touching execution *orchestration* (not the model) belongs in the Application ring, not Domain. +- **Hidden inward references.** A "domain" type that secretly reaches into utilities/IO would break the zero-deps invariant — the fitness test will catch it; treat any such case as a finding about what's really domain. + +## Exit +Set **Status: Done**, append the verdict, and feed it back into ADR-0006 (confirm/adjust the layer mapping, then promote `Proposed` → `Accepted`) before starting the Application ring. From 607bbf0c171d7900b2be838334c7689b88167e3b Mon Sep 17 00:00:00 2001 From: Chrison Simtian Date: Sun, 31 May 2026 20:31:45 +1200 Subject: [PATCH 02/46] =?UTF-8?q?docs:=20refine=20ADR-0006/spike-0002=20?= =?UTF-8?q?=E2=80=94=20Components=20reasoning=20+=20defer=20shim=20strateg?= =?UTF-8?q?y?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Sharpen why Fallout.Components stays an outer recipes layer: it depends on the tool wrappers (ICompile calls DotNetBuild), so Components -> Infrastructure; folding it into Application would invert the onion. Folding is possible only by first porting tool execution behind an Application-owned port (a separate step). - Defer the migration/shim strategy wholesale: don't re-point the shim ring-by-ring toward a moving target. Redesign it as its own phase/ADR once the shape settles; Nuke.* parity may lapse on experimental during the work. Spike 0002 simplified to move + reference-fixup + fitness (no shim re-point). Co-Authored-By: Claude Opus 4.8 --- ...nion-layering-and-namespace-realignment.md | 16 +++++++---- docs/spikes/0002-onion-domain-ring.md | 27 +++++++++---------- 2 files changed, 23 insertions(+), 20 deletions(-) diff --git a/docs/adr/0006-onion-layering-and-namespace-realignment.md b/docs/adr/0006-onion-layering-and-namespace-realignment.md index 979bf0c1f..2bcfe014c 100644 --- a/docs/adr/0006-onion-layering-and-namespace-realignment.md +++ b/docs/adr/0006-onion-layering-and-namespace-realignment.md @@ -18,7 +18,7 @@ The project + namespace structure is inherited verbatim from NUKE: the rebrand ( `docs/rebrand-plan.md` explicitly **defers** "realigning project ↔ namespace" to "a future major version after the shim packages have sunset," citing the type-forwarding bridge as the blocker. This ADR **amends that deferral** on two grounds: -- **The bridge is re-pointable.** It is not raw `[TypeForwardedTo]`; it is the `TransitionShimGenerator` (`ShimAllPublicTypesUnder(from, to)`), a *prefix-remappable* subclass generator. We can restructure the `Fallout.*` namespaces freely and re-point the shim mappings; the `Nuke.*` surface stays frozen and consumers on it are unaffected. +- **The bridge is not a blocker.** The rebrand-plan deferred this work *because* it assumed a rigid `[TypeForwardedTo]` bridge. The actual machinery is the `TransitionShimGenerator` (`ShimAllPublicTypesUnder(from, to)`), a *prefix-remappable* subclass generator — so restructuring `Fallout.*` doesn't orphan the `Nuke.*` surface in principle. We nonetheless **defer the migration strategy wholesale** (see Decision §"Migration & shim strategy") rather than re-point ring-by-ring; the point here is only that the stated blocker doesn't bind. - **ADR-0004 gives a clean home.** Namespace realignment is breaking → it lands on `experimental` and is **batched to the `2027.0.0` yearly major**. The work happens in 2026; native `Fallout.*` consumers are carried by re-pointed shims + the `Fallout.Migrate` codefix. Old `Fallout.*` namespaces are deleted at the cut, not dragged. (The rebrand-plan is a transient maintainer-owned doc; this is a deliberate, recorded reversal of one of its deferrals, not a silent contradiction.) @@ -39,13 +39,20 @@ The project + namespace structure is inherited verbatim from NUKE: the rebrand ( **Rules:** 1. **`namespace == project == layer`.** No project declares a namespace rooted outside its layer. `Fallout.Common` is **dissolved**. 2. **Onion dependency rule, fitness-enforced.** Domain references no other Fallout assembly; Application references only Domain; Infrastructure references Application/Domain; only the Cli composition root references Infrastructure. One architecture-test per ring, added as each ring lands (extends the ADR-0005 boundary-test pattern). -3. **Breaking → `experimental` → `2027.0.0`** (ADR-0004). Re-point the `TransitionShimGenerator` mappings so the `Nuke.*` surface is unchanged; update the `Fallout.Migrate` codefix to rewrite old `Fallout.*` → new `Fallout.*` for native consumers. Per ADR-0004 a breaking PR targets `experimental` only and carries `target/2027` + `breaking-change` + a `CHANGELOG.md` migration entry. +3. **Breaking → `experimental` → `2027.0.0`** (ADR-0004). A breaking PR targets `experimental` only and carries `target/2027` + `breaking-change` + a `CHANGELOG.md` migration entry. 4. **Ring-by-ring migration**, inner to outer — each ring is its own PR on `experimental`. The spike (0002) proves the mechanics on the Domain ring before the larger rings. +5. **Migration/shim strategy is deferred wholesale** — see below. + +### Migration & shim strategy: deferred by design + +The `Nuke.*` transition shims (and any native-`Fallout.*` migration aid) are **explicitly out of scope for the rearchitecture rings.** Rationale: there's no point re-pointing the existing `TransitionShimGenerator` ring-by-ring toward a target that's still moving. Instead — once the final layered shape has settled — we design a **fresh migration/shim strategy that fits whatever we ended up with**, as its own phase and its own ADR. The existing bridge is re-pointable (it's a prefix-remappable subclass generator, not raw `[TypeForwardedTo]`), so this deferral costs us no future optionality; it's a sequencing choice, not a capability loss. + +Consequence during the work: on `experimental`, `Nuke.*` shim parity is **not maintained** while the rings land. That's acceptable — `experimental` is the unstable lane, and `2027.0.0` is the only deadline that matters; the new migration story is built before the cut. `Fallout.Migrate` likewise gets revisited then, not incrementally. ## Judgment calls (flagged for review — defaults chosen, easily changed) - **Public API under `.Infrastructure`.** Tool wrappers and CI attributes are consumer-facing yet land under `Fallout.Infrastructure.*` (the hexagonal reading: adapters are infrastructure even when public). Consequence: consumer `using` directives grow (`using Fallout.Infrastructure.Tools.DotNet;`). **Mitigation:** ship a curated set of global usings in the `dotnet fallout` project template so day-to-day build authoring isn't verbose. *Accepted by maintainer; recorded so the ergonomics cost is visible.* -- **`Fallout.Components`** (the `ICompile`/`IPack`/… mixins) sits on top of Application and is user-facing. Default: keep as `Fallout.Components` (an application-adjacent convenience layer that depends on Application). Alternative: fold into `Fallout.Application.Components`. +- **`Fallout.Components`** (the `ICompile`/`IPack`/… mixins) is a **recipes layer that sits *outside* Infrastructure**, not inside Application. The mixins call tool wrappers directly (`ICompile.Compile` → `DotNetBuild(...)` from `Fallout.Common.Tools.DotNet`), so `Components → Infrastructure`. It therefore **cannot** be folded into `Application` without inverting the onion (the inner ring would transitively depend on Infrastructure — the exact thing the fitness tests forbid). Default: keep as `Fallout.Components`, an outer recipes layer depending on Application + Infrastructure, near the composition root. *Folding it into `Application` is possible only by first porting tool execution behind an Application-owned tool port (the ADR-0005 move applied to tooling) — a separate, larger future step, not bundled here.* - **Utilities as Infrastructure vs shared kernel.** IO/Net/compression are genuinely infrastructure. Pure-algorithmic helpers (collections, reflection, string) are more a shared kernel; default is to keep a minimal shared-kernel that Domain may depend on, rather than forcing it through Infrastructure (which would violate the inner ring). To be pinned during the Application/Infrastructure rings. ## Consequences @@ -57,8 +64,7 @@ The project + namespace structure is inherited verbatim from NUKE: the rebrand ( ### Negative - **Large, breaking, multi-PR.** Touches nearly every file's `namespace`/`using`. Mitigated by ring-by-ring sequencing, re-pointed shims, the migrate codefix, and batching to one yearly major. -- **Consumer churn** for native `Fallout.*` users (the `Nuke.*` shim users are insulated). The codefix + a CHANGELOG migration guide carry it. -- **`Fallout.Migrate`** must learn the intra-Fallout rename map in addition to the Nuke→Fallout one. +- **Consumer churn** for native `Fallout.*` users, and a window on `experimental` where `Nuke.*` shim parity lapses. Both are carried by the deferred migration phase (a fresh strategy + CHANGELOG migration guide), built before the `2027.0.0` cut — not during the rings. ## Alternatives considered diff --git a/docs/spikes/0002-onion-domain-ring.md b/docs/spikes/0002-onion-domain-ring.md index 09e3acfa9..1d483278a 100644 --- a/docs/spikes/0002-onion-domain-ring.md +++ b/docs/spikes/0002-onion-domain-ring.md @@ -10,20 +10,19 @@ ## Hypothesis -> The pure-domain types can be lifted into a `Fallout.Domain` layer (`namespace = project = layer`) such that: (1) the Domain assembly references **no other Fallout assembly**, enforced by a fitness test; (2) the `TransitionShimGenerator` can be **re-pointed** so the `Nuke.*` surface is byte-for-byte unchanged; (3) the solution still builds and all tests pass — confirming the rename + shim-repoint + fitness loop that the Application and Infrastructure rings will reuse at larger scale. +> The pure-domain types can be lifted into a `Fallout.Domain` layer (`namespace = project = layer`) such that: (1) the Domain assembly references **no other Fallout assembly**, enforced by a fitness test; (2) the solution still builds and all tests pass — confirming the move + reference-fixup + fitness loop that the Application and Infrastructure rings will reuse at larger scale. ## Scope ### In scope 1. **Create `Fallout.Domain`** (project + namespace). Move into it the pure-domain types: `Fallout.Core.Planning.*` (graph/topo-sort/cycle detection) and the domain types currently under `Fallout.Common.Execution` in the `Fallout.Core` project (`ITargetModel`, `ExecutionStatus`). Result: `Fallout.Core` is renamed/absorbed; no domain type remains under `Fallout.Common.*`. -2. **Re-point the shim.** Update the `ShimAllPublicTypesUnder` mappings so the moved types still surface at their original `Nuke.*` names (e.g. `Fallout.Domain.ITargetModel` → `Nuke.Common.Execution.ITargetModel`). Confirm the generated `Nuke.*` surface is unchanged. -3. **Fitness test.** Assert `Fallout.Domain` references no other `Fallout.*` assembly (the innermost-ring invariant). Demonstrate it fails on an injected violation, then revert. -4. **Update internal references.** `Fallout.Application`-to-be (currently `Fallout.Build`) and others that consumed the moved types via `Fallout.Common.Execution` now reference `Fallout.Domain`. +2. **Fitness test.** Assert `Fallout.Domain` references no other `Fallout.*` assembly (the innermost-ring invariant). Demonstrate it fails on an injected violation, then revert. +3. **Update internal references.** `Fallout.Application`-to-be (currently `Fallout.Build`) and others that consumed the moved types via `Fallout.Common.Execution` now reference `Fallout.Domain`. ### Out of scope - ❌ The Application and Infrastructure rings (later PRs). - ❌ Renaming `Fallout.Build` → `Fallout.Application`, dissolving `Fallout.Common`, moving tools/CI/utilities — none of it yet. -- ❌ Updating the `Fallout.Migrate` codefix for native consumers (batched work; the spike only proves the shim path). +- ❌ **Shim / migration parity — deferred wholesale** (ADR-0006). We do *not* re-point the `TransitionShimGenerator` here; the `Nuke.*` surface is allowed to lapse on `experimental`. The migration strategy is redesigned as its own phase once the target shape settles. - ❌ Consumer-template global usings (an Application/Infrastructure-ring concern). ## Ordered steps @@ -31,22 +30,20 @@ 1. Branch is `spike/onion-structure` off `experimental`. (Done.) 2. Read the current `Fallout.Core` contents and every reference to its types across the solution (esp. `Fallout.Common.Execution` consumers in `Fallout.Build`). 3. Create `Fallout.Domain` project; move the pure-domain files; set `namespace = Fallout.Domain[.Planning]`. -4. Fix references (project refs + `using`s) across the solution. -5. Re-point the `TransitionShimGenerator` mapping(s); rebuild the `Nuke.*` shim and confirm its public surface is unchanged (diff the generated types, or assert key `Nuke.Common.Execution.*` types still resolve). -6. Add the Domain-ring fitness test; confirm green, then confirm it goes red on a deliberate `Fallout.*` reference, then revert. -7. Validate: `./build.sh Compile` + `./build.sh Test` (or the per-project equivalents) green; dogfood workflows unchanged. +4. Fix references (project refs + `using`s) across the solution. The `Nuke.*` shim build may break here — that's expected and allowed (shim parity deferred); if it blocks the solution build, temporarily exclude the affected shim project rather than re-pointing it. +5. Add the Domain-ring fitness test; confirm green, then confirm it goes red on a deliberate `Fallout.*` reference, then revert. +6. Validate: `./build.sh Compile` + `./build.sh Test` (or the per-project equivalents) green; dogfood workflows unchanged. ## Success criteria - ✅ `Fallout.Domain` exists; no domain type remains under `Fallout.Common.*`. - ✅ Fitness test passes and demonstrably fails on a violation. -- ✅ `Nuke.*` shim surface unchanged (consumers on the bridge unaffected). -- ✅ Solution builds; tests green. -- ✅ A written verdict: did the rename + shim-repoint + fitness loop hold? What surprised us? Is it safe to scale to the Application ring (the big one — the user-facing API rename)? +- ✅ Solution (excluding deferred shim parity) builds; tests green. +- ✅ A written verdict: did the move + reference-fixup + fitness loop hold? What surprised us? Is it safe to scale to the Application ring (the big one — the user-facing API rename)? ## Risks / watch -- **Shim re-point is the real unknown.** If `ShimAllPublicTypesUnder` can't express the many-old-layers → one-`Nuke.Common` mapping cleanly, that's the key finding — it gates every later ring. Record precisely what the generator supports. -- **`Fallout.Core` already mixes `Fallout.Core.Planning` and `Fallout.Common.Execution`** — make sure only genuinely-pure types move; anything touching execution *orchestration* (not the model) belongs in the Application ring, not Domain. -- **Hidden inward references.** A "domain" type that secretly reaches into utilities/IO would break the zero-deps invariant — the fitness test will catch it; treat any such case as a finding about what's really domain. +- **What's *really* domain.** `Fallout.Core` already mixes `Fallout.Core.Planning` and `Fallout.Common.Execution` — move only genuinely-pure types; anything touching execution *orchestration* (not the model) belongs in the Application ring, not Domain. +- **Hidden inward references.** A "domain" type that secretly reaches into utilities/IO would break the zero-deps invariant — the fitness test will catch it; treat any such case as a finding about what's really domain. This is now the spike's primary unknown (the shim question is deferred out). +- **Shim fallout is expected, not a failure.** If moving types breaks the `Nuke.*` shim build, that's the deferred concern surfacing — note it and move on; do not rabbit-hole on re-pointing. ## Exit Set **Status: Done**, append the verdict, and feed it back into ADR-0006 (confirm/adjust the layer mapping, then promote `Proposed` → `Accepted`) before starting the Application ring. From 43e36ba5a8556d9e117e4dc0bb1854abc06a2c96 Mon Sep 17 00:00:00 2001 From: Chrison Simtian Date: Sun, 31 May 2026 21:05:50 +1200 Subject: [PATCH 03/46] =?UTF-8?q?docs:=20ADR-0006=20=E2=80=94=20tool=20wra?= =?UTF-8?q?ppers=20are=20Application=20vocabulary,=20execution=20is=20the?= =?UTF-8?q?=20port?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reviewing DotNetBuild's shape showed the tool wrappers are ~pure command builders (DotNetBuildSettings : ToolOptions is data; only ProcessTasks.StartProcess touches the OS, statically). So the real infrastructure seam is process/tool EXECUTION, not the wrappers, and there's no useful 'abstract build' port (ICompile is irreducibly DotNet-specific). Corrected layer map: tool vocabulary + Components live in Application; Infrastructure is the I/O adapters behind ports; a process/tool-execution port is the seam. Resolves Components into Application instead of an outer ring, and makes builds testable. Adds an explicit ring-by-ring Sequence with the tooling/execution-port spike as step 3. Co-Authored-By: Claude Opus 4.8 --- ...onion-layering-and-namespace-realignment.md | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/docs/adr/0006-onion-layering-and-namespace-realignment.md b/docs/adr/0006-onion-layering-and-namespace-realignment.md index 2bcfe014c..c0f01f7f4 100644 --- a/docs/adr/0006-onion-layering-and-namespace-realignment.md +++ b/docs/adr/0006-onion-layering-and-namespace-realignment.md @@ -30,8 +30,10 @@ The project + namespace structure is inherited verbatim from NUKE: the rebrand ( | Layer | Holds | Today (selected) → target | |---|---|---| | **`Fallout.Domain.*`** (innermost; zero Fallout deps) | Target graph, planning algorithms, execution status, the read-only build model | `Fallout.Core` (`Fallout.Core.Planning` + `Fallout.Common.Execution`'s `ITargetModel`/`ExecutionStatus`) → `Fallout.Domain` | -| **`Fallout.Application.*`** (orchestration + ports; depends only on Domain) | `FalloutBuild`, `Target`, `[Parameter]` & attributes, execution engine (`BuildManager`/`Executor`/`Planner`), middleware pipeline, value injection, `Host` base, the ports (`IBuildHost`, `IBuildReporter`, `IConfigurationGenerator`, `IBuildServer`) | `Fallout.Build` + the `Fallout.Common`/`Fallout.Common.Execution`/`Fallout.Common.CI` types it declares → `Fallout.Application` | -| **`Fallout.Infrastructure.*`** (adapters; depends on Application/Domain) | CI host adapters, tool-execution framework + tool wrappers, IO/Net/compression/globbing/text, project/solution model, process execution | `Fallout.Common.CI.*` → `.Infrastructure.CI.*`; `Fallout.Common.Tools.*` + `Fallout.Tooling` → `.Infrastructure.Tools.*`; `Fallout.Utilities.*` → `.Infrastructure.IO`/`.Net`/`.Text.*`; `Fallout.ProjectModel`/`Fallout.Solution(s)` → `.Infrastructure.ProjectModel`/`.Solutions` | +| **`Fallout.Application.*`** (orchestration + ports + vocabulary; depends only on Domain) | `FalloutBuild`, `Target`, `[Parameter]` & attributes, execution engine (`BuildManager`/`Executor`/`Planner`), middleware pipeline, value injection, `Host` base; the ports (`IBuildHost`, `IBuildReporter`, `IConfigurationGenerator`, `IBuildServer`, **and a process/tool-execution port**); the **typed tool vocabulary** (`Options`/`ToolOptions` model + the generated wrappers like `DotNetTasks` & settings — pure command builders); and the **`Fallout.Components` recipes** | `Fallout.Build` + the `Fallout.Common*` it declares; `Fallout.Common.Tools.*` (wrappers) + the pure part of `Fallout.Tooling`; `Fallout.Components` → `Fallout.Application.*` | +| **`Fallout.Infrastructure.*`** (I/O adapters behind the ports; depends on Application/Domain) | The adapters that actually touch the outside world: the **process/tool runner** (OS process spawn), filesystem, HTTP, tool-path/package resolvers, **CI host adapters**, config-file writers, project/solution readers | `Fallout.Common.CI.*` → `.Infrastructure.CI.*`; the executor part of `Fallout.Tooling` (`ProcessTasks`/`ToolExecutor`) + `Fallout.Utilities.IO`/`.Net`/`.Compression`/`.Globbing` → `.Infrastructure.*`; `Fallout.ProjectModel`/`Fallout.Solution(s)` → `.Infrastructure.ProjectModel`/`.Solutions` | + +**The tool layer splits along purity** (decided after reviewing `DotNetBuild`'s shape — see ADR-0005's ports pattern applied to the deepest I/O): the **command vocabulary** (`DotNetBuildSettings : ToolOptions` is pure data; `DotNetBuild` just constructs argv) is Application; the **one impure step** — `ProcessTasks.StartProcess` spawning a real OS process (today a *static* call) — becomes an injectable **process/tool-execution port** with the OS adapter in Infrastructure. This is what lets `Fallout.Components` (e.g. `ICompile` calling `DotNetBuild`) live in Application without the inner ring depending on a concrete — and it makes builds unit-testable by faking the runner. There is deliberately **no** generic "abstract build" port: `ICompile` is irreducibly DotNet-specific, so abstracting it would be anemic or a re-spelling of DotNet — the wrong abstraction. The seam is *execution*, not *build semantics*. | **`Fallout.Cli`** (composition root) | Entry points, host integration | `Fallout.Cli`, `Fallout.MSBuildTasks`, `Fallout.Migrate` — unchanged | **Outside the runtime onion** (build-time tooling, kept as-is): `Fallout.SourceGenerators`, `Fallout.Tooling.Generator` (the `Fallout.CodeGeneration` codegen), `Fallout.Migrate.Analyzers`. The vendored `Fallout.Persistence.Solution` keeps its namespace (Microsoft code). @@ -49,10 +51,20 @@ The `Nuke.*` transition shims (and any native-`Fallout.*` migration aid) are **e Consequence during the work: on `experimental`, `Nuke.*` shim parity is **not maintained** while the rings land. That's acceptable — `experimental` is the unstable lane, and `2027.0.0` is the only deadline that matters; the new migration story is built before the cut. `Fallout.Migrate` likewise gets revisited then, not incrementally. +### Sequence (each step a PR on `experimental`, with its own ring fitness test) + +1. **Domain ring** — extract `Fallout.Domain` (spike [0002](../spikes/0002-onion-domain-ring.md)). Innermost, smallest; proves the move → reference-fixup → fitness loop. +2. **Application ring** — rename `Fallout.Build` → `Fallout.Application` and dissolve the `Fallout.Common` core API into it (the user-facing `FalloutBuild`/`Target`/`[Parameter]` rename — the big one). +3. **Tooling/execution-port spike** — extract the process/tool-execution port; split `Fallout.Tooling` into pure vocabulary (Application) + executor adapter (Infrastructure). Unlocks tool wrappers as Application vocabulary and is a standalone testability win. *(Can run in parallel with step 2; must precede step 4.)* +4. **Tool vocabulary + `Components` → Application** — move the wrappers and the `Fallout.Components` recipes in, now that execution is behind the port. +5. **Infrastructure ring** — CI host adapters, IO/Net/compression/globbing, path/package resolvers, project/solution readers → `Fallout.Infrastructure.*`. + +Migration/shim strategy is redesigned after step 5, before the cut (deferred, above). + ## Judgment calls (flagged for review — defaults chosen, easily changed) - **Public API under `.Infrastructure`.** Tool wrappers and CI attributes are consumer-facing yet land under `Fallout.Infrastructure.*` (the hexagonal reading: adapters are infrastructure even when public). Consequence: consumer `using` directives grow (`using Fallout.Infrastructure.Tools.DotNet;`). **Mitigation:** ship a curated set of global usings in the `dotnet fallout` project template so day-to-day build authoring isn't verbose. *Accepted by maintainer; recorded so the ergonomics cost is visible.* -- **`Fallout.Components`** (the `ICompile`/`IPack`/… mixins) is a **recipes layer that sits *outside* Infrastructure**, not inside Application. The mixins call tool wrappers directly (`ICompile.Compile` → `DotNetBuild(...)` from `Fallout.Common.Tools.DotNet`), so `Components → Infrastructure`. It therefore **cannot** be folded into `Application` without inverting the onion (the inner ring would transitively depend on Infrastructure — the exact thing the fitness tests forbid). Default: keep as `Fallout.Components`, an outer recipes layer depending on Application + Infrastructure, near the composition root. *Folding it into `Application` is possible only by first porting tool execution behind an Application-owned tool port (the ADR-0005 move applied to tooling) — a separate, larger future step, not bundled here.* +- **`Fallout.Components` → Application (RESOLVED, not an open default).** The mixins call tool wrappers (`ICompile.Compile` → `DotNetBuild`). Rather than exile `Components` to an outer ring, we **invert the dependency**: the tool wrappers become Application *vocabulary* and the one impure step (process spawn) moves behind the process/tool-execution port (see the layer table). `Components` then depends only on Application vocabulary + that port and lives in `Application` cleanly. **Prerequisite:** the tooling/execution-port spike (step 3 of the Sequence) lands before the wrappers + `Components` move. - **Utilities as Infrastructure vs shared kernel.** IO/Net/compression are genuinely infrastructure. Pure-algorithmic helpers (collections, reflection, string) are more a shared kernel; default is to keep a minimal shared-kernel that Domain may depend on, rather than forcing it through Infrastructure (which would violate the inner ring). To be pinned during the Application/Infrastructure rings. ## Consequences From f546910d9b9bef0530034526db86cb9b4b7ec266 Mon Sep 17 00:00:00 2001 From: Chrison Simtian Date: Sun, 31 May 2026 21:20:05 +1200 Subject: [PATCH 04/46] refactor(arch)!: extract Fallout.Domain ring (onion realignment step 1) ADR-0006 step 1. Rename Fallout.Core -> Fallout.Domain (project + test project) and move its two mis-namespaced execution types (ITargetModel, ExecutionStatus) out of the Fallout.Common.* catch-all into Fallout.Domain.Execution; Planning -> Fallout.Domain.Planning. Consumers in Fallout.Build gain a using; the intra-repo ExecutionStatus type-forwarder is re-pointed. The innermost-ring fitness test now asserts Domain depends on NO outer ring, including Fallout.Common (the realignment goal). Full solution builds and all tests pass (incl. Nuke.* shim tests); the solution-generator Verify snapshot is updated for the project rename. BREAKING CHANGE: ITargetModel/ExecutionStatus move from Fallout.Common.Execution to Fallout.Domain.Execution. On experimental; shim/migration parity deferred (ADR-0006). Batched to 2027.0.0. Co-Authored-By: Claude Opus 4.8 --- fallout.slnx | 4 +- src/Fallout.Build/Execution/BuildExecutor.cs | 1 + src/Fallout.Build/Execution/BuildManager.cs | 1 + .../Execution/ExecutableTarget.cs | 3 +- .../Execution/ExecutionPlanner.cs | 5 ++- .../Execution/ExecutionStatus.cs | 4 +- src/Fallout.Build/Fallout.Build.csproj | 2 +- src/Fallout.Build/FalloutBuild.cs | 1 + src/Fallout.Build/Host.cs | 1 + .../Telemetry/Telemetry.Events.cs | 1 + .../Execution/ExecutionStatus.cs | 2 +- .../Execution/ITargetModel.cs | 2 +- .../Fallout.Domain.csproj} | 0 .../Graph/StronglyConnectedComponent.cs | 2 +- .../Graph/StronglyConnectedComponentFinder.cs | 2 +- .../Graph/StronglyConnectedComponentList.cs | 2 +- .../Planning/Graph/Vertex.cs | 2 +- .../Planning/TopoSort.cs | 2 +- .../README.md | 0 .../Fallout.Build.Tests/BuildExecutorTest.cs | 1 + .../ArchitectureFitnessTests.cs | 37 +++++++++++-------- .../Fallout.Domain.Tests.csproj} | 2 +- .../TopoSortTests.cs | 4 +- ...nGeneratorTest.Test#Solution.g.verified.cs | 4 +- 24 files changed, 49 insertions(+), 36 deletions(-) rename src/{Fallout.Core => Fallout.Domain}/Execution/ExecutionStatus.cs (80%) rename src/{Fallout.Core => Fallout.Domain}/Execution/ITargetModel.cs (97%) rename src/{Fallout.Core/Fallout.Core.csproj => Fallout.Domain/Fallout.Domain.csproj} (100%) rename src/{Fallout.Core => Fallout.Domain}/Planning/Graph/StronglyConnectedComponent.cs (94%) rename src/{Fallout.Core => Fallout.Domain}/Planning/Graph/StronglyConnectedComponentFinder.cs (97%) rename src/{Fallout.Core => Fallout.Domain}/Planning/Graph/StronglyConnectedComponentList.cs (96%) rename src/{Fallout.Core => Fallout.Domain}/Planning/Graph/Vertex.cs (95%) rename src/{Fallout.Core => Fallout.Domain}/Planning/TopoSort.cs (99%) rename src/{Fallout.Core => Fallout.Domain}/README.md (100%) rename tests/{Fallout.Core.Tests => Fallout.Domain.Tests}/ArchitectureFitnessTests.cs (54%) rename tests/{Fallout.Core.Tests/Fallout.Core.Tests.csproj => Fallout.Domain.Tests/Fallout.Domain.Tests.csproj} (74%) rename tests/{Fallout.Core.Tests => Fallout.Domain.Tests}/TopoSortTests.cs (97%) diff --git a/fallout.slnx b/fallout.slnx index 0f6ae9699..ad895155c 100644 --- a/fallout.slnx +++ b/fallout.slnx @@ -13,7 +13,7 @@ - + @@ -37,7 +37,7 @@ - + diff --git a/src/Fallout.Build/Execution/BuildExecutor.cs b/src/Fallout.Build/Execution/BuildExecutor.cs index 5f8869dae..b1cb733ee 100644 --- a/src/Fallout.Build/Execution/BuildExecutor.cs +++ b/src/Fallout.Build/Execution/BuildExecutor.cs @@ -5,6 +5,7 @@ using Fallout.Common.IO; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; +using Fallout.Domain.Execution; using Serilog; namespace Fallout.Common.Execution; diff --git a/src/Fallout.Build/Execution/BuildManager.cs b/src/Fallout.Build/Execution/BuildManager.cs index 5925fceca..f0d8daefc 100644 --- a/src/Fallout.Build/Execution/BuildManager.cs +++ b/src/Fallout.Build/Execution/BuildManager.cs @@ -8,6 +8,7 @@ using Fallout.Common.Tooling; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; +using Fallout.Domain.Execution; using Serilog; #pragma warning disable CA2255 diff --git a/src/Fallout.Build/Execution/ExecutableTarget.cs b/src/Fallout.Build/Execution/ExecutableTarget.cs index c4a9501c2..64bcde8c0 100644 --- a/src/Fallout.Build/Execution/ExecutableTarget.cs +++ b/src/Fallout.Build/Execution/ExecutableTarget.cs @@ -6,6 +6,7 @@ using System.Reflection; using Fallout.Common.Tooling; using Fallout.Common.Utilities.Collections; +using Fallout.Domain.Execution; // ReSharper disable MissingBaseTypeHighlighting namespace Fallout.Common.Execution; @@ -62,7 +63,7 @@ public string OnlyWhen set => SummaryInformation.AddPairWhenValueNotNull(nameof(OnlyWhen), value); } - // ITargetModel — read-only projection over the live dependency lists for Fallout.Core consumers. + // ITargetModel — read-only projection over the live dependency lists for Fallout.Domain consumers. IReadOnlyCollection ITargetModel.ExecutionDependencyNames => ExecutionDependencies.Select(x => x.Name).ToList(); IReadOnlyCollection ITargetModel.OrderDependencyNames => OrderDependencies.Select(x => x.Name).ToList(); IReadOnlyCollection ITargetModel.TriggerNames => Triggers.Select(x => x.Name).ToList(); diff --git a/src/Fallout.Build/Execution/ExecutionPlanner.cs b/src/Fallout.Build/Execution/ExecutionPlanner.cs index 67d3f6cd9..16450deca 100644 --- a/src/Fallout.Build/Execution/ExecutionPlanner.cs +++ b/src/Fallout.Build/Execution/ExecutionPlanner.cs @@ -3,7 +3,8 @@ using System.Linq; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; -using Fallout.Core.Planning; +using Fallout.Domain.Execution; +using Fallout.Domain.Planning; namespace Fallout.Common.Execution; @@ -39,7 +40,7 @@ private static IReadOnlyCollection GetExecutionPlanInternal( IReadOnlyCollection executableTargets, ICollection invokedTargets) { - // Pure graph work — cycle detection and topological ordering — lives in Fallout.Core. + // Pure graph work — cycle detection and topological ordering — lives in Fallout.Domain. // Everything below is orchestration: deciding to fail the build, and applying the domain // scheduling rules (invoked / default / execution-dependency) over the ordered nodes. var strict = ParameterService.GetNamedArgument("strict"); diff --git a/src/Fallout.Build/Execution/ExecutionStatus.cs b/src/Fallout.Build/Execution/ExecutionStatus.cs index f98f50e1d..cecef623f 100644 --- a/src/Fallout.Build/Execution/ExecutionStatus.cs +++ b/src/Fallout.Build/Execution/ExecutionStatus.cs @@ -1,6 +1,6 @@ using System.Runtime.CompilerServices; // Moved to Fallout.Core in v11 (issue #88). Forwarded so existing consumers that reference -// Fallout.Build keep resolving Fallout.Common.Execution.ExecutionStatus without a recompile. +// Fallout.Build keep resolving Fallout.Domain.Execution.ExecutionStatus without a recompile. // The forwarder can be dropped in 12.0 once the plugin SDK is the canonical reference. -[assembly: TypeForwardedTo(typeof(Fallout.Common.Execution.ExecutionStatus))] +[assembly: TypeForwardedTo(typeof(Fallout.Domain.Execution.ExecutionStatus))] diff --git a/src/Fallout.Build/Fallout.Build.csproj b/src/Fallout.Build/Fallout.Build.csproj index ea2b968c3..530b59d60 100644 --- a/src/Fallout.Build/Fallout.Build.csproj +++ b/src/Fallout.Build/Fallout.Build.csproj @@ -6,7 +6,7 @@ - + diff --git a/src/Fallout.Build/FalloutBuild.cs b/src/Fallout.Build/FalloutBuild.cs index af8573875..9f00da1f6 100644 --- a/src/Fallout.Build/FalloutBuild.cs +++ b/src/Fallout.Build/FalloutBuild.cs @@ -6,6 +6,7 @@ using Fallout.Build.Execution.Extensions; using Fallout.Common.CI; using Fallout.Common.Execution; +using Fallout.Domain.Execution; using Fallout.Common.IO; using Fallout.Common.Tooling; using Fallout.Common.Utilities; diff --git a/src/Fallout.Build/Host.cs b/src/Fallout.Build/Host.cs index b5e147813..413cb6bb9 100644 --- a/src/Fallout.Build/Host.cs +++ b/src/Fallout.Build/Host.cs @@ -3,6 +3,7 @@ using System.Globalization; using System.Linq; using Fallout.Common.Execution; +using Fallout.Domain.Execution; using Fallout.Common.Execution.Theming; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; diff --git a/src/Fallout.Build/Telemetry/Telemetry.Events.cs b/src/Fallout.Build/Telemetry/Telemetry.Events.cs index abe85de67..ee01b590e 100644 --- a/src/Fallout.Build/Telemetry/Telemetry.Events.cs +++ b/src/Fallout.Build/Telemetry/Telemetry.Events.cs @@ -3,6 +3,7 @@ using System.Linq; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; +using Fallout.Domain.Execution; using Serilog; namespace Fallout.Common.Execution; diff --git a/src/Fallout.Core/Execution/ExecutionStatus.cs b/src/Fallout.Domain/Execution/ExecutionStatus.cs similarity index 80% rename from src/Fallout.Core/Execution/ExecutionStatus.cs rename to src/Fallout.Domain/Execution/ExecutionStatus.cs index d48c5a0e9..0de85014e 100644 --- a/src/Fallout.Core/Execution/ExecutionStatus.cs +++ b/src/Fallout.Domain/Execution/ExecutionStatus.cs @@ -1,4 +1,4 @@ -namespace Fallout.Common.Execution; +namespace Fallout.Domain.Execution; public enum ExecutionStatus { diff --git a/src/Fallout.Core/Execution/ITargetModel.cs b/src/Fallout.Domain/Execution/ITargetModel.cs similarity index 97% rename from src/Fallout.Core/Execution/ITargetModel.cs rename to src/Fallout.Domain/Execution/ITargetModel.cs index de86178a9..29685f6ae 100644 --- a/src/Fallout.Core/Execution/ITargetModel.cs +++ b/src/Fallout.Domain/Execution/ITargetModel.cs @@ -1,6 +1,6 @@ using System.Collections.Generic; -namespace Fallout.Common.Execution; +namespace Fallout.Domain.Execution; /// /// Read-only projection of a build target: its identity, status, and dependency shape. diff --git a/src/Fallout.Core/Fallout.Core.csproj b/src/Fallout.Domain/Fallout.Domain.csproj similarity index 100% rename from src/Fallout.Core/Fallout.Core.csproj rename to src/Fallout.Domain/Fallout.Domain.csproj diff --git a/src/Fallout.Core/Planning/Graph/StronglyConnectedComponent.cs b/src/Fallout.Domain/Planning/Graph/StronglyConnectedComponent.cs similarity index 94% rename from src/Fallout.Core/Planning/Graph/StronglyConnectedComponent.cs rename to src/Fallout.Domain/Planning/Graph/StronglyConnectedComponent.cs index 81d171e0c..1c7322cf2 100644 --- a/src/Fallout.Core/Planning/Graph/StronglyConnectedComponent.cs +++ b/src/Fallout.Domain/Planning/Graph/StronglyConnectedComponent.cs @@ -1,7 +1,7 @@ using System.Collections; using System.Collections.Generic; -namespace Fallout.Core.Planning; +namespace Fallout.Domain.Planning; internal class StronglyConnectedComponent : IEnumerable> { diff --git a/src/Fallout.Core/Planning/Graph/StronglyConnectedComponentFinder.cs b/src/Fallout.Domain/Planning/Graph/StronglyConnectedComponentFinder.cs similarity index 97% rename from src/Fallout.Core/Planning/Graph/StronglyConnectedComponentFinder.cs rename to src/Fallout.Domain/Planning/Graph/StronglyConnectedComponentFinder.cs index 11489cf60..9a7d9a538 100644 --- a/src/Fallout.Core/Planning/Graph/StronglyConnectedComponentFinder.cs +++ b/src/Fallout.Domain/Planning/Graph/StronglyConnectedComponentFinder.cs @@ -1,7 +1,7 @@ using System; using System.Collections.Generic; -namespace Fallout.Core.Planning; +namespace Fallout.Domain.Planning; internal class StronglyConnectedComponentFinder { diff --git a/src/Fallout.Core/Planning/Graph/StronglyConnectedComponentList.cs b/src/Fallout.Domain/Planning/Graph/StronglyConnectedComponentList.cs similarity index 96% rename from src/Fallout.Core/Planning/Graph/StronglyConnectedComponentList.cs rename to src/Fallout.Domain/Planning/Graph/StronglyConnectedComponentList.cs index f2ea8f557..998f9458f 100644 --- a/src/Fallout.Core/Planning/Graph/StronglyConnectedComponentList.cs +++ b/src/Fallout.Domain/Planning/Graph/StronglyConnectedComponentList.cs @@ -2,7 +2,7 @@ using System.Collections.Generic; using System.Linq; -namespace Fallout.Core.Planning; +namespace Fallout.Domain.Planning; internal class StronglyConnectedComponentList : IEnumerable> { diff --git a/src/Fallout.Core/Planning/Graph/Vertex.cs b/src/Fallout.Domain/Planning/Graph/Vertex.cs similarity index 95% rename from src/Fallout.Core/Planning/Graph/Vertex.cs rename to src/Fallout.Domain/Planning/Graph/Vertex.cs index 2819a4122..1347d2ed6 100644 --- a/src/Fallout.Core/Planning/Graph/Vertex.cs +++ b/src/Fallout.Domain/Planning/Graph/Vertex.cs @@ -1,7 +1,7 @@ using System.Collections.Generic; using System.Linq; -namespace Fallout.Core.Planning; +namespace Fallout.Domain.Planning; internal class Vertex { diff --git a/src/Fallout.Core/Planning/TopoSort.cs b/src/Fallout.Domain/Planning/TopoSort.cs similarity index 99% rename from src/Fallout.Core/Planning/TopoSort.cs rename to src/Fallout.Domain/Planning/TopoSort.cs index eb0299f2f..d52abe3e2 100644 --- a/src/Fallout.Core/Planning/TopoSort.cs +++ b/src/Fallout.Domain/Planning/TopoSort.cs @@ -2,7 +2,7 @@ using System.Collections.Generic; using System.Linq; -namespace Fallout.Core.Planning; +namespace Fallout.Domain.Planning; /// /// The outcome of a topological ordering: the ordered nodes, any dependency cycles that were diff --git a/src/Fallout.Core/README.md b/src/Fallout.Domain/README.md similarity index 100% rename from src/Fallout.Core/README.md rename to src/Fallout.Domain/README.md diff --git a/tests/Fallout.Build.Tests/BuildExecutorTest.cs b/tests/Fallout.Build.Tests/BuildExecutorTest.cs index 98728a01b..d4ed53e86 100644 --- a/tests/Fallout.Build.Tests/BuildExecutorTest.cs +++ b/tests/Fallout.Build.Tests/BuildExecutorTest.cs @@ -2,6 +2,7 @@ using System.Linq; using FluentAssertions; using Fallout.Common.Execution; +using Fallout.Domain.Execution; using Fallout.Common.Utilities.Collections; using Xunit; diff --git a/tests/Fallout.Core.Tests/ArchitectureFitnessTests.cs b/tests/Fallout.Domain.Tests/ArchitectureFitnessTests.cs similarity index 54% rename from tests/Fallout.Core.Tests/ArchitectureFitnessTests.cs rename to tests/Fallout.Domain.Tests/ArchitectureFitnessTests.cs index d4aed0960..3bf3c9ffc 100644 --- a/tests/Fallout.Core.Tests/ArchitectureFitnessTests.cs +++ b/tests/Fallout.Domain.Tests/ArchitectureFitnessTests.cs @@ -1,23 +1,23 @@ using System.Linq; using System.Reflection; using FluentAssertions; -using Fallout.Core.Planning; +using Fallout.Domain.Planning; using NetArchTest.Rules; using Xunit; -namespace Fallout.Core.Tests; +namespace Fallout.Domain.Tests; /// -/// The acceptance criterion for issue #88: Fallout.Core is the pure reactor core. It depends on -/// nothing in the repo and never touches I/O, processes, the console, or logging. The broader -/// architecture-fitness suite lands in #95; these two tests guard the Core invariant specifically. +/// Fallout.Domain is the innermost onion ring (ADR-0006; originally issue #88's "reactor core"): +/// pure domain types and graph algorithms that touch no I/O and depend on nothing else in the repo. +/// These tests guard that invariant — the dependency rule every outer ring builds on. /// public class ArchitectureFitnessTests { - private static readonly Assembly CoreAssembly = typeof(TopoSort).Assembly; + private static readonly Assembly DomainAssembly = typeof(TopoSort).Assembly; [Fact] - public void Core_has_no_io_process_console_or_logging_dependency() + public void Domain_has_no_io_process_console_or_logging_dependency() { // Scope to our own Fallout.* types only. This excludes build-tool noise injected into the // assembly that we don't author and can't keep pure: the generated `ThisAssembly` @@ -25,7 +25,7 @@ public void Core_has_no_io_process_console_or_logging_dependency() // (coverage instrumentation under `./build.ps1 Test`, which legitimately touches System.IO). // Precise tokens (e.g. "System.Diagnostics.Process") rather than the broad "System.Diagnostics" // namespace also avoid NetArchTest false-positives on generic types. - var result = Types.InAssembly(CoreAssembly) + var result = Types.InAssembly(DomainAssembly) .That().ResideInNamespaceStartingWith("Fallout") .Should() .NotHaveDependencyOnAny( @@ -36,26 +36,31 @@ public void Core_has_no_io_process_console_or_logging_dependency() .GetResult(); result.IsSuccessful.Should().BeTrue( - because: "Fallout.Core must stay pure; offending types: " + FailingTypes(result)); + because: "Fallout.Domain must stay pure; offending types: " + FailingTypes(result)); } [Fact] - public void Core_does_not_depend_on_higher_fallout_layers() + public void Domain_does_not_depend_on_any_outer_ring() { - var result = Types.InAssembly(CoreAssembly) + // ADR-0006 onion rule: the innermost ring references no outer ring — and crucially none of the + // dissolving `Fallout.Common.*` catch-all (the whole point of the realignment) nor the + // Application/Infrastructure rings to come. + var result = Types.InAssembly(DomainAssembly) .That().ResideInNamespaceStartingWith("Fallout") .Should() .NotHaveDependencyOnAny( + "Fallout.Common", + "Fallout.Application", + "Fallout.Infrastructure", "Fallout.Build", - "Fallout.Common.Tooling", - "Fallout.Common.Utilities", - "Fallout.ProjectModel", + "Fallout.Components", "Fallout.Tooling", - "Fallout.Utilities") + "Fallout.Utilities", + "Fallout.ProjectModel") .GetResult(); result.IsSuccessful.Should().BeTrue( - because: "Fallout.Core sits at the bottom and must reference no other Fallout project; " + + because: "Fallout.Domain is the innermost ring and must reference no other Fallout project; " + "offending types: " + FailingTypes(result)); } diff --git a/tests/Fallout.Core.Tests/Fallout.Core.Tests.csproj b/tests/Fallout.Domain.Tests/Fallout.Domain.Tests.csproj similarity index 74% rename from tests/Fallout.Core.Tests/Fallout.Core.Tests.csproj rename to tests/Fallout.Domain.Tests/Fallout.Domain.Tests.csproj index fdb7ca21c..b700dfec4 100644 --- a/tests/Fallout.Core.Tests/Fallout.Core.Tests.csproj +++ b/tests/Fallout.Domain.Tests/Fallout.Domain.Tests.csproj @@ -5,7 +5,7 @@ - + diff --git a/tests/Fallout.Core.Tests/TopoSortTests.cs b/tests/Fallout.Domain.Tests/TopoSortTests.cs similarity index 97% rename from tests/Fallout.Core.Tests/TopoSortTests.cs rename to tests/Fallout.Domain.Tests/TopoSortTests.cs index bbc93cd96..b281d569c 100644 --- a/tests/Fallout.Core.Tests/TopoSortTests.cs +++ b/tests/Fallout.Domain.Tests/TopoSortTests.cs @@ -1,10 +1,10 @@ using System.Collections.Generic; using System.Linq; using FluentAssertions; -using Fallout.Core.Planning; +using Fallout.Domain.Planning; using Xunit; -namespace Fallout.Core.Tests; +namespace Fallout.Domain.Tests; public class TopoSortTests { diff --git a/tests/Fallout.SourceGenerators.Tests/StronglyTypedSolutionGeneratorTest.Test#Solution.g.verified.cs b/tests/Fallout.SourceGenerators.Tests/StronglyTypedSolutionGeneratorTest.Test#Solution.g.verified.cs index 2dec22605..18855dfd8 100644 --- a/tests/Fallout.SourceGenerators.Tests/StronglyTypedSolutionGeneratorTest.Test#Solution.g.verified.cs +++ b/tests/Fallout.SourceGenerators.Tests/StronglyTypedSolutionGeneratorTest.Test#Solution.g.verified.cs @@ -20,8 +20,8 @@ internal class Solution(SolutionModel model, AbsolutePath path) : Fallout.Soluti public Fallout.Solutions.Project Fallout_Components_Tests => this.GetProject("Fallout.Components.Tests"); public Fallout.Solutions.Project Fallout_Consumer_Local => this.GetProject("Fallout.Consumer.Local"); public Fallout.Solutions.Project Fallout_Consumer_NuGet => this.GetProject("Fallout.Consumer.NuGet"); - public Fallout.Solutions.Project Fallout_Core => this.GetProject("Fallout.Core"); - public Fallout.Solutions.Project Fallout_Core_Tests => this.GetProject("Fallout.Core.Tests"); + public Fallout.Solutions.Project Fallout_Domain => this.GetProject("Fallout.Domain"); + public Fallout.Solutions.Project Fallout_Domain_Tests => this.GetProject("Fallout.Domain.Tests"); public Fallout.Solutions.Project Fallout_Migrate => this.GetProject("Fallout.Migrate"); public Fallout.Solutions.Project Fallout_Migrate_Analyzers => this.GetProject("Fallout.Migrate.Analyzers"); public Fallout.Solutions.Project Fallout_Migrate_Analyzers_Tests => this.GetProject("Fallout.Migrate.Analyzers.Tests"); From 259c058d60625b866f96e24b9fe254346cfa0fcf Mon Sep 17 00:00:00 2001 From: Chrison Simtian Date: Sun, 31 May 2026 21:20:55 +1200 Subject: [PATCH 05/46] =?UTF-8?q?docs:=20spike=200002=20verdict=20?= =?UTF-8?q?=E2=80=94=20Domain=20ring=20extracted,=20mechanics=20proven?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.8 --- docs/spikes/0002-onion-domain-ring.md | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/docs/spikes/0002-onion-domain-ring.md b/docs/spikes/0002-onion-domain-ring.md index 1d483278a..336dde2dc 100644 --- a/docs/spikes/0002-onion-domain-ring.md +++ b/docs/spikes/0002-onion-domain-ring.md @@ -1,6 +1,6 @@ # Spike 0002 — Onion realignment: prove the Domain ring -- **Status:** Planned +- **Status:** Done (2026-05-31) — see [Verdict](#verdict) - **Date:** 2026-05-31 - **Decision record:** [ADR-0006](../adr/0006-onion-layering-and-namespace-realignment.md) - **Channel:** `experimental` (spike branch `spike/onion-structure`) @@ -47,3 +47,23 @@ ## Exit Set **Status: Done**, append the verdict, and feed it back into ADR-0006 (confirm/adjust the layer mapping, then promote `Proposed` → `Accepted`) before starting the Application ring. + +## Verdict + +**Hypothesis confirmed.** The move → reference-fixup → fitness loop holds. `Fallout.Domain` exists, no domain type remains under `Fallout.Common.*`, the solution builds, and the **full test suite passes** (every project, including the `Nuke.*` shim tests). + +**What landed (commit `refactor(arch)!: extract Fallout.Domain ring`):** +- `Fallout.Core` → `Fallout.Domain` (project + test project, via `git mv`); refs in `Fallout.Build.csproj`, the test csproj, and `fallout.slnx` updated. +- The two mis-namespaced execution types (`ITargetModel`, `ExecutionStatus`) moved out of `Fallout.Common.Execution` → `Fallout.Domain.Execution`; `Fallout.Core.Planning` → `Fallout.Domain.Planning`. +- 8 consumers in `Fallout.Build`/tests gained `using Fallout.Domain.Execution;`; the intra-repo `ExecutionStatus` **type-forwarder re-pointed**. +- Fitness test **strengthened**: Domain must depend on no outer ring *including `Fallout.Common`* (the realignment goal). Passes; proven red on an injected dependency, then reverted. + +**Findings that shape the bigger rings:** +1. **Head start that won't repeat.** `Fallout.Core` was already pure with an existing fitness test (issue #88's seed). The Domain ring was therefore a *rename*, not a purity fight. The Application/Infrastructure rings start from the `Fallout.Common.*` tangle — expect real work, not just renames. +2. **Shim breakage is SILENT, not fatal — good news for the deferred strategy.** Moving types out of `Fallout.Common.*` doesn't fail the shim build; the `TransitionShimGenerator` simply stops mirroring them into `Nuke.*` (it only maps the `Fallout.Common` prefix). The solution built and the shim tests passed. So the rings won't be *blocked* by shim breakage — the `Nuke.*` surface just quietly shrinks, to be rebuilt by the deferred migration phase. **Caveat:** this was 2 types (one an enum the generator skips anyway). The **Application ring** moves the user-facing API *en masse* — the silent surface reduction there will be large; still expected to be build-clean. +3. **Blast radius beyond namespaces is real but mechanical.** Two non-obvious things needed updating: an **intra-repo type-forwarder** and a **Verify snapshot** (the solution-generator emits project names, so renaming projects churns it). The Application/Infrastructure rings will hit *many* more consumers and likely more snapshots — same loop, larger N. +4. **Splitting a shared namespace costs double-usings.** Because `Fallout.Common.Execution` keeps its orchestration types (staying → future `Fallout.Application.Execution`) while the model types left, consumers need *both* usings transiently. The Application ring (whole-namespace move) should be more uniform but far larger — **worth a bulk using-rewrite tool** (or lean on the `Fallout.Migrate` codefix machinery). + +**Safe to scale to the Application ring** — the mechanics are proven. That ring is the big one (the user-facing `FalloutBuild`/`Target`/`[Parameter]` rename); recommend it as its own PR, with a bulk using-rewriter prepared first. + +*Residual nit:* `src/Fallout.Domain/README.md` may still contain `Fallout.Core` prose — cosmetic, sweep during the Application ring. From 498d150bdfe3e8afea2ec3214c53227bb29f1d9d Mon Sep 17 00:00:00 2001 From: Chrison Simtian Date: Sun, 31 May 2026 21:44:57 +1200 Subject: [PATCH 06/46] docs: correct realignment target to the (unreleased) 2026 major; add CHANGELOG MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The 2026 major has not cut (no calendar GA tag; CHANGELOG [Unreleased] — 2026.0 still accumulates breaking changes), so breaking realignment work rides the 2026 cut and ships this year — not 2027 as ADR-0006 previously stated. Rings that miss the 2026 cut roll to 2027. Adds the Domain-ring CHANGELOG entry. Co-Authored-By: Claude Opus 4.8 --- CHANGELOG.md | 3 +++ docs/adr/0006-onion-layering-and-namespace-realignment.md | 8 ++++---- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 49a482d1a..c94dfb169 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,9 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. ### Breaking changes +- **Onion layering — namespace realignment begun; `Fallout.Core` → `Fallout.Domain`** ([ADR-0006](docs/adr/0006-onion-layering-and-namespace-realignment.md)). First ring of a project-wide realignment to explicit onion layers (`Fallout.Domain` / `Fallout.Application` / `Fallout.Infrastructure`, `Fallout.Cli` composition root) with `namespace = project = layer`, dissolving the `Fallout.Common.*` catch-all. This entry covers **step 1 (the Domain ring)**; the Application/Infrastructure/tooling-port rings land on `experimental` as separate PRs (any that miss the 2026 cut roll to 2027). + - **Namespaces**: `Fallout.Core.Planning` → `Fallout.Domain.Planning`; `ITargetModel` and `ExecutionStatus` move out of `Fallout.Common.Execution` → `Fallout.Domain.Execution`. **Package/assembly**: `Fallout.Core` → `Fallout.Domain`. Replace the corresponding `using` directives and any `PackageReference`/`ProjectReference`. + - **Migration / shim**: the `Nuke.*` transition shims silently stop re-exporting the two moved types (the generator only mirrors the `Fallout.Common.*` prefix). A fresh migration/shim strategy is designed once the realignment completes (ADR-0006 defers it deliberately); native `Fallout.*` consumers rewrite the two `using`s above. - **Adopted calendar versioning (`YYYY.MINOR.PATCH`) + dual-pace channel model; retired the v11 numbering** ([ADR-0004](docs/adr/0004-calendar-versioning-and-dual-pace-channels.md)). Fallout now ships on calendar versions (`2026.0.0`, `2026.1.0`, …) — mechanically valid SemVer with the major equal to the calendar year. **Breaking changes are batched to the yearly major cut**; mid-year stable releases (`release/YYYY`) are strictly non-breaking. `main` becomes the published **edge** channel (date-stamped prereleases to GitHub Packages); the slow/stable track lives on `release/YYYY`. Opt-in unstable APIs are marked `[Experimental("FALLOUT0xx")]`. - **Migration / impact**: the `11.0.x` packages never shipped a clean stable release (all unlisted), so this strands no stable consumers. The headline content previously slated for "v11" now ships as **`2026.0.0`**. Any tooling pinned to a `[11.0,12.0)`-style range should retarget the `2026.x` line. - **Legacy unaffected**: the `release/v10` line stays on semver `10.x` and continues to receive security/critical fixes — v10 consumers do nothing. diff --git a/docs/adr/0006-onion-layering-and-namespace-realignment.md b/docs/adr/0006-onion-layering-and-namespace-realignment.md index c0f01f7f4..f4553cd68 100644 --- a/docs/adr/0006-onion-layering-and-namespace-realignment.md +++ b/docs/adr/0006-onion-layering-and-namespace-realignment.md @@ -19,7 +19,7 @@ The project + namespace structure is inherited verbatim from NUKE: the rebrand ( `docs/rebrand-plan.md` explicitly **defers** "realigning project ↔ namespace" to "a future major version after the shim packages have sunset," citing the type-forwarding bridge as the blocker. This ADR **amends that deferral** on two grounds: - **The bridge is not a blocker.** The rebrand-plan deferred this work *because* it assumed a rigid `[TypeForwardedTo]` bridge. The actual machinery is the `TransitionShimGenerator` (`ShimAllPublicTypesUnder(from, to)`), a *prefix-remappable* subclass generator — so restructuring `Fallout.*` doesn't orphan the `Nuke.*` surface in principle. We nonetheless **defer the migration strategy wholesale** (see Decision §"Migration & shim strategy") rather than re-point ring-by-ring; the point here is only that the stated blocker doesn't bind. -- **ADR-0004 gives a clean home.** Namespace realignment is breaking → it lands on `experimental` and is **batched to the `2027.0.0` yearly major**. The work happens in 2026; native `Fallout.*` consumers are carried by re-pointed shims + the `Fallout.Migrate` codefix. Old `Fallout.*` namespaces are deleted at the cut, not dragged. +- **ADR-0004 gives a clean home.** Namespace realignment is breaking → it lands on `experimental` and is **batched to the next yearly major cut**. The `2026` major has **not cut yet** (no calendar-version GA tag exists; CHANGELOG `[Unreleased] — 2026.0` is still accumulating breaking changes), so this work can ride the **2026** cut and ship this year. Rings that aren't done before `2026.0.0` cuts roll to `2027`. Either way native `Fallout.*` consumers are carried by the deferred migration phase; old `Fallout.*` namespaces are deleted at the cut, not dragged. (The rebrand-plan is a transient maintainer-owned doc; this is a deliberate, recorded reversal of one of its deferrals, not a silent contradiction.) @@ -41,7 +41,7 @@ The project + namespace structure is inherited verbatim from NUKE: the rebrand ( **Rules:** 1. **`namespace == project == layer`.** No project declares a namespace rooted outside its layer. `Fallout.Common` is **dissolved**. 2. **Onion dependency rule, fitness-enforced.** Domain references no other Fallout assembly; Application references only Domain; Infrastructure references Application/Domain; only the Cli composition root references Infrastructure. One architecture-test per ring, added as each ring lands (extends the ADR-0005 boundary-test pattern). -3. **Breaking → `experimental` → `2027.0.0`** (ADR-0004). A breaking PR targets `experimental` only and carries `target/2027` + `breaking-change` + a `CHANGELOG.md` migration entry. +3. **Breaking → `experimental` → the next yearly major** (ADR-0004). The `2026` major is still unreleased, so rings ride the **2026** cut (`target/2026`) until it closes; anything after rolls to `2027`. A breaking PR targets `experimental` only and carries `target/` + `breaking-change` + a `CHANGELOG.md` entry under that major. 4. **Ring-by-ring migration**, inner to outer — each ring is its own PR on `experimental`. The spike (0002) proves the mechanics on the Domain ring before the larger rings. 5. **Migration/shim strategy is deferred wholesale** — see below. @@ -49,7 +49,7 @@ The project + namespace structure is inherited verbatim from NUKE: the rebrand ( The `Nuke.*` transition shims (and any native-`Fallout.*` migration aid) are **explicitly out of scope for the rearchitecture rings.** Rationale: there's no point re-pointing the existing `TransitionShimGenerator` ring-by-ring toward a target that's still moving. Instead — once the final layered shape has settled — we design a **fresh migration/shim strategy that fits whatever we ended up with**, as its own phase and its own ADR. The existing bridge is re-pointable (it's a prefix-remappable subclass generator, not raw `[TypeForwardedTo]`), so this deferral costs us no future optionality; it's a sequencing choice, not a capability loss. -Consequence during the work: on `experimental`, `Nuke.*` shim parity is **not maintained** while the rings land. That's acceptable — `experimental` is the unstable lane, and `2027.0.0` is the only deadline that matters; the new migration story is built before the cut. `Fallout.Migrate` likewise gets revisited then, not incrementally. +Consequence during the work: on `experimental`, `Nuke.*` shim parity is **not maintained** while the rings land. That's acceptable — `experimental` is the unstable lane, and the only deadline that matters is the major cut the rings target; the new migration story is built before that cut. `Fallout.Migrate` likewise gets revisited then, not incrementally. ### Sequence (each step a PR on `experimental`, with its own ring fitness test) @@ -76,7 +76,7 @@ Migration/shim strategy is redesigned after step 5, before the cut (deferred, ab ### Negative - **Large, breaking, multi-PR.** Touches nearly every file's `namespace`/`using`. Mitigated by ring-by-ring sequencing, re-pointed shims, the migrate codefix, and batching to one yearly major. -- **Consumer churn** for native `Fallout.*` users, and a window on `experimental` where `Nuke.*` shim parity lapses. Both are carried by the deferred migration phase (a fresh strategy + CHANGELOG migration guide), built before the `2027.0.0` cut — not during the rings. +- **Consumer churn** for native `Fallout.*` users, and a window on `experimental` where `Nuke.*` shim parity lapses. Both are carried by the deferred migration phase (a fresh strategy + CHANGELOG migration guide), built before the target major cut — not during the rings. ## Alternatives considered From c88b7a7a0ba4317fe21c2ba4ff10ce3839f1d1dd Mon Sep 17 00:00:00 2001 From: Chrison Simtian Date: Sun, 31 May 2026 22:09:00 +1200 Subject: [PATCH 07/46] =?UTF-8?q?tooling:=20add=20OnionRewriter=20(dry-run?= =?UTF-8?q?)=20=E2=80=94=20scopes=20the=20Application=20ring?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Roslyn syntax tool for the ADR-0006 namespace moves: rewrites namespace decls in the source project + qualified refs to moved types, and fixes usings by type identity. Dry-run quantifies the Application ring: 91 moved types across ~392 files. Finding: syntactic reference-resolution is not precise enough for a clean apply — simple-name collisions across namespaces (e.g. lower layers like ProjectModel matching a moved type's name) cause spurious usings and risk CS0104 ambiguities. The namespace-decl + qualified-name passes are correct; the using fixup needs a semantic upgrade (MSBuildWorkspace + symbol resolution) before applying. Dry-run only; mutates nothing. Co-Authored-By: Claude Opus 4.8 --- tools/OnionRewriter/OnionRewriter.csproj | 18 +++ tools/OnionRewriter/Program.cs | 172 +++++++++++++++++++++++ 2 files changed, 190 insertions(+) create mode 100644 tools/OnionRewriter/OnionRewriter.csproj create mode 100644 tools/OnionRewriter/Program.cs diff --git a/tools/OnionRewriter/OnionRewriter.csproj b/tools/OnionRewriter/OnionRewriter.csproj new file mode 100644 index 000000000..857a12404 --- /dev/null +++ b/tools/OnionRewriter/OnionRewriter.csproj @@ -0,0 +1,18 @@ + + + + + Exe + net10.0 + enable + enable + false + + + + + + + diff --git a/tools/OnionRewriter/Program.cs b/tools/OnionRewriter/Program.cs new file mode 100644 index 000000000..2f062553d --- /dev/null +++ b/tools/OnionRewriter/Program.cs @@ -0,0 +1,172 @@ +using Microsoft.CodeAnalysis; +using Microsoft.CodeAnalysis.CSharp; +using Microsoft.CodeAnalysis.CSharp.Syntax; +using static Microsoft.CodeAnalysis.CSharp.SyntaxFactory; + +// OnionRewriter — ADR-0006. Moves every type declared in a source project out of an old namespace +// prefix into a new one, and fixes references across the repo. The hard part it exists for: the old +// root namespace (Fallout.Common) is shared across several projects, so it disambiguates per file by +// the *types actually referenced* — adding/keeping/dropping `using`s accordingly. Biased to +// over-approximate (extra usings are harmless; the compiler catches any genuine miss). +// +// Usage: dotnet run --project tools/OnionRewriter [-- --apply] +// (default = dry run: report only, mutate nothing) + +var apply = args.Contains("--apply"); +var repo = Directory.GetCurrentDirectory(); +var sourceProj = Path.Combine(repo, "src", "Fallout.Build") + Path.DirectorySeparatorChar; + +const string OldRoot = "Fallout.Common"; +const string NewRoot = "Fallout.Application"; +const string OldExt = "Fallout.Build.Execution.Extensions"; +const string NewExt = "Fallout.Application.Execution.Extensions"; + +bool IsMovable(string ns) => ns == OldRoot || ns.StartsWith(OldRoot + ".") || ns == OldExt || ns.StartsWith(OldExt + "."); +string MapNs(string ns) => + ns == OldRoot || ns.StartsWith(OldRoot + ".") ? NewRoot + ns[OldRoot.Length..] + : ns == OldExt || ns.StartsWith(OldExt + ".") ? NewExt + ns[OldExt.Length..] + : ns; + +IEnumerable CsFiles(params string[] roots) => + roots.Where(Directory.Exists) + .SelectMany(r => Directory.EnumerateFiles(r, "*.cs", SearchOption.AllDirectories)) + .Where(p => !p.Contains($"{Path.DirectorySeparatorChar}obj{Path.DirectorySeparatorChar}") + && !p.Contains($"{Path.DirectorySeparatorChar}bin{Path.DirectorySeparatorChar}") + && !p.Contains($"{Path.DirectorySeparatorChar}.claude{Path.DirectorySeparatorChar}") + && !p.Contains($"{Path.DirectorySeparatorChar}vendor{Path.DirectorySeparatorChar}")); + +static string? NsOf(SyntaxNode n) => + n.Ancestors().OfType().FirstOrDefault()?.Name.ToString(); + +// True when a name appears in a type position (so an added `using` is warranted). Excludes the +// member name in `x.Foo` and the bare call target in `Foo(...)` — the main false-positive sources. +static bool IsTypePosition(SimpleNameSyntax n) => + !(n.Parent is MemberAccessExpressionSyntax ma && ma.Name == n) + && !(n.Parent is InvocationExpressionSyntax inv && inv.Expression == n); + +IEnumerable<(string Name, string Ns)> TopLevelTypes(SyntaxNode root) +{ + foreach (var t in root.DescendantNodes().OfType()) + if (t.Parent is BaseNamespaceDeclarationSyntax && NsOf(t) is { } ns) + yield return (t.Identifier.Text, ns); + foreach (var d in root.DescendantNodes().OfType()) + if (d.Parent is BaseNamespaceDeclarationSyntax && NsOf(d) is { } ns) + yield return (d.Identifier.Text, ns); +} + +// Pass A — types declared in the source project under a movable namespace (these MOVE). +var movedTypes = new Dictionary(); // simpleName -> new namespace +var movedNamespaces = new HashSet(); // old movable namespaces actually present +foreach (var f in CsFiles(sourceProj)) + foreach (var (name, ns) in TopLevelTypes(CSharpSyntaxTree.ParseText(File.ReadAllText(f)).GetRoot())) + if (IsMovable(ns)) { movedTypes[name] = MapNs(ns); movedNamespaces.Add(ns); } + +// Pass B — types under Fallout.Common.* declared OUTSIDE the source project (these STAY = residual). +var residualByNs = new Dictionary>(); +foreach (var f in CsFiles(Path.Combine(repo, "src"))) +{ + if (f.StartsWith(sourceProj, StringComparison.Ordinal)) continue; + foreach (var (name, ns) in TopLevelTypes(CSharpSyntaxTree.ParseText(File.ReadAllText(f)).GetRoot())) + if (ns == OldRoot || ns.StartsWith(OldRoot + ".")) + (residualByNs.TryGetValue(ns, out var s) ? s : residualByNs[ns] = new()).Add(name); +} + +// Pass C — rewrite references repo-wide. +int filesChanged = 0, usingsAdded = 0, usingsDropped = 0, nsDecls = 0; +var samples = new List(); + +foreach (var f in CsFiles(Path.Combine(repo, "src"), Path.Combine(repo, "tests"), Path.Combine(repo, "build"))) +{ + var original = File.ReadAllText(f); + var cu = (CompilationUnitSyntax)CSharpSyntaxTree.ParseText(original).GetRoot(); + var isSource = f.StartsWith(sourceProj, StringComparison.Ordinal); + + // (1) Source-project files: rewrite their namespace declarations. + if (isSource) + { + var before = nsDecls; + cu = (CompilationUnitSyntax)new NsRewriter(IsMovable, MapNs, () => nsDecls++).Visit(cu); + if (nsDecls > before) { /* counted */ } + } + + // (1b) Rewrite fully-qualified references to moved types (e.g. Fallout.Common.Execution.Foo). + cu = (CompilationUnitSyntax)new QualNameRewriter(IsMovable, MapNs, movedTypes).Visit(cu); + + // (2) All files: fix usings by type identity. + // - DROP decision uses a BROAD reference set (every identifier) so we only ever over-keep — safe. + // - ADD decision uses a TYPE-POSITION-filtered set so we don't add usings for method/property + // names that merely collide with a moved type's simple name. + var referencedAll = cu.DescendantNodes().OfType().Select(n => n.Identifier.Text).ToHashSet(); + var referencedTypes = cu.DescendantNodes().OfType().Where(IsTypePosition).Select(n => n.Identifier.Text).ToHashSet(); + var fileNs = cu.DescendantNodes().OfType().FirstOrDefault()?.Name.ToString(); + + var keep = new List(); + foreach (var u in cu.Usings) + { + var name = u.Name?.ToString(); + if (name != null && movedNamespaces.Contains(name)) + { + var residualUsed = residualByNs.TryGetValue(name, out var set) && set.Overlaps(referencedAll); + if (residualUsed) keep.Add(u); else usingsDropped++; // drop usings now empty of residual types + } + else keep.Add(u); + } + + var needed = referencedTypes.Where(movedTypes.ContainsKey).Select(n => movedTypes[n]).Distinct(); + foreach (var ns in needed) + { + if (ns == fileNs) continue; + if (keep.Any(u => u.Name?.ToString() == ns)) continue; + keep.Add(ParseCompilationUnit($"using {ns};\n").Usings[0]); + usingsAdded++; + } + + cu = cu.WithUsings(List(keep)); + var updated = cu.ToFullString(); + if (updated != original) + { + filesChanged++; + if (samples.Count < 12) samples.Add(Path.GetRelativePath(repo, f)); + if (apply) File.WriteAllText(f, updated); + } +} + +Console.WriteLine($"OnionRewriter ({(apply ? "APPLY" : "dry-run")})"); +Console.WriteLine($" moved types : {movedTypes.Count}"); +Console.WriteLine($" moved namespaces : {string.Join(", ", movedNamespaces.OrderBy(x => x))}"); +Console.WriteLine($" residual namespaces: {string.Join(", ", residualByNs.Keys.OrderBy(x => x))}"); +Console.WriteLine($" files changed : {filesChanged}"); +Console.WriteLine($" namespace decls : {nsDecls}"); +Console.WriteLine($" usings added : {usingsAdded}"); +Console.WriteLine($" usings dropped : {usingsDropped}"); +Console.WriteLine($" sample files :\n {string.Join("\n ", samples)}"); + +sealed class NsRewriter(Func isMovable, Func map, Action onHit) : CSharpSyntaxRewriter +{ + public override SyntaxNode? VisitNamespaceDeclaration(NamespaceDeclarationSyntax node) => Rewrite(node, base.VisitNamespaceDeclaration(node)); + public override SyntaxNode? VisitFileScopedNamespaceDeclaration(FileScopedNamespaceDeclarationSyntax node) => Rewrite(node, base.VisitFileScopedNamespaceDeclaration(node)); + + private SyntaxNode? Rewrite(BaseNamespaceDeclarationSyntax original, SyntaxNode? visited) + { + var name = original.Name.ToString(); + if (!isMovable(name) || visited is not BaseNamespaceDeclarationSyntax n) return visited; + onHit(); + return n.WithName(SyntaxFactory.ParseName(map(name)).WithTriviaFrom(original.Name)); + } +} + +// Rewrites fully-qualified references like `Fallout.Common.Execution.Foo` → `Fallout.Application.Execution.Foo`, +// but only when `Foo` is genuinely a moved type that lived in that namespace (guards against a same-named +// type from a different moved namespace). +sealed class QualNameRewriter(Func isMovable, Func map, IReadOnlyDictionary movedTypes) : CSharpSyntaxRewriter +{ + public override SyntaxNode? VisitQualifiedName(QualifiedNameSyntax node) + { + var visited = (QualifiedNameSyntax)base.VisitQualifiedName(node)!; + var left = node.Left.ToString(); + var right = node.Right.Identifier.Text; + if (isMovable(left) && movedTypes.TryGetValue(right, out var newNs) && newNs == map(left)) + return visited.WithLeft(SyntaxFactory.ParseName(map(left)).WithTriviaFrom(node.Left)); + return visited; + } +} From 328ecbd4c2385511d11fd80dce029a9ae39aa5db Mon Sep 17 00:00:00 2001 From: Chrison Simtian Date: Sun, 31 May 2026 22:22:16 +1200 Subject: [PATCH 08/46] tooling: make OnionRewriter semantic (MSBuildWorkspace + symbol resolution) Resolves each reference by the symbol it binds to, so namespace moves are precise: no spurious usings, no CS0104. Opens csprojs individually (sidesteps .slnx). Drops only usings orphaned by the move (leaves pre-existing unused usings alone). Dry-run on the Application ring: 91 moved types, 238 files, 12 qualified refs. Co-Authored-By: Claude Opus 4.8 --- tools/OnionRewriter/DocumentRewriter.cs | 97 +++++++++ tools/OnionRewriter/OnionRewriter.csproj | 10 +- tools/OnionRewriter/Program.cs | 242 ++++++++--------------- 3 files changed, 191 insertions(+), 158 deletions(-) create mode 100644 tools/OnionRewriter/DocumentRewriter.cs diff --git a/tools/OnionRewriter/DocumentRewriter.cs b/tools/OnionRewriter/DocumentRewriter.cs new file mode 100644 index 000000000..59d98678b --- /dev/null +++ b/tools/OnionRewriter/DocumentRewriter.cs @@ -0,0 +1,97 @@ +using Microsoft.CodeAnalysis; +using Microsoft.CodeAnalysis.CSharp; +using Microsoft.CodeAnalysis.CSharp.Syntax; +using static Microsoft.CodeAnalysis.CSharp.SyntaxFactory; + +static class DocumentRewriter +{ + public record struct Counts(bool Changed, int Refs, int Added, int Dropped, int NsDecls); + + public static (SyntaxNode Root, Counts Counts) Rewrite( + SyntaxNode root, SemanticModel model, bool isSource, + Func isMovable, Func mapNs, Func isMoved) + { + var cu = (CompilationUnitSyntax)root; + + // --- Semantic pre-scan: which movable-namespace types are USED here, as types? --- + var usedMovedNewNs = new HashSet(); // new namespaces we must import + var usedMovedOldNs = new HashSet(); // old namespaces a MOVED type was used from + var usedResidualMovableNs = new HashSet(); // old movable namespaces still needed (residual types) + foreach (var name in cu.DescendantNodes().OfType()) + { + if (model.GetSymbolInfo(name).Symbol is not INamedTypeSymbol t) continue; // only type-position binds + var ns = t.OriginalDefinition.ContainingNamespace?.ToDisplayString() ?? ""; + if (!isMovable(ns)) continue; + if (isMoved(t)) { usedMovedNewNs.Add(mapNs(ns)); usedMovedOldNs.Add(ns); } + else usedResidualMovableNs.Add(ns); + } + + // The file's own namespaces (mapped) — never import those. + var ownNs = cu.DescendantNodes().OfType() + .Select(n => n.Name.ToString()) + .Select(n => isSource && isMovable(n) ? mapNs(n) : n) + .ToHashSet(); + + // --- Stage 1: rewrite namespace declarations (source files) + qualified refs to moved types. --- + var rewriter = new SyntaxFixer(model, isSource, isMovable, mapNs, isMoved); + cu = (CompilationUnitSyntax)rewriter.Visit(cu)!; + + // --- Stage 2: reconcile namespace `using` directives. --- + var keep = new List(); + int dropped = 0; + foreach (var u in cu.Usings) + { + var name = u.Name?.ToString(); + if (u.StaticKeyword.IsKind(SyntaxKind.None) && u.Alias is null && name != null && isMovable(name)) + { + // Drop only `using`s orphaned BY THE MOVE — i.e. a moved type was imported from here and + // no residual type still is. Leave pre-existing unused usings alone (not our concern). + if (usedMovedOldNs.Contains(name) && !usedResidualMovableNs.Contains(name)) dropped++; + else keep.Add(u); + } + else keep.Add(u); // static/alias usings get their type names remapped in Stage 1 + } + int added = 0; + foreach (var ns in usedMovedNewNs) + { + if (ownNs.Contains(ns)) continue; + if (keep.Any(u => u.StaticKeyword.IsKind(SyntaxKind.None) && u.Alias is null && u.Name?.ToString() == ns)) continue; + keep.Add(ParseCompilationUnit($"using {ns};\n").Usings[0]); + added++; + } + cu = cu.WithUsings(List(keep)); + + var changed = added > 0 || dropped > 0 || rewriter.Refs > 0 || rewriter.NsDecls > 0; + return (cu, new Counts(changed, rewriter.Refs, added, dropped, rewriter.NsDecls)); + } + + sealed class SyntaxFixer(SemanticModel model, bool isSource, Func isMovable, Func mapNs, Func isMoved) + : CSharpSyntaxRewriter + { + public int Refs, NsDecls; + + public override SyntaxNode? VisitNamespaceDeclaration(NamespaceDeclarationSyntax node) => MapNamespace(node, base.VisitNamespaceDeclaration(node)); + public override SyntaxNode? VisitFileScopedNamespaceDeclaration(FileScopedNamespaceDeclarationSyntax node) => MapNamespace(node, base.VisitFileScopedNamespaceDeclaration(node)); + + SyntaxNode? MapNamespace(BaseNamespaceDeclarationSyntax original, SyntaxNode? visited) + { + var name = original.Name.ToString(); + if (!isSource || !isMovable(name) || visited is not BaseNamespaceDeclarationSyntax n) return visited; + NsDecls++; + return n.WithName(ParseName(mapNs(name)).WithTriviaFrom(original.Name)); + } + + public override SyntaxNode? VisitQualifiedName(QualifiedNameSyntax node) + { + var symbol = model.GetSymbolInfo(node).Symbol as INamedTypeSymbol; + var visited = (QualifiedNameSyntax)base.VisitQualifiedName(node)!; + if (symbol != null && isMoved(symbol)) + { + var ns = symbol.OriginalDefinition.ContainingNamespace!.ToDisplayString(); + Refs++; + return visited.WithLeft(ParseName(mapNs(ns)).WithTriviaFrom(visited.Left)); + } + return visited; + } + } +} diff --git a/tools/OnionRewriter/OnionRewriter.csproj b/tools/OnionRewriter/OnionRewriter.csproj index 857a12404..0278102a5 100644 --- a/tools/OnionRewriter/OnionRewriter.csproj +++ b/tools/OnionRewriter/OnionRewriter.csproj @@ -1,18 +1,22 @@ + outside version.json's pathFilters. SEMANTIC mode: loads the real compilations via + MSBuildWorkspace and rewrites references by the symbol they actually bind to. Pins its own + package versions (central management off) so it doesn't perturb the product's version set. --> Exe net10.0 enable enable false + false - + + + diff --git a/tools/OnionRewriter/Program.cs b/tools/OnionRewriter/Program.cs index 2f062553d..a4ddcd5f3 100644 --- a/tools/OnionRewriter/Program.cs +++ b/tools/OnionRewriter/Program.cs @@ -1,172 +1,104 @@ +using System.Runtime.CompilerServices; +using Microsoft.Build.Locator; using Microsoft.CodeAnalysis; -using Microsoft.CodeAnalysis.CSharp; -using Microsoft.CodeAnalysis.CSharp.Syntax; -using static Microsoft.CodeAnalysis.CSharp.SyntaxFactory; -// OnionRewriter — ADR-0006. Moves every type declared in a source project out of an old namespace -// prefix into a new one, and fixes references across the repo. The hard part it exists for: the old -// root namespace (Fallout.Common) is shared across several projects, so it disambiguates per file by -// the *types actually referenced* — adding/keeping/dropping `using`s accordingly. Biased to -// over-approximate (extra usings are harmless; the compiler catches any genuine miss). -// -// Usage: dotnet run --project tools/OnionRewriter [-- --apply] -// (default = dry run: report only, mutate nothing) +// OnionRewriter (semantic) — ADR-0006. Moves every type declared in a source project out of an old +// namespace prefix into a new one, and fixes references across the whole workspace by the symbol each +// reference actually BINDS to (so simple-name collisions across namespaces resolve correctly — no +// spurious usings, no CS0104). Rewrites: namespace declarations in the source project; qualified +// references to moved types; and `using` directives (add the new namespace, drop the old where no +// residual type is still used). Default = dry run (reports, mutates nothing). Pass --apply to write. -var apply = args.Contains("--apply"); -var repo = Directory.GetCurrentDirectory(); -var sourceProj = Path.Combine(repo, "src", "Fallout.Build") + Path.DirectorySeparatorChar; +MSBuildLocator.RegisterDefaults(); +return await Runner.RunAsync(args); -const string OldRoot = "Fallout.Common"; -const string NewRoot = "Fallout.Application"; -const string OldExt = "Fallout.Build.Execution.Extensions"; -const string NewExt = "Fallout.Application.Execution.Extensions"; - -bool IsMovable(string ns) => ns == OldRoot || ns.StartsWith(OldRoot + ".") || ns == OldExt || ns.StartsWith(OldExt + "."); -string MapNs(string ns) => - ns == OldRoot || ns.StartsWith(OldRoot + ".") ? NewRoot + ns[OldRoot.Length..] - : ns == OldExt || ns.StartsWith(OldExt + ".") ? NewExt + ns[OldExt.Length..] - : ns; - -IEnumerable CsFiles(params string[] roots) => - roots.Where(Directory.Exists) - .SelectMany(r => Directory.EnumerateFiles(r, "*.cs", SearchOption.AllDirectories)) - .Where(p => !p.Contains($"{Path.DirectorySeparatorChar}obj{Path.DirectorySeparatorChar}") - && !p.Contains($"{Path.DirectorySeparatorChar}bin{Path.DirectorySeparatorChar}") - && !p.Contains($"{Path.DirectorySeparatorChar}.claude{Path.DirectorySeparatorChar}") - && !p.Contains($"{Path.DirectorySeparatorChar}vendor{Path.DirectorySeparatorChar}")); - -static string? NsOf(SyntaxNode n) => - n.Ancestors().OfType().FirstOrDefault()?.Name.ToString(); - -// True when a name appears in a type position (so an added `using` is warranted). Excludes the -// member name in `x.Foo` and the bare call target in `Foo(...)` — the main false-positive sources. -static bool IsTypePosition(SimpleNameSyntax n) => - !(n.Parent is MemberAccessExpressionSyntax ma && ma.Name == n) - && !(n.Parent is InvocationExpressionSyntax inv && inv.Expression == n); - -IEnumerable<(string Name, string Ns)> TopLevelTypes(SyntaxNode root) -{ - foreach (var t in root.DescendantNodes().OfType()) - if (t.Parent is BaseNamespaceDeclarationSyntax && NsOf(t) is { } ns) - yield return (t.Identifier.Text, ns); - foreach (var d in root.DescendantNodes().OfType()) - if (d.Parent is BaseNamespaceDeclarationSyntax && NsOf(d) is { } ns) - yield return (d.Identifier.Text, ns); -} - -// Pass A — types declared in the source project under a movable namespace (these MOVE). -var movedTypes = new Dictionary(); // simpleName -> new namespace -var movedNamespaces = new HashSet(); // old movable namespaces actually present -foreach (var f in CsFiles(sourceProj)) - foreach (var (name, ns) in TopLevelTypes(CSharpSyntaxTree.ParseText(File.ReadAllText(f)).GetRoot())) - if (IsMovable(ns)) { movedTypes[name] = MapNs(ns); movedNamespaces.Add(ns); } - -// Pass B — types under Fallout.Common.* declared OUTSIDE the source project (these STAY = residual). -var residualByNs = new Dictionary>(); -foreach (var f in CsFiles(Path.Combine(repo, "src"))) +static class Runner { - if (f.StartsWith(sourceProj, StringComparison.Ordinal)) continue; - foreach (var (name, ns) in TopLevelTypes(CSharpSyntaxTree.ParseText(File.ReadAllText(f)).GetRoot())) - if (ns == OldRoot || ns.StartsWith(OldRoot + ".")) - (residualByNs.TryGetValue(ns, out var s) ? s : residualByNs[ns] = new()).Add(name); -} - -// Pass C — rewrite references repo-wide. -int filesChanged = 0, usingsAdded = 0, usingsDropped = 0, nsDecls = 0; -var samples = new List(); - -foreach (var f in CsFiles(Path.Combine(repo, "src"), Path.Combine(repo, "tests"), Path.Combine(repo, "build"))) -{ - var original = File.ReadAllText(f); - var cu = (CompilationUnitSyntax)CSharpSyntaxTree.ParseText(original).GetRoot(); - var isSource = f.StartsWith(sourceProj, StringComparison.Ordinal); - - // (1) Source-project files: rewrite their namespace declarations. - if (isSource) + const string OldRoot = "Fallout.Common"; + const string NewRoot = "Fallout.Application"; + const string OldExt = "Fallout.Build.Execution.Extensions"; + const string NewExt = "Fallout.Application.Execution.Extensions"; + const string SourceAssembly = "Fallout.Build"; + + static bool IsMovable(string ns) => ns == OldRoot || ns.StartsWith(OldRoot + ".") || ns == OldExt || ns.StartsWith(OldExt + "."); + static string MapNs(string ns) => + ns == OldRoot || ns.StartsWith(OldRoot + ".") ? NewRoot + ns[OldRoot.Length..] + : ns == OldExt || ns.StartsWith(OldExt + ".") ? NewExt + ns[OldExt.Length..] + : ns; + + [MethodImpl(MethodImplOptions.NoInlining)] + public static async Task RunAsync(string[] args) { - var before = nsDecls; - cu = (CompilationUnitSyntax)new NsRewriter(IsMovable, MapNs, () => nsDecls++).Visit(cu); - if (nsDecls > before) { /* counted */ } - } + var apply = args.Contains("--apply"); + var repo = Directory.GetCurrentDirectory(); - // (1b) Rewrite fully-qualified references to moved types (e.g. Fallout.Common.Execution.Foo). - cu = (CompilationUnitSyntax)new QualNameRewriter(IsMovable, MapNs, movedTypes).Visit(cu); + using var ws = Microsoft.CodeAnalysis.MSBuild.MSBuildWorkspace.Create(); + ws.WorkspaceFailed += (_, e) => { if (e.Diagnostic.Kind == WorkspaceDiagnosticKind.Failure) Console.Error.WriteLine(" ws: " + e.Diagnostic.Message); }; - // (2) All files: fix usings by type identity. - // - DROP decision uses a BROAD reference set (every identifier) so we only ever over-keep — safe. - // - ADD decision uses a TYPE-POSITION-filtered set so we don't add usings for method/property - // names that merely collide with a moved type's simple name. - var referencedAll = cu.DescendantNodes().OfType().Select(n => n.Identifier.Text).ToHashSet(); - var referencedTypes = cu.DescendantNodes().OfType().Where(IsTypePosition).Select(n => n.Identifier.Text).ToHashSet(); - var fileNs = cu.DescendantNodes().OfType().FirstOrDefault()?.Name.ToString(); + var csprojs = Directory.EnumerateFiles(Path.Combine(repo, "src"), "*.csproj", SearchOption.AllDirectories) + .Concat(Directory.EnumerateFiles(Path.Combine(repo, "tests"), "*.csproj", SearchOption.AllDirectories)) + .Concat(Directory.EnumerateFiles(Path.Combine(repo, "build"), "*.csproj", SearchOption.AllDirectories)) + .Where(p => !p.Contains($"{Path.DirectorySeparatorChar}obj{Path.DirectorySeparatorChar}") && !p.Contains($"{Path.DirectorySeparatorChar}bin{Path.DirectorySeparatorChar}")) + .OrderBy(p => p).ToList(); - var keep = new List(); - foreach (var u in cu.Usings) - { - var name = u.Name?.ToString(); - if (name != null && movedNamespaces.Contains(name)) + Console.WriteLine($"Loading {csprojs.Count} projects into the workspace…"); + foreach (var p in csprojs) { - var residualUsed = residualByNs.TryGetValue(name, out var set) && set.Overlaps(referencedAll); - if (residualUsed) keep.Add(u); else usingsDropped++; // drop usings now empty of residual types + try { await ws.OpenProjectAsync(p); } + catch (Exception ex) { Console.Error.WriteLine($" open failed {Path.GetFileName(p)}: {ex.Message}"); } } - else keep.Add(u); - } - - var needed = referencedTypes.Where(movedTypes.ContainsKey).Select(n => movedTypes[n]).Distinct(); - foreach (var ns in needed) - { - if (ns == fileNs) continue; - if (keep.Any(u => u.Name?.ToString() == ns)) continue; - keep.Add(ParseCompilationUnit($"using {ns};\n").Usings[0]); - usingsAdded++; - } - - cu = cu.WithUsings(List(keep)); - var updated = cu.ToFullString(); - if (updated != original) - { - filesChanged++; - if (samples.Count < 12) samples.Add(Path.GetRelativePath(repo, f)); - if (apply) File.WriteAllText(f, updated); - } -} + var sln = ws.CurrentSolution; + Console.WriteLine($"Loaded {sln.Projects.Count()} projects."); + + // Moved types: declared in the source assembly under a movable namespace. Keyed by full name. + var sourceProject = sln.Projects.FirstOrDefault(p => p.AssemblyName == SourceAssembly); + if (sourceProject is null) { Console.Error.WriteLine($"FATAL: source project {SourceAssembly} not loaded."); return 1; } + var sourceComp = await sourceProject.GetCompilationAsync(); + var movedFullNames = new HashSet(); + void Collect(INamespaceSymbol nsSym) + { + foreach (var t in nsSym.GetTypeMembers()) if (IsMovable(nsSym.ToDisplayString())) movedFullNames.Add($"{nsSym.ToDisplayString()}.{t.Name}"); + foreach (var child in nsSym.GetNamespaceMembers()) Collect(child); + } + Collect(sourceComp!.Assembly.GlobalNamespace); + Console.WriteLine($"Moved types (declared in {SourceAssembly}, movable ns): {movedFullNames.Count}"); -Console.WriteLine($"OnionRewriter ({(apply ? "APPLY" : "dry-run")})"); -Console.WriteLine($" moved types : {movedTypes.Count}"); -Console.WriteLine($" moved namespaces : {string.Join(", ", movedNamespaces.OrderBy(x => x))}"); -Console.WriteLine($" residual namespaces: {string.Join(", ", residualByNs.Keys.OrderBy(x => x))}"); -Console.WriteLine($" files changed : {filesChanged}"); -Console.WriteLine($" namespace decls : {nsDecls}"); -Console.WriteLine($" usings added : {usingsAdded}"); -Console.WriteLine($" usings dropped : {usingsDropped}"); -Console.WriteLine($" sample files :\n {string.Join("\n ", samples)}"); + bool IsMovedType(INamedTypeSymbol t) + { + var ns = t.OriginalDefinition.ContainingNamespace?.ToDisplayString() ?? ""; + return t.OriginalDefinition.ContainingAssembly?.Name == SourceAssembly && IsMovable(ns) && movedFullNames.Contains($"{ns}.{t.OriginalDefinition.Name}"); + } -sealed class NsRewriter(Func isMovable, Func map, Action onHit) : CSharpSyntaxRewriter -{ - public override SyntaxNode? VisitNamespaceDeclaration(NamespaceDeclarationSyntax node) => Rewrite(node, base.VisitNamespaceDeclaration(node)); - public override SyntaxNode? VisitFileScopedNamespaceDeclaration(FileScopedNamespaceDeclarationSyntax node) => Rewrite(node, base.VisitFileScopedNamespaceDeclaration(node)); + int filesChanged = 0, refsRewritten = 0, usingsAdded = 0, usingsDropped = 0, nsDecls = 0; + var samples = new List(); - private SyntaxNode? Rewrite(BaseNamespaceDeclarationSyntax original, SyntaxNode? visited) - { - var name = original.Name.ToString(); - if (!isMovable(name) || visited is not BaseNamespaceDeclarationSyntax n) return visited; - onHit(); - return n.WithName(SyntaxFactory.ParseName(map(name)).WithTriviaFrom(original.Name)); - } -} + foreach (var project in sln.Projects) + { + var isSource = project.AssemblyName == SourceAssembly; + foreach (var doc in project.Documents) + { + if (doc.FilePath is null || !doc.FilePath.EndsWith(".cs") || doc.FilePath.Contains($"{Path.DirectorySeparatorChar}obj{Path.DirectorySeparatorChar}")) continue; + var model = await doc.GetSemanticModelAsync(); + var root = await doc.GetSyntaxRootAsync(); + if (model is null || root is null) continue; + + var (newRoot, c) = DocumentRewriter.Rewrite(root, model, isSource, IsMovable, MapNs, IsMovedType); + if (c.Changed) + { + filesChanged++; refsRewritten += c.Refs; usingsAdded += c.Added; usingsDropped += c.Dropped; nsDecls += c.NsDecls; + if (samples.Count < 12) samples.Add(Path.GetRelativePath(repo, doc.FilePath)); + if (apply) await File.WriteAllTextAsync(doc.FilePath, newRoot.ToFullString()); + } + } + } -// Rewrites fully-qualified references like `Fallout.Common.Execution.Foo` → `Fallout.Application.Execution.Foo`, -// but only when `Foo` is genuinely a moved type that lived in that namespace (guards against a same-named -// type from a different moved namespace). -sealed class QualNameRewriter(Func isMovable, Func map, IReadOnlyDictionary movedTypes) : CSharpSyntaxRewriter -{ - public override SyntaxNode? VisitQualifiedName(QualifiedNameSyntax node) - { - var visited = (QualifiedNameSyntax)base.VisitQualifiedName(node)!; - var left = node.Left.ToString(); - var right = node.Right.Identifier.Text; - if (isMovable(left) && movedTypes.TryGetValue(right, out var newNs) && newNs == map(left)) - return visited.WithLeft(SyntaxFactory.ParseName(map(left)).WithTriviaFrom(node.Left)); - return visited; + Console.WriteLine($"\nOnionRewriter ({(apply ? "APPLY" : "dry-run")})"); + Console.WriteLine($" files changed : {filesChanged}"); + Console.WriteLine($" namespace decls : {nsDecls}"); + Console.WriteLine($" qualified refs : {refsRewritten}"); + Console.WriteLine($" usings added : {usingsAdded}"); + Console.WriteLine($" usings dropped : {usingsDropped}"); + Console.WriteLine($" sample files :\n {string.Join("\n ", samples)}"); + return 0; } } From f91c0d097683d7b7ad49c12ed9a432b46fccace3 Mon Sep 17 00:00:00 2001 From: Chrison Simtian Date: Sun, 31 May 2026 22:48:35 +1200 Subject: [PATCH 09/46] =?UTF-8?q?refactor(arch)!:=20Application=20ring=20?= =?UTF-8?q?=E2=80=94=20core=20API=20->=20Fallout.Application=20(onion=20st?= =?UTF-8?q?ep=202)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ADR-0006 step 2, via the semantic OnionRewriter (MSBuildWorkspace + symbol resolution). Every type Fallout.Build declared under Fallout.Common.* (FalloutBuild, Target, [Parameter], Host, the ports, the execution engine, value injection) moves to Fallout.Application.*; references fixed repo-wide by the symbol each binds to. ~297 files; full solution builds and tests green (~450 tests, incl. Domain fitness). Tool refinements landed here: name-based moved-type classification (cross-project), package-consumer skip, attribute/extension-method detection, nested-type qualified refs, evacuated- vs surviving-namespace using reconciliation. Four dangling usings hand-finished; Verify snapshots (solution generator, cake-migration) updated. Deferred (ADR-0006): Nuke.* shim parity lapses — Nuke.Consumer + Nuke.Common.Shim.Tests temporarily excluded from the solution, to be re-addressed by the redesigned migration phase. Project-FILE rename (Fallout.Build dir/csproj -> Fallout.Application) still to do — namespaces are migrated; the assembly is renamed in a mechanical follow-up. BREAKING CHANGE: Fallout.Common.* core-API namespaces -> Fallout.Application.*. On experimental; batched to the 2026 major. Co-Authored-By: Claude Opus 4.8 --- build/Build.CodeGeneration.cs | 4 +- build/Build.Contributors.cs | 1 + build/Build.GlobalSolution.cs | 6 +-- build/Build.Licenses.cs | 2 +- build/Build.PublicApi.cs | 1 + build/Build.RunTargetInDockerTest.cs | 1 + build/Build.Stargazers.cs | 4 +- build/Build.Terminal.cs | 6 +-- build/Build.cs | 9 +++-- fallout.slnx | 6 ++- .../ArgumentsFromGitCommitMessageAttribute.cs | 10 +++-- .../DisableDefaultOutputAttribute.cs | 4 +- ...ShutdownDotNetAfterServerBuildAttribute.cs | 4 +- ...sualStudioEnvironmentVariablesAttribute.cs | 2 +- .../Attributes/VerbosityMappingAttribute.cs | 7 +++- .../BuildServerConfigurationGeneration.cs | 3 +- ...verConfigurationGenerationAttributeBase.cs | 7 ++-- src/Fallout.Build/CICD/CIAttribute.cs | 8 ++-- .../CICD/ChainedConfigurationAttributeBase.cs | 5 ++- .../CICD/ConfigurationAttributeBase.cs | 8 ++-- src/Fallout.Build/CICD/ConfigurationEntity.cs | 4 +- src/Fallout.Build/CICD/CustomFileWriter.cs | 3 +- ...erateBuildServerConfigurationsAttribute.cs | 8 ++-- src/Fallout.Build/CICD/IBuildServer.cs | 4 +- .../CICD/IConfigurationGenerator.cs | 4 +- ...dServerConfigurationGenerationAttribute.cs | 9 +++-- src/Fallout.Build/CICD/NoConvertAttribute.cs | 4 +- src/Fallout.Build/CICD/Partition.cs | 2 +- src/Fallout.Build/CICD/PartitionAttribute.cs | 3 +- src/Fallout.Build/ControlFlow.cs | 5 ++- src/Fallout.Build/Execution/BuildExecutor.cs | 4 +- src/Fallout.Build/Execution/BuildManager.cs | 6 ++- .../Execution/DelegateRequirementService.cs | 9 +++-- .../Execution/ExecutableTarget.cs | 3 +- .../Execution/ExecutableTargetFactory.cs | 6 ++- .../Execution/ExecutionPlanner.cs | 4 +- .../BuildExtensionAttributeBase.cs | 3 +- .../ToolInjectionAttributeBase.cs | 7 ++-- .../ValueInjectionAttributeBase.cs | 4 +- .../ArgumentsFromParametersFileAttribute.cs | 11 ++++-- .../Execution/Extensions/EventInvoker.cs | 5 ++- .../Extensions/HandleHelpRequestsAttribute.cs | 5 ++- .../Extensions/HandlePlanRequestsAttribute.cs | 6 +-- ...dleReSharperSurrogateArgumentsAttribute.cs | 5 ++- .../HandleShellCompletionAttribute.cs | 6 ++- .../HandleVisualStudioDebuggingAttribute.cs | 4 +- .../InjectNonParameterValuesAttribute.cs | 7 ++-- .../InjectParameterValuesAttribute.cs | 7 ++-- .../SerializeBuildServerStateAttribute.cs | 6 +-- .../Extensions/TelemetryAttribute.cs | 4 +- .../Extensions/UpdateNotificationAttribute.cs | 6 ++- .../Execution/ParameterService.Statics.cs | 5 ++- .../Execution/ParameterService.cs | 3 +- .../Execution/TargetDefinition.cs | 7 +++- .../Execution/TargetExecutionException.cs | 2 +- .../Execution/ToolRequirementService.cs | 6 ++- .../Execution/ValueInjectionUtility.cs | 6 ++- src/Fallout.Build/FalloutBuild.Events.cs | 6 +-- src/Fallout.Build/FalloutBuild.Interface.cs | 6 +-- src/Fallout.Build/FalloutBuild.Output.cs | 4 +- src/Fallout.Build/FalloutBuild.Statics.cs | 9 +++-- src/Fallout.Build/FalloutBuild.cs | 13 ++++--- src/Fallout.Build/Host.Activation.cs | 7 ++-- src/Fallout.Build/Host.Theming.cs | 6 +-- src/Fallout.Build/Host.cs | 9 +++-- src/Fallout.Build/IFalloutBuild.cs | 6 +-- src/Fallout.Build/ITargetDefinition.cs | 4 +- src/Fallout.Build/LogLevel.cs | 4 +- src/Fallout.Build/Logging.cs | 11 ++++-- src/Fallout.Build/ParameterAttribute.cs | 6 +-- src/Fallout.Build/RequiresAttribute.cs | 5 ++- src/Fallout.Build/Target.cs | 4 +- .../Telemetry/Telemetry.Events.cs | 6 ++- .../Telemetry/Telemetry.Properties.cs | 12 +++--- src/Fallout.Build/Telemetry/Telemetry.cs | 8 ++-- src/Fallout.Build/Terminal.cs | 5 ++- .../Theming/AnsiConsoleHostTheme.cs | 4 +- src/Fallout.Build/Theming/IHostTheme.cs | 4 +- .../Theming/SystemConsoleHostTheme.cs | 4 +- src/Fallout.Build/Utilities/ConsoleUtility.cs | 5 ++- .../Utilities/CredentialStore.cs | 7 +++- src/Fallout.Build/Utilities/SchemaUtility.cs | 7 +++- src/Fallout.Build/VCS/GitRepository.cs | 6 ++- .../VCS/GitRepositoryExtensions.cs | 4 +- src/Fallout.Build/Verbosity.cs | 4 +- src/Fallout.Cli/Program.AddPackage.cs | 5 ++- src/Fallout.Cli/Program.Cake.cs | 5 ++- src/Fallout.Cli/Program.GetConfiguration.cs | 3 +- src/Fallout.Cli/Program.Secrets.cs | 2 + src/Fallout.Cli/Program.Setup.cs | 3 +- src/Fallout.Cli/Program.Trigger.cs | 4 +- src/Fallout.Cli/Program.Update.cs | 5 ++- src/Fallout.Cli/Program.cs | 3 +- .../Rewriting/Cake/ClassRewriter.cs | 1 + .../Rewriting/Cake/FormattingRewriter.cs | 1 + .../Rewriting/Cake/InvocationRewriter.cs | 1 + .../Rewriting/Cake/SafeSyntaxRewriter.cs | 4 +- .../Cake/TargetDefinitionRewriter.cs | 1 + .../CheckPathEnvironmentVariableAttribute.cs | 3 +- .../FileSystemGlobbingAttributeBase.cs | 3 +- .../Attributes/GitRepositoryAttribute.cs | 5 ++- .../Attributes/GlobbingOptionsAttribute.cs | 2 +- .../HandleSingleFileExecutionAttribute.cs | 3 +- .../LatestGitHubReleaseAttribute.cs | 6 +-- .../Attributes/LatestMavenVersionAttribute.cs | 4 +- .../Attributes/LatestMyGetVersionAttribute.cs | 4 +- .../Attributes/LatestNpmVersionAttribute.cs | 4 +- .../Attributes/LatestNuGetVersionAttribute.cs | 4 +- .../Attributes/LocalPathAttribute.cs | 3 +- .../Attributes/NpmPackageAttribute.cs | 3 +- .../Attributes/NuGetPackageAttribute.cs | 3 +- .../Attributes/PathVariableAttribute.cs | 3 +- .../Attributes/SolutionAttribute.cs | 3 +- .../CI/AppVeyor/AppVeyor.Theming.cs | 4 +- src/Fallout.Common/CI/AppVeyor/AppVeyor.cs | 2 + .../CI/AppVeyor/AppVeyorAttribute.cs | 5 ++- .../Configuration/AppVeyorBranches.cs | 3 +- .../Configuration/AppVeyorConfiguration.cs | 2 + .../AppVeyorCustomWriterExtensions.cs | 1 + .../AzurePipelines/AzurePipelines.Theming.cs | 4 +- .../CI/AzurePipelines/AzurePipelines.cs | 4 +- .../AzurePipelines/AzurePipelinesAttribute.cs | 6 ++- .../AzurePipelineCheckoutStep.cs | 2 +- .../Configuration/AzurePipelinesCacheStep.cs | 3 +- .../Configuration/AzurePipelinesCmdStep.cs | 3 +- .../AzurePipelinesConfiguration.cs | 3 +- .../AzurePipelinesCustomWriterExtensions.cs | 1 + .../AzurePipelinesDownloadStep.cs | 3 +- .../Configuration/AzurePipelinesJob.cs | 2 + .../AzurePipelinesPublishStep.cs | 3 +- .../Configuration/AzurePipelinesStage.cs | 2 + .../Configuration/AzurePipelinesStep.cs | 3 +- .../AzurePipelinesVcsPushTrigger.cs | 5 ++- src/Fallout.Common/CI/Bamboo/Bamboo.cs | 4 +- src/Fallout.Common/CI/Bitbucket/Bitbucket.cs | 4 +- src/Fallout.Common/CI/Bitrise/Bitrise.cs | 4 +- .../GitHubActionsArtifactStep.cs | 3 +- .../Configuration/GitHubActionsCacheStep.cs | 3 +- .../GitHubActionsCheckoutStep.cs | 3 +- .../GitHubActionsConfiguration.cs | 2 + .../GitHubActionsDetailedTrigger.cs | 1 + .../Configuration/GitHubActionsJob.cs | 2 + .../Configuration/GitHubActionsRunStep.cs | 1 + .../GitHubActionsScheduledTrigger.cs | 2 +- .../Configuration/GitHubActionsStep.cs | 1 + .../Configuration/GitHubActionsVcsTrigger.cs | 1 + .../GitHubActionsWorkflowDispatchTrigger.cs | 3 +- .../CI/GitHubActions/GitHubActions.Theming.cs | 4 +- .../CI/GitHubActions/GitHubActions.cs | 2 + .../GitHubActions/GitHubActionsAttribute.cs | 6 ++- .../CI/GitLab/GitLab.Theming.cs | 4 +- src/Fallout.Common/CI/GitLab/GitLab.cs | 2 + src/Fallout.Common/CI/Jenkins/Jenkins.cs | 4 +- .../SpaceAutomationConfiguration.cs | 4 +- .../Configuration/SpaceAutomationContainer.cs | 4 +- .../SpaceAutomationCronScheduleTrigger.cs | 3 +- .../SpaceAutomationCustomWriterExtensions.cs | 3 +- .../SpaceAutomationPushTrigger.cs | 3 +- .../Configuration/SpaceAutomationResources.cs | 5 ++- .../Configuration/SpaceAutomationTrigger.cs | 3 +- .../SpaceAutomation.Theming.cs | 2 +- .../CI/SpaceAutomation/SpaceAutomation.cs | 4 +- .../SpaceAutomationAttribute.cs | 6 ++- .../TeamCityArtifactDependency.cs | 2 +- .../Configuration/TeamCityBuildType.cs | 2 + .../Configuration/TeamCityBuildTypeVcsRoot.cs | 3 +- .../Configuration/TeamCityConfiguration.cs | 2 + .../TeamCityConfigurationParameter.cs | 1 + .../TeamCityCustomWriterExtensions.cs | 1 + .../Configuration/TeamCityDependency.cs | 1 + .../TeamCityFinishBuildTrigger.cs | 1 + .../TeamCityKeyValueParameter.cs | 1 + .../Configuration/TeamCityParameter.cs | 1 + .../TeamCity/Configuration/TeamCityProject.cs | 2 + .../Configuration/TeamCityScheduledTrigger.cs | 2 +- .../TeamCitySnapshotDependency.cs | 1 + .../TeamCity/Configuration/TeamCityTrigger.cs | 1 + .../TeamCity/Configuration/TeamCityVcsRoot.cs | 3 +- .../Configuration/TeamCityVcsTrigger.cs | 2 +- .../CI/TeamCity/TeamCity.Theming.cs | 6 +-- src/Fallout.Common/CI/TeamCity/TeamCity.cs | 4 +- .../CI/TeamCity/TeamCityAttribute.cs | 7 +++- src/Fallout.Common/CI/TravisCI/TravisCI.cs | 4 +- .../ChangeLog/ChangeLogTasks.cs | 3 +- src/Fallout.Common/IO/FtpTasks.cs | 3 +- .../AzureKeyVaultAttributeBase.cs | 5 ++- .../AzureKeyVaultConfigurationAttribute.cs | 4 +- .../AzureKeyVaultSecretAttribute.cs | 3 +- .../AzureSignTool/AzureSignTool.Generated.cs | 5 +-- .../BenchmarkDotNet.Generated.cs | 1 - .../Tools/Boots/Boots.Generated.cs | 1 - .../Tools/Chocolatey/Chocolatey.Generated.cs | 5 +-- .../CodeMetrics/CodeMetrics.Generated.cs | 1 - .../Tools/Codecov/Codecov.Generated.cs | 5 +-- .../Tools/CorFlags/CorFlags.Generated.cs | 1 - .../CoverallsNet/CoverallsNet.Generated.cs | 5 +-- .../Tools/Coverlet/Coverlet.Generated.cs | 1 - .../Tools/Discord/Discord.Generated.cs | 1 - .../Tools/DocFX/DocFX.Generated.cs | 1 - .../Tools/Docker/Docker.Generated.cs | 5 +-- .../DockerTargetDefinitionExtensions.cs | 3 +- .../Tools/DotCover/DotCover.Generated.cs | 1 - .../TeamCitySetDotCoverHomePathAttribute.cs | 2 +- .../DotMemoryUnit/DotMemoryUnit.Generated.cs | 1 - .../Tools/DotNet/DotNet.Generated.cs | 5 +-- .../Tools/DotNet/DotNetTasks.cs | 1 + .../DotnetPackaging.Generated.cs | 1 - .../EntityFramework.Generated.cs | 1 - .../Tools/Fixie/Fixie.Generated.cs | 1 - src/Fallout.Common/Tools/Git/Git.Generated.cs | 1 - .../Tools/GitHub/GitHubTasks.cs | 3 +- .../Tools/GitLink/GitLink.Generated.cs | 1 - .../GitReleaseManager.Generated.cs | 5 +-- .../Tools/GitVersion/GitVersion.Generated.cs | 5 +-- .../Tools/GitVersion/GitVersionAttribute.cs | 9 +++-- .../Tools/Helm/Helm.Generated.cs | 5 +-- .../Tools/ILRepack/ILRepack.Generated.cs | 1 - .../Tools/InnoSetup/InnoSetup.Generated.cs | 1 - .../Tools/Kubernetes/Kubernetes.Generated.cs | 1 - .../Tools/MSBuild/MSBuild.Generated.cs | 1 - .../Tools/MSBuild/MSBuildTasks.cs | 1 + .../Tools/MSpec/MSpec.Generated.cs | 1 - .../Tools/MakeNsis/MakeNSIS.Generated.cs | 1 - .../Tools/Mastodon/Mastodon.Generated.cs | 1 - .../Tools/MauiCheck/MauiCheck.Generated.cs | 1 - .../Tools/MinVer/MinVer.Generated.cs | 1 - .../Tools/MinVer/MinVerAttribute.cs | 4 +- .../Tools/NSwag/NSwag.Generated.cs | 1 - .../Tools/NUnit/NUnit.Generated.cs | 1 - src/Fallout.Common/Tools/NUnit/NUnitTasks.cs | 2 +- .../NerdbankGitVersioning.Generated.cs | 1 - .../NerdbankGitVersioningAttribute.cs | 2 +- .../Tools/Netlify/Netlify.Generated.cs | 5 +-- src/Fallout.Common/Tools/Npm/Npm.Generated.cs | 1 - .../Tools/NuGet/NuGet.Generated.cs | 5 +-- .../NuGetKeyVaultSignTool.Generated.cs | 5 +-- .../OctoVersion/OctoVersion.Generated.cs | 1 - .../Tools/OctoVersion/OctoVersionAttribute.cs | 7 ++-- .../Tools/Octopus/Octopus.Generated.cs | 5 +-- .../Tools/OpenCover/OpenCover.Generated.cs | 1 - .../Tools/OpenCover/OpenCoverTasks.cs | 3 +- .../Tools/Paket/Paket.Generated.cs | 5 +-- .../Tools/PowerShell/PowerShell.Generated.cs | 1 - .../Tools/Pulumi/Pulumi.Generated.cs | 1 - .../Tools/Pwsh/Pwsh.Generated.cs | 1 - .../ReportGenerator.Generated.cs | 1 - .../ReportGenerator/ReportGeneratorTasks.cs | 2 +- .../Tools/SignClient/SignClient.Generated.cs | 5 +-- .../Tools/SignPath/SignPathTasks.cs | 5 ++- .../Tools/SignTool/SignTool.Generated.cs | 5 +-- .../Tools/Slack/Slack.Generated.cs | 1 - .../SonarScanner/SonarScanner.Generated.cs | 5 +-- .../Tools/SpecFlow/SpecFlow.Generated.cs | 5 +-- .../Tools/Squirrel/Squirrel.Generated.cs | 1 - .../StaticWebApps/StaticWebApps.Generated.cs | 5 +-- .../Tools/Teams/Teams.Generated.cs | 1 - .../Tools/TestCloud/TestCloud.Generated.cs | 1 - .../Tools/Unity/Unity.Generated.cs | 5 +-- src/Fallout.Common/Tools/Unity/UnityTasks.cs | 3 +- .../Tools/VSTest/VSTest.Generated.cs | 1 - .../Tools/VSWhere/VSWhere.Generated.cs | 1 - .../WebConfigTransformRunner.Generated.cs | 1 - .../Tools/Xunit/Xunit.Generated.cs | 1 - src/Fallout.Components/ICompile.cs | 4 +- .../ICreateGitHubRelease.cs | 3 +- src/Fallout.Components/IGlobalTool.cs | 2 +- src/Fallout.Components/IHasArtifacts.cs | 4 +- src/Fallout.Components/IHasChangelog.cs | 4 +- src/Fallout.Components/IHasConfiguration.cs | 4 +- src/Fallout.Components/IHasGitRepository.cs | 5 ++- src/Fallout.Components/IHasGitVersion.cs | 4 +- .../IHasNerdbankGitVersioning.cs | 4 +- src/Fallout.Components/IHasSolution.cs | 4 +- .../IHasTwitterCredentials.cs | 4 +- src/Fallout.Components/IPack.cs | 4 +- src/Fallout.Components/IPublish.cs | 1 + src/Fallout.Components/IReportCoverage.cs | 4 +- src/Fallout.Components/IRestore.cs | 4 +- src/Fallout.Components/ISignPackages.cs | 2 +- src/Fallout.Components/ITest.cs | 4 +- src/Shims/Nuke.Common/NukeBuild.cs | 5 ++- .../Consumers/Fallout.Consumer.Local/Build.cs | 6 +-- .../Fallout.Build.Tests/BuildExecutorTest.cs | 5 ++- tests/Fallout.Build.Tests/ControlFlowTest.cs | 1 + .../DefaultInterfaceExecutionTest.cs | 5 ++- .../ExecutableTargetFactoryTest.cs | 3 +- .../ExecutionPlannerTest.cs | 2 +- .../ExecutionTestsInitializer.cs | 4 +- .../Fallout.Build.Tests/GitRepositoryTest.cs | 4 +- tests/Fallout.Build.Tests/HostInitializer.cs | 3 +- .../ParameterServiceTest.cs | 1 + .../Fallout.Build.Tests/SchemaUtilityTest.cs | 5 ++- .../cake-scripts/default-target.verified.cs | 4 +- .../cake-scripts/globbing.verified.cs | 4 +- .../cake-scripts/parameters.verified.cs | 4 +- .../cake-scripts/paths.verified.cs | 4 +- .../cake-scripts/references.verified.cs | 4 +- .../cake-scripts/targets.verified.cs | 4 +- .../cake-scripts/tool-invocation.verified.cs | 4 +- .../CI/ConfigurationGenerationTest.cs | 7 ++-- .../CI/ITestConfigurationGenerator.cs | 2 +- tests/Fallout.Common.Tests/CITest.cs | 4 +- tests/Fallout.Common.Tests/GitHubTasksTest.cs | 2 +- ...nGeneratorTest.Test#Solution.g.verified.cs | 2 - .../StronglyTypedSolutionGeneratorTest.cs | 4 +- .../SampleConsumerBuild.cs | 3 +- tools/OnionRewriter/DocumentRewriter.cs | 38 +++++++++++++++---- tools/OnionRewriter/Program.cs | 31 ++++++++++++++- 308 files changed, 677 insertions(+), 514 deletions(-) diff --git a/build/Build.CodeGeneration.cs b/build/Build.CodeGeneration.cs index f8ab28165..77bca43d1 100644 --- a/build/Build.CodeGeneration.cs +++ b/build/Build.CodeGeneration.cs @@ -1,11 +1,11 @@ -using System; -using Fallout.Common; +using System; using Fallout.Common.IO; using Fallout.Common.Tools.GitHub; using Fallout.Common.Utilities.Collections; using static Fallout.CodeGeneration.CodeGenerator; using static Fallout.CodeGeneration.ReferenceUpdater; using static Fallout.Common.Tools.Git.GitTasks; +using Fallout.Application; partial class Build { diff --git a/build/Build.Contributors.cs b/build/Build.Contributors.cs index a3910c293..8a1ce85fe 100644 --- a/build/Build.Contributors.cs +++ b/build/Build.Contributors.cs @@ -5,6 +5,7 @@ using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; using static Fallout.Common.Tools.Git.GitTasks; +using Fallout.Application; partial class Build { diff --git a/build/Build.GlobalSolution.cs b/build/Build.GlobalSolution.cs index 7efdea75f..83bd1d7e3 100644 --- a/build/Build.GlobalSolution.cs +++ b/build/Build.GlobalSolution.cs @@ -2,15 +2,15 @@ using System.Collections.Generic; using System.IO; using System.Linq; -using Fallout.Common; -using Fallout.Common.Git; using Fallout.Common.IO; using Fallout.Solutions; using Fallout.Common.Tools.GitHub; using Fallout.Common.Utilities; using Fallout.Utilities.Text.Yaml; -using static Fallout.Common.ControlFlow; +using static Fallout.Application.ControlFlow; using static Fallout.Common.Tools.Git.GitTasks; +using Fallout.Application; +using Fallout.Application.Git; partial class Build { diff --git a/build/Build.Licenses.cs b/build/Build.Licenses.cs index 833e45b38..2a1d2df10 100644 --- a/build/Build.Licenses.cs +++ b/build/Build.Licenses.cs @@ -1,4 +1,3 @@ -using Fallout.Common; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; @@ -6,6 +5,7 @@ using Fallout.Components; using Serilog; using static Fallout.Common.IO.HttpTasks; +using Fallout.Application; partial class Build { diff --git a/build/Build.PublicApi.cs b/build/Build.PublicApi.cs index c14305a40..9872fc984 100644 --- a/build/Build.PublicApi.cs +++ b/build/Build.PublicApi.cs @@ -6,6 +6,7 @@ using Fallout.Common.IO; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; +using Fallout.Application; partial class Build { diff --git a/build/Build.RunTargetInDockerTest.cs b/build/Build.RunTargetInDockerTest.cs index 2fc40032e..14a3e93ae 100644 --- a/build/Build.RunTargetInDockerTest.cs +++ b/build/Build.RunTargetInDockerTest.cs @@ -3,6 +3,7 @@ using Fallout.Common.Tools.Docker; using Fallout.Common.Utilities; using Serilog; +using Fallout.Application; partial class Build { diff --git a/build/Build.Stargazers.cs b/build/Build.Stargazers.cs index 72d5449ba..762c70e5a 100644 --- a/build/Build.Stargazers.cs +++ b/build/Build.Stargazers.cs @@ -1,9 +1,9 @@ -using System.Linq; +using System.Linq; using System.Threading.Tasks; -using Fallout.Common; using Fallout.Common.IO; using Fallout.Common.Tools.GitHub; using Fallout.Common.Utilities; +using Fallout.Application; partial class Build { diff --git a/build/Build.Terminal.cs b/build/Build.Terminal.cs index 0a6f8e90c..589a7cf17 100644 --- a/build/Build.Terminal.cs +++ b/build/Build.Terminal.cs @@ -1,7 +1,7 @@ -using System; +using System; using System.Linq; -using Fallout.Common; -using Fallout.Common.Execution; +using Fallout.Application.Execution; +using Fallout.Application; [DisableDefaultOutput( DefaultOutput.Logo, diff --git a/build/Build.cs b/build/Build.cs index b1ecb3288..ab0221ed1 100644 --- a/build/Build.cs +++ b/build/Build.cs @@ -3,10 +3,7 @@ using System.Linq; using NuGet.Packaging; using Fallout.Common; -using Fallout.Common.CI; using Fallout.Common.CI.GitHubActions; -using Fallout.Common.Execution; -using Fallout.Common.Git; using Fallout.Common.IO; using Fallout.Solutions; using Fallout.Common.Tooling; @@ -14,8 +11,12 @@ using Fallout.Common.Tools.GitHub; using Fallout.Common.Utilities; using Fallout.Components; -using static Fallout.Common.ControlFlow; +using static Fallout.Application.ControlFlow; using static Fallout.Common.Tools.DotNet.DotNetTasks; +using Fallout.Application; +using Fallout.Application.CI; +using Fallout.Application.Git; +using Fallout.Application.Execution; [DotNetVerbosityMapping] [ShutdownDotNetAfterServerBuild] diff --git a/fallout.slnx b/fallout.slnx index ad895155c..974398a6a 100644 --- a/fallout.slnx +++ b/fallout.slnx @@ -41,13 +41,15 @@ - + - + diff --git a/src/Fallout.Build/Attributes/ArgumentsFromGitCommitMessageAttribute.cs b/src/Fallout.Build/Attributes/ArgumentsFromGitCommitMessageAttribute.cs index 4dcd435f0..b1f3d9d21 100644 --- a/src/Fallout.Build/Attributes/ArgumentsFromGitCommitMessageAttribute.cs +++ b/src/Fallout.Build/Attributes/ArgumentsFromGitCommitMessageAttribute.cs @@ -1,12 +1,14 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; -using Fallout.Common.CI; -using Fallout.Common.Git; using Fallout.Common.Tooling; using Fallout.Common.Utilities; +using Fallout.Application.CI; +using Fallout.Application.Git; +using Fallout.Application; +using Fallout.Common; -namespace Fallout.Common.Execution; +namespace Fallout.Application.Execution; public class ArgumentsFromGitCommitMessageAttribute : BuildExtensionAttributeBase, IOnBuildCreated { diff --git a/src/Fallout.Build/Attributes/DisableDefaultOutputAttribute.cs b/src/Fallout.Build/Attributes/DisableDefaultOutputAttribute.cs index 740984fcc..f231b455b 100644 --- a/src/Fallout.Build/Attributes/DisableDefaultOutputAttribute.cs +++ b/src/Fallout.Build/Attributes/DisableDefaultOutputAttribute.cs @@ -1,7 +1,7 @@ -using System; +using System; using System.Linq; -namespace Fallout.Common; +namespace Fallout.Application; [AttributeUsage(AttributeTargets.Class)] public class DisableDefaultOutputAttribute : Attribute diff --git a/src/Fallout.Build/Attributes/ShutdownDotNetAfterServerBuildAttribute.cs b/src/Fallout.Build/Attributes/ShutdownDotNetAfterServerBuildAttribute.cs index 36ea254a7..1423e7bff 100644 --- a/src/Fallout.Build/Attributes/ShutdownDotNetAfterServerBuildAttribute.cs +++ b/src/Fallout.Build/Attributes/ShutdownDotNetAfterServerBuildAttribute.cs @@ -1,9 +1,9 @@ using System; using System.Linq; -using Fallout.Common.Execution; using Fallout.Common.Tooling; +using Fallout.Application.Execution; -namespace Fallout.Common.CI; +namespace Fallout.Application.CI; /// /// See dotnet/cli#11424. diff --git a/src/Fallout.Build/Attributes/UnsetVisualStudioEnvironmentVariablesAttribute.cs b/src/Fallout.Build/Attributes/UnsetVisualStudioEnvironmentVariablesAttribute.cs index f8ca1f93f..4bdc1e689 100644 --- a/src/Fallout.Build/Attributes/UnsetVisualStudioEnvironmentVariablesAttribute.cs +++ b/src/Fallout.Build/Attributes/UnsetVisualStudioEnvironmentVariablesAttribute.cs @@ -3,7 +3,7 @@ using System.Linq; using Fallout.Common.Utilities.Collections; -namespace Fallout.Common.Execution; +namespace Fallout.Application.Execution; public class UnsetVisualStudioEnvironmentVariablesAttribute : BuildExtensionAttributeBase, IOnBuildCreated { diff --git a/src/Fallout.Build/Attributes/VerbosityMappingAttribute.cs b/src/Fallout.Build/Attributes/VerbosityMappingAttribute.cs index 9afcd3178..8688b79f5 100644 --- a/src/Fallout.Build/Attributes/VerbosityMappingAttribute.cs +++ b/src/Fallout.Build/Attributes/VerbosityMappingAttribute.cs @@ -1,10 +1,13 @@ using System; using System.Collections.Generic; using System.Linq; -using Fallout.Common.Execution; using Fallout.Common.Utilities.Collections; +using Fallout.Application.Execution; +using Fallout.Application; +using Fallout.Common; +using Fallout.Common.Tooling; -namespace Fallout.Common.Tooling; +namespace Fallout.Application.Tooling; public class VerbosityMappingAttribute : BuildExtensionAttributeBase, IOnBuildInitialized { diff --git a/src/Fallout.Build/CICD/BuildServerConfigurationGeneration.cs b/src/Fallout.Build/CICD/BuildServerConfigurationGeneration.cs index 2c5986940..88a1f47fa 100644 --- a/src/Fallout.Build/CICD/BuildServerConfigurationGeneration.cs +++ b/src/Fallout.Build/CICD/BuildServerConfigurationGeneration.cs @@ -1,7 +1,8 @@ using System; using System.Linq; +using Fallout.Application; -namespace Fallout.Common.CI; +namespace Fallout.Application.CI; public static class BuildServerConfigurationGeneration { diff --git a/src/Fallout.Build/CICD/BuildServerConfigurationGenerationAttributeBase.cs b/src/Fallout.Build/CICD/BuildServerConfigurationGenerationAttributeBase.cs index 0a30f7a4b..4cc009066 100644 --- a/src/Fallout.Build/CICD/BuildServerConfigurationGenerationAttributeBase.cs +++ b/src/Fallout.Build/CICD/BuildServerConfigurationGenerationAttributeBase.cs @@ -1,11 +1,12 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Reflection; -using Fallout.Common.Execution; using Fallout.Common.Utilities.Collections; +using Fallout.Application.Execution; +using Fallout.Application; -namespace Fallout.Common.CI; +namespace Fallout.Application.CI; public class BuildServerConfigurationGenerationAttributeBase : BuildExtensionAttributeBase { diff --git a/src/Fallout.Build/CICD/CIAttribute.cs b/src/Fallout.Build/CICD/CIAttribute.cs index 9778a4b2c..8339b38d4 100644 --- a/src/Fallout.Build/CICD/CIAttribute.cs +++ b/src/Fallout.Build/CICD/CIAttribute.cs @@ -1,10 +1,12 @@ -using System; +using System; using System.Linq; using System.Reflection; using Fallout.Common.Utilities; -using Fallout.Common.ValueInjection; +using Fallout.Application.ValueInjection; +using Fallout.Application; +using Fallout.Common; -namespace Fallout.Common.CI; +namespace Fallout.Application.CI; [AttributeUsage(AttributeTargets.Class | AttributeTargets.Field | AttributeTargets.Property)] public class CIAttribute : ValueInjectionAttributeBase diff --git a/src/Fallout.Build/CICD/ChainedConfigurationAttributeBase.cs b/src/Fallout.Build/CICD/ChainedConfigurationAttributeBase.cs index 16aaa2eec..d7f466c28 100644 --- a/src/Fallout.Build/CICD/ChainedConfigurationAttributeBase.cs +++ b/src/Fallout.Build/CICD/ChainedConfigurationAttributeBase.cs @@ -1,10 +1,11 @@ using System; using System.Collections.Generic; using System.Linq; -using Fallout.Common.Execution; using Fallout.Common.Utilities.Collections; +using Fallout.Application.Execution; +using Fallout.Common; -namespace Fallout.Common.CI; +namespace Fallout.Application.CI; public abstract class ChainedConfigurationAttributeBase : ConfigurationAttributeBase { diff --git a/src/Fallout.Build/CICD/ConfigurationAttributeBase.cs b/src/Fallout.Build/CICD/ConfigurationAttributeBase.cs index aa2304d21..47d487228 100644 --- a/src/Fallout.Build/CICD/ConfigurationAttributeBase.cs +++ b/src/Fallout.Build/CICD/ConfigurationAttributeBase.cs @@ -2,12 +2,14 @@ using System.Collections.Generic; using System.IO; using System.Linq; -using Fallout.Common.Execution; using Fallout.Common.IO; using Fallout.Common.Utilities; -using static Fallout.Common.CI.BuildServerConfigurationGeneration; +using static Fallout.Application.CI.BuildServerConfigurationGeneration; +using Fallout.Application; +using Fallout.Application.Utilities; +using Fallout.Application.Execution; -namespace Fallout.Common.CI; +namespace Fallout.Application.CI; [AttributeUsage(AttributeTargets.Class)] public abstract class ConfigurationAttributeBase : Attribute, IConfigurationGenerator diff --git a/src/Fallout.Build/CICD/ConfigurationEntity.cs b/src/Fallout.Build/CICD/ConfigurationEntity.cs index f04a12d98..de97fc264 100644 --- a/src/Fallout.Build/CICD/ConfigurationEntity.cs +++ b/src/Fallout.Build/CICD/ConfigurationEntity.cs @@ -1,8 +1,8 @@ using System; using System.Linq; -using Fallout.Common.Utilities; +using Fallout.Application.Utilities; -namespace Fallout.Common.CI; +namespace Fallout.Application.CI; public abstract class ConfigurationEntity { diff --git a/src/Fallout.Build/CICD/CustomFileWriter.cs b/src/Fallout.Build/CICD/CustomFileWriter.cs index ba334ab2e..32442231d 100644 --- a/src/Fallout.Build/CICD/CustomFileWriter.cs +++ b/src/Fallout.Build/CICD/CustomFileWriter.cs @@ -1,8 +1,9 @@ using System; using System.IO; using System.Linq; +using Fallout.Common.Utilities; -namespace Fallout.Common.Utilities; +namespace Fallout.Application.Utilities; public class CustomFileWriter { diff --git a/src/Fallout.Build/CICD/GenerateBuildServerConfigurationsAttribute.cs b/src/Fallout.Build/CICD/GenerateBuildServerConfigurationsAttribute.cs index bcc716412..cc73a1e42 100644 --- a/src/Fallout.Build/CICD/GenerateBuildServerConfigurationsAttribute.cs +++ b/src/Fallout.Build/CICD/GenerateBuildServerConfigurationsAttribute.cs @@ -1,11 +1,13 @@ using System; using System.Collections.Generic; using System.Linq; -using Fallout.Common.Execution; using Fallout.Common.Utilities.Collections; -using static Fallout.Common.CI.BuildServerConfigurationGeneration; +using static Fallout.Application.CI.BuildServerConfigurationGeneration; +using Fallout.Application.Execution; +using Fallout.Application; +using Fallout.Common; -namespace Fallout.Common.CI; +namespace Fallout.Application.CI; public class GenerateBuildServerConfigurationsAttribute : BuildServerConfigurationGenerationAttributeBase, IOnBuildCreated diff --git a/src/Fallout.Build/CICD/IBuildServer.cs b/src/Fallout.Build/CICD/IBuildServer.cs index 46cdc1804..f2b4ee24a 100644 --- a/src/Fallout.Build/CICD/IBuildServer.cs +++ b/src/Fallout.Build/CICD/IBuildServer.cs @@ -1,5 +1,5 @@ - -namespace Fallout.Common.CI; + +namespace Fallout.Application.CI; public interface IBuildServer { diff --git a/src/Fallout.Build/CICD/IConfigurationGenerator.cs b/src/Fallout.Build/CICD/IConfigurationGenerator.cs index f6c424531..232392a4a 100644 --- a/src/Fallout.Build/CICD/IConfigurationGenerator.cs +++ b/src/Fallout.Build/CICD/IConfigurationGenerator.cs @@ -1,10 +1,10 @@ using System; using System.Collections.Generic; using System.Linq; -using Fallout.Common.Execution; using Fallout.Common.IO; +using Fallout.Application.Execution; -namespace Fallout.Common.CI; +namespace Fallout.Application.CI; public interface IConfigurationGenerator { diff --git a/src/Fallout.Build/CICD/InvokeBuildServerConfigurationGenerationAttribute.cs b/src/Fallout.Build/CICD/InvokeBuildServerConfigurationGenerationAttribute.cs index 371214e87..89b57d480 100644 --- a/src/Fallout.Build/CICD/InvokeBuildServerConfigurationGenerationAttribute.cs +++ b/src/Fallout.Build/CICD/InvokeBuildServerConfigurationGenerationAttribute.cs @@ -1,13 +1,14 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; -using Fallout.Common.Execution; using Fallout.Common.IO; using Fallout.Common.Tooling; using Serilog; -using static Fallout.Common.CI.BuildServerConfigurationGeneration; +using static Fallout.Application.CI.BuildServerConfigurationGeneration; +using Fallout.Application.Execution; +using Fallout.Application; -namespace Fallout.Common.CI; +namespace Fallout.Application.CI; public class InvokeBuildServerConfigurationGenerationAttribute : BuildServerConfigurationGenerationAttributeBase, IOnBuildCreated diff --git a/src/Fallout.Build/CICD/NoConvertAttribute.cs b/src/Fallout.Build/CICD/NoConvertAttribute.cs index 6b7faf4ae..7711dfdbc 100644 --- a/src/Fallout.Build/CICD/NoConvertAttribute.cs +++ b/src/Fallout.Build/CICD/NoConvertAttribute.cs @@ -1,7 +1,7 @@ -using System; +using System; using System.Linq; -namespace Fallout.Common.CI; +namespace Fallout.Application.CI; [AttributeUsage(AttributeTargets.Property)] public class NoConvertAttribute : Attribute diff --git a/src/Fallout.Build/CICD/Partition.cs b/src/Fallout.Build/CICD/Partition.cs index 1f66d8df7..9ab944dd6 100644 --- a/src/Fallout.Build/CICD/Partition.cs +++ b/src/Fallout.Build/CICD/Partition.cs @@ -4,7 +4,7 @@ using System.Globalization; using System.Linq; -namespace Fallout.Common.CI; +namespace Fallout.Application.CI; [TypeConverter(typeof(TypeConverter))] public class Partition diff --git a/src/Fallout.Build/CICD/PartitionAttribute.cs b/src/Fallout.Build/CICD/PartitionAttribute.cs index 14ed80c19..890249a87 100644 --- a/src/Fallout.Build/CICD/PartitionAttribute.cs +++ b/src/Fallout.Build/CICD/PartitionAttribute.cs @@ -1,8 +1,9 @@ using System; using System.Linq; using System.Reflection; +using Fallout.Application; -namespace Fallout.Common.CI; +namespace Fallout.Application.CI; public class PartitionAttribute : ParameterAttribute { diff --git a/src/Fallout.Build/ControlFlow.cs b/src/Fallout.Build/ControlFlow.cs index ca8f09cc0..b289d7fa5 100644 --- a/src/Fallout.Build/ControlFlow.cs +++ b/src/Fallout.Build/ControlFlow.cs @@ -1,15 +1,16 @@ -using System; +using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Threading.Tasks; using Fallout.Common.Utilities; using Serilog; +using Fallout.Common; #pragma warning disable CS0618 // ReSharper disable CompareNonConstrainedGenericWithNull -namespace Fallout.Common; +namespace Fallout.Application; [DebuggerNonUserCode] [DebuggerStepThrough] diff --git a/src/Fallout.Build/Execution/BuildExecutor.cs b/src/Fallout.Build/Execution/BuildExecutor.cs index b1cb733ee..bbffb95f6 100644 --- a/src/Fallout.Build/Execution/BuildExecutor.cs +++ b/src/Fallout.Build/Execution/BuildExecutor.cs @@ -7,8 +7,10 @@ using Fallout.Common.Utilities.Collections; using Fallout.Domain.Execution; using Serilog; +using Fallout.Application; +using Fallout.Common; -namespace Fallout.Common.Execution; +namespace Fallout.Application.Execution; /// /// Gradually executes targets of the execution plan. diff --git a/src/Fallout.Build/Execution/BuildManager.cs b/src/Fallout.Build/Execution/BuildManager.cs index f0d8daefc..053bf20d3 100644 --- a/src/Fallout.Build/Execution/BuildManager.cs +++ b/src/Fallout.Build/Execution/BuildManager.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; @@ -10,9 +10,11 @@ using Fallout.Common.Utilities.Collections; using Fallout.Domain.Execution; using Serilog; +using Fallout.Application; +using Fallout.Application.Tooling; #pragma warning disable CA2255 -namespace Fallout.Common.Execution; +namespace Fallout.Application.Execution; internal static class BuildManager { diff --git a/src/Fallout.Build/Execution/DelegateRequirementService.cs b/src/Fallout.Build/Execution/DelegateRequirementService.cs index 88caf5db1..6b172d476 100644 --- a/src/Fallout.Build/Execution/DelegateRequirementService.cs +++ b/src/Fallout.Build/Execution/DelegateRequirementService.cs @@ -1,12 +1,15 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; using System.Reflection; using Fallout.Common.Utilities; -using Fallout.Common.ValueInjection; +using Fallout.Application; +using Fallout.Application.ValueInjection; +using Fallout.Application.Utilities; +using Fallout.Common; -namespace Fallout.Common.Execution; +namespace Fallout.Application.Execution; /// /// Validates all requirements for targets that are part of the execution plan. diff --git a/src/Fallout.Build/Execution/ExecutableTarget.cs b/src/Fallout.Build/Execution/ExecutableTarget.cs index 64bcde8c0..81d4699be 100644 --- a/src/Fallout.Build/Execution/ExecutableTarget.cs +++ b/src/Fallout.Build/Execution/ExecutableTarget.cs @@ -7,9 +7,10 @@ using Fallout.Common.Tooling; using Fallout.Common.Utilities.Collections; using Fallout.Domain.Execution; +using Fallout.Application; // ReSharper disable MissingBaseTypeHighlighting -namespace Fallout.Common.Execution; +namespace Fallout.Application.Execution; [DebuggerDisplay($"{{{nameof(Name)}}} ({{{nameof(Status)}}})")] public class ExecutableTarget : ITargetModel diff --git a/src/Fallout.Build/Execution/ExecutableTargetFactory.cs b/src/Fallout.Build/Execution/ExecutableTargetFactory.cs index 137146b8f..0360f1223 100644 --- a/src/Fallout.Build/Execution/ExecutableTargetFactory.cs +++ b/src/Fallout.Build/Execution/ExecutableTargetFactory.cs @@ -1,12 +1,14 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; using System.Reflection; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; +using Fallout.Application; +using Fallout.Common; -namespace Fallout.Common.Execution; +namespace Fallout.Application.Execution; /// /// Creates all target objects according to the build instance. diff --git a/src/Fallout.Build/Execution/ExecutionPlanner.cs b/src/Fallout.Build/Execution/ExecutionPlanner.cs index 16450deca..0fd9f8437 100644 --- a/src/Fallout.Build/Execution/ExecutionPlanner.cs +++ b/src/Fallout.Build/Execution/ExecutionPlanner.cs @@ -5,8 +5,10 @@ using Fallout.Common.Utilities.Collections; using Fallout.Domain.Execution; using Fallout.Domain.Planning; +using Fallout.Application; +using Fallout.Common; -namespace Fallout.Common.Execution; +namespace Fallout.Application.Execution; /// /// Given the invoked target names, creates an execution plan under consideration of execution, ordering and trigger dependencies. diff --git a/src/Fallout.Build/Execution/Extensibility/BuildExtensionAttributeBase.cs b/src/Fallout.Build/Execution/Extensibility/BuildExtensionAttributeBase.cs index ad53bb3e4..ad7525ce0 100644 --- a/src/Fallout.Build/Execution/Extensibility/BuildExtensionAttributeBase.cs +++ b/src/Fallout.Build/Execution/Extensibility/BuildExtensionAttributeBase.cs @@ -1,8 +1,9 @@ using System; using System.Collections.Generic; using System.Linq; +using Fallout.Application; -namespace Fallout.Common.Execution; +namespace Fallout.Application.Execution; public interface IBuildExtension { diff --git a/src/Fallout.Build/Execution/Extensibility/ToolInjectionAttributeBase.cs b/src/Fallout.Build/Execution/Extensibility/ToolInjectionAttributeBase.cs index 01fd5cf3c..a904c0440 100644 --- a/src/Fallout.Build/Execution/Extensibility/ToolInjectionAttributeBase.cs +++ b/src/Fallout.Build/Execution/Extensibility/ToolInjectionAttributeBase.cs @@ -1,9 +1,10 @@ -using System; +using System; using System.Linq; using System.Reflection; -using Fallout.Common.ValueInjection; +using Fallout.Application.ValueInjection; +using Fallout.Common.Tooling; -namespace Fallout.Common.Tooling; +namespace Fallout.Application.Tooling; public abstract class ToolInjectionAttributeBase : ValueInjectionAttributeBase { diff --git a/src/Fallout.Build/Execution/Extensibility/ValueInjectionAttributeBase.cs b/src/Fallout.Build/Execution/Extensibility/ValueInjectionAttributeBase.cs index 70105b78b..d744ac618 100644 --- a/src/Fallout.Build/Execution/Extensibility/ValueInjectionAttributeBase.cs +++ b/src/Fallout.Build/Execution/Extensibility/ValueInjectionAttributeBase.cs @@ -3,8 +3,10 @@ using System.Reflection; using Fallout.Common.Utilities; using Serilog; +using Fallout.Application; +using Fallout.Common; -namespace Fallout.Common.ValueInjection; +namespace Fallout.Application.ValueInjection; [AttributeUsage(AttributeTargets.Field | AttributeTargets.Property)] public abstract class ValueInjectionAttributeBase : Attribute diff --git a/src/Fallout.Build/Execution/Extensions/ArgumentsFromParametersFileAttribute.cs b/src/Fallout.Build/Execution/Extensions/ArgumentsFromParametersFileAttribute.cs index cb344c29c..91ce7f91a 100644 --- a/src/Fallout.Build/Execution/Extensions/ArgumentsFromParametersFileAttribute.cs +++ b/src/Fallout.Build/Execution/Extensions/ArgumentsFromParametersFileAttribute.cs @@ -1,16 +1,19 @@ -using System; +using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text.Json; using System.Text.Json.Nodes; -using Fallout.Common.CI; using Fallout.Common.IO; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; -using Fallout.Common.ValueInjection; +using Fallout.Application; +using Fallout.Application.ValueInjection; +using Fallout.Application.Utilities; +using Fallout.Application.CI; +using Fallout.Common; -namespace Fallout.Common.Execution; +namespace Fallout.Application.Execution; public class ArgumentsFromParametersFileAttribute : BuildExtensionAttributeBase, IOnBuildCreated { diff --git a/src/Fallout.Build/Execution/Extensions/EventInvoker.cs b/src/Fallout.Build/Execution/Extensions/EventInvoker.cs index d435e3d15..1047b34ed 100644 --- a/src/Fallout.Build/Execution/Extensions/EventInvoker.cs +++ b/src/Fallout.Build/Execution/Extensions/EventInvoker.cs @@ -1,8 +1,9 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; +using Fallout.Application; -namespace Fallout.Common.Execution; +namespace Fallout.Application.Execution; internal class EventInvoker : BuildExtensionAttributeBase, IOnBuildCreated, diff --git a/src/Fallout.Build/Execution/Extensions/HandleHelpRequestsAttribute.cs b/src/Fallout.Build/Execution/Extensions/HandleHelpRequestsAttribute.cs index d7a6c50db..f5bac5aaf 100644 --- a/src/Fallout.Build/Execution/Extensions/HandleHelpRequestsAttribute.cs +++ b/src/Fallout.Build/Execution/Extensions/HandleHelpRequestsAttribute.cs @@ -4,9 +4,10 @@ using System.Reflection; using System.Text; using Fallout.Common.Utilities; -using Fallout.Common.ValueInjection; +using Fallout.Application; +using Fallout.Application.ValueInjection; -namespace Fallout.Common.Execution; +namespace Fallout.Application.Execution; internal class HandleHelpRequestsAttribute : BuildExtensionAttributeBase, IOnBuildInitialized { diff --git a/src/Fallout.Build/Execution/Extensions/HandlePlanRequestsAttribute.cs b/src/Fallout.Build/Execution/Extensions/HandlePlanRequestsAttribute.cs index 98d9dfc0d..91f9dfcd8 100644 --- a/src/Fallout.Build/Execution/Extensions/HandlePlanRequestsAttribute.cs +++ b/src/Fallout.Build/Execution/Extensions/HandlePlanRequestsAttribute.cs @@ -1,14 +1,14 @@ -using System; +using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Text; -using Fallout.Common.Execution; using Fallout.Common.IO; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; +using Fallout.Application.Execution; -namespace Fallout.Build.Execution.Extensions; +namespace Fallout.Application.Execution.Extensions; internal class HandlePlanRequestsAttribute : BuildExtensionAttributeBase, IOnBuildInitialized { diff --git a/src/Fallout.Build/Execution/Extensions/HandleReSharperSurrogateArgumentsAttribute.cs b/src/Fallout.Build/Execution/Extensions/HandleReSharperSurrogateArgumentsAttribute.cs index 4942df6bd..f2732037d 100644 --- a/src/Fallout.Build/Execution/Extensions/HandleReSharperSurrogateArgumentsAttribute.cs +++ b/src/Fallout.Build/Execution/Extensions/HandleReSharperSurrogateArgumentsAttribute.cs @@ -1,11 +1,12 @@ -using System; +using System; using System.Collections.Generic; using System.IO; using System.Linq; using Fallout.Common.IO; using Serilog; +using Fallout.Common; -namespace Fallout.Common.Execution; +namespace Fallout.Application.Execution; internal class HandleReSharperSurrogateArgumentsAttribute : BuildExtensionAttributeBase, IOnBuildCreated { diff --git a/src/Fallout.Build/Execution/Extensions/HandleShellCompletionAttribute.cs b/src/Fallout.Build/Execution/Extensions/HandleShellCompletionAttribute.cs index bd3d13aed..6ebb6aa26 100644 --- a/src/Fallout.Build/Execution/Extensions/HandleShellCompletionAttribute.cs +++ b/src/Fallout.Build/Execution/Extensions/HandleShellCompletionAttribute.cs @@ -1,12 +1,14 @@ using System; using System.Collections.Generic; using System.Linq; -using Fallout.Common.CI; using Fallout.Common.IO; using Fallout.Common.Utilities; using static Fallout.Common.Constants; +using Fallout.Application.CI; +using Fallout.Application; +using Fallout.Common; -namespace Fallout.Common.Execution; +namespace Fallout.Application.Execution; internal class HandleShellCompletionAttribute : BuildExtensionAttributeBase, IOnBuildCreated { diff --git a/src/Fallout.Build/Execution/Extensions/HandleVisualStudioDebuggingAttribute.cs b/src/Fallout.Build/Execution/Extensions/HandleVisualStudioDebuggingAttribute.cs index 492aeeca9..a53759002 100644 --- a/src/Fallout.Build/Execution/Extensions/HandleVisualStudioDebuggingAttribute.cs +++ b/src/Fallout.Build/Execution/Extensions/HandleVisualStudioDebuggingAttribute.cs @@ -4,8 +4,10 @@ using System.Linq; using System.Threading; using Fallout.Common.IO; +using Fallout.Application; +using Fallout.Common; -namespace Fallout.Common.Execution; +namespace Fallout.Application.Execution; internal class HandleVisualStudioDebuggingAttribute : BuildExtensionAttributeBase, IOnBuildCreated { diff --git a/src/Fallout.Build/Execution/Extensions/InjectNonParameterValuesAttribute.cs b/src/Fallout.Build/Execution/Extensions/InjectNonParameterValuesAttribute.cs index 5f738ada6..88c896a68 100644 --- a/src/Fallout.Build/Execution/Extensions/InjectNonParameterValuesAttribute.cs +++ b/src/Fallout.Build/Execution/Extensions/InjectNonParameterValuesAttribute.cs @@ -1,11 +1,12 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; -using Fallout.Common.Execution; using Fallout.Common.Utilities; +using Fallout.Application.Execution; +using Fallout.Application; -namespace Fallout.Common.ValueInjection; +namespace Fallout.Application.ValueInjection; internal class InjectNonParameterValuesAttribute : BuildExtensionAttributeBase, IOnBuildInitialized { diff --git a/src/Fallout.Build/Execution/Extensions/InjectParameterValuesAttribute.cs b/src/Fallout.Build/Execution/Extensions/InjectParameterValuesAttribute.cs index 449c23b01..b109b4f7f 100644 --- a/src/Fallout.Build/Execution/Extensions/InjectParameterValuesAttribute.cs +++ b/src/Fallout.Build/Execution/Extensions/InjectParameterValuesAttribute.cs @@ -1,9 +1,10 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; -using Fallout.Common.Execution; +using Fallout.Application.Execution; +using Fallout.Application; -namespace Fallout.Common.ValueInjection; +namespace Fallout.Application.ValueInjection; internal class InjectParameterValuesAttribute : BuildExtensionAttributeBase, IOnBuildCreated { diff --git a/src/Fallout.Build/Execution/Extensions/SerializeBuildServerStateAttribute.cs b/src/Fallout.Build/Execution/Extensions/SerializeBuildServerStateAttribute.cs index 80eaeebd6..c1e539902 100644 --- a/src/Fallout.Build/Execution/Extensions/SerializeBuildServerStateAttribute.cs +++ b/src/Fallout.Build/Execution/Extensions/SerializeBuildServerStateAttribute.cs @@ -1,8 +1,8 @@ -using System; +using System; using System.Linq; -using Fallout.Common.Execution; +using Fallout.Application.Execution; -namespace Fallout.Common.CI; +namespace Fallout.Application.CI; internal class SerializeBuildServerStateAttribute : BuildServerConfigurationGenerationAttributeBase, IOnBuildFinished { diff --git a/src/Fallout.Build/Execution/Extensions/TelemetryAttribute.cs b/src/Fallout.Build/Execution/Extensions/TelemetryAttribute.cs index 715e79bfe..7f95d8464 100644 --- a/src/Fallout.Build/Execution/Extensions/TelemetryAttribute.cs +++ b/src/Fallout.Build/Execution/Extensions/TelemetryAttribute.cs @@ -1,8 +1,8 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; -namespace Fallout.Common.Execution; +namespace Fallout.Application.Execution; internal class TelemetryAttribute : BuildExtensionAttributeBase, IOnBuildInitialized, IOnTargetSucceeded { diff --git a/src/Fallout.Build/Execution/Extensions/UpdateNotificationAttribute.cs b/src/Fallout.Build/Execution/Extensions/UpdateNotificationAttribute.cs index 5841ffc29..03d6c2365 100644 --- a/src/Fallout.Build/Execution/Extensions/UpdateNotificationAttribute.cs +++ b/src/Fallout.Build/Execution/Extensions/UpdateNotificationAttribute.cs @@ -1,11 +1,13 @@ -using System; +using System; using System.Collections.Generic; using System.IO; using System.Linq; using Fallout.Common.Utilities; using static Fallout.Common.Constants; +using Fallout.Application; +using Fallout.Common; -namespace Fallout.Common.Execution; +namespace Fallout.Application.Execution; internal class UpdateNotificationAttribute : BuildExtensionAttributeBase, IOnBuildCreated, IOnBuildFinished { diff --git a/src/Fallout.Build/Execution/ParameterService.Statics.cs b/src/Fallout.Build/Execution/ParameterService.Statics.cs index e8e026b13..1f8de8128 100644 --- a/src/Fallout.Build/Execution/ParameterService.Statics.cs +++ b/src/Fallout.Build/Execution/ParameterService.Statics.cs @@ -1,10 +1,11 @@ -using System; +using System; using System.Linq; using System.Linq.Expressions; using System.Reflection; using Fallout.Common.Utilities; +using Fallout.Common; -namespace Fallout.Common; +namespace Fallout.Application; internal partial class ParameterService { diff --git a/src/Fallout.Build/Execution/ParameterService.cs b/src/Fallout.Build/Execution/ParameterService.cs index 0197449df..95a35965b 100644 --- a/src/Fallout.Build/Execution/ParameterService.cs +++ b/src/Fallout.Build/Execution/ParameterService.cs @@ -7,8 +7,9 @@ using Fallout.Common.Utilities; using Serilog; using static Fallout.Common.Utilities.ReflectionUtility; +using Fallout.Common; -namespace Fallout.Common; +namespace Fallout.Application; internal partial class ParameterService { diff --git a/src/Fallout.Build/Execution/TargetDefinition.cs b/src/Fallout.Build/Execution/TargetDefinition.cs index 64b235b4c..e157e0e0f 100644 --- a/src/Fallout.Build/Execution/TargetDefinition.cs +++ b/src/Fallout.Build/Execution/TargetDefinition.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; @@ -7,8 +7,11 @@ using Fallout.Common.Tooling; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; +using Fallout.Application; +using Fallout.Application.Tooling; +using Fallout.Common; -namespace Fallout.Common.Execution; +namespace Fallout.Application.Execution; internal class TargetDefinition : ITargetDefinition { diff --git a/src/Fallout.Build/Execution/TargetExecutionException.cs b/src/Fallout.Build/Execution/TargetExecutionException.cs index d2e36c91f..b721cb3c4 100644 --- a/src/Fallout.Build/Execution/TargetExecutionException.cs +++ b/src/Fallout.Build/Execution/TargetExecutionException.cs @@ -2,7 +2,7 @@ using System.Linq; using System.Runtime.Serialization; -namespace Fallout.Common.Execution; +namespace Fallout.Application.Execution; [Serializable] internal class TargetExecutionException : Exception diff --git a/src/Fallout.Build/Execution/ToolRequirementService.cs b/src/Fallout.Build/Execution/ToolRequirementService.cs index 229947250..408b87729 100644 --- a/src/Fallout.Build/Execution/ToolRequirementService.cs +++ b/src/Fallout.Build/Execution/ToolRequirementService.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Reflection; @@ -6,8 +6,10 @@ using Fallout.Common.Tooling; using Fallout.Common.Utilities; using Serilog; +using Fallout.Application; +using Fallout.Common; -namespace Fallout.Common.Execution; +namespace Fallout.Application.Execution; internal static class ToolRequirementService { diff --git a/src/Fallout.Build/Execution/ValueInjectionUtility.cs b/src/Fallout.Build/Execution/ValueInjectionUtility.cs index 8d637a3e9..917489c70 100644 --- a/src/Fallout.Build/Execution/ValueInjectionUtility.cs +++ b/src/Fallout.Build/Execution/ValueInjectionUtility.cs @@ -1,12 +1,14 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; using System.Reflection; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; +using Fallout.Application; +using Fallout.Common; -namespace Fallout.Common.ValueInjection; +namespace Fallout.Application.ValueInjection; internal static class ValueInjectionUtility { diff --git a/src/Fallout.Build/FalloutBuild.Events.cs b/src/Fallout.Build/FalloutBuild.Events.cs index 2b44e2a19..def3548b6 100644 --- a/src/Fallout.Build/FalloutBuild.Events.cs +++ b/src/Fallout.Build/FalloutBuild.Events.cs @@ -1,14 +1,14 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; using System.Reflection; -using Fallout.Common.Execution; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; using Serilog; +using Fallout.Application.Execution; -namespace Fallout.Common; +namespace Fallout.Application; [EventInvoker(Priority = float.MinValue)] public abstract partial class FalloutBuild diff --git a/src/Fallout.Build/FalloutBuild.Interface.cs b/src/Fallout.Build/FalloutBuild.Interface.cs index 815f1c712..18e1c6861 100644 --- a/src/Fallout.Build/FalloutBuild.Interface.cs +++ b/src/Fallout.Build/FalloutBuild.Interface.cs @@ -1,11 +1,11 @@ using System; using System.Collections.Generic; using System.Linq.Expressions; -using Fallout.Common.Execution; using Fallout.Common.IO; -using Fallout.Common.ValueInjection; +using Fallout.Application.Execution; +using Fallout.Application.ValueInjection; -namespace Fallout.Common; +namespace Fallout.Application; public abstract partial class FalloutBuild { diff --git a/src/Fallout.Build/FalloutBuild.Output.cs b/src/Fallout.Build/FalloutBuild.Output.cs index b8eab31fa..71a6d64fc 100644 --- a/src/Fallout.Build/FalloutBuild.Output.cs +++ b/src/Fallout.Build/FalloutBuild.Output.cs @@ -1,9 +1,9 @@ -using System; +using System; using System.Linq; using System.Reflection; using Fallout.Common.Utilities; -namespace Fallout.Common; +namespace Fallout.Application; partial class FalloutBuild { diff --git a/src/Fallout.Build/FalloutBuild.Statics.cs b/src/Fallout.Build/FalloutBuild.Statics.cs index 2f1dfc285..2b7dd692e 100644 --- a/src/Fallout.Build/FalloutBuild.Statics.cs +++ b/src/Fallout.Build/FalloutBuild.Statics.cs @@ -1,15 +1,16 @@ -using System; +using System; using System.IO; using System.Linq; using System.Reflection; -using Fallout.Common.CI; -using Fallout.Common.Execution; using Fallout.Common.IO; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; using static Fallout.Common.Constants; +using Fallout.Application.Execution; +using Fallout.Application.CI; +using Fallout.Common; -namespace Fallout.Common; +namespace Fallout.Application; public abstract partial class FalloutBuild { diff --git a/src/Fallout.Build/FalloutBuild.cs b/src/Fallout.Build/FalloutBuild.cs index 9f00da1f6..16d90fbee 100644 --- a/src/Fallout.Build/FalloutBuild.cs +++ b/src/Fallout.Build/FalloutBuild.cs @@ -1,21 +1,22 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; using System.Reflection; -using Fallout.Build.Execution.Extensions; -using Fallout.Common.CI; -using Fallout.Common.Execution; using Fallout.Domain.Execution; using Fallout.Common.IO; using Fallout.Common.Tooling; using Fallout.Common.Utilities; -using Fallout.Common.ValueInjection; using static Fallout.Common.Constants; +using Fallout.Application.Execution; +using Fallout.Application.ValueInjection; +using Fallout.Application.CI; +using Fallout.Application.Execution.Extensions; +using Fallout.Common; // ReSharper disable VirtualMemberNeverOverridden.Global -namespace Fallout.Common; +namespace Fallout.Application; /// /// Base class for build definitions. Derived types must declare static int Main which calls diff --git a/src/Fallout.Build/Host.Activation.cs b/src/Fallout.Build/Host.Activation.cs index 8d611ed92..88537473f 100644 --- a/src/Fallout.Build/Host.Activation.cs +++ b/src/Fallout.Build/Host.Activation.cs @@ -1,12 +1,13 @@ -using System; +using System; using System.Collections.Generic; using System.ComponentModel; using System.Globalization; using System.Linq; -using Fallout.Common.Execution; using Fallout.Common.Utilities; +using Fallout.Application.Execution; +using Fallout.Common; -namespace Fallout.Common; +namespace Fallout.Application; public partial class Host { diff --git a/src/Fallout.Build/Host.Theming.cs b/src/Fallout.Build/Host.Theming.cs index 5ce359718..8f7f989fe 100644 --- a/src/Fallout.Build/Host.Theming.cs +++ b/src/Fallout.Build/Host.Theming.cs @@ -1,8 +1,8 @@ -using System; +using System; using System.Linq; -using Fallout.Common.Execution; +using Fallout.Application.Execution; -namespace Fallout.Common; +namespace Fallout.Application; public partial class Host { diff --git a/src/Fallout.Build/Host.cs b/src/Fallout.Build/Host.cs index 413cb6bb9..1c99da094 100644 --- a/src/Fallout.Build/Host.cs +++ b/src/Fallout.Build/Host.cs @@ -1,18 +1,19 @@ -using System; +using System; using System.ComponentModel; using System.Globalization; using System.Linq; -using Fallout.Common.Execution; using Fallout.Domain.Execution; -using Fallout.Common.Execution.Theming; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; using Serilog; using Serilog.Core; using Serilog.Events; using Serilog.Sinks.SystemConsole.Themes; +using Fallout.Application.Execution.Theming; +using Fallout.Application.Execution; +using Fallout.Common; -namespace Fallout.Common; +namespace Fallout.Application; [TypeConverter(typeof(TypeConverter))] public partial class Host diff --git a/src/Fallout.Build/IFalloutBuild.cs b/src/Fallout.Build/IFalloutBuild.cs index 7a0a4fb6a..d2bf0d88c 100644 --- a/src/Fallout.Build/IFalloutBuild.cs +++ b/src/Fallout.Build/IFalloutBuild.cs @@ -2,12 +2,12 @@ using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; -using Fallout.Common.CI; -using Fallout.Common.Execution; using Fallout.Common.IO; using Fallout.Common.Tooling; +using Fallout.Application.Execution; +using Fallout.Application.CI; -namespace Fallout.Common; +namespace Fallout.Application; public interface IFalloutBuild { diff --git a/src/Fallout.Build/ITargetDefinition.cs b/src/Fallout.Build/ITargetDefinition.cs index 6e7af941a..2b4fcf398 100644 --- a/src/Fallout.Build/ITargetDefinition.cs +++ b/src/Fallout.Build/ITargetDefinition.cs @@ -1,11 +1,11 @@ -using System; +using System; using System.Linq; using System.Linq.Expressions; using System.Runtime.CompilerServices; using System.Threading.Tasks; using Fallout.Common.Tooling; -namespace Fallout.Common; +namespace Fallout.Application; /// /// Public API for defining targets. diff --git a/src/Fallout.Build/LogLevel.cs b/src/Fallout.Build/LogLevel.cs index 8a6982e8a..3e9ef55c4 100644 --- a/src/Fallout.Build/LogLevel.cs +++ b/src/Fallout.Build/LogLevel.cs @@ -1,7 +1,7 @@ -using System; +using System; using System.Linq; -namespace Fallout.Common; +namespace Fallout.Application; public enum LogLevel { diff --git a/src/Fallout.Build/Logging.cs b/src/Fallout.Build/Logging.cs index 9d99f5052..1d91b91c0 100644 --- a/src/Fallout.Build/Logging.cs +++ b/src/Fallout.Build/Logging.cs @@ -1,9 +1,7 @@ -using System; +using System; using System.Collections.Generic; using System.IO; using System.Linq; -using Fallout.Common.CI; -using Fallout.Common.Execution.Theming; using Fallout.Common.IO; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; @@ -12,8 +10,13 @@ using Serilog.Events; using Serilog.Formatting.Compact; using Serilog.Sinks.SystemConsole.Themes; +using Fallout.Application.Execution.Theming; +using Fallout.Application; +using Fallout.Application.CI; +using Fallout.Application.Execution; +using Fallout.Common; -namespace Fallout.Common.Execution; +namespace Fallout.Application.Execution; public static class Logging { diff --git a/src/Fallout.Build/ParameterAttribute.cs b/src/Fallout.Build/ParameterAttribute.cs index 8767af603..410672017 100644 --- a/src/Fallout.Build/ParameterAttribute.cs +++ b/src/Fallout.Build/ParameterAttribute.cs @@ -1,11 +1,11 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Reflection; using Fallout.Common.Utilities; -using Fallout.Common.ValueInjection; +using Fallout.Application.ValueInjection; -namespace Fallout.Common; +namespace Fallout.Application; /// /// Injected parameters are resolved case-insensitively in the following order: diff --git a/src/Fallout.Build/RequiresAttribute.cs b/src/Fallout.Build/RequiresAttribute.cs index ffde922ed..2c6cbdf9d 100644 --- a/src/Fallout.Build/RequiresAttribute.cs +++ b/src/Fallout.Build/RequiresAttribute.cs @@ -1,9 +1,10 @@ -using System; +using System; using System.Linq; using System.Reflection; using Fallout.Common.Tooling; +using Fallout.Common; -namespace Fallout.Common; +namespace Fallout.Application; public abstract class RequiresAttribute : Attribute { diff --git a/src/Fallout.Build/Target.cs b/src/Fallout.Build/Target.cs index 38dd3c3e8..59ca43f98 100644 --- a/src/Fallout.Build/Target.cs +++ b/src/Fallout.Build/Target.cs @@ -1,9 +1,9 @@ using System; using System.Collections.Generic; using System.Linq; -using Fallout.Common.Execution; +using Fallout.Application.Execution; -namespace Fallout.Common; +namespace Fallout.Application; /// /// Defines a target. diff --git a/src/Fallout.Build/Telemetry/Telemetry.Events.cs b/src/Fallout.Build/Telemetry/Telemetry.Events.cs index ee01b590e..db09a1efb 100644 --- a/src/Fallout.Build/Telemetry/Telemetry.Events.cs +++ b/src/Fallout.Build/Telemetry/Telemetry.Events.cs @@ -1,12 +1,14 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; using Fallout.Domain.Execution; using Serilog; +using Fallout.Application; +using Fallout.Common; -namespace Fallout.Common.Execution; +namespace Fallout.Application.Execution; internal partial class Telemetry { diff --git a/src/Fallout.Build/Telemetry/Telemetry.Properties.cs b/src/Fallout.Build/Telemetry/Telemetry.Properties.cs index 11c2cf702..7d6fd2734 100644 --- a/src/Fallout.Build/Telemetry/Telemetry.Properties.cs +++ b/src/Fallout.Build/Telemetry/Telemetry.Properties.cs @@ -1,17 +1,19 @@ -using System; +using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using System.Reflection; using System.Runtime.InteropServices; -using Fallout.Common.CI; -using Fallout.Common.Git; using Fallout.Common.Tooling; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; -using Fallout.Common.ValueInjection; +using Fallout.Application; +using Fallout.Application.Git; +using Fallout.Application.ValueInjection; +using Fallout.Application.CI; +using Fallout.Common; -namespace Fallout.Common.Execution; +namespace Fallout.Application.Execution; internal partial class Telemetry { diff --git a/src/Fallout.Build/Telemetry/Telemetry.cs b/src/Fallout.Build/Telemetry/Telemetry.cs index 0f7878410..8323edde9 100644 --- a/src/Fallout.Build/Telemetry/Telemetry.cs +++ b/src/Fallout.Build/Telemetry/Telemetry.cs @@ -1,13 +1,15 @@ -using System; +using System; using System.Linq; using System.Reflection; using System.Threading; using Fallout.Common.IO; using Fallout.Solutions; using Fallout.Common.Utilities; -using static Fallout.Common.ControlFlow; +using static Fallout.Application.ControlFlow; +using Fallout.Application; +using Fallout.Common; -namespace Fallout.Common.Execution; +namespace Fallout.Application.Execution; internal static partial class Telemetry { diff --git a/src/Fallout.Build/Terminal.cs b/src/Fallout.Build/Terminal.cs index 2ed103e21..4881489fd 100644 --- a/src/Fallout.Build/Terminal.cs +++ b/src/Fallout.Build/Terminal.cs @@ -1,8 +1,9 @@ -using System; +using System; using System.Linq; using Fallout.Common.Utilities; +using Fallout.Application; -namespace Fallout.Common.Execution; +namespace Fallout.Application.Execution; public class Terminal : Host { diff --git a/src/Fallout.Build/Theming/AnsiConsoleHostTheme.cs b/src/Fallout.Build/Theming/AnsiConsoleHostTheme.cs index cdb0e2ddf..ac3392492 100644 --- a/src/Fallout.Build/Theming/AnsiConsoleHostTheme.cs +++ b/src/Fallout.Build/Theming/AnsiConsoleHostTheme.cs @@ -1,10 +1,10 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using Fallout.Common.Utilities; using Serilog.Sinks.SystemConsole.Themes; -namespace Fallout.Common.Execution.Theming; +namespace Fallout.Application.Execution.Theming; public class AnsiConsoleHostTheme : AnsiConsoleTheme, IHostTheme { diff --git a/src/Fallout.Build/Theming/IHostTheme.cs b/src/Fallout.Build/Theming/IHostTheme.cs index c5ad6ce1c..4ca3e3dd6 100644 --- a/src/Fallout.Build/Theming/IHostTheme.cs +++ b/src/Fallout.Build/Theming/IHostTheme.cs @@ -1,7 +1,7 @@ -using System; +using System; using System.Linq; -namespace Fallout.Common.Execution.Theming; +namespace Fallout.Application.Execution.Theming; public interface IHostTheme { diff --git a/src/Fallout.Build/Theming/SystemConsoleHostTheme.cs b/src/Fallout.Build/Theming/SystemConsoleHostTheme.cs index 826468ada..9e247c77b 100644 --- a/src/Fallout.Build/Theming/SystemConsoleHostTheme.cs +++ b/src/Fallout.Build/Theming/SystemConsoleHostTheme.cs @@ -1,10 +1,10 @@ -using System; +using System; using System.Collections.Generic; using Fallout.Common.Utilities; using Serilog; using Serilog.Sinks.SystemConsole.Themes; -namespace Fallout.Common.Execution.Theming; +namespace Fallout.Application.Execution.Theming; public class SystemConsoleHostTheme : SystemConsoleTheme, IHostTheme { diff --git a/src/Fallout.Build/Utilities/ConsoleUtility.cs b/src/Fallout.Build/Utilities/ConsoleUtility.cs index 1e59cb972..8bac101a4 100644 --- a/src/Fallout.Build/Utilities/ConsoleUtility.cs +++ b/src/Fallout.Build/Utilities/ConsoleUtility.cs @@ -2,8 +2,11 @@ using System.Drawing; using System.Linq; using System.Text; +using Fallout.Application; +using Fallout.Common; +using Fallout.Common.Utilities; -namespace Fallout.Common.Utilities; +namespace Fallout.Application.Utilities; public class ConsoleUtility { diff --git a/src/Fallout.Build/Utilities/CredentialStore.cs b/src/Fallout.Build/Utilities/CredentialStore.cs index 58c2aa9af..f38d495de 100644 --- a/src/Fallout.Build/Utilities/CredentialStore.cs +++ b/src/Fallout.Build/Utilities/CredentialStore.cs @@ -1,8 +1,11 @@ -using System; +using System; using System.Linq; using Fallout.Common.Tooling; +using Fallout.Application; +using Fallout.Common; +using Fallout.Common.Utilities; -namespace Fallout.Common.Utilities; +namespace Fallout.Application.Utilities; public static class CredentialStore { diff --git a/src/Fallout.Build/Utilities/SchemaUtility.cs b/src/Fallout.Build/Utilities/SchemaUtility.cs index 7c6e5c171..09449610c 100644 --- a/src/Fallout.Build/Utilities/SchemaUtility.cs +++ b/src/Fallout.Build/Utilities/SchemaUtility.cs @@ -10,10 +10,13 @@ using Fallout.Common.IO; using Fallout.Common.Tooling; using Fallout.Common.Utilities; -using Fallout.Common.ValueInjection; using static Fallout.Common.Constants; +using Fallout.Application; +using Fallout.Application.ValueInjection; +using Fallout.Common; +using Fallout.Application.Execution; -namespace Fallout.Common.Execution; +namespace Fallout.Application.Execution; /// /// Generates a draft-04 JSON Schema for a build's [Parameter]-attributed members so editors diff --git a/src/Fallout.Build/VCS/GitRepository.cs b/src/Fallout.Build/VCS/GitRepository.cs index b97e2c3d5..b966b0865 100644 --- a/src/Fallout.Build/VCS/GitRepository.cs +++ b/src/Fallout.Build/VCS/GitRepository.cs @@ -2,11 +2,13 @@ using System.Collections.Generic; using System.Linq; using System.Text.RegularExpressions; -using Fallout.Common.CI; using Fallout.Common.IO; using Fallout.Common.Utilities; +using Fallout.Application; +using Fallout.Application.CI; +using Fallout.Common; -namespace Fallout.Common.Git; +namespace Fallout.Application.Git; public enum GitProtocol { diff --git a/src/Fallout.Build/VCS/GitRepositoryExtensions.cs b/src/Fallout.Build/VCS/GitRepositoryExtensions.cs index aa9806ae8..b2de5742e 100644 --- a/src/Fallout.Build/VCS/GitRepositoryExtensions.cs +++ b/src/Fallout.Build/VCS/GitRepositoryExtensions.cs @@ -1,8 +1,8 @@ -using System; +using System; using System.Linq; using Fallout.Common.Utilities; -namespace Fallout.Common.Git; +namespace Fallout.Application.Git; public static class GitRepositoryExtensions { diff --git a/src/Fallout.Build/Verbosity.cs b/src/Fallout.Build/Verbosity.cs index 125ec5e1c..9f48bba0c 100644 --- a/src/Fallout.Build/Verbosity.cs +++ b/src/Fallout.Build/Verbosity.cs @@ -1,7 +1,7 @@ -using System; +using System; using System.Linq; -namespace Fallout.Common; +namespace Fallout.Application; public enum Verbosity { diff --git a/src/Fallout.Cli/Program.AddPackage.cs b/src/Fallout.Cli/Program.AddPackage.cs index ea6d28cf5..816e859e1 100644 --- a/src/Fallout.Cli/Program.AddPackage.cs +++ b/src/Fallout.Cli/Program.AddPackage.cs @@ -1,11 +1,12 @@ -using System; +using System; using System.Linq; using Fallout.Common; -using Fallout.Common.Execution; using Fallout.Common.IO; using Fallout.Solutions; using Fallout.Common.Tooling; using Fallout.Common.Tools.DotNet; +using Fallout.Application.Execution; +using Fallout.Application; namespace Fallout.Cli; diff --git a/src/Fallout.Cli/Program.Cake.cs b/src/Fallout.Cli/Program.Cake.cs index 6169798d1..728e8a33f 100644 --- a/src/Fallout.Cli/Program.Cake.cs +++ b/src/Fallout.Cli/Program.Cake.cs @@ -1,10 +1,9 @@ -using System.Collections.Generic; +using System.Collections.Generic; using System.Linq; using System.Text.RegularExpressions; using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp; using Fallout.Common; -using Fallout.Common.Execution; using Fallout.Common.IO; using Fallout.Solutions; using Fallout.Common.Tooling; @@ -12,6 +11,8 @@ using Fallout.Cli.Rewriting.Cake; using static Fallout.Common.Constants; using static Fallout.Common.EnvironmentInfo; +using Fallout.Application.Execution; +using Fallout.Application; namespace Fallout.Cli; diff --git a/src/Fallout.Cli/Program.GetConfiguration.cs b/src/Fallout.Cli/Program.GetConfiguration.cs index 6600b3273..03004adfb 100644 --- a/src/Fallout.Cli/Program.GetConfiguration.cs +++ b/src/Fallout.Cli/Program.GetConfiguration.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.IO; using System.Linq; @@ -6,6 +6,7 @@ using Fallout.Common.IO; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; +using Fallout.Application; namespace Fallout.Cli; diff --git a/src/Fallout.Cli/Program.Secrets.cs b/src/Fallout.Cli/Program.Secrets.cs index d6dfc277a..3db43c42d 100644 --- a/src/Fallout.Cli/Program.Secrets.cs +++ b/src/Fallout.Cli/Program.Secrets.cs @@ -8,6 +8,8 @@ using Fallout.Common.Utilities.Collections; using static Fallout.Common.Constants; using static Fallout.Common.Utilities.EncryptionUtility; +using Fallout.Application; +using Fallout.Application.Utilities; namespace Fallout.Cli; diff --git a/src/Fallout.Cli/Program.Setup.cs b/src/Fallout.Cli/Program.Setup.cs index 36bbf1019..5c662cd26 100644 --- a/src/Fallout.Cli/Program.Setup.cs +++ b/src/Fallout.Cli/Program.Setup.cs @@ -5,7 +5,6 @@ using System.Reflection; using System.Text; using Fallout.Common; -using Fallout.Common.Execution; using Fallout.Common.IO; using Fallout.Common.Tooling; using Fallout.Common.Utilities; @@ -15,6 +14,8 @@ using static Fallout.Common.EnvironmentInfo; using static Fallout.Common.Tooling.ProcessTasks; using static Fallout.Common.Utilities.TemplateUtility; +using Fallout.Application.Execution; +using Fallout.Application; namespace Fallout.Cli; diff --git a/src/Fallout.Cli/Program.Trigger.cs b/src/Fallout.Cli/Program.Trigger.cs index 1497e5626..3b4154372 100644 --- a/src/Fallout.Cli/Program.Trigger.cs +++ b/src/Fallout.Cli/Program.Trigger.cs @@ -1,10 +1,10 @@ -using System; +using System; using System.Linq; using Fallout.Common; -using Fallout.Common.Git; using Fallout.Common.IO; using Fallout.Common.Tools.Git; using Fallout.Common.Utilities; +using Fallout.Application.Git; namespace Fallout.Cli; diff --git a/src/Fallout.Cli/Program.Update.cs b/src/Fallout.Cli/Program.Update.cs index 145bf805c..1a36e0e17 100644 --- a/src/Fallout.Cli/Program.Update.cs +++ b/src/Fallout.Cli/Program.Update.cs @@ -1,14 +1,15 @@ -using System; +using System; using System.IO; using System.Linq; using System.Text.Json.Nodes; using Fallout.Common; -using Fallout.Common.Execution; using Fallout.Common.IO; using Fallout.Solutions; using Fallout.Common.Tools.DotNet; using Fallout.Common.Utilities; using static Fallout.Common.Constants; +using Fallout.Application.Execution; +using Fallout.Application; namespace Fallout.Cli; diff --git a/src/Fallout.Cli/Program.cs b/src/Fallout.Cli/Program.cs index 1702ab81a..f68cda890 100644 --- a/src/Fallout.Cli/Program.cs +++ b/src/Fallout.Cli/Program.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.IO; using System.Linq; using System.Text; @@ -6,6 +6,7 @@ using Fallout.Common.IO; using Fallout.Common.Utilities; using Spectre.Console; +using Fallout.Application; namespace Fallout.Cli; diff --git a/src/Fallout.Cli/Rewriting/Cake/ClassRewriter.cs b/src/Fallout.Cli/Rewriting/Cake/ClassRewriter.cs index 9bfe9e402..f7490da4f 100644 --- a/src/Fallout.Cli/Rewriting/Cake/ClassRewriter.cs +++ b/src/Fallout.Cli/Rewriting/Cake/ClassRewriter.cs @@ -10,6 +10,7 @@ using Fallout.Common.Tools.NuGet; using Fallout.Common.Tools.SignTool; using static Microsoft.CodeAnalysis.CSharp.SyntaxFactory; +using Fallout.Application; namespace Fallout.Cli.Rewriting.Cake; diff --git a/src/Fallout.Cli/Rewriting/Cake/FormattingRewriter.cs b/src/Fallout.Cli/Rewriting/Cake/FormattingRewriter.cs index 63a84b8ad..2b1db73cd 100644 --- a/src/Fallout.Cli/Rewriting/Cake/FormattingRewriter.cs +++ b/src/Fallout.Cli/Rewriting/Cake/FormattingRewriter.cs @@ -5,6 +5,7 @@ using Fallout.Common; using Fallout.Common.Utilities.Collections; using static Microsoft.CodeAnalysis.CSharp.SyntaxFactory; +using Fallout.Application; namespace Fallout.Cli.Rewriting.Cake; diff --git a/src/Fallout.Cli/Rewriting/Cake/InvocationRewriter.cs b/src/Fallout.Cli/Rewriting/Cake/InvocationRewriter.cs index c30b3efcf..0960cd80c 100644 --- a/src/Fallout.Cli/Rewriting/Cake/InvocationRewriter.cs +++ b/src/Fallout.Cli/Rewriting/Cake/InvocationRewriter.cs @@ -7,6 +7,7 @@ using Fallout.Common.IO; using Serilog; using static Microsoft.CodeAnalysis.CSharp.SyntaxFactory; +using Fallout.Application; namespace Fallout.Cli.Rewriting.Cake; diff --git a/src/Fallout.Cli/Rewriting/Cake/SafeSyntaxRewriter.cs b/src/Fallout.Cli/Rewriting/Cake/SafeSyntaxRewriter.cs index e0614e8c6..7e0cf59c8 100644 --- a/src/Fallout.Cli/Rewriting/Cake/SafeSyntaxRewriter.cs +++ b/src/Fallout.Cli/Rewriting/Cake/SafeSyntaxRewriter.cs @@ -1,8 +1,8 @@ -using System; +using System; using System.Linq; using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp; -using Fallout.Common; +using Fallout.Application; namespace Fallout.Cli.Rewriting.Cake; diff --git a/src/Fallout.Cli/Rewriting/Cake/TargetDefinitionRewriter.cs b/src/Fallout.Cli/Rewriting/Cake/TargetDefinitionRewriter.cs index 0738e4eac..b37a9605e 100644 --- a/src/Fallout.Cli/Rewriting/Cake/TargetDefinitionRewriter.cs +++ b/src/Fallout.Cli/Rewriting/Cake/TargetDefinitionRewriter.cs @@ -5,6 +5,7 @@ using Fallout.Common; using Fallout.Common.Utilities.Collections; using static Microsoft.CodeAnalysis.CSharp.SyntaxFactory; +using Fallout.Application; namespace Fallout.Cli.Rewriting.Cake; diff --git a/src/Fallout.Common/Attributes/CheckPathEnvironmentVariableAttribute.cs b/src/Fallout.Common/Attributes/CheckPathEnvironmentVariableAttribute.cs index 26b24376b..610133e07 100644 --- a/src/Fallout.Common/Attributes/CheckPathEnvironmentVariableAttribute.cs +++ b/src/Fallout.Common/Attributes/CheckPathEnvironmentVariableAttribute.cs @@ -1,7 +1,8 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using Fallout.Common.Tooling; +using Fallout.Application.Execution; namespace Fallout.Common.Execution; diff --git a/src/Fallout.Common/Attributes/FileSystemGlobbingAttributeBase.cs b/src/Fallout.Common/Attributes/FileSystemGlobbingAttributeBase.cs index dd4fd9de7..f72700717 100644 --- a/src/Fallout.Common/Attributes/FileSystemGlobbingAttributeBase.cs +++ b/src/Fallout.Common/Attributes/FileSystemGlobbingAttributeBase.cs @@ -1,9 +1,10 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Reflection; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; +using Fallout.Application; namespace Fallout.Common.IO; diff --git a/src/Fallout.Common/Attributes/GitRepositoryAttribute.cs b/src/Fallout.Common/Attributes/GitRepositoryAttribute.cs index 9b6d80a07..beb70d71f 100644 --- a/src/Fallout.Common/Attributes/GitRepositoryAttribute.cs +++ b/src/Fallout.Common/Attributes/GitRepositoryAttribute.cs @@ -1,7 +1,8 @@ -using System; +using System; using System.Linq; using System.Reflection; -using Fallout.Common.ValueInjection; +using Fallout.Application.ValueInjection; +using Fallout.Application.Git; namespace Fallout.Common.Git; diff --git a/src/Fallout.Common/Attributes/GlobbingOptionsAttribute.cs b/src/Fallout.Common/Attributes/GlobbingOptionsAttribute.cs index 5f84f04ff..8ddd578c9 100644 --- a/src/Fallout.Common/Attributes/GlobbingOptionsAttribute.cs +++ b/src/Fallout.Common/Attributes/GlobbingOptionsAttribute.cs @@ -1,7 +1,7 @@ using System; using System.Collections.Generic; using System.Linq; -using Fallout.Common.Execution; +using Fallout.Application.Execution; namespace Fallout.Common.IO; diff --git a/src/Fallout.Common/Attributes/HandleSingleFileExecutionAttribute.cs b/src/Fallout.Common/Attributes/HandleSingleFileExecutionAttribute.cs index 3034762ee..e28185e03 100644 --- a/src/Fallout.Common/Attributes/HandleSingleFileExecutionAttribute.cs +++ b/src/Fallout.Common/Attributes/HandleSingleFileExecutionAttribute.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.IO; using System.Linq; @@ -10,6 +10,7 @@ using Fallout.Common.Tooling; using Fallout.Common.Utilities; using Serilog; +using Fallout.Application.Execution; namespace Fallout.Common.Execution; diff --git a/src/Fallout.Common/Attributes/LatestGitHubReleaseAttribute.cs b/src/Fallout.Common/Attributes/LatestGitHubReleaseAttribute.cs index 5149b0cfb..7bfa03c63 100644 --- a/src/Fallout.Common/Attributes/LatestGitHubReleaseAttribute.cs +++ b/src/Fallout.Common/Attributes/LatestGitHubReleaseAttribute.cs @@ -1,12 +1,12 @@ -using System; +using System; using System.Linq; using System.Reflection; using System.Text.RegularExpressions; using NuGet.Versioning; -using Fallout.Common.Git; using Fallout.Common.Tools.GitHub; using Fallout.Common.Utilities; -using Fallout.Common.ValueInjection; +using Fallout.Application.ValueInjection; +using Fallout.Application.Git; namespace Fallout.Common.Tooling; diff --git a/src/Fallout.Common/Attributes/LatestMavenVersionAttribute.cs b/src/Fallout.Common/Attributes/LatestMavenVersionAttribute.cs index aafdd04c2..e9e55ba4c 100644 --- a/src/Fallout.Common/Attributes/LatestMavenVersionAttribute.cs +++ b/src/Fallout.Common/Attributes/LatestMavenVersionAttribute.cs @@ -1,10 +1,10 @@ -using System; +using System; using System.Linq; using System.Reflection; using NuGet.Versioning; using Fallout.Common.IO; using Fallout.Common.Utilities; -using Fallout.Common.ValueInjection; +using Fallout.Application.ValueInjection; namespace Fallout.Common.Tooling; diff --git a/src/Fallout.Common/Attributes/LatestMyGetVersionAttribute.cs b/src/Fallout.Common/Attributes/LatestMyGetVersionAttribute.cs index ddbbd899a..67935f34d 100644 --- a/src/Fallout.Common/Attributes/LatestMyGetVersionAttribute.cs +++ b/src/Fallout.Common/Attributes/LatestMyGetVersionAttribute.cs @@ -1,9 +1,9 @@ -using System; +using System; using System.Linq; using System.Reflection; using Fallout.Common.IO; using Fallout.Common.Utilities; -using Fallout.Common.ValueInjection; +using Fallout.Application.ValueInjection; namespace Fallout.Common.Tooling; diff --git a/src/Fallout.Common/Attributes/LatestNpmVersionAttribute.cs b/src/Fallout.Common/Attributes/LatestNpmVersionAttribute.cs index 4a1383cab..da5eca413 100644 --- a/src/Fallout.Common/Attributes/LatestNpmVersionAttribute.cs +++ b/src/Fallout.Common/Attributes/LatestNpmVersionAttribute.cs @@ -1,9 +1,9 @@ -using System; +using System; using System.Linq; using System.Reflection; using NuGet.Versioning; using Fallout.Common.Utilities; -using Fallout.Common.ValueInjection; +using Fallout.Application.ValueInjection; namespace Fallout.Common.Tooling; diff --git a/src/Fallout.Common/Attributes/LatestNuGetVersionAttribute.cs b/src/Fallout.Common/Attributes/LatestNuGetVersionAttribute.cs index fe7ca7919..fa0ad9f06 100644 --- a/src/Fallout.Common/Attributes/LatestNuGetVersionAttribute.cs +++ b/src/Fallout.Common/Attributes/LatestNuGetVersionAttribute.cs @@ -1,9 +1,9 @@ -using System; +using System; using System.Linq; using System.Reflection; using NuGet.Versioning; using Fallout.Common.Utilities; -using Fallout.Common.ValueInjection; +using Fallout.Application.ValueInjection; namespace Fallout.Common.Tooling; diff --git a/src/Fallout.Common/Attributes/LocalPathAttribute.cs b/src/Fallout.Common/Attributes/LocalPathAttribute.cs index b71e0e74d..6879d4577 100644 --- a/src/Fallout.Common/Attributes/LocalPathAttribute.cs +++ b/src/Fallout.Common/Attributes/LocalPathAttribute.cs @@ -1,8 +1,9 @@ -using System; +using System; using System.IO; using System.Linq; using System.Reflection; using Fallout.Common.IO; +using Fallout.Application.Tooling; namespace Fallout.Common.Tooling; diff --git a/src/Fallout.Common/Attributes/NpmPackageAttribute.cs b/src/Fallout.Common/Attributes/NpmPackageAttribute.cs index 4b7644046..76e6a2a85 100644 --- a/src/Fallout.Common/Attributes/NpmPackageAttribute.cs +++ b/src/Fallout.Common/Attributes/NpmPackageAttribute.cs @@ -1,6 +1,7 @@ -using System; +using System; using System.Linq; using System.Reflection; +using Fallout.Application.Tooling; namespace Fallout.Common.Tooling; diff --git a/src/Fallout.Common/Attributes/NuGetPackageAttribute.cs b/src/Fallout.Common/Attributes/NuGetPackageAttribute.cs index 4fd17d51a..93c7b027c 100644 --- a/src/Fallout.Common/Attributes/NuGetPackageAttribute.cs +++ b/src/Fallout.Common/Attributes/NuGetPackageAttribute.cs @@ -1,6 +1,7 @@ -using System; +using System; using System.Linq; using System.Reflection; +using Fallout.Application.Tooling; namespace Fallout.Common.Tooling; diff --git a/src/Fallout.Common/Attributes/PathVariableAttribute.cs b/src/Fallout.Common/Attributes/PathVariableAttribute.cs index 92a6adf89..7de8915b5 100644 --- a/src/Fallout.Common/Attributes/PathVariableAttribute.cs +++ b/src/Fallout.Common/Attributes/PathVariableAttribute.cs @@ -1,6 +1,7 @@ -using System; +using System; using System.Linq; using System.Reflection; +using Fallout.Application.Tooling; namespace Fallout.Common.Tooling; diff --git a/src/Fallout.Common/Attributes/SolutionAttribute.cs b/src/Fallout.Common/Attributes/SolutionAttribute.cs index a2b46d5b4..f3428b56d 100644 --- a/src/Fallout.Common/Attributes/SolutionAttribute.cs +++ b/src/Fallout.Common/Attributes/SolutionAttribute.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Linq; using System.Reflection; using Fallout.Common.IO; @@ -6,6 +6,7 @@ using Serilog; using Fallout.Common; +using Fallout.Application; namespace Fallout.Solutions; diff --git a/src/Fallout.Common/CI/AppVeyor/AppVeyor.Theming.cs b/src/Fallout.Common/CI/AppVeyor/AppVeyor.Theming.cs index 9dd8b4413..39ec10ca8 100644 --- a/src/Fallout.Common/CI/AppVeyor/AppVeyor.Theming.cs +++ b/src/Fallout.Common/CI/AppVeyor/AppVeyor.Theming.cs @@ -1,6 +1,6 @@ -using System.Collections.Generic; -using Fallout.Common.Execution.Theming; +using System.Collections.Generic; using Serilog.Sinks.SystemConsole.Themes; +using Fallout.Application.Execution.Theming; namespace Fallout.Common.CI.AppVeyor; diff --git a/src/Fallout.Common/CI/AppVeyor/AppVeyor.cs b/src/Fallout.Common/CI/AppVeyor/AppVeyor.cs index a9d32edbc..129c2679a 100644 --- a/src/Fallout.Common/CI/AppVeyor/AppVeyor.cs +++ b/src/Fallout.Common/CI/AppVeyor/AppVeyor.cs @@ -4,6 +4,8 @@ using System.Linq; using Fallout.Common.Tooling; using Fallout.Common.Utilities; +using Fallout.Application; +using Fallout.Application.CI; namespace Fallout.Common.CI.AppVeyor; // diff --git a/src/Fallout.Common/CI/AppVeyor/AppVeyorAttribute.cs b/src/Fallout.Common/CI/AppVeyor/AppVeyorAttribute.cs index a0ea0d3b2..c98e2c6d1 100644 --- a/src/Fallout.Common/CI/AppVeyor/AppVeyorAttribute.cs +++ b/src/Fallout.Common/CI/AppVeyor/AppVeyorAttribute.cs @@ -4,10 +4,11 @@ using System.Linq; using System.Reflection; using Fallout.Common.CI.AppVeyor.Configuration; -using Fallout.Common.Execution; using Fallout.Common.IO; -using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; +using Fallout.Application.CI; +using Fallout.Application.Utilities; +using Fallout.Application.Execution; namespace Fallout.Common.CI.AppVeyor; diff --git a/src/Fallout.Common/CI/AppVeyor/Configuration/AppVeyorBranches.cs b/src/Fallout.Common/CI/AppVeyor/Configuration/AppVeyorBranches.cs index cb2f721f8..339ad30d7 100644 --- a/src/Fallout.Common/CI/AppVeyor/Configuration/AppVeyorBranches.cs +++ b/src/Fallout.Common/CI/AppVeyor/Configuration/AppVeyorBranches.cs @@ -1,7 +1,8 @@ using System; using System.Linq; -using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; +using Fallout.Application.CI; +using Fallout.Application.Utilities; namespace Fallout.Common.CI.AppVeyor.Configuration; diff --git a/src/Fallout.Common/CI/AppVeyor/Configuration/AppVeyorConfiguration.cs b/src/Fallout.Common/CI/AppVeyor/Configuration/AppVeyorConfiguration.cs index 4e76c58d6..8744d042a 100644 --- a/src/Fallout.Common/CI/AppVeyor/Configuration/AppVeyorConfiguration.cs +++ b/src/Fallout.Common/CI/AppVeyor/Configuration/AppVeyorConfiguration.cs @@ -4,6 +4,8 @@ using Fallout.Common.Tooling; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; +using Fallout.Application.CI; +using Fallout.Application.Utilities; namespace Fallout.Common.CI.AppVeyor.Configuration; diff --git a/src/Fallout.Common/CI/AppVeyor/Configuration/AppVeyorCustomWriterExtensions.cs b/src/Fallout.Common/CI/AppVeyor/Configuration/AppVeyorCustomWriterExtensions.cs index 5e753554a..55c223b22 100644 --- a/src/Fallout.Common/CI/AppVeyor/Configuration/AppVeyorCustomWriterExtensions.cs +++ b/src/Fallout.Common/CI/AppVeyor/Configuration/AppVeyorCustomWriterExtensions.cs @@ -1,6 +1,7 @@ using System; using System.Linq; using Fallout.Common.Utilities; +using Fallout.Application.Utilities; namespace Fallout.Common.CI.AppVeyor.Configuration; diff --git a/src/Fallout.Common/CI/AzurePipelines/AzurePipelines.Theming.cs b/src/Fallout.Common/CI/AzurePipelines/AzurePipelines.Theming.cs index 160de8739..942880149 100644 --- a/src/Fallout.Common/CI/AzurePipelines/AzurePipelines.Theming.cs +++ b/src/Fallout.Common/CI/AzurePipelines/AzurePipelines.Theming.cs @@ -1,8 +1,8 @@ -using System; +using System; using System.Collections.Generic; -using Fallout.Common.Execution.Theming; using Fallout.Common.Utilities; using Serilog.Sinks.SystemConsole.Themes; +using Fallout.Application.Execution.Theming; namespace Fallout.Common.CI.AzurePipelines; diff --git a/src/Fallout.Common/CI/AzurePipelines/AzurePipelines.cs b/src/Fallout.Common/CI/AzurePipelines/AzurePipelines.cs index 93f66e267..50df16a23 100644 --- a/src/Fallout.Common/CI/AzurePipelines/AzurePipelines.cs +++ b/src/Fallout.Common/CI/AzurePipelines/AzurePipelines.cs @@ -1,9 +1,11 @@ -using System; +using System; using System.Collections.Generic; using System.Diagnostics.CodeAnalysis; using System.Linq; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; +using Fallout.Application; +using Fallout.Application.CI; namespace Fallout.Common.CI.AzurePipelines; diff --git a/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesAttribute.cs b/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesAttribute.cs index b6bf766b9..2c5f41baf 100644 --- a/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesAttribute.cs +++ b/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesAttribute.cs @@ -1,14 +1,16 @@ -using System; +using System; using System.Collections.Generic; using System.IO; using System.Linq; using Fallout.Common.CI.AzurePipelines.Configuration; -using Fallout.Common.Execution; using Fallout.Common.IO; using Fallout.Common.Tooling; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; using static Fallout.Common.IO.PathConstruction; +using Fallout.Application.CI; +using Fallout.Application.Utilities; +using Fallout.Application.Execution; namespace Fallout.Common.CI.AzurePipelines; diff --git a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelineCheckoutStep.cs b/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelineCheckoutStep.cs index 3b1633d9b..f7b91f414 100644 --- a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelineCheckoutStep.cs +++ b/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelineCheckoutStep.cs @@ -1,4 +1,4 @@ -using Fallout.Common.Utilities; +using Fallout.Application.Utilities; namespace Fallout.Common.CI.AzurePipelines.Configuration; diff --git a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesCacheStep.cs b/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesCacheStep.cs index 555712c7b..8a78d0384 100644 --- a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesCacheStep.cs +++ b/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesCacheStep.cs @@ -1,7 +1,8 @@ -using System; +using System; using System.Linq; using Fallout.Common.Utilities; using Fallout.Common.Tooling; +using Fallout.Application.Utilities; namespace Fallout.Common.CI.AzurePipelines.Configuration; diff --git a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesCmdStep.cs b/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesCmdStep.cs index 1a9b7ed80..58a8dbcc6 100644 --- a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesCmdStep.cs +++ b/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesCmdStep.cs @@ -1,8 +1,9 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; +using Fallout.Application.Utilities; namespace Fallout.Common.CI.AzurePipelines.Configuration; diff --git a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesConfiguration.cs b/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesConfiguration.cs index 327fa509b..1ff728f08 100644 --- a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesConfiguration.cs +++ b/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesConfiguration.cs @@ -1,5 +1,6 @@ -using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; +using Fallout.Application.CI; +using Fallout.Application.Utilities; namespace Fallout.Common.CI.AzurePipelines.Configuration; diff --git a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesCustomWriterExtensions.cs b/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesCustomWriterExtensions.cs index 0d86dbd2d..4d9b63f8f 100644 --- a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesCustomWriterExtensions.cs +++ b/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesCustomWriterExtensions.cs @@ -1,6 +1,7 @@ using System; using System.Linq; using Fallout.Common.Utilities; +using Fallout.Application.Utilities; namespace Fallout.Common.CI.AzurePipelines.Configuration; diff --git a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesDownloadStep.cs b/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesDownloadStep.cs index 759ff7fab..379b2b108 100644 --- a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesDownloadStep.cs +++ b/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesDownloadStep.cs @@ -1,6 +1,7 @@ -using System; +using System; using System.Linq; using Fallout.Common.Utilities; +using Fallout.Application.Utilities; namespace Fallout.Common.CI.AzurePipelines.Configuration; diff --git a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesJob.cs b/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesJob.cs index 90ad9ba37..e1f19fe3b 100644 --- a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesJob.cs +++ b/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesJob.cs @@ -3,6 +3,8 @@ using Fallout.Common.Tooling; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; +using Fallout.Application.CI; +using Fallout.Application.Utilities; namespace Fallout.Common.CI.AzurePipelines.Configuration; diff --git a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesPublishStep.cs b/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesPublishStep.cs index de71af96a..e43dcd145 100644 --- a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesPublishStep.cs +++ b/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesPublishStep.cs @@ -1,6 +1,7 @@ -using System; +using System; using System.Linq; using Fallout.Common.Utilities; +using Fallout.Application.Utilities; namespace Fallout.Common.CI.AzurePipelines.Configuration; diff --git a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesStage.cs b/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesStage.cs index 749858e6d..0fee503b5 100644 --- a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesStage.cs +++ b/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesStage.cs @@ -3,6 +3,8 @@ using Fallout.Common.Tooling; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; +using Fallout.Application.CI; +using Fallout.Application.Utilities; namespace Fallout.Common.CI.AzurePipelines.Configuration; diff --git a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesStep.cs b/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesStep.cs index c25fb30ba..dde174943 100644 --- a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesStep.cs +++ b/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesStep.cs @@ -1,5 +1,6 @@ -using System; +using System; using System.Linq; +using Fallout.Application.CI; namespace Fallout.Common.CI.AzurePipelines.Configuration; diff --git a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesVcsPushTrigger.cs b/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesVcsPushTrigger.cs index a5bc905e2..b44327db3 100644 --- a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesVcsPushTrigger.cs +++ b/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesVcsPushTrigger.cs @@ -1,6 +1,7 @@ -using System.Collections.Generic; -using Fallout.Common.Utilities; +using System.Collections.Generic; using Fallout.Common.Utilities.Collections; +using Fallout.Application.CI; +using Fallout.Application.Utilities; namespace Fallout.Common.CI.AzurePipelines.Configuration; diff --git a/src/Fallout.Common/CI/Bamboo/Bamboo.cs b/src/Fallout.Common/CI/Bamboo/Bamboo.cs index a963ae45c..8afb45267 100644 --- a/src/Fallout.Common/CI/Bamboo/Bamboo.cs +++ b/src/Fallout.Common/CI/Bamboo/Bamboo.cs @@ -1,5 +1,7 @@ -using System; +using System; using System.Diagnostics.CodeAnalysis; +using Fallout.Application.CI; +using Fallout.Application; namespace Fallout.Common.CI.Bamboo; diff --git a/src/Fallout.Common/CI/Bitbucket/Bitbucket.cs b/src/Fallout.Common/CI/Bitbucket/Bitbucket.cs index cc79eabf9..b311a1b41 100644 --- a/src/Fallout.Common/CI/Bitbucket/Bitbucket.cs +++ b/src/Fallout.Common/CI/Bitbucket/Bitbucket.cs @@ -1,6 +1,8 @@ -using System; +using System; using System.Diagnostics.CodeAnalysis; using System.Linq; +using Fallout.Application.CI; +using Fallout.Application; namespace Fallout.Common.CI.Bitbucket; diff --git a/src/Fallout.Common/CI/Bitrise/Bitrise.cs b/src/Fallout.Common/CI/Bitrise/Bitrise.cs index 3a6920d61..c51d488c0 100644 --- a/src/Fallout.Common/CI/Bitrise/Bitrise.cs +++ b/src/Fallout.Common/CI/Bitrise/Bitrise.cs @@ -1,6 +1,8 @@ -using System; +using System; using System.Diagnostics.CodeAnalysis; using System.Linq; +using Fallout.Application; +using Fallout.Application.CI; namespace Fallout.Common.CI.Bitrise; diff --git a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsArtifactStep.cs b/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsArtifactStep.cs index ae5269c64..6e405afa5 100644 --- a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsArtifactStep.cs +++ b/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsArtifactStep.cs @@ -1,6 +1,7 @@ -using System; +using System; using System.Linq; using Fallout.Common.Utilities; +using Fallout.Application.Utilities; namespace Fallout.Common.CI.GitHubActions.Configuration; diff --git a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsCacheStep.cs b/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsCacheStep.cs index d1fb7da89..83b7c9582 100644 --- a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsCacheStep.cs +++ b/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsCacheStep.cs @@ -1,7 +1,8 @@ -using System; +using System; using System.Linq; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; +using Fallout.Application.Utilities; namespace Fallout.Common.CI.GitHubActions.Configuration; diff --git a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsCheckoutStep.cs b/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsCheckoutStep.cs index 2f2cdb624..5a6574f0f 100644 --- a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsCheckoutStep.cs +++ b/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsCheckoutStep.cs @@ -1,6 +1,7 @@ -using System; +using System; using System.Linq; using Fallout.Common.Utilities; +using Fallout.Application.Utilities; namespace Fallout.Common.CI.GitHubActions.Configuration; diff --git a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsConfiguration.cs b/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsConfiguration.cs index 97ad0c9c4..f616c554b 100644 --- a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsConfiguration.cs +++ b/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsConfiguration.cs @@ -2,6 +2,8 @@ using Fallout.Common.Tooling; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; +using Fallout.Application.CI; +using Fallout.Application.Utilities; namespace Fallout.Common.CI.GitHubActions.Configuration; diff --git a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsDetailedTrigger.cs b/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsDetailedTrigger.cs index a79de83ca..de6fb629f 100644 --- a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsDetailedTrigger.cs +++ b/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsDetailedTrigger.cs @@ -1,5 +1,6 @@ using System; using System.Linq; +using Fallout.Application.CI; namespace Fallout.Common.CI.GitHubActions.Configuration; diff --git a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsJob.cs b/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsJob.cs index ab19c6ad4..500ecb15a 100644 --- a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsJob.cs +++ b/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsJob.cs @@ -3,6 +3,8 @@ using Fallout.Common.Tooling; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; +using Fallout.Application.CI; +using Fallout.Application.Utilities; namespace Fallout.Common.CI.GitHubActions.Configuration; diff --git a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsRunStep.cs b/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsRunStep.cs index 5ff03f0cb..30632d872 100644 --- a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsRunStep.cs +++ b/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsRunStep.cs @@ -1,6 +1,7 @@ using System.Collections.Generic; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; +using Fallout.Application.Utilities; namespace Fallout.Common.CI.GitHubActions.Configuration; diff --git a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsScheduledTrigger.cs b/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsScheduledTrigger.cs index 2814cdd84..ac52bbb37 100644 --- a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsScheduledTrigger.cs +++ b/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsScheduledTrigger.cs @@ -1,6 +1,6 @@ using System; using System.Linq; -using Fallout.Common.Utilities; +using Fallout.Application.Utilities; namespace Fallout.Common.CI.GitHubActions.Configuration; diff --git a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsStep.cs b/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsStep.cs index 4971b527a..447700cec 100644 --- a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsStep.cs +++ b/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsStep.cs @@ -1,5 +1,6 @@ using System; using System.Linq; +using Fallout.Application.CI; namespace Fallout.Common.CI.GitHubActions.Configuration; diff --git a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsVcsTrigger.cs b/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsVcsTrigger.cs index 50b0ce47f..5d6319fbe 100644 --- a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsVcsTrigger.cs +++ b/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsVcsTrigger.cs @@ -3,6 +3,7 @@ using Fallout.Common.Tooling; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; +using Fallout.Application.Utilities; namespace Fallout.Common.CI.GitHubActions.Configuration; diff --git a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsWorkflowDispatchTrigger.cs b/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsWorkflowDispatchTrigger.cs index bf4b77490..05b1a2e25 100644 --- a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsWorkflowDispatchTrigger.cs +++ b/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsWorkflowDispatchTrigger.cs @@ -1,7 +1,8 @@ -using System; +using System; using System.Linq; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; +using Fallout.Application.Utilities; namespace Fallout.Common.CI.GitHubActions.Configuration; diff --git a/src/Fallout.Common/CI/GitHubActions/GitHubActions.Theming.cs b/src/Fallout.Common/CI/GitHubActions/GitHubActions.Theming.cs index 2dcc184f8..1b0749dfc 100644 --- a/src/Fallout.Common/CI/GitHubActions/GitHubActions.Theming.cs +++ b/src/Fallout.Common/CI/GitHubActions/GitHubActions.Theming.cs @@ -1,6 +1,6 @@ -using System; -using Fallout.Common.Execution.Theming; +using System; using Fallout.Common.Utilities; +using Fallout.Application.Execution.Theming; namespace Fallout.Common.CI.GitHubActions; diff --git a/src/Fallout.Common/CI/GitHubActions/GitHubActions.cs b/src/Fallout.Common/CI/GitHubActions/GitHubActions.cs index 0e76cf618..026002121 100644 --- a/src/Fallout.Common/CI/GitHubActions/GitHubActions.cs +++ b/src/Fallout.Common/CI/GitHubActions/GitHubActions.cs @@ -10,6 +10,8 @@ using Fallout.Common.IO; using Fallout.Common.Tooling; using Fallout.Common.Utilities; +using Fallout.Application; +using Fallout.Application.CI; namespace Fallout.Common.CI.GitHubActions; diff --git a/src/Fallout.Common/CI/GitHubActions/GitHubActionsAttribute.cs b/src/Fallout.Common/CI/GitHubActions/GitHubActionsAttribute.cs index 98c870cd8..f503997aa 100644 --- a/src/Fallout.Common/CI/GitHubActions/GitHubActionsAttribute.cs +++ b/src/Fallout.Common/CI/GitHubActions/GitHubActionsAttribute.cs @@ -1,13 +1,15 @@ -using System; +using System; using System.Collections.Generic; using System.IO; using System.Linq; using Fallout.Common.CI.GitHubActions.Configuration; -using Fallout.Common.Execution; using Fallout.Common.IO; using Fallout.Common.Tooling; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; +using Fallout.Application.CI; +using Fallout.Application.Utilities; +using Fallout.Application.Execution; namespace Fallout.Common.CI.GitHubActions; diff --git a/src/Fallout.Common/CI/GitLab/GitLab.Theming.cs b/src/Fallout.Common/CI/GitLab/GitLab.Theming.cs index 1c917f5f7..7a88a4ac5 100644 --- a/src/Fallout.Common/CI/GitLab/GitLab.Theming.cs +++ b/src/Fallout.Common/CI/GitLab/GitLab.Theming.cs @@ -1,6 +1,6 @@ -using System; -using Fallout.Common.Execution.Theming; +using System; using Fallout.Common.Utilities; +using Fallout.Application.Execution.Theming; namespace Fallout.Common.CI.GitLab; diff --git a/src/Fallout.Common/CI/GitLab/GitLab.cs b/src/Fallout.Common/CI/GitLab/GitLab.cs index c89fe2746..e428f2f0f 100644 --- a/src/Fallout.Common/CI/GitLab/GitLab.cs +++ b/src/Fallout.Common/CI/GitLab/GitLab.cs @@ -2,6 +2,8 @@ using System.Diagnostics.CodeAnalysis; using System.Linq; using Fallout.Common.Utilities; +using Fallout.Application.CI; +using Fallout.Application; namespace Fallout.Common.CI.GitLab; diff --git a/src/Fallout.Common/CI/Jenkins/Jenkins.cs b/src/Fallout.Common/CI/Jenkins/Jenkins.cs index 7707c14b1..486f32cd5 100644 --- a/src/Fallout.Common/CI/Jenkins/Jenkins.cs +++ b/src/Fallout.Common/CI/Jenkins/Jenkins.cs @@ -1,6 +1,8 @@ -using System; +using System; using System.Diagnostics.CodeAnalysis; using System.Linq; +using Fallout.Application.CI; +using Fallout.Application; namespace Fallout.Common.CI.Jenkins; diff --git a/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationConfiguration.cs b/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationConfiguration.cs index 7e26eb7ec..9361d2b92 100644 --- a/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationConfiguration.cs +++ b/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationConfiguration.cs @@ -1,6 +1,8 @@ -using System.Linq; +using System.Linq; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; +using Fallout.Application.CI; +using Fallout.Application.Utilities; namespace Fallout.Common.CI.SpaceAutomation.Configuration; diff --git a/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationContainer.cs b/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationContainer.cs index 4e950362f..5c44bf5d3 100644 --- a/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationContainer.cs +++ b/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationContainer.cs @@ -1,8 +1,10 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; +using Fallout.Application.CI; +using Fallout.Application.Utilities; namespace Fallout.Common.CI.SpaceAutomation.Configuration; diff --git a/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationCronScheduleTrigger.cs b/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationCronScheduleTrigger.cs index 92a0dd6f2..458d9738b 100644 --- a/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationCronScheduleTrigger.cs +++ b/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationCronScheduleTrigger.cs @@ -1,6 +1,7 @@ -using System; +using System; using System.Linq; using Fallout.Common.Utilities; +using Fallout.Application.Utilities; namespace Fallout.Common.CI.SpaceAutomation.Configuration; diff --git a/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationCustomWriterExtensions.cs b/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationCustomWriterExtensions.cs index 79e1d096f..c5cca1db7 100644 --- a/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationCustomWriterExtensions.cs +++ b/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationCustomWriterExtensions.cs @@ -1,6 +1,7 @@ -using System; +using System; using System.Linq; using Fallout.Common.Utilities; +using Fallout.Application.Utilities; namespace Fallout.Common.CI.SpaceAutomation.Configuration; diff --git a/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationPushTrigger.cs b/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationPushTrigger.cs index 25bdb3782..88297a1ca 100644 --- a/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationPushTrigger.cs +++ b/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationPushTrigger.cs @@ -1,7 +1,8 @@ -using System; +using System; using System.Linq; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; +using Fallout.Application.Utilities; namespace Fallout.Common.CI.SpaceAutomation.Configuration; diff --git a/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationResources.cs b/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationResources.cs index 07784c3d5..0c933aacb 100644 --- a/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationResources.cs +++ b/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationResources.cs @@ -1,6 +1,7 @@ -using System; +using System; using System.Linq; -using Fallout.Common.Utilities; +using Fallout.Application.CI; +using Fallout.Application.Utilities; namespace Fallout.Common.CI.SpaceAutomation.Configuration; diff --git a/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationTrigger.cs b/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationTrigger.cs index 1a691d8a8..892f42d5b 100644 --- a/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationTrigger.cs +++ b/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationTrigger.cs @@ -1,5 +1,6 @@ -using System; +using System; using System.Linq; +using Fallout.Application.CI; namespace Fallout.Common.CI.SpaceAutomation.Configuration; diff --git a/src/Fallout.Common/CI/SpaceAutomation/SpaceAutomation.Theming.cs b/src/Fallout.Common/CI/SpaceAutomation/SpaceAutomation.Theming.cs index 253e8b538..01dd5d88d 100644 --- a/src/Fallout.Common/CI/SpaceAutomation/SpaceAutomation.Theming.cs +++ b/src/Fallout.Common/CI/SpaceAutomation/SpaceAutomation.Theming.cs @@ -1,4 +1,4 @@ -using Fallout.Common.Execution; +using Fallout.Application.Execution; namespace Fallout.Common.CI.SpaceAutomation; diff --git a/src/Fallout.Common/CI/SpaceAutomation/SpaceAutomation.cs b/src/Fallout.Common/CI/SpaceAutomation/SpaceAutomation.cs index 54efe276e..026aa34fc 100644 --- a/src/Fallout.Common/CI/SpaceAutomation/SpaceAutomation.cs +++ b/src/Fallout.Common/CI/SpaceAutomation/SpaceAutomation.cs @@ -1,6 +1,8 @@ -using System; +using System; using System.Diagnostics.CodeAnalysis; using System.Linq; +using Fallout.Application.CI; +using Fallout.Application; namespace Fallout.Common.CI.SpaceAutomation; diff --git a/src/Fallout.Common/CI/SpaceAutomation/SpaceAutomationAttribute.cs b/src/Fallout.Common/CI/SpaceAutomation/SpaceAutomationAttribute.cs index d14cdd31e..436174487 100644 --- a/src/Fallout.Common/CI/SpaceAutomation/SpaceAutomationAttribute.cs +++ b/src/Fallout.Common/CI/SpaceAutomation/SpaceAutomationAttribute.cs @@ -1,11 +1,13 @@ -using System; +using System; using System.Collections.Generic; using System.IO; using System.Linq; using Fallout.Common.CI.SpaceAutomation.Configuration; -using Fallout.Common.Execution; using Fallout.Common.IO; using Fallout.Common.Utilities; +using Fallout.Application.CI; +using Fallout.Application.Utilities; +using Fallout.Application.Execution; namespace Fallout.Common.CI.SpaceAutomation; diff --git a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityArtifactDependency.cs b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityArtifactDependency.cs index bf9080c54..aafe1c949 100644 --- a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityArtifactDependency.cs +++ b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityArtifactDependency.cs @@ -1,6 +1,6 @@ using System; using System.Linq; -using Fallout.Common.Utilities; +using Fallout.Application.Utilities; namespace Fallout.Common.CI.TeamCity.Configuration; diff --git a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityBuildType.cs b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityBuildType.cs index 30bf70cc7..b9021c2c0 100644 --- a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityBuildType.cs +++ b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityBuildType.cs @@ -1,6 +1,8 @@ using System; using System.Linq; using Fallout.Common.Utilities; +using Fallout.Application.CI; +using Fallout.Application.Utilities; namespace Fallout.Common.CI.TeamCity.Configuration; diff --git a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityBuildTypeVcsRoot.cs b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityBuildTypeVcsRoot.cs index 530945720..f82dbd266 100644 --- a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityBuildTypeVcsRoot.cs +++ b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityBuildTypeVcsRoot.cs @@ -1,6 +1,7 @@ using System; using System.Linq; -using Fallout.Common.Utilities; +using Fallout.Application.CI; +using Fallout.Application.Utilities; namespace Fallout.Common.CI.TeamCity.Configuration; diff --git a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityConfiguration.cs b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityConfiguration.cs index 49fd4ce09..97ec4a852 100644 --- a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityConfiguration.cs +++ b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityConfiguration.cs @@ -2,6 +2,8 @@ using System.Linq; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; +using Fallout.Application.CI; +using Fallout.Application.Utilities; namespace Fallout.Common.CI.TeamCity.Configuration; diff --git a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityConfigurationParameter.cs b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityConfigurationParameter.cs index 3bbe95cff..9c5558867 100644 --- a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityConfigurationParameter.cs +++ b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityConfigurationParameter.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Linq; using Fallout.Common.Utilities; +using Fallout.Application.Utilities; namespace Fallout.Common.CI.TeamCity.Configuration; diff --git a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityCustomWriterExtensions.cs b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityCustomWriterExtensions.cs index 75b9a1546..2abdbec42 100644 --- a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityCustomWriterExtensions.cs +++ b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityCustomWriterExtensions.cs @@ -1,6 +1,7 @@ using System; using System.Linq; using Fallout.Common.Utilities; +using Fallout.Application.Utilities; namespace Fallout.Common.CI.TeamCity.Configuration; diff --git a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityDependency.cs b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityDependency.cs index 995ee019a..b083466a1 100644 --- a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityDependency.cs +++ b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityDependency.cs @@ -1,5 +1,6 @@ using System; using System.Linq; +using Fallout.Application.CI; namespace Fallout.Common.CI.TeamCity.Configuration; diff --git a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityFinishBuildTrigger.cs b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityFinishBuildTrigger.cs index 65d3bdbc1..997d8f537 100644 --- a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityFinishBuildTrigger.cs +++ b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityFinishBuildTrigger.cs @@ -1,6 +1,7 @@ using System; using System.Linq; using Fallout.Common.Utilities; +using Fallout.Application.Utilities; namespace Fallout.Common.CI.TeamCity.Configuration; diff --git a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityKeyValueParameter.cs b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityKeyValueParameter.cs index 54c28ba41..eefaec27b 100644 --- a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityKeyValueParameter.cs +++ b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityKeyValueParameter.cs @@ -1,6 +1,7 @@ using System; using System.Linq; using Fallout.Common.Utilities; +using Fallout.Application.Utilities; namespace Fallout.Common.CI.TeamCity.Configuration; diff --git a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityParameter.cs b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityParameter.cs index 647d3d2ae..17392b694 100644 --- a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityParameter.cs +++ b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityParameter.cs @@ -1,5 +1,6 @@ using System; using System.Linq; +using Fallout.Application.CI; namespace Fallout.Common.CI.TeamCity.Configuration; diff --git a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityProject.cs b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityProject.cs index 74bd74de6..c97e2289e 100644 --- a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityProject.cs +++ b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityProject.cs @@ -1,6 +1,8 @@ using System; using System.Linq; using Fallout.Common.Utilities; +using Fallout.Application.CI; +using Fallout.Application.Utilities; namespace Fallout.Common.CI.TeamCity.Configuration; diff --git a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityScheduledTrigger.cs b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityScheduledTrigger.cs index 82a283544..947b46876 100644 --- a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityScheduledTrigger.cs +++ b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityScheduledTrigger.cs @@ -1,6 +1,6 @@ using System; using System.Linq; -using Fallout.Common.Utilities; +using Fallout.Application.Utilities; namespace Fallout.Common.CI.TeamCity.Configuration; diff --git a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCitySnapshotDependency.cs b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCitySnapshotDependency.cs index d8358967e..0ce106c43 100644 --- a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCitySnapshotDependency.cs +++ b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCitySnapshotDependency.cs @@ -1,6 +1,7 @@ using System; using System.Linq; using Fallout.Common.Utilities; +using Fallout.Application.Utilities; namespace Fallout.Common.CI.TeamCity.Configuration; diff --git a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityTrigger.cs b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityTrigger.cs index fa302d64a..8bda89b82 100644 --- a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityTrigger.cs +++ b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityTrigger.cs @@ -1,5 +1,6 @@ using System; using System.Linq; +using Fallout.Application.CI; namespace Fallout.Common.CI.TeamCity.Configuration; diff --git a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityVcsRoot.cs b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityVcsRoot.cs index 0435792b9..44eb80217 100644 --- a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityVcsRoot.cs +++ b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityVcsRoot.cs @@ -1,6 +1,7 @@ using System; using System.Linq; -using Fallout.Common.Utilities; +using Fallout.Application.CI; +using Fallout.Application.Utilities; namespace Fallout.Common.CI.TeamCity.Configuration; diff --git a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityVcsTrigger.cs b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityVcsTrigger.cs index af6010d08..55e5f6342 100644 --- a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityVcsTrigger.cs +++ b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityVcsTrigger.cs @@ -1,6 +1,6 @@ using System; using System.Linq; -using Fallout.Common.Utilities; +using Fallout.Application.Utilities; namespace Fallout.Common.CI.TeamCity.Configuration; diff --git a/src/Fallout.Common/CI/TeamCity/TeamCity.Theming.cs b/src/Fallout.Common/CI/TeamCity/TeamCity.Theming.cs index a670029cb..c14505bc8 100644 --- a/src/Fallout.Common/CI/TeamCity/TeamCity.Theming.cs +++ b/src/Fallout.Common/CI/TeamCity/TeamCity.Theming.cs @@ -1,7 +1,7 @@ -using System; -using Fallout.Common.Execution; -using Fallout.Common.Execution.Theming; +using System; using Fallout.Common.Utilities; +using Fallout.Application.Execution.Theming; +using Fallout.Application.Execution; namespace Fallout.Common.CI.TeamCity; diff --git a/src/Fallout.Common/CI/TeamCity/TeamCity.cs b/src/Fallout.Common/CI/TeamCity/TeamCity.cs index b12931127..058294755 100644 --- a/src/Fallout.Common/CI/TeamCity/TeamCity.cs +++ b/src/Fallout.Common/CI/TeamCity/TeamCity.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Collections.Immutable; using System.Diagnostics.CodeAnalysis; @@ -9,6 +9,8 @@ using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; using Serilog; +using Fallout.Application; +using Fallout.Application.CI; namespace Fallout.Common.CI.TeamCity; diff --git a/src/Fallout.Common/CI/TeamCity/TeamCityAttribute.cs b/src/Fallout.Common/CI/TeamCity/TeamCityAttribute.cs index 04453628b..4aec99742 100644 --- a/src/Fallout.Common/CI/TeamCity/TeamCityAttribute.cs +++ b/src/Fallout.Common/CI/TeamCity/TeamCityAttribute.cs @@ -6,13 +6,16 @@ using System.Linq.Expressions; using System.Reflection; using Fallout.Common.CI.TeamCity.Configuration; -using Fallout.Common.Execution; using Fallout.Common.IO; using Fallout.Solutions; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; -using Fallout.Common.ValueInjection; using static Fallout.Common.IO.PathConstruction; +using Fallout.Application.CI; +using Fallout.Application.Utilities; +using Fallout.Application.Execution; +using Fallout.Application.ValueInjection; +using Fallout.Application; namespace Fallout.Common.CI.TeamCity; diff --git a/src/Fallout.Common/CI/TravisCI/TravisCI.cs b/src/Fallout.Common/CI/TravisCI/TravisCI.cs index 3065a9148..342438f95 100644 --- a/src/Fallout.Common/CI/TravisCI/TravisCI.cs +++ b/src/Fallout.Common/CI/TravisCI/TravisCI.cs @@ -1,6 +1,8 @@ -using System; +using System; using System.Diagnostics.CodeAnalysis; using System.Linq; +using Fallout.Application; +using Fallout.Application.CI; namespace Fallout.Common.CI.TravisCI; diff --git a/src/Fallout.Common/ChangeLog/ChangeLogTasks.cs b/src/Fallout.Common/ChangeLog/ChangeLogTasks.cs index 473da0562..c44b88ad0 100644 --- a/src/Fallout.Common/ChangeLog/ChangeLogTasks.cs +++ b/src/Fallout.Common/ChangeLog/ChangeLogTasks.cs @@ -3,11 +3,12 @@ using System.Diagnostics; using System.Linq; using NuGet.Versioning; -using Fallout.Common.Git; using Fallout.Common.IO; using Fallout.Common.Tools.GitHub; using Fallout.Common.Utilities; using Serilog; +using Fallout.Application.Git; +using Fallout.Application; // ReSharper disable ArgumentsStyleLiteral namespace Fallout.Common.ChangeLog; diff --git a/src/Fallout.Common/IO/FtpTasks.cs b/src/Fallout.Common/IO/FtpTasks.cs index ad1bd6840..fe9422cdc 100644 --- a/src/Fallout.Common/IO/FtpTasks.cs +++ b/src/Fallout.Common/IO/FtpTasks.cs @@ -1,8 +1,9 @@ -using System; +using System; using System.IO; using System.Linq; using System.Net; using Serilog; +using Fallout.Application; #pragma warning disable SYSLIB0014 namespace Fallout.Common.IO; diff --git a/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultAttributeBase.cs b/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultAttributeBase.cs index c77a8f02e..63d85126e 100644 --- a/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultAttributeBase.cs +++ b/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultAttributeBase.cs @@ -1,7 +1,8 @@ -using System; +using System; using System.Linq; using System.Reflection; -using Fallout.Common.ValueInjection; +using Fallout.Application; +using Fallout.Application.ValueInjection; namespace Fallout.Common.Tools.AzureKeyVault { diff --git a/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultConfigurationAttribute.cs b/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultConfigurationAttribute.cs index 1736b355a..03f5f869c 100644 --- a/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultConfigurationAttribute.cs +++ b/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultConfigurationAttribute.cs @@ -1,8 +1,8 @@ -using System; +using System; using System.Linq; using System.Reflection; -using Fallout.Common.ValueInjection; using Serilog; +using Fallout.Application.ValueInjection; namespace Fallout.Common.Tools.AzureKeyVault { diff --git a/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultSecretAttribute.cs b/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultSecretAttribute.cs index 507c74639..55985ab7d 100644 --- a/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultSecretAttribute.cs +++ b/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultSecretAttribute.cs @@ -1,6 +1,7 @@ -using System; +using System; using System.Linq; using System.Reflection; +using Fallout.Application; namespace Fallout.Common.Tools.AzureKeyVault { diff --git a/src/Fallout.Common/Tools/AzureSignTool/AzureSignTool.Generated.cs b/src/Fallout.Common/Tools/AzureSignTool/AzureSignTool.Generated.cs index 12db5a322..030be4657 100644 --- a/src/Fallout.Common/Tools/AzureSignTool/AzureSignTool.Generated.cs +++ b/src/Fallout.Common/Tools/AzureSignTool/AzureSignTool.Generated.cs @@ -1,8 +1,4 @@ -// Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/AzureSignTool/AzureSignTool.json - -using Fallout.Common; using Fallout.Common.Tooling; -using Fallout.Common.Tools; using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; @@ -13,6 +9,7 @@ using System.Linq; using System.Text; using System.Text.Json.Serialization; +using Fallout.Application; namespace Fallout.Common.Tools.AzureSignTool; diff --git a/src/Fallout.Common/Tools/BenchmarkDotNet/BenchmarkDotNet.Generated.cs b/src/Fallout.Common/Tools/BenchmarkDotNet/BenchmarkDotNet.Generated.cs index d7bf92b63..6dee6f6d5 100644 --- a/src/Fallout.Common/Tools/BenchmarkDotNet/BenchmarkDotNet.Generated.cs +++ b/src/Fallout.Common/Tools/BenchmarkDotNet/BenchmarkDotNet.Generated.cs @@ -2,7 +2,6 @@ using Fallout.Common; using Fallout.Common.Tooling; -using Fallout.Common.Tools; using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; diff --git a/src/Fallout.Common/Tools/Boots/Boots.Generated.cs b/src/Fallout.Common/Tools/Boots/Boots.Generated.cs index 9895638dd..d7fb8b9ee 100644 --- a/src/Fallout.Common/Tools/Boots/Boots.Generated.cs +++ b/src/Fallout.Common/Tools/Boots/Boots.Generated.cs @@ -2,7 +2,6 @@ using Fallout.Common; using Fallout.Common.Tooling; -using Fallout.Common.Tools; using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; diff --git a/src/Fallout.Common/Tools/Chocolatey/Chocolatey.Generated.cs b/src/Fallout.Common/Tools/Chocolatey/Chocolatey.Generated.cs index a3d3d9ec7..504a58c21 100644 --- a/src/Fallout.Common/Tools/Chocolatey/Chocolatey.Generated.cs +++ b/src/Fallout.Common/Tools/Chocolatey/Chocolatey.Generated.cs @@ -1,8 +1,4 @@ -// Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/Chocolatey/Chocolatey.json - -using Fallout.Common; using Fallout.Common.Tooling; -using Fallout.Common.Tools; using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; @@ -13,6 +9,7 @@ using System.Linq; using System.Text; using System.Text.Json.Serialization; +using Fallout.Application; namespace Fallout.Common.Tools.Chocolatey; diff --git a/src/Fallout.Common/Tools/CodeMetrics/CodeMetrics.Generated.cs b/src/Fallout.Common/Tools/CodeMetrics/CodeMetrics.Generated.cs index ab4a42a2e..35d0b846a 100644 --- a/src/Fallout.Common/Tools/CodeMetrics/CodeMetrics.Generated.cs +++ b/src/Fallout.Common/Tools/CodeMetrics/CodeMetrics.Generated.cs @@ -2,7 +2,6 @@ using Fallout.Common; using Fallout.Common.Tooling; -using Fallout.Common.Tools; using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; diff --git a/src/Fallout.Common/Tools/Codecov/Codecov.Generated.cs b/src/Fallout.Common/Tools/Codecov/Codecov.Generated.cs index 8a1969f03..930d9970d 100644 --- a/src/Fallout.Common/Tools/Codecov/Codecov.Generated.cs +++ b/src/Fallout.Common/Tools/Codecov/Codecov.Generated.cs @@ -1,8 +1,4 @@ -// Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/Codecov/Codecov.json - -using Fallout.Common; using Fallout.Common.Tooling; -using Fallout.Common.Tools; using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; @@ -13,6 +9,7 @@ using System.Linq; using System.Text; using System.Text.Json.Serialization; +using Fallout.Application; namespace Fallout.Common.Tools.Codecov; diff --git a/src/Fallout.Common/Tools/CorFlags/CorFlags.Generated.cs b/src/Fallout.Common/Tools/CorFlags/CorFlags.Generated.cs index e640f3b08..7ccb947da 100644 --- a/src/Fallout.Common/Tools/CorFlags/CorFlags.Generated.cs +++ b/src/Fallout.Common/Tools/CorFlags/CorFlags.Generated.cs @@ -2,7 +2,6 @@ using Fallout.Common; using Fallout.Common.Tooling; -using Fallout.Common.Tools; using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; diff --git a/src/Fallout.Common/Tools/CoverallsNet/CoverallsNet.Generated.cs b/src/Fallout.Common/Tools/CoverallsNet/CoverallsNet.Generated.cs index 51362c4a2..9ab051b0b 100644 --- a/src/Fallout.Common/Tools/CoverallsNet/CoverallsNet.Generated.cs +++ b/src/Fallout.Common/Tools/CoverallsNet/CoverallsNet.Generated.cs @@ -1,8 +1,4 @@ -// Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/CoverallsNet/CoverallsNet.json - -using Fallout.Common; using Fallout.Common.Tooling; -using Fallout.Common.Tools; using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; @@ -13,6 +9,7 @@ using System.Linq; using System.Text; using System.Text.Json.Serialization; +using Fallout.Application; namespace Fallout.Common.Tools.CoverallsNet; diff --git a/src/Fallout.Common/Tools/Coverlet/Coverlet.Generated.cs b/src/Fallout.Common/Tools/Coverlet/Coverlet.Generated.cs index 317aeca9e..78801f476 100644 --- a/src/Fallout.Common/Tools/Coverlet/Coverlet.Generated.cs +++ b/src/Fallout.Common/Tools/Coverlet/Coverlet.Generated.cs @@ -2,7 +2,6 @@ using Fallout.Common; using Fallout.Common.Tooling; -using Fallout.Common.Tools; using Fallout.Common.Tools.DotNet; using Fallout.Common.Utilities.Collections; using System; diff --git a/src/Fallout.Common/Tools/Discord/Discord.Generated.cs b/src/Fallout.Common/Tools/Discord/Discord.Generated.cs index cd09ab349..2277892ce 100644 --- a/src/Fallout.Common/Tools/Discord/Discord.Generated.cs +++ b/src/Fallout.Common/Tools/Discord/Discord.Generated.cs @@ -2,7 +2,6 @@ using Fallout.Common; using Fallout.Common.Tooling; -using Fallout.Common.Tools; using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; diff --git a/src/Fallout.Common/Tools/DocFX/DocFX.Generated.cs b/src/Fallout.Common/Tools/DocFX/DocFX.Generated.cs index 96ed4968c..114506878 100644 --- a/src/Fallout.Common/Tools/DocFX/DocFX.Generated.cs +++ b/src/Fallout.Common/Tools/DocFX/DocFX.Generated.cs @@ -2,7 +2,6 @@ using Fallout.Common; using Fallout.Common.Tooling; -using Fallout.Common.Tools; using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; diff --git a/src/Fallout.Common/Tools/Docker/Docker.Generated.cs b/src/Fallout.Common/Tools/Docker/Docker.Generated.cs index 1a7b39d91..964545ea8 100644 --- a/src/Fallout.Common/Tools/Docker/Docker.Generated.cs +++ b/src/Fallout.Common/Tools/Docker/Docker.Generated.cs @@ -1,8 +1,4 @@ -// Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/Docker/Docker.json - -using Fallout.Common; using Fallout.Common.Tooling; -using Fallout.Common.Tools; using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; @@ -13,6 +9,7 @@ using System.Linq; using System.Text; using System.Text.Json.Serialization; +using Fallout.Application; namespace Fallout.Common.Tools.Docker; diff --git a/src/Fallout.Common/Tools/Docker/DockerTargetDefinitionExtensions.cs b/src/Fallout.Common/Tools/Docker/DockerTargetDefinitionExtensions.cs index 0016dac68..26ad0bb90 100644 --- a/src/Fallout.Common/Tools/Docker/DockerTargetDefinitionExtensions.cs +++ b/src/Fallout.Common/Tools/Docker/DockerTargetDefinitionExtensions.cs @@ -2,7 +2,6 @@ using System.Collections.Generic; using System.IO; using System.Linq; -using Fallout.Common.Execution; using Fallout.Common.IO; using Fallout.Common.Tooling; using Fallout.Common.Tools.DotNet; @@ -12,6 +11,8 @@ using Serilog.Formatting.Compact.Reader; using static Fallout.Common.Tools.Docker.DockerTasks; using static Fallout.Common.Tools.DotNet.DotNetTasks; +using Fallout.Application; +using Fallout.Application.Execution; namespace Fallout.Common.Tools.Docker; diff --git a/src/Fallout.Common/Tools/DotCover/DotCover.Generated.cs b/src/Fallout.Common/Tools/DotCover/DotCover.Generated.cs index 1f95e1bac..aabc45e9c 100644 --- a/src/Fallout.Common/Tools/DotCover/DotCover.Generated.cs +++ b/src/Fallout.Common/Tools/DotCover/DotCover.Generated.cs @@ -2,7 +2,6 @@ using Fallout.Common; using Fallout.Common.Tooling; -using Fallout.Common.Tools; using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; diff --git a/src/Fallout.Common/Tools/DotCover/TeamCitySetDotCoverHomePathAttribute.cs b/src/Fallout.Common/Tools/DotCover/TeamCitySetDotCoverHomePathAttribute.cs index ca999c4e9..0aeeb3137 100644 --- a/src/Fallout.Common/Tools/DotCover/TeamCitySetDotCoverHomePathAttribute.cs +++ b/src/Fallout.Common/Tools/DotCover/TeamCitySetDotCoverHomePathAttribute.cs @@ -2,7 +2,7 @@ using System.Collections.Generic; using System.Linq; using Fallout.Common.CI.TeamCity; -using Fallout.Common.Execution; +using Fallout.Application.Execution; namespace Fallout.Common.Tools.DotCover; diff --git a/src/Fallout.Common/Tools/DotMemoryUnit/DotMemoryUnit.Generated.cs b/src/Fallout.Common/Tools/DotMemoryUnit/DotMemoryUnit.Generated.cs index 308a475ef..195aff2d4 100644 --- a/src/Fallout.Common/Tools/DotMemoryUnit/DotMemoryUnit.Generated.cs +++ b/src/Fallout.Common/Tools/DotMemoryUnit/DotMemoryUnit.Generated.cs @@ -2,7 +2,6 @@ using Fallout.Common; using Fallout.Common.Tooling; -using Fallout.Common.Tools; using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; diff --git a/src/Fallout.Common/Tools/DotNet/DotNet.Generated.cs b/src/Fallout.Common/Tools/DotNet/DotNet.Generated.cs index 624f40593..487b2c251 100644 --- a/src/Fallout.Common/Tools/DotNet/DotNet.Generated.cs +++ b/src/Fallout.Common/Tools/DotNet/DotNet.Generated.cs @@ -1,8 +1,4 @@ -// Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/DotNet/DotNet.json - -using Fallout.Common; using Fallout.Common.Tooling; -using Fallout.Common.Tools; using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; @@ -13,6 +9,7 @@ using System.Linq; using System.Text; using System.Text.Json.Serialization; +using Fallout.Application; namespace Fallout.Common.Tools.DotNet; diff --git a/src/Fallout.Common/Tools/DotNet/DotNetTasks.cs b/src/Fallout.Common/Tools/DotNet/DotNetTasks.cs index 261fab0fc..0a827f2da 100644 --- a/src/Fallout.Common/Tools/DotNet/DotNetTasks.cs +++ b/src/Fallout.Common/Tools/DotNet/DotNetTasks.cs @@ -2,6 +2,7 @@ using System.Linq; using Fallout.Common.Tooling; using Serilog.Events; +using Fallout.Application.Tooling; namespace Fallout.Common.Tools.DotNet; diff --git a/src/Fallout.Common/Tools/DotnetPackaging/DotnetPackaging.Generated.cs b/src/Fallout.Common/Tools/DotnetPackaging/DotnetPackaging.Generated.cs index 3c161d88b..c46e18bf0 100644 --- a/src/Fallout.Common/Tools/DotnetPackaging/DotnetPackaging.Generated.cs +++ b/src/Fallout.Common/Tools/DotnetPackaging/DotnetPackaging.Generated.cs @@ -2,7 +2,6 @@ using Fallout.Common; using Fallout.Common.Tooling; -using Fallout.Common.Tools; using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; diff --git a/src/Fallout.Common/Tools/EntityFramework/EntityFramework.Generated.cs b/src/Fallout.Common/Tools/EntityFramework/EntityFramework.Generated.cs index d7bd6b22c..64976eda4 100644 --- a/src/Fallout.Common/Tools/EntityFramework/EntityFramework.Generated.cs +++ b/src/Fallout.Common/Tools/EntityFramework/EntityFramework.Generated.cs @@ -2,7 +2,6 @@ using Fallout.Common; using Fallout.Common.Tooling; -using Fallout.Common.Tools; using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; diff --git a/src/Fallout.Common/Tools/Fixie/Fixie.Generated.cs b/src/Fallout.Common/Tools/Fixie/Fixie.Generated.cs index 0be64d219..5ede1d7d5 100644 --- a/src/Fallout.Common/Tools/Fixie/Fixie.Generated.cs +++ b/src/Fallout.Common/Tools/Fixie/Fixie.Generated.cs @@ -2,7 +2,6 @@ using Fallout.Common; using Fallout.Common.Tooling; -using Fallout.Common.Tools; using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; diff --git a/src/Fallout.Common/Tools/Git/Git.Generated.cs b/src/Fallout.Common/Tools/Git/Git.Generated.cs index d28ebc7ef..44777a52d 100644 --- a/src/Fallout.Common/Tools/Git/Git.Generated.cs +++ b/src/Fallout.Common/Tools/Git/Git.Generated.cs @@ -2,7 +2,6 @@ using Fallout.Common; using Fallout.Common.Tooling; -using Fallout.Common.Tools; using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; diff --git a/src/Fallout.Common/Tools/GitHub/GitHubTasks.cs b/src/Fallout.Common/Tools/GitHub/GitHubTasks.cs index 1d1abc282..01749e343 100644 --- a/src/Fallout.Common/Tools/GitHub/GitHubTasks.cs +++ b/src/Fallout.Common/Tools/GitHub/GitHubTasks.cs @@ -3,10 +3,11 @@ using System.IO; using System.Linq; using System.Threading.Tasks; -using Fallout.Common.Git; using Fallout.Common.Utilities; using Octokit; using static Fallout.Common.IO.PathConstruction; +using Fallout.Application; +using Fallout.Application.Git; namespace Fallout.Common.Tools.GitHub; diff --git a/src/Fallout.Common/Tools/GitLink/GitLink.Generated.cs b/src/Fallout.Common/Tools/GitLink/GitLink.Generated.cs index 198d06207..1c2a10b14 100644 --- a/src/Fallout.Common/Tools/GitLink/GitLink.Generated.cs +++ b/src/Fallout.Common/Tools/GitLink/GitLink.Generated.cs @@ -2,7 +2,6 @@ using Fallout.Common; using Fallout.Common.Tooling; -using Fallout.Common.Tools; using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; diff --git a/src/Fallout.Common/Tools/GitReleaseManager/GitReleaseManager.Generated.cs b/src/Fallout.Common/Tools/GitReleaseManager/GitReleaseManager.Generated.cs index 888c9a99f..7bb390297 100644 --- a/src/Fallout.Common/Tools/GitReleaseManager/GitReleaseManager.Generated.cs +++ b/src/Fallout.Common/Tools/GitReleaseManager/GitReleaseManager.Generated.cs @@ -1,8 +1,4 @@ -// Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/GitReleaseManager/GitReleaseManager.json - -using Fallout.Common; using Fallout.Common.Tooling; -using Fallout.Common.Tools; using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; @@ -13,6 +9,7 @@ using System.Linq; using System.Text; using System.Text.Json.Serialization; +using Fallout.Application; namespace Fallout.Common.Tools.GitReleaseManager; diff --git a/src/Fallout.Common/Tools/GitVersion/GitVersion.Generated.cs b/src/Fallout.Common/Tools/GitVersion/GitVersion.Generated.cs index be230ca7e..67abdd2ae 100644 --- a/src/Fallout.Common/Tools/GitVersion/GitVersion.Generated.cs +++ b/src/Fallout.Common/Tools/GitVersion/GitVersion.Generated.cs @@ -1,8 +1,4 @@ -// Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/GitVersion/GitVersion.json - -using Fallout.Common; using Fallout.Common.Tooling; -using Fallout.Common.Tools; using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; @@ -13,6 +9,7 @@ using System.Linq; using System.Text; using System.Text.Json.Serialization; +using Fallout.Application; namespace Fallout.Common.Tools.GitVersion; diff --git a/src/Fallout.Common/Tools/GitVersion/GitVersionAttribute.cs b/src/Fallout.Common/Tools/GitVersion/GitVersionAttribute.cs index 894f06e10..c0dd493f4 100644 --- a/src/Fallout.Common/Tools/GitVersion/GitVersionAttribute.cs +++ b/src/Fallout.Common/Tools/GitVersion/GitVersionAttribute.cs @@ -1,15 +1,16 @@ -using System; +using System; using System.Linq; using System.Reflection; using Fallout.Common.CI.AppVeyor; using Fallout.Common.CI.AzurePipelines; using Fallout.Common.CI.TeamCity; -using Fallout.Common.Git; using Fallout.Common.Tooling; using Fallout.Common.Utilities; -using Fallout.Common.ValueInjection; using Serilog; -using static Fallout.Common.ControlFlow; +using static Fallout.Application.ControlFlow; +using Fallout.Application; +using Fallout.Application.ValueInjection; +using Fallout.Application.Git; namespace Fallout.Common.Tools.GitVersion; diff --git a/src/Fallout.Common/Tools/Helm/Helm.Generated.cs b/src/Fallout.Common/Tools/Helm/Helm.Generated.cs index f5386197b..a838faa8f 100644 --- a/src/Fallout.Common/Tools/Helm/Helm.Generated.cs +++ b/src/Fallout.Common/Tools/Helm/Helm.Generated.cs @@ -1,8 +1,4 @@ -// Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/Helm/Helm.json - -using Fallout.Common; using Fallout.Common.Tooling; -using Fallout.Common.Tools; using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; @@ -13,6 +9,7 @@ using System.Linq; using System.Text; using System.Text.Json.Serialization; +using Fallout.Application; namespace Fallout.Common.Tools.Helm; diff --git a/src/Fallout.Common/Tools/ILRepack/ILRepack.Generated.cs b/src/Fallout.Common/Tools/ILRepack/ILRepack.Generated.cs index 62ad73738..ea8df412b 100644 --- a/src/Fallout.Common/Tools/ILRepack/ILRepack.Generated.cs +++ b/src/Fallout.Common/Tools/ILRepack/ILRepack.Generated.cs @@ -2,7 +2,6 @@ using Fallout.Common; using Fallout.Common.Tooling; -using Fallout.Common.Tools; using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; diff --git a/src/Fallout.Common/Tools/InnoSetup/InnoSetup.Generated.cs b/src/Fallout.Common/Tools/InnoSetup/InnoSetup.Generated.cs index 3199c7007..4a20bdb12 100644 --- a/src/Fallout.Common/Tools/InnoSetup/InnoSetup.Generated.cs +++ b/src/Fallout.Common/Tools/InnoSetup/InnoSetup.Generated.cs @@ -2,7 +2,6 @@ using Fallout.Common; using Fallout.Common.Tooling; -using Fallout.Common.Tools; using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; diff --git a/src/Fallout.Common/Tools/Kubernetes/Kubernetes.Generated.cs b/src/Fallout.Common/Tools/Kubernetes/Kubernetes.Generated.cs index 066b5240c..40a7608ab 100644 --- a/src/Fallout.Common/Tools/Kubernetes/Kubernetes.Generated.cs +++ b/src/Fallout.Common/Tools/Kubernetes/Kubernetes.Generated.cs @@ -2,7 +2,6 @@ using Fallout.Common; using Fallout.Common.Tooling; -using Fallout.Common.Tools; using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; diff --git a/src/Fallout.Common/Tools/MSBuild/MSBuild.Generated.cs b/src/Fallout.Common/Tools/MSBuild/MSBuild.Generated.cs index 62315f2be..864d02fbe 100644 --- a/src/Fallout.Common/Tools/MSBuild/MSBuild.Generated.cs +++ b/src/Fallout.Common/Tools/MSBuild/MSBuild.Generated.cs @@ -2,7 +2,6 @@ using Fallout.Common; using Fallout.Common.Tooling; -using Fallout.Common.Tools; using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; diff --git a/src/Fallout.Common/Tools/MSBuild/MSBuildTasks.cs b/src/Fallout.Common/Tools/MSBuild/MSBuildTasks.cs index 09bad0fa1..0205c1658 100644 --- a/src/Fallout.Common/Tools/MSBuild/MSBuildTasks.cs +++ b/src/Fallout.Common/Tools/MSBuild/MSBuildTasks.cs @@ -3,6 +3,7 @@ using System.Reflection; using Fallout.Common.Tooling; using Fallout.Common.Utilities; +using Fallout.Application.Tooling; namespace Fallout.Common.Tools.MSBuild; diff --git a/src/Fallout.Common/Tools/MSpec/MSpec.Generated.cs b/src/Fallout.Common/Tools/MSpec/MSpec.Generated.cs index 4f1e524a1..d4a6bcdb2 100644 --- a/src/Fallout.Common/Tools/MSpec/MSpec.Generated.cs +++ b/src/Fallout.Common/Tools/MSpec/MSpec.Generated.cs @@ -2,7 +2,6 @@ using Fallout.Common; using Fallout.Common.Tooling; -using Fallout.Common.Tools; using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; diff --git a/src/Fallout.Common/Tools/MakeNsis/MakeNSIS.Generated.cs b/src/Fallout.Common/Tools/MakeNsis/MakeNSIS.Generated.cs index e3209c7e5..f719bcd3e 100644 --- a/src/Fallout.Common/Tools/MakeNsis/MakeNSIS.Generated.cs +++ b/src/Fallout.Common/Tools/MakeNsis/MakeNSIS.Generated.cs @@ -2,7 +2,6 @@ using Fallout.Common; using Fallout.Common.Tooling; -using Fallout.Common.Tools; using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; diff --git a/src/Fallout.Common/Tools/Mastodon/Mastodon.Generated.cs b/src/Fallout.Common/Tools/Mastodon/Mastodon.Generated.cs index 5fd158545..b3a2b21d1 100644 --- a/src/Fallout.Common/Tools/Mastodon/Mastodon.Generated.cs +++ b/src/Fallout.Common/Tools/Mastodon/Mastodon.Generated.cs @@ -2,7 +2,6 @@ using Fallout.Common; using Fallout.Common.Tooling; -using Fallout.Common.Tools; using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; diff --git a/src/Fallout.Common/Tools/MauiCheck/MauiCheck.Generated.cs b/src/Fallout.Common/Tools/MauiCheck/MauiCheck.Generated.cs index 077767fe4..7422118cf 100644 --- a/src/Fallout.Common/Tools/MauiCheck/MauiCheck.Generated.cs +++ b/src/Fallout.Common/Tools/MauiCheck/MauiCheck.Generated.cs @@ -2,7 +2,6 @@ using Fallout.Common; using Fallout.Common.Tooling; -using Fallout.Common.Tools; using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; diff --git a/src/Fallout.Common/Tools/MinVer/MinVer.Generated.cs b/src/Fallout.Common/Tools/MinVer/MinVer.Generated.cs index 29bd510fb..4469aec10 100644 --- a/src/Fallout.Common/Tools/MinVer/MinVer.Generated.cs +++ b/src/Fallout.Common/Tools/MinVer/MinVer.Generated.cs @@ -2,7 +2,6 @@ using Fallout.Common; using Fallout.Common.Tooling; -using Fallout.Common.Tools; using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; diff --git a/src/Fallout.Common/Tools/MinVer/MinVerAttribute.cs b/src/Fallout.Common/Tools/MinVer/MinVerAttribute.cs index 00a9d34b9..93a5b53f8 100644 --- a/src/Fallout.Common/Tools/MinVer/MinVerAttribute.cs +++ b/src/Fallout.Common/Tools/MinVer/MinVerAttribute.cs @@ -1,11 +1,11 @@ -using System; +using System; using System.Linq; using System.Reflection; using Fallout.Common.CI.AppVeyor; using Fallout.Common.CI.AzurePipelines; using Fallout.Common.CI.TeamCity; using Fallout.Common.Tooling; -using Fallout.Common.ValueInjection; +using Fallout.Application.ValueInjection; namespace Fallout.Common.Tools.MinVer; diff --git a/src/Fallout.Common/Tools/NSwag/NSwag.Generated.cs b/src/Fallout.Common/Tools/NSwag/NSwag.Generated.cs index c0a2d9234..3d3f7aec0 100644 --- a/src/Fallout.Common/Tools/NSwag/NSwag.Generated.cs +++ b/src/Fallout.Common/Tools/NSwag/NSwag.Generated.cs @@ -2,7 +2,6 @@ using Fallout.Common; using Fallout.Common.Tooling; -using Fallout.Common.Tools; using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; diff --git a/src/Fallout.Common/Tools/NUnit/NUnit.Generated.cs b/src/Fallout.Common/Tools/NUnit/NUnit.Generated.cs index c3e888756..27c0e05b6 100644 --- a/src/Fallout.Common/Tools/NUnit/NUnit.Generated.cs +++ b/src/Fallout.Common/Tools/NUnit/NUnit.Generated.cs @@ -2,7 +2,6 @@ using Fallout.Common; using Fallout.Common.Tooling; -using Fallout.Common.Tools; using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; diff --git a/src/Fallout.Common/Tools/NUnit/NUnitTasks.cs b/src/Fallout.Common/Tools/NUnit/NUnitTasks.cs index 8a742dc17..dc2e992a3 100644 --- a/src/Fallout.Common/Tools/NUnit/NUnitTasks.cs +++ b/src/Fallout.Common/Tools/NUnit/NUnitTasks.cs @@ -1,4 +1,4 @@ -using Fallout.Common.Tooling; +using Fallout.Application.Tooling; namespace Fallout.Common.Tools.NUnit; diff --git a/src/Fallout.Common/Tools/NerdbankGitVersioning/NerdbankGitVersioning.Generated.cs b/src/Fallout.Common/Tools/NerdbankGitVersioning/NerdbankGitVersioning.Generated.cs index adc22564f..3f68403e5 100644 --- a/src/Fallout.Common/Tools/NerdbankGitVersioning/NerdbankGitVersioning.Generated.cs +++ b/src/Fallout.Common/Tools/NerdbankGitVersioning/NerdbankGitVersioning.Generated.cs @@ -2,7 +2,6 @@ using Fallout.Common; using Fallout.Common.Tooling; -using Fallout.Common.Tools; using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; diff --git a/src/Fallout.Common/Tools/NerdbankGitVersioning/NerdbankGitVersioningAttribute.cs b/src/Fallout.Common/Tools/NerdbankGitVersioning/NerdbankGitVersioningAttribute.cs index ff235424e..91a2ca6d9 100644 --- a/src/Fallout.Common/Tools/NerdbankGitVersioning/NerdbankGitVersioningAttribute.cs +++ b/src/Fallout.Common/Tools/NerdbankGitVersioning/NerdbankGitVersioningAttribute.cs @@ -4,7 +4,7 @@ using Fallout.Common.CI.AzurePipelines; using Fallout.Common.CI.TeamCity; using Fallout.Common.Tooling; -using Fallout.Common.ValueInjection; +using Fallout.Application.ValueInjection; namespace Fallout.Common.Tools.NerdbankGitVersioning; diff --git a/src/Fallout.Common/Tools/Netlify/Netlify.Generated.cs b/src/Fallout.Common/Tools/Netlify/Netlify.Generated.cs index 91e1073e4..8b909ed01 100644 --- a/src/Fallout.Common/Tools/Netlify/Netlify.Generated.cs +++ b/src/Fallout.Common/Tools/Netlify/Netlify.Generated.cs @@ -1,8 +1,4 @@ -// Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/Netlify/Netlify.json - -using Fallout.Common; using Fallout.Common.Tooling; -using Fallout.Common.Tools; using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; @@ -13,6 +9,7 @@ using System.Linq; using System.Text; using System.Text.Json.Serialization; +using Fallout.Application; namespace Fallout.Common.Tools.Netlify; diff --git a/src/Fallout.Common/Tools/Npm/Npm.Generated.cs b/src/Fallout.Common/Tools/Npm/Npm.Generated.cs index 334e5896e..e8f1e618b 100644 --- a/src/Fallout.Common/Tools/Npm/Npm.Generated.cs +++ b/src/Fallout.Common/Tools/Npm/Npm.Generated.cs @@ -2,7 +2,6 @@ using Fallout.Common; using Fallout.Common.Tooling; -using Fallout.Common.Tools; using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; diff --git a/src/Fallout.Common/Tools/NuGet/NuGet.Generated.cs b/src/Fallout.Common/Tools/NuGet/NuGet.Generated.cs index e673705d4..2ff757328 100644 --- a/src/Fallout.Common/Tools/NuGet/NuGet.Generated.cs +++ b/src/Fallout.Common/Tools/NuGet/NuGet.Generated.cs @@ -1,8 +1,4 @@ -// Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/NuGet/NuGet.json - -using Fallout.Common; using Fallout.Common.Tooling; -using Fallout.Common.Tools; using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; @@ -13,6 +9,7 @@ using System.Linq; using System.Text; using System.Text.Json.Serialization; +using Fallout.Application; namespace Fallout.Common.Tools.NuGet; diff --git a/src/Fallout.Common/Tools/NuGetKeyVaultSignTool/NuGetKeyVaultSignTool.Generated.cs b/src/Fallout.Common/Tools/NuGetKeyVaultSignTool/NuGetKeyVaultSignTool.Generated.cs index 7c0fea017..8531aa0c5 100644 --- a/src/Fallout.Common/Tools/NuGetKeyVaultSignTool/NuGetKeyVaultSignTool.Generated.cs +++ b/src/Fallout.Common/Tools/NuGetKeyVaultSignTool/NuGetKeyVaultSignTool.Generated.cs @@ -1,8 +1,4 @@ -// Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/NuGetKeyVaultSignTool/NuGetKeyVaultSignTool.json - -using Fallout.Common; using Fallout.Common.Tooling; -using Fallout.Common.Tools; using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; @@ -13,6 +9,7 @@ using System.Linq; using System.Text; using System.Text.Json.Serialization; +using Fallout.Application; namespace Fallout.Common.Tools.NuGetKeyVaultSignTool; diff --git a/src/Fallout.Common/Tools/OctoVersion/OctoVersion.Generated.cs b/src/Fallout.Common/Tools/OctoVersion/OctoVersion.Generated.cs index c979c3bb4..823505fc9 100644 --- a/src/Fallout.Common/Tools/OctoVersion/OctoVersion.Generated.cs +++ b/src/Fallout.Common/Tools/OctoVersion/OctoVersion.Generated.cs @@ -2,7 +2,6 @@ using Fallout.Common; using Fallout.Common.Tooling; -using Fallout.Common.Tools; using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; diff --git a/src/Fallout.Common/Tools/OctoVersion/OctoVersionAttribute.cs b/src/Fallout.Common/Tools/OctoVersion/OctoVersionAttribute.cs index 2a931a425..d7f2796a8 100644 --- a/src/Fallout.Common/Tools/OctoVersion/OctoVersionAttribute.cs +++ b/src/Fallout.Common/Tools/OctoVersion/OctoVersionAttribute.cs @@ -1,14 +1,15 @@ -using System; +using System; using System.Linq; using System.Reflection; using Fallout.Common.CI.AppVeyor; using Fallout.Common.CI.AzurePipelines; using Fallout.Common.CI.TeamCity; -using Fallout.Common.Git; using Fallout.Common.IO; using Fallout.Common.Tooling; using Fallout.Common.Utilities; -using Fallout.Common.ValueInjection; +using Fallout.Application.ValueInjection; +using Fallout.Application.Git; +using Fallout.Application; namespace Fallout.Common.Tools.OctoVersion; diff --git a/src/Fallout.Common/Tools/Octopus/Octopus.Generated.cs b/src/Fallout.Common/Tools/Octopus/Octopus.Generated.cs index c8ec07da2..7024ea049 100644 --- a/src/Fallout.Common/Tools/Octopus/Octopus.Generated.cs +++ b/src/Fallout.Common/Tools/Octopus/Octopus.Generated.cs @@ -1,8 +1,4 @@ -// Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/Octopus/Octopus.json - -using Fallout.Common; using Fallout.Common.Tooling; -using Fallout.Common.Tools; using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; @@ -13,6 +9,7 @@ using System.Linq; using System.Text; using System.Text.Json.Serialization; +using Fallout.Application; namespace Fallout.Common.Tools.Octopus; diff --git a/src/Fallout.Common/Tools/OpenCover/OpenCover.Generated.cs b/src/Fallout.Common/Tools/OpenCover/OpenCover.Generated.cs index 00a9f5334..2a247c613 100644 --- a/src/Fallout.Common/Tools/OpenCover/OpenCover.Generated.cs +++ b/src/Fallout.Common/Tools/OpenCover/OpenCover.Generated.cs @@ -2,7 +2,6 @@ using Fallout.Common; using Fallout.Common.Tooling; -using Fallout.Common.Tools; using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; diff --git a/src/Fallout.Common/Tools/OpenCover/OpenCoverTasks.cs b/src/Fallout.Common/Tools/OpenCover/OpenCoverTasks.cs index a40535c73..0c990e4d9 100644 --- a/src/Fallout.Common/Tools/OpenCover/OpenCoverTasks.cs +++ b/src/Fallout.Common/Tools/OpenCover/OpenCoverTasks.cs @@ -1,5 +1,6 @@ -using Fallout.Common.Tooling; +using Fallout.Common.Tooling; using Fallout.Common.Utilities; +using Fallout.Application.Tooling; namespace Fallout.Common.Tools.OpenCover; diff --git a/src/Fallout.Common/Tools/Paket/Paket.Generated.cs b/src/Fallout.Common/Tools/Paket/Paket.Generated.cs index 288956b44..4ee363300 100644 --- a/src/Fallout.Common/Tools/Paket/Paket.Generated.cs +++ b/src/Fallout.Common/Tools/Paket/Paket.Generated.cs @@ -1,8 +1,4 @@ -// Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/Paket/Paket.json - -using Fallout.Common; using Fallout.Common.Tooling; -using Fallout.Common.Tools; using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; @@ -13,6 +9,7 @@ using System.Linq; using System.Text; using System.Text.Json.Serialization; +using Fallout.Application; namespace Fallout.Common.Tools.Paket; diff --git a/src/Fallout.Common/Tools/PowerShell/PowerShell.Generated.cs b/src/Fallout.Common/Tools/PowerShell/PowerShell.Generated.cs index 79a7836e8..880d0938c 100644 --- a/src/Fallout.Common/Tools/PowerShell/PowerShell.Generated.cs +++ b/src/Fallout.Common/Tools/PowerShell/PowerShell.Generated.cs @@ -2,7 +2,6 @@ using Fallout.Common; using Fallout.Common.Tooling; -using Fallout.Common.Tools; using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; diff --git a/src/Fallout.Common/Tools/Pulumi/Pulumi.Generated.cs b/src/Fallout.Common/Tools/Pulumi/Pulumi.Generated.cs index 422b11cb7..e81229d6c 100644 --- a/src/Fallout.Common/Tools/Pulumi/Pulumi.Generated.cs +++ b/src/Fallout.Common/Tools/Pulumi/Pulumi.Generated.cs @@ -2,7 +2,6 @@ using Fallout.Common; using Fallout.Common.Tooling; -using Fallout.Common.Tools; using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; diff --git a/src/Fallout.Common/Tools/Pwsh/Pwsh.Generated.cs b/src/Fallout.Common/Tools/Pwsh/Pwsh.Generated.cs index d4fc36ca9..bfc033145 100644 --- a/src/Fallout.Common/Tools/Pwsh/Pwsh.Generated.cs +++ b/src/Fallout.Common/Tools/Pwsh/Pwsh.Generated.cs @@ -2,7 +2,6 @@ using Fallout.Common; using Fallout.Common.Tooling; -using Fallout.Common.Tools; using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; diff --git a/src/Fallout.Common/Tools/ReportGenerator/ReportGenerator.Generated.cs b/src/Fallout.Common/Tools/ReportGenerator/ReportGenerator.Generated.cs index dc207bb8c..2980745db 100644 --- a/src/Fallout.Common/Tools/ReportGenerator/ReportGenerator.Generated.cs +++ b/src/Fallout.Common/Tools/ReportGenerator/ReportGenerator.Generated.cs @@ -2,7 +2,6 @@ using Fallout.Common; using Fallout.Common.Tooling; -using Fallout.Common.Tools; using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; diff --git a/src/Fallout.Common/Tools/ReportGenerator/ReportGeneratorTasks.cs b/src/Fallout.Common/Tools/ReportGenerator/ReportGeneratorTasks.cs index ba1405be6..a6fb83133 100644 --- a/src/Fallout.Common/Tools/ReportGenerator/ReportGeneratorTasks.cs +++ b/src/Fallout.Common/Tools/ReportGenerator/ReportGeneratorTasks.cs @@ -1,4 +1,4 @@ -using Fallout.Common.Tooling; +using Fallout.Application.Tooling; namespace Fallout.Common.Tools.ReportGenerator; diff --git a/src/Fallout.Common/Tools/SignClient/SignClient.Generated.cs b/src/Fallout.Common/Tools/SignClient/SignClient.Generated.cs index f49474682..58a054226 100644 --- a/src/Fallout.Common/Tools/SignClient/SignClient.Generated.cs +++ b/src/Fallout.Common/Tools/SignClient/SignClient.Generated.cs @@ -1,8 +1,4 @@ -// Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/SignClient/SignClient.json - -using Fallout.Common; using Fallout.Common.Tooling; -using Fallout.Common.Tools; using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; @@ -13,6 +9,7 @@ using System.Linq; using System.Text; using System.Text.Json.Serialization; +using Fallout.Application; namespace Fallout.Common.Tools.SignClient; diff --git a/src/Fallout.Common/Tools/SignPath/SignPathTasks.cs b/src/Fallout.Common/Tools/SignPath/SignPathTasks.cs index 477f96441..ff076e82c 100644 --- a/src/Fallout.Common/Tools/SignPath/SignPathTasks.cs +++ b/src/Fallout.Common/Tools/SignPath/SignPathTasks.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.IO; using System.Linq; using System.Net; @@ -11,7 +11,8 @@ using Fallout.Common.IO; using Fallout.Common.Utilities; using Serilog; -using static Fallout.Common.ControlFlow; +using static Fallout.Application.ControlFlow; +using Fallout.Application; namespace Fallout.Common.Tools.SignPath; diff --git a/src/Fallout.Common/Tools/SignTool/SignTool.Generated.cs b/src/Fallout.Common/Tools/SignTool/SignTool.Generated.cs index 8337499de..9d1cdb580 100644 --- a/src/Fallout.Common/Tools/SignTool/SignTool.Generated.cs +++ b/src/Fallout.Common/Tools/SignTool/SignTool.Generated.cs @@ -1,8 +1,4 @@ -// Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/SignTool/SignTool.json - -using Fallout.Common; using Fallout.Common.Tooling; -using Fallout.Common.Tools; using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; @@ -13,6 +9,7 @@ using System.Linq; using System.Text; using System.Text.Json.Serialization; +using Fallout.Application; namespace Fallout.Common.Tools.SignTool; diff --git a/src/Fallout.Common/Tools/Slack/Slack.Generated.cs b/src/Fallout.Common/Tools/Slack/Slack.Generated.cs index 0c6dd2e44..bc9bbe6bf 100644 --- a/src/Fallout.Common/Tools/Slack/Slack.Generated.cs +++ b/src/Fallout.Common/Tools/Slack/Slack.Generated.cs @@ -2,7 +2,6 @@ using Fallout.Common; using Fallout.Common.Tooling; -using Fallout.Common.Tools; using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; diff --git a/src/Fallout.Common/Tools/SonarScanner/SonarScanner.Generated.cs b/src/Fallout.Common/Tools/SonarScanner/SonarScanner.Generated.cs index 27c1c7ef7..a996c882e 100644 --- a/src/Fallout.Common/Tools/SonarScanner/SonarScanner.Generated.cs +++ b/src/Fallout.Common/Tools/SonarScanner/SonarScanner.Generated.cs @@ -1,8 +1,4 @@ -// Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/SonarScanner/SonarScanner.json - -using Fallout.Common; using Fallout.Common.Tooling; -using Fallout.Common.Tools; using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; @@ -13,6 +9,7 @@ using System.Linq; using System.Text; using System.Text.Json.Serialization; +using Fallout.Application; namespace Fallout.Common.Tools.SonarScanner; diff --git a/src/Fallout.Common/Tools/SpecFlow/SpecFlow.Generated.cs b/src/Fallout.Common/Tools/SpecFlow/SpecFlow.Generated.cs index 5011b6335..a57ebe00c 100644 --- a/src/Fallout.Common/Tools/SpecFlow/SpecFlow.Generated.cs +++ b/src/Fallout.Common/Tools/SpecFlow/SpecFlow.Generated.cs @@ -1,8 +1,4 @@ -// Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/SpecFlow/SpecFlow.json - -using Fallout.Common; using Fallout.Common.Tooling; -using Fallout.Common.Tools; using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; @@ -13,6 +9,7 @@ using System.Linq; using System.Text; using System.Text.Json.Serialization; +using Fallout.Application; namespace Fallout.Common.Tools.SpecFlow; diff --git a/src/Fallout.Common/Tools/Squirrel/Squirrel.Generated.cs b/src/Fallout.Common/Tools/Squirrel/Squirrel.Generated.cs index cf803dbb1..e6f407469 100644 --- a/src/Fallout.Common/Tools/Squirrel/Squirrel.Generated.cs +++ b/src/Fallout.Common/Tools/Squirrel/Squirrel.Generated.cs @@ -2,7 +2,6 @@ using Fallout.Common; using Fallout.Common.Tooling; -using Fallout.Common.Tools; using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; diff --git a/src/Fallout.Common/Tools/StaticWebApps/StaticWebApps.Generated.cs b/src/Fallout.Common/Tools/StaticWebApps/StaticWebApps.Generated.cs index a240dfe11..e05a56f5e 100644 --- a/src/Fallout.Common/Tools/StaticWebApps/StaticWebApps.Generated.cs +++ b/src/Fallout.Common/Tools/StaticWebApps/StaticWebApps.Generated.cs @@ -1,8 +1,4 @@ -// Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/StaticWebApps/StaticWebApps.json - -using Fallout.Common; using Fallout.Common.Tooling; -using Fallout.Common.Tools; using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; @@ -13,6 +9,7 @@ using System.Linq; using System.Text; using System.Text.Json.Serialization; +using Fallout.Application; namespace Fallout.Common.Tools.StaticWebApps; diff --git a/src/Fallout.Common/Tools/Teams/Teams.Generated.cs b/src/Fallout.Common/Tools/Teams/Teams.Generated.cs index 2755a14c6..61f3eb919 100644 --- a/src/Fallout.Common/Tools/Teams/Teams.Generated.cs +++ b/src/Fallout.Common/Tools/Teams/Teams.Generated.cs @@ -2,7 +2,6 @@ using Fallout.Common; using Fallout.Common.Tooling; -using Fallout.Common.Tools; using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; diff --git a/src/Fallout.Common/Tools/TestCloud/TestCloud.Generated.cs b/src/Fallout.Common/Tools/TestCloud/TestCloud.Generated.cs index 98ca878b6..a00591134 100644 --- a/src/Fallout.Common/Tools/TestCloud/TestCloud.Generated.cs +++ b/src/Fallout.Common/Tools/TestCloud/TestCloud.Generated.cs @@ -2,7 +2,6 @@ using Fallout.Common; using Fallout.Common.Tooling; -using Fallout.Common.Tools; using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; diff --git a/src/Fallout.Common/Tools/Unity/Unity.Generated.cs b/src/Fallout.Common/Tools/Unity/Unity.Generated.cs index e22f8de2e..d015f6a16 100644 --- a/src/Fallout.Common/Tools/Unity/Unity.Generated.cs +++ b/src/Fallout.Common/Tools/Unity/Unity.Generated.cs @@ -1,8 +1,4 @@ -// Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/Unity/Unity.json - -using Fallout.Common; using Fallout.Common.Tooling; -using Fallout.Common.Tools; using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; @@ -13,6 +9,7 @@ using System.Linq; using System.Text; using System.Text.Json.Serialization; +using Fallout.Application; namespace Fallout.Common.Tools.Unity; diff --git a/src/Fallout.Common/Tools/Unity/UnityTasks.cs b/src/Fallout.Common/Tools/Unity/UnityTasks.cs index 6005105e2..904da7be2 100644 --- a/src/Fallout.Common/Tools/Unity/UnityTasks.cs +++ b/src/Fallout.Common/Tools/Unity/UnityTasks.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.IO; using System.Linq; @@ -10,6 +10,7 @@ using Fallout.Utilities.Text.Yaml; using Serilog; using Serilog.Events; +using Fallout.Application; namespace Fallout.Common.Tools.Unity; diff --git a/src/Fallout.Common/Tools/VSTest/VSTest.Generated.cs b/src/Fallout.Common/Tools/VSTest/VSTest.Generated.cs index 1b6f1a1bf..b37acaa82 100644 --- a/src/Fallout.Common/Tools/VSTest/VSTest.Generated.cs +++ b/src/Fallout.Common/Tools/VSTest/VSTest.Generated.cs @@ -2,7 +2,6 @@ using Fallout.Common; using Fallout.Common.Tooling; -using Fallout.Common.Tools; using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; diff --git a/src/Fallout.Common/Tools/VSWhere/VSWhere.Generated.cs b/src/Fallout.Common/Tools/VSWhere/VSWhere.Generated.cs index dcf27f93b..c17ca9679 100644 --- a/src/Fallout.Common/Tools/VSWhere/VSWhere.Generated.cs +++ b/src/Fallout.Common/Tools/VSWhere/VSWhere.Generated.cs @@ -2,7 +2,6 @@ using Fallout.Common; using Fallout.Common.Tooling; -using Fallout.Common.Tools; using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; diff --git a/src/Fallout.Common/Tools/WebConfigTransformRunner/WebConfigTransformRunner.Generated.cs b/src/Fallout.Common/Tools/WebConfigTransformRunner/WebConfigTransformRunner.Generated.cs index 1d6165d1e..77b0b929a 100644 --- a/src/Fallout.Common/Tools/WebConfigTransformRunner/WebConfigTransformRunner.Generated.cs +++ b/src/Fallout.Common/Tools/WebConfigTransformRunner/WebConfigTransformRunner.Generated.cs @@ -2,7 +2,6 @@ using Fallout.Common; using Fallout.Common.Tooling; -using Fallout.Common.Tools; using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; diff --git a/src/Fallout.Common/Tools/Xunit/Xunit.Generated.cs b/src/Fallout.Common/Tools/Xunit/Xunit.Generated.cs index 15bbe287c..cfe9b7694 100644 --- a/src/Fallout.Common/Tools/Xunit/Xunit.Generated.cs +++ b/src/Fallout.Common/Tools/Xunit/Xunit.Generated.cs @@ -2,7 +2,6 @@ using Fallout.Common; using Fallout.Common.Tooling; -using Fallout.Common.Tools; using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; diff --git a/src/Fallout.Components/ICompile.cs b/src/Fallout.Components/ICompile.cs index 6bec3c673..e2c020c02 100644 --- a/src/Fallout.Components/ICompile.cs +++ b/src/Fallout.Components/ICompile.cs @@ -1,13 +1,13 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; -using Fallout.Common; using Fallout.Solutions; using Fallout.Common.Tooling; using Fallout.Common.Tools.DotNet; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; using static Fallout.Common.Tools.DotNet.DotNetTasks; +using Fallout.Application; namespace Fallout.Components; diff --git a/src/Fallout.Components/ICreateGitHubRelease.cs b/src/Fallout.Components/ICreateGitHubRelease.cs index 7c386bdd2..ebe3505f5 100644 --- a/src/Fallout.Components/ICreateGitHubRelease.cs +++ b/src/Fallout.Components/ICreateGitHubRelease.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.IO; using System.Linq; @@ -10,6 +10,7 @@ using Fallout.Common.Tools.GitHub; using Fallout.Common.Utilities; using Octokit; +using Fallout.Application; namespace Fallout.Components; diff --git a/src/Fallout.Components/IGlobalTool.cs b/src/Fallout.Components/IGlobalTool.cs index 69447ffbd..2f38a9c0a 100644 --- a/src/Fallout.Components/IGlobalTool.cs +++ b/src/Fallout.Components/IGlobalTool.cs @@ -1,9 +1,9 @@ using System; using System.IO; using System.Linq; -using Fallout.Common; using Fallout.Common.Tools.DotNet; using static Fallout.Common.Tools.DotNet.DotNetTasks; +using Fallout.Application; namespace Fallout.Components; diff --git a/src/Fallout.Components/IHasArtifacts.cs b/src/Fallout.Components/IHasArtifacts.cs index 2e76d86d7..e7addeb06 100644 --- a/src/Fallout.Components/IHasArtifacts.cs +++ b/src/Fallout.Components/IHasArtifacts.cs @@ -1,7 +1,7 @@ -using System; +using System; using System.Linq; -using Fallout.Common; using Fallout.Common.IO; +using Fallout.Application; namespace Fallout.Components; diff --git a/src/Fallout.Components/IHasChangelog.cs b/src/Fallout.Components/IHasChangelog.cs index 1aeff4d5b..6598bf5b5 100644 --- a/src/Fallout.Components/IHasChangelog.cs +++ b/src/Fallout.Components/IHasChangelog.cs @@ -1,7 +1,7 @@ -using System; +using System; using System.Linq; -using Fallout.Common; using static Fallout.Common.ChangeLog.ChangelogTasks; +using Fallout.Application; namespace Fallout.Components; diff --git a/src/Fallout.Components/IHasConfiguration.cs b/src/Fallout.Components/IHasConfiguration.cs index c39fcd3cf..e09fdbf1d 100644 --- a/src/Fallout.Components/IHasConfiguration.cs +++ b/src/Fallout.Components/IHasConfiguration.cs @@ -1,6 +1,6 @@ -using System; +using System; using System.Linq; -using Fallout.Common; +using Fallout.Application; namespace Fallout.Components; diff --git a/src/Fallout.Components/IHasGitRepository.cs b/src/Fallout.Components/IHasGitRepository.cs index f88dc751f..849425190 100644 --- a/src/Fallout.Components/IHasGitRepository.cs +++ b/src/Fallout.Components/IHasGitRepository.cs @@ -1,7 +1,8 @@ -using System; +using System; using System.Linq; -using Fallout.Common; using Fallout.Common.Git; +using Fallout.Application; +using Fallout.Application.Git; namespace Fallout.Components; diff --git a/src/Fallout.Components/IHasGitVersion.cs b/src/Fallout.Components/IHasGitVersion.cs index 7ae0e2e9e..661ae9e76 100644 --- a/src/Fallout.Components/IHasGitVersion.cs +++ b/src/Fallout.Components/IHasGitVersion.cs @@ -1,7 +1,7 @@ -using System; +using System; using System.Linq; -using Fallout.Common; using Fallout.Common.Tools.GitVersion; +using Fallout.Application; namespace Fallout.Components; diff --git a/src/Fallout.Components/IHasNerdbankGitVersioning.cs b/src/Fallout.Components/IHasNerdbankGitVersioning.cs index d3edcebfc..00ad78f39 100644 --- a/src/Fallout.Components/IHasNerdbankGitVersioning.cs +++ b/src/Fallout.Components/IHasNerdbankGitVersioning.cs @@ -1,7 +1,7 @@ -using System; +using System; using System.Linq; -using Fallout.Common; using Fallout.Common.Tools.NerdbankGitVersioning; +using Fallout.Application; namespace Fallout.Components; diff --git a/src/Fallout.Components/IHasSolution.cs b/src/Fallout.Components/IHasSolution.cs index 8d5637319..9f5e5b497 100644 --- a/src/Fallout.Components/IHasSolution.cs +++ b/src/Fallout.Components/IHasSolution.cs @@ -1,7 +1,7 @@ -using System; +using System; using System.Linq; -using Fallout.Common; using Fallout.Solutions; +using Fallout.Application; namespace Fallout.Components; diff --git a/src/Fallout.Components/IHasTwitterCredentials.cs b/src/Fallout.Components/IHasTwitterCredentials.cs index acf1314b7..3e09fbf90 100644 --- a/src/Fallout.Components/IHasTwitterCredentials.cs +++ b/src/Fallout.Components/IHasTwitterCredentials.cs @@ -1,6 +1,6 @@ -using System; +using System; using System.Linq; -using Fallout.Common; +using Fallout.Application; namespace Fallout.Components; diff --git a/src/Fallout.Components/IPack.cs b/src/Fallout.Components/IPack.cs index 9b3a66a4b..804d9c722 100644 --- a/src/Fallout.Components/IPack.cs +++ b/src/Fallout.Components/IPack.cs @@ -1,12 +1,12 @@ -using System; +using System; using System.Linq; -using Fallout.Common; using Fallout.Common.IO; using Fallout.Common.Tooling; using Fallout.Common.Tools.DotNet; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; using static Fallout.Common.Tools.DotNet.DotNetTasks; +using Fallout.Application; namespace Fallout.Components; diff --git a/src/Fallout.Components/IPublish.cs b/src/Fallout.Components/IPublish.cs index 38a97d626..00f0620d6 100644 --- a/src/Fallout.Components/IPublish.cs +++ b/src/Fallout.Components/IPublish.cs @@ -10,6 +10,7 @@ using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; using static Fallout.Common.Tools.DotNet.DotNetTasks; +using Fallout.Application; namespace Fallout.Components; diff --git a/src/Fallout.Components/IReportCoverage.cs b/src/Fallout.Components/IReportCoverage.cs index 5023fc79c..3705664d2 100644 --- a/src/Fallout.Components/IReportCoverage.cs +++ b/src/Fallout.Components/IReportCoverage.cs @@ -1,7 +1,6 @@ -using System; +using System; using System.IO; using System.Linq; -using Fallout.Common; using Fallout.Common.CI.AzurePipelines; using Fallout.Common.IO; using Fallout.Common.Tooling; @@ -11,6 +10,7 @@ using Fallout.Common.Utilities.Collections; using static Fallout.Common.Tools.Codecov.CodecovTasks; using static Fallout.Common.Tools.ReportGenerator.ReportGeneratorTasks; +using Fallout.Application; namespace Fallout.Components; diff --git a/src/Fallout.Components/IRestore.cs b/src/Fallout.Components/IRestore.cs index 5819fe98a..f2c2eb2d8 100644 --- a/src/Fallout.Components/IRestore.cs +++ b/src/Fallout.Components/IRestore.cs @@ -1,9 +1,9 @@ -using System; +using System; using System.Linq; -using Fallout.Common; using Fallout.Common.Tooling; using Fallout.Common.Tools.DotNet; using static Fallout.Common.Tools.DotNet.DotNetTasks; +using Fallout.Application; namespace Fallout.Components; diff --git a/src/Fallout.Components/ISignPackages.cs b/src/Fallout.Components/ISignPackages.cs index 2a3f8f003..2a82d60f0 100644 --- a/src/Fallout.Components/ISignPackages.cs +++ b/src/Fallout.Components/ISignPackages.cs @@ -2,11 +2,11 @@ using System.Collections.Generic; using System.IO; using System.Linq; -using Fallout.Common; using Fallout.Common.CI.AppVeyor; using Fallout.Common.IO; using Fallout.Common.Utilities.Collections; using static Fallout.Common.Tools.SignPath.SignPathTasks; +using Fallout.Application; namespace Fallout.Components; diff --git a/src/Fallout.Components/ITest.cs b/src/Fallout.Components/ITest.cs index 537beb206..7dcec604b 100644 --- a/src/Fallout.Components/ITest.cs +++ b/src/Fallout.Components/ITest.cs @@ -1,8 +1,7 @@ -using System; +using System; using System.Collections.Generic; using System.IO; using System.Linq; -using Fallout.Common; using Fallout.Common.CI.AzurePipelines; using Fallout.Common.CI.GitHubActions; using Fallout.Common.CI.TeamCity; @@ -14,6 +13,7 @@ using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; using static Fallout.Common.Tools.DotNet.DotNetTasks; +using Fallout.Application; namespace Fallout.Components; diff --git a/src/Shims/Nuke.Common/NukeBuild.cs b/src/Shims/Nuke.Common/NukeBuild.cs index c41c6994b..9a1fe39e3 100644 --- a/src/Shims/Nuke.Common/NukeBuild.cs +++ b/src/Shims/Nuke.Common/NukeBuild.cs @@ -1,3 +1,4 @@ +using Fallout.Application; // The TransitionShimGenerator handles namespace prefix swaps (Fallout.* -> Nuke.*) // but cannot rename types. NukeBuild -> FalloutBuild and INukeBuild -> // IFalloutBuild were renamed during the rebrand (#59), so we hand-write those @@ -9,13 +10,13 @@ namespace Nuke.Common; /// /// Transition shim. Inherits from . /// -public abstract class NukeBuild : Fallout.Common.FalloutBuild +public abstract class NukeBuild : Fallout.Application.FalloutBuild { } /// /// Transition shim. Extends . /// -public interface INukeBuild : Fallout.Common.IFalloutBuild +public interface INukeBuild : Fallout.Application.IFalloutBuild { } diff --git a/tests/Consumers/Fallout.Consumer.Local/Build.cs b/tests/Consumers/Fallout.Consumer.Local/Build.cs index fa5510cc7..bc22f662b 100644 --- a/tests/Consumers/Fallout.Consumer.Local/Build.cs +++ b/tests/Consumers/Fallout.Consumer.Local/Build.cs @@ -1,10 +1,6 @@ -// -// Fallout consumer against this repo's local source. Catches breakage of the -// public Fallout surface in the current PR. - -using Fallout.Common; using Fallout.Common.IO; using Fallout.Solutions; // was Fallout.Common.ProjectModel; — renamed in #254 (persistence layering + namespace cleanup) +using Fallout.Application; class Build : FalloutBuild { diff --git a/tests/Fallout.Build.Tests/BuildExecutorTest.cs b/tests/Fallout.Build.Tests/BuildExecutorTest.cs index d4ed53e86..d8c9e5a67 100644 --- a/tests/Fallout.Build.Tests/BuildExecutorTest.cs +++ b/tests/Fallout.Build.Tests/BuildExecutorTest.cs @@ -1,10 +1,11 @@ -using System; +using System; using System.Linq; using FluentAssertions; -using Fallout.Common.Execution; using Fallout.Domain.Execution; using Fallout.Common.Utilities.Collections; using Xunit; +using Fallout.Application.Execution; +using Fallout.Application; namespace Fallout.Common.Tests.Execution; diff --git a/tests/Fallout.Build.Tests/ControlFlowTest.cs b/tests/Fallout.Build.Tests/ControlFlowTest.cs index d995cbbfb..b87dceb23 100644 --- a/tests/Fallout.Build.Tests/ControlFlowTest.cs +++ b/tests/Fallout.Build.Tests/ControlFlowTest.cs @@ -2,6 +2,7 @@ using System.Linq; using FluentAssertions; using Xunit; +using Fallout.Application; // ReSharper disable ArgumentsStyleLiteral diff --git a/tests/Fallout.Build.Tests/DefaultInterfaceExecutionTest.cs b/tests/Fallout.Build.Tests/DefaultInterfaceExecutionTest.cs index c2c21979a..d3704cd8e 100644 --- a/tests/Fallout.Build.Tests/DefaultInterfaceExecutionTest.cs +++ b/tests/Fallout.Build.Tests/DefaultInterfaceExecutionTest.cs @@ -1,9 +1,10 @@ -using System; +using System; using System.Linq; using System.Linq.Expressions; using FluentAssertions; -using Fallout.Common.Execution; using Xunit; +using Fallout.Application.Execution; +using Fallout.Application; namespace Fallout.Common.Tests.Execution; diff --git a/tests/Fallout.Build.Tests/ExecutableTargetFactoryTest.cs b/tests/Fallout.Build.Tests/ExecutableTargetFactoryTest.cs index 168797267..974bdb618 100644 --- a/tests/Fallout.Build.Tests/ExecutableTargetFactoryTest.cs +++ b/tests/Fallout.Build.Tests/ExecutableTargetFactoryTest.cs @@ -2,8 +2,9 @@ using System.Linq; using System.Linq.Expressions; using FluentAssertions; -using Fallout.Common.Execution; using Xunit; +using Fallout.Application.Execution; +using Fallout.Application; namespace Fallout.Common.Tests.Execution; diff --git a/tests/Fallout.Build.Tests/ExecutionPlannerTest.cs b/tests/Fallout.Build.Tests/ExecutionPlannerTest.cs index b8e51e94f..9c4d6ee98 100644 --- a/tests/Fallout.Build.Tests/ExecutionPlannerTest.cs +++ b/tests/Fallout.Build.Tests/ExecutionPlannerTest.cs @@ -2,8 +2,8 @@ using System.Collections.Generic; using System.Linq; using FluentAssertions; -using Fallout.Common.Execution; using Xunit; +using Fallout.Application.Execution; namespace Fallout.Common.Tests.Execution; diff --git a/tests/Fallout.Build.Tests/ExecutionTestsInitializer.cs b/tests/Fallout.Build.Tests/ExecutionTestsInitializer.cs index 30ec8acd4..b8ba0e5a1 100644 --- a/tests/Fallout.Build.Tests/ExecutionTestsInitializer.cs +++ b/tests/Fallout.Build.Tests/ExecutionTestsInitializer.cs @@ -1,7 +1,7 @@ -using System; +using System; using System.Linq; using System.Runtime.CompilerServices; -using Fallout.Common.Execution; +using Fallout.Application.Execution; namespace Fallout.Common.Tests; diff --git a/tests/Fallout.Build.Tests/GitRepositoryTest.cs b/tests/Fallout.Build.Tests/GitRepositoryTest.cs index 6fa952f64..f466bd75b 100644 --- a/tests/Fallout.Build.Tests/GitRepositoryTest.cs +++ b/tests/Fallout.Build.Tests/GitRepositoryTest.cs @@ -1,9 +1,9 @@ -using System; +using System; using System.IO; using System.Linq; using FluentAssertions; -using Fallout.Common.Git; using Xunit; +using Fallout.Application.Git; namespace Fallout.Common.Tests; diff --git a/tests/Fallout.Build.Tests/HostInitializer.cs b/tests/Fallout.Build.Tests/HostInitializer.cs index 05bfd7f54..4a08d758b 100644 --- a/tests/Fallout.Build.Tests/HostInitializer.cs +++ b/tests/Fallout.Build.Tests/HostInitializer.cs @@ -1,7 +1,8 @@ -using System; +using System; using System.Linq; using System.Runtime.CompilerServices; using Fallout.Common.Utilities; +using Fallout.Application; namespace Fallout.Common.Tests; diff --git a/tests/Fallout.Build.Tests/ParameterServiceTest.cs b/tests/Fallout.Build.Tests/ParameterServiceTest.cs index 92a2618cf..5d73a5e62 100644 --- a/tests/Fallout.Build.Tests/ParameterServiceTest.cs +++ b/tests/Fallout.Build.Tests/ParameterServiceTest.cs @@ -6,6 +6,7 @@ using Fallout.Common.Utilities.Collections; using Xunit; using static Fallout.Common.Utilities.ReflectionUtility; +using Fallout.Application; namespace Fallout.Common.Tests; diff --git a/tests/Fallout.Build.Tests/SchemaUtilityTest.cs b/tests/Fallout.Build.Tests/SchemaUtilityTest.cs index 745585966..be531bd94 100644 --- a/tests/Fallout.Build.Tests/SchemaUtilityTest.cs +++ b/tests/Fallout.Build.Tests/SchemaUtilityTest.cs @@ -1,13 +1,14 @@ -using System; +using System; using System.ComponentModel; using System.Linq; using System.Threading.Tasks; -using Fallout.Common.Execution; using Fallout.Common.IO; using Fallout.Common.Tooling; using Fallout.Common.Utilities; using VerifyXunit; using Xunit; +using Fallout.Application.Execution; +using Fallout.Application; #pragma warning disable CS0169 // Field is never used diff --git a/tests/Fallout.Cli.Tests/cake-scripts/default-target.verified.cs b/tests/Fallout.Cli.Tests/cake-scripts/default-target.verified.cs index ec7f690a0..1f4570e26 100644 --- a/tests/Fallout.Cli.Tests/cake-scripts/default-target.verified.cs +++ b/tests/Fallout.Cli.Tests/cake-scripts/default-target.verified.cs @@ -14,7 +14,7 @@ using Fallout.Common.Tools.GitVersion; using Fallout.Common.Tools.SignTool; using Fallout.Common.Utilities.Collections; -using Fallout.Common; +using Fallout.Application; using Fallout.Common.Tools.DotNet; using Fallout.Common.Tools.MSBuild; using Fallout.Common.Tools.SignTool; @@ -22,7 +22,7 @@ using Fallout.Common.IO; using Fallout.Common.IO; using Fallout.Common; -using static Fallout.Common.ControlFlow; +using static Fallout.Application.ControlFlow; using static Fallout.Common.Tools.DotNet.DotNetTasks; using static Fallout.Common.Tools.MSBuild.MSBuildTasks; using static Fallout.Common.Tools.SignTool.SignToolTasks; diff --git a/tests/Fallout.Cli.Tests/cake-scripts/globbing.verified.cs b/tests/Fallout.Cli.Tests/cake-scripts/globbing.verified.cs index bdadd924a..b8af39e71 100644 --- a/tests/Fallout.Cli.Tests/cake-scripts/globbing.verified.cs +++ b/tests/Fallout.Cli.Tests/cake-scripts/globbing.verified.cs @@ -14,7 +14,7 @@ using Fallout.Common.Tools.GitVersion; using Fallout.Common.Tools.SignTool; using Fallout.Common.Utilities.Collections; -using Fallout.Common; +using Fallout.Application; using Fallout.Common.Tools.DotNet; using Fallout.Common.Tools.MSBuild; using Fallout.Common.Tools.SignTool; @@ -22,7 +22,7 @@ using Fallout.Common.IO; using Fallout.Common.IO; using Fallout.Common; -using static Fallout.Common.ControlFlow; +using static Fallout.Application.ControlFlow; using static Fallout.Common.Tools.DotNet.DotNetTasks; using static Fallout.Common.Tools.MSBuild.MSBuildTasks; using static Fallout.Common.Tools.SignTool.SignToolTasks; diff --git a/tests/Fallout.Cli.Tests/cake-scripts/parameters.verified.cs b/tests/Fallout.Cli.Tests/cake-scripts/parameters.verified.cs index b8012a3f7..7cc99b401 100644 --- a/tests/Fallout.Cli.Tests/cake-scripts/parameters.verified.cs +++ b/tests/Fallout.Cli.Tests/cake-scripts/parameters.verified.cs @@ -14,7 +14,7 @@ using Fallout.Common.Tools.GitVersion; using Fallout.Common.Tools.SignTool; using Fallout.Common.Utilities.Collections; -using Fallout.Common; +using Fallout.Application; using Fallout.Common.Tools.DotNet; using Fallout.Common.Tools.MSBuild; using Fallout.Common.Tools.SignTool; @@ -22,7 +22,7 @@ using Fallout.Common.IO; using Fallout.Common.IO; using Fallout.Common; -using static Fallout.Common.ControlFlow; +using static Fallout.Application.ControlFlow; using static Fallout.Common.Tools.DotNet.DotNetTasks; using static Fallout.Common.Tools.MSBuild.MSBuildTasks; using static Fallout.Common.Tools.SignTool.SignToolTasks; diff --git a/tests/Fallout.Cli.Tests/cake-scripts/paths.verified.cs b/tests/Fallout.Cli.Tests/cake-scripts/paths.verified.cs index 495291107..c5d5cb56a 100644 --- a/tests/Fallout.Cli.Tests/cake-scripts/paths.verified.cs +++ b/tests/Fallout.Cli.Tests/cake-scripts/paths.verified.cs @@ -14,7 +14,7 @@ using Fallout.Common.Tools.GitVersion; using Fallout.Common.Tools.SignTool; using Fallout.Common.Utilities.Collections; -using Fallout.Common; +using Fallout.Application; using Fallout.Common.Tools.DotNet; using Fallout.Common.Tools.MSBuild; using Fallout.Common.Tools.SignTool; @@ -22,7 +22,7 @@ using Fallout.Common.IO; using Fallout.Common.IO; using Fallout.Common; -using static Fallout.Common.ControlFlow; +using static Fallout.Application.ControlFlow; using static Fallout.Common.Tools.DotNet.DotNetTasks; using static Fallout.Common.Tools.MSBuild.MSBuildTasks; using static Fallout.Common.Tools.SignTool.SignToolTasks; diff --git a/tests/Fallout.Cli.Tests/cake-scripts/references.verified.cs b/tests/Fallout.Cli.Tests/cake-scripts/references.verified.cs index 1d0bc1e73..a0f943d48 100644 --- a/tests/Fallout.Cli.Tests/cake-scripts/references.verified.cs +++ b/tests/Fallout.Cli.Tests/cake-scripts/references.verified.cs @@ -14,7 +14,7 @@ using Fallout.Common.Tools.GitVersion; using Fallout.Common.Tools.SignTool; using Fallout.Common.Utilities.Collections; -using Fallout.Common; +using Fallout.Application; using Fallout.Common.Tools.DotNet; using Fallout.Common.Tools.MSBuild; using Fallout.Common.Tools.SignTool; @@ -22,7 +22,7 @@ using Fallout.Common.IO; using Fallout.Common.IO; using Fallout.Common; -using static Fallout.Common.ControlFlow; +using static Fallout.Application.ControlFlow; using static Fallout.Common.Tools.DotNet.DotNetTasks; using static Fallout.Common.Tools.MSBuild.MSBuildTasks; using static Fallout.Common.Tools.SignTool.SignToolTasks; diff --git a/tests/Fallout.Cli.Tests/cake-scripts/targets.verified.cs b/tests/Fallout.Cli.Tests/cake-scripts/targets.verified.cs index 2754810b2..3e4364634 100644 --- a/tests/Fallout.Cli.Tests/cake-scripts/targets.verified.cs +++ b/tests/Fallout.Cli.Tests/cake-scripts/targets.verified.cs @@ -14,7 +14,7 @@ using Fallout.Common.Tools.GitVersion; using Fallout.Common.Tools.SignTool; using Fallout.Common.Utilities.Collections; -using Fallout.Common; +using Fallout.Application; using Fallout.Common.Tools.DotNet; using Fallout.Common.Tools.MSBuild; using Fallout.Common.Tools.SignTool; @@ -22,7 +22,7 @@ using Fallout.Common.IO; using Fallout.Common.IO; using Fallout.Common; -using static Fallout.Common.ControlFlow; +using static Fallout.Application.ControlFlow; using static Fallout.Common.Tools.DotNet.DotNetTasks; using static Fallout.Common.Tools.MSBuild.MSBuildTasks; using static Fallout.Common.Tools.SignTool.SignToolTasks; diff --git a/tests/Fallout.Cli.Tests/cake-scripts/tool-invocation.verified.cs b/tests/Fallout.Cli.Tests/cake-scripts/tool-invocation.verified.cs index 0368b35c4..e0fe71714 100644 --- a/tests/Fallout.Cli.Tests/cake-scripts/tool-invocation.verified.cs +++ b/tests/Fallout.Cli.Tests/cake-scripts/tool-invocation.verified.cs @@ -14,7 +14,7 @@ using Fallout.Common.Tools.GitVersion; using Fallout.Common.Tools.SignTool; using Fallout.Common.Utilities.Collections; -using Fallout.Common; +using Fallout.Application; using Fallout.Common.Tools.DotNet; using Fallout.Common.Tools.MSBuild; using Fallout.Common.Tools.SignTool; @@ -22,7 +22,7 @@ using Fallout.Common.IO; using Fallout.Common.IO; using Fallout.Common; -using static Fallout.Common.ControlFlow; +using static Fallout.Application.ControlFlow; using static Fallout.Common.Tools.DotNet.DotNetTasks; using static Fallout.Common.Tools.MSBuild.MSBuildTasks; using static Fallout.Common.Tools.SignTool.SignToolTasks; diff --git a/tests/Fallout.Common.Tests/CI/ConfigurationGenerationTest.cs b/tests/Fallout.Common.Tests/CI/ConfigurationGenerationTest.cs index ce164bfb5..8866dbcf5 100644 --- a/tests/Fallout.Common.Tests/CI/ConfigurationGenerationTest.cs +++ b/tests/Fallout.Common.Tests/CI/ConfigurationGenerationTest.cs @@ -1,19 +1,20 @@ -using System; +using System; using System.Collections.Generic; using System.ComponentModel; using System.IO; using System.Linq; using System.Threading.Tasks; -using Fallout.Common.CI; using Fallout.Common.CI.AppVeyor; using Fallout.Common.CI.AzurePipelines; using Fallout.Common.CI.GitHubActions; using Fallout.Common.CI.TeamCity; -using Fallout.Common.Execution; using Fallout.Common.IO; using Fallout.Common.Tooling; using VerifyXunit; using Xunit; +using Fallout.Application.Execution; +using Fallout.Application.CI; +using Fallout.Application; namespace Fallout.Common.Tests.CI; diff --git a/tests/Fallout.Common.Tests/CI/ITestConfigurationGenerator.cs b/tests/Fallout.Common.Tests/CI/ITestConfigurationGenerator.cs index 547000106..bc8f3c653 100644 --- a/tests/Fallout.Common.Tests/CI/ITestConfigurationGenerator.cs +++ b/tests/Fallout.Common.Tests/CI/ITestConfigurationGenerator.cs @@ -1,7 +1,7 @@ using System; using System.IO; using System.Linq; -using Fallout.Common.CI; +using Fallout.Application.CI; namespace Fallout.Common.Tests.CI; diff --git a/tests/Fallout.Common.Tests/CITest.cs b/tests/Fallout.Common.Tests/CITest.cs index ac1a79ab3..44aa6c78d 100644 --- a/tests/Fallout.Common.Tests/CITest.cs +++ b/tests/Fallout.Common.Tests/CITest.cs @@ -1,10 +1,9 @@ -using System; +using System; using System.Collections.Generic; using System.Globalization; using System.Linq; using System.Reflection; using FluentAssertions; -using Fallout.Common.CI; using Fallout.Common.CI.AppVeyor; using Fallout.Common.CI.AzurePipelines; using Fallout.Common.CI.Bitrise; @@ -13,6 +12,7 @@ using Fallout.Common.CI.TeamCity; using Fallout.Common.CI.TravisCI; using Xunit; +using Fallout.Application.CI; namespace Fallout.Common.Tests; diff --git a/tests/Fallout.Common.Tests/GitHubTasksTest.cs b/tests/Fallout.Common.Tests/GitHubTasksTest.cs index 1b13ea081..defc2c1d0 100644 --- a/tests/Fallout.Common.Tests/GitHubTasksTest.cs +++ b/tests/Fallout.Common.Tests/GitHubTasksTest.cs @@ -1,10 +1,10 @@ using System; using System.Linq; using FluentAssertions; -using Fallout.Common.Git; using Fallout.Common.IO; using Fallout.Common.Tools.GitHub; using Xunit; +using Fallout.Application.Git; namespace Fallout.Common.Tests; diff --git a/tests/Fallout.SourceGenerators.Tests/StronglyTypedSolutionGeneratorTest.Test#Solution.g.verified.cs b/tests/Fallout.SourceGenerators.Tests/StronglyTypedSolutionGeneratorTest.Test#Solution.g.verified.cs index 18855dfd8..803ac6916 100644 --- a/tests/Fallout.SourceGenerators.Tests/StronglyTypedSolutionGeneratorTest.Test#Solution.g.verified.cs +++ b/tests/Fallout.SourceGenerators.Tests/StronglyTypedSolutionGeneratorTest.Test#Solution.g.verified.cs @@ -47,10 +47,8 @@ internal class Solution(SolutionModel model, AbsolutePath path) : Fallout.Soluti public Fallout.Solutions.Project Fallout_Utilities_Text_Yaml => this.GetProject("Fallout.Utilities.Text.Yaml"); public Fallout.Solutions.Project Nuke_Build => this.GetProject("Nuke.Build"); public Fallout.Solutions.Project Nuke_Common => this.GetProject("Nuke.Common"); - public Fallout.Solutions.Project Nuke_Common_Shim_Tests => this.GetProject("Nuke.Common.Shim.Tests"); public Fallout.Solutions.Project Nuke_Components => this.GetProject("Nuke.Components"); public Fallout.Solutions.Project Nuke_Components_Shim_Tests => this.GetProject("Nuke.Components.Shim.Tests"); - public Fallout.Solutions.Project Nuke_Consumer => this.GetProject("Nuke.Consumer"); public _misc misc => Unsafe.As<_misc>(this.GetSolutionFolder("misc")); diff --git a/tests/Fallout.SourceGenerators.Tests/StronglyTypedSolutionGeneratorTest.cs b/tests/Fallout.SourceGenerators.Tests/StronglyTypedSolutionGeneratorTest.cs index 3cb6d2a52..65b531f46 100644 --- a/tests/Fallout.SourceGenerators.Tests/StronglyTypedSolutionGeneratorTest.cs +++ b/tests/Fallout.SourceGenerators.Tests/StronglyTypedSolutionGeneratorTest.cs @@ -1,13 +1,13 @@ -using System; +using System; using System.Linq; using System.Threading.Tasks; using FluentAssertions; using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp; -using Fallout.Common; using Fallout.Solutions; using VerifyXunit; using Xunit; +using Fallout.Application; namespace Fallout.SourceGenerators.Tests; diff --git a/tests/Nuke.Common.Shim.Tests/SampleConsumerBuild.cs b/tests/Nuke.Common.Shim.Tests/SampleConsumerBuild.cs index 32dcad3af..a3a29f117 100644 --- a/tests/Nuke.Common.Shim.Tests/SampleConsumerBuild.cs +++ b/tests/Nuke.Common.Shim.Tests/SampleConsumerBuild.cs @@ -15,6 +15,7 @@ using Nuke.Common.IO; using Nuke.Common.ProjectModel; using Nuke.Common.Utilities; +using Fallout.Application.Git; namespace Nuke.Common.Shim.Tests; @@ -30,7 +31,7 @@ public abstract class SampleConsumerBuild : NukeBuild, INukeBuild [Secret] readonly string NuGetApiKey; [Solution] readonly Fallout.Solutions.Solution Solution; [Solution("path/to/explicit.slnx")] readonly Fallout.Solutions.Solution ExplicitSolution; - [GitRepository] readonly Fallout.Common.Git.GitRepository GitRepository; + [GitRepository] readonly Fallout.Application.Git.GitRepository GitRepository; // CI-host shims expose only the static `Instance` accessor. Consumers can // still chain into instance members because the returned type is canonical. diff --git a/tools/OnionRewriter/DocumentRewriter.cs b/tools/OnionRewriter/DocumentRewriter.cs index 59d98678b..b96253624 100644 --- a/tools/OnionRewriter/DocumentRewriter.cs +++ b/tools/OnionRewriter/DocumentRewriter.cs @@ -9,7 +9,8 @@ public record struct Counts(bool Changed, int Refs, int Added, int Dropped, int public static (SyntaxNode Root, Counts Counts) Rewrite( SyntaxNode root, SemanticModel model, bool isSource, - Func isMovable, Func mapNs, Func isMoved) + Func isMovable, Func mapNs, Func isMoved, + HashSet surviving) { var cu = (CompilationUnitSyntax)root; @@ -19,7 +20,15 @@ public static (SyntaxNode Root, Counts Counts) Rewrite( var usedResidualMovableNs = new HashSet(); // old movable namespaces still needed (residual types) foreach (var name in cu.DescendantNodes().OfType()) { - if (model.GetSymbolInfo(name).Symbol is not INamedTypeSymbol t) continue; // only type-position binds + // Type-position binds to a type symbol; an attribute/`new` binds to its constructor; an + // extension call (x.NotNull()) binds to the reduced method — take the declaring type in each + // case so attributes AND extension-method imports (often same-namespace siblings a moved file + // loses) are counted. + var sym = model.GetSymbolInfo(name).Symbol; + var t = sym as INamedTypeSymbol + ?? (sym is IMethodSymbol { MethodKind: MethodKind.Constructor } ctor ? ctor.ContainingType : null) + ?? (sym is IMethodSymbol { IsExtensionMethod: true } ext ? (ext.ReducedFrom ?? ext).ContainingType : null); + if (t is null) continue; var ns = t.OriginalDefinition.ContainingNamespace?.ToDisplayString() ?? ""; if (!isMovable(ns)) continue; if (isMoved(t)) { usedMovedNewNs.Add(mapNs(ns)); usedMovedOldNs.Add(ns); } @@ -44,15 +53,22 @@ public static (SyntaxNode Root, Counts Counts) Rewrite( var name = u.Name?.ToString(); if (u.StaticKeyword.IsKind(SyntaxKind.None) && u.Alias is null && name != null && isMovable(name)) { - // Drop only `using`s orphaned BY THE MOVE — i.e. a moved type was imported from here and - // no residual type still is. Leave pre-existing unused usings alone (not our concern). - if (usedMovedOldNs.Contains(name) && !usedResidualMovableNs.Contains(name)) dropped++; + // Drop a movable `using` when its namespace is fully evacuated (no residual declarations + // anywhere — would otherwise dangle), OR when a moved type was imported from here and no + // residual type still is. Otherwise keep (residual still used, or a pre-existing unused + // using of a surviving namespace — not our concern). + var evacuated = !surviving.Contains(name); + if (evacuated || (usedMovedOldNs.Contains(name) && !usedResidualMovableNs.Contains(name))) dropped++; else keep.Add(u); } else keep.Add(u); // static/alias usings get their type names remapped in Stage 1 } int added = 0; - foreach (var ns in usedMovedNewNs) + // Moved types → new-namespace usings. Plus, for SOURCE files that change namespace: residual + // movable-namespace types they used to see as same-namespace siblings now need an explicit + // `using` (e.g. ParameterService leaving Fallout.Common still uses Utilities' ArgumentParser). + var toAdd = isSource ? usedMovedNewNs.Concat(usedResidualMovableNs) : usedMovedNewNs; + foreach (var ns in toAdd.Distinct()) { if (ownNs.Contains(ns)) continue; if (keep.Any(u => u.StaticKeyword.IsKind(SyntaxKind.None) && u.Alias is null && u.Name?.ToString() == ns)) continue; @@ -88,8 +104,14 @@ sealed class SyntaxFixer(SemanticModel model, bool isSource, Func if (symbol != null && isMoved(symbol)) { var ns = symbol.OriginalDefinition.ContainingNamespace!.ToDisplayString(); - Refs++; - return visited.WithLeft(ParseName(mapNs(ns)).WithTriviaFrom(visited.Left)); + // Only remap when Left is EXACTLY the namespace (direct `Namespace.Type`). For a nested + // ref (`Namespace.Outer.Nested`), Left includes the outer type — leave it to the inner + // QualifiedName visit, which remaps just the namespace and preserves the outer qualifier. + if (node.Left.ToString() == ns) + { + Refs++; + return visited.WithLeft(ParseName(mapNs(ns)).WithTriviaFrom(visited.Left)); + } } return visited; } diff --git a/tools/OnionRewriter/Program.cs b/tools/OnionRewriter/Program.cs index a4ddcd5f3..bd0682623 100644 --- a/tools/OnionRewriter/Program.cs +++ b/tools/OnionRewriter/Program.cs @@ -1,6 +1,8 @@ using System.Runtime.CompilerServices; using Microsoft.Build.Locator; using Microsoft.CodeAnalysis; +using Microsoft.CodeAnalysis.CSharp; +using Microsoft.CodeAnalysis.CSharp.Syntax; // OnionRewriter (semantic) — ADR-0006. Moves every type declared in a source project out of an old // namespace prefix into a new one, and fixes references across the whole workspace by the symbol each @@ -63,10 +65,31 @@ void Collect(INamespaceSymbol nsSym) Collect(sourceComp!.Assembly.GlobalNamespace); Console.WriteLine($"Moved types (declared in {SourceAssembly}, movable ns): {movedFullNames.Count}"); + // Match by assembly NAME + the moved-type set (resolves correctly across projects — a referenced + // project's assembly symbol is a different instance per compilation, so identity comparison fails + // cross-project). The pinned Consumer.NuGet/Nuke.Consumer projects also have a "Fallout.Build" + // assembly via their package, but those projects are skipped entirely in the document loop. bool IsMovedType(INamedTypeSymbol t) { var ns = t.OriginalDefinition.ContainingNamespace?.ToDisplayString() ?? ""; - return t.OriginalDefinition.ContainingAssembly?.Name == SourceAssembly && IsMovable(ns) && movedFullNames.Contains($"{ns}.{t.OriginalDefinition.Name}"); + return t.OriginalDefinition.ContainingAssembly?.Name == SourceAssembly + && IsMovable(ns) + && movedFullNames.Contains($"{ns}.{t.OriginalDefinition.Name}"); + } + + // Movable namespaces still declared OUTSIDE the source project (so they survive the move). A + // movable `using` whose namespace is NOT here is evacuated and must be dropped even if the file + // referenced its types only via inference (no explicit type name). + var survivingMovableNs = new HashSet(); + foreach (var f in Directory.EnumerateFiles(Path.Combine(repo, "src"), "*.cs", SearchOption.AllDirectories)) + { + if (f.Contains($"{Path.DirectorySeparatorChar}obj{Path.DirectorySeparatorChar}") || f.Contains($"{Path.DirectorySeparatorChar}bin{Path.DirectorySeparatorChar}")) continue; + if (f.StartsWith(Path.Combine(repo, "src", "Fallout.Build") + Path.DirectorySeparatorChar, StringComparison.Ordinal)) continue; + foreach (var n in CSharpSyntaxTree.ParseText(File.ReadAllText(f)).GetRoot().DescendantNodes().OfType()) + { + var ns = n.Name.ToString(); + if (IsMovable(ns)) survivingMovableNs.Add(ns); + } } int filesChanged = 0, refsRewritten = 0, usingsAdded = 0, usingsDropped = 0, nsDecls = 0; @@ -78,11 +101,15 @@ bool IsMovedType(INamedTypeSymbol t) foreach (var doc in project.Documents) { if (doc.FilePath is null || !doc.FilePath.EndsWith(".cs") || doc.FilePath.Contains($"{Path.DirectorySeparatorChar}obj{Path.DirectorySeparatorChar}")) continue; + // Package consumers (Consumer.NuGet, Nuke.Consumer) compile against the PUBLISHED package, + // which still has the old namespaces — the local rename must not touch them. (Consumer.Local + // references the local source and IS migrated.) + if (doc.FilePath.Contains("Consumer.NuGet") || doc.FilePath.Contains("Nuke.Consumer")) continue; var model = await doc.GetSemanticModelAsync(); var root = await doc.GetSyntaxRootAsync(); if (model is null || root is null) continue; - var (newRoot, c) = DocumentRewriter.Rewrite(root, model, isSource, IsMovable, MapNs, IsMovedType); + var (newRoot, c) = DocumentRewriter.Rewrite(root, model, isSource, IsMovable, MapNs, IsMovedType, survivingMovableNs); if (c.Changed) { filesChanged++; refsRewritten += c.Refs; usingsAdded += c.Added; usingsDropped += c.Dropped; nsDecls += c.NsDecls; From 4f29ae4c9d5d6203ee3e57e0927a9d965beaeb80 Mon Sep 17 00:00:00 2001 From: Chrison Simtian Date: Sun, 31 May 2026 23:44:08 +1200 Subject: [PATCH 10/46] docs(changelog): record Application ring (step 2) under the onion entry Co-Authored-By: Claude Opus 4.8 --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c94dfb169..8f429014c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - **Onion layering — namespace realignment begun; `Fallout.Core` → `Fallout.Domain`** ([ADR-0006](docs/adr/0006-onion-layering-and-namespace-realignment.md)). First ring of a project-wide realignment to explicit onion layers (`Fallout.Domain` / `Fallout.Application` / `Fallout.Infrastructure`, `Fallout.Cli` composition root) with `namespace = project = layer`, dissolving the `Fallout.Common.*` catch-all. This entry covers **step 1 (the Domain ring)**; the Application/Infrastructure/tooling-port rings land on `experimental` as separate PRs (any that miss the 2026 cut roll to 2027). - **Namespaces**: `Fallout.Core.Planning` → `Fallout.Domain.Planning`; `ITargetModel` and `ExecutionStatus` move out of `Fallout.Common.Execution` → `Fallout.Domain.Execution`. **Package/assembly**: `Fallout.Core` → `Fallout.Domain`. Replace the corresponding `using` directives and any `PackageReference`/`ProjectReference`. - **Migration / shim**: the `Nuke.*` transition shims silently stop re-exporting the two moved types (the generator only mirrors the `Fallout.Common.*` prefix). A fresh migration/shim strategy is designed once the realignment completes (ADR-0006 defers it deliberately); native `Fallout.*` consumers rewrite the two `using`s above. + - **Step 2 (the Application ring)**: the core API `Fallout.Build` declared under `Fallout.Common.*` — `FalloutBuild`, `Target`, `[Parameter]` & attributes, `Host`, the execution engine, value injection, and the CI ports — moves to **`Fallout.Application.*`**. Native consumers rewrite `using Fallout.Common;` → `using Fallout.Application;` (and the `Fallout.Common.Execution`/`.CI`/`.ValueInjection` sub-namespaces likewise). Performed by a semantic rewriter (`tools/OnionRewriter`). The `Nuke.*` shim surface that mirrored these (`Nuke.Common.Target`, `…Parameter`, …) lapses for now — `Nuke.Consumer` and `Nuke.Common.Shim.Tests` are temporarily out of the solution until the migration phase. The `Fallout.Build` **assembly/project** is renamed to `Fallout.Application` in a later mechanical step (namespaces are already migrated). - **Adopted calendar versioning (`YYYY.MINOR.PATCH`) + dual-pace channel model; retired the v11 numbering** ([ADR-0004](docs/adr/0004-calendar-versioning-and-dual-pace-channels.md)). Fallout now ships on calendar versions (`2026.0.0`, `2026.1.0`, …) — mechanically valid SemVer with the major equal to the calendar year. **Breaking changes are batched to the yearly major cut**; mid-year stable releases (`release/YYYY`) are strictly non-breaking. `main` becomes the published **edge** channel (date-stamped prereleases to GitHub Packages); the slow/stable track lives on `release/YYYY`. Opt-in unstable APIs are marked `[Experimental("FALLOUT0xx")]`. - **Migration / impact**: the `11.0.x` packages never shipped a clean stable release (all unlisted), so this strands no stable consumers. The headline content previously slated for "v11" now ships as **`2026.0.0`**. Any tooling pinned to a `[11.0,12.0)`-style range should retarget the `2026.x` line. - **Legacy unaffected**: the `release/v10` line stays on semver `10.x` and continues to receive security/critical fixes — v10 consumers do nothing. From 813eca2504684bbcb0d0bfa90cf1ddebad566f4c Mon Sep 17 00:00:00 2001 From: Chrison Simtian Date: Sun, 31 May 2026 23:52:42 +1200 Subject: [PATCH 11/46] =?UTF-8?q?feat(tooling):=20extract=20process-execut?= =?UTF-8?q?ion=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 GetOutputCollection( Process process, Action logger, Func outputFilter) diff --git a/src/Fallout.Tooling/SystemProcessRunner.cs b/src/Fallout.Tooling/SystemProcessRunner.cs new file mode 100644 index 000000000..6b0462011 --- /dev/null +++ b/src/Fallout.Tooling/SystemProcessRunner.cs @@ -0,0 +1,21 @@ +using System; +using System.Diagnostics; + +namespace Fallout.Common.Tooling; + +/// +/// Default — spawns a real OS process. This is the infrastructure adapter +/// behind the execution port; the rest of the tooling layer never touches directly. +/// +public sealed class SystemProcessRunner : IProcessRunner +{ + public IProcess Start(ProcessStartInfo startInfo, int? timeout, Action logger, Func outputFilter) + { + var process = Process.Start(startInfo); + if (process == null) + return null; + + var output = ProcessTasks.GetOutputCollection(process, logger, outputFilter); + return new Process2(process, outputFilter, timeout, output); + } +} From 629681db2d1594cb7d3e19deb5ff74bfa546ea14 Mon Sep 17 00:00:00 2001 From: Chrison Simtian Date: Sun, 31 May 2026 23:56:46 +1200 Subject: [PATCH 12/46] =?UTF-8?q?docs:=20spike=200003=20=E2=80=94=20Infras?= =?UTF-8?q?tructure-ring=20handoff=20(plan,=20decisions,=20tool=20lessons)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.8 --- docs/spikes/0003-onion-infrastructure-ring.md | 64 +++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 docs/spikes/0003-onion-infrastructure-ring.md diff --git a/docs/spikes/0003-onion-infrastructure-ring.md b/docs/spikes/0003-onion-infrastructure-ring.md new file mode 100644 index 000000000..0a6630906 --- /dev/null +++ b/docs/spikes/0003-onion-infrastructure-ring.md @@ -0,0 +1,64 @@ +# Spike 0003 — Onion realignment: the Infrastructure ring (steps 3–5) + +- **Status:** In progress — step 3 done; steps 4–5 (the bulk) remain. +- **Date:** 2026-05-31 +- **Decision record:** [ADR-0006](../adr/0006-onion-layering-and-namespace-realignment.md) +- **Channel:** `experimental` (branch `spike/onion-infrastructure`) + +> Handoff doc for picking up the onion realignment next session. Captures the whole workstream's +> state, the decisions already made, the reusable tooling, and the precise next steps. + +## Where the whole realignment stands + +Onion layers, `namespace = project = layer`, **breaking, whole-onion in the 2026 major** (the 2026 +major hasn't cut; breaking work rides it — ADR-0006). Branch stack on `experimental`: + +``` +experimental + └─ spike/onion-structure Domain ring (step 1) → PR #343 (target/2026, breaking) + └─ spike/onion-application Application ring (step 2) → PR #349 (stacks on #343, breaking) + └─ spike/onion-infrastructure Infra ring (3–5) → (unpushed; step 3 committed) +``` + +(Also open, unrelated-ish: PR #341 = CI ports/adapters, additive; PR #342 = other maintainer's promote.) + +### Done +1. **Domain ring** — `Fallout.Core` → `Fallout.Domain`; `ITargetModel`/`ExecutionStatus`/`Planning` out of `Fallout.Common.*`. Fitness test: Domain depends on no outer ring. (PR #343) +2. **Application ring** — everything `Fallout.Build` declared under `Fallout.Common.*` (`FalloutBuild`, `Target`, `[Parameter]`, `Host`, engine, value injection, CI ports) → `Fallout.Application.*`. ~297 files, full suite green (~450 tests). (PR #349) +3. **Infra step 3 — execution port** — `IProcessRunner` + `SystemProcessRunner` + `ProcessTasks.Runner` seam; the impure `Process.Start` is now behind the port. Tooling vocabulary can now be pure. (committed on this branch; 64/64 Tooling tests) + +### Remaining (this ring) +4. **Tool vocabulary + `Components` → Application** — `Fallout.Common.Tools.*` (60+ wrappers) and `Fallout.Components` move to `Fallout.Application.Tools.*` / `Fallout.Application.Components`. (Now unblocked by step 3 — execution is behind the port, so the wrappers are pure command-builders.) +5. **I/O adapters → Infrastructure** — CI host adapters (`Fallout.Common.CI.`) → `Fallout.Infrastructure.CI.*`; `Fallout.Common.IO` + the `Fallout.Utilities.IO/.Net/.Compression/.Globbing` I/O bits → `Fallout.Infrastructure.*`; the `ProcessTasks`/`ToolExecutor` executor side → `Fallout.Infrastructure`; `Fallout.ProjectModel`/`Fallout.Solution` → `Fallout.Infrastructure.*`. + +### Design decisions already made (don't relitigate) +- **Layer names**: explicit onion (`Fallout.Domain`/`.Application`/`.Infrastructure`, `Fallout.Cli` root). Public tool/CI API lives under `.Infrastructure` (accepted; ease consumer ergonomics later with template global usings). +- **Tool wrappers = Application vocabulary** (not Infrastructure): they're pure command builders; execution is the port. `Components` folds into Application (it composes wrappers). +- **Utilities split**: pure helpers (collections, reflection, string) → a **shared kernel below Application** (a small `Fallout.Kernel`-style project that Application + Infrastructure depend on; Domain stays zero-dep). Genuine I/O → `Fallout.Infrastructure.*`. +- **Shipping**: breaking → `experimental` → 2026 major. Shim/migration redesigned at the END (deferred). + +## The reusable tool: `tools/OnionRewriter` + +Semantic namespace mover (MSBuildWorkspace + symbol resolution). Run: `dotnet run --project tools/OnionRewriter` (dry-run) / `-- --apply`. It rewrites namespace declarations in a source project, fixes references repo-wide by the symbol each binds to, and reconciles `using`s. + +**Needs generalizing for steps 4–5**: it currently hard-codes a **single** prefix swap (`Fallout.Common`→`Fallout.Application`) for **one** source assembly (`Fallout.Build`). The Infra ring needs a **multi-rule map** (per-namespace targets: `*.Tools`→Application, `*.CI`→Infrastructure, `*.IO`→Infrastructure, …) over the `Fallout.Common` project + the utilities/model projects. + +### Hard-won tool lessons (bake these into the generalized version) +These edge cases each cost a build cycle on the Application ring — the generalized tool must keep them: +1. **Classify moved types by assembly NAME + a moved-set membership** (not symbol identity — a referenced project's assembly symbol is a *different instance* per compilation, so identity comparison fails cross-project). Combine with skipping package-consumer projects to avoid the `Fallout.Build`-named NuGet package collision. +2. **Skip package consumers** (`Consumer.NuGet`, `Nuke.Consumer`) — they compile against the published package, not local source. +3. **Detect non-type references too**: attribute names bind to the **constructor** (`IMethodSymbol`), extension calls (`x.NotNull()`) bind to the **reduced method** — take the declaring type in both, else their `using`s are missed. +4. **Nested-type qualified refs** (`Ns.Outer.Nested`): only remap a qualified name's `Left` when it equals the type's namespace exactly; let the inner qualified-name visit handle nested cases (else you drop the outer-type qualifier). +5. **`using` drop rule**: drop a movable `using` when its namespace is **fully evacuated** (no residual declarations anywhere — would dangle) OR when a moved type was imported from it and no residual type still is. Don't touch pre-existing unused usings of surviving namespaces. +6. **Source files that change namespace** lose same-namespace access to **residual** siblings — add explicit `using`s for the residual movable namespaces they use (e.g. a file leaving `Fallout.Common` still using a `Fallout.Common`-residual helper). +7. **Snapshots churn**: the solution generator + cake-migration Verify snapshots embed namespaces/project names — accept the `.received` after applying. Excluding shim consumer/test projects from `fallout.slnx` also churns the solution-generator snapshot. + +## Next-session checklist +1. (Optional) Merge the stack first: `#343` then `#349` onto `experimental`, then rebase `spike/onion-infrastructure`. +2. Generalize `OnionRewriter` to a multi-rule namespace map; add a `Fallout.Kernel` (or chosen name) for pure helpers. +3. Split `Fallout.Utilities` (pure → kernel, I/O → Infrastructure); dry-run to scope steps 4–5. +4. Apply (scope-then-apply); update Verify snapshots; keep `Nuke.*` shim consumers/tests excluded. +5. **Last**: project-FILE renames — `Fallout.Build`→`Fallout.Application` assembly, `Fallout.Tooling` split; then the shim/migration redesign. + +## Exit +Update **Status** as steps land; once steps 4–5 are applied and green, push `spike/onion-infrastructure` and open its PR (`target/2026` + `breaking-change`, base = `spike/onion-application` until the stack merges). From ad658a07508cf74a57624f80e1a94f37a0557a7d Mon Sep 17 00:00:00 2001 From: Chrison Simtian Date: Mon, 1 Jun 2026 00:27:16 +1200 Subject: [PATCH 13/46] =?UTF-8?q?refactor(arch)!:=20Components=20=E2=86=92?= =?UTF-8?q?=20Fallout.Application.Components=20(onion=20step=204a)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Move the build-composition interface family (ICompile, IRestore, IPack, IPublish, ITest, IHas*, Configuration, …) from Fallout.Components into the Application ring: Fallout.Components → Fallout.Application.Components. It composes the tool/CI vocabulary, so it belongs in Application (ADR-0006). Native consumers rewrite `using Fallout.Components;` → `using Fallout.Application.Components;`. The Nuke.Components transition shim is unaffected for consumers — its public Nuke.Components.* face is unchanged; ShimMarker's generator source prefix is repointed to the new namespace (a string literal the semantic rewriter intentionally leaves alone). The Fallout.Components assembly/project keeps its filename until the later mechanical rename step. Tooling: generalize tools/OnionRewriter to a Rule[] table (multi-assembly, multi-prefix) so the remaining infra-ring steps just add rules. Fix a nested-type classification bug surfaced here — a nested type's ContainingNamespace is its enclosing namespace, so keying the moved-set by the symbol's own name misclassified SignPathSettings as residual and added a dangling using to the evacuated namespace; classify by the outermost enclosing type instead, and never re-import a non-surviving namespace. Full suite green (Components.Tests, Nuke.Components.Shim.Tests, no Verify churn). Co-Authored-By: Claude Opus 4.8 --- CHANGELOG.md | 1 + build/Build.CI.GitHubActions.cs | 2 +- build/Build.Licenses.cs | 2 +- build/Build.cs | 2 +- docs/spikes/0003-onion-infrastructure-ring.md | 25 ++++-- src/Fallout.Components/Configuration.cs | 4 +- src/Fallout.Components/ICompile.cs | 2 +- .../ICreateGitHubRelease.cs | 2 +- src/Fallout.Components/IGlobalTool.cs | 2 +- src/Fallout.Components/IHasArtifacts.cs | 2 +- src/Fallout.Components/IHasChangelog.cs | 2 +- src/Fallout.Components/IHasConfiguration.cs | 2 +- src/Fallout.Components/IHasGitRepository.cs | 2 +- src/Fallout.Components/IHasGitVersion.cs | 2 +- .../IHasNerdbankGitVersioning.cs | 2 +- src/Fallout.Components/IHasReports.cs | 4 +- src/Fallout.Components/IHasSolution.cs | 2 +- .../IHasTwitterCredentials.cs | 2 +- src/Fallout.Components/IPack.cs | 2 +- src/Fallout.Components/IPublish.cs | 2 +- src/Fallout.Components/IReportCoverage.cs | 2 +- src/Fallout.Components/IRestore.cs | 2 +- src/Fallout.Components/ISignPackages.cs | 2 +- src/Fallout.Components/ITest.cs | 2 +- src/Fallout.Components/PublishTarget.cs | 2 +- src/Shims/Nuke.Components/ShimMarker.cs | 6 +- .../PublishPackageRouterTests.cs | 1 + tools/OnionRewriter/DocumentRewriter.cs | 3 +- tools/OnionRewriter/Program.cs | 89 +++++++++++++------ 29 files changed, 109 insertions(+), 66 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8f429014c..961ced93e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - **Namespaces**: `Fallout.Core.Planning` → `Fallout.Domain.Planning`; `ITargetModel` and `ExecutionStatus` move out of `Fallout.Common.Execution` → `Fallout.Domain.Execution`. **Package/assembly**: `Fallout.Core` → `Fallout.Domain`. Replace the corresponding `using` directives and any `PackageReference`/`ProjectReference`. - **Migration / shim**: the `Nuke.*` transition shims silently stop re-exporting the two moved types (the generator only mirrors the `Fallout.Common.*` prefix). A fresh migration/shim strategy is designed once the realignment completes (ADR-0006 defers it deliberately); native `Fallout.*` consumers rewrite the two `using`s above. - **Step 2 (the Application ring)**: the core API `Fallout.Build` declared under `Fallout.Common.*` — `FalloutBuild`, `Target`, `[Parameter]` & attributes, `Host`, the execution engine, value injection, and the CI ports — moves to **`Fallout.Application.*`**. Native consumers rewrite `using Fallout.Common;` → `using Fallout.Application;` (and the `Fallout.Common.Execution`/`.CI`/`.ValueInjection` sub-namespaces likewise). Performed by a semantic rewriter (`tools/OnionRewriter`). The `Nuke.*` shim surface that mirrored these (`Nuke.Common.Target`, `…Parameter`, …) lapses for now — `Nuke.Consumer` and `Nuke.Common.Shim.Tests` are temporarily out of the solution until the migration phase. The `Fallout.Build` **assembly/project** is renamed to `Fallout.Application` in a later mechanical step (namespaces are already migrated). + - **Step 4a (Application ring — composition components)**: the build-composition interface family (`ICompile`, `IRestore`, `IPack`, `IPublish`, `ITest`, `IHas*`, `Configuration`, …), previously `Fallout.Components`, moves to **`Fallout.Application.Components`** — it composes the tool/CI vocabulary and so belongs in the Application ring. Native consumers rewrite `using Fallout.Components;` → `using Fallout.Application.Components;`. The `Nuke.Components` transition shim is unaffected for consumers: its public `Nuke.Components.*` face is unchanged (the shim generator's source prefix was repointed to the new namespace). The `Fallout.Components` **assembly/project** keeps its filename until the later mechanical rename step. - **Adopted calendar versioning (`YYYY.MINOR.PATCH`) + dual-pace channel model; retired the v11 numbering** ([ADR-0004](docs/adr/0004-calendar-versioning-and-dual-pace-channels.md)). Fallout now ships on calendar versions (`2026.0.0`, `2026.1.0`, …) — mechanically valid SemVer with the major equal to the calendar year. **Breaking changes are batched to the yearly major cut**; mid-year stable releases (`release/YYYY`) are strictly non-breaking. `main` becomes the published **edge** channel (date-stamped prereleases to GitHub Packages); the slow/stable track lives on `release/YYYY`. Opt-in unstable APIs are marked `[Experimental("FALLOUT0xx")]`. - **Migration / impact**: the `11.0.x` packages never shipped a clean stable release (all unlisted), so this strands no stable consumers. The headline content previously slated for "v11" now ships as **`2026.0.0`**. Any tooling pinned to a `[11.0,12.0)`-style range should retarget the `2026.x` line. - **Legacy unaffected**: the `release/v10` line stays on semver `10.x` and continues to receive security/critical fixes — v10 consumers do nothing. diff --git a/build/Build.CI.GitHubActions.cs b/build/Build.CI.GitHubActions.cs index 6a272c419..54a278aeb 100644 --- a/build/Build.CI.GitHubActions.cs +++ b/build/Build.CI.GitHubActions.cs @@ -1,5 +1,5 @@ using Fallout.Common.CI.GitHubActions; -using Fallout.Components; +using Fallout.Application.Components; // Cross-platform (macOS/Windows) full Test+Pack is gated to RELEASE INTENT // (#318/#326): it runs only on a PR into a production branch (release/YYYY, diff --git a/build/Build.Licenses.cs b/build/Build.Licenses.cs index 2a1d2df10..1fb0f96ca 100644 --- a/build/Build.Licenses.cs +++ b/build/Build.Licenses.cs @@ -2,10 +2,10 @@ using System.Linq; using System.Threading.Tasks; using Fallout.Common.IO; -using Fallout.Components; using Serilog; using static Fallout.Common.IO.HttpTasks; using Fallout.Application; +using Fallout.Application.Components; partial class Build { diff --git a/build/Build.cs b/build/Build.cs index ab0221ed1..e1f7c24d6 100644 --- a/build/Build.cs +++ b/build/Build.cs @@ -10,13 +10,13 @@ using Fallout.Common.Tools.DotNet; using Fallout.Common.Tools.GitHub; using Fallout.Common.Utilities; -using Fallout.Components; using static Fallout.Application.ControlFlow; using static Fallout.Common.Tools.DotNet.DotNetTasks; using Fallout.Application; using Fallout.Application.CI; using Fallout.Application.Git; using Fallout.Application.Execution; +using Fallout.Application.Components; [DotNetVerbosityMapping] [ShutdownDotNetAfterServerBuild] diff --git a/docs/spikes/0003-onion-infrastructure-ring.md b/docs/spikes/0003-onion-infrastructure-ring.md index 0a6630906..d4d344e91 100644 --- a/docs/spikes/0003-onion-infrastructure-ring.md +++ b/docs/spikes/0003-onion-infrastructure-ring.md @@ -1,7 +1,7 @@ # Spike 0003 — Onion realignment: the Infrastructure ring (steps 3–5) -- **Status:** In progress — step 3 done; steps 4–5 (the bulk) remain. -- **Date:** 2026-05-31 +- **Status:** In progress — step 3 done; **step 4a (Components → Application) done**; steps 4b (Tools+Tooling) and 5 (I/O → Infrastructure) remain. +- **Date:** 2026-05-31 (updated 2026-06-01) - **Decision record:** [ADR-0006](../adr/0006-onion-layering-and-namespace-realignment.md) - **Channel:** `experimental` (branch `spike/onion-infrastructure`) @@ -27,8 +27,11 @@ experimental 2. **Application ring** — everything `Fallout.Build` declared under `Fallout.Common.*` (`FalloutBuild`, `Target`, `[Parameter]`, `Host`, engine, value injection, CI ports) → `Fallout.Application.*`. ~297 files, full suite green (~450 tests). (PR #349) 3. **Infra step 3 — execution port** — `IProcessRunner` + `SystemProcessRunner` + `ProcessTasks.Runner` seam; the impure `Process.Start` is now behind the port. Tooling vocabulary can now be pure. (committed on this branch; 64/64 Tooling tests) +### Done (cont.) +4a. **Components → Application** — `Fallout.Components` (20 files, single namespace) → `Fallout.Application.Components`. Clean isolated move; full suite green. Shim repointed (see below). Confirmed the generalized rule-table rewriter on an easy target before the hard Tooling move. + ### Remaining (this ring) -4. **Tool vocabulary + `Components` → Application** — `Fallout.Common.Tools.*` (60+ wrappers) and `Fallout.Components` move to `Fallout.Application.Tools.*` / `Fallout.Application.Components`. (Now unblocked by step 3 — execution is behind the port, so the wrappers are pure command-builders.) +4b. **Tool vocabulary → Application — entangled, NOT a clean prefix move.** `Fallout.Common.Tools.*` (126 files) inherit/return vocabulary (`ToolTasks`, `ToolOptions`, `Output`, `OutputType`, `Configure`, `IProcess`, `Tool`, `ToolResolver`) that lives in the **`Fallout.Common.Tooling` namespace interleaved with the executor** (`ProcessTasks`, `SystemProcessRunner`, `ToolPathResolver`, package/version resolvers) in the *same namespace + projects* (`Fallout.Tooling`, `Fallout.Common`). Step 3's port only abstracts process *spawning* — `ToolTasks.Run` still calls `ProcessTasks` directly, and tool/package *path resolution* still does I/O from vocabulary. So Tools.* → Application drags the whole Tooling namespace; a true vocab/executor split needs more port extraction (`IToolPathResolver`, package-resolver ports) than exists today. **Decision pending** (see options recorded for the maintainer): move Tools+Tooling together to Application now and carve the executor to Infrastructure later, vs. extract ports first. Also lurking: where pervasive value-types (`AbsolutePath`, `Fallout.Common.IO`) land — Infrastructure would break the Application ring, so they likely belong in the shared kernel. 5. **I/O adapters → Infrastructure** — CI host adapters (`Fallout.Common.CI.`) → `Fallout.Infrastructure.CI.*`; `Fallout.Common.IO` + the `Fallout.Utilities.IO/.Net/.Compression/.Globbing` I/O bits → `Fallout.Infrastructure.*`; the `ProcessTasks`/`ToolExecutor` executor side → `Fallout.Infrastructure`; `Fallout.ProjectModel`/`Fallout.Solution` → `Fallout.Infrastructure.*`. ### Design decisions already made (don't relitigate) @@ -41,7 +44,9 @@ experimental Semantic namespace mover (MSBuildWorkspace + symbol resolution). Run: `dotnet run --project tools/OnionRewriter` (dry-run) / `-- --apply`. It rewrites namespace declarations in a source project, fixes references repo-wide by the symbol each binds to, and reconciles `using`s. -**Needs generalizing for steps 4–5**: it currently hard-codes a **single** prefix swap (`Fallout.Common`→`Fallout.Application`) for **one** source assembly (`Fallout.Build`). The Infra ring needs a **multi-rule map** (per-namespace targets: `*.Tools`→Application, `*.CI`→Infrastructure, `*.IO`→Infrastructure, …) over the `Fallout.Common` project + the utilities/model projects. +**Generalized (done for step 4a)**: now driven by a `Rule[]` table — each rule is `(OldPrefix, NewPrefix, SourceAssembly)`, collected across *multiple* source assemblies. Edit the table per step (step 4a = the single Components rule). `IsMovable`/`MapNs`/`IsSourceFor` derive from the table; moved-type collection and the surviving-namespace scan iterate all source projects (source dirs derived from the loaded projects, not hard-coded). Steps 4b/5 just add rules — except `Fallout.Common.IO` is declared across **four** assemblies (Common + Utilities + Utilities.IO.Compression/Globbing), so that move needs one rule per declaring assembly (or generalize `SourceAssembly` to a set). + +**Companion (non-semantic) edits the rewriter does NOT do** — it operates on symbols, never string literals, so per step also update by hand: transition-shim **`ShimMarker.cs`** `fromNamespacePrefix` strings (the `ShimAllPublicTypesUnder` source prefix — load-bearing: the shim generator mirrors that prefix, so a stale value silently stops emitting the shims and the hand-written `IHaz*` aliases fail to compile); any Migrate rename-map strings; Verify snapshots that embed names. ### Hard-won tool lessons (bake these into the generalized version) These edge cases each cost a build cycle on the Application ring — the generalized tool must keep them: @@ -51,14 +56,16 @@ These edge cases each cost a build cycle on the Application ring — the general 4. **Nested-type qualified refs** (`Ns.Outer.Nested`): only remap a qualified name's `Left` when it equals the type's namespace exactly; let the inner qualified-name visit handle nested cases (else you drop the outer-type qualifier). 5. **`using` drop rule**: drop a movable `using` when its namespace is **fully evacuated** (no residual declarations anywhere — would dangle) OR when a moved type was imported from it and no residual type still is. Don't touch pre-existing unused usings of surviving namespaces. 6. **Source files that change namespace** lose same-namespace access to **residual** siblings — add explicit `using`s for the residual movable namespaces they use (e.g. a file leaving `Fallout.Common` still using a `Fallout.Common`-residual helper). -7. **Snapshots churn**: the solution generator + cake-migration Verify snapshots embed namespaces/project names — accept the `.received` after applying. Excluding shim consumer/test projects from `fallout.slnx` also churns the solution-generator snapshot. +7. **Snapshots churn**: the solution generator + cake-migration Verify snapshots embed namespaces/project names — accept the `.received` after applying. Excluding shim consumer/test projects from `fallout.slnx` also churns the solution-generator snapshot. (Step 4a churned none — project *names* were unchanged, only the namespace.) +8. **Classify moved types by their OUTERMOST enclosing type, not the symbol's own name** (found on 4a): a *nested* type's `ContainingNamespace` is the enclosing namespace, so a `{ns}.{Name}` lookup in the moved-set (top-level names only) misses it → it's misclassified as *residual*, which for a source file adds a `using` of the very namespace the move evacuates (dangling → CS0246). Fix in `IsMovedType`: walk `ContainingType` to the top, key the moved-set check on that. Belt-and-suspenders: never add a residual `using` for a namespace not in `surviving`. ## Next-session checklist 1. (Optional) Merge the stack first: `#343` then `#349` onto `experimental`, then rebase `spike/onion-infrastructure`. -2. Generalize `OnionRewriter` to a multi-rule namespace map; add a `Fallout.Kernel` (or chosen name) for pure helpers. -3. Split `Fallout.Utilities` (pure → kernel, I/O → Infrastructure); dry-run to scope steps 4–5. -4. Apply (scope-then-apply); update Verify snapshots; keep `Nuke.*` shim consumers/tests excluded. -5. **Last**: project-FILE renames — `Fallout.Build`→`Fallout.Application` assembly, `Fallout.Tooling` split; then the shim/migration redesign. +2. ✅ `OnionRewriter` generalized to a `Rule[]` table (done on 4a). ✅ Components → Application (4a, green, committed). +3. **Decide step 4b approach** (Tools+Tooling): move-together-then-carve vs. extract-ports-first; and where `AbsolutePath`/`Fallout.Common.IO` land (likely a shared `Fallout.Kernel`). Then add the rules and dry-run. +4. Add a `Fallout.Kernel` (or chosen name) for pure helpers; split `Fallout.Utilities` (pure → kernel, I/O → Infrastructure). Note `Fallout.Common.IO` spans 4 assemblies — one rule each. +5. Apply (scope-then-apply); update each `ShimMarker.cs` `fromNamespacePrefix`; accept any Verify `.received`. +6. **Last**: project-FILE renames — `Fallout.Build`→`Fallout.Application` assembly, `Fallout.Tooling` split; then the shim/migration redesign. ## Exit Update **Status** as steps land; once steps 4–5 are applied and green, push `spike/onion-infrastructure` and open its PR (`target/2026` + `breaking-change`, base = `spike/onion-application` until the stack merges). diff --git a/src/Fallout.Components/Configuration.cs b/src/Fallout.Components/Configuration.cs index f55201c79..6e1455f1e 100644 --- a/src/Fallout.Components/Configuration.cs +++ b/src/Fallout.Components/Configuration.cs @@ -1,9 +1,9 @@ -using System; +using System; using System.ComponentModel; using System.Linq; using Fallout.Common.Tooling; -namespace Fallout.Components; +namespace Fallout.Application.Components; [TypeConverter(typeof(TypeConverter))] public class Configuration : Enumeration diff --git a/src/Fallout.Components/ICompile.cs b/src/Fallout.Components/ICompile.cs index e2c020c02..e40d1d084 100644 --- a/src/Fallout.Components/ICompile.cs +++ b/src/Fallout.Components/ICompile.cs @@ -9,7 +9,7 @@ using static Fallout.Common.Tools.DotNet.DotNetTasks; using Fallout.Application; -namespace Fallout.Components; +namespace Fallout.Application.Components; public interface ICompile : IRestore, IHasConfiguration { diff --git a/src/Fallout.Components/ICreateGitHubRelease.cs b/src/Fallout.Components/ICreateGitHubRelease.cs index ebe3505f5..621e1658c 100644 --- a/src/Fallout.Components/ICreateGitHubRelease.cs +++ b/src/Fallout.Components/ICreateGitHubRelease.cs @@ -12,7 +12,7 @@ using Octokit; using Fallout.Application; -namespace Fallout.Components; +namespace Fallout.Application.Components; [ParameterPrefix(GitHubRelease)] public interface ICreateGitHubRelease : IHasGitRepository, IHasChangelog diff --git a/src/Fallout.Components/IGlobalTool.cs b/src/Fallout.Components/IGlobalTool.cs index 2f38a9c0a..bdd0b146d 100644 --- a/src/Fallout.Components/IGlobalTool.cs +++ b/src/Fallout.Components/IGlobalTool.cs @@ -5,7 +5,7 @@ using static Fallout.Common.Tools.DotNet.DotNetTasks; using Fallout.Application; -namespace Fallout.Components; +namespace Fallout.Application.Components; public interface IGlobalTool : IFalloutBuild { diff --git a/src/Fallout.Components/IHasArtifacts.cs b/src/Fallout.Components/IHasArtifacts.cs index e7addeb06..802594dc2 100644 --- a/src/Fallout.Components/IHasArtifacts.cs +++ b/src/Fallout.Components/IHasArtifacts.cs @@ -3,7 +3,7 @@ using Fallout.Common.IO; using Fallout.Application; -namespace Fallout.Components; +namespace Fallout.Application.Components; public interface IHasArtifacts : IFalloutBuild { diff --git a/src/Fallout.Components/IHasChangelog.cs b/src/Fallout.Components/IHasChangelog.cs index 6598bf5b5..0fd2d67c0 100644 --- a/src/Fallout.Components/IHasChangelog.cs +++ b/src/Fallout.Components/IHasChangelog.cs @@ -3,7 +3,7 @@ using static Fallout.Common.ChangeLog.ChangelogTasks; using Fallout.Application; -namespace Fallout.Components; +namespace Fallout.Application.Components; public interface IHasChangelog : IFalloutBuild { diff --git a/src/Fallout.Components/IHasConfiguration.cs b/src/Fallout.Components/IHasConfiguration.cs index e09fdbf1d..8ef5eef0c 100644 --- a/src/Fallout.Components/IHasConfiguration.cs +++ b/src/Fallout.Components/IHasConfiguration.cs @@ -2,7 +2,7 @@ using System.Linq; using Fallout.Application; -namespace Fallout.Components; +namespace Fallout.Application.Components; public interface IHasConfiguration : IFalloutBuild { diff --git a/src/Fallout.Components/IHasGitRepository.cs b/src/Fallout.Components/IHasGitRepository.cs index 849425190..2fac78e1c 100644 --- a/src/Fallout.Components/IHasGitRepository.cs +++ b/src/Fallout.Components/IHasGitRepository.cs @@ -4,7 +4,7 @@ using Fallout.Application; using Fallout.Application.Git; -namespace Fallout.Components; +namespace Fallout.Application.Components; public interface IHasGitRepository : IFalloutBuild { diff --git a/src/Fallout.Components/IHasGitVersion.cs b/src/Fallout.Components/IHasGitVersion.cs index 661ae9e76..f37b9cece 100644 --- a/src/Fallout.Components/IHasGitVersion.cs +++ b/src/Fallout.Components/IHasGitVersion.cs @@ -3,7 +3,7 @@ using Fallout.Common.Tools.GitVersion; using Fallout.Application; -namespace Fallout.Components; +namespace Fallout.Application.Components; public interface IHasGitVersion : IFalloutBuild { diff --git a/src/Fallout.Components/IHasNerdbankGitVersioning.cs b/src/Fallout.Components/IHasNerdbankGitVersioning.cs index 00ad78f39..4bb2e67cb 100644 --- a/src/Fallout.Components/IHasNerdbankGitVersioning.cs +++ b/src/Fallout.Components/IHasNerdbankGitVersioning.cs @@ -3,7 +3,7 @@ using Fallout.Common.Tools.NerdbankGitVersioning; using Fallout.Application; -namespace Fallout.Components; +namespace Fallout.Application.Components; public interface IHasNerdbankGitVersioning : IFalloutBuild { diff --git a/src/Fallout.Components/IHasReports.cs b/src/Fallout.Components/IHasReports.cs index fe27dffc9..cd7be07ed 100644 --- a/src/Fallout.Components/IHasReports.cs +++ b/src/Fallout.Components/IHasReports.cs @@ -1,8 +1,8 @@ -using System; +using System; using System.Linq; using Fallout.Common.IO; -namespace Fallout.Components; +namespace Fallout.Application.Components; public interface IHasReports : IHasArtifacts { diff --git a/src/Fallout.Components/IHasSolution.cs b/src/Fallout.Components/IHasSolution.cs index 9f5e5b497..2bee32a54 100644 --- a/src/Fallout.Components/IHasSolution.cs +++ b/src/Fallout.Components/IHasSolution.cs @@ -3,7 +3,7 @@ using Fallout.Solutions; using Fallout.Application; -namespace Fallout.Components; +namespace Fallout.Application.Components; public interface IHasSolution : IFalloutBuild { diff --git a/src/Fallout.Components/IHasTwitterCredentials.cs b/src/Fallout.Components/IHasTwitterCredentials.cs index 3e09fbf90..109c704fd 100644 --- a/src/Fallout.Components/IHasTwitterCredentials.cs +++ b/src/Fallout.Components/IHasTwitterCredentials.cs @@ -2,7 +2,7 @@ using System.Linq; using Fallout.Application; -namespace Fallout.Components; +namespace Fallout.Application.Components; [ParameterPrefix(Twitter)] public interface IHasTwitterCredentials : IFalloutBuild diff --git a/src/Fallout.Components/IPack.cs b/src/Fallout.Components/IPack.cs index 804d9c722..693f66ad5 100644 --- a/src/Fallout.Components/IPack.cs +++ b/src/Fallout.Components/IPack.cs @@ -8,7 +8,7 @@ using static Fallout.Common.Tools.DotNet.DotNetTasks; using Fallout.Application; -namespace Fallout.Components; +namespace Fallout.Application.Components; public interface IPack : ICompile, IHasArtifacts { diff --git a/src/Fallout.Components/IPublish.cs b/src/Fallout.Components/IPublish.cs index 00f0620d6..92e65db14 100644 --- a/src/Fallout.Components/IPublish.cs +++ b/src/Fallout.Components/IPublish.cs @@ -12,7 +12,7 @@ using static Fallout.Common.Tools.DotNet.DotNetTasks; using Fallout.Application; -namespace Fallout.Components; +namespace Fallout.Application.Components; public interface IPublish : IPack, ITest { diff --git a/src/Fallout.Components/IReportCoverage.cs b/src/Fallout.Components/IReportCoverage.cs index 3705664d2..147ca1590 100644 --- a/src/Fallout.Components/IReportCoverage.cs +++ b/src/Fallout.Components/IReportCoverage.cs @@ -12,7 +12,7 @@ using static Fallout.Common.Tools.ReportGenerator.ReportGeneratorTasks; using Fallout.Application; -namespace Fallout.Components; +namespace Fallout.Application.Components; public interface IReportCoverage : ITest, IHasReports, IHasGitRepository { diff --git a/src/Fallout.Components/IRestore.cs b/src/Fallout.Components/IRestore.cs index f2c2eb2d8..9e5be348f 100644 --- a/src/Fallout.Components/IRestore.cs +++ b/src/Fallout.Components/IRestore.cs @@ -5,7 +5,7 @@ using static Fallout.Common.Tools.DotNet.DotNetTasks; using Fallout.Application; -namespace Fallout.Components; +namespace Fallout.Application.Components; public interface IRestore : IHasSolution, IFalloutBuild { diff --git a/src/Fallout.Components/ISignPackages.cs b/src/Fallout.Components/ISignPackages.cs index 2a82d60f0..379bdfc09 100644 --- a/src/Fallout.Components/ISignPackages.cs +++ b/src/Fallout.Components/ISignPackages.cs @@ -8,7 +8,7 @@ using static Fallout.Common.Tools.SignPath.SignPathTasks; using Fallout.Application; -namespace Fallout.Components; +namespace Fallout.Application.Components; /// /// This component allows to easily sign NuGet packages with diff --git a/src/Fallout.Components/ITest.cs b/src/Fallout.Components/ITest.cs index 7dcec604b..b7659f5d6 100644 --- a/src/Fallout.Components/ITest.cs +++ b/src/Fallout.Components/ITest.cs @@ -15,7 +15,7 @@ using static Fallout.Common.Tools.DotNet.DotNetTasks; using Fallout.Application; -namespace Fallout.Components; +namespace Fallout.Application.Components; public interface ITest : ICompile, IHasArtifacts { diff --git a/src/Fallout.Components/PublishTarget.cs b/src/Fallout.Components/PublishTarget.cs index 94cacabd8..4e56d404d 100644 --- a/src/Fallout.Components/PublishTarget.cs +++ b/src/Fallout.Components/PublishTarget.cs @@ -5,7 +5,7 @@ using System.Text; using System.Text.RegularExpressions; -namespace Fallout.Components; +namespace Fallout.Application.Components; /// /// A routable publish destination: a package feed plus the rules deciding which diff --git a/src/Shims/Nuke.Components/ShimMarker.cs b/src/Shims/Nuke.Components/ShimMarker.cs index a107f92bc..eed41aa2d 100644 --- a/src/Shims/Nuke.Components/ShimMarker.cs +++ b/src/Shims/Nuke.Components/ShimMarker.cs @@ -1,8 +1,10 @@ // Tells the TransitionShimGenerator to emit shims for every public type whose -// namespace begins with "Fallout.Components" into the corresponding +// namespace begins with "Fallout.Application.Components" into the corresponding // "Nuke.Components" namespace. The bulk of this assembly is the component // interface family (ICompile, IRestore, IPack, ITest, IPublish, IHas*). +// (Source prefix tracks the onion realignment — ADR-0006; the components moved +// into the Application ring, the shim's public Nuke.Components face is unchanged.) [assembly: Fallout.Migrate.Shims.ShimAllPublicTypesUnder( - fromNamespacePrefix: "Fallout.Components", + fromNamespacePrefix: "Fallout.Application.Components", toNamespacePrefix: "Nuke.Components")] diff --git a/tests/Fallout.Components.Tests/PublishPackageRouterTests.cs b/tests/Fallout.Components.Tests/PublishPackageRouterTests.cs index 1c4f81ff1..0bd891e55 100644 --- a/tests/Fallout.Components.Tests/PublishPackageRouterTests.cs +++ b/tests/Fallout.Components.Tests/PublishPackageRouterTests.cs @@ -1,5 +1,6 @@ using FluentAssertions; using Xunit; +using Fallout.Application.Components; namespace Fallout.Components.Tests; diff --git a/tools/OnionRewriter/DocumentRewriter.cs b/tools/OnionRewriter/DocumentRewriter.cs index b96253624..c47452b02 100644 --- a/tools/OnionRewriter/DocumentRewriter.cs +++ b/tools/OnionRewriter/DocumentRewriter.cs @@ -67,7 +67,8 @@ public static (SyntaxNode Root, Counts Counts) Rewrite( // Moved types → new-namespace usings. Plus, for SOURCE files that change namespace: residual // movable-namespace types they used to see as same-namespace siblings now need an explicit // `using` (e.g. ParameterService leaving Fallout.Common still uses Utilities' ArgumentParser). - var toAdd = isSource ? usedMovedNewNs.Concat(usedResidualMovableNs) : usedMovedNewNs; + // Never re-import a namespace this move fully evacuates (not in `surviving`) — it would dangle. + var toAdd = isSource ? usedMovedNewNs.Concat(usedResidualMovableNs.Where(surviving.Contains)) : usedMovedNewNs; foreach (var ns in toAdd.Distinct()) { if (ownNs.Contains(ns)) continue; diff --git a/tools/OnionRewriter/Program.cs b/tools/OnionRewriter/Program.cs index bd0682623..42d282cc9 100644 --- a/tools/OnionRewriter/Program.cs +++ b/tools/OnionRewriter/Program.cs @@ -16,17 +16,31 @@ static class Runner { - const string OldRoot = "Fallout.Common"; - const string NewRoot = "Fallout.Application"; - const string OldExt = "Fallout.Build.Execution.Extensions"; - const string NewExt = "Fallout.Application.Execution.Extensions"; - const string SourceAssembly = "Fallout.Build"; - - static bool IsMovable(string ns) => ns == OldRoot || ns.StartsWith(OldRoot + ".") || ns == OldExt || ns.StartsWith(OldExt + "."); - static string MapNs(string ns) => - ns == OldRoot || ns.StartsWith(OldRoot + ".") ? NewRoot + ns[OldRoot.Length..] - : ns == OldExt || ns.StartsWith(OldExt + ".") ? NewExt + ns[OldExt.Length..] - : ns; + // A move rule: types declared in `SourceAssembly` under namespace `Old` (exact or `.`-prefixed) are + // moved to the corresponding `New` namespace. The rule table is the multi-rule map ADR-0006 step 4–5 + // need — edit it per onion step (step 1 Domain and step 2 Application are already landed, so their + // rules are gone). Multiple rules may share a SourceAssembly; first matching rule wins for MapNs. + record struct Rule(string Old, string New, string SourceAssembly); + + // Step 4a — Components → Application (the clean, isolated move; single namespace, no Tooling tangle). + static readonly Rule[] Rules = + [ + new("Fallout.Components", "Fallout.Application.Components", "Fallout.Components"), + ]; + + static bool Matches(Rule r, string ns) => ns == r.Old || ns.StartsWith(r.Old + "."); + static bool IsMovable(string ns) => Rules.Any(r => Matches(r, ns)); + static string MapNs(string ns) + { + foreach (var r in Rules) + if (Matches(r, ns)) return r.New + ns[r.Old.Length..]; + return ns; + } + // Does assembly `asm` declare a type under namespace `ns` that a rule moves? (Gates moved-type + // membership and namespace-decl rewriting to the rule's own source assembly — a type with the same + // namespace in another assembly is NOT moved.) + static bool IsSourceFor(string asm, string ns) => Rules.Any(r => r.SourceAssembly == asm && Matches(r, ns)); + static readonly HashSet SourceAssemblies = Rules.Select(r => r.SourceAssembly).ToHashSet(); [MethodImpl(MethodImplOptions.NoInlining)] public static async Task RunAsync(string[] args) @@ -52,39 +66,56 @@ public static async Task RunAsync(string[] args) var sln = ws.CurrentSolution; Console.WriteLine($"Loaded {sln.Projects.Count()} projects."); - // Moved types: declared in the source assembly under a movable namespace. Keyed by full name. - var sourceProject = sln.Projects.FirstOrDefault(p => p.AssemblyName == SourceAssembly); - if (sourceProject is null) { Console.Error.WriteLine($"FATAL: source project {SourceAssembly} not loaded."); return 1; } - var sourceComp = await sourceProject.GetCompilationAsync(); + // Moved types: declared in a rule's source assembly under that rule's movable namespace. Keyed by + // full name. Collected across every source assembly (a step may move types out of several). + var sourceProjects = sln.Projects.Where(p => SourceAssemblies.Contains(p.AssemblyName)).ToList(); + var missing = SourceAssemblies.Except(sourceProjects.Select(p => p.AssemblyName)).ToList(); + if (missing.Count > 0) { Console.Error.WriteLine($"FATAL: source assemblies not loaded: {string.Join(", ", missing)}"); return 1; } var movedFullNames = new HashSet(); - void Collect(INamespaceSymbol nsSym) + foreach (var sp in sourceProjects) { - foreach (var t in nsSym.GetTypeMembers()) if (IsMovable(nsSym.ToDisplayString())) movedFullNames.Add($"{nsSym.ToDisplayString()}.{t.Name}"); - foreach (var child in nsSym.GetNamespaceMembers()) Collect(child); + var asm = sp.AssemblyName; + var comp = await sp.GetCompilationAsync(); + void Collect(INamespaceSymbol nsSym) + { + var ns = nsSym.ToDisplayString(); + foreach (var t in nsSym.GetTypeMembers()) if (IsSourceFor(asm, ns)) movedFullNames.Add($"{ns}.{t.Name}"); + foreach (var child in nsSym.GetNamespaceMembers()) Collect(child); + } + Collect(comp!.Assembly.GlobalNamespace); } - Collect(sourceComp!.Assembly.GlobalNamespace); - Console.WriteLine($"Moved types (declared in {SourceAssembly}, movable ns): {movedFullNames.Count}"); + Console.WriteLine($"Moved types (declared in [{string.Join(", ", SourceAssemblies)}], movable ns): {movedFullNames.Count}"); // Match by assembly NAME + the moved-type set (resolves correctly across projects — a referenced // project's assembly symbol is a different instance per compilation, so identity comparison fails - // cross-project). The pinned Consumer.NuGet/Nuke.Consumer projects also have a "Fallout.Build" - // assembly via their package, but those projects are skipped entirely in the document loop. + // cross-project). Pinned package consumers (Consumer.NuGet/Nuke.Consumer) may carry a source + // assembly via their published package, but those projects are skipped entirely in the doc loop. + // A nested type's ContainingNamespace is its enclosing NAMESPACE (not its outer type), so a member + // keyed by `{ns}.{Name}` would miss the moved-set (which holds top-level names only) and be + // misclassified as residual — adding a dangling `using` to a namespace this move evacuates. A + // nested type moves iff its OUTERMOST enclosing type moves, so classify by that top-level type. bool IsMovedType(INamedTypeSymbol t) { - var ns = t.OriginalDefinition.ContainingNamespace?.ToDisplayString() ?? ""; - return t.OriginalDefinition.ContainingAssembly?.Name == SourceAssembly - && IsMovable(ns) - && movedFullNames.Contains($"{ns}.{t.OriginalDefinition.Name}"); + var top = t.OriginalDefinition; + while (top.ContainingType is not null) top = top.ContainingType; + var ns = top.ContainingNamespace?.ToDisplayString() ?? ""; + var asm = top.ContainingAssembly?.Name ?? ""; + return IsSourceFor(asm, ns) + && movedFullNames.Contains($"{ns}.{top.Name}"); } - // Movable namespaces still declared OUTSIDE the source project (so they survive the move). A + // Movable namespaces still declared OUTSIDE every source project (so they survive the move). A // movable `using` whose namespace is NOT here is evacuated and must be dropped even if the file // referenced its types only via inference (no explicit type name). + var sourceDirs = sourceProjects + .Where(p => p.FilePath is not null) + .Select(p => Path.GetDirectoryName(p.FilePath)! + Path.DirectorySeparatorChar) + .ToList(); var survivingMovableNs = new HashSet(); foreach (var f in Directory.EnumerateFiles(Path.Combine(repo, "src"), "*.cs", SearchOption.AllDirectories)) { if (f.Contains($"{Path.DirectorySeparatorChar}obj{Path.DirectorySeparatorChar}") || f.Contains($"{Path.DirectorySeparatorChar}bin{Path.DirectorySeparatorChar}")) continue; - if (f.StartsWith(Path.Combine(repo, "src", "Fallout.Build") + Path.DirectorySeparatorChar, StringComparison.Ordinal)) continue; + if (sourceDirs.Any(d => f.StartsWith(d, StringComparison.Ordinal))) continue; foreach (var n in CSharpSyntaxTree.ParseText(File.ReadAllText(f)).GetRoot().DescendantNodes().OfType()) { var ns = n.Name.ToString(); @@ -97,7 +128,7 @@ bool IsMovedType(INamedTypeSymbol t) foreach (var project in sln.Projects) { - var isSource = project.AssemblyName == SourceAssembly; + var isSource = SourceAssemblies.Contains(project.AssemblyName); foreach (var doc in project.Documents) { if (doc.FilePath is null || !doc.FilePath.EndsWith(".cs") || doc.FilePath.Contains($"{Path.DirectorySeparatorChar}obj{Path.DirectorySeparatorChar}")) continue; From 87f596afe854cbbb0e9d10615c661ae5926d0551 Mon Sep 17 00:00:00 2001 From: Chrison Simtian Date: Mon, 1 Jun 2026 00:56:04 +1200 Subject: [PATCH 14/46] =?UTF-8?q?refactor(arch)!:=20Tool=20vocabulary=20?= =?UTF-8?q?=E2=86=92=20Application,=20executor=20=E2=86=92=20Infrastructur?= =?UTF-8?q?e=20(onion=20step=204b)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Split the tool layer across the Application and Infrastructure rings (ADR-0006). The tool wrappers Fallout.Common.Tools.* and the vocabulary they build on — ToolTasks, ToolOptions, Output, Configure, the IProcess/ IProcessRunner ports, requirement & attribute types, ProcessException — move to Fallout.Application.Tools.* / Fallout.Application.Tooling. The impure executor that shared the Fallout.Common.Tooling namespace (ProcessTasks, SystemProcessRunner, Process2, ProcessExtensions, ToolExecutor, and the tool/package/version resolvers) moves to Fallout.Infrastructure.Tooling. Per the maintainer's "true homes, defer port fix" call: types land where they belong, accepting ToolTasks(App) → ProcessTasks(Infra) and resolver I/O as a tracked Application→Infrastructure dependency to be inverted behind ports in a follow-up (the rings are namespaces, not yet separate assemblies, so nothing enforces it). The Nuke.Common.Tools/Tooling shim aliases lapse, consistent with steps 1–2 and the deferred shim redesign. Native consumers rewrite `using Fallout.Common.Tools.*;` → `using Fallout.Application.Tools.*;` and `using Fallout.Common.Tooling;` → `using Fallout.Application.Tooling;` (+ Fallout.Infrastructure.Tooling where they touch the executor). Assembly/project files unchanged; namespaces only. Tooling: OnionRewriter gains per-type overrides (split one namespace across rings), multi-assembly rules, lost-ancestor usings (a moved file loses implicit access to its old parent namespace — e.g. Fallout.Common's EnvironmentInfo/NotNull/Assert — so add an explicit using), and cref rewriting (descend into doc-comment trivia so cref imports/FQNs follow the move). Full suite green; 7 cake-migration Verify snapshots re-accepted (namespace-only). Co-Authored-By: Claude Opus 4.8 --- CHANGELOG.md | 1 + build/Build.CodeGeneration.cs | 5 +- build/Build.Contributors.cs | 3 +- build/Build.GlobalSolution.cs | 5 +- build/Build.RunTargetInDockerTest.cs | 2 +- build/Build.Stargazers.cs | 2 +- build/Build.cs | 9 +- docs/spikes/0003-onion-infrastructure-ring.md | 15 +- .../ArgumentsFromGitCommitMessageAttribute.cs | 2 +- ...ShutdownDotNetAfterServerBuildAttribute.cs | 2 +- .../Attributes/VerbosityMappingAttribute.cs | 1 - ...dServerConfigurationGenerationAttribute.cs | 2 +- src/Fallout.Build/Execution/BuildManager.cs | 2 +- .../Execution/ExecutableTarget.cs | 2 +- .../ToolInjectionAttributeBase.cs | 1 - .../Execution/ParameterService.cs | 2 +- .../Execution/TargetDefinition.cs | 1 - .../Execution/ToolRequirementService.cs | 3 +- src/Fallout.Build/FalloutBuild.cs | 3 +- src/Fallout.Build/IFalloutBuild.cs | 2 +- src/Fallout.Build/ITargetDefinition.cs | 2 +- src/Fallout.Build/RequiresAttribute.cs | 2 +- .../Telemetry/Telemetry.Properties.cs | 3 +- .../Utilities/CredentialStore.cs | 3 +- src/Fallout.Build/Utilities/SchemaUtility.cs | 2 +- src/Fallout.Cli/Program.AddPackage.cs | 4 +- src/Fallout.Cli/Program.Cake.cs | 2 +- src/Fallout.Cli/Program.Setup.cs | 4 +- src/Fallout.Cli/Program.Trigger.cs | 2 +- src/Fallout.Cli/Program.Update.cs | 2 +- src/Fallout.Cli/ProjectUpdater.cs | 4 +- .../Rewriting/Cake/ClassRewriter.cs | 8 +- .../Rewriting/Cake/IdentifierNameRewriter.cs | 4 +- .../Rewriting/Cake/ToolInvocationRewriter.cs | 8 +- .../CheckPathEnvironmentVariableAttribute.cs | 2 +- .../HandleSingleFileExecutionAttribute.cs | 2 +- .../LatestGitHubReleaseAttribute.cs | 5 +- .../Attributes/LatestMavenVersionAttribute.cs | 2 +- .../Attributes/LatestMyGetVersionAttribute.cs | 2 +- .../Attributes/LatestNpmVersionAttribute.cs | 3 +- .../Attributes/LatestNuGetVersionAttribute.cs | 3 +- .../Attributes/LocalPathAttribute.cs | 3 +- .../Attributes/NpmPackageAttribute.cs | 2 +- .../Attributes/NuGetPackageAttribute.cs | 3 +- .../Attributes/PathVariableAttribute.cs | 2 +- src/Fallout.Common/CI/AppVeyor/AppVeyor.cs | 2 +- .../CI/AppVeyor/AppVeyorImage.cs | 2 +- .../Configuration/AppVeyorConfiguration.cs | 2 +- .../AzurePipelines/AzurePipelinesAttribute.cs | 2 +- .../CI/AzurePipelines/AzurePipelinesImage.cs | 2 +- .../Configuration/AzurePipelinesCacheStep.cs | 2 +- .../Configuration/AzurePipelinesJob.cs | 2 +- .../Configuration/AzurePipelinesStage.cs | 2 +- .../GitHubActionsConfiguration.cs | 2 +- .../Configuration/GitHubActionsJob.cs | 2 +- .../Configuration/GitHubActionsVcsTrigger.cs | 2 +- .../CI/GitHubActions/GitHubActions.cs | 2 +- .../GitHubActions/GitHubActionsAttribute.cs | 2 +- .../CI/GitHubActions/GitHubActionsImage.cs | 4 +- .../GitHubActions/GitHubActionsPermissions.cs | 2 +- .../CI/GitHubActions/GitHubActionsTrigger.cs | 2 +- .../TeamCity/DotNetBuildSettingsExtensions.cs | 4 +- .../TeamCity/DotNetTestSettingsExtensions.cs | 6 +- .../CI/TeamCity/MSBuildSettingsExtensions.cs | 2 +- src/Fallout.Common/CI/TeamCity/TeamCity.cs | 2 +- .../ChangeLog/ChangeLogTasks.cs | 2 +- src/Fallout.Common/IO/HttpTasks.cs | 4 +- .../Tools/AzureKeyVault/AzureKeyVault.cs | 5 +- .../AzureKeyVault/AzureKeyVaultAttribute.cs | 4 +- .../AzureKeyVaultAttributeBase.cs | 3 +- .../AzureKeyVault/AzureKeyVaultCertificate.cs | 4 +- .../AzureKeyVaultCertificateAttribute.cs | 4 +- .../AzureKeyVaultConfigurationAttribute.cs | 2 +- .../Tools/AzureKeyVault/AzureKeyVaultKey.cs | 4 +- .../AzureKeyVaultKeyAttribute.cs | 4 +- .../AzureKeyVaultSecretAttribute.cs | 2 +- .../Tools/AzureKeyVault/AzureKeyVaultTasks.cs | 5 +- .../AzureSignTool/AzureSignTool.Generated.cs | 12 +- .../BenchmarkDotNet.Generated.cs | 12 +- .../Tools/Boots/Boots.Generated.cs | 12 +- .../Tools/Chocolatey/Chocolatey.Generated.cs | 60 +- .../CodeMetrics/CodeMetrics.Generated.cs | 12 +- .../Tools/Codecov/Codecov.Generated.cs | 12 +- .../Tools/Codecov/CodecovTasks.cs | 8 +- .../Tools/CorFlags/CorFlags.Generated.cs | 12 +- .../Tools/CorFlags/CorFlagsSettings.cs | 4 +- .../CoverallsNet/CoverallsNet.Generated.cs | 12 +- .../Tools/Coverlet/Coverlet.Generated.cs | 14 +- .../Coverlet/CoverletSettingsExtensions.cs | 6 +- .../Tools/Discord/Discord.Generated.cs | 4 +- .../Tools/Discord/DiscordTasks.cs | 4 +- .../Tools/DocFX/DocFX.Generated.cs | 84 +- src/Fallout.Common/Tools/DocFX/DocFXTasks.cs | 4 +- .../Tools/Docker/Docker.Generated.cs | 1500 ++++++++--------- .../DockerTargetDefinitionExtensions.cs | 12 +- .../Tools/Docker/DockerTasks.cs | 6 +- .../Tools/DotCover/DotCover.Generated.cs | 60 +- .../Tools/DotCover/DotCoverTasks.cs | 6 +- .../TeamCitySetDotCoverHomePathAttribute.cs | 2 +- .../DotMemoryUnit/DotMemoryUnit.Generated.cs | 4 +- .../Tools/DotNet/DotNet.Generated.cs | 196 +-- .../Tools/DotNet/DotNetRuntimeIdentifier.cs | 6 +- .../Tools/DotNet/DotNetTasks.cs | 3 +- .../DotnetPackaging.Generated.cs | 20 +- .../EntityFramework.Generated.cs | 92 +- .../Tools/Fixie/Fixie.Generated.cs | 12 +- src/Fallout.Common/Tools/Git/Git.Generated.cs | 4 +- src/Fallout.Common/Tools/Git/GitTasks.cs | 6 +- .../Tools/GitHub/GitHubTasks.cs | 3 +- .../Tools/GitLink/GitLink.Generated.cs | 20 +- .../GitReleaseManager.Generated.cs | 44 +- .../Tools/GitVersion/GitVersion.Generated.cs | 12 +- .../Tools/GitVersion/GitVersionAttribute.cs | 5 +- .../Tools/GitVersion/GitVersionTasks.cs | 7 +- .../GitVersion/NumberToStringJsonConverter.cs | 2 +- .../Tools/Helm/Helm.Generated.cs | 340 ++-- .../Tools/ILRepack/ILRepack.Generated.cs | 12 +- .../Tools/InnoSetup/InnoSetup.Generated.cs | 12 +- .../Tools/InnoSetup/InnoSetupSettings.cs | 4 +- .../Tools/Kubernetes/Kubernetes.Generated.cs | 364 ++-- .../Tools/MSBuild/MSBuild.Generated.cs | 12 +- .../Tools/MSBuild/MSBuildPlatform.cs | 2 +- .../Tools/MSBuild/MSBuildProject.cs | 2 +- .../MSBuild/MSBuildSettingsExtensions.cs | 2 +- .../Tools/MSBuild/MSBuildTasks.cs | 3 +- .../Tools/MSBuild/MSBuildToolPathResolver.cs | 5 +- .../Tools/MSBuild/MSBuildVersion.cs | 2 +- .../Tools/MSpec/MSpec.Generated.cs | 12 +- src/Fallout.Common/Tools/MSpec/MSpecTasks.cs | 8 +- .../Tools/MakeNsis/MakeNSIS.Generated.cs | 12 +- .../Tools/Mastodon/Mastodon.Generated.cs | 4 +- .../Tools/Mastodon/MastodonTasks.cs | 4 +- .../Tools/MauiCheck/MauiCheck.Generated.cs | 20 +- .../Tools/MinVer/MinVer.Generated.cs | 12 +- .../Tools/MinVer/MinVerAttribute.cs | 4 +- .../Tools/MinVer/MinVerTasks.cs | 6 +- .../Tools/NSwag/NSwag.Generated.cs | 156 +- .../Tools/NUnit/NUnit.Generated.cs | 12 +- src/Fallout.Common/Tools/NUnit/NUnitTasks.cs | 2 +- .../NerdbankGitVersioning.Generated.cs | 60 +- .../NerdbankGitVersioningAttribute.cs | 4 +- .../NerdbankGitVersioningTasks.cs | 5 +- .../Tools/Netlify/Netlify.Generated.cs | 28 +- .../Tools/Netlify/NetlifyTasks.cs | 5 +- src/Fallout.Common/Tools/Npm/Npm.Generated.cs | 28 +- src/Fallout.Common/Tools/Npm/NpmTasks.cs | 6 +- .../Tools/NuGet/NuGet.Generated.cs | 108 +- .../NuGetKeyVaultSignTool.Generated.cs | 12 +- .../OctoVersion/OctoVersion.Generated.cs | 20 +- .../Tools/OctoVersion/OctoVersionAttribute.cs | 5 +- .../Tools/OctoVersion/OctoVersionTasks.cs | 5 +- .../Tools/Octopus/Octopus.Generated.cs | 44 +- .../Tools/OpenCover/OpenCover.Generated.cs | 12 +- .../Tools/OpenCover/OpenCoverTasks.cs | 3 +- .../Tools/Paket/Paket.Generated.cs | 36 +- .../Tools/PowerShell/PowerShell.Generated.cs | 12 +- .../Tools/PowerShell/PowerShellTasks.cs | 8 +- .../Tools/Pulumi/Pulumi.Generated.cs | 212 +-- .../Tools/Pulumi/PulumiTasks.cs | 6 +- .../Tools/Pwsh/Pwsh.Generated.cs | 12 +- .../ReportGenerator.Generated.cs | 12 +- .../ReportGenerator/ReportGeneratorTasks.cs | 2 +- .../Tools/SignClient/SignClient.Generated.cs | 12 +- .../Tools/SignPath/SignPathTasks.cs | 3 +- .../Tools/SignTool/SignTool.Generated.cs | 12 +- .../Tools/SignTool/SignToolTasks.cs | 7 +- .../Tools/Slack/Slack.Generated.cs | 4 +- src/Fallout.Common/Tools/Slack/SlackTasks.cs | 7 +- .../SonarScanner/SonarScanner.Generated.cs | 20 +- .../Tools/SpecFlow/SpecFlow.Generated.cs | 68 +- .../Tools/Squirrel/Squirrel.Generated.cs | 12 +- .../StaticWebApps/StaticWebApps.Generated.cs | 20 +- .../Tools/Teams/Teams.Extensions.cs | 2 +- .../Tools/Teams/Teams.Generated.cs | 4 +- src/Fallout.Common/Tools/Teams/TeamsTasks.cs | 7 +- .../Tools/TestCloud/TestCloud.Generated.cs | 12 +- .../Tools/Twitter/TwitterTasks.cs | 5 +- .../Tools/Unity/Logging/BlockMatcher.cs | 4 +- .../Tools/Unity/Logging/FileWatcher.cs | 5 +- .../Tools/Unity/Logging/LineMatcher.cs | 4 +- .../Tools/Unity/Logging/LogParser.cs | 4 +- .../Tools/Unity/Logging/MatchType.cs | 4 +- .../Tools/Unity/Logging/MatchedBlock.cs | 4 +- .../Tools/Unity/Logging/UnityLogLevel.cs | 4 +- .../Tools/Unity/Unity.Generated.cs | 44 +- src/Fallout.Common/Tools/Unity/UnityTasks.cs | 7 +- .../Tools/VSTest/VSTest.Generated.cs | 12 +- .../Tools/VSWhere/VSWhere.Generated.cs | 12 +- .../Tools/VSWhere/VSWhereTasks.cs | 5 +- .../WebConfigTransformRunner.Generated.cs | 12 +- .../Tools/Xunit/Xunit.Generated.cs | 12 +- .../Tools/Xunit/Xunit2SettingsExtensions.cs | 2 +- src/Fallout.Common/Tools/Xunit/XunitTasks.cs | 6 +- src/Fallout.Components/Configuration.cs | 2 +- src/Fallout.Components/ICompile.cs | 6 +- .../ICreateGitHubRelease.cs | 2 +- src/Fallout.Components/IGlobalTool.cs | 4 +- src/Fallout.Components/IHasGitVersion.cs | 2 +- .../IHasNerdbankGitVersioning.cs | 2 +- src/Fallout.Components/IPack.cs | 6 +- src/Fallout.Components/IPublish.cs | 6 +- src/Fallout.Components/IReportCoverage.cs | 10 +- src/Fallout.Components/IRestore.cs | 6 +- src/Fallout.Components/ISignPackages.cs | 3 +- src/Fallout.Components/ITest.cs | 8 +- .../EmbedPackagesForSelfContainedTask.cs | 4 +- .../PackPackageToolsTask.cs | 2 +- src/Fallout.ProjectModel/ProjectModelTasks.cs | 4 +- .../Generators/DataClassGenerator.cs | 2 +- src/Fallout.Tooling/ArgumentStringHandler.cs | 5 +- src/Fallout.Tooling/Configure.cs | 3 +- src/Fallout.Tooling/DelegateHelper.cs | 4 +- src/Fallout.Tooling/Enumeration.cs | 3 +- .../EnumerationJsonConverter.cs | 3 +- src/Fallout.Tooling/IProcess.cs | 4 +- src/Fallout.Tooling/IProcessRunner.cs | 3 +- src/Fallout.Tooling/NpmToolPathResolver.cs | 5 +- src/Fallout.Tooling/NpmVersionResolver.cs | 2 +- src/Fallout.Tooling/NuGetPackageResolver.cs | 3 +- src/Fallout.Tooling/NuGetToolPathResolver.cs | 5 +- src/Fallout.Tooling/NuGetVersionResolver.cs | 3 +- .../ObjectFromFieldConverter.cs | 3 +- src/Fallout.Tooling/Options.Apply.cs | 2 +- src/Fallout.Tooling/Options.Combinatorial.cs | 2 +- src/Fallout.Tooling/Options.Modify.cs | 2 +- src/Fallout.Tooling/Options.When.cs | 2 +- src/Fallout.Tooling/Options.cs | 3 +- src/Fallout.Tooling/Output.cs | 4 +- src/Fallout.Tooling/OutputType.cs | 4 +- src/Fallout.Tooling/PaketPackageResolver.cs | 3 +- src/Fallout.Tooling/Process2.cs | 5 +- src/Fallout.Tooling/ProcessException.cs | 2 +- src/Fallout.Tooling/ProcessExtensions.cs | 4 +- src/Fallout.Tooling/ProcessTasks.cs | 4 +- src/Fallout.Tooling/SystemProcessRunner.cs | 3 +- src/Fallout.Tooling/Tool.cs | 2 +- src/Fallout.Tooling/ToolExecutor.cs | 3 +- src/Fallout.Tooling/ToolOptions.Arguments.cs | 3 +- .../ToolOptions.ExitHandler.cs | 4 +- src/Fallout.Tooling/ToolOptions.Logger.cs | 5 +- .../ToolOptions.Properties.Dropin.cs | 4 +- src/Fallout.Tooling/ToolOptions.Properties.cs | 2 +- src/Fallout.Tooling/ToolOptions.Secrets.cs | 3 +- src/Fallout.Tooling/ToolOptions.cs | 5 +- src/Fallout.Tooling/ToolPathResolver.cs | 4 +- src/Fallout.Tooling/ToolRequirement.cs | 5 +- src/Fallout.Tooling/ToolResolver.cs | 4 +- src/Fallout.Tooling/ToolTasks.ExitHandler.cs | 5 +- src/Fallout.Tooling/ToolTasks.Logger.cs | 4 +- src/Fallout.Tooling/ToolTasks.Run.cs | 5 +- src/Fallout.Tooling/ToolTasks.ToolPath.cs | 6 +- src/Fallout.Tooling/ToolTasks.cs | 4 +- src/Fallout.Tooling/ToolingExtensions.cs | 5 +- .../Fallout.Build.Tests/SchemaUtilityTest.cs | 2 +- .../cake-scripts/default-target.verified.cs | 16 +- .../cake-scripts/globbing.verified.cs | 16 +- .../cake-scripts/parameters.verified.cs | 16 +- .../cake-scripts/paths.verified.cs | 16 +- .../cake-scripts/references.verified.cs | 16 +- .../cake-scripts/targets.verified.cs | 16 +- .../cake-scripts/tool-invocation.verified.cs | 16 +- .../CI/ConfigurationGenerationTest.cs | 2 +- tests/Fallout.Common.Tests/GitHubTasksTest.cs | 2 +- .../GitVersionParseTest.cs | 2 +- tests/Fallout.Common.Tests/SettingsTest.cs | 18 +- .../ArgumentStringHandlerTest.cs | 2 +- .../NuGetPackageResolverTest.cs | 2 +- tests/Fallout.Tooling.Tests/OptionsTest.cs | 2 +- .../ToolOptionsArgumentsTest.cs | 2 +- .../ToolTasksLoggerTest.cs | 4 +- .../ToolTasksToolPathTest.cs | 3 +- tools/OnionRewriter/DocumentRewriter.cs | 80 +- tools/OnionRewriter/Program.cs | 72 +- 273 files changed, 2602 insertions(+), 2453 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 961ced93e..3be3693e2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - **Migration / shim**: the `Nuke.*` transition shims silently stop re-exporting the two moved types (the generator only mirrors the `Fallout.Common.*` prefix). A fresh migration/shim strategy is designed once the realignment completes (ADR-0006 defers it deliberately); native `Fallout.*` consumers rewrite the two `using`s above. - **Step 2 (the Application ring)**: the core API `Fallout.Build` declared under `Fallout.Common.*` — `FalloutBuild`, `Target`, `[Parameter]` & attributes, `Host`, the execution engine, value injection, and the CI ports — moves to **`Fallout.Application.*`**. Native consumers rewrite `using Fallout.Common;` → `using Fallout.Application;` (and the `Fallout.Common.Execution`/`.CI`/`.ValueInjection` sub-namespaces likewise). Performed by a semantic rewriter (`tools/OnionRewriter`). The `Nuke.*` shim surface that mirrored these (`Nuke.Common.Target`, `…Parameter`, …) lapses for now — `Nuke.Consumer` and `Nuke.Common.Shim.Tests` are temporarily out of the solution until the migration phase. The `Fallout.Build` **assembly/project** is renamed to `Fallout.Application` in a later mechanical step (namespaces are already migrated). - **Step 4a (Application ring — composition components)**: the build-composition interface family (`ICompile`, `IRestore`, `IPack`, `IPublish`, `ITest`, `IHas*`, `Configuration`, …), previously `Fallout.Components`, moves to **`Fallout.Application.Components`** — it composes the tool/CI vocabulary and so belongs in the Application ring. Native consumers rewrite `using Fallout.Components;` → `using Fallout.Application.Components;`. The `Nuke.Components` transition shim is unaffected for consumers: its public `Nuke.Components.*` face is unchanged (the shim generator's source prefix was repointed to the new namespace). The `Fallout.Components` **assembly/project** keeps its filename until the later mechanical rename step. + - **Step 4b (tool vocabulary → Application; executor → Infrastructure)**: the tool wrappers `Fallout.Common.Tools.*` (60+ wrappers) and the tool vocabulary they build on (`ToolTasks`, `ToolOptions`, `Output`, `Configure`, the `IProcess`/`IProcessRunner` ports, requirement/attribute types) move to **`Fallout.Application.Tools.*`** / **`Fallout.Application.Tooling`**. The impure executor that shared the `Fallout.Common.Tooling` namespace — `ProcessTasks`, `SystemProcessRunner`, `Process2`, `ProcessExtensions`, `ToolExecutor`, and the tool/package/version resolvers — moves to **`Fallout.Infrastructure.Tooling`**. Native consumers rewrite `using Fallout.Common.Tools.*;` → `using Fallout.Application.Tools.*;` and `using Fallout.Common.Tooling;` → `using Fallout.Application.Tooling;` (plus `using Fallout.Infrastructure.Tooling;` where they touch the executor directly). The `Nuke.Common.Tools`/`…Tooling` shim aliases lapse (the generator only mirrors the `Fallout.Common.*` prefix), pending the deferred migration/shim redesign. **Known interim state:** `ToolTasks` (Application) still calls `ProcessTasks` (Infrastructure) directly and tool/package path resolution still does I/O from the Application side — a tracked Application→Infrastructure dependency to be inverted behind ports in a follow-up before the rings become separate assemblies. Assembly/project files (`Fallout.Common`, `Fallout.Tooling`) are unchanged; only namespaces moved. - **Adopted calendar versioning (`YYYY.MINOR.PATCH`) + dual-pace channel model; retired the v11 numbering** ([ADR-0004](docs/adr/0004-calendar-versioning-and-dual-pace-channels.md)). Fallout now ships on calendar versions (`2026.0.0`, `2026.1.0`, …) — mechanically valid SemVer with the major equal to the calendar year. **Breaking changes are batched to the yearly major cut**; mid-year stable releases (`release/YYYY`) are strictly non-breaking. `main` becomes the published **edge** channel (date-stamped prereleases to GitHub Packages); the slow/stable track lives on `release/YYYY`. Opt-in unstable APIs are marked `[Experimental("FALLOUT0xx")]`. - **Migration / impact**: the `11.0.x` packages never shipped a clean stable release (all unlisted), so this strands no stable consumers. The headline content previously slated for "v11" now ships as **`2026.0.0`**. Any tooling pinned to a `[11.0,12.0)`-style range should retarget the `2026.x` line. - **Legacy unaffected**: the `release/v10` line stays on semver `10.x` and continues to receive security/critical fixes — v10 consumers do nothing. diff --git a/build/Build.CodeGeneration.cs b/build/Build.CodeGeneration.cs index 77bca43d1..86f97b668 100644 --- a/build/Build.CodeGeneration.cs +++ b/build/Build.CodeGeneration.cs @@ -1,11 +1,12 @@ using System; using Fallout.Common.IO; -using Fallout.Common.Tools.GitHub; using Fallout.Common.Utilities.Collections; using static Fallout.CodeGeneration.CodeGenerator; using static Fallout.CodeGeneration.ReferenceUpdater; -using static Fallout.Common.Tools.Git.GitTasks; +using static Fallout.Application.Tools.Git.GitTasks; using Fallout.Application; +using Fallout.Application.Tools.Git; +using Fallout.Application.Tools.GitHub; partial class Build { diff --git a/build/Build.Contributors.cs b/build/Build.Contributors.cs index 8a1ce85fe..23195d1db 100644 --- a/build/Build.Contributors.cs +++ b/build/Build.Contributors.cs @@ -4,8 +4,9 @@ using Fallout.Common.IO; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; -using static Fallout.Common.Tools.Git.GitTasks; +using static Fallout.Application.Tools.Git.GitTasks; using Fallout.Application; +using Fallout.Application.Tools.Git; partial class Build { diff --git a/build/Build.GlobalSolution.cs b/build/Build.GlobalSolution.cs index 83bd1d7e3..73129448d 100644 --- a/build/Build.GlobalSolution.cs +++ b/build/Build.GlobalSolution.cs @@ -4,13 +4,14 @@ using System.Linq; using Fallout.Common.IO; using Fallout.Solutions; -using Fallout.Common.Tools.GitHub; using Fallout.Common.Utilities; using Fallout.Utilities.Text.Yaml; using static Fallout.Application.ControlFlow; -using static Fallout.Common.Tools.Git.GitTasks; +using static Fallout.Application.Tools.Git.GitTasks; using Fallout.Application; using Fallout.Application.Git; +using Fallout.Application.Tools.Git; +using Fallout.Application.Tools.GitHub; partial class Build { diff --git a/build/Build.RunTargetInDockerTest.cs b/build/Build.RunTargetInDockerTest.cs index 14a3e93ae..0d74c3602 100644 --- a/build/Build.RunTargetInDockerTest.cs +++ b/build/Build.RunTargetInDockerTest.cs @@ -1,9 +1,9 @@ using System; using Fallout.Common; -using Fallout.Common.Tools.Docker; using Fallout.Common.Utilities; using Serilog; using Fallout.Application; +using Fallout.Application.Tools.Docker; partial class Build { diff --git a/build/Build.Stargazers.cs b/build/Build.Stargazers.cs index 762c70e5a..a1b60f99c 100644 --- a/build/Build.Stargazers.cs +++ b/build/Build.Stargazers.cs @@ -1,9 +1,9 @@ using System.Linq; using System.Threading.Tasks; using Fallout.Common.IO; -using Fallout.Common.Tools.GitHub; using Fallout.Common.Utilities; using Fallout.Application; +using Fallout.Application.Tools.GitHub; partial class Build { diff --git a/build/Build.cs b/build/Build.cs index e1f7c24d6..0dba77d3d 100644 --- a/build/Build.cs +++ b/build/Build.cs @@ -6,17 +6,18 @@ using Fallout.Common.CI.GitHubActions; using Fallout.Common.IO; using Fallout.Solutions; -using Fallout.Common.Tooling; -using Fallout.Common.Tools.DotNet; -using Fallout.Common.Tools.GitHub; using Fallout.Common.Utilities; using static Fallout.Application.ControlFlow; -using static Fallout.Common.Tools.DotNet.DotNetTasks; +using static Fallout.Application.Tools.DotNet.DotNetTasks; using Fallout.Application; using Fallout.Application.CI; using Fallout.Application.Git; using Fallout.Application.Execution; using Fallout.Application.Components; +using Fallout.Application.Tools.DotNet; +using Fallout.Application.Tooling; +using Fallout.Infrastructure.Tooling; +using Fallout.Application.Tools.GitHub; [DotNetVerbosityMapping] [ShutdownDotNetAfterServerBuild] diff --git a/docs/spikes/0003-onion-infrastructure-ring.md b/docs/spikes/0003-onion-infrastructure-ring.md index d4d344e91..671e21678 100644 --- a/docs/spikes/0003-onion-infrastructure-ring.md +++ b/docs/spikes/0003-onion-infrastructure-ring.md @@ -1,6 +1,6 @@ # Spike 0003 — Onion realignment: the Infrastructure ring (steps 3–5) -- **Status:** In progress — step 3 done; **step 4a (Components → Application) done**; steps 4b (Tools+Tooling) and 5 (I/O → Infrastructure) remain. +- **Status:** In progress — step 3 done; **steps 4a (Components) + 4b (Tools/Tooling) done**; step 5 (CI/IO/ProjectModel/Solution → Infrastructure + Utilities split / kernel) remains. Plus a follow-up: invert the tracked `ToolTasks`(App)→`ProcessTasks`(Infra) + resolver I/O dependency behind ports. - **Date:** 2026-05-31 (updated 2026-06-01) - **Decision record:** [ADR-0006](../adr/0006-onion-layering-and-namespace-realignment.md) - **Channel:** `experimental` (branch `spike/onion-infrastructure`) @@ -30,8 +30,10 @@ experimental ### Done (cont.) 4a. **Components → Application** — `Fallout.Components` (20 files, single namespace) → `Fallout.Application.Components`. Clean isolated move; full suite green. Shim repointed (see below). Confirmed the generalized rule-table rewriter on an easy target before the hard Tooling move. +4b. **Tool vocabulary → Application; executor → Infrastructure** — the entangled one. `Fallout.Common.Tools.*` → `Fallout.Application.Tools.*`; the `Fallout.Common.Tooling` namespace (shared across `Fallout.Tooling` + `Fallout.Common`, mixing vocabulary and executor in one namespace) splits **per type**: vocabulary + ports + attributes + `ProcessException` → `Fallout.Application.Tooling`; the 13 impure executor types (`ProcessTasks`, `SystemProcessRunner`, `Process2`, `ProcessExtensions`, `ToolExecutor`, `ToolPathResolver`, `NuGet*`/`Npm*`/`Paket*` resolvers, `ToolingExtensions`) → `Fallout.Infrastructure.Tooling`. **Maintainer chose "true homes, defer port fix"**: types land where they belong, accepting `ToolTasks`(App)→`ProcessTasks`(Infra) + resolver I/O as a tracked Application→Infrastructure dependency to be inverted behind ports in a follow-up (no fitness test guards it yet — projects aren't split). 271 files, full suite green (7 cake-migration snapshots re-accepted — namespace-only churn). The prefix-only rewriter grew **per-type overrides** + **multi-assembly rules** + **lost-ancestor usings** + **cref rewriting** (lessons #8–#11). `AbsolutePath`/`Fallout.Common.IO` deferred to step 5 (still `Fallout.Common.IO` here, so no ring crossing yet — they'll need a shared kernel when IO moves). + ### Remaining (this ring) -4b. **Tool vocabulary → Application — entangled, NOT a clean prefix move.** `Fallout.Common.Tools.*` (126 files) inherit/return vocabulary (`ToolTasks`, `ToolOptions`, `Output`, `OutputType`, `Configure`, `IProcess`, `Tool`, `ToolResolver`) that lives in the **`Fallout.Common.Tooling` namespace interleaved with the executor** (`ProcessTasks`, `SystemProcessRunner`, `ToolPathResolver`, package/version resolvers) in the *same namespace + projects* (`Fallout.Tooling`, `Fallout.Common`). Step 3's port only abstracts process *spawning* — `ToolTasks.Run` still calls `ProcessTasks` directly, and tool/package *path resolution* still does I/O from vocabulary. So Tools.* → Application drags the whole Tooling namespace; a true vocab/executor split needs more port extraction (`IToolPathResolver`, package-resolver ports) than exists today. **Decision pending** (see options recorded for the maintainer): move Tools+Tooling together to Application now and carve the executor to Infrastructure later, vs. extract ports first. Also lurking: where pervasive value-types (`AbsolutePath`, `Fallout.Common.IO`) land — Infrastructure would break the Application ring, so they likely belong in the shared kernel. +**Follow-up (port inversion)**: extract `IToolPathResolver` + package/version-resolver ports and route `ToolTasks.Run` through `IProcessRunner` so the Application ring stops calling the Infrastructure executor — clears the tracked violation. 5. **I/O adapters → Infrastructure** — CI host adapters (`Fallout.Common.CI.`) → `Fallout.Infrastructure.CI.*`; `Fallout.Common.IO` + the `Fallout.Utilities.IO/.Net/.Compression/.Globbing` I/O bits → `Fallout.Infrastructure.*`; the `ProcessTasks`/`ToolExecutor` executor side → `Fallout.Infrastructure`; `Fallout.ProjectModel`/`Fallout.Solution` → `Fallout.Infrastructure.*`. ### Design decisions already made (don't relitigate) @@ -57,12 +59,15 @@ These edge cases each cost a build cycle on the Application ring — the general 5. **`using` drop rule**: drop a movable `using` when its namespace is **fully evacuated** (no residual declarations anywhere — would dangle) OR when a moved type was imported from it and no residual type still is. Don't touch pre-existing unused usings of surviving namespaces. 6. **Source files that change namespace** lose same-namespace access to **residual** siblings — add explicit `using`s for the residual movable namespaces they use (e.g. a file leaving `Fallout.Common` still using a `Fallout.Common`-residual helper). 7. **Snapshots churn**: the solution generator + cake-migration Verify snapshots embed namespaces/project names — accept the `.received` after applying. Excluding shim consumer/test projects from `fallout.slnx` also churns the solution-generator snapshot. (Step 4a churned none — project *names* were unchanged, only the namespace.) -8. **Classify moved types by their OUTERMOST enclosing type, not the symbol's own name** (found on 4a): a *nested* type's `ContainingNamespace` is the enclosing namespace, so a `{ns}.{Name}` lookup in the moved-set (top-level names only) misses it → it's misclassified as *residual*, which for a source file adds a `using` of the very namespace the move evacuates (dangling → CS0246). Fix in `IsMovedType`: walk `ContainingType` to the top, key the moved-set check on that. Belt-and-suspenders: never add a residual `using` for a namespace not in `surviving`. +8. **Classify moved types by their OUTERMOST enclosing type, not the symbol's own name** (found on 4a): a *nested* type's `ContainingNamespace` is the enclosing namespace, so a `{ns}.{Name}` lookup in the moved-set (top-level names only) misses it → it's misclassified as *residual*, which for a source file adds a `using` of the very namespace the move evacuates (dangling → CS0246). Fix: walk `ContainingType` to the top, key the moved-set check on that. Belt-and-suspenders: never add a residual `using` for a namespace not in `surviving`. +9. **Per-type overrides split one namespace across rings** (4b): `Fallout.Common.Tooling` holds both vocabulary (→Application) and executor (→Infrastructure). Prefix rules can't split a namespace, so the mapping became per-TYPE: `targetNs(type)` (override map beats prefix rule) replaced the per-namespace `mapNs`. Namespace *declarations* map by the moved types they declare (`MapDecl` — first moved type wins; blocks are single-ring since each type is its own file). +10. **Lost-ancestor usings** (4b — generalises #6 to non-movable parents): a file in `A.B.C` implicitly sees `A.B`/`A` with no `using`. Moving it to `X.Y.Z` severs that — e.g. `Fallout.Common.Tooling.*` files used `EnvironmentInfo`/`NotNull`/`Assert` from the **`Fallout.Common` root** with no import; after the move they need an explicit `using Fallout.Common;`. Fix: for a source file whose namespace changes, add a `using` for each strict ancestor of the old namespace that is (a) not an ancestor of the new namespace and (b) actually used. **This is the one that costs a whole build cycle if missed** (~160 CS0103/CS1061). +11. **Rewrite crefs too** (4b): doc-comment `` names live in structured trivia — neither the prescan nor the rewriter descends there by default, so cref imports dangle and FQN crefs in the *generated* tool wrappers go stale (~7,600 CS1574/CS1580, non-fatal but review-blocking). Fix: prescan with `descendIntoTrivia: true` (so cref-only type refs still get their `using`), and give the `SyntaxFixer` `visitIntoStructuredTrivia: true` (so qualified cref names remap like any other qualified name). ## Next-session checklist 1. (Optional) Merge the stack first: `#343` then `#349` onto `experimental`, then rebase `spike/onion-infrastructure`. -2. ✅ `OnionRewriter` generalized to a `Rule[]` table (done on 4a). ✅ Components → Application (4a, green, committed). -3. **Decide step 4b approach** (Tools+Tooling): move-together-then-carve vs. extract-ports-first; and where `AbsolutePath`/`Fallout.Common.IO` land (likely a shared `Fallout.Kernel`). Then add the rules and dry-run. +2. ✅ `OnionRewriter` generalized — `Rule[]` table + per-type overrides + multi-assembly + lost-ancestor usings + cref rewriting. ✅ 4a Components and ✅ 4b Tools/Tooling (vocab→Application, executor→Infrastructure) committed, green. +3. **Step 5** (CI/IO/ProjectModel/Solution → Infrastructure): add rules; decide where `AbsolutePath`/`Fallout.Common.IO` land (likely a shared `Fallout.Kernel` — Infrastructure would break the Application ring). `Fallout.Common.IO` spans 4 assemblies → one rule per declaring assembly. **Also** schedule the port-inversion follow-up for the 4b tracked violation. 4. Add a `Fallout.Kernel` (or chosen name) for pure helpers; split `Fallout.Utilities` (pure → kernel, I/O → Infrastructure). Note `Fallout.Common.IO` spans 4 assemblies — one rule each. 5. Apply (scope-then-apply); update each `ShimMarker.cs` `fromNamespacePrefix`; accept any Verify `.received`. 6. **Last**: project-FILE renames — `Fallout.Build`→`Fallout.Application` assembly, `Fallout.Tooling` split; then the shim/migration redesign. diff --git a/src/Fallout.Build/Attributes/ArgumentsFromGitCommitMessageAttribute.cs b/src/Fallout.Build/Attributes/ArgumentsFromGitCommitMessageAttribute.cs index b1f3d9d21..ccfe5a466 100644 --- a/src/Fallout.Build/Attributes/ArgumentsFromGitCommitMessageAttribute.cs +++ b/src/Fallout.Build/Attributes/ArgumentsFromGitCommitMessageAttribute.cs @@ -1,12 +1,12 @@ using System; using System.Collections.Generic; using System.Linq; -using Fallout.Common.Tooling; using Fallout.Common.Utilities; using Fallout.Application.CI; using Fallout.Application.Git; using Fallout.Application; using Fallout.Common; +using Fallout.Application.Tooling; namespace Fallout.Application.Execution; diff --git a/src/Fallout.Build/Attributes/ShutdownDotNetAfterServerBuildAttribute.cs b/src/Fallout.Build/Attributes/ShutdownDotNetAfterServerBuildAttribute.cs index 1423e7bff..1f215c4c9 100644 --- a/src/Fallout.Build/Attributes/ShutdownDotNetAfterServerBuildAttribute.cs +++ b/src/Fallout.Build/Attributes/ShutdownDotNetAfterServerBuildAttribute.cs @@ -1,7 +1,7 @@ using System; using System.Linq; -using Fallout.Common.Tooling; using Fallout.Application.Execution; +using Fallout.Application.Tooling; namespace Fallout.Application.CI; diff --git a/src/Fallout.Build/Attributes/VerbosityMappingAttribute.cs b/src/Fallout.Build/Attributes/VerbosityMappingAttribute.cs index 8688b79f5..2b9d302bf 100644 --- a/src/Fallout.Build/Attributes/VerbosityMappingAttribute.cs +++ b/src/Fallout.Build/Attributes/VerbosityMappingAttribute.cs @@ -5,7 +5,6 @@ using Fallout.Application.Execution; using Fallout.Application; using Fallout.Common; -using Fallout.Common.Tooling; namespace Fallout.Application.Tooling; diff --git a/src/Fallout.Build/CICD/InvokeBuildServerConfigurationGenerationAttribute.cs b/src/Fallout.Build/CICD/InvokeBuildServerConfigurationGenerationAttribute.cs index 89b57d480..325704577 100644 --- a/src/Fallout.Build/CICD/InvokeBuildServerConfigurationGenerationAttribute.cs +++ b/src/Fallout.Build/CICD/InvokeBuildServerConfigurationGenerationAttribute.cs @@ -2,11 +2,11 @@ using System.Collections.Generic; using System.Linq; using Fallout.Common.IO; -using Fallout.Common.Tooling; using Serilog; using static Fallout.Application.CI.BuildServerConfigurationGeneration; using Fallout.Application.Execution; using Fallout.Application; +using Fallout.Infrastructure.Tooling; namespace Fallout.Application.CI; diff --git a/src/Fallout.Build/Execution/BuildManager.cs b/src/Fallout.Build/Execution/BuildManager.cs index 053bf20d3..92f29e035 100644 --- a/src/Fallout.Build/Execution/BuildManager.cs +++ b/src/Fallout.Build/Execution/BuildManager.cs @@ -5,13 +5,13 @@ using System.Runtime.CompilerServices; using System.Text; using Microsoft.Extensions.DependencyModel; -using Fallout.Common.Tooling; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; using Fallout.Domain.Execution; using Serilog; using Fallout.Application; using Fallout.Application.Tooling; +using Fallout.Infrastructure.Tooling; #pragma warning disable CA2255 namespace Fallout.Application.Execution; diff --git a/src/Fallout.Build/Execution/ExecutableTarget.cs b/src/Fallout.Build/Execution/ExecutableTarget.cs index 81d4699be..04ee81e6c 100644 --- a/src/Fallout.Build/Execution/ExecutableTarget.cs +++ b/src/Fallout.Build/Execution/ExecutableTarget.cs @@ -4,10 +4,10 @@ using System.Linq; using System.Linq.Expressions; using System.Reflection; -using Fallout.Common.Tooling; using Fallout.Common.Utilities.Collections; using Fallout.Domain.Execution; using Fallout.Application; +using Fallout.Application.Tooling; // ReSharper disable MissingBaseTypeHighlighting namespace Fallout.Application.Execution; diff --git a/src/Fallout.Build/Execution/Extensibility/ToolInjectionAttributeBase.cs b/src/Fallout.Build/Execution/Extensibility/ToolInjectionAttributeBase.cs index a904c0440..ef9d64923 100644 --- a/src/Fallout.Build/Execution/Extensibility/ToolInjectionAttributeBase.cs +++ b/src/Fallout.Build/Execution/Extensibility/ToolInjectionAttributeBase.cs @@ -2,7 +2,6 @@ using System.Linq; using System.Reflection; using Fallout.Application.ValueInjection; -using Fallout.Common.Tooling; namespace Fallout.Application.Tooling; diff --git a/src/Fallout.Build/Execution/ParameterService.cs b/src/Fallout.Build/Execution/ParameterService.cs index 95a35965b..a002bd2a1 100644 --- a/src/Fallout.Build/Execution/ParameterService.cs +++ b/src/Fallout.Build/Execution/ParameterService.cs @@ -3,11 +3,11 @@ using System.Linq; using System.Linq.Expressions; using System.Reflection; -using Fallout.Common.Tooling; using Fallout.Common.Utilities; using Serilog; using static Fallout.Common.Utilities.ReflectionUtility; using Fallout.Common; +using Fallout.Application.Tooling; namespace Fallout.Application; diff --git a/src/Fallout.Build/Execution/TargetDefinition.cs b/src/Fallout.Build/Execution/TargetDefinition.cs index e157e0e0f..a7a62e266 100644 --- a/src/Fallout.Build/Execution/TargetDefinition.cs +++ b/src/Fallout.Build/Execution/TargetDefinition.cs @@ -4,7 +4,6 @@ using System.Linq.Expressions; using System.Reflection; using System.Threading.Tasks; -using Fallout.Common.Tooling; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; using Fallout.Application; diff --git a/src/Fallout.Build/Execution/ToolRequirementService.cs b/src/Fallout.Build/Execution/ToolRequirementService.cs index 408b87729..72ba7f5a0 100644 --- a/src/Fallout.Build/Execution/ToolRequirementService.cs +++ b/src/Fallout.Build/Execution/ToolRequirementService.cs @@ -3,11 +3,12 @@ using System.Linq; using System.Reflection; using Fallout.Common.IO; -using Fallout.Common.Tooling; using Fallout.Common.Utilities; using Serilog; using Fallout.Application; using Fallout.Common; +using Fallout.Application.Tooling; +using Fallout.Infrastructure.Tooling; namespace Fallout.Application.Execution; diff --git a/src/Fallout.Build/FalloutBuild.cs b/src/Fallout.Build/FalloutBuild.cs index 16d90fbee..a84af2fe1 100644 --- a/src/Fallout.Build/FalloutBuild.cs +++ b/src/Fallout.Build/FalloutBuild.cs @@ -5,7 +5,6 @@ using System.Reflection; using Fallout.Domain.Execution; using Fallout.Common.IO; -using Fallout.Common.Tooling; using Fallout.Common.Utilities; using static Fallout.Common.Constants; using Fallout.Application.Execution; @@ -13,6 +12,8 @@ using Fallout.Application.CI; using Fallout.Application.Execution.Extensions; using Fallout.Common; +using Fallout.Infrastructure.Tooling; +using Fallout.Application.Tooling; // ReSharper disable VirtualMemberNeverOverridden.Global diff --git a/src/Fallout.Build/IFalloutBuild.cs b/src/Fallout.Build/IFalloutBuild.cs index d2bf0d88c..7d3dadacd 100644 --- a/src/Fallout.Build/IFalloutBuild.cs +++ b/src/Fallout.Build/IFalloutBuild.cs @@ -3,9 +3,9 @@ using System.Linq; using System.Linq.Expressions; using Fallout.Common.IO; -using Fallout.Common.Tooling; using Fallout.Application.Execution; using Fallout.Application.CI; +using Fallout.Application.Tooling; namespace Fallout.Application; diff --git a/src/Fallout.Build/ITargetDefinition.cs b/src/Fallout.Build/ITargetDefinition.cs index 2b4fcf398..ef517e820 100644 --- a/src/Fallout.Build/ITargetDefinition.cs +++ b/src/Fallout.Build/ITargetDefinition.cs @@ -3,7 +3,7 @@ using System.Linq.Expressions; using System.Runtime.CompilerServices; using System.Threading.Tasks; -using Fallout.Common.Tooling; +using Fallout.Application.Tooling; namespace Fallout.Application; diff --git a/src/Fallout.Build/RequiresAttribute.cs b/src/Fallout.Build/RequiresAttribute.cs index 2c6cbdf9d..965f7251b 100644 --- a/src/Fallout.Build/RequiresAttribute.cs +++ b/src/Fallout.Build/RequiresAttribute.cs @@ -1,8 +1,8 @@ using System; using System.Linq; using System.Reflection; -using Fallout.Common.Tooling; using Fallout.Common; +using Fallout.Application.Tooling; namespace Fallout.Application; diff --git a/src/Fallout.Build/Telemetry/Telemetry.Properties.cs b/src/Fallout.Build/Telemetry/Telemetry.Properties.cs index 7d6fd2734..0f4648ed1 100644 --- a/src/Fallout.Build/Telemetry/Telemetry.Properties.cs +++ b/src/Fallout.Build/Telemetry/Telemetry.Properties.cs @@ -4,7 +4,6 @@ using System.Linq; using System.Reflection; using System.Runtime.InteropServices; -using Fallout.Common.Tooling; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; using Fallout.Application; @@ -12,6 +11,8 @@ using Fallout.Application.ValueInjection; using Fallout.Application.CI; using Fallout.Common; +using Fallout.Application.Tooling; +using Fallout.Infrastructure.Tooling; namespace Fallout.Application.Execution; diff --git a/src/Fallout.Build/Utilities/CredentialStore.cs b/src/Fallout.Build/Utilities/CredentialStore.cs index f38d495de..a98a422a7 100644 --- a/src/Fallout.Build/Utilities/CredentialStore.cs +++ b/src/Fallout.Build/Utilities/CredentialStore.cs @@ -1,9 +1,10 @@ using System; using System.Linq; -using Fallout.Common.Tooling; using Fallout.Application; using Fallout.Common; using Fallout.Common.Utilities; +using Fallout.Infrastructure.Tooling; +using Fallout.Application.Tooling; namespace Fallout.Application.Utilities; diff --git a/src/Fallout.Build/Utilities/SchemaUtility.cs b/src/Fallout.Build/Utilities/SchemaUtility.cs index 09449610c..a55942bfe 100644 --- a/src/Fallout.Build/Utilities/SchemaUtility.cs +++ b/src/Fallout.Build/Utilities/SchemaUtility.cs @@ -8,13 +8,13 @@ using System.Text.Json; using System.Text.Json.Nodes; using Fallout.Common.IO; -using Fallout.Common.Tooling; using Fallout.Common.Utilities; using static Fallout.Common.Constants; using Fallout.Application; using Fallout.Application.ValueInjection; using Fallout.Common; using Fallout.Application.Execution; +using Fallout.Application.Tooling; namespace Fallout.Application.Execution; diff --git a/src/Fallout.Cli/Program.AddPackage.cs b/src/Fallout.Cli/Program.AddPackage.cs index 816e859e1..2c02fb17a 100644 --- a/src/Fallout.Cli/Program.AddPackage.cs +++ b/src/Fallout.Cli/Program.AddPackage.cs @@ -3,10 +3,10 @@ using Fallout.Common; using Fallout.Common.IO; using Fallout.Solutions; -using Fallout.Common.Tooling; -using Fallout.Common.Tools.DotNet; using Fallout.Application.Execution; using Fallout.Application; +using Fallout.Infrastructure.Tooling; +using Fallout.Application.Tools.DotNet; namespace Fallout.Cli; diff --git a/src/Fallout.Cli/Program.Cake.cs b/src/Fallout.Cli/Program.Cake.cs index 728e8a33f..e219417f7 100644 --- a/src/Fallout.Cli/Program.Cake.cs +++ b/src/Fallout.Cli/Program.Cake.cs @@ -6,13 +6,13 @@ using Fallout.Common; using Fallout.Common.IO; using Fallout.Solutions; -using Fallout.Common.Tooling; using Fallout.Common.Utilities; using Fallout.Cli.Rewriting.Cake; using static Fallout.Common.Constants; using static Fallout.Common.EnvironmentInfo; using Fallout.Application.Execution; using Fallout.Application; +using Fallout.Infrastructure.Tooling; namespace Fallout.Cli; diff --git a/src/Fallout.Cli/Program.Setup.cs b/src/Fallout.Cli/Program.Setup.cs index 5c662cd26..d9bf028d7 100644 --- a/src/Fallout.Cli/Program.Setup.cs +++ b/src/Fallout.Cli/Program.Setup.cs @@ -6,16 +6,16 @@ using System.Text; using Fallout.Common; using Fallout.Common.IO; -using Fallout.Common.Tooling; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; using Spectre.Console; using static Fallout.Common.Constants; using static Fallout.Common.EnvironmentInfo; -using static Fallout.Common.Tooling.ProcessTasks; +using static Fallout.Infrastructure.Tooling.ProcessTasks; using static Fallout.Common.Utilities.TemplateUtility; using Fallout.Application.Execution; using Fallout.Application; +using Fallout.Infrastructure.Tooling; namespace Fallout.Cli; diff --git a/src/Fallout.Cli/Program.Trigger.cs b/src/Fallout.Cli/Program.Trigger.cs index 3b4154372..9edee1a8e 100644 --- a/src/Fallout.Cli/Program.Trigger.cs +++ b/src/Fallout.Cli/Program.Trigger.cs @@ -2,9 +2,9 @@ using System.Linq; using Fallout.Common; using Fallout.Common.IO; -using Fallout.Common.Tools.Git; using Fallout.Common.Utilities; using Fallout.Application.Git; +using Fallout.Application.Tools.Git; namespace Fallout.Cli; diff --git a/src/Fallout.Cli/Program.Update.cs b/src/Fallout.Cli/Program.Update.cs index 1a36e0e17..61cf87ad1 100644 --- a/src/Fallout.Cli/Program.Update.cs +++ b/src/Fallout.Cli/Program.Update.cs @@ -5,11 +5,11 @@ using Fallout.Common; using Fallout.Common.IO; using Fallout.Solutions; -using Fallout.Common.Tools.DotNet; using Fallout.Common.Utilities; using static Fallout.Common.Constants; using Fallout.Application.Execution; using Fallout.Application; +using Fallout.Application.Tools.DotNet; namespace Fallout.Cli; diff --git a/src/Fallout.Cli/ProjectUpdater.cs b/src/Fallout.Cli/ProjectUpdater.cs index 685ac323f..c379a7d53 100644 --- a/src/Fallout.Cli/ProjectUpdater.cs +++ b/src/Fallout.Cli/ProjectUpdater.cs @@ -1,10 +1,10 @@ -using System; +using System; using System.Linq; using NuGet.Versioning; using Fallout.Common; using Fallout.Solutions; -using Fallout.Common.Tooling; using Fallout.Common.Utilities; +using Fallout.Infrastructure.Tooling; namespace Fallout.Cli; diff --git a/src/Fallout.Cli/Rewriting/Cake/ClassRewriter.cs b/src/Fallout.Cli/Rewriting/Cake/ClassRewriter.cs index f7490da4f..a5ef77c6b 100644 --- a/src/Fallout.Cli/Rewriting/Cake/ClassRewriter.cs +++ b/src/Fallout.Cli/Rewriting/Cake/ClassRewriter.cs @@ -5,12 +5,12 @@ using Microsoft.CodeAnalysis.CSharp.Syntax; using Fallout.Common; using Fallout.Common.IO; -using Fallout.Common.Tools.DotNet; -using Fallout.Common.Tools.MSBuild; -using Fallout.Common.Tools.NuGet; -using Fallout.Common.Tools.SignTool; using static Microsoft.CodeAnalysis.CSharp.SyntaxFactory; using Fallout.Application; +using Fallout.Application.Tools.DotNet; +using Fallout.Application.Tools.MSBuild; +using Fallout.Application.Tools.SignTool; +using Fallout.Application.Tools.NuGet; namespace Fallout.Cli.Rewriting.Cake; diff --git a/src/Fallout.Cli/Rewriting/Cake/IdentifierNameRewriter.cs b/src/Fallout.Cli/Rewriting/Cake/IdentifierNameRewriter.cs index 025299a64..b45832815 100644 --- a/src/Fallout.Cli/Rewriting/Cake/IdentifierNameRewriter.cs +++ b/src/Fallout.Cli/Rewriting/Cake/IdentifierNameRewriter.cs @@ -5,8 +5,8 @@ using Microsoft.CodeAnalysis.CSharp; using Microsoft.CodeAnalysis.CSharp.Syntax; using Fallout.Common; -using Fallout.Common.Tools.DotNet; -using Fallout.Common.Tools.MSBuild; +using Fallout.Application.Tools.DotNet; +using Fallout.Application.Tools.MSBuild; namespace Fallout.Cli.Rewriting.Cake; diff --git a/src/Fallout.Cli/Rewriting/Cake/ToolInvocationRewriter.cs b/src/Fallout.Cli/Rewriting/Cake/ToolInvocationRewriter.cs index 11801fc82..84293e038 100644 --- a/src/Fallout.Cli/Rewriting/Cake/ToolInvocationRewriter.cs +++ b/src/Fallout.Cli/Rewriting/Cake/ToolInvocationRewriter.cs @@ -5,12 +5,12 @@ using Microsoft.CodeAnalysis.CSharp; using Microsoft.CodeAnalysis.CSharp.Syntax; using Fallout.Common; -using Fallout.Common.Tools.DotNet; -using Fallout.Common.Tools.MSBuild; -using Fallout.Common.Tools.NuGet; -using Fallout.Common.Tools.SignTool; using Fallout.Common.Utilities.Collections; using static Microsoft.CodeAnalysis.CSharp.SyntaxFactory; +using Fallout.Application.Tools.DotNet; +using Fallout.Application.Tools.SignTool; +using Fallout.Application.Tools.NuGet; +using Fallout.Application.Tools.MSBuild; namespace Fallout.Cli.Rewriting.Cake; diff --git a/src/Fallout.Common/Attributes/CheckPathEnvironmentVariableAttribute.cs b/src/Fallout.Common/Attributes/CheckPathEnvironmentVariableAttribute.cs index 610133e07..cd8b2ded8 100644 --- a/src/Fallout.Common/Attributes/CheckPathEnvironmentVariableAttribute.cs +++ b/src/Fallout.Common/Attributes/CheckPathEnvironmentVariableAttribute.cs @@ -1,8 +1,8 @@ using System; using System.Collections.Generic; using System.Linq; -using Fallout.Common.Tooling; using Fallout.Application.Execution; +using Fallout.Infrastructure.Tooling; namespace Fallout.Common.Execution; diff --git a/src/Fallout.Common/Attributes/HandleSingleFileExecutionAttribute.cs b/src/Fallout.Common/Attributes/HandleSingleFileExecutionAttribute.cs index e28185e03..eaf47a6ac 100644 --- a/src/Fallout.Common/Attributes/HandleSingleFileExecutionAttribute.cs +++ b/src/Fallout.Common/Attributes/HandleSingleFileExecutionAttribute.cs @@ -7,10 +7,10 @@ using ICSharpCode.SharpZipLib.Zip; using NuGet.Packaging; using Fallout.Common.IO; -using Fallout.Common.Tooling; using Fallout.Common.Utilities; using Serilog; using Fallout.Application.Execution; +using Fallout.Infrastructure.Tooling; namespace Fallout.Common.Execution; diff --git a/src/Fallout.Common/Attributes/LatestGitHubReleaseAttribute.cs b/src/Fallout.Common/Attributes/LatestGitHubReleaseAttribute.cs index 7bfa03c63..fdff354d3 100644 --- a/src/Fallout.Common/Attributes/LatestGitHubReleaseAttribute.cs +++ b/src/Fallout.Common/Attributes/LatestGitHubReleaseAttribute.cs @@ -3,12 +3,13 @@ using System.Reflection; using System.Text.RegularExpressions; using NuGet.Versioning; -using Fallout.Common.Tools.GitHub; using Fallout.Common.Utilities; using Fallout.Application.ValueInjection; using Fallout.Application.Git; +using Fallout.Application.Tools.GitHub; +using Fallout.Common; -namespace Fallout.Common.Tooling; +namespace Fallout.Application.Tooling; public class LatestGitHubReleaseAttribute : ValueInjectionAttributeBase { diff --git a/src/Fallout.Common/Attributes/LatestMavenVersionAttribute.cs b/src/Fallout.Common/Attributes/LatestMavenVersionAttribute.cs index e9e55ba4c..ec798ff67 100644 --- a/src/Fallout.Common/Attributes/LatestMavenVersionAttribute.cs +++ b/src/Fallout.Common/Attributes/LatestMavenVersionAttribute.cs @@ -6,7 +6,7 @@ using Fallout.Common.Utilities; using Fallout.Application.ValueInjection; -namespace Fallout.Common.Tooling; +namespace Fallout.Application.Tooling; public class LatestMavenVersionAttribute : ValueInjectionAttributeBase { diff --git a/src/Fallout.Common/Attributes/LatestMyGetVersionAttribute.cs b/src/Fallout.Common/Attributes/LatestMyGetVersionAttribute.cs index 67935f34d..92ff7218d 100644 --- a/src/Fallout.Common/Attributes/LatestMyGetVersionAttribute.cs +++ b/src/Fallout.Common/Attributes/LatestMyGetVersionAttribute.cs @@ -5,7 +5,7 @@ using Fallout.Common.Utilities; using Fallout.Application.ValueInjection; -namespace Fallout.Common.Tooling; +namespace Fallout.Application.Tooling; public class LatestMyGetVersionAttribute : ValueInjectionAttributeBase { diff --git a/src/Fallout.Common/Attributes/LatestNpmVersionAttribute.cs b/src/Fallout.Common/Attributes/LatestNpmVersionAttribute.cs index da5eca413..4bc20d04f 100644 --- a/src/Fallout.Common/Attributes/LatestNpmVersionAttribute.cs +++ b/src/Fallout.Common/Attributes/LatestNpmVersionAttribute.cs @@ -4,8 +4,9 @@ using NuGet.Versioning; using Fallout.Common.Utilities; using Fallout.Application.ValueInjection; +using Fallout.Infrastructure.Tooling; -namespace Fallout.Common.Tooling; +namespace Fallout.Application.Tooling; public class LatestNpmVersionAttribute : ValueInjectionAttributeBase { diff --git a/src/Fallout.Common/Attributes/LatestNuGetVersionAttribute.cs b/src/Fallout.Common/Attributes/LatestNuGetVersionAttribute.cs index fa0ad9f06..985468c84 100644 --- a/src/Fallout.Common/Attributes/LatestNuGetVersionAttribute.cs +++ b/src/Fallout.Common/Attributes/LatestNuGetVersionAttribute.cs @@ -4,8 +4,9 @@ using NuGet.Versioning; using Fallout.Common.Utilities; using Fallout.Application.ValueInjection; +using Fallout.Infrastructure.Tooling; -namespace Fallout.Common.Tooling; +namespace Fallout.Application.Tooling; public class LatestNuGetVersionAttribute : ValueInjectionAttributeBase { diff --git a/src/Fallout.Common/Attributes/LocalPathAttribute.cs b/src/Fallout.Common/Attributes/LocalPathAttribute.cs index 6879d4577..a027e24fb 100644 --- a/src/Fallout.Common/Attributes/LocalPathAttribute.cs +++ b/src/Fallout.Common/Attributes/LocalPathAttribute.cs @@ -4,8 +4,9 @@ using System.Reflection; using Fallout.Common.IO; using Fallout.Application.Tooling; +using Fallout.Common; -namespace Fallout.Common.Tooling; +namespace Fallout.Application.Tooling; /// /// Injects a delegate for process execution. The path relative to the root directory is passed as constructor argument. diff --git a/src/Fallout.Common/Attributes/NpmPackageAttribute.cs b/src/Fallout.Common/Attributes/NpmPackageAttribute.cs index 76e6a2a85..4ccb40dde 100644 --- a/src/Fallout.Common/Attributes/NpmPackageAttribute.cs +++ b/src/Fallout.Common/Attributes/NpmPackageAttribute.cs @@ -3,7 +3,7 @@ using System.Reflection; using Fallout.Application.Tooling; -namespace Fallout.Common.Tooling; +namespace Fallout.Application.Tooling; public class NpmPackageAttribute : ToolInjectionAttributeBase { diff --git a/src/Fallout.Common/Attributes/NuGetPackageAttribute.cs b/src/Fallout.Common/Attributes/NuGetPackageAttribute.cs index 93c7b027c..712fd5be5 100644 --- a/src/Fallout.Common/Attributes/NuGetPackageAttribute.cs +++ b/src/Fallout.Common/Attributes/NuGetPackageAttribute.cs @@ -2,8 +2,9 @@ using System.Linq; using System.Reflection; using Fallout.Application.Tooling; +using Fallout.Common; -namespace Fallout.Common.Tooling; +namespace Fallout.Application.Tooling; /// /// Injects a delegate for process execution. The path to the executable is resolved in the following order: diff --git a/src/Fallout.Common/Attributes/PathVariableAttribute.cs b/src/Fallout.Common/Attributes/PathVariableAttribute.cs index 7de8915b5..5db2f6707 100644 --- a/src/Fallout.Common/Attributes/PathVariableAttribute.cs +++ b/src/Fallout.Common/Attributes/PathVariableAttribute.cs @@ -3,7 +3,7 @@ using System.Reflection; using Fallout.Application.Tooling; -namespace Fallout.Common.Tooling; +namespace Fallout.Application.Tooling; /// /// Injects a delegate for process execution. The executable name is derived from the member name or can be diff --git a/src/Fallout.Common/CI/AppVeyor/AppVeyor.cs b/src/Fallout.Common/CI/AppVeyor/AppVeyor.cs index 129c2679a..cf1ea83a0 100644 --- a/src/Fallout.Common/CI/AppVeyor/AppVeyor.cs +++ b/src/Fallout.Common/CI/AppVeyor/AppVeyor.cs @@ -2,10 +2,10 @@ using System.Diagnostics.CodeAnalysis; using System.IO; using System.Linq; -using Fallout.Common.Tooling; using Fallout.Common.Utilities; using Fallout.Application; using Fallout.Application.CI; +using Fallout.Application.Tooling; namespace Fallout.Common.CI.AppVeyor; // diff --git a/src/Fallout.Common/CI/AppVeyor/AppVeyorImage.cs b/src/Fallout.Common/CI/AppVeyor/AppVeyorImage.cs index b870f7c75..3033ce36e 100644 --- a/src/Fallout.Common/CI/AppVeyor/AppVeyorImage.cs +++ b/src/Fallout.Common/CI/AppVeyor/AppVeyorImage.cs @@ -1,6 +1,6 @@ using System; using System.Linq; -using Fallout.Common.Tooling; +using Fallout.Application.Tooling; namespace Fallout.Common.CI.AppVeyor; diff --git a/src/Fallout.Common/CI/AppVeyor/Configuration/AppVeyorConfiguration.cs b/src/Fallout.Common/CI/AppVeyor/Configuration/AppVeyorConfiguration.cs index 8744d042a..210e685e4 100644 --- a/src/Fallout.Common/CI/AppVeyor/Configuration/AppVeyorConfiguration.cs +++ b/src/Fallout.Common/CI/AppVeyor/Configuration/AppVeyorConfiguration.cs @@ -1,11 +1,11 @@ using System; using System.Collections.Generic; using System.Linq; -using Fallout.Common.Tooling; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; using Fallout.Application.CI; using Fallout.Application.Utilities; +using Fallout.Application.Tooling; namespace Fallout.Common.CI.AppVeyor.Configuration; diff --git a/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesAttribute.cs b/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesAttribute.cs index 2c5f41baf..38d6957a0 100644 --- a/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesAttribute.cs +++ b/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesAttribute.cs @@ -4,13 +4,13 @@ using System.Linq; using Fallout.Common.CI.AzurePipelines.Configuration; using Fallout.Common.IO; -using Fallout.Common.Tooling; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; using static Fallout.Common.IO.PathConstruction; using Fallout.Application.CI; using Fallout.Application.Utilities; using Fallout.Application.Execution; +using Fallout.Application.Tooling; namespace Fallout.Common.CI.AzurePipelines; diff --git a/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesImage.cs b/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesImage.cs index f03f9b282..bb42aa7df 100644 --- a/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesImage.cs +++ b/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesImage.cs @@ -1,6 +1,6 @@ using System; using System.Linq; -using Fallout.Common.Tooling; +using Fallout.Application.Tooling; namespace Fallout.Common.CI.AzurePipelines; diff --git a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesCacheStep.cs b/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesCacheStep.cs index 8a78d0384..28d9b2674 100644 --- a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesCacheStep.cs +++ b/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesCacheStep.cs @@ -1,8 +1,8 @@ using System; using System.Linq; using Fallout.Common.Utilities; -using Fallout.Common.Tooling; using Fallout.Application.Utilities; +using Fallout.Application.Tooling; namespace Fallout.Common.CI.AzurePipelines.Configuration; diff --git a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesJob.cs b/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesJob.cs index e1f19fe3b..75bb288a0 100644 --- a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesJob.cs +++ b/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesJob.cs @@ -1,10 +1,10 @@ using System; using System.Linq; -using Fallout.Common.Tooling; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; using Fallout.Application.CI; using Fallout.Application.Utilities; +using Fallout.Application.Tooling; namespace Fallout.Common.CI.AzurePipelines.Configuration; diff --git a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesStage.cs b/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesStage.cs index 0fee503b5..7f6c181cd 100644 --- a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesStage.cs +++ b/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesStage.cs @@ -1,10 +1,10 @@ using System; using System.Linq; -using Fallout.Common.Tooling; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; using Fallout.Application.CI; using Fallout.Application.Utilities; +using Fallout.Application.Tooling; namespace Fallout.Common.CI.AzurePipelines.Configuration; diff --git a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsConfiguration.cs b/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsConfiguration.cs index f616c554b..c0e632f00 100644 --- a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsConfiguration.cs +++ b/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsConfiguration.cs @@ -1,9 +1,9 @@ using System.Linq; -using Fallout.Common.Tooling; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; using Fallout.Application.CI; using Fallout.Application.Utilities; +using Fallout.Application.Tooling; namespace Fallout.Common.CI.GitHubActions.Configuration; diff --git a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsJob.cs b/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsJob.cs index 500ecb15a..08d817a15 100644 --- a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsJob.cs +++ b/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsJob.cs @@ -1,10 +1,10 @@ using System; using System.Linq; -using Fallout.Common.Tooling; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; using Fallout.Application.CI; using Fallout.Application.Utilities; +using Fallout.Application.Tooling; namespace Fallout.Common.CI.GitHubActions.Configuration; diff --git a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsVcsTrigger.cs b/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsVcsTrigger.cs index 5d6319fbe..268e04b26 100644 --- a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsVcsTrigger.cs +++ b/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsVcsTrigger.cs @@ -1,9 +1,9 @@ using System; using System.Linq; -using Fallout.Common.Tooling; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; using Fallout.Application.Utilities; +using Fallout.Application.Tooling; namespace Fallout.Common.CI.GitHubActions.Configuration; diff --git a/src/Fallout.Common/CI/GitHubActions/GitHubActions.cs b/src/Fallout.Common/CI/GitHubActions/GitHubActions.cs index 026002121..abd748dc9 100644 --- a/src/Fallout.Common/CI/GitHubActions/GitHubActions.cs +++ b/src/Fallout.Common/CI/GitHubActions/GitHubActions.cs @@ -8,10 +8,10 @@ using System.Text; using System.Text.Json.Nodes; using Fallout.Common.IO; -using Fallout.Common.Tooling; using Fallout.Common.Utilities; using Fallout.Application; using Fallout.Application.CI; +using Fallout.Application.Tooling; namespace Fallout.Common.CI.GitHubActions; diff --git a/src/Fallout.Common/CI/GitHubActions/GitHubActionsAttribute.cs b/src/Fallout.Common/CI/GitHubActions/GitHubActionsAttribute.cs index f503997aa..39e6c4c1c 100644 --- a/src/Fallout.Common/CI/GitHubActions/GitHubActionsAttribute.cs +++ b/src/Fallout.Common/CI/GitHubActions/GitHubActionsAttribute.cs @@ -4,12 +4,12 @@ using System.Linq; using Fallout.Common.CI.GitHubActions.Configuration; using Fallout.Common.IO; -using Fallout.Common.Tooling; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; using Fallout.Application.CI; using Fallout.Application.Utilities; using Fallout.Application.Execution; +using Fallout.Application.Tooling; namespace Fallout.Common.CI.GitHubActions; diff --git a/src/Fallout.Common/CI/GitHubActions/GitHubActionsImage.cs b/src/Fallout.Common/CI/GitHubActions/GitHubActionsImage.cs index f2e38554e..9e6c8011d 100644 --- a/src/Fallout.Common/CI/GitHubActions/GitHubActionsImage.cs +++ b/src/Fallout.Common/CI/GitHubActions/GitHubActionsImage.cs @@ -1,6 +1,6 @@ -using System; +using System; using System.Linq; -using Fallout.Common.Tooling; +using Fallout.Application.Tooling; namespace Fallout.Common.CI.GitHubActions; diff --git a/src/Fallout.Common/CI/GitHubActions/GitHubActionsPermissions.cs b/src/Fallout.Common/CI/GitHubActions/GitHubActionsPermissions.cs index a69838d35..54c48b83b 100644 --- a/src/Fallout.Common/CI/GitHubActions/GitHubActionsPermissions.cs +++ b/src/Fallout.Common/CI/GitHubActions/GitHubActionsPermissions.cs @@ -1,6 +1,6 @@ using System; using System.Linq; -using Fallout.Common.Tooling; +using Fallout.Application.Tooling; namespace Fallout.Common.CI.GitHubActions; diff --git a/src/Fallout.Common/CI/GitHubActions/GitHubActionsTrigger.cs b/src/Fallout.Common/CI/GitHubActions/GitHubActionsTrigger.cs index f96098337..b1e8c2e8b 100644 --- a/src/Fallout.Common/CI/GitHubActions/GitHubActionsTrigger.cs +++ b/src/Fallout.Common/CI/GitHubActions/GitHubActionsTrigger.cs @@ -1,6 +1,6 @@ using System; using System.Linq; -using Fallout.Common.Tooling; +using Fallout.Application.Tooling; namespace Fallout.Common.CI.GitHubActions; diff --git a/src/Fallout.Common/CI/TeamCity/DotNetBuildSettingsExtensions.cs b/src/Fallout.Common/CI/TeamCity/DotNetBuildSettingsExtensions.cs index 1298e4cca..6aa6d2b63 100644 --- a/src/Fallout.Common/CI/TeamCity/DotNetBuildSettingsExtensions.cs +++ b/src/Fallout.Common/CI/TeamCity/DotNetBuildSettingsExtensions.cs @@ -1,7 +1,7 @@ using System; using System.Linq; -using Fallout.Common.Tooling; -using Fallout.Common.Tools.DotNet; +using Fallout.Application.Tools.DotNet; +using Fallout.Infrastructure.Tooling; namespace Fallout.Common.CI.TeamCity; diff --git a/src/Fallout.Common/CI/TeamCity/DotNetTestSettingsExtensions.cs b/src/Fallout.Common/CI/TeamCity/DotNetTestSettingsExtensions.cs index ec8653064..20517ec49 100644 --- a/src/Fallout.Common/CI/TeamCity/DotNetTestSettingsExtensions.cs +++ b/src/Fallout.Common/CI/TeamCity/DotNetTestSettingsExtensions.cs @@ -1,7 +1,7 @@ -using System; +using System; using System.Linq; -using Fallout.Common.Tooling; -using Fallout.Common.Tools.DotNet; +using Fallout.Application.Tools.DotNet; +using Fallout.Infrastructure.Tooling; namespace Fallout.Common.CI.TeamCity; diff --git a/src/Fallout.Common/CI/TeamCity/MSBuildSettingsExtensions.cs b/src/Fallout.Common/CI/TeamCity/MSBuildSettingsExtensions.cs index 0dcd951b0..1ae9ddc13 100644 --- a/src/Fallout.Common/CI/TeamCity/MSBuildSettingsExtensions.cs +++ b/src/Fallout.Common/CI/TeamCity/MSBuildSettingsExtensions.cs @@ -1,6 +1,6 @@ using System; using System.Linq; -using Fallout.Common.Tools.MSBuild; +using Fallout.Application.Tools.MSBuild; namespace Fallout.Common.CI.TeamCity; diff --git a/src/Fallout.Common/CI/TeamCity/TeamCity.cs b/src/Fallout.Common/CI/TeamCity/TeamCity.cs index 058294755..8dd04939d 100644 --- a/src/Fallout.Common/CI/TeamCity/TeamCity.cs +++ b/src/Fallout.Common/CI/TeamCity/TeamCity.cs @@ -5,12 +5,12 @@ using System.Linq; using System.Text; using Fallout.Common.IO; -using Fallout.Common.Tools.DotCover; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; using Serilog; using Fallout.Application; using Fallout.Application.CI; +using Fallout.Application.Tools.DotCover; namespace Fallout.Common.CI.TeamCity; diff --git a/src/Fallout.Common/ChangeLog/ChangeLogTasks.cs b/src/Fallout.Common/ChangeLog/ChangeLogTasks.cs index c44b88ad0..71991ce69 100644 --- a/src/Fallout.Common/ChangeLog/ChangeLogTasks.cs +++ b/src/Fallout.Common/ChangeLog/ChangeLogTasks.cs @@ -4,11 +4,11 @@ using System.Linq; using NuGet.Versioning; using Fallout.Common.IO; -using Fallout.Common.Tools.GitHub; using Fallout.Common.Utilities; using Serilog; using Fallout.Application.Git; using Fallout.Application; +using Fallout.Application.Tools.GitHub; // ReSharper disable ArgumentsStyleLiteral namespace Fallout.Common.ChangeLog; diff --git a/src/Fallout.Common/IO/HttpTasks.cs b/src/Fallout.Common/IO/HttpTasks.cs index 009204f01..d99dfc879 100644 --- a/src/Fallout.Common/IO/HttpTasks.cs +++ b/src/Fallout.Common/IO/HttpTasks.cs @@ -1,10 +1,10 @@ -using System; +using System; using System.IO; using System.Linq; using System.Net.Http; using System.Net.Http.Headers; using System.Threading.Tasks; -using Fallout.Common.Tooling; +using Fallout.Application.Tooling; namespace Fallout.Common.IO; diff --git a/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVault.cs b/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVault.cs index 83f1e81ab..9dab14e30 100644 --- a/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVault.cs +++ b/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVault.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Linq; using System.Threading.Tasks; using Azure.Identity; @@ -6,8 +6,9 @@ using Azure.Security.KeyVault.Keys; using Azure.Security.KeyVault.Secrets; using Fallout.Common.Utilities; +using Fallout.Common; -namespace Fallout.Common.Tools.AzureKeyVault +namespace Fallout.Application.Tools.AzureKeyVault { public partial class AzureKeyVaultConfiguration { diff --git a/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultAttribute.cs b/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultAttribute.cs index 13ad2ab0a..b71f70ebf 100644 --- a/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultAttribute.cs +++ b/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultAttribute.cs @@ -1,8 +1,8 @@ -using System; +using System; using System.Linq; using System.Reflection; -namespace Fallout.Common.Tools.AzureKeyVault +namespace Fallout.Application.Tools.AzureKeyVault { /// Attribute to obtain the KeyVault defined by to retrieve multiple items. public class AzureKeyVaultAttribute : AzureKeyVaultAttributeBase diff --git a/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultAttributeBase.cs b/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultAttributeBase.cs index 63d85126e..e4eac4482 100644 --- a/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultAttributeBase.cs +++ b/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultAttributeBase.cs @@ -3,8 +3,9 @@ using System.Reflection; using Fallout.Application; using Fallout.Application.ValueInjection; +using Fallout.Common; -namespace Fallout.Common.Tools.AzureKeyVault +namespace Fallout.Application.Tools.AzureKeyVault { public abstract class AzureKeyVaultAttributeBase : ParameterAttribute { diff --git a/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultCertificate.cs b/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultCertificate.cs index 1e99a96ed..d6ca73888 100644 --- a/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultCertificate.cs +++ b/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultCertificate.cs @@ -1,7 +1,7 @@ -using System; +using System; using System.Linq; -namespace Fallout.Common.Tools.AzureKeyVault +namespace Fallout.Application.Tools.AzureKeyVault { public class AzureKeyVaultCertificate { diff --git a/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultCertificateAttribute.cs b/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultCertificateAttribute.cs index a0b5258f3..34d676c22 100644 --- a/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultCertificateAttribute.cs +++ b/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultCertificateAttribute.cs @@ -1,8 +1,8 @@ -using System; +using System; using System.Linq; using System.Reflection; -namespace Fallout.Common.Tools.AzureKeyVault +namespace Fallout.Application.Tools.AzureKeyVault { /// Attribute to obtain a certificates from from the Azure KeyVault defined by . public class AzureKeyVaultCertificateAttribute : AzureKeyVaultAttributeBase diff --git a/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultConfigurationAttribute.cs b/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultConfigurationAttribute.cs index 03f5f869c..a1fe208f1 100644 --- a/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultConfigurationAttribute.cs +++ b/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultConfigurationAttribute.cs @@ -4,7 +4,7 @@ using Serilog; using Fallout.Application.ValueInjection; -namespace Fallout.Common.Tools.AzureKeyVault +namespace Fallout.Application.Tools.AzureKeyVault { /// Defines where the KeyVault login details can be found. public class AzureKeyVaultConfigurationAttribute : ValueInjectionAttributeBase diff --git a/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultKey.cs b/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultKey.cs index d0da5e314..307ec5a4a 100644 --- a/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultKey.cs +++ b/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultKey.cs @@ -1,8 +1,8 @@ -using System; +using System; using System.Linq; using Azure.Security.KeyVault.Keys; -namespace Fallout.Common.Tools.AzureKeyVault +namespace Fallout.Application.Tools.AzureKeyVault { public class AzureKeyVaultKey { diff --git a/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultKeyAttribute.cs b/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultKeyAttribute.cs index d9e2f3cd6..5322c05a3 100644 --- a/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultKeyAttribute.cs +++ b/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultKeyAttribute.cs @@ -1,8 +1,8 @@ -using System; +using System; using System.Linq; using System.Reflection; -namespace Fallout.Common.Tools.AzureKeyVault +namespace Fallout.Application.Tools.AzureKeyVault { /// Attribute to obtain a key from from the Azure KeyVault defined by . public class AzureKeyVaultKeyAttribute : AzureKeyVaultAttributeBase diff --git a/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultSecretAttribute.cs b/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultSecretAttribute.cs index 55985ab7d..f5fcfccc5 100644 --- a/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultSecretAttribute.cs +++ b/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultSecretAttribute.cs @@ -3,7 +3,7 @@ using System.Reflection; using Fallout.Application; -namespace Fallout.Common.Tools.AzureKeyVault +namespace Fallout.Application.Tools.AzureKeyVault { /// Attribute to obtain a secret from the Azure KeyVault defined by . public class AzureKeyVaultSecretAttribute : AzureKeyVaultAttributeBase diff --git a/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultTasks.cs b/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultTasks.cs index b4a6bfb35..371912abd 100644 --- a/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultTasks.cs +++ b/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultTasks.cs @@ -1,7 +1,8 @@ -using System; +using System; using System.Linq; +using Fallout.Common; -namespace Fallout.Common.Tools.AzureKeyVault +namespace Fallout.Application.Tools.AzureKeyVault { public static class AzureKeyVaultTasks { diff --git a/src/Fallout.Common/Tools/AzureSignTool/AzureSignTool.Generated.cs b/src/Fallout.Common/Tools/AzureSignTool/AzureSignTool.Generated.cs index 030be4657..9857b7625 100644 --- a/src/Fallout.Common/Tools/AzureSignTool/AzureSignTool.Generated.cs +++ b/src/Fallout.Common/Tools/AzureSignTool/AzureSignTool.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.AzureSignTool; +namespace Fallout.Application.Tools.AzureSignTool; ///

Azure Sign Tool is similar to signtool in the Windows SDK, with the major difference being that it uses Azure Key Vault for performing the signing process. The usage is like signtool, except with a limited set of options for signing and options for authenticating to Azure Key Vault.

For more details, visit the official website.

[ExcludeFromCodeCoverage] @@ -26,13 +26,13 @@ public partial class AzureSignToolTasks : ToolTasks, IRequireNuGetPackage ///

Azure Sign Tool is similar to signtool in the Windows SDK, with the major difference being that it uses Azure Key Vault for performing the signing process. The usage is like signtool, except with a limited set of options for signing and options for authenticating to Azure Key Vault.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <files> via
  • --additional-certificates via
  • --azure-key-vault-accesstoken via
  • --azure-key-vault-certificate via
  • --azure-key-vault-client-id via
  • --azure-key-vault-client-secret via
  • --azure-key-vault-managed-identity via
  • --azure-key-vault-tenant-id via
  • --azure-key-vault-url via
  • --continue-on-error via
  • --description via
  • --description-url via
  • --file-digest via
  • --input-file-list via
  • --max-degree-of-parallelism via
  • --no-page-hashing via
  • --page-hashing via
  • --quiet via
  • --skip-signed via
  • --timestamp-authenticode via
  • --timestamp-digest via
  • --timestamp-rfc3161 via
  • --verbose via
public static IReadOnlyCollection AzureSignTool(AzureSignToolSettings options = null) => new AzureSignToolTasks().Run(options); - /// + /// public static IReadOnlyCollection AzureSignTool(Configure configurator) => new AzureSignToolTasks().Run(configurator.Invoke(new AzureSignToolSettings())); - /// + /// public static IEnumerable<(AzureSignToolSettings Settings, IReadOnlyCollection Output)> AzureSignTool(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(AzureSignTool, degreeOfParallelism, completeOnFailure); } #region AzureSignToolSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(AzureSignToolTasks), Command = nameof(AzureSignToolTasks.AzureSignTool), Arguments = "sign")] public partial class AzureSignToolSettings : ToolOptions @@ -86,7 +86,7 @@ public partial class AzureSignToolSettings : ToolOptions } #endregion #region AzureSignToolSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class AzureSignToolSettingsExtensions { diff --git a/src/Fallout.Common/Tools/BenchmarkDotNet/BenchmarkDotNet.Generated.cs b/src/Fallout.Common/Tools/BenchmarkDotNet/BenchmarkDotNet.Generated.cs index 6dee6f6d5..0a8ef7034 100644 --- a/src/Fallout.Common/Tools/BenchmarkDotNet/BenchmarkDotNet.Generated.cs +++ b/src/Fallout.Common/Tools/BenchmarkDotNet/BenchmarkDotNet.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/BenchmarkDotNet/BenchmarkDotNet.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.BenchmarkDotNet; +namespace Fallout.Application.Tools.BenchmarkDotNet; ///

Powerful .NET library for benchmarking

For more details, visit the official website.

[ExcludeFromCodeCoverage] @@ -28,13 +28,13 @@ public partial class BenchmarkDotNetTasks : ToolTasks, IRequireNuGetPackage ///

Powerful .NET library for benchmarking

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <assemblyFile> via
  • --affinity via
  • --allCategories via
  • --allStats via
  • --anyCategories via
  • --artifacts via
  • --attribute via
  • --buildTimeout via
  • --cli via
  • --clrVersion via
  • --coreRtVersion via
  • --coreRun via
  • --counters via
  • --disableLogFile via
  • --disasm via
  • --disasmDepth via
  • --disasmDiff via
  • --exporters via
  • --filter via
  • --ilcPath via
  • --info via
  • --inProcess via
  • --invocationCount via
  • --iterationCount via
  • --iterationTime via
  • --job via
  • --join via
  • --keepFiles via
  • --launchCount via
  • --list via
  • --maxIterationCount via
  • --maxWarmupCount via
  • --maxWidth via
  • --memory via
  • --minIterationCount via
  • --minWarmupCount via
  • --monoPath via
  • --noOverwrite via
  • --outliers via
  • --packages via
  • --profiler via
  • --runOncePerIteration via
  • --runtimes via
  • --statisticalTest via
  • --stopOnFirstError via
  • --strategy via
  • --threading via
  • --unrollFactor via
  • --warmupCount via
public static IReadOnlyCollection BenchmarkDotNet(BenchmarkDotNetSettings options = null) => new BenchmarkDotNetTasks().Run(options); - /// + /// public static IReadOnlyCollection BenchmarkDotNet(Configure configurator) => new BenchmarkDotNetTasks().Run(configurator.Invoke(new BenchmarkDotNetSettings())); - /// + /// public static IEnumerable<(BenchmarkDotNetSettings Settings, IReadOnlyCollection Output)> BenchmarkDotNet(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(BenchmarkDotNet, degreeOfParallelism, completeOnFailure); } #region BenchmarkDotNetSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(BenchmarkDotNetTasks), Command = nameof(BenchmarkDotNetTasks.BenchmarkDotNet))] public partial class BenchmarkDotNetSettings : ToolOptions @@ -140,7 +140,7 @@ public partial class BenchmarkDotNetSettings : ToolOptions } #endregion #region BenchmarkDotNetSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class BenchmarkDotNetSettingsExtensions { diff --git a/src/Fallout.Common/Tools/Boots/Boots.Generated.cs b/src/Fallout.Common/Tools/Boots/Boots.Generated.cs index d7fb8b9ee..46260aa87 100644 --- a/src/Fallout.Common/Tools/Boots/Boots.Generated.cs +++ b/src/Fallout.Common/Tools/Boots/Boots.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/Boots/Boots.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.Boots; +namespace Fallout.Application.Tools.Boots; ///

boots is a .NET global tool for bootstrapping vsix and pkg files.

For more details, visit the official website.

[ExcludeFromCodeCoverage] @@ -28,13 +28,13 @@ public partial class BootsTasks : ToolTasks, IRequireNuGetPackage ///

boots is a .NET global tool for bootstrapping vsix and pkg files.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --file-type via
  • --preview via
  • --read-write-timeout via
  • --retries via
  • --stable via
  • --timeout via
  • --url via
  • --version via
public static IReadOnlyCollection Boots(BootsSettings options = null) => new BootsTasks().Run(options); - /// + /// public static IReadOnlyCollection Boots(Configure configurator) => new BootsTasks().Run(configurator.Invoke(new BootsSettings())); - /// + /// public static IEnumerable<(BootsSettings Settings, IReadOnlyCollection Output)> Boots(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(Boots, degreeOfParallelism, completeOnFailure); } #region BootsSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(BootsTasks), Command = nameof(BootsTasks.Boots))] public partial class BootsSettings : ToolOptions @@ -58,7 +58,7 @@ public partial class BootsSettings : ToolOptions } #endregion #region BootsSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class BootsSettingsExtensions { diff --git a/src/Fallout.Common/Tools/Chocolatey/Chocolatey.Generated.cs b/src/Fallout.Common/Tools/Chocolatey/Chocolatey.Generated.cs index 504a58c21..27c87948c 100644 --- a/src/Fallout.Common/Tools/Chocolatey/Chocolatey.Generated.cs +++ b/src/Fallout.Common/Tools/Chocolatey/Chocolatey.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.Chocolatey; +namespace Fallout.Application.Tools.Chocolatey; ///

Chocolatey has the largest online registry of Windows packages. Chocolatey packages encapsulate everything required to manage a particular piece of software into one deployment artifact by wrapping installers, executables, zips, and/or scripts into a compiled package file.

For more details, visit the official website.

[ExcludeFromCodeCoverage] @@ -25,55 +25,55 @@ public partial class ChocolateyTasks : ToolTasks, IRequirePathTool ///

Searches remote or local packages (alias for list).

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <filter> via
  • --accept-license via
  • --all-versions via
  • --allow-unofficial-build via
  • --approved-only via
  • --by-id-only via
  • --by-tag-only via
  • --cache-location via
  • --cert via
  • --certpassword via
  • --confirm via
  • --debug via
  • --detailed via
  • --disable-package-repository-optimizations via
  • --download-cache-only via
  • --exact via
  • --execution-timeout via
  • --fail-on-standard-error via
  • --force via
  • --id-only via
  • --id-starts-with via
  • --include-programs via
  • --limit-output via
  • --local-only via
  • --log-file via
  • --no-color via
  • --no-progress via
  • --not-broken via
  • --order-by-popularity via
  • --page via
  • --page-size via
  • --password via
  • --prerelease via
  • --proxy via
  • --proxy-bypass-list via
  • --proxy-bypass-on-local via
  • --proxy-password via
  • --proxy-user via
  • --show-audit-info via
  • --source via
  • --trace via
  • --use-system-powershell via
  • --user via
  • --verbose via
  • --version via
public static IReadOnlyCollection ChocolateySearch(ChocolateySearchSettings options = null) => new ChocolateyTasks().Run(options); - /// + /// public static IReadOnlyCollection ChocolateySearch(Configure configurator) => new ChocolateyTasks().Run(configurator.Invoke(new ChocolateySearchSettings())); - /// + /// public static IEnumerable<(ChocolateySearchSettings Settings, IReadOnlyCollection Output)> ChocolateySearch(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(ChocolateySearch, degreeOfParallelism, completeOnFailure); ///

Lists remote or local packages.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <filter> via
  • --accept-license via
  • --all-versions via
  • --allow-unofficial-build via
  • --approved-only via
  • --by-id-only via
  • --by-tag-only via
  • --cache-location via
  • --cert via
  • --certpassword via
  • --confirm via
  • --debug via
  • --detailed via
  • --disable-package-repository-optimizations via
  • --download-cache-only via
  • --exact via
  • --execution-timeout via
  • --fail-on-standard-error via
  • --force via
  • --id-only via
  • --id-starts-with via
  • --include-programs via
  • --limit-output via
  • --local-only via
  • --log-file via
  • --no-color via
  • --no-progress via
  • --not-broken via
  • --order-by-popularity via
  • --page via
  • --page-size via
  • --password via
  • --prerelease via
  • --proxy via
  • --proxy-bypass-list via
  • --proxy-bypass-on-local via
  • --proxy-password via
  • --proxy-user via
  • --show-audit-info via
  • --source via
  • --trace via
  • --use-system-powershell via
  • --user via
  • --verbose via
  • --version via
public static IReadOnlyCollection ChocolateyList(ChocolateyListSettings options = null) => new ChocolateyTasks().Run(options); - /// + /// public static IReadOnlyCollection ChocolateyList(Configure configurator) => new ChocolateyTasks().Run(configurator.Invoke(new ChocolateyListSettings())); - /// + /// public static IEnumerable<(ChocolateyListSettings Settings, IReadOnlyCollection Output)> ChocolateyList(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(ChocolateyList, degreeOfParallelism, completeOnFailure); ///

Searches remote or local packages (alias for search).

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <filter> via
  • --accept-license via
  • --all-versions via
  • --allow-unofficial-build via
  • --approved-only via
  • --by-id-only via
  • --by-tag-only via
  • --cache-location via
  • --cert via
  • --certpassword via
  • --confirm via
  • --debug via
  • --detailed via
  • --disable-package-repository-optimizations via
  • --download-cache-only via
  • --exact via
  • --execution-timeout via
  • --fail-on-standard-error via
  • --force via
  • --id-only via
  • --id-starts-with via
  • --include-programs via
  • --limit-output via
  • --local-only via
  • --log-file via
  • --no-color via
  • --no-progress via
  • --not-broken via
  • --order-by-popularity via
  • --page via
  • --page-size via
  • --password via
  • --prerelease via
  • --proxy via
  • --proxy-bypass-list via
  • --proxy-bypass-on-local via
  • --proxy-password via
  • --proxy-user via
  • --show-audit-info via
  • --source via
  • --trace via
  • --use-system-powershell via
  • --user via
  • --verbose via
  • --version via
public static IReadOnlyCollection ChocolateyFind(ChocolateyFindSettings options = null) => new ChocolateyTasks().Run(options); - /// + /// public static IReadOnlyCollection ChocolateyFind(Configure configurator) => new ChocolateyTasks().Run(configurator.Invoke(new ChocolateyFindSettings())); - /// + /// public static IEnumerable<(ChocolateyFindSettings Settings, IReadOnlyCollection Output)> ChocolateyFind(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(ChocolateyFind, degreeOfParallelism, completeOnFailure); ///

Retrieves packages that are outdated. Similar to upgrade all --noop.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --accept-license via
  • --allow-unofficial-build via
  • --cache-location via
  • --cert via
  • --certpassword via
  • --confirm via
  • --debug via
  • --disable-package-repository-optimizations via
  • --execution-timeout via
  • --fail-on-standard-error via
  • --force via
  • --ignore-pinned via
  • --ignore-unfound via
  • --limit-output via
  • --log-file via
  • --no-color via
  • --no-progress via
  • --password via
  • --prerelease via
  • --proxy via
  • --proxy-bypass-list via
  • --proxy-bypass-on-local via
  • --proxy-password via
  • --proxy-user via
  • --source via
  • --trace via
  • --use-system-powershell via
  • --user via
  • --verbose via
public static IReadOnlyCollection ChocolateyOutdated(ChocolateyOutdatedSettings options = null) => new ChocolateyTasks().Run(options); - /// + /// public static IReadOnlyCollection ChocolateyOutdated(Configure configurator) => new ChocolateyTasks().Run(configurator.Invoke(new ChocolateyOutdatedSettings())); - /// + /// public static IEnumerable<(ChocolateyOutdatedSettings Settings, IReadOnlyCollection Output)> ChocolateyOutdated(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(ChocolateyOutdated, degreeOfParallelism, completeOnFailure); ///

Packages up a nuspec to a compiled nupkg.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <pathToNuspec> via
  • -- via
  • --accept-license via
  • --allow-unofficial-build via
  • --cache-location via
  • --confirm via
  • --debug via
  • --execution-timeout via
  • --fail-on-standard-error via
  • --force via
  • --limit-output via
  • --log-file via
  • --no-color via
  • --no-progress via
  • --output-directory via
  • --proxy via
  • --proxy-bypass-list via
  • --proxy-bypass-on-local via
  • --proxy-password via
  • --proxy-user via
  • --trace via
  • --use-system-powershell via
  • --verbose via
  • --version via
public static IReadOnlyCollection ChocolateyPack(ChocolateyPackSettings options = null) => new ChocolateyTasks().Run(options); - /// + /// public static IReadOnlyCollection ChocolateyPack(Configure configurator) => new ChocolateyTasks().Run(configurator.Invoke(new ChocolateyPackSettings())); - /// + /// public static IEnumerable<(ChocolateyPackSettings Settings, IReadOnlyCollection Output)> ChocolateyPack(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(ChocolateyPack, degreeOfParallelism, completeOnFailure); ///

Pushes a compiled nupkg.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <pathToNuGetPackage> via
  • --accept-license via
  • --allow-unofficial-build via
  • --api-key via
  • --cache-location via
  • --confirm via
  • --debug via
  • --execution-timeout via
  • --fail-on-standard-error via
  • --force via
  • --limit-output via
  • --log-file via
  • --no-color via
  • --no-progress via
  • --proxy via
  • --proxy-bypass-list via
  • --proxy-bypass-on-local via
  • --proxy-password via
  • --proxy-user via
  • --source via
  • --trace via
  • --use-system-powershell via
  • --verbose via
  • -t via
public static IReadOnlyCollection ChocolateyPush(ChocolateyPushSettings options = null) => new ChocolateyTasks().Run(options); - /// + /// public static IReadOnlyCollection ChocolateyPush(Configure configurator) => new ChocolateyTasks().Run(configurator.Invoke(new ChocolateyPushSettings())); - /// + /// public static IEnumerable<(ChocolateyPushSettings Settings, IReadOnlyCollection Output)> ChocolateyPush(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(ChocolateyPush, degreeOfParallelism, completeOnFailure); ///

Generates files necessary for a chocolatey package from a template.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • -- via
  • --accept-license via
  • --allow-unofficial-build via
  • --automaticpackage via
  • --build-package via
  • --cache-location via
  • --checksum via
  • --checksum-type via
  • --checksum-x64 via
  • --confirm via
  • --debug via
  • --execution-timeout via
  • --fail-on-standard-error via
  • --file via
  • --file64 via
  • --force via
  • --from-programs-and-features via
  • --generate-for-community via
  • --include-architecture-in-name via
  • --limit-output via
  • --log-file via
  • --maintainer via
  • --name via
  • --no-color via
  • --no-progress via
  • --output-directory via
  • --pause-on-error via
  • --proxy via
  • --proxy-bypass-list via
  • --proxy-bypass-on-local via
  • --proxy-password via
  • --proxy-user via
  • --remove-architecture-from-name via
  • --template-name via
  • --trace via
  • --use-built-in-template via
  • --use-original-files-location via
  • --use-system-powershell via
  • --verbose via
  • --version via
public static IReadOnlyCollection ChocolateyNew(ChocolateyNewSettings options = null) => new ChocolateyTasks().Run(options); - /// + /// public static IReadOnlyCollection ChocolateyNew(Configure configurator) => new ChocolateyTasks().Run(configurator.Invoke(new ChocolateyNewSettings())); - /// + /// public static IEnumerable<(ChocolateyNewSettings Settings, IReadOnlyCollection Output)> ChocolateyNew(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(ChocolateyNew, degreeOfParallelism, completeOnFailure); } #region ChocolateySearchSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(ChocolateyTasks), Command = nameof(ChocolateyTasks.ChocolateySearch), Arguments = "search")] public partial class ChocolateySearchSettings : ToolOptions @@ -171,7 +171,7 @@ public partial class ChocolateySearchSettings : ToolOptions } #endregion #region ChocolateyListSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(ChocolateyTasks), Command = nameof(ChocolateyTasks.ChocolateyList), Arguments = "list")] public partial class ChocolateyListSettings : ToolOptions @@ -269,7 +269,7 @@ public partial class ChocolateyListSettings : ToolOptions } #endregion #region ChocolateyFindSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(ChocolateyTasks), Command = nameof(ChocolateyTasks.ChocolateyFind), Arguments = "find")] public partial class ChocolateyFindSettings : ToolOptions @@ -367,7 +367,7 @@ public partial class ChocolateyFindSettings : ToolOptions } #endregion #region ChocolateyOutdatedSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(ChocolateyTasks), Command = nameof(ChocolateyTasks.ChocolateyOutdated), Arguments = "outdated")] public partial class ChocolateyOutdatedSettings : ToolOptions @@ -433,7 +433,7 @@ public partial class ChocolateyOutdatedSettings : ToolOptions } #endregion #region ChocolateyPackSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(ChocolateyTasks), Command = nameof(ChocolateyTasks.ChocolateyPack), Arguments = "pack")] public partial class ChocolateyPackSettings : ToolOptions @@ -489,7 +489,7 @@ public partial class ChocolateyPackSettings : ToolOptions } #endregion #region ChocolateyPushSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(ChocolateyTasks), Command = nameof(ChocolateyTasks.ChocolateyPush), Arguments = "push")] public partial class ChocolateyPushSettings : ToolOptions @@ -545,7 +545,7 @@ public partial class ChocolateyPushSettings : ToolOptions } #endregion #region ChocolateyNewSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(ChocolateyTasks), Command = nameof(ChocolateyTasks.ChocolateyNew), Arguments = "new")] public partial class ChocolateyNewSettings : ToolOptions @@ -633,7 +633,7 @@ public partial class ChocolateyNewSettings : ToolOptions } #endregion #region ChocolateySearchSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class ChocolateySearchSettingsExtensions { @@ -1276,7 +1276,7 @@ public static partial class ChocolateySearchSettingsExtensions } #endregion #region ChocolateyListSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class ChocolateyListSettingsExtensions { @@ -1919,7 +1919,7 @@ public static partial class ChocolateyListSettingsExtensions } #endregion #region ChocolateyFindSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class ChocolateyFindSettingsExtensions { @@ -2562,7 +2562,7 @@ public static partial class ChocolateyFindSettingsExtensions } #endregion #region ChocolateyOutdatedSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class ChocolateyOutdatedSettingsExtensions { @@ -2969,7 +2969,7 @@ public static partial class ChocolateyOutdatedSettingsExtensions } #endregion #region ChocolateyPackSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class ChocolateyPackSettingsExtensions { @@ -3309,7 +3309,7 @@ public static partial class ChocolateyPackSettingsExtensions } #endregion #region ChocolateyPushSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class ChocolateyPushSettingsExtensions { @@ -3640,7 +3640,7 @@ public static partial class ChocolateyPushSettingsExtensions } #endregion #region ChocolateyNewSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class ChocolateyNewSettingsExtensions { diff --git a/src/Fallout.Common/Tools/CodeMetrics/CodeMetrics.Generated.cs b/src/Fallout.Common/Tools/CodeMetrics/CodeMetrics.Generated.cs index 35d0b846a..214b1db0f 100644 --- a/src/Fallout.Common/Tools/CodeMetrics/CodeMetrics.Generated.cs +++ b/src/Fallout.Common/Tools/CodeMetrics/CodeMetrics.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/CodeMetrics/CodeMetrics.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.CodeMetrics; +namespace Fallout.Application.Tools.CodeMetrics; ///

Code metrics is a set of software measures that provide developers better insight into the code they are developing. By taking advantage of code metrics, developers can understand which types and/or methods should be reworked or more thoroughly tested. Development teams can identify potential risks, understand the current state of a project, and track progress during software development.

For more details, visit the official website.

[ExcludeFromCodeCoverage] @@ -28,13 +28,13 @@ public partial class CodeMetricsTasks : ToolTasks, IRequireNuGetPackage ///

Code metrics is a set of software measures that provide developers better insight into the code they are developing. By taking advantage of code metrics, developers can understand which types and/or methods should be reworked or more thoroughly tested. Development teams can identify potential risks, understand the current state of a project, and track progress during software development.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • /out via
  • /project via
  • /solution via
public static IReadOnlyCollection CodeMetrics(CodeMetricsSettings options = null) => new CodeMetricsTasks().Run(options); - /// + /// public static IReadOnlyCollection CodeMetrics(Configure configurator) => new CodeMetricsTasks().Run(configurator.Invoke(new CodeMetricsSettings())); - /// + /// public static IEnumerable<(CodeMetricsSettings Settings, IReadOnlyCollection Output)> CodeMetrics(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(CodeMetrics, degreeOfParallelism, completeOnFailure); } #region CodeMetricsSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(CodeMetricsTasks), Command = nameof(CodeMetricsTasks.CodeMetrics))] public partial class CodeMetricsSettings : ToolOptions @@ -48,7 +48,7 @@ public partial class CodeMetricsSettings : ToolOptions } #endregion #region CodeMetricsSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class CodeMetricsSettingsExtensions { diff --git a/src/Fallout.Common/Tools/Codecov/Codecov.Generated.cs b/src/Fallout.Common/Tools/Codecov/Codecov.Generated.cs index 930d9970d..393fb5d21 100644 --- a/src/Fallout.Common/Tools/Codecov/Codecov.Generated.cs +++ b/src/Fallout.Common/Tools/Codecov/Codecov.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.Codecov; +namespace Fallout.Application.Tools.Codecov; ///

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.

[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:

  • <command> via
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); ///

Show the history of an image.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <image> via
  • --config via
  • --debug via
  • --format via
  • --human via
  • --log-level via
  • --no-trunc via
  • --quiet via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerHistory(DockerHistorySettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerHistory(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerHistorySettings())); - /// + /// public static IEnumerable<(DockerHistorySettings Settings, IReadOnlyCollection Output)> DockerHistory(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerHistory, degreeOfParallelism, completeOnFailure); ///

Create a new service.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <args> via
  • <command> via
  • <image> via
  • --config via
  • --config via
  • --constraint via
  • --container-label via
  • --credential-spec via
  • --debug via
  • --detach via
  • --dns via
  • --dns-option via
  • --dns-search via
  • --endpoint-mode via
  • --entrypoint via
  • --env via
  • --env-file via
  • --generic-resource via
  • --group via
  • --health-cmd via
  • --health-interval via
  • --health-retries via
  • --health-start-period via
  • --health-timeout via
  • --host via
  • --hostname via
  • --init via
  • --isolation via
  • --label via
  • --limit-cpu via
  • --limit-memory via
  • --log-driver via
  • --log-level via
  • --log-opt via
  • --mode via
  • --mount via
  • --name via
  • --network via
  • --no-healthcheck via
  • --no-resolve-image via
  • --placement-pref via
  • --publish via
  • --quiet via
  • --read-only via
  • --replicas via
  • --replicas-max-per-node via
  • --reserve-cpu via
  • --reserve-memory via
  • --restart-condition via
  • --restart-delay via
  • --restart-max-attempts via
  • --restart-window via
  • --rollback-delay via
  • --rollback-failure-action via
  • --rollback-max-failure-ratio via
  • --rollback-monitor via
  • --rollback-order via
  • --rollback-parallelism via
  • --secret via
  • --stop-grace-period via
  • --stop-signal via
  • --sysctl via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
  • --tty via
  • --update-delay via
  • --update-failure-action via
  • --update-max-failure-ratio via
  • --update-monitor via
  • --update-order via
  • --update-parallelism via
  • --user via
  • --with-registry-auth via
  • --workdir via
public static IReadOnlyCollection DockerServiceCreate(DockerServiceCreateSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerServiceCreate(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerServiceCreateSettings())); - /// + /// public static IEnumerable<(DockerServiceCreateSettings Settings, IReadOnlyCollection Output)> DockerServiceCreate(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerServiceCreate, degreeOfParallelism, completeOnFailure); ///

List the tasks of one or more services.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <services> via
  • --config via
  • --debug via
  • --filter via
  • --format via
  • --log-level via
  • --no-resolve via
  • --no-trunc via
  • --quiet via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerServicePs(DockerServicePsSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerServicePs(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerServicePsSettings())); - /// + /// public static IEnumerable<(DockerServicePsSettings Settings, IReadOnlyCollection Output)> DockerServicePs(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerServicePs, degreeOfParallelism, completeOnFailure); ///

Stop one or more running containers.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <containers> via
  • --config via
  • --debug via
  • --log-level via
  • --time via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerStop(DockerStopSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerStop(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerStopSettings())); - /// + /// public static IEnumerable<(DockerStopSettings Settings, IReadOnlyCollection Output)> DockerStop(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerStop, degreeOfParallelism, completeOnFailure); ///

Manage Swarm nodes.

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 DockerNode(DockerNodeSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerNode(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerNodeSettings())); - /// + /// public static IEnumerable<(DockerNodeSettings Settings, IReadOnlyCollection Output)> DockerNode(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerNode, degreeOfParallelism, completeOnFailure); ///

Update configuration of one or more containers.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <containers> via
  • --blkio-weight via
  • --config via
  • --cpu-period via
  • --cpu-quota via
  • --cpu-rt-period via
  • --cpu-rt-runtime via
  • --cpu-shares via
  • --cpus via
  • --cpuset-cpus via
  • --cpuset-mems via
  • --debug via
  • --kernel-memory via
  • --log-level via
  • --memory via
  • --memory-reservation via
  • --memory-swap via
  • --pids-limit via
  • --restart via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerUpdate(DockerUpdateSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerUpdate(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerUpdateSettings())); - /// + /// public static IEnumerable<(DockerUpdateSettings Settings, IReadOnlyCollection Output)> DockerUpdate(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerUpdate, degreeOfParallelism, completeOnFailure); ///

Create a plugin from a rootfs and configuration. Plugin data directory must contain config.json and rootfs directory.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <plugin> via
  • <pluginDataDir> via
  • --compress via
  • --config via
  • --debug via
  • --log-level via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerPluginCreate(DockerPluginCreateSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerPluginCreate(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerPluginCreateSettings())); - /// + /// public static IEnumerable<(DockerPluginCreateSettings Settings, IReadOnlyCollection Output)> DockerPluginCreate(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerPluginCreate, degreeOfParallelism, completeOnFailure); ///

Display system-wide information.

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
  • --format via
  • --log-level via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerSystemInfo(DockerSystemInfoSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerSystemInfo(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerSystemInfoSettings())); - /// + /// public static IEnumerable<(DockerSystemInfoSettings Settings, IReadOnlyCollection Output)> DockerSystemInfo(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerSystemInfo, degreeOfParallelism, completeOnFailure); ///

Remove all unused local volumes.

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 DockerVolumePrune(DockerVolumePruneSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerVolumePrune(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerVolumePruneSettings())); - /// + /// public static IEnumerable<(DockerVolumePruneSettings Settings, IReadOnlyCollection Output)> DockerVolumePrune(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerVolumePrune, degreeOfParallelism, completeOnFailure); ///

Upgrade an existing plugin.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <plugin> via
  • <remote> via
  • --config via
  • --debug via
  • --disable-content-trust via
  • --grant-all-permissions via
  • --log-level via
  • --skip-remote-check via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerPluginUpgrade(DockerPluginUpgradeSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerPluginUpgrade(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerPluginUpgradeSettings())); - /// + /// public static IEnumerable<(DockerPluginUpgradeSettings Settings, IReadOnlyCollection Output)> DockerPluginUpgrade(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerPluginUpgrade, degreeOfParallelism, completeOnFailure); ///

Remove build cache.

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 DockerBuilderPrune(DockerBuilderPruneSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerBuilderPrune(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerBuilderPruneSettings())); - /// + /// public static IEnumerable<(DockerBuilderPruneSettings Settings, IReadOnlyCollection Output)> DockerBuilderPrune(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerBuilderPrune, degreeOfParallelism, completeOnFailure); ///

Manage join tokens.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <worker> via
  • --config via
  • --debug via
  • --log-level via
  • --quiet via
  • --rotate via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerSwarmJoinToken(DockerSwarmJoinTokenSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerSwarmJoinToken(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerSwarmJoinTokenSettings())); - /// + /// public static IEnumerable<(DockerSwarmJoinTokenSettings Settings, IReadOnlyCollection Output)> DockerSwarmJoinToken(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerSwarmJoinToken, degreeOfParallelism, completeOnFailure); ///

Update a node.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <node> via
  • --availability via
  • --config via
  • --debug via
  • --label-add via
  • --label-rm via
  • --log-level via
  • --role via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerNodeUpdate(DockerNodeUpdateSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerNodeUpdate(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerNodeUpdateSettings())); - /// + /// public static IEnumerable<(DockerNodeUpdateSettings Settings, IReadOnlyCollection Output)> DockerNodeUpdate(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerNodeUpdate, degreeOfParallelism, completeOnFailure); ///

Add a signer.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <name> via
  • <options> via
  • <repositories> via
  • --config via
  • --debug via
  • --log-level via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerTrustSignerAdd(DockerTrustSignerAddSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerTrustSignerAdd(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerTrustSignerAddSettings())); - /// + /// public static IEnumerable<(DockerTrustSignerAddSettings Settings, IReadOnlyCollection Output)> DockerTrustSignerAdd(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerTrustSignerAdd, degreeOfParallelism, completeOnFailure); ///

Update the swarm.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --autolock via
  • --cert-expiry via
  • --config via
  • --debug via
  • --dispatcher-heartbeat via
  • --external-ca via
  • --log-level via
  • --max-snapshots via
  • --snapshot-interval via
  • --task-history-limit via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerSwarmUpdate(DockerSwarmUpdateSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerSwarmUpdate(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerSwarmUpdateSettings())); - /// + /// public static IEnumerable<(DockerSwarmUpdateSettings Settings, IReadOnlyCollection Output)> DockerSwarmUpdate(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerSwarmUpdate, degreeOfParallelism, completeOnFailure); ///

Fetch the logs of a service or task.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <service> via
  • --config via
  • --debug via
  • --details via
  • --follow via
  • --log-level via
  • --no-resolve via
  • --no-task-ids via
  • --no-trunc via
  • --raw via
  • --since via
  • --tail via
  • --timestamps via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerServiceLogs(DockerServiceLogsSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerServiceLogs(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerServiceLogsSettings())); - /// + /// public static IEnumerable<(DockerServiceLogsSettings Settings, IReadOnlyCollection Output)> DockerServiceLogs(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerServiceLogs, degreeOfParallelism, completeOnFailure); ///

List 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
  • --filter via
  • --format via
  • --log-level via
  • --quiet via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerServiceLs(DockerServiceLsSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerServiceLs(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerServiceLsSettings())); - /// + /// public static IEnumerable<(DockerServiceLsSettings Settings, IReadOnlyCollection Output)> DockerServiceLs(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerServiceLs, degreeOfParallelism, completeOnFailure); ///

Unlock swarm.

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 DockerSwarmUnlock(DockerSwarmUnlockSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerSwarmUnlock(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerSwarmUnlockSettings())); - /// + /// public static IEnumerable<(DockerSwarmUnlockSettings Settings, IReadOnlyCollection Output)> DockerSwarmUnlock(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerSwarmUnlock, degreeOfParallelism, completeOnFailure); ///

List networks.

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
  • --no-trunc via
  • --quiet via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerNetworkLs(DockerNetworkLsSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerNetworkLs(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerNetworkLsSettings())); - /// + /// public static IEnumerable<(DockerNetworkLsSettings Settings, IReadOnlyCollection Output)> DockerNetworkLs(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerNetworkLs, degreeOfParallelism, completeOnFailure); ///

List plugins.

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
  • --no-trunc via
  • --quiet via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerPluginLs(DockerPluginLsSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerPluginLs(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerPluginLsSettings())); - /// + /// public static IEnumerable<(DockerPluginLsSettings Settings, IReadOnlyCollection Output)> DockerPluginLs(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerPluginLs, degreeOfParallelism, completeOnFailure); ///

Remove one or more plugins.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <plugins> via
  • --config via
  • --debug via
  • --force via
  • --log-level via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerPluginRm(DockerPluginRmSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerPluginRm(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerPluginRmSettings())); - /// + /// public static IEnumerable<(DockerPluginRmSettings Settings, IReadOnlyCollection Output)> DockerPluginRm(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerPluginRm, degreeOfParallelism, completeOnFailure); ///

Build an image from a Dockerfile.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <path> via
  • --add-host via
  • --build-arg via
  • --cache-from via
  • --cgroup-parent via
  • --compress via
  • --config via
  • --cpu-period via
  • --cpu-quota via
  • --cpu-shares via
  • --cpuset-cpus via
  • --cpuset-mems via
  • --debug via
  • --disable-content-trust via
  • --file via
  • --force-rm via
  • --iidfile via
  • --isolation via
  • --label via
  • --log-level via
  • --memory via
  • --memory-swap via
  • --network via
  • --no-cache via
  • --output via
  • --platform via
  • --progress via
  • --pull via
  • --quiet via
  • --rm via
  • --secret via
  • --security-opt via
  • --shm-size via
  • --squash via
  • --ssh via
  • --stream via
  • --tag via
  • --target via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
  • --ulimit via
public static IReadOnlyCollection DockerImageBuild(DockerImageBuildSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerImageBuild(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerImageBuildSettings())); - /// + /// public static IEnumerable<(DockerImageBuildSettings Settings, IReadOnlyCollection Output)> DockerImageBuild(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerImageBuild, degreeOfParallelism, completeOnFailure); ///

Remove trust for an image.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <image> via
  • --config via
  • --debug via
  • --log-level via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
  • --yes via
public static IReadOnlyCollection DockerTrustRevoke(DockerTrustRevokeSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerTrustRevoke(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerTrustRevokeSettings())); - /// + /// public static IEnumerable<(DockerTrustRevokeSettings Settings, IReadOnlyCollection Output)> DockerTrustRevoke(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerTrustRevoke, degreeOfParallelism, completeOnFailure); ///

Remove one or more images.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <images> via
  • --config via
  • --debug via
  • --force via
  • --log-level via
  • --no-prune via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerRmi(DockerRmiSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerRmi(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerRmiSettings())); - /// + /// public static IEnumerable<(DockerRmiSettings Settings, IReadOnlyCollection Output)> DockerRmi(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerRmi, degreeOfParallelism, completeOnFailure); ///

Remove one or more networks.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <networks> via
  • --config via
  • --debug via
  • --log-level via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerNetworkRm(DockerNetworkRmSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerNetworkRm(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerNetworkRmSettings())); - /// + /// public static IEnumerable<(DockerNetworkRmSettings Settings, IReadOnlyCollection Output)> DockerNetworkRm(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerNetworkRm, degreeOfParallelism, completeOnFailure); ///

Show the Docker version information.

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
  • --format via
  • --kubeconfig via
  • --log-level via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerVersion(DockerVersionSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerVersion(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerVersionSettings())); - /// + /// public static IEnumerable<(DockerVersionSettings Settings, IReadOnlyCollection Output)> DockerVersion(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerVersion, degreeOfParallelism, completeOnFailure); ///

Create a secret from a file or STDIN as content.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <file> via
  • <secret> via
  • --config via
  • --debug via
  • --driver via
  • --label via
  • --log-level via
  • --template-driver via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerSecretCreate(DockerSecretCreateSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerSecretCreate(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerSecretCreateSettings())); - /// + /// public static IEnumerable<(DockerSecretCreateSettings Settings, IReadOnlyCollection Output)> DockerSecretCreate(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerSecretCreate, degreeOfParallelism, completeOnFailure); ///

Remove one or more services.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <services> via
  • --config via
  • --debug via
  • --log-level via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerServiceRm(DockerServiceRmSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerServiceRm(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerServiceRmSettings())); - /// + /// public static IEnumerable<(DockerServiceRmSettings Settings, IReadOnlyCollection Output)> DockerServiceRm(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerServiceRm, degreeOfParallelism, completeOnFailure); ///

Load a private key file for signing.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <keyfile> via
  • --config via
  • --debug via
  • --log-level via
  • --name via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerTrustKeyLoad(DockerTrustKeyLoadSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerTrustKeyLoad(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerTrustKeyLoadSettings())); - /// + /// public static IEnumerable<(DockerTrustKeyLoadSettings Settings, IReadOnlyCollection Output)> DockerTrustKeyLoad(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerTrustKeyLoad, degreeOfParallelism, completeOnFailure); ///

Remove 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
  • --log-level via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerSecretRm(DockerSecretRmSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerSecretRm(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerSecretRmSettings())); - /// + /// public static IEnumerable<(DockerSecretRmSettings Settings, IReadOnlyCollection Output)> DockerSecretRm(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerSecretRm, degreeOfParallelism, completeOnFailure); ///

Display detailed information on one or more images.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <images> via
  • --config via
  • --debug via
  • --format via
  • --log-level via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerImageInspect(DockerImageInspectSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerImageInspect(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerImageInspectSettings())); - /// + /// public static IEnumerable<(DockerImageInspectSettings Settings, IReadOnlyCollection Output)> DockerImageInspect(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerImageInspect, degreeOfParallelism, completeOnFailure); ///

Save one or more images to a tar archive (streamed to STDOUT by default).

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <images> via
  • --config via
  • --debug via
  • --log-level via
  • --output via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerImageSave(DockerImageSaveSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerImageSave(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerImageSaveSettings())); - /// + /// public static IEnumerable<(DockerImageSaveSettings Settings, IReadOnlyCollection Output)> DockerImageSave(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerImageSave, degreeOfParallelism, completeOnFailure); ///

Manage keys for signing 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 DockerTrustKey(DockerTrustKeySettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerTrustKey(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerTrustKeySettings())); - /// + /// public static IEnumerable<(DockerTrustKeySettings Settings, IReadOnlyCollection Output)> DockerTrustKey(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerTrustKey, degreeOfParallelism, completeOnFailure); ///

Attach local standard input, output, and error streams to a running 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
  • --config via
  • --debug via
  • --detach-keys via
  • --log-level via
  • --no-stdin via
  • --sig-proxy via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerContainerAttach(DockerContainerAttachSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerContainerAttach(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerContainerAttachSettings())); - /// + /// public static IEnumerable<(DockerContainerAttachSettings Settings, IReadOnlyCollection Output)> DockerContainerAttach(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerContainerAttach, degreeOfParallelism, completeOnFailure); ///

Create 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
  • --from via
  • --kubernetes via
  • --log-level via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerContextCreate(DockerContextCreateSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerContextCreate(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerContextCreateSettings())); - /// + /// public static IEnumerable<(DockerContextCreateSettings Settings, IReadOnlyCollection Output)> DockerContextCreate(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerContextCreate, degreeOfParallelism, completeOnFailure); ///

Create a config from a file 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
  • <file> via
  • --config via
  • --debug via
  • --label via
  • --log-level via
  • --template-driver via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerConfigCreate(DockerConfigCreateSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerConfigCreate(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerConfigCreateSettings())); - /// + /// public static IEnumerable<(DockerConfigCreateSettings Settings, IReadOnlyCollection Output)> DockerConfigCreate(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerConfigCreate, degreeOfParallelism, completeOnFailure); ///

Display detailed information on one or more volumes.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <volumes> via
  • --config via
  • --debug via
  • --format via
  • --log-level via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerVolumeInspect(DockerVolumeInspectSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerVolumeInspect(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerVolumeInspectSettings())); - /// + /// public static IEnumerable<(DockerVolumeInspectSettings Settings, IReadOnlyCollection Output)> DockerVolumeInspect(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerVolumeInspect, degreeOfParallelism, completeOnFailure); ///

Stop one or more running containers.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <containers> via
  • --config via
  • --debug via
  • --log-level via
  • --time via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerContainerStop(DockerContainerStopSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerContainerStop(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerContainerStopSettings())); - /// + /// public static IEnumerable<(DockerContainerStopSettings Settings, IReadOnlyCollection Output)> DockerContainerStop(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerContainerStop, degreeOfParallelism, completeOnFailure); ///

Remove all unused networks.

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 DockerNetworkPrune(DockerNetworkPruneSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerNetworkPrune(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerNetworkPruneSettings())); - /// + /// public static IEnumerable<(DockerNetworkPruneSettings Settings, IReadOnlyCollection Output)> DockerNetworkPrune(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerNetworkPrune, degreeOfParallelism, completeOnFailure); ///

Display an image manifest, or manifest list.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <manifest> via
  • <manifestList> via
  • --config via
  • --debug via
  • --insecure via
  • --log-level via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
  • --verbose via
public static IReadOnlyCollection DockerManifestInspect(DockerManifestInspectSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerManifestInspect(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerManifestInspectSettings())); - /// + /// public static IEnumerable<(DockerManifestInspectSettings Settings, IReadOnlyCollection Output)> DockerManifestInspect(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerManifestInspect, degreeOfParallelism, completeOnFailure); ///

Display system-wide information.

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
  • --format via
  • --log-level via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerInfo(DockerInfoSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerInfo(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerInfoSettings())); - /// + /// public static IEnumerable<(DockerInfoSettings Settings, IReadOnlyCollection Output)> DockerInfo(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerInfo, degreeOfParallelism, completeOnFailure); ///

Create a new image from a container's changes.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <container> via
  • <repository> via
  • --author via
  • --change via
  • --config via
  • --debug via
  • --log-level via
  • --message via
  • --pause via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerCommit(DockerCommitSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerCommit(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerCommitSettings())); - /// + /// public static IEnumerable<(DockerCommitSettings Settings, IReadOnlyCollection Output)> DockerCommit(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerCommit, degreeOfParallelism, completeOnFailure); ///

Deploy a new stack or update an existing 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
  • --bundle-file via
  • --compose-file via
  • --config via
  • --debug via
  • --log-level via
  • --namespace via
  • --prune via
  • --resolve-image via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
  • --with-registry-auth via
public static IReadOnlyCollection DockerStackDeploy(DockerStackDeploySettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerStackDeploy(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerStackDeploySettings())); - /// + /// public static IEnumerable<(DockerStackDeploySettings Settings, IReadOnlyCollection Output)> DockerStackDeploy(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerStackDeploy, degreeOfParallelism, completeOnFailure); ///

Scale one or multiple replicated services.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <serviceReplicas> via
  • --config via
  • --debug via
  • --log-level via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerServiceScale(DockerServiceScaleSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerServiceScale(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerServiceScaleSettings())); - /// + /// public static IEnumerable<(DockerServiceScaleSettings Settings, IReadOnlyCollection Output)> DockerServiceScale(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerServiceScale, degreeOfParallelism, completeOnFailure); ///

Run a command in a new container.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <args> via
  • <command> via
  • <image> via
  • --add-host via
  • --attach via
  • --blkio-weight via
  • --blkio-weight-device via
  • --cap-add via
  • --cap-drop via
  • --cgroup-parent via
  • --cidfile via
  • --config via
  • --cpu-count via
  • --cpu-percent via
  • --cpu-period via
  • --cpu-quota via
  • --cpu-rt-period via
  • --cpu-rt-runtime via
  • --cpu-shares via
  • --cpus via
  • --cpuset-cpus via
  • --cpuset-mems via
  • --debug via
  • --detach via
  • --detach-keys via
  • --device via
  • --device-cgroup-rule via
  • --device-read-bps via
  • --device-read-iops via
  • --device-write-bps via
  • --device-write-iops via
  • --disable-content-trust via
  • --dns via
  • --dns-opt via
  • --dns-option via
  • --dns-search via
  • --domainname via
  • --entrypoint via
  • --env via
  • --env-file via
  • --expose via
  • --gpus via
  • --group-add via
  • --health-cmd via
  • --health-interval via
  • --health-retries via
  • --health-start-period via
  • --health-timeout via
  • --help via
  • --hostname via
  • --init via
  • --interactive via
  • --io-maxbandwidth via
  • --io-maxiops via
  • --ip via
  • --ip6 via
  • --ipc via
  • --isolation via
  • --kernel-memory via
  • --label via
  • --label-file via
  • --link via
  • --link-local-ip via
  • --log-driver via
  • --log-level via
  • --log-opt via
  • --mac-address via
  • --memory via
  • --memory-reservation via
  • --memory-swap via
  • --memory-swappiness via
  • --mount via
  • --name via
  • --net via
  • --net-alias via
  • --network via
  • --network-alias via
  • --no-healthcheck via
  • --oom-kill-disable via
  • --oom-score-adj via
  • --pid via
  • --pids-limit via
  • --platform via
  • --privileged via
  • --publish via
  • --publish-all via
  • --read-only via
  • --restart via
  • --rm via
  • --runtime via
  • --security-opt via
  • --shm-size via
  • --sig-proxy via
  • --stop-signal via
  • --stop-timeout via
  • --storage-opt via
  • --sysctl via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
  • --tmpfs via
  • --tty via
  • --ulimit via
  • --user via
  • --userns via
  • --uts via
  • --volume via
  • --volume-driver via
  • --volumes-from via
  • --workdir via
public static IReadOnlyCollection DockerRun(DockerRunSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerRun(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerRunSettings())); - /// + /// public static IEnumerable<(DockerRunSettings Settings, IReadOnlyCollection Output)> DockerRun(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerRun, degreeOfParallelism, completeOnFailure); ///

Create a new container.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <args> via
  • <command> via
  • <image> via
  • --add-host via
  • --attach via
  • --blkio-weight via
  • --blkio-weight-device via
  • --cap-add via
  • --cap-drop via
  • --cgroup-parent via
  • --cidfile via
  • --config via
  • --cpu-count via
  • --cpu-percent via
  • --cpu-period via
  • --cpu-quota via
  • --cpu-rt-period via
  • --cpu-rt-runtime via
  • --cpu-shares via
  • --cpus via
  • --cpuset-cpus via
  • --cpuset-mems via
  • --debug via
  • --device via
  • --device-cgroup-rule via
  • --device-read-bps via
  • --device-read-iops via
  • --device-write-bps via
  • --device-write-iops via
  • --disable-content-trust via
  • --dns via
  • --dns-opt via
  • --dns-option via
  • --dns-search via
  • --domainname via
  • --entrypoint via
  • --env via
  • --env-file via
  • --expose via
  • --gpus via
  • --group-add via
  • --health-cmd via
  • --health-interval via
  • --health-retries via
  • --health-start-period via
  • --health-timeout via
  • --help via
  • --hostname via
  • --init via
  • --interactive via
  • --io-maxbandwidth via
  • --io-maxiops via
  • --ip via
  • --ip6 via
  • --ipc via
  • --isolation via
  • --kernel-memory via
  • --label via
  • --label-file via
  • --link via
  • --link-local-ip via
  • --log-driver via
  • --log-level via
  • --log-opt via
  • --mac-address via
  • --memory via
  • --memory-reservation via
  • --memory-swap via
  • --memory-swappiness via
  • --mount via
  • --name via
  • --net via
  • --net-alias via
  • --network via
  • --network-alias via
  • --no-healthcheck via
  • --oom-kill-disable via
  • --oom-score-adj via
  • --pid via
  • --pids-limit via
  • --platform via
  • --privileged via
  • --publish via
  • --publish-all via
  • --read-only via
  • --restart via
  • --rm via
  • --runtime via
  • --security-opt via
  • --shm-size via
  • --stop-signal via
  • --stop-timeout via
  • --storage-opt via
  • --sysctl via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
  • --tmpfs via
  • --tty via
  • --ulimit via
  • --user via
  • --userns via
  • --uts via
  • --volume via
  • --volume-driver via
  • --volumes-from via
  • --workdir via
public static IReadOnlyCollection DockerCreate(DockerCreateSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerCreate(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerCreateSettings())); - /// + /// public static IEnumerable<(DockerCreateSettings Settings, IReadOnlyCollection Output)> DockerCreate(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerCreate, degreeOfParallelism, completeOnFailure); ///

Update a service.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <service> via
  • --args via
  • --config via
  • --config-add via
  • --config-rm via
  • --constraint-add via
  • --constraint-rm via
  • --container-label-add via
  • --container-label-rm via
  • --credential-spec via
  • --debug via
  • --detach via
  • --dns-add via
  • --dns-option-add via
  • --dns-option-rm via
  • --dns-rm via
  • --dns-search-add via
  • --dns-search-rm via
  • --endpoint-mode via
  • --entrypoint via
  • --env-add via
  • --env-rm via
  • --force via
  • --generic-resource-add via
  • --generic-resource-rm via
  • --group-add via
  • --group-rm via
  • --health-cmd via
  • --health-interval via
  • --health-retries via
  • --health-start-period via
  • --health-timeout via
  • --host-add via
  • --host-rm via
  • --hostname via
  • --image via
  • --init via
  • --isolation via
  • --label-add via
  • --label-rm via
  • --limit-cpu via
  • --limit-memory via
  • --log-driver via
  • --log-level via
  • --log-opt via
  • --mount-add via
  • --mount-rm via
  • --network-add via
  • --network-rm via
  • --no-healthcheck via
  • --no-resolve-image via
  • --placement-pref-add via
  • --placement-pref-rm via
  • --publish-add via
  • --publish-rm via
  • --quiet via
  • --read-only via
  • --replicas via
  • --replicas-max-per-node via
  • --reserve-cpu via
  • --reserve-memory via
  • --restart-condition via
  • --restart-delay via
  • --restart-max-attempts via
  • --restart-window via
  • --rollback via
  • --rollback-delay via
  • --rollback-failure-action via
  • --rollback-max-failure-ratio via
  • --rollback-monitor via
  • --rollback-order via
  • --rollback-parallelism via
  • --secret-add via
  • --secret-rm via
  • --stop-grace-period via
  • --stop-signal via
  • --sysctl-add via
  • --sysctl-rm via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
  • --tty via
  • --update-delay via
  • --update-failure-action via
  • --update-max-failure-ratio via
  • --update-monitor via
  • --update-order via
  • --update-parallelism via
  • --user via
  • --with-registry-auth via
  • --workdir via
public static IReadOnlyCollection DockerServiceUpdate(DockerServiceUpdateSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerServiceUpdate(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerServiceUpdateSettings())); - /// + /// public static IEnumerable<(DockerServiceUpdateSettings Settings, IReadOnlyCollection Output)> DockerServiceUpdate(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerServiceUpdate, 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 DockerPort(DockerPortSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerPort(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerPortSettings())); - /// + /// public static IEnumerable<(DockerPortSettings Settings, IReadOnlyCollection Output)> DockerPort(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerPort, degreeOfParallelism, completeOnFailure); ///

Manage 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
  • --log-level via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerContainer(DockerContainerSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerContainer(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerContainerSettings())); - /// + /// public static IEnumerable<(DockerContainerSettings Settings, IReadOnlyCollection Output)> DockerContainer(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerContainer, degreeOfParallelism, completeOnFailure); ///

Push an image or a repository to 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
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerImagePush(DockerImagePushSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerImagePush(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerImagePushSettings())); - /// + /// public static IEnumerable<(DockerImagePushSettings Settings, IReadOnlyCollection Output)> DockerImagePush(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerImagePush, degreeOfParallelism, completeOnFailure); ///

Display detailed information on one or more services.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <services> 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 DockerServiceInspect(DockerServiceInspectSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerServiceInspect(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerServiceInspectSettings())); - /// + /// public static IEnumerable<(DockerServiceInspectSettings Settings, IReadOnlyCollection Output)> DockerServiceInspect(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerServiceInspect, degreeOfParallelism, completeOnFailure); ///

Connect a container to a network.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <container> via
  • <network> via
  • --alias via
  • --config via
  • --debug via
  • --driver-opt via
  • --ip via
  • --ip6 via
  • --link via
  • --link-local-ip via
  • --log-level via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerNetworkConnect(DockerNetworkConnectSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerNetworkConnect(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerNetworkConnectSettings())); - /// + /// public static IEnumerable<(DockerNetworkConnectSettings Settings, IReadOnlyCollection Output)> DockerNetworkConnect(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerNetworkConnect, degreeOfParallelism, completeOnFailure); ///

List 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
  • --filter via
  • --format via
  • --log-level via
  • --quiet via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerSecretLs(DockerSecretLsSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerSecretLs(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerSecretLsSettings())); - /// + /// public static IEnumerable<(DockerSecretLsSettings Settings, IReadOnlyCollection Output)> DockerSecretLs(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerSecretLs, degreeOfParallelism, completeOnFailure); ///

Leave the swarm.

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
  • --force via
  • --log-level via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerSwarmLeave(DockerSwarmLeaveSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerSwarmLeave(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerSwarmLeaveSettings())); - /// + /// public static IEnumerable<(DockerSwarmLeaveSettings Settings, IReadOnlyCollection Output)> DockerSwarmLeave(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerSwarmLeave, degreeOfParallelism, completeOnFailure); ///

List images.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <repository> via
  • --all via
  • --config via
  • --debug via
  • --digests via
  • --filter via
  • --format via
  • --log-level via
  • --no-trunc via
  • --quiet via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerImages(DockerImagesSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerImages(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerImagesSettings())); - /// + /// public static IEnumerable<(DockerImagesSettings Settings, IReadOnlyCollection Output)> DockerImages(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerImages, degreeOfParallelism, completeOnFailure); ///

Update a local engine.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --config via
  • --containerd via
  • --debug via
  • --engine-image via
  • --log-level via
  • --registry-prefix via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
  • --version via
public static IReadOnlyCollection DockerEngineUpdate(DockerEngineUpdateSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerEngineUpdate(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerEngineUpdateSettings())); - /// + /// public static IEnumerable<(DockerEngineUpdateSettings Settings, IReadOnlyCollection Output)> DockerEngineUpdate(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerEngineUpdate, degreeOfParallelism, completeOnFailure); ///

Get real time events from the server.

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
  • --since via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
  • --until via
public static IReadOnlyCollection DockerSystemEvents(DockerSystemEventsSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerSystemEvents(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerSystemEventsSettings())); - /// + /// public static IEnumerable<(DockerSystemEventsSettings Settings, IReadOnlyCollection Output)> DockerSystemEvents(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerSystemEvents, degreeOfParallelism, completeOnFailure); ///

Return low-level information on Docker objects.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <names> via
  • --config via
  • --debug via
  • --format via
  • --log-level via
  • --size via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
  • --type via
public static IReadOnlyCollection DockerInspect(DockerInspectSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerInspect(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerInspectSettings())); - /// + /// public static IEnumerable<(DockerInspectSettings Settings, IReadOnlyCollection Output)> DockerInspect(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerInspect, degreeOfParallelism, completeOnFailure); ///

Check for available engine updates.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --config via
  • --containerd via
  • --debug via
  • --downgrades via
  • --engine-image via
  • --format via
  • --log-level via
  • --pre-releases via
  • --quiet via
  • --registry-prefix via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
  • --upgrades via
public static IReadOnlyCollection DockerEngineCheck(DockerEngineCheckSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerEngineCheck(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerEngineCheckSettings())); - /// + /// public static IEnumerable<(DockerEngineCheckSettings Settings, IReadOnlyCollection Output)> DockerEngineCheck(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerEngineCheck, degreeOfParallelism, completeOnFailure); ///

Attach local standard input, output, and error streams to a running 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
  • --config via
  • --debug via
  • --detach-keys via
  • --log-level via
  • --no-stdin via
  • --sig-proxy via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerAttach(DockerAttachSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerAttach(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerAttachSettings())); - /// + /// public static IEnumerable<(DockerAttachSettings Settings, IReadOnlyCollection Output)> DockerAttach(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerAttach, degreeOfParallelism, completeOnFailure); ///

Block until one or more containers stop, then print their exit codes.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <containers> via
  • --config via
  • --debug via
  • --log-level via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerContainerWait(DockerContainerWaitSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerContainerWait(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerContainerWaitSettings())); - /// + /// public static IEnumerable<(DockerContainerWaitSettings Settings, IReadOnlyCollection Output)> DockerContainerWait(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerContainerWait, degreeOfParallelism, completeOnFailure); ///

Display and rotate the root CA.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --ca-cert via
  • --ca-key via
  • --cert-expiry via
  • --config via
  • --debug via
  • --detach via
  • --external-ca via
  • --log-level via
  • --quiet via
  • --rotate via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerSwarmCa(DockerSwarmCaSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerSwarmCa(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerSwarmCaSettings())); - /// + /// public static IEnumerable<(DockerSwarmCaSettings Settings, IReadOnlyCollection Output)> DockerSwarmCa(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerSwarmCa, degreeOfParallelism, completeOnFailure); ///

Manage the docker engine.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <command> via
  • --config via
  • --debug via
  • --log-level via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerEngine(DockerEngineSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerEngine(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerEngineSettings())); - /// + /// public static IEnumerable<(DockerEngineSettings Settings, IReadOnlyCollection Output)> DockerEngine(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerEngine, degreeOfParallelism, completeOnFailure); ///

Remove unused data.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --all via
  • --config via
  • --debug via
  • --filter via
  • --force via
  • --log-level via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
  • --volumes via
public static IReadOnlyCollection DockerSystemPrune(DockerSystemPruneSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerSystemPrune(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerSystemPruneSettings())); - /// + /// public static IEnumerable<(DockerSystemPruneSettings Settings, IReadOnlyCollection Output)> DockerSystemPrune(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerSystemPrune, degreeOfParallelism, completeOnFailure); ///

Manage builds.

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 DockerBuilder(DockerBuilderSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerBuilder(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerBuilderSettings())); - /// + /// public static IEnumerable<(DockerBuilderSettings Settings, IReadOnlyCollection Output)> DockerBuilder(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerBuilder, degreeOfParallelism, completeOnFailure); ///

Pause all processes within one or more containers.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <containers> via
  • --config via
  • --debug via
  • --log-level via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerContainerPause(DockerContainerPauseSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerContainerPause(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerContainerPauseSettings())); - /// + /// public static IEnumerable<(DockerContainerPauseSettings Settings, IReadOnlyCollection Output)> DockerContainerPause(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerContainerPause, degreeOfParallelism, completeOnFailure); ///

Create a new image from a container's changes.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <container> via
  • <repository> via
  • --author via
  • --change via
  • --config via
  • --debug via
  • --log-level via
  • --message via
  • --pause via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerContainerCommit(DockerContainerCommitSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerContainerCommit(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerContainerCommitSettings())); - /// + /// public static IEnumerable<(DockerContainerCommitSettings Settings, IReadOnlyCollection Output)> DockerContainerCommit(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerContainerCommit, degreeOfParallelism, completeOnFailure); ///

List contexts.

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
  • --format via
  • --log-level via
  • --quiet via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerContextLs(DockerContextLsSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerContextLs(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerContextLsSettings())); - /// + /// public static IEnumerable<(DockerContextLsSettings Settings, IReadOnlyCollection Output)> DockerContextLs(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerContextLs, degreeOfParallelism, completeOnFailure); ///

Remove one or more contexts.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <contexts> via
  • --config via
  • --debug via
  • --log-level via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerContextRm(DockerContextRmSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerContextRm(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerContextRmSettings())); - /// + /// public static IEnumerable<(DockerContextRmSettings Settings, IReadOnlyCollection Output)> DockerContextRm(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerContextRm, degreeOfParallelism, completeOnFailure); ///

List the tasks 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
  • --no-resolve via
  • --no-trunc via
  • --orchestrator via
  • --quiet via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerStackPs(DockerStackPsSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerStackPs(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerStackPsSettings())); - /// + /// public static IEnumerable<(DockerStackPsSettings Settings, IReadOnlyCollection Output)> DockerStackPs(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerStackPs, degreeOfParallelism, completeOnFailure); ///

Create a new container.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <args> via
  • <command> via
  • <image> via
  • --add-host via
  • --attach via
  • --blkio-weight via
  • --blkio-weight-device via
  • --cap-add via
  • --cap-drop via
  • --cgroup-parent via
  • --cidfile via
  • --config via
  • --cpu-count via
  • --cpu-percent via
  • --cpu-period via
  • --cpu-quota via
  • --cpu-rt-period via
  • --cpu-rt-runtime via
  • --cpu-shares via
  • --cpus via
  • --cpuset-cpus via
  • --cpuset-mems via
  • --debug via
  • --device via
  • --device-cgroup-rule via
  • --device-read-bps via
  • --device-read-iops via
  • --device-write-bps via
  • --device-write-iops via
  • --disable-content-trust via
  • --dns via
  • --dns-opt via
  • --dns-option via
  • --dns-search via
  • --domainname via
  • --entrypoint via
  • --env via
  • --env-file via
  • --expose via
  • --gpus via
  • --group-add via
  • --health-cmd via
  • --health-interval via
  • --health-retries via
  • --health-start-period via
  • --health-timeout via
  • --help via
  • --hostname via
  • --init via
  • --interactive via
  • --io-maxbandwidth via
  • --io-maxiops via
  • --ip via
  • --ip6 via
  • --ipc via
  • --isolation via
  • --kernel-memory via
  • --label via
  • --label-file via
  • --link via
  • --link-local-ip via
  • --log-driver via
  • --log-level via
  • --log-opt via
  • --mac-address via
  • --memory via
  • --memory-reservation via
  • --memory-swap via
  • --memory-swappiness via
  • --mount via
  • --name via
  • --net via
  • --net-alias via
  • --network via
  • --network-alias via
  • --no-healthcheck via
  • --oom-kill-disable via
  • --oom-score-adj via
  • --pid via
  • --pids-limit via
  • --platform via
  • --privileged via
  • --publish via
  • --publish-all via
  • --read-only via
  • --restart via
  • --rm via
  • --runtime via
  • --security-opt via
  • --shm-size via
  • --stop-signal via
  • --stop-timeout via
  • --storage-opt via
  • --sysctl via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
  • --tmpfs via
  • --tty via
  • --ulimit via
  • --user via
  • --userns via
  • --uts via
  • --volume via
  • --volume-driver via
  • --volumes-from via
  • --workdir via
public static IReadOnlyCollection DockerContainerCreate(DockerContainerCreateSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerContainerCreate(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerContainerCreateSettings())); - /// + /// public static IEnumerable<(DockerContainerCreateSettings Settings, IReadOnlyCollection Output)> DockerContainerCreate(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerContainerCreate, degreeOfParallelism, completeOnFailure); ///

Create a volume.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <volume> via
  • --config via
  • --debug via
  • --driver via
  • --label via
  • --log-level via
  • --name via
  • --opt via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerVolumeCreate(DockerVolumeCreateSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerVolumeCreate(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerVolumeCreateSettings())); - /// + /// public static IEnumerable<(DockerVolumeCreateSettings Settings, IReadOnlyCollection Output)> DockerVolumeCreate(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerVolumeCreate, degreeOfParallelism, completeOnFailure); ///

Manage plugins.

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 DockerPlugin(DockerPluginSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerPlugin(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerPluginSettings())); - /// + /// public static IEnumerable<(DockerPluginSettings Settings, IReadOnlyCollection Output)> DockerPlugin(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerPlugin, degreeOfParallelism, completeOnFailure); ///

Log in to a Docker registry.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <server> via
  • --config via
  • --debug via
  • --log-level via
  • --password via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
  • --username via
public static IReadOnlyCollection DockerLogin(DockerLoginSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerLogin(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerLoginSettings())); - /// + /// public static IEnumerable<(DockerLoginSettings Settings, IReadOnlyCollection Output)> DockerLogin(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerLogin, degreeOfParallelism, completeOnFailure); ///

Manage the unlock key.

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
  • --quiet via
  • --rotate via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerSwarmUnlockKey(DockerSwarmUnlockKeySettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerSwarmUnlockKey(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerSwarmUnlockKeySettings())); - /// + /// public static IEnumerable<(DockerSwarmUnlockKeySettings Settings, IReadOnlyCollection Output)> DockerSwarmUnlockKey(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerSwarmUnlockKey, degreeOfParallelism, completeOnFailure); ///

Start one or more stopped containers.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <containers> via
  • --attach via
  • --checkpoint via
  • --checkpoint-dir via
  • --config via
  • --debug via
  • --detach-keys via
  • --interactive via
  • --log-level via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerStart(DockerStartSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerStart(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerStartSettings())); - /// + /// public static IEnumerable<(DockerStartSettings Settings, IReadOnlyCollection Output)> DockerStart(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerStart, degreeOfParallelism, completeOnFailure); ///

Initialize a swarm.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --advertise-addr via
  • --autolock via
  • --availability via
  • --cert-expiry via
  • --config via
  • --data-path-addr via
  • --data-path-port via
  • --debug via
  • --default-addr-pool via
  • --default-addr-pool-mask-length via
  • --dispatcher-heartbeat via
  • --external-ca via
  • --force-new-cluster via
  • --listen-addr via
  • --log-level via
  • --max-snapshots via
  • --snapshot-interval via
  • --task-history-limit via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerSwarmInit(DockerSwarmInitSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerSwarmInit(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerSwarmInitSettings())); - /// + /// public static IEnumerable<(DockerSwarmInitSettings Settings, IReadOnlyCollection Output)> DockerSwarmInit(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerSwarmInit, degreeOfParallelism, completeOnFailure); ///

Inspect changes to files or directories on a container's filesystem.

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
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerContainerDiff(DockerContainerDiffSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerContainerDiff(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerContainerDiffSettings())); - /// + /// public static IEnumerable<(DockerContainerDiffSettings Settings, IReadOnlyCollection Output)> DockerContainerDiff(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerContainerDiff, degreeOfParallelism, completeOnFailure); ///

Restart one or more containers.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <containers> via
  • --config via
  • --debug via
  • --log-level via
  • --time via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerContainerRestart(DockerContainerRestartSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerContainerRestart(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerContainerRestartSettings())); - /// + /// public static IEnumerable<(DockerContainerRestartSettings Settings, IReadOnlyCollection Output)> DockerContainerRestart(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerContainerRestart, degreeOfParallelism, completeOnFailure); ///

Manage Docker 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
  • --log-level via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerConfig(DockerConfigSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerConfig(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerConfigSettings())); - /// + /// public static IEnumerable<(DockerConfigSettings Settings, IReadOnlyCollection Output)> DockerConfig(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerConfig, degreeOfParallelism, completeOnFailure); ///

Disable a plugin.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <plugin> via
  • --config via
  • --debug via
  • --force via
  • --log-level via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerPluginDisable(DockerPluginDisableSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerPluginDisable(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerPluginDisableSettings())); - /// + /// public static IEnumerable<(DockerPluginDisableSettings Settings, IReadOnlyCollection Output)> DockerPluginDisable(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerPluginDisable, degreeOfParallelism, completeOnFailure); ///

Unpause all processes within one or more containers.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <containers> via
  • --config via
  • --debug via
  • --log-level via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerContainerUnpause(DockerContainerUnpauseSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerContainerUnpause(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerContainerUnpauseSettings())); - /// + /// public static IEnumerable<(DockerContainerUnpauseSettings Settings, IReadOnlyCollection Output)> DockerContainerUnpause(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerContainerUnpause, degreeOfParallelism, completeOnFailure); ///

Import a context from a tar or zip file.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <context> via
  • <file> via
  • --config via
  • --debug via
  • --log-level via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerContextImport(DockerContextImportSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerContextImport(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerContextImportSettings())); - /// + /// public static IEnumerable<(DockerContextImportSettings Settings, IReadOnlyCollection Output)> DockerContextImport(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerContextImport, degreeOfParallelism, completeOnFailure); ///

Remove one or more containers.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <containers> via
  • --config via
  • --debug via
  • --force via
  • --link via
  • --log-level via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
  • --volumes via
public static IReadOnlyCollection DockerRm(DockerRmSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerRm(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerRmSettings())); - /// + /// public static IEnumerable<(DockerRmSettings Settings, IReadOnlyCollection Output)> DockerRm(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerRm, degreeOfParallelism, completeOnFailure); ///

Deploy a new stack or update an existing 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
  • --bundle-file via
  • --compose-file via
  • --config via
  • --debug via
  • --log-level via
  • --namespace via
  • --prune via
  • --resolve-image via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
  • --with-registry-auth via
public static IReadOnlyCollection DockerDeploy(DockerDeploySettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerDeploy(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerDeploySettings())); - /// + /// public static IEnumerable<(DockerDeploySettings Settings, IReadOnlyCollection Output)> DockerDeploy(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerDeploy, degreeOfParallelism, completeOnFailure); ///

Remove one or more nodes from the swarm.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <nodes> via
  • --config via
  • --debug via
  • --force via
  • --log-level via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerNodeRm(DockerNodeRmSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerNodeRm(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerNodeRmSettings())); - /// + /// public static IEnumerable<(DockerNodeRmSettings Settings, IReadOnlyCollection Output)> DockerNodeRm(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerNodeRm, degreeOfParallelism, completeOnFailure); ///

Remove a checkpoint.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <checkpoint> via
  • <container> via
  • --checkpoint-dir via
  • --config via
  • --debug via
  • --log-level via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerCheckpointRm(DockerCheckpointRmSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerCheckpointRm(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerCheckpointRmSettings())); - /// + /// public static IEnumerable<(DockerCheckpointRmSettings Settings, IReadOnlyCollection Output)> DockerCheckpointRm(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerCheckpointRm, degreeOfParallelism, completeOnFailure); ///

Push an image or a repository to 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
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerPush(DockerPushSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerPush(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerPushSettings())); - /// + /// public static IEnumerable<(DockerPushSettings Settings, IReadOnlyCollection Output)> DockerPush(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerPush, degreeOfParallelism, completeOnFailure); ///

Create a network.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <network> via
  • --attachable via
  • --aux-address via
  • --config via
  • --config-from via
  • --config-only via
  • --debug via
  • --driver via
  • --gateway via
  • --ingress via
  • --internal via
  • --ip-range via
  • --ipam-driver via
  • --ipam-opt via
  • --ipv6 via
  • --label via
  • --log-level via
  • --opt via
  • --scope via
  • --subnet via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerNetworkCreate(DockerNetworkCreateSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerNetworkCreate(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerNetworkCreateSettings())); - /// + /// public static IEnumerable<(DockerNetworkCreateSettings Settings, IReadOnlyCollection Output)> DockerNetworkCreate(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerNetworkCreate, degreeOfParallelism, completeOnFailure); ///

List volumes.

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 DockerVolumeLs(DockerVolumeLsSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerVolumeLs(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerVolumeLsSettings())); - /// + /// public static IEnumerable<(DockerVolumeLsSettings Settings, IReadOnlyCollection Output)> DockerVolumeLs(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerVolumeLs, degreeOfParallelism, completeOnFailure); ///

Return low-level information about keys and signatures.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <images> via
  • --config via
  • --debug via
  • --log-level via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerTrustInspect(DockerTrustInspectSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerTrustInspect(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerTrustInspectSettings())); - /// + /// public static IEnumerable<(DockerTrustInspectSettings Settings, IReadOnlyCollection Output)> DockerTrustInspect(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerTrustInspect, degreeOfParallelism, completeOnFailure); ///

Display detailed information on one or more networks.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <networks> via
  • --config via
  • --debug via
  • --format via
  • --log-level via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
  • --verbose via
public static IReadOnlyCollection DockerNetworkInspect(DockerNetworkInspectSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerNetworkInspect(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerNetworkInspectSettings())); - /// + /// public static IEnumerable<(DockerNetworkInspectSettings Settings, IReadOnlyCollection Output)> DockerNetworkInspect(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerNetworkInspect, degreeOfParallelism, completeOnFailure); ///

Activate Enterprise Edition.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --config via
  • --containerd via
  • --debug via
  • --display-only via
  • --engine-image via
  • --format via
  • --license via
  • --log-level via
  • --quiet via
  • --registry-prefix via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
  • --version via
public static IReadOnlyCollection DockerEngineActivate(DockerEngineActivateSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerEngineActivate(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerEngineActivateSettings())); - /// + /// public static IEnumerable<(DockerEngineActivateSettings Settings, IReadOnlyCollection Output)> DockerEngineActivate(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerEngineActivate, degreeOfParallelism, completeOnFailure); ///

Set the current docker 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
  • --log-level via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerContextUse(DockerContextUseSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerContextUse(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerContextUseSettings())); - /// + /// public static IEnumerable<(DockerContextUseSettings Settings, IReadOnlyCollection Output)> DockerContextUse(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerContextUse, degreeOfParallelism, completeOnFailure); ///

Remove one or more volumes.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <volumes> via
  • --config via
  • --debug via
  • --force via
  • --log-level via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerVolumeRm(DockerVolumeRmSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerVolumeRm(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerVolumeRmSettings())); - /// + /// public static IEnumerable<(DockerVolumeRmSettings Settings, IReadOnlyCollection Output)> DockerVolumeRm(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerVolumeRm, degreeOfParallelism, completeOnFailure); ///

Create a local manifest list for annotating and pushing to a registry.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <manifestList> via
  • <manifests> via
  • --config via
  • --debug via
  • --log-level via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerManifestCreate(DockerManifestCreateSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerManifestCreate(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerManifestCreateSettings())); - /// + /// public static IEnumerable<(DockerManifestCreateSettings Settings, IReadOnlyCollection Output)> DockerManifestCreate(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerManifestCreate, degreeOfParallelism, completeOnFailure); ///

Push a manifest list to a repository.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <manifestList> via
  • --config via
  • --debug via
  • --insecure via
  • --log-level via
  • --purge via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerManifestPush(DockerManifestPushSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerManifestPush(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerManifestPushSettings())); - /// + /// public static IEnumerable<(DockerManifestPushSettings Settings, IReadOnlyCollection Output)> DockerManifestPush(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerManifestPush, degreeOfParallelism, completeOnFailure); ///

Enable a plugin.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <plugin> via
  • --config via
  • --debug via
  • --log-level via
  • --timeout via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerPluginEnable(DockerPluginEnableSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerPluginEnable(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerPluginEnableSettings())); - /// + /// public static IEnumerable<(DockerPluginEnableSettings Settings, IReadOnlyCollection Output)> DockerPluginEnable(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerPluginEnable, degreeOfParallelism, completeOnFailure); ///

Import the contents from a tarball to create a filesystem image.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <file> via
  • <repository> via
  • --change via
  • --config via
  • --debug via
  • --log-level via
  • --message via
  • --platform via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerImport(DockerImportSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerImport(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerImportSettings())); - /// + /// public static IEnumerable<(DockerImportSettings Settings, IReadOnlyCollection Output)> DockerImport(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerImport, degreeOfParallelism, completeOnFailure); ///

Run a command in a new container.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <args> via
  • <command> via
  • <image> via
  • --add-host via
  • --attach via
  • --blkio-weight via
  • --blkio-weight-device via
  • --cap-add via
  • --cap-drop via
  • --cgroup-parent via
  • --cidfile via
  • --config via
  • --cpu-count via
  • --cpu-percent via
  • --cpu-period via
  • --cpu-quota via
  • --cpu-rt-period via
  • --cpu-rt-runtime via
  • --cpu-shares via
  • --cpus via
  • --cpuset-cpus via
  • --cpuset-mems via
  • --debug via
  • --detach via
  • --detach-keys via
  • --device via
  • --device-cgroup-rule via
  • --device-read-bps via
  • --device-read-iops via
  • --device-write-bps via
  • --device-write-iops via
  • --disable-content-trust via
  • --dns via
  • --dns-opt via
  • --dns-option via
  • --dns-search via
  • --domainname via
  • --entrypoint via
  • --env via
  • --env-file via
  • --expose via
  • --gpus via
  • --group-add via
  • --health-cmd via
  • --health-interval via
  • --health-retries via
  • --health-start-period via
  • --health-timeout via
  • --help via
  • --hostname via
  • --init via
  • --interactive via
  • --io-maxbandwidth via
  • --io-maxiops via
  • --ip via
  • --ip6 via
  • --ipc via
  • --isolation via
  • --kernel-memory via
  • --label via
  • --label-file via
  • --link via
  • --link-local-ip via
  • --log-driver via
  • --log-level via
  • --log-opt via
  • --mac-address via
  • --memory via
  • --memory-reservation via
  • --memory-swap via
  • --memory-swappiness via
  • --mount via
  • --name via
  • --net via
  • --net-alias via
  • --network via
  • --network-alias via
  • --no-healthcheck via
  • --oom-kill-disable via
  • --oom-score-adj via
  • --pid via
  • --pids-limit via
  • --platform via
  • --privileged via
  • --publish via
  • --publish-all via
  • --read-only via
  • --restart via
  • --rm via
  • --runtime via
  • --security-opt via
  • --shm-size via
  • --sig-proxy via
  • --stop-signal via
  • --stop-timeout via
  • --storage-opt via
  • --sysctl via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
  • --tmpfs via
  • --tty via
  • --ulimit via
  • --user via
  • --userns via
  • --uts via
  • --volume via
  • --volume-driver via
  • --volumes-from via
  • --workdir via
public static IReadOnlyCollection DockerContainerRun(DockerContainerRunSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerContainerRun(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerContainerRunSettings())); - /// + /// public static IEnumerable<(DockerContainerRunSettings Settings, IReadOnlyCollection Output)> DockerContainerRun(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerContainerRun, degreeOfParallelism, completeOnFailure); ///

Display detailed information on one or more nodes.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <selves> 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 DockerNodeInspect(DockerNodeInspectSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerNodeInspect(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerNodeInspectSettings())); - /// + /// public static IEnumerable<(DockerNodeInspectSettings Settings, IReadOnlyCollection Output)> DockerNodeInspect(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerNodeInspect, degreeOfParallelism, completeOnFailure); ///

Save one or more images to a tar archive (streamed to STDOUT by default).

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <images> via
  • --config via
  • --debug via
  • --log-level via
  • --output via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerSave(DockerSaveSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerSave(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerSaveSettings())); - /// + /// public static IEnumerable<(DockerSaveSettings Settings, IReadOnlyCollection Output)> DockerSave(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerSave, degreeOfParallelism, completeOnFailure); ///

Display a live stream of container(s) resource usage statistics.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <containers> via
  • --all via
  • --config via
  • --debug via
  • --format via
  • --log-level via
  • --no-stream via
  • --no-trunc via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerContainerStats(DockerContainerStatsSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerContainerStats(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerContainerStatsSettings())); - /// + /// public static IEnumerable<(DockerContainerStatsSettings Settings, IReadOnlyCollection Output)> DockerContainerStats(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerContainerStats, degreeOfParallelism, completeOnFailure); ///

Run a command in a running container.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <args> via
  • <command> via
  • <container> via
  • --config via
  • --debug via
  • --detach via
  • --detach-keys via
  • --env via
  • --interactive via
  • --log-level via
  • --privileged via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
  • --tty via
  • --user via
  • --workdir via
public static IReadOnlyCollection DockerContainerExec(DockerContainerExecSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerContainerExec(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerContainerExecSettings())); - /// + /// public static IEnumerable<(DockerContainerExecSettings Settings, IReadOnlyCollection Output)> DockerContainerExec(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerContainerExec, degreeOfParallelism, completeOnFailure); ///

List nodes in the swarm.

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 DockerNodeLs(DockerNodeLsSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerNodeLs(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerNodeLsSettings())); - /// + /// public static IEnumerable<(DockerNodeLsSettings Settings, IReadOnlyCollection Output)> DockerNodeLs(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerNodeLs, degreeOfParallelism, completeOnFailure); ///

Join a swarm as a node and/or manager.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --advertise-addr via
  • --availability via
  • --config via
  • --data-path-addr via
  • --debug via
  • --listen-addr via
  • --log-level via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
  • --token via
public static IReadOnlyCollection DockerSwarmJoin(DockerSwarmJoinSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerSwarmJoin(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerSwarmJoinSettings())); - /// + /// public static IEnumerable<(DockerSwarmJoinSettings Settings, IReadOnlyCollection Output)> DockerSwarmJoin(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerSwarmJoin, degreeOfParallelism, completeOnFailure); ///

Fetch the logs of 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
  • --config via
  • --debug via
  • --details via
  • --follow via
  • --log-level via
  • --since via
  • --tail via
  • --timestamps via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
  • --until via
public static IReadOnlyCollection DockerContainerLogs(DockerContainerLogsSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerContainerLogs(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerContainerLogsSettings())); - /// + /// public static IEnumerable<(DockerContainerLogsSettings Settings, IReadOnlyCollection Output)> DockerContainerLogs(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerContainerLogs, degreeOfParallelism, completeOnFailure); ///

List checkpoints for 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
  • --checkpoint-dir via
  • --config via
  • --debug via
  • --log-level via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerCheckpointLs(DockerCheckpointLsSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerCheckpointLs(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerCheckpointLsSettings())); - /// + /// public static IEnumerable<(DockerCheckpointLsSettings Settings, IReadOnlyCollection Output)> DockerCheckpointLs(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerCheckpointLs, degreeOfParallelism, completeOnFailure); ///

Kill one or more running containers.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <containers> via
  • --config via
  • --debug via
  • --log-level via
  • --signal via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerContainerKill(DockerContainerKillSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerContainerKill(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerContainerKillSettings())); - /// + /// public static IEnumerable<(DockerContainerKillSettings Settings, IReadOnlyCollection Output)> DockerContainerKill(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerContainerKill, degreeOfParallelism, completeOnFailure); ///

Install a plugin.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <keyValues> via
  • <plugin> via
  • --alias via
  • --config via
  • --debug via
  • --disable via
  • --disable-content-trust via
  • --grant-all-permissions via
  • --log-level via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerPluginInstall(DockerPluginInstallSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerPluginInstall(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerPluginInstallSettings())); - /// + /// public static IEnumerable<(DockerPluginInstallSettings Settings, IReadOnlyCollection Output)> DockerPluginInstall(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerPluginInstall, degreeOfParallelism, completeOnFailure); ///

Remove unused images.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --all via
  • --config via
  • --debug via
  • --filter via
  • --force via
  • --log-level via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerImagePrune(DockerImagePruneSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerImagePrune(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerImagePruneSettings())); - /// + /// public static IEnumerable<(DockerImagePruneSettings Settings, IReadOnlyCollection Output)> DockerImagePrune(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerImagePrune, degreeOfParallelism, completeOnFailure); ///

Import the contents from a tarball to create a filesystem image.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <file> via
  • <repository> via
  • --change via
  • --config via
  • --debug via
  • --log-level via
  • --message via
  • --platform via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerImageImport(DockerImageImportSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerImageImport(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerImageImportSettings())); - /// + /// public static IEnumerable<(DockerImageImportSettings Settings, IReadOnlyCollection Output)> DockerImageImport(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerImageImport, degreeOfParallelism, completeOnFailure); ///

Inspect changes to files or directories on a container's filesystem.

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
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerDiff(DockerDiffSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerDiff(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerDiffSettings())); - /// + /// public static IEnumerable<(DockerDiffSettings Settings, IReadOnlyCollection Output)> DockerDiff(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerDiff, degreeOfParallelism, completeOnFailure); ///

Unpause all processes within one or more containers.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <containers> via
  • --config via
  • --debug via
  • --log-level via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerUnpause(DockerUnpauseSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerUnpause(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerUnpauseSettings())); - /// + /// public static IEnumerable<(DockerUnpauseSettings Settings, IReadOnlyCollection Output)> DockerUnpause(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerUnpause, degreeOfParallelism, completeOnFailure); ///

List containers.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --all via
  • --config via
  • --debug via
  • --filter via
  • --format via
  • --last via
  • --latest via
  • --log-level via
  • --no-trunc via
  • --quiet via
  • --size via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerContainerLs(DockerContainerLsSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerContainerLs(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerContainerLsSettings())); - /// + /// public static IEnumerable<(DockerContainerLsSettings Settings, IReadOnlyCollection Output)> DockerContainerLs(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerContainerLs, degreeOfParallelism, completeOnFailure); ///

List tasks running on one or more nodes, defaults to current node.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <nodes> via
  • --config via
  • --debug via
  • --filter via
  • --format via
  • --log-level via
  • --no-resolve via
  • --no-trunc via
  • --quiet via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerNodePs(DockerNodePsSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerNodePs(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerNodePsSettings())); - /// + /// public static IEnumerable<(DockerNodePsSettings Settings, IReadOnlyCollection Output)> DockerNodePs(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerNodePs, degreeOfParallelism, completeOnFailure); ///

Display the running processes of 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
  • <options> via
  • --config via
  • --debug via
  • --log-level via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerContainerTop(DockerContainerTopSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerContainerTop(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerContainerTopSettings())); - /// + /// public static IEnumerable<(DockerContainerTopSettings Settings, IReadOnlyCollection Output)> DockerContainerTop(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerContainerTop, 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 DockerContainerRename(DockerContainerRenameSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerContainerRename(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerContainerRenameSettings())); - /// + /// public static IEnumerable<(DockerContainerRenameSettings Settings, IReadOnlyCollection Output)> DockerContainerRename(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerContainerRename, degreeOfParallelism, completeOnFailure); ///

Show the history of an image.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <image> via
  • --config via
  • --debug via
  • --format via
  • --human via
  • --log-level via
  • --no-trunc via
  • --quiet via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerImageHistory(DockerImageHistorySettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerImageHistory(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerImageHistorySettings())); - /// + /// public static IEnumerable<(DockerImageHistorySettings Settings, IReadOnlyCollection Output)> DockerImageHistory(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerImageHistory, degreeOfParallelism, completeOnFailure); ///

List containers.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --all via
  • --config via
  • --debug via
  • --filter via
  • --format via
  • --last via
  • --latest via
  • --log-level via
  • --no-trunc via
  • --quiet via
  • --size via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerPs(DockerPsSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerPs(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerPsSettings())); - /// + /// public static IEnumerable<(DockerPsSettings Settings, IReadOnlyCollection Output)> DockerPs(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerPs, 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 DockerImageTag(DockerImageTagSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerImageTag(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerImageTagSettings())); - /// + /// public static IEnumerable<(DockerImageTagSettings Settings, IReadOnlyCollection Output)> DockerImageTag(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerImageTag, 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 DockerExport(DockerExportSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerExport(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerExportSettings())); - /// + /// public static IEnumerable<(DockerExportSettings Settings, IReadOnlyCollection Output)> DockerExport(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerExport, degreeOfParallelism, completeOnFailure); ///

Disconnect a container from a network.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <container> via
  • <network> via
  • --config via
  • --debug via
  • --force via
  • --log-level via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerNetworkDisconnect(DockerNetworkDisconnectSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerNetworkDisconnect(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerNetworkDisconnectSettings())); - /// + /// public static IEnumerable<(DockerNetworkDisconnectSettings Settings, IReadOnlyCollection Output)> DockerNetworkDisconnect(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerNetworkDisconnect, degreeOfParallelism, completeOnFailure); ///

Build an image from a Dockerfile.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <path> via
  • --add-host via
  • --build-arg via
  • --cache-from via
  • --cgroup-parent via
  • --compress via
  • --config via
  • --cpu-period via
  • --cpu-quota via
  • --cpu-shares via
  • --cpuset-cpus via
  • --cpuset-mems via
  • --debug via
  • --disable-content-trust via
  • --file via
  • --force-rm via
  • --iidfile via
  • --isolation via
  • --label via
  • --log-level via
  • --memory via
  • --memory-swap via
  • --network via
  • --no-cache via
  • --output via
  • --platform via
  • --progress via
  • --pull via
  • --quiet via
  • --rm via
  • --secret via
  • --security-opt via
  • --shm-size via
  • --squash via
  • --ssh via
  • --stream via
  • --tag via
  • --target via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
  • --ulimit via
public static IReadOnlyCollection DockerBuilderBuild(DockerBuilderBuildSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerBuilderBuild(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerBuilderBuildSettings())); - /// + /// public static IEnumerable<(DockerBuilderBuildSettings Settings, IReadOnlyCollection Output)> DockerBuilderBuild(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerBuilderBuild, degreeOfParallelism, completeOnFailure); ///

Build an image from a Dockerfile using Docker Buildx plugin.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <path> via
  • --add-host via
  • --allow via
  • --build-arg via
  • --builder via
  • --cache-from via
  • --cache-to via
  • --cgroup-parent via
  • --compress via
  • --config via
  • --cpu-period via
  • --cpu-quota via
  • --cpu-shares via
  • --cpuset-cpus via
  • --cpuset-mems via
  • --debug via
  • --file via
  • --iidfile via
  • --isolation via
  • --label via
  • --load via
  • --log-level via
  • --memory via
  • --memory-swap via
  • --network via
  • --no-cache via
  • --output via
  • --platform via
  • --progress via
  • --pull via
  • --push via
  • --quiet via
  • --rm via
  • --secret via
  • --security-opt via
  • --shm-size via
  • --ssh via
  • --tag via
  • --target via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
  • --ulimit via
public static IReadOnlyCollection DockerBuildxBuild(DockerBuildxBuildSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerBuildxBuild(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerBuildxBuildSettings())); - /// + /// public static IEnumerable<(DockerBuildxBuildSettings Settings, IReadOnlyCollection Output)> DockerBuildxBuild(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerBuildxBuild, degreeOfParallelism, completeOnFailure); ///

Create a new builder instance using Docker Buildx plugin.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --append via
  • --bootstrap via
  • --buildkitd-flags via
  • --buildkitd-flags via
  • --config via
  • --config via
  • --debug via
  • --driver via
  • --driver-opt via
  • --leave via
  • --log-level via
  • --name via
  • --node via
  • --platform via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
  • --use via
public static IReadOnlyCollection DockerBuildxCreate(DockerBuildxCreateSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerBuildxCreate(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerBuildxCreateSettings())); - /// + /// public static IEnumerable<(DockerBuildxCreateSettings Settings, IReadOnlyCollection Output)> DockerBuildxCreate(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerBuildxCreate, degreeOfParallelism, completeOnFailure); ///

Display a live stream of container(s) resource usage statistics.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <containers> via
  • --all via
  • --config via
  • --debug via
  • --format via
  • --log-level via
  • --no-stream via
  • --no-trunc via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerStats(DockerStatsSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerStats(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerStatsSettings())); - /// + /// public static IEnumerable<(DockerStatsSettings Settings, IReadOnlyCollection Output)> DockerStats(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerStats, degreeOfParallelism, completeOnFailure); ///

Search the Docker Hub for images.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <term> via
  • --automated via
  • --config via
  • --debug via
  • --filter via
  • --format via
  • --limit via
  • --log-level via
  • --no-trunc via
  • --stars via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerSearch(DockerSearchSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerSearch(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerSearchSettings())); - /// + /// public static IEnumerable<(DockerSearchSettings Settings, IReadOnlyCollection Output)> DockerSearch(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerSearch, degreeOfParallelism, completeOnFailure); ///

Manage Docker image manifests and manifest lists.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <command> via
  • --config via
  • --debug via
  • --log-level via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerManifest(DockerManifestSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerManifest(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerManifestSettings())); - /// + /// public static IEnumerable<(DockerManifestSettings Settings, IReadOnlyCollection Output)> DockerManifest(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerManifest, degreeOfParallelism, completeOnFailure); ///

Push a plugin to a registry.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <plugin> via
  • --config via
  • --debug via
  • --disable-content-trust via
  • --log-level via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerPluginPush(DockerPluginPushSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerPluginPush(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerPluginPushSettings())); - /// + /// public static IEnumerable<(DockerPluginPushSettings Settings, IReadOnlyCollection Output)> DockerPluginPush(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerPluginPush, 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 DockerImageLoad(DockerImageLoadSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerImageLoad(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerImageLoadSettings())); - /// + /// public static IEnumerable<(DockerImageLoadSettings Settings, IReadOnlyCollection Output)> DockerImageLoad(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerImageLoad, degreeOfParallelism, completeOnFailure); ///

Manage Swarm.

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 DockerSwarm(DockerSwarmSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerSwarm(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerSwarmSettings())); - /// + /// public static IEnumerable<(DockerSwarmSettings Settings, IReadOnlyCollection Output)> DockerSwarm(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerSwarm, degreeOfParallelism, completeOnFailure); ///

Remove one or more containers.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <containers> via
  • --config via
  • --debug via
  • --force via
  • --link via
  • --log-level via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
  • --volumes via
public static IReadOnlyCollection DockerContainerRm(DockerContainerRmSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerContainerRm(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerContainerRmSettings())); - /// + /// public static IEnumerable<(DockerContainerRmSettings Settings, IReadOnlyCollection Output)> DockerContainerRm(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerContainerRm, degreeOfParallelism, completeOnFailure); ///

Update configuration of one or more containers.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <containers> via
  • --blkio-weight via
  • --config via
  • --cpu-period via
  • --cpu-quota via
  • --cpu-rt-period via
  • --cpu-rt-runtime via
  • --cpu-shares via
  • --cpus via
  • --cpuset-cpus via
  • --cpuset-mems via
  • --debug via
  • --kernel-memory via
  • --log-level via
  • --memory via
  • --memory-reservation via
  • --memory-swap via
  • --pids-limit via
  • --restart via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerContainerUpdate(DockerContainerUpdateSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerContainerUpdate(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerContainerUpdateSettings())); - /// + /// public static IEnumerable<(DockerContainerUpdateSettings Settings, IReadOnlyCollection Output)> DockerContainerUpdate(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerContainerUpdate, degreeOfParallelism, completeOnFailure); ///

Change settings for a plugin.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <keyValues> via
  • <plugin> via
  • --config via
  • --debug via
  • --log-level via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerPluginSet(DockerPluginSetSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerPluginSet(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerPluginSetSettings())); - /// + /// public static IEnumerable<(DockerPluginSetSettings Settings, IReadOnlyCollection Output)> DockerPluginSet(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerPluginSet, degreeOfParallelism, completeOnFailure); ///

Block until one or more containers stop, then print their exit codes.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <containers> via
  • --config via
  • --debug via
  • --log-level via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerWait(DockerWaitSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerWait(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerWaitSettings())); - /// + /// public static IEnumerable<(DockerWaitSettings Settings, IReadOnlyCollection Output)> DockerWait(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerWait, degreeOfParallelism, completeOnFailure); ///

Export a context to a tar or kubeconfig file.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <context> via
  • <file> via
  • --config via
  • --debug via
  • --kubeconfig via
  • --log-level via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerContextExport(DockerContextExportSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerContextExport(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerContextExportSettings())); - /// + /// public static IEnumerable<(DockerContextExportSettings Settings, IReadOnlyCollection Output)> DockerContextExport(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerContextExport, degreeOfParallelism, completeOnFailure); ///

Add additional information to a local image manifest.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <manifest> via
  • <manifestList> via
  • --arch via
  • --config via
  • --debug via
  • --log-level via
  • --os via
  • --os-features via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
  • --variant via
public static IReadOnlyCollection DockerManifestAnnotate(DockerManifestAnnotateSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerManifestAnnotate(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerManifestAnnotateSettings())); - /// + /// public static IEnumerable<(DockerManifestAnnotateSettings Settings, IReadOnlyCollection Output)> DockerManifestAnnotate(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerManifestAnnotate, 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 DockerImagePull(DockerImagePullSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerImagePull(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerImagePullSettings())); - /// + /// public static IEnumerable<(DockerImagePullSettings Settings, IReadOnlyCollection Output)> DockerImagePull(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerImagePull, degreeOfParallelism, completeOnFailure); ///

Get real time events from the server.

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
  • --since via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
  • --until via
public static IReadOnlyCollection DockerEvents(DockerEventsSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerEvents(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerEventsSettings())); - /// + /// public static IEnumerable<(DockerEventsSettings Settings, IReadOnlyCollection Output)> DockerEvents(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerEvents, degreeOfParallelism, completeOnFailure); ///

List stacks.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --all-namespaces via
  • --config via
  • --debug via
  • --format via
  • --kubeconfig via
  • --log-level via
  • --namespace via
  • --orchestrator via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerStackLs(DockerStackLsSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerStackLs(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerStackLsSettings())); - /// + /// public static IEnumerable<(DockerStackLsSettings Settings, IReadOnlyCollection Output)> DockerStackLs(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerStackLs, degreeOfParallelism, completeOnFailure); ///

Display detailed information on one or more containers.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <containers> via
  • --config via
  • --debug via
  • --format via
  • --log-level via
  • --size via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerContainerInspect(DockerContainerInspectSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerContainerInspect(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerContainerInspectSettings())); - /// + /// public static IEnumerable<(DockerContainerInspectSettings Settings, IReadOnlyCollection Output)> DockerContainerInspect(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerContainerInspect, degreeOfParallelism, completeOnFailure); ///

Kill one or more running containers.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <containers> via
  • --config via
  • --debug via
  • --log-level via
  • --signal via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerKill(DockerKillSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerKill(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerKillSettings())); - /// + /// public static IEnumerable<(DockerKillSettings Settings, IReadOnlyCollection Output)> DockerKill(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerKill, degreeOfParallelism, completeOnFailure); ///

Create a checkpoint from a running container.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <checkpoint> via
  • <container> via
  • --checkpoint-dir via
  • --config via
  • --debug via
  • --leave-running via
  • --log-level via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerCheckpointCreate(DockerCheckpointCreateSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerCheckpointCreate(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerCheckpointCreateSettings())); - /// + /// public static IEnumerable<(DockerCheckpointCreateSettings Settings, IReadOnlyCollection Output)> DockerCheckpointCreate(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerCheckpointCreate, degreeOfParallelism, completeOnFailure); ///

Pause all processes within one or more containers.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <containers> via
  • --config via
  • --debug via
  • --log-level via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerPause(DockerPauseSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerPause(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerPauseSettings())); - /// + /// public static IEnumerable<(DockerPauseSettings Settings, IReadOnlyCollection Output)> DockerPause(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerPause, degreeOfParallelism, completeOnFailure); ///

Fetch the logs of 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
  • --config via
  • --debug via
  • --details via
  • --follow via
  • --log-level via
  • --since via
  • --tail via
  • --timestamps via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
  • --until via
public static IReadOnlyCollection DockerLogs(DockerLogsSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerLogs(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerLogsSettings())); - /// + /// public static IEnumerable<(DockerLogsSettings Settings, IReadOnlyCollection Output)> DockerLogs(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerLogs, degreeOfParallelism, completeOnFailure); ///

Display detailed information on one or more contexts.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <context> via
  • <contexts> via
  • --config via
  • --debug via
  • --format via
  • --log-level via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerContextInspect(DockerContextInspectSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerContextInspect(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerContextInspectSettings())); - /// + /// public static IEnumerable<(DockerContextInspectSettings Settings, IReadOnlyCollection Output)> DockerContextInspect(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerContextInspect, degreeOfParallelism, completeOnFailure); ///

Promote one or more nodes to manager in the swarm.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <nodes> via
  • --config via
  • --debug via
  • --log-level via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerNodePromote(DockerNodePromoteSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerNodePromote(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerNodePromoteSettings())); - /// + /// public static IEnumerable<(DockerNodePromoteSettings Settings, IReadOnlyCollection Output)> DockerNodePromote(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerNodePromote, degreeOfParallelism, completeOnFailure); ///

Demote one or more nodes from manager in the swarm.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <nodes> via
  • --config via
  • --debug via
  • --log-level via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerNodeDemote(DockerNodeDemoteSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerNodeDemote(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerNodeDemoteSettings())); - /// + /// public static IEnumerable<(DockerNodeDemoteSettings Settings, IReadOnlyCollection Output)> DockerNodeDemote(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerNodeDemote, degreeOfParallelism, completeOnFailure); ///

Run a command in a running container.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <args> via
  • <command> via
  • <container> via
  • --config via
  • --debug via
  • --detach via
  • --detach-keys via
  • --env via
  • --interactive via
  • --log-level via
  • --privileged via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
  • --tty via
  • --user via
  • --workdir via
public static IReadOnlyCollection DockerExec(DockerExecSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerExec(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerExecSettings())); - /// + /// public static IEnumerable<(DockerExecSettings Settings, IReadOnlyCollection Output)> DockerExec(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerExec, degreeOfParallelism, completeOnFailure); ///

Remove one or more images.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <images> via
  • --config via
  • --debug via
  • --force via
  • --log-level via
  • --no-prune via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerImageRm(DockerImageRmSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerImageRm(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerImageRmSettings())); - /// + /// public static IEnumerable<(DockerImageRmSettings Settings, IReadOnlyCollection Output)> DockerImageRm(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerImageRm, degreeOfParallelism, completeOnFailure); ///

Manage 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 DockerImage(DockerImageSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerImage(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerImageSettings())); - /// + /// public static IEnumerable<(DockerImageSettings Settings, IReadOnlyCollection Output)> DockerImage(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerImage, degreeOfParallelism, completeOnFailure); ///

Manage contexts.

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 DockerContext(DockerContextSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerContext(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerContextSettings())); - /// + /// public static IEnumerable<(DockerContextSettings Settings, IReadOnlyCollection Output)> DockerContext(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerContext, degreeOfParallelism, completeOnFailure); ///

Manage volumes.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <command> via
  • --config via
  • --debug via
  • --log-level via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerVolume(DockerVolumeSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerVolume(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerVolumeSettings())); - /// + /// public static IEnumerable<(DockerVolumeSettings Settings, IReadOnlyCollection Output)> DockerVolume(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerVolume, degreeOfParallelism, completeOnFailure); ///

Start one or more stopped containers.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <containers> via
  • --attach via
  • --checkpoint via
  • --checkpoint-dir via
  • --config via
  • --debug via
  • --detach-keys via
  • --interactive via
  • --log-level via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerContainerStart(DockerContainerStartSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerContainerStart(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerContainerStartSettings())); - /// + /// public static IEnumerable<(DockerContainerStartSettings Settings, IReadOnlyCollection Output)> DockerContainerStart(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerContainerStart, degreeOfParallelism, completeOnFailure); ///

Display detailed information on one or more plugins.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <plugins> via
  • --config via
  • --debug via
  • --format via
  • --log-level via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerPluginInspect(DockerPluginInspectSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerPluginInspect(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerPluginInspectSettings())); - /// + /// public static IEnumerable<(DockerPluginInspectSettings Settings, IReadOnlyCollection Output)> DockerPluginInspect(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerPluginInspect, degreeOfParallelism, completeOnFailure); ///

Log out from a Docker registry.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <server> via
  • --config via
  • --debug via
  • --log-level via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerLogout(DockerLogoutSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerLogout(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerLogoutSettings())); - /// + /// public static IEnumerable<(DockerLogoutSettings Settings, IReadOnlyCollection Output)> DockerLogout(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerLogout, degreeOfParallelism, completeOnFailure); ///

Manage networks.

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 DockerNetwork(DockerNetworkSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerNetwork(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerNetworkSettings())); - /// + /// public static IEnumerable<(DockerNetworkSettings Settings, IReadOnlyCollection Output)> DockerNetwork(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerNetwork, degreeOfParallelism, completeOnFailure); ///

List images.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <repository> via
  • --all via
  • --config via
  • --debug via
  • --digests via
  • --filter via
  • --format via
  • --log-level via
  • --no-trunc via
  • --quiet via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerImageLs(DockerImageLsSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerImageLs(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerImageLsSettings())); - /// + /// public static IEnumerable<(DockerImageLsSettings Settings, IReadOnlyCollection Output)> DockerImageLs(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerImageLs, degreeOfParallelism, completeOnFailure); ///

Show docker disk usage.

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
  • --format via
  • --log-level via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
  • --verbose via
public static IReadOnlyCollection DockerSystemDf(DockerSystemDfSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerSystemDf(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerSystemDfSettings())); - /// + /// public static IEnumerable<(DockerSystemDfSettings Settings, IReadOnlyCollection Output)> DockerSystemDf(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerSystemDf, degreeOfParallelism, completeOnFailure); ///

Revert changes to a service's configuration.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <service> via
  • --config via
  • --debug via
  • --detach via
  • --log-level via
  • --quiet via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerServiceRollback(DockerServiceRollbackSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerServiceRollback(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerServiceRollbackSettings())); - /// + /// public static IEnumerable<(DockerServiceRollbackSettings Settings, IReadOnlyCollection Output)> DockerServiceRollback(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerServiceRollback, degreeOfParallelism, completeOnFailure); ///

Restart one or more containers.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <containers> via
  • --config via
  • --debug via
  • --log-level via
  • --time via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerRestart(DockerRestartSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerRestart(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerRestartSettings())); - /// + /// public static IEnumerable<(DockerRestartSettings Settings, IReadOnlyCollection Output)> DockerRestart(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerRestart, degreeOfParallelism, completeOnFailure); ///

Remove a signer.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <name> via
  • <repositories> via
  • --config via
  • --debug via
  • --force via
  • --log-level via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerTrustSignerRemove(DockerTrustSignerRemoveSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerTrustSignerRemove(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerTrustSignerRemoveSettings())); - /// + /// public static IEnumerable<(DockerTrustSignerRemoveSettings Settings, IReadOnlyCollection Output)> DockerTrustSignerRemove(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerTrustSignerRemove, degreeOfParallelism, completeOnFailure); ///

Remove one or more stacks.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <stacks> via
  • --config via
  • --debug via
  • --kubeconfig via
  • --log-level via
  • --namespace via
  • --orchestrator via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
public static IReadOnlyCollection DockerStackRm(DockerStackRmSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerStackRm(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerStackRmSettings())); - /// + /// public static IEnumerable<(DockerStackRmSettings Settings, IReadOnlyCollection Output)> DockerStackRm(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerStackRm, degreeOfParallelism, completeOnFailure); ///

Build an image from a Dockerfile.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <path> via
  • --add-host via
  • --build-arg via
  • --cache-from via
  • --cgroup-parent via
  • --compress via
  • --config via
  • --cpu-period via
  • --cpu-quota via
  • --cpu-shares via
  • --cpuset-cpus via
  • --cpuset-mems via
  • --debug via
  • --disable-content-trust via
  • --file via
  • --force-rm via
  • --iidfile via
  • --isolation via
  • --label via
  • --log-level via
  • --memory via
  • --memory-swap via
  • --network via
  • --no-cache via
  • --output via
  • --platform via
  • --progress via
  • --pull via
  • --quiet via
  • --rm via
  • --secret via
  • --security-opt via
  • --shm-size via
  • --squash via
  • --ssh via
  • --stream via
  • --tag via
  • --target via
  • --tls via
  • --tlscacert via
  • --tlscert via
  • --tlskey via
  • --tlsverify via
  • --ulimit via
public static IReadOnlyCollection DockerBuild(DockerBuildSettings options = null) => new DockerTasks().Run(options); - /// + /// public static IReadOnlyCollection DockerBuild(Configure configurator) => new DockerTasks().Run(configurator.Invoke(new DockerBuildSettings())); - /// + /// public static IEnumerable<(DockerBuildSettings Settings, IReadOnlyCollection Output)> DockerBuild(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DockerBuild, degreeOfParallelism, completeOnFailure); } #region DockerConfigRmSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerConfigRm), Arguments = "config rm")] public partial class DockerConfigRmSettings : DockerOptionsBase @@ -1343,7 +1343,7 @@ public partial class DockerConfigRmSettings : DockerOptionsBase } #endregion #region DockerLoadSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerLoad), Arguments = "load")] public partial class DockerLoadSettings : DockerOptionsBase @@ -1355,7 +1355,7 @@ public partial class DockerLoadSettings : DockerOptionsBase } #endregion #region DockerContainerPruneSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerContainerPrune), Arguments = "container prune")] public partial class DockerContainerPruneSettings : DockerOptionsBase @@ -1367,7 +1367,7 @@ public partial class DockerContainerPruneSettings : DockerOptionsBase } #endregion #region DockerTrustSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerTrust), Arguments = "trust")] public partial class DockerTrustSettings : DockerOptionsBase @@ -1375,7 +1375,7 @@ public partial class DockerTrustSettings : DockerOptionsBase } #endregion #region DockerStackSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerStack), Arguments = "stack")] public partial class DockerStackSettings : DockerOptionsBase @@ -1387,7 +1387,7 @@ public partial class DockerStackSettings : DockerOptionsBase } #endregion #region DockerPullSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerPull), Arguments = "pull")] public partial class DockerPullSettings : DockerOptionsBase @@ -1405,7 +1405,7 @@ public partial class DockerPullSettings : DockerOptionsBase } #endregion #region DockerTrustSignSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerTrustSign), Arguments = "trust sign IMAGE:TAG")] public partial class DockerTrustSignSettings : DockerOptionsBase @@ -1413,7 +1413,7 @@ public partial class DockerTrustSignSettings : DockerOptionsBase } #endregion #region DockerCheckpointSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerCheckpoint), Arguments = "checkpoint")] public partial class DockerCheckpointSettings : DockerOptionsBase @@ -1421,7 +1421,7 @@ public partial class DockerCheckpointSettings : DockerOptionsBase } #endregion #region DockerTrustSignerSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerTrustSigner), Arguments = "trust signer")] public partial class DockerTrustSignerSettings : DockerOptionsBase @@ -1429,7 +1429,7 @@ public partial class DockerTrustSignerSettings : DockerOptionsBase } #endregion #region DockerConfigInspectSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerConfigInspect), Arguments = "config inspect")] public partial class DockerConfigInspectSettings : DockerOptionsBase @@ -1443,7 +1443,7 @@ public partial class DockerConfigInspectSettings : DockerOptionsBase } #endregion #region DockerServiceSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerService), Arguments = "service")] public partial class DockerServiceSettings : DockerOptionsBase @@ -1451,7 +1451,7 @@ public partial class DockerServiceSettings : DockerOptionsBase } #endregion #region DockerTrustKeyGenerateSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerTrustKeyGenerate), Arguments = "trust key generate")] public partial class DockerTrustKeyGenerateSettings : DockerOptionsBase @@ -1461,7 +1461,7 @@ public partial class DockerTrustKeyGenerateSettings : DockerOptionsBase } #endregion #region DockerSystemSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerSystem), Arguments = "system")] public partial class DockerSystemSettings : DockerOptionsBase @@ -1469,7 +1469,7 @@ public partial class DockerSystemSettings : DockerOptionsBase } #endregion #region DockerConfigLsSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerConfigLs), Arguments = "config ls")] public partial class DockerConfigLsSettings : DockerOptionsBase @@ -1483,7 +1483,7 @@ public partial class DockerConfigLsSettings : DockerOptionsBase } #endregion #region DockerContextUpdateSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerContextUpdate), Arguments = "context update")] public partial class DockerContextUpdateSettings : DockerOptionsBase @@ -1501,7 +1501,7 @@ public partial class DockerContextUpdateSettings : DockerOptionsBase } #endregion #region DockerStackServicesSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerStackServices), Arguments = "stack services")] public partial class DockerStackServicesSettings : DockerStackSettings @@ -1519,7 +1519,7 @@ public partial class DockerStackServicesSettings : DockerStackSettings } #endregion #region DockerContainerPortSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerContainerPort), Arguments = "container port")] public partial class DockerContainerPortSettings : DockerOptionsBase @@ -1531,7 +1531,7 @@ public partial class DockerContainerPortSettings : DockerOptionsBase } #endregion #region DockerRenameSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerRename), Arguments = "rename")] public partial class DockerRenameSettings : DockerOptionsBase @@ -1543,7 +1543,7 @@ public partial class DockerRenameSettings : DockerOptionsBase } #endregion #region DockerTagSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerTag), Arguments = "tag")] public partial class DockerTagSettings : DockerOptionsBase @@ -1555,7 +1555,7 @@ public partial class DockerTagSettings : DockerOptionsBase } #endregion #region DockerSecretInspectSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerSecretInspect), Arguments = "secret inspect")] public partial class DockerSecretInspectSettings : DockerOptionsBase @@ -1569,7 +1569,7 @@ public partial class DockerSecretInspectSettings : DockerOptionsBase } #endregion #region DockerSecretSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerSecret), Arguments = "secret")] public partial class DockerSecretSettings : DockerOptionsBase @@ -1577,7 +1577,7 @@ public partial class DockerSecretSettings : DockerOptionsBase } #endregion #region DockerContainerExportSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerContainerExport), Arguments = "container export")] public partial class DockerContainerExportSettings : DockerOptionsBase @@ -1589,7 +1589,7 @@ public partial class DockerContainerExportSettings : DockerOptionsBase } #endregion #region DockerHistorySettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerHistory), Arguments = "history")] public partial class DockerHistorySettings : DockerOptionsBase @@ -1607,7 +1607,7 @@ public partial class DockerHistorySettings : DockerOptionsBase } #endregion #region DockerServiceCreateSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerServiceCreate), Arguments = "service create")] public partial class DockerServiceCreateSettings : DockerOptionsBase @@ -1753,7 +1753,7 @@ public partial class DockerServiceCreateSettings : DockerOptionsBase } #endregion #region DockerServicePsSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerServicePs), Arguments = "service ps")] public partial class DockerServicePsSettings : DockerOptionsBase @@ -1773,7 +1773,7 @@ public partial class DockerServicePsSettings : DockerOptionsBase } #endregion #region DockerStopSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerStop), Arguments = "stop")] public partial class DockerStopSettings : DockerOptionsBase @@ -1785,7 +1785,7 @@ public partial class DockerStopSettings : DockerOptionsBase } #endregion #region DockerNodeSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerNode), Arguments = "node")] public partial class DockerNodeSettings : DockerOptionsBase @@ -1793,7 +1793,7 @@ public partial class DockerNodeSettings : DockerOptionsBase } #endregion #region DockerUpdateSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerUpdate), Arguments = "update")] public partial class DockerUpdateSettings : DockerOptionsBase @@ -1833,7 +1833,7 @@ public partial class DockerUpdateSettings : DockerOptionsBase } #endregion #region DockerPluginCreateSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerPluginCreate), Arguments = "plugin create")] public partial class DockerPluginCreateSettings : DockerOptionsBase @@ -1847,7 +1847,7 @@ public partial class DockerPluginCreateSettings : DockerOptionsBase } #endregion #region DockerSystemInfoSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerSystemInfo), Arguments = "system info")] public partial class DockerSystemInfoSettings : DockerOptionsBase @@ -1857,7 +1857,7 @@ public partial class DockerSystemInfoSettings : DockerOptionsBase } #endregion #region DockerVolumePruneSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerVolumePrune), Arguments = "volume prune")] public partial class DockerVolumePruneSettings : DockerOptionsBase @@ -1869,7 +1869,7 @@ public partial class DockerVolumePruneSettings : DockerOptionsBase } #endregion #region DockerPluginUpgradeSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerPluginUpgrade), Arguments = "plugin upgrade")] public partial class DockerPluginUpgradeSettings : DockerOptionsBase @@ -1887,7 +1887,7 @@ public partial class DockerPluginUpgradeSettings : DockerOptionsBase } #endregion #region DockerBuilderPruneSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerBuilderPrune), Arguments = "builder prune")] public partial class DockerBuilderPruneSettings : DockerOptionsBase @@ -1895,7 +1895,7 @@ public partial class DockerBuilderPruneSettings : DockerOptionsBase } #endregion #region DockerSwarmJoinTokenSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerSwarmJoinToken), Arguments = "swarm join-token")] public partial class DockerSwarmJoinTokenSettings : DockerOptionsBase @@ -1909,7 +1909,7 @@ public partial class DockerSwarmJoinTokenSettings : DockerOptionsBase } #endregion #region DockerNodeUpdateSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerNodeUpdate), Arguments = "node update")] public partial class DockerNodeUpdateSettings : DockerOptionsBase @@ -1927,7 +1927,7 @@ public partial class DockerNodeUpdateSettings : DockerOptionsBase } #endregion #region DockerTrustSignerAddSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerTrustSignerAdd), Arguments = "trust signer add")] public partial class DockerTrustSignerAddSettings : DockerOptionsBase @@ -1941,7 +1941,7 @@ public partial class DockerTrustSignerAddSettings : DockerOptionsBase } #endregion #region DockerSwarmUpdateSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerSwarmUpdate), Arguments = "swarm update")] public partial class DockerSwarmUpdateSettings : DockerOptionsBase @@ -1963,7 +1963,7 @@ public partial class DockerSwarmUpdateSettings : DockerOptionsBase } #endregion #region DockerServiceLogsSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerServiceLogs), Arguments = "service logs")] public partial class DockerServiceLogsSettings : DockerOptionsBase @@ -1991,7 +1991,7 @@ public partial class DockerServiceLogsSettings : DockerOptionsBase } #endregion #region DockerServiceLsSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerServiceLs), Arguments = "service ls")] public partial class DockerServiceLsSettings : DockerOptionsBase @@ -2005,7 +2005,7 @@ public partial class DockerServiceLsSettings : DockerOptionsBase } #endregion #region DockerSwarmUnlockSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerSwarmUnlock), Arguments = "swarm unlock")] public partial class DockerSwarmUnlockSettings : DockerOptionsBase @@ -2013,7 +2013,7 @@ public partial class DockerSwarmUnlockSettings : DockerOptionsBase } #endregion #region DockerNetworkLsSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerNetworkLs), Arguments = "network ls")] public partial class DockerNetworkLsSettings : DockerOptionsBase @@ -2029,7 +2029,7 @@ public partial class DockerNetworkLsSettings : DockerOptionsBase } #endregion #region DockerPluginLsSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerPluginLs), Arguments = "plugin ls")] public partial class DockerPluginLsSettings : DockerOptionsBase @@ -2045,7 +2045,7 @@ public partial class DockerPluginLsSettings : DockerOptionsBase } #endregion #region DockerPluginRmSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerPluginRm), Arguments = "plugin rm")] public partial class DockerPluginRmSettings : DockerOptionsBase @@ -2057,7 +2057,7 @@ public partial class DockerPluginRmSettings : DockerOptionsBase } #endregion #region DockerImageBuildSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerImageBuild), Arguments = "image build")] public partial class DockerImageBuildSettings : DockerOptionsBase @@ -2137,7 +2137,7 @@ public partial class DockerImageBuildSettings : DockerOptionsBase } #endregion #region DockerTrustRevokeSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerTrustRevoke), Arguments = "trust revoke")] public partial class DockerTrustRevokeSettings : DockerOptionsBase @@ -2149,7 +2149,7 @@ public partial class DockerTrustRevokeSettings : DockerOptionsBase } #endregion #region DockerRmiSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerRmi), Arguments = "rmi")] public partial class DockerRmiSettings : DockerOptionsBase @@ -2163,7 +2163,7 @@ public partial class DockerRmiSettings : DockerOptionsBase } #endregion #region DockerNetworkRmSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerNetworkRm), Arguments = "network rm")] public partial class DockerNetworkRmSettings : DockerOptionsBase @@ -2173,7 +2173,7 @@ public partial class DockerNetworkRmSettings : DockerOptionsBase } #endregion #region DockerVersionSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerVersion), Arguments = "version")] public partial class DockerVersionSettings : DockerOptionsBase @@ -2185,7 +2185,7 @@ public partial class DockerVersionSettings : DockerOptionsBase } #endregion #region DockerSecretCreateSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerSecretCreate), Arguments = "secret create")] public partial class DockerSecretCreateSettings : DockerOptionsBase @@ -2203,7 +2203,7 @@ public partial class DockerSecretCreateSettings : DockerOptionsBase } #endregion #region DockerServiceRmSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerServiceRm), Arguments = "service rm")] public partial class DockerServiceRmSettings : DockerOptionsBase @@ -2213,7 +2213,7 @@ public partial class DockerServiceRmSettings : DockerOptionsBase } #endregion #region DockerTrustKeyLoadSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerTrustKeyLoad), Arguments = "trust key load")] public partial class DockerTrustKeyLoadSettings : DockerOptionsBase @@ -2225,7 +2225,7 @@ public partial class DockerTrustKeyLoadSettings : DockerOptionsBase } #endregion #region DockerSecretRmSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerSecretRm), Arguments = "secret rm")] public partial class DockerSecretRmSettings : DockerOptionsBase @@ -2235,7 +2235,7 @@ public partial class DockerSecretRmSettings : DockerOptionsBase } #endregion #region DockerImageInspectSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerImageInspect), Arguments = "image inspect")] public partial class DockerImageInspectSettings : DockerOptionsBase @@ -2247,7 +2247,7 @@ public partial class DockerImageInspectSettings : DockerOptionsBase } #endregion #region DockerImageSaveSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerImageSave), Arguments = "image save")] public partial class DockerImageSaveSettings : DockerOptionsBase @@ -2259,7 +2259,7 @@ public partial class DockerImageSaveSettings : DockerOptionsBase } #endregion #region DockerTrustKeySettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerTrustKey), Arguments = "trust key")] public partial class DockerTrustKeySettings : DockerOptionsBase @@ -2267,7 +2267,7 @@ public partial class DockerTrustKeySettings : DockerOptionsBase } #endregion #region DockerContainerAttachSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerContainerAttach), Arguments = "container attach")] public partial class DockerContainerAttachSettings : DockerOptionsBase @@ -2283,7 +2283,7 @@ public partial class DockerContainerAttachSettings : DockerOptionsBase } #endregion #region DockerContextCreateSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerContextCreate), Arguments = "context create")] public partial class DockerContextCreateSettings : DockerOptionsBase @@ -2303,7 +2303,7 @@ public partial class DockerContextCreateSettings : DockerOptionsBase } #endregion #region DockerConfigCreateSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerConfigCreate), Arguments = "config create")] public partial class DockerConfigCreateSettings : DockerOptionsBase @@ -2319,7 +2319,7 @@ public partial class DockerConfigCreateSettings : DockerOptionsBase } #endregion #region DockerVolumeInspectSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerVolumeInspect), Arguments = "volume inspect")] public partial class DockerVolumeInspectSettings : DockerOptionsBase @@ -2331,7 +2331,7 @@ public partial class DockerVolumeInspectSettings : DockerOptionsBase } #endregion #region DockerContainerStopSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerContainerStop), Arguments = "container stop")] public partial class DockerContainerStopSettings : DockerOptionsBase @@ -2343,7 +2343,7 @@ public partial class DockerContainerStopSettings : DockerOptionsBase } #endregion #region DockerNetworkPruneSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerNetworkPrune), Arguments = "network prune")] public partial class DockerNetworkPruneSettings : DockerOptionsBase @@ -2355,7 +2355,7 @@ public partial class DockerNetworkPruneSettings : DockerOptionsBase } #endregion #region DockerManifestInspectSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerManifestInspect), Arguments = "manifest inspect")] public partial class DockerManifestInspectSettings : DockerOptionsBase @@ -2371,7 +2371,7 @@ public partial class DockerManifestInspectSettings : DockerOptionsBase } #endregion #region DockerInfoSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerInfo), Arguments = "info")] public partial class DockerInfoSettings : DockerOptionsBase @@ -2381,7 +2381,7 @@ public partial class DockerInfoSettings : DockerOptionsBase } #endregion #region DockerCommitSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerCommit), Arguments = "commit")] public partial class DockerCommitSettings : DockerOptionsBase @@ -2401,7 +2401,7 @@ public partial class DockerCommitSettings : DockerOptionsBase } #endregion #region DockerStackDeploySettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerStackDeploy), Arguments = "stack deploy")] public partial class DockerStackDeploySettings : DockerOptionsBase @@ -2423,7 +2423,7 @@ public partial class DockerStackDeploySettings : DockerOptionsBase } #endregion #region DockerServiceScaleSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerServiceScale), Arguments = "service scale")] public partial class DockerServiceScaleSettings : DockerOptionsBase @@ -2433,7 +2433,7 @@ public partial class DockerServiceScaleSettings : DockerOptionsBase } #endregion #region DockerRunSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerRun), Arguments = "run")] public partial class DockerRunSettings : DockerOptionsBase @@ -2649,7 +2649,7 @@ public partial class DockerRunSettings : DockerOptionsBase } #endregion #region DockerCreateSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerCreate), Arguments = "create")] public partial class DockerCreateSettings : DockerOptionsBase @@ -2859,7 +2859,7 @@ public partial class DockerCreateSettings : DockerOptionsBase } #endregion #region DockerServiceUpdateSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerServiceUpdate), Arguments = "service update")] public partial class DockerServiceUpdateSettings : DockerOptionsBase @@ -3037,7 +3037,7 @@ public partial class DockerServiceUpdateSettings : DockerOptionsBase } #endregion #region DockerPortSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerPort), Arguments = "port")] public partial class DockerPortSettings : DockerOptionsBase @@ -3049,7 +3049,7 @@ public partial class DockerPortSettings : DockerOptionsBase } #endregion #region DockerContainerSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerContainer), Arguments = "container")] public partial class DockerContainerSettings : DockerOptionsBase @@ -3057,7 +3057,7 @@ public partial class DockerContainerSettings : DockerOptionsBase } #endregion #region DockerImagePushSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerImagePush), Arguments = "image push")] public partial class DockerImagePushSettings : DockerOptionsBase @@ -3071,7 +3071,7 @@ public partial class DockerImagePushSettings : DockerOptionsBase } #endregion #region DockerServiceInspectSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerServiceInspect), Arguments = "service inspect")] public partial class DockerServiceInspectSettings : DockerOptionsBase @@ -3085,7 +3085,7 @@ public partial class DockerServiceInspectSettings : DockerOptionsBase } #endregion #region DockerNetworkConnectSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerNetworkConnect), Arguments = "network connect")] public partial class DockerNetworkConnectSettings : DockerOptionsBase @@ -3109,7 +3109,7 @@ public partial class DockerNetworkConnectSettings : DockerOptionsBase } #endregion #region DockerSecretLsSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerSecretLs), Arguments = "secret ls")] public partial class DockerSecretLsSettings : DockerOptionsBase @@ -3123,7 +3123,7 @@ public partial class DockerSecretLsSettings : DockerOptionsBase } #endregion #region DockerSwarmLeaveSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerSwarmLeave), Arguments = "swarm leave")] public partial class DockerSwarmLeaveSettings : DockerOptionsBase @@ -3133,7 +3133,7 @@ public partial class DockerSwarmLeaveSettings : DockerOptionsBase } #endregion #region DockerImagesSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerImages), Arguments = "images")] public partial class DockerImagesSettings : DockerOptionsBase @@ -3155,7 +3155,7 @@ public partial class DockerImagesSettings : DockerOptionsBase } #endregion #region DockerEngineUpdateSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerEngineUpdate), Arguments = "engine update")] public partial class DockerEngineUpdateSettings : DockerOptionsBase @@ -3171,7 +3171,7 @@ public partial class DockerEngineUpdateSettings : DockerOptionsBase } #endregion #region DockerSystemEventsSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerSystemEvents), Arguments = "system events")] public partial class DockerSystemEventsSettings : DockerOptionsBase @@ -3187,7 +3187,7 @@ public partial class DockerSystemEventsSettings : DockerOptionsBase } #endregion #region DockerInspectSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerInspect), Arguments = "inspect")] public partial class DockerInspectSettings : DockerOptionsBase @@ -3203,7 +3203,7 @@ public partial class DockerInspectSettings : DockerOptionsBase } #endregion #region DockerEngineCheckSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerEngineCheck), Arguments = "engine check")] public partial class DockerEngineCheckSettings : DockerOptionsBase @@ -3227,7 +3227,7 @@ public partial class DockerEngineCheckSettings : DockerOptionsBase } #endregion #region DockerAttachSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerAttach), Arguments = "attach")] public partial class DockerAttachSettings : DockerOptionsBase @@ -3243,7 +3243,7 @@ public partial class DockerAttachSettings : DockerOptionsBase } #endregion #region DockerContainerWaitSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerContainerWait), Arguments = "container wait")] public partial class DockerContainerWaitSettings : DockerOptionsBase @@ -3253,7 +3253,7 @@ public partial class DockerContainerWaitSettings : DockerOptionsBase } #endregion #region DockerSwarmCaSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerSwarmCa), Arguments = "swarm ca")] public partial class DockerSwarmCaSettings : DockerOptionsBase @@ -3275,7 +3275,7 @@ public partial class DockerSwarmCaSettings : DockerOptionsBase } #endregion #region DockerEngineSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerEngine), Arguments = "engine")] public partial class DockerEngineSettings : DockerOptionsBase @@ -3285,7 +3285,7 @@ public partial class DockerEngineSettings : DockerOptionsBase } #endregion #region DockerSystemPruneSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerSystemPrune), Arguments = "system prune")] public partial class DockerSystemPruneSettings : DockerOptionsBase @@ -3301,7 +3301,7 @@ public partial class DockerSystemPruneSettings : DockerOptionsBase } #endregion #region DockerBuilderSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerBuilder), Arguments = "builder")] public partial class DockerBuilderSettings : DockerOptionsBase @@ -3309,7 +3309,7 @@ public partial class DockerBuilderSettings : DockerOptionsBase } #endregion #region DockerContainerPauseSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerContainerPause), Arguments = "container pause")] public partial class DockerContainerPauseSettings : DockerOptionsBase @@ -3319,7 +3319,7 @@ public partial class DockerContainerPauseSettings : DockerOptionsBase } #endregion #region DockerContainerCommitSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerContainerCommit), Arguments = "container commit")] public partial class DockerContainerCommitSettings : DockerOptionsBase @@ -3339,7 +3339,7 @@ public partial class DockerContainerCommitSettings : DockerOptionsBase } #endregion #region DockerContextLsSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerContextLs), Arguments = "context ls")] public partial class DockerContextLsSettings : DockerOptionsBase @@ -3351,7 +3351,7 @@ public partial class DockerContextLsSettings : DockerOptionsBase } #endregion #region DockerContextRmSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerContextRm), Arguments = "context rm")] public partial class DockerContextRmSettings : DockerOptionsBase @@ -3361,7 +3361,7 @@ public partial class DockerContextRmSettings : DockerOptionsBase } #endregion #region DockerStackPsSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerStackPs), Arguments = "stack ps")] public partial class DockerStackPsSettings : DockerStackSettings @@ -3383,7 +3383,7 @@ public partial class DockerStackPsSettings : DockerStackSettings } #endregion #region DockerContainerCreateSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerContainerCreate), Arguments = "container create")] public partial class DockerContainerCreateSettings : DockerOptionsBase @@ -3593,7 +3593,7 @@ public partial class DockerContainerCreateSettings : DockerOptionsBase } #endregion #region DockerVolumeCreateSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerVolumeCreate), Arguments = "volume create")] public partial class DockerVolumeCreateSettings : DockerOptionsBase @@ -3611,7 +3611,7 @@ public partial class DockerVolumeCreateSettings : DockerOptionsBase } #endregion #region DockerPluginSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerPlugin), Arguments = "plugin")] public partial class DockerPluginSettings : DockerOptionsBase @@ -3619,7 +3619,7 @@ public partial class DockerPluginSettings : DockerOptionsBase } #endregion #region DockerLoginSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerLogin), Arguments = "login")] public partial class DockerLoginSettings : DockerOptionsBase @@ -3633,7 +3633,7 @@ public partial class DockerLoginSettings : DockerOptionsBase } #endregion #region DockerSwarmUnlockKeySettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerSwarmUnlockKey), Arguments = "swarm unlock-key")] public partial class DockerSwarmUnlockKeySettings : DockerOptionsBase @@ -3645,7 +3645,7 @@ public partial class DockerSwarmUnlockKeySettings : DockerOptionsBase } #endregion #region DockerStartSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerStart), Arguments = "start")] public partial class DockerStartSettings : DockerOptionsBase @@ -3665,7 +3665,7 @@ public partial class DockerStartSettings : DockerOptionsBase } #endregion #region DockerSwarmInitSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerSwarmInit), Arguments = "swarm init")] public partial class DockerSwarmInitSettings : DockerOptionsBase @@ -3703,7 +3703,7 @@ public partial class DockerSwarmInitSettings : DockerOptionsBase } #endregion #region DockerContainerDiffSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerContainerDiff), Arguments = "container diff")] public partial class DockerContainerDiffSettings : DockerOptionsBase @@ -3713,7 +3713,7 @@ public partial class DockerContainerDiffSettings : DockerOptionsBase } #endregion #region DockerContainerRestartSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerContainerRestart), Arguments = "container restart")] public partial class DockerContainerRestartSettings : DockerOptionsBase @@ -3725,7 +3725,7 @@ public partial class DockerContainerRestartSettings : DockerOptionsBase } #endregion #region DockerConfigSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerConfig), Arguments = "config")] public partial class DockerConfigSettings : DockerOptionsBase @@ -3733,7 +3733,7 @@ public partial class DockerConfigSettings : DockerOptionsBase } #endregion #region DockerPluginDisableSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerPluginDisable), Arguments = "plugin disable")] public partial class DockerPluginDisableSettings : DockerOptionsBase @@ -3745,7 +3745,7 @@ public partial class DockerPluginDisableSettings : DockerOptionsBase } #endregion #region DockerContainerUnpauseSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerContainerUnpause), Arguments = "container unpause")] public partial class DockerContainerUnpauseSettings : DockerOptionsBase @@ -3755,7 +3755,7 @@ public partial class DockerContainerUnpauseSettings : DockerOptionsBase } #endregion #region DockerContextImportSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerContextImport), Arguments = "context import")] public partial class DockerContextImportSettings : DockerOptionsBase @@ -3767,7 +3767,7 @@ public partial class DockerContextImportSettings : DockerOptionsBase } #endregion #region DockerRmSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerRm), Arguments = "rm")] public partial class DockerRmSettings : DockerOptionsBase @@ -3783,7 +3783,7 @@ public partial class DockerRmSettings : DockerOptionsBase } #endregion #region DockerDeploySettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerDeploy), Arguments = "deploy")] public partial class DockerDeploySettings : DockerOptionsBase @@ -3805,7 +3805,7 @@ public partial class DockerDeploySettings : DockerOptionsBase } #endregion #region DockerNodeRmSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerNodeRm), Arguments = "node rm")] public partial class DockerNodeRmSettings : DockerOptionsBase @@ -3817,7 +3817,7 @@ public partial class DockerNodeRmSettings : DockerOptionsBase } #endregion #region DockerCheckpointRmSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerCheckpointRm), Arguments = "checkpoint rm")] public partial class DockerCheckpointRmSettings : DockerOptionsBase @@ -3831,7 +3831,7 @@ public partial class DockerCheckpointRmSettings : DockerOptionsBase } #endregion #region DockerPushSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerPush), Arguments = "push")] public partial class DockerPushSettings : DockerOptionsBase @@ -3845,7 +3845,7 @@ public partial class DockerPushSettings : DockerOptionsBase } #endregion #region DockerNetworkCreateSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerNetworkCreate), Arguments = "network create")] public partial class DockerNetworkCreateSettings : DockerOptionsBase @@ -3887,7 +3887,7 @@ public partial class DockerNetworkCreateSettings : DockerOptionsBase } #endregion #region DockerVolumeLsSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerVolumeLs), Arguments = "volume ls")] public partial class DockerVolumeLsSettings : DockerOptionsBase @@ -3901,7 +3901,7 @@ public partial class DockerVolumeLsSettings : DockerOptionsBase } #endregion #region DockerTrustInspectSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerTrustInspect), Arguments = "trust inspect")] public partial class DockerTrustInspectSettings : DockerOptionsBase @@ -3911,7 +3911,7 @@ public partial class DockerTrustInspectSettings : DockerOptionsBase } #endregion #region DockerNetworkInspectSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerNetworkInspect), Arguments = "network inspect")] public partial class DockerNetworkInspectSettings : DockerOptionsBase @@ -3925,7 +3925,7 @@ public partial class DockerNetworkInspectSettings : DockerOptionsBase } #endregion #region DockerEngineActivateSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerEngineActivate), Arguments = "engine activate")] public partial class DockerEngineActivateSettings : DockerOptionsBase @@ -3949,7 +3949,7 @@ public partial class DockerEngineActivateSettings : DockerOptionsBase } #endregion #region DockerContextUseSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerContextUse), Arguments = "context use")] public partial class DockerContextUseSettings : DockerOptionsBase @@ -3959,7 +3959,7 @@ public partial class DockerContextUseSettings : DockerOptionsBase } #endregion #region DockerVolumeRmSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerVolumeRm), Arguments = "volume rm")] public partial class DockerVolumeRmSettings : DockerOptionsBase @@ -3971,7 +3971,7 @@ public partial class DockerVolumeRmSettings : DockerOptionsBase } #endregion #region DockerManifestCreateSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerManifestCreate), Arguments = "manifest create")] public partial class DockerManifestCreateSettings : DockerOptionsBase @@ -3983,7 +3983,7 @@ public partial class DockerManifestCreateSettings : DockerOptionsBase } #endregion #region DockerManifestPushSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerManifestPush), Arguments = "manifest push")] public partial class DockerManifestPushSettings : DockerOptionsBase @@ -3997,7 +3997,7 @@ public partial class DockerManifestPushSettings : DockerOptionsBase } #endregion #region DockerPluginEnableSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerPluginEnable), Arguments = "plugin enable")] public partial class DockerPluginEnableSettings : DockerOptionsBase @@ -4009,7 +4009,7 @@ public partial class DockerPluginEnableSettings : DockerOptionsBase } #endregion #region DockerImportSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerImport), Arguments = "import")] public partial class DockerImportSettings : DockerOptionsBase @@ -4027,7 +4027,7 @@ public partial class DockerImportSettings : DockerOptionsBase } #endregion #region DockerContainerRunSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerContainerRun), Arguments = "container run")] public partial class DockerContainerRunSettings : DockerOptionsBase @@ -4243,7 +4243,7 @@ public partial class DockerContainerRunSettings : DockerOptionsBase } #endregion #region DockerNodeInspectSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerNodeInspect), Arguments = "node inspect")] public partial class DockerNodeInspectSettings : DockerOptionsBase @@ -4257,7 +4257,7 @@ public partial class DockerNodeInspectSettings : DockerOptionsBase } #endregion #region DockerSaveSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerSave), Arguments = "save")] public partial class DockerSaveSettings : DockerOptionsBase @@ -4269,7 +4269,7 @@ public partial class DockerSaveSettings : DockerOptionsBase } #endregion #region DockerContainerStatsSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerContainerStats), Arguments = "container stats")] public partial class DockerContainerStatsSettings : DockerOptionsBase @@ -4287,7 +4287,7 @@ public partial class DockerContainerStatsSettings : DockerOptionsBase } #endregion #region DockerContainerExecSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerContainerExec), Arguments = "container exec")] public partial class DockerContainerExecSettings : DockerOptionsBase @@ -4317,7 +4317,7 @@ public partial class DockerContainerExecSettings : DockerOptionsBase } #endregion #region DockerNodeLsSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerNodeLs), Arguments = "node ls")] public partial class DockerNodeLsSettings : DockerOptionsBase @@ -4331,7 +4331,7 @@ public partial class DockerNodeLsSettings : DockerOptionsBase } #endregion #region DockerSwarmJoinSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerSwarmJoin), Arguments = "swarm join")] public partial class DockerSwarmJoinSettings : DockerOptionsBase @@ -4349,7 +4349,7 @@ public partial class DockerSwarmJoinSettings : DockerOptionsBase } #endregion #region DockerContainerLogsSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerContainerLogs), Arguments = "container logs")] public partial class DockerContainerLogsSettings : DockerOptionsBase @@ -4371,7 +4371,7 @@ public partial class DockerContainerLogsSettings : DockerOptionsBase } #endregion #region DockerCheckpointLsSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerCheckpointLs), Arguments = "checkpoint ls")] public partial class DockerCheckpointLsSettings : DockerOptionsBase @@ -4383,7 +4383,7 @@ public partial class DockerCheckpointLsSettings : DockerOptionsBase } #endregion #region DockerContainerKillSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerContainerKill), Arguments = "container kill")] public partial class DockerContainerKillSettings : DockerOptionsBase @@ -4395,7 +4395,7 @@ public partial class DockerContainerKillSettings : DockerOptionsBase } #endregion #region DockerPluginInstallSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerPluginInstall), Arguments = "plugin install")] public partial class DockerPluginInstallSettings : DockerOptionsBase @@ -4415,7 +4415,7 @@ public partial class DockerPluginInstallSettings : DockerOptionsBase } #endregion #region DockerImagePruneSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerImagePrune), Arguments = "image prune")] public partial class DockerImagePruneSettings : DockerOptionsBase @@ -4429,7 +4429,7 @@ public partial class DockerImagePruneSettings : DockerOptionsBase } #endregion #region DockerImageImportSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerImageImport), Arguments = "image import")] public partial class DockerImageImportSettings : DockerOptionsBase @@ -4447,7 +4447,7 @@ public partial class DockerImageImportSettings : DockerOptionsBase } #endregion #region DockerDiffSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerDiff), Arguments = "diff")] public partial class DockerDiffSettings : DockerOptionsBase @@ -4457,7 +4457,7 @@ public partial class DockerDiffSettings : DockerOptionsBase } #endregion #region DockerUnpauseSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerUnpause), Arguments = "unpause")] public partial class DockerUnpauseSettings : DockerOptionsBase @@ -4467,7 +4467,7 @@ public partial class DockerUnpauseSettings : DockerOptionsBase } #endregion #region DockerContainerLsSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerContainerLs), Arguments = "container ls")] public partial class DockerContainerLsSettings : DockerOptionsBase @@ -4491,7 +4491,7 @@ public partial class DockerContainerLsSettings : DockerOptionsBase } #endregion #region DockerNodePsSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerNodePs), Arguments = "node ps")] public partial class DockerNodePsSettings : DockerOptionsBase @@ -4511,7 +4511,7 @@ public partial class DockerNodePsSettings : DockerOptionsBase } #endregion #region DockerContainerTopSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerContainerTop), Arguments = "container top [ps")] public partial class DockerContainerTopSettings : DockerOptionsBase @@ -4523,7 +4523,7 @@ public partial class DockerContainerTopSettings : DockerOptionsBase } #endregion #region DockerContainerRenameSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerContainerRename), Arguments = "container rename")] public partial class DockerContainerRenameSettings : DockerOptionsBase @@ -4535,7 +4535,7 @@ public partial class DockerContainerRenameSettings : DockerOptionsBase } #endregion #region DockerImageHistorySettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerImageHistory), Arguments = "image history")] public partial class DockerImageHistorySettings : DockerOptionsBase @@ -4553,7 +4553,7 @@ public partial class DockerImageHistorySettings : DockerOptionsBase } #endregion #region DockerPsSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerPs), Arguments = "ps")] public partial class DockerPsSettings : DockerOptionsBase @@ -4577,7 +4577,7 @@ public partial class DockerPsSettings : DockerOptionsBase } #endregion #region DockerImageTagSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerImageTag), Arguments = "image tag")] public partial class DockerImageTagSettings : DockerOptionsBase @@ -4589,7 +4589,7 @@ public partial class DockerImageTagSettings : DockerOptionsBase } #endregion #region DockerExportSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerExport), Arguments = "export")] public partial class DockerExportSettings : DockerOptionsBase @@ -4601,7 +4601,7 @@ public partial class DockerExportSettings : DockerOptionsBase } #endregion #region DockerNetworkDisconnectSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerNetworkDisconnect), Arguments = "network disconnect")] public partial class DockerNetworkDisconnectSettings : DockerOptionsBase @@ -4615,7 +4615,7 @@ public partial class DockerNetworkDisconnectSettings : DockerOptionsBase } #endregion #region DockerBuilderBuildSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerBuilderBuild), Arguments = "builder build")] public partial class DockerBuilderBuildSettings : DockerOptionsBase @@ -4695,7 +4695,7 @@ public partial class DockerBuilderBuildSettings : DockerOptionsBase } #endregion #region DockerBuildxBuildSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerBuildxBuild), Arguments = "buildx build")] public partial class DockerBuildxBuildSettings : DockerOptionsBase @@ -4777,7 +4777,7 @@ public partial class DockerBuildxBuildSettings : DockerOptionsBase } #endregion #region DockerBuildxCreateSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerBuildxCreate), Arguments = "buildx create")] public partial class DockerBuildxCreateSettings : DockerOptionsBase @@ -4809,7 +4809,7 @@ public partial class DockerBuildxCreateSettings : DockerOptionsBase } #endregion #region DockerStatsSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerStats), Arguments = "stats")] public partial class DockerStatsSettings : DockerOptionsBase @@ -4827,7 +4827,7 @@ public partial class DockerStatsSettings : DockerOptionsBase } #endregion #region DockerSearchSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerSearch), Arguments = "search")] public partial class DockerSearchSettings : DockerOptionsBase @@ -4849,7 +4849,7 @@ public partial class DockerSearchSettings : DockerOptionsBase } #endregion #region DockerManifestSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerManifest), Arguments = "manifest")] public partial class DockerManifestSettings : DockerOptionsBase @@ -4859,7 +4859,7 @@ public partial class DockerManifestSettings : DockerOptionsBase } #endregion #region DockerPluginPushSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerPluginPush), Arguments = "plugin push")] public partial class DockerPluginPushSettings : DockerOptionsBase @@ -4871,7 +4871,7 @@ public partial class DockerPluginPushSettings : DockerOptionsBase } #endregion #region DockerImageLoadSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerImageLoad), Arguments = "image load")] public partial class DockerImageLoadSettings : DockerOptionsBase @@ -4883,7 +4883,7 @@ public partial class DockerImageLoadSettings : DockerOptionsBase } #endregion #region DockerSwarmSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerSwarm), Arguments = "swarm")] public partial class DockerSwarmSettings : DockerOptionsBase @@ -4891,7 +4891,7 @@ public partial class DockerSwarmSettings : DockerOptionsBase } #endregion #region DockerContainerRmSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerContainerRm), Arguments = "container rm")] public partial class DockerContainerRmSettings : DockerOptionsBase @@ -4907,7 +4907,7 @@ public partial class DockerContainerRmSettings : DockerOptionsBase } #endregion #region DockerContainerUpdateSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerContainerUpdate), Arguments = "container update")] public partial class DockerContainerUpdateSettings : DockerOptionsBase @@ -4947,7 +4947,7 @@ public partial class DockerContainerUpdateSettings : DockerOptionsBase } #endregion #region DockerPluginSetSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerPluginSet), Arguments = "plugin set")] public partial class DockerPluginSetSettings : DockerOptionsBase @@ -4959,7 +4959,7 @@ public partial class DockerPluginSetSettings : DockerOptionsBase } #endregion #region DockerWaitSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerWait), Arguments = "wait")] public partial class DockerWaitSettings : DockerOptionsBase @@ -4969,7 +4969,7 @@ public partial class DockerWaitSettings : DockerOptionsBase } #endregion #region DockerContextExportSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerContextExport), Arguments = "context export")] public partial class DockerContextExportSettings : DockerOptionsBase @@ -4983,7 +4983,7 @@ public partial class DockerContextExportSettings : DockerOptionsBase } #endregion #region DockerManifestAnnotateSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerManifestAnnotate), Arguments = "manifest annotate")] public partial class DockerManifestAnnotateSettings : DockerOptionsBase @@ -5003,7 +5003,7 @@ public partial class DockerManifestAnnotateSettings : DockerOptionsBase } #endregion #region DockerImagePullSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerImagePull), Arguments = "image pull")] public partial class DockerImagePullSettings : DockerOptionsBase @@ -5021,7 +5021,7 @@ public partial class DockerImagePullSettings : DockerOptionsBase } #endregion #region DockerEventsSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerEvents), Arguments = "events")] public partial class DockerEventsSettings : DockerOptionsBase @@ -5037,7 +5037,7 @@ public partial class DockerEventsSettings : DockerOptionsBase } #endregion #region DockerStackLsSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerStackLs), Arguments = "stack ls")] public partial class DockerStackLsSettings : DockerStackSettings @@ -5051,7 +5051,7 @@ public partial class DockerStackLsSettings : DockerStackSettings } #endregion #region DockerContainerInspectSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerContainerInspect), Arguments = "container inspect")] public partial class DockerContainerInspectSettings : DockerOptionsBase @@ -5065,7 +5065,7 @@ public partial class DockerContainerInspectSettings : DockerOptionsBase } #endregion #region DockerKillSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerKill), Arguments = "kill")] public partial class DockerKillSettings : DockerOptionsBase @@ -5077,7 +5077,7 @@ public partial class DockerKillSettings : DockerOptionsBase } #endregion #region DockerCheckpointCreateSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerCheckpointCreate), Arguments = "checkpoint create")] public partial class DockerCheckpointCreateSettings : DockerOptionsBase @@ -5093,7 +5093,7 @@ public partial class DockerCheckpointCreateSettings : DockerOptionsBase } #endregion #region DockerPauseSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerPause), Arguments = "pause")] public partial class DockerPauseSettings : DockerOptionsBase @@ -5103,7 +5103,7 @@ public partial class DockerPauseSettings : DockerOptionsBase } #endregion #region DockerLogsSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerLogs), Arguments = "logs")] public partial class DockerLogsSettings : DockerOptionsBase @@ -5125,7 +5125,7 @@ public partial class DockerLogsSettings : DockerOptionsBase } #endregion #region DockerContextInspectSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerContextInspect), Arguments = "context inspect")] public partial class DockerContextInspectSettings : DockerOptionsBase @@ -5139,7 +5139,7 @@ public partial class DockerContextInspectSettings : DockerOptionsBase } #endregion #region DockerNodePromoteSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerNodePromote), Arguments = "node promote")] public partial class DockerNodePromoteSettings : DockerOptionsBase @@ -5149,7 +5149,7 @@ public partial class DockerNodePromoteSettings : DockerOptionsBase } #endregion #region DockerNodeDemoteSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerNodeDemote), Arguments = "node demote")] public partial class DockerNodeDemoteSettings : DockerOptionsBase @@ -5159,7 +5159,7 @@ public partial class DockerNodeDemoteSettings : DockerOptionsBase } #endregion #region DockerExecSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerExec), Arguments = "exec")] public partial class DockerExecSettings : DockerOptionsBase @@ -5189,7 +5189,7 @@ public partial class DockerExecSettings : DockerOptionsBase } #endregion #region DockerImageRmSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerImageRm), Arguments = "image rm")] public partial class DockerImageRmSettings : DockerOptionsBase @@ -5203,7 +5203,7 @@ public partial class DockerImageRmSettings : DockerOptionsBase } #endregion #region DockerImageSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerImage), Arguments = "image")] public partial class DockerImageSettings : DockerOptionsBase @@ -5211,7 +5211,7 @@ public partial class DockerImageSettings : DockerOptionsBase } #endregion #region DockerContextSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerContext), Arguments = "context")] public partial class DockerContextSettings : DockerOptionsBase @@ -5219,7 +5219,7 @@ public partial class DockerContextSettings : DockerOptionsBase } #endregion #region DockerVolumeSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerVolume), Arguments = "volume")] public partial class DockerVolumeSettings : DockerOptionsBase @@ -5229,7 +5229,7 @@ public partial class DockerVolumeSettings : DockerOptionsBase } #endregion #region DockerContainerStartSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerContainerStart), Arguments = "container start")] public partial class DockerContainerStartSettings : DockerOptionsBase @@ -5249,7 +5249,7 @@ public partial class DockerContainerStartSettings : DockerOptionsBase } #endregion #region DockerPluginInspectSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerPluginInspect), Arguments = "plugin inspect")] public partial class DockerPluginInspectSettings : DockerOptionsBase @@ -5261,7 +5261,7 @@ public partial class DockerPluginInspectSettings : DockerOptionsBase } #endregion #region DockerLogoutSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerLogout), Arguments = "logout")] public partial class DockerLogoutSettings : DockerOptionsBase @@ -5271,7 +5271,7 @@ public partial class DockerLogoutSettings : DockerOptionsBase } #endregion #region DockerNetworkSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerNetwork), Arguments = "network")] public partial class DockerNetworkSettings : DockerOptionsBase @@ -5279,7 +5279,7 @@ public partial class DockerNetworkSettings : DockerOptionsBase } #endregion #region DockerImageLsSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerImageLs), Arguments = "image ls")] public partial class DockerImageLsSettings : DockerOptionsBase @@ -5301,7 +5301,7 @@ public partial class DockerImageLsSettings : DockerOptionsBase } #endregion #region DockerSystemDfSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerSystemDf), Arguments = "system df")] public partial class DockerSystemDfSettings : DockerOptionsBase @@ -5313,7 +5313,7 @@ public partial class DockerSystemDfSettings : DockerOptionsBase } #endregion #region DockerServiceRollbackSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerServiceRollback), Arguments = "service rollback")] public partial class DockerServiceRollbackSettings : DockerOptionsBase @@ -5327,7 +5327,7 @@ public partial class DockerServiceRollbackSettings : DockerOptionsBase } #endregion #region DockerRestartSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerRestart), Arguments = "restart")] public partial class DockerRestartSettings : DockerOptionsBase @@ -5339,7 +5339,7 @@ public partial class DockerRestartSettings : DockerOptionsBase } #endregion #region DockerTrustSignerRemoveSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerTrustSignerRemove), Arguments = "trust signer remove")] public partial class DockerTrustSignerRemoveSettings : DockerOptionsBase @@ -5353,7 +5353,7 @@ public partial class DockerTrustSignerRemoveSettings : DockerOptionsBase } #endregion #region DockerStackRmSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerStackRm), Arguments = "stack rm")] public partial class DockerStackRmSettings : DockerStackSettings @@ -5365,7 +5365,7 @@ public partial class DockerStackRmSettings : DockerStackSettings } #endregion #region DockerBuildSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DockerTasks), Command = nameof(DockerTasks.DockerBuild), Arguments = "build")] public partial class DockerBuildSettings : DockerOptionsBase @@ -5489,7 +5489,7 @@ public partial class DockerRunTargetSettings : DockerRunSettings } #endregion #region DockerConfigRmSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerConfigRmSettingsExtensions { @@ -5519,7 +5519,7 @@ public static partial class DockerConfigRmSettingsExtensions } #endregion #region DockerLoadSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerLoadSettingsExtensions { @@ -5551,7 +5551,7 @@ public static partial class DockerLoadSettingsExtensions } #endregion #region DockerContainerPruneSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerContainerPruneSettingsExtensions { @@ -5583,14 +5583,14 @@ public static partial class DockerContainerPruneSettingsExtensions } #endregion #region DockerTrustSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerTrustSettingsExtensions { } #endregion #region DockerStackSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerStackSettingsExtensions { @@ -5613,7 +5613,7 @@ public static partial class DockerStackSettingsExtensions } #endregion #region DockerPullSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerPullSettingsExtensions { @@ -5687,28 +5687,28 @@ public static partial class DockerPullSettingsExtensions } #endregion #region DockerTrustSignSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerTrustSignSettingsExtensions { } #endregion #region DockerCheckpointSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerCheckpointSettingsExtensions { } #endregion #region DockerTrustSignerSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerTrustSignerSettingsExtensions { } #endregion #region DockerConfigInspectSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerConfigInspectSettingsExtensions { @@ -5763,14 +5763,14 @@ public static partial class DockerConfigInspectSettingsExtensions } #endregion #region DockerServiceSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerServiceSettingsExtensions { } #endregion #region DockerTrustKeyGenerateSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerTrustKeyGenerateSettingsExtensions { @@ -5785,14 +5785,14 @@ public static partial class DockerTrustKeyGenerateSettingsExtensions } #endregion #region DockerSystemSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerSystemSettingsExtensions { } #endregion #region DockerConfigLsSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerConfigLsSettingsExtensions { @@ -5832,7 +5832,7 @@ public static partial class DockerConfigLsSettingsExtensions } #endregion #region DockerContextUpdateSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerContextUpdateSettingsExtensions { @@ -5879,7 +5879,7 @@ public static partial class DockerContextUpdateSettingsExtensions } #endregion #region DockerStackServicesSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerStackServicesSettingsExtensions { @@ -5935,7 +5935,7 @@ public static partial class DockerStackServicesSettingsExtensions } #endregion #region DockerContainerPortSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerContainerPortSettingsExtensions { @@ -5958,7 +5958,7 @@ public static partial class DockerContainerPortSettingsExtensions } #endregion #region DockerRenameSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerRenameSettingsExtensions { @@ -5981,7 +5981,7 @@ public static partial class DockerRenameSettingsExtensions } #endregion #region DockerTagSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerTagSettingsExtensions { @@ -6004,7 +6004,7 @@ public static partial class DockerTagSettingsExtensions } #endregion #region DockerSecretInspectSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerSecretInspectSettingsExtensions { @@ -6059,14 +6059,14 @@ public static partial class DockerSecretInspectSettingsExtensions } #endregion #region DockerSecretSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerSecretSettingsExtensions { } #endregion #region DockerContainerExportSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerContainerExportSettingsExtensions { @@ -6089,7 +6089,7 @@ public static partial class DockerContainerExportSettingsExtensions } #endregion #region DockerHistorySettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerHistorySettingsExtensions { @@ -6163,7 +6163,7 @@ public static partial class DockerHistorySettingsExtensions } #endregion #region DockerServiceCreateSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerServiceCreateSettingsExtensions { @@ -7004,7 +7004,7 @@ public static partial class DockerServiceCreateSettingsExtensions } #endregion #region DockerServicePsSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerServicePsSettingsExtensions { @@ -7101,7 +7101,7 @@ public static partial class DockerServicePsSettingsExtensions } #endregion #region DockerStopSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerStopSettingsExtensions { @@ -7139,14 +7139,14 @@ public static partial class DockerStopSettingsExtensions } #endregion #region DockerNodeSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerNodeSettingsExtensions { } #endregion #region DockerUpdateSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerUpdateSettingsExtensions { @@ -7296,7 +7296,7 @@ public static partial class DockerUpdateSettingsExtensions } #endregion #region DockerPluginCreateSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerPluginCreateSettingsExtensions { @@ -7336,7 +7336,7 @@ public static partial class DockerPluginCreateSettingsExtensions } #endregion #region DockerSystemInfoSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerSystemInfoSettingsExtensions { @@ -7351,7 +7351,7 @@ public static partial class DockerSystemInfoSettingsExtensions } #endregion #region DockerVolumePruneSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerVolumePruneSettingsExtensions { @@ -7383,7 +7383,7 @@ public static partial class DockerVolumePruneSettingsExtensions } #endregion #region DockerPluginUpgradeSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerPluginUpgradeSettingsExtensions { @@ -7457,14 +7457,14 @@ public static partial class DockerPluginUpgradeSettingsExtensions } #endregion #region DockerBuilderPruneSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerBuilderPruneSettingsExtensions { } #endregion #region DockerSwarmJoinTokenSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerSwarmJoinTokenSettingsExtensions { @@ -7513,7 +7513,7 @@ public static partial class DockerSwarmJoinTokenSettingsExtensions } #endregion #region DockerNodeUpdateSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerNodeUpdateSettingsExtensions { @@ -7590,7 +7590,7 @@ public static partial class DockerNodeUpdateSettingsExtensions } #endregion #region DockerTrustSignerAddSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerTrustSignerAddSettingsExtensions { @@ -7636,7 +7636,7 @@ public static partial class DockerTrustSignerAddSettingsExtensions } #endregion #region DockerSwarmUpdateSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerSwarmUpdateSettingsExtensions { @@ -7708,7 +7708,7 @@ public static partial class DockerSwarmUpdateSettingsExtensions } #endregion #region DockerServiceLogsSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerServiceLogsSettingsExtensions { @@ -7858,7 +7858,7 @@ public static partial class DockerServiceLogsSettingsExtensions } #endregion #region DockerServiceLsSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerServiceLsSettingsExtensions { @@ -7898,14 +7898,14 @@ public static partial class DockerServiceLsSettingsExtensions } #endregion #region DockerSwarmUnlockSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerSwarmUnlockSettingsExtensions { } #endregion #region DockerNetworkLsSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerNetworkLsSettingsExtensions { @@ -7962,7 +7962,7 @@ public static partial class DockerNetworkLsSettingsExtensions } #endregion #region DockerPluginLsSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerPluginLsSettingsExtensions { @@ -8019,7 +8019,7 @@ public static partial class DockerPluginLsSettingsExtensions } #endregion #region DockerPluginRmSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerPluginRmSettingsExtensions { @@ -8066,7 +8066,7 @@ public static partial class DockerPluginRmSettingsExtensions } #endregion #region DockerImageBuildSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerImageBuildSettingsExtensions { @@ -8532,7 +8532,7 @@ public static partial class DockerImageBuildSettingsExtensions } #endregion #region DockerTrustRevokeSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerTrustRevokeSettingsExtensions { @@ -8564,7 +8564,7 @@ public static partial class DockerTrustRevokeSettingsExtensions } #endregion #region DockerRmiSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerRmiSettingsExtensions { @@ -8628,7 +8628,7 @@ public static partial class DockerRmiSettingsExtensions } #endregion #region DockerNetworkRmSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerNetworkRmSettingsExtensions { @@ -8658,7 +8658,7 @@ public static partial class DockerNetworkRmSettingsExtensions } #endregion #region DockerVersionSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerVersionSettingsExtensions { @@ -8681,7 +8681,7 @@ public static partial class DockerVersionSettingsExtensions } #endregion #region DockerSecretCreateSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerSecretCreateSettingsExtensions { @@ -8743,7 +8743,7 @@ public static partial class DockerSecretCreateSettingsExtensions } #endregion #region DockerServiceRmSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerServiceRmSettingsExtensions { @@ -8773,7 +8773,7 @@ public static partial class DockerServiceRmSettingsExtensions } #endregion #region DockerTrustKeyLoadSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerTrustKeyLoadSettingsExtensions { @@ -8796,7 +8796,7 @@ public static partial class DockerTrustKeyLoadSettingsExtensions } #endregion #region DockerSecretRmSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerSecretRmSettingsExtensions { @@ -8826,7 +8826,7 @@ public static partial class DockerSecretRmSettingsExtensions } #endregion #region DockerImageInspectSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerImageInspectSettingsExtensions { @@ -8864,7 +8864,7 @@ public static partial class DockerImageInspectSettingsExtensions } #endregion #region DockerImageSaveSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerImageSaveSettingsExtensions { @@ -8902,14 +8902,14 @@ public static partial class DockerImageSaveSettingsExtensions } #endregion #region DockerTrustKeySettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerTrustKeySettingsExtensions { } #endregion #region DockerContainerAttachSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerContainerAttachSettingsExtensions { @@ -8966,7 +8966,7 @@ public static partial class DockerContainerAttachSettingsExtensions } #endregion #region DockerContextCreateSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerContextCreateSettingsExtensions { @@ -9021,7 +9021,7 @@ public static partial class DockerContextCreateSettingsExtensions } #endregion #region DockerConfigCreateSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerConfigCreateSettingsExtensions { @@ -9075,7 +9075,7 @@ public static partial class DockerConfigCreateSettingsExtensions } #endregion #region DockerVolumeInspectSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerVolumeInspectSettingsExtensions { @@ -9113,7 +9113,7 @@ public static partial class DockerVolumeInspectSettingsExtensions } #endregion #region DockerContainerStopSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerContainerStopSettingsExtensions { @@ -9151,7 +9151,7 @@ public static partial class DockerContainerStopSettingsExtensions } #endregion #region DockerNetworkPruneSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerNetworkPruneSettingsExtensions { @@ -9183,7 +9183,7 @@ public static partial class DockerNetworkPruneSettingsExtensions } #endregion #region DockerManifestInspectSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerManifestInspectSettingsExtensions { @@ -9240,7 +9240,7 @@ public static partial class DockerManifestInspectSettingsExtensions } #endregion #region DockerInfoSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerInfoSettingsExtensions { @@ -9255,7 +9255,7 @@ public static partial class DockerInfoSettingsExtensions } #endregion #region DockerCommitSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerCommitSettingsExtensions { @@ -9334,7 +9334,7 @@ public static partial class DockerCommitSettingsExtensions } #endregion #region DockerStackDeploySettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerStackDeploySettingsExtensions { @@ -9430,7 +9430,7 @@ public static partial class DockerStackDeploySettingsExtensions } #endregion #region DockerServiceScaleSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerServiceScaleSettingsExtensions { @@ -9454,7 +9454,7 @@ public static partial class DockerServiceScaleSettingsExtensions } #endregion #region DockerRunSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerRunSettingsExtensions { @@ -10914,7 +10914,7 @@ public static partial class DockerRunSettingsExtensions } #endregion #region DockerCreateSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerCreateSettingsExtensions { @@ -12332,7 +12332,7 @@ public static partial class DockerCreateSettingsExtensions } #endregion #region DockerServiceUpdateSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerServiceUpdateSettingsExtensions { @@ -13514,7 +13514,7 @@ public static partial class DockerServiceUpdateSettingsExtensions } #endregion #region DockerPortSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerPortSettingsExtensions { @@ -13537,14 +13537,14 @@ public static partial class DockerPortSettingsExtensions } #endregion #region DockerContainerSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerContainerSettingsExtensions { } #endregion #region DockerImagePushSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerImagePushSettingsExtensions { @@ -13593,7 +13593,7 @@ public static partial class DockerImagePushSettingsExtensions } #endregion #region DockerServiceInspectSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerServiceInspectSettingsExtensions { @@ -13648,7 +13648,7 @@ public static partial class DockerServiceInspectSettingsExtensions } #endregion #region DockerNetworkConnectSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerNetworkConnectSettingsExtensions { @@ -13779,7 +13779,7 @@ public static partial class DockerNetworkConnectSettingsExtensions } #endregion #region DockerSecretLsSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerSecretLsSettingsExtensions { @@ -13819,7 +13819,7 @@ public static partial class DockerSecretLsSettingsExtensions } #endregion #region DockerSwarmLeaveSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerSwarmLeaveSettingsExtensions { @@ -13843,7 +13843,7 @@ public static partial class DockerSwarmLeaveSettingsExtensions } #endregion #region DockerImagesSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerImagesSettingsExtensions { @@ -13942,7 +13942,7 @@ public static partial class DockerImagesSettingsExtensions } #endregion #region DockerEngineUpdateSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerEngineUpdateSettingsExtensions { @@ -13981,7 +13981,7 @@ public static partial class DockerEngineUpdateSettingsExtensions } #endregion #region DockerSystemEventsSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerSystemEventsSettingsExtensions { @@ -14020,7 +14020,7 @@ public static partial class DockerSystemEventsSettingsExtensions } #endregion #region DockerInspectSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerInspectSettingsExtensions { @@ -14083,7 +14083,7 @@ public static partial class DockerInspectSettingsExtensions } #endregion #region DockerEngineCheckSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerEngineCheckSettingsExtensions { @@ -14190,7 +14190,7 @@ public static partial class DockerEngineCheckSettingsExtensions } #endregion #region DockerAttachSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerAttachSettingsExtensions { @@ -14247,7 +14247,7 @@ public static partial class DockerAttachSettingsExtensions } #endregion #region DockerContainerWaitSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerContainerWaitSettingsExtensions { @@ -14277,7 +14277,7 @@ public static partial class DockerContainerWaitSettingsExtensions } #endregion #region DockerSwarmCaSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerSwarmCaSettingsExtensions { @@ -14367,7 +14367,7 @@ public static partial class DockerSwarmCaSettingsExtensions } #endregion #region DockerEngineSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerEngineSettingsExtensions { @@ -14382,7 +14382,7 @@ public static partial class DockerEngineSettingsExtensions } #endregion #region DockerSystemPruneSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerSystemPruneSettingsExtensions { @@ -14448,14 +14448,14 @@ public static partial class DockerSystemPruneSettingsExtensions } #endregion #region DockerBuilderSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerBuilderSettingsExtensions { } #endregion #region DockerContainerPauseSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerContainerPauseSettingsExtensions { @@ -14485,7 +14485,7 @@ public static partial class DockerContainerPauseSettingsExtensions } #endregion #region DockerContainerCommitSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerContainerCommitSettingsExtensions { @@ -14564,7 +14564,7 @@ public static partial class DockerContainerCommitSettingsExtensions } #endregion #region DockerContextLsSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerContextLsSettingsExtensions { @@ -14596,7 +14596,7 @@ public static partial class DockerContextLsSettingsExtensions } #endregion #region DockerContextRmSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerContextRmSettingsExtensions { @@ -14626,7 +14626,7 @@ public static partial class DockerContextRmSettingsExtensions } #endregion #region DockerStackPsSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerStackPsSettingsExtensions { @@ -14716,7 +14716,7 @@ public static partial class DockerStackPsSettingsExtensions } #endregion #region DockerContainerCreateSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerContainerCreateSettingsExtensions { @@ -16134,7 +16134,7 @@ public static partial class DockerContainerCreateSettingsExtensions } #endregion #region DockerVolumeCreateSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerVolumeCreateSettingsExtensions { @@ -16205,14 +16205,14 @@ public static partial class DockerVolumeCreateSettingsExtensions } #endregion #region DockerPluginSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerPluginSettingsExtensions { } #endregion #region DockerLoginSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerLoginSettingsExtensions { @@ -16243,7 +16243,7 @@ public static partial class DockerLoginSettingsExtensions } #endregion #region DockerSwarmUnlockKeySettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerSwarmUnlockKeySettingsExtensions { @@ -16284,7 +16284,7 @@ public static partial class DockerSwarmUnlockKeySettingsExtensions } #endregion #region DockerStartSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerStartSettingsExtensions { @@ -16372,7 +16372,7 @@ public static partial class DockerStartSettingsExtensions } #endregion #region DockerSwarmInitSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerSwarmInitSettingsExtensions { @@ -16517,7 +16517,7 @@ public static partial class DockerSwarmInitSettingsExtensions } #endregion #region DockerContainerDiffSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerContainerDiffSettingsExtensions { @@ -16532,7 +16532,7 @@ public static partial class DockerContainerDiffSettingsExtensions } #endregion #region DockerContainerRestartSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerContainerRestartSettingsExtensions { @@ -16570,14 +16570,14 @@ public static partial class DockerContainerRestartSettingsExtensions } #endregion #region DockerConfigSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerConfigSettingsExtensions { } #endregion #region DockerPluginDisableSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerPluginDisableSettingsExtensions { @@ -16609,7 +16609,7 @@ public static partial class DockerPluginDisableSettingsExtensions } #endregion #region DockerContainerUnpauseSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerContainerUnpauseSettingsExtensions { @@ -16639,7 +16639,7 @@ public static partial class DockerContainerUnpauseSettingsExtensions } #endregion #region DockerContextImportSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerContextImportSettingsExtensions { @@ -16662,7 +16662,7 @@ public static partial class DockerContextImportSettingsExtensions } #endregion #region DockerRmSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerRmSettingsExtensions { @@ -16743,7 +16743,7 @@ public static partial class DockerRmSettingsExtensions } #endregion #region DockerDeploySettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerDeploySettingsExtensions { @@ -16839,7 +16839,7 @@ public static partial class DockerDeploySettingsExtensions } #endregion #region DockerNodeRmSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerNodeRmSettingsExtensions { @@ -16886,7 +16886,7 @@ public static partial class DockerNodeRmSettingsExtensions } #endregion #region DockerCheckpointRmSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerCheckpointRmSettingsExtensions { @@ -16917,7 +16917,7 @@ public static partial class DockerCheckpointRmSettingsExtensions } #endregion #region DockerPushSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerPushSettingsExtensions { @@ -16966,7 +16966,7 @@ public static partial class DockerPushSettingsExtensions } #endregion #region DockerNetworkCreateSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerNetworkCreateSettingsExtensions { @@ -17241,7 +17241,7 @@ public static partial class DockerNetworkCreateSettingsExtensions } #endregion #region DockerVolumeLsSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerVolumeLsSettingsExtensions { @@ -17281,7 +17281,7 @@ public static partial class DockerVolumeLsSettingsExtensions } #endregion #region DockerTrustInspectSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerTrustInspectSettingsExtensions { @@ -17311,7 +17311,7 @@ public static partial class DockerTrustInspectSettingsExtensions } #endregion #region DockerNetworkInspectSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerNetworkInspectSettingsExtensions { @@ -17366,7 +17366,7 @@ public static partial class DockerNetworkInspectSettingsExtensions } #endregion #region DockerEngineActivateSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerEngineActivateSettingsExtensions { @@ -17455,7 +17455,7 @@ public static partial class DockerEngineActivateSettingsExtensions } #endregion #region DockerContextUseSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerContextUseSettingsExtensions { @@ -17470,7 +17470,7 @@ public static partial class DockerContextUseSettingsExtensions } #endregion #region DockerVolumeRmSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerVolumeRmSettingsExtensions { @@ -17517,7 +17517,7 @@ public static partial class DockerVolumeRmSettingsExtensions } #endregion #region DockerManifestCreateSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerManifestCreateSettingsExtensions { @@ -17555,7 +17555,7 @@ public static partial class DockerManifestCreateSettingsExtensions } #endregion #region DockerManifestPushSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerManifestPushSettingsExtensions { @@ -17604,7 +17604,7 @@ public static partial class DockerManifestPushSettingsExtensions } #endregion #region DockerPluginEnableSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerPluginEnableSettingsExtensions { @@ -17627,7 +17627,7 @@ public static partial class DockerPluginEnableSettingsExtensions } #endregion #region DockerImportSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerImportSettingsExtensions { @@ -17689,7 +17689,7 @@ public static partial class DockerImportSettingsExtensions } #endregion #region DockerContainerRunSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerContainerRunSettingsExtensions { @@ -19149,7 +19149,7 @@ public static partial class DockerContainerRunSettingsExtensions } #endregion #region DockerNodeInspectSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerNodeInspectSettingsExtensions { @@ -19204,7 +19204,7 @@ public static partial class DockerNodeInspectSettingsExtensions } #endregion #region DockerSaveSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerSaveSettingsExtensions { @@ -19242,7 +19242,7 @@ public static partial class DockerSaveSettingsExtensions } #endregion #region DockerContainerStatsSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerContainerStatsSettingsExtensions { @@ -19331,7 +19331,7 @@ public static partial class DockerContainerStatsSettingsExtensions } #endregion #region DockerContainerExecSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerContainerExecSettingsExtensions { @@ -19492,7 +19492,7 @@ public static partial class DockerContainerExecSettingsExtensions } #endregion #region DockerNodeLsSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerNodeLsSettingsExtensions { @@ -19532,7 +19532,7 @@ public static partial class DockerNodeLsSettingsExtensions } #endregion #region DockerSwarmJoinSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerSwarmJoinSettingsExtensions { @@ -19579,7 +19579,7 @@ public static partial class DockerSwarmJoinSettingsExtensions } #endregion #region DockerContainerLogsSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerContainerLogsSettingsExtensions { @@ -19669,7 +19669,7 @@ public static partial class DockerContainerLogsSettingsExtensions } #endregion #region DockerCheckpointLsSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerCheckpointLsSettingsExtensions { @@ -19692,7 +19692,7 @@ public static partial class DockerCheckpointLsSettingsExtensions } #endregion #region DockerContainerKillSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerContainerKillSettingsExtensions { @@ -19730,7 +19730,7 @@ public static partial class DockerContainerKillSettingsExtensions } #endregion #region DockerPluginInstallSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerPluginInstallSettingsExtensions { @@ -19821,7 +19821,7 @@ public static partial class DockerPluginInstallSettingsExtensions } #endregion #region DockerImagePruneSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerImagePruneSettingsExtensions { @@ -19870,7 +19870,7 @@ public static partial class DockerImagePruneSettingsExtensions } #endregion #region DockerImageImportSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerImageImportSettingsExtensions { @@ -19932,7 +19932,7 @@ public static partial class DockerImageImportSettingsExtensions } #endregion #region DockerDiffSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerDiffSettingsExtensions { @@ -19947,7 +19947,7 @@ public static partial class DockerDiffSettingsExtensions } #endregion #region DockerUnpauseSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerUnpauseSettingsExtensions { @@ -19977,7 +19977,7 @@ public static partial class DockerUnpauseSettingsExtensions } #endregion #region DockerContainerLsSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerContainerLsSettingsExtensions { @@ -20093,7 +20093,7 @@ public static partial class DockerContainerLsSettingsExtensions } #endregion #region DockerNodePsSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerNodePsSettingsExtensions { @@ -20190,7 +20190,7 @@ public static partial class DockerNodePsSettingsExtensions } #endregion #region DockerContainerTopSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerContainerTopSettingsExtensions { @@ -20213,7 +20213,7 @@ public static partial class DockerContainerTopSettingsExtensions } #endregion #region DockerContainerRenameSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerContainerRenameSettingsExtensions { @@ -20236,7 +20236,7 @@ public static partial class DockerContainerRenameSettingsExtensions } #endregion #region DockerImageHistorySettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerImageHistorySettingsExtensions { @@ -20310,7 +20310,7 @@ public static partial class DockerImageHistorySettingsExtensions } #endregion #region DockerPsSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerPsSettingsExtensions { @@ -20426,7 +20426,7 @@ public static partial class DockerPsSettingsExtensions } #endregion #region DockerImageTagSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerImageTagSettingsExtensions { @@ -20449,7 +20449,7 @@ public static partial class DockerImageTagSettingsExtensions } #endregion #region DockerExportSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerExportSettingsExtensions { @@ -20472,7 +20472,7 @@ public static partial class DockerExportSettingsExtensions } #endregion #region DockerNetworkDisconnectSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerNetworkDisconnectSettingsExtensions { @@ -20512,7 +20512,7 @@ public static partial class DockerNetworkDisconnectSettingsExtensions } #endregion #region DockerBuilderBuildSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerBuilderBuildSettingsExtensions { @@ -20978,7 +20978,7 @@ public static partial class DockerBuilderBuildSettingsExtensions } #endregion #region DockerBuildxBuildSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerBuildxBuildSettingsExtensions { @@ -21464,7 +21464,7 @@ public static partial class DockerBuildxBuildSettingsExtensions } #endregion #region DockerBuildxCreateSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerBuildxCreateSettingsExtensions { @@ -21603,7 +21603,7 @@ public static partial class DockerBuildxCreateSettingsExtensions } #endregion #region DockerStatsSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerStatsSettingsExtensions { @@ -21692,7 +21692,7 @@ public static partial class DockerStatsSettingsExtensions } #endregion #region DockerSearchSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerSearchSettingsExtensions { @@ -21773,7 +21773,7 @@ public static partial class DockerSearchSettingsExtensions } #endregion #region DockerManifestSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerManifestSettingsExtensions { @@ -21788,7 +21788,7 @@ public static partial class DockerManifestSettingsExtensions } #endregion #region DockerPluginPushSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerPluginPushSettingsExtensions { @@ -21820,7 +21820,7 @@ public static partial class DockerPluginPushSettingsExtensions } #endregion #region DockerImageLoadSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerImageLoadSettingsExtensions { @@ -21852,14 +21852,14 @@ public static partial class DockerImageLoadSettingsExtensions } #endregion #region DockerSwarmSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerSwarmSettingsExtensions { } #endregion #region DockerContainerRmSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerContainerRmSettingsExtensions { @@ -21940,7 +21940,7 @@ public static partial class DockerContainerRmSettingsExtensions } #endregion #region DockerContainerUpdateSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerContainerUpdateSettingsExtensions { @@ -22090,7 +22090,7 @@ public static partial class DockerContainerUpdateSettingsExtensions } #endregion #region DockerPluginSetSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerPluginSetSettingsExtensions { @@ -22122,7 +22122,7 @@ public static partial class DockerPluginSetSettingsExtensions } #endregion #region DockerWaitSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerWaitSettingsExtensions { @@ -22152,7 +22152,7 @@ public static partial class DockerWaitSettingsExtensions } #endregion #region DockerContextExportSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerContextExportSettingsExtensions { @@ -22192,7 +22192,7 @@ public static partial class DockerContextExportSettingsExtensions } #endregion #region DockerManifestAnnotateSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerManifestAnnotateSettingsExtensions { @@ -22262,7 +22262,7 @@ public static partial class DockerManifestAnnotateSettingsExtensions } #endregion #region DockerImagePullSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerImagePullSettingsExtensions { @@ -22336,7 +22336,7 @@ public static partial class DockerImagePullSettingsExtensions } #endregion #region DockerEventsSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerEventsSettingsExtensions { @@ -22375,7 +22375,7 @@ public static partial class DockerEventsSettingsExtensions } #endregion #region DockerStackLsSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerStackLsSettingsExtensions { @@ -22430,7 +22430,7 @@ public static partial class DockerStackLsSettingsExtensions } #endregion #region DockerContainerInspectSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerContainerInspectSettingsExtensions { @@ -22485,7 +22485,7 @@ public static partial class DockerContainerInspectSettingsExtensions } #endregion #region DockerKillSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerKillSettingsExtensions { @@ -22523,7 +22523,7 @@ public static partial class DockerKillSettingsExtensions } #endregion #region DockerCheckpointCreateSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerCheckpointCreateSettingsExtensions { @@ -22571,7 +22571,7 @@ public static partial class DockerCheckpointCreateSettingsExtensions } #endregion #region DockerPauseSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerPauseSettingsExtensions { @@ -22601,7 +22601,7 @@ public static partial class DockerPauseSettingsExtensions } #endregion #region DockerLogsSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerLogsSettingsExtensions { @@ -22691,7 +22691,7 @@ public static partial class DockerLogsSettingsExtensions } #endregion #region DockerContextInspectSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerContextInspectSettingsExtensions { @@ -22737,7 +22737,7 @@ public static partial class DockerContextInspectSettingsExtensions } #endregion #region DockerNodePromoteSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerNodePromoteSettingsExtensions { @@ -22767,7 +22767,7 @@ public static partial class DockerNodePromoteSettingsExtensions } #endregion #region DockerNodeDemoteSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerNodeDemoteSettingsExtensions { @@ -22797,7 +22797,7 @@ public static partial class DockerNodeDemoteSettingsExtensions } #endregion #region DockerExecSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerExecSettingsExtensions { @@ -22958,7 +22958,7 @@ public static partial class DockerExecSettingsExtensions } #endregion #region DockerImageRmSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerImageRmSettingsExtensions { @@ -23022,21 +23022,21 @@ public static partial class DockerImageRmSettingsExtensions } #endregion #region DockerImageSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerImageSettingsExtensions { } #endregion #region DockerContextSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerContextSettingsExtensions { } #endregion #region DockerVolumeSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerVolumeSettingsExtensions { @@ -23051,7 +23051,7 @@ public static partial class DockerVolumeSettingsExtensions } #endregion #region DockerContainerStartSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerContainerStartSettingsExtensions { @@ -23139,7 +23139,7 @@ public static partial class DockerContainerStartSettingsExtensions } #endregion #region DockerPluginInspectSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerPluginInspectSettingsExtensions { @@ -23177,7 +23177,7 @@ public static partial class DockerPluginInspectSettingsExtensions } #endregion #region DockerLogoutSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerLogoutSettingsExtensions { @@ -23192,14 +23192,14 @@ public static partial class DockerLogoutSettingsExtensions } #endregion #region DockerNetworkSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerNetworkSettingsExtensions { } #endregion #region DockerImageLsSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerImageLsSettingsExtensions { @@ -23298,7 +23298,7 @@ public static partial class DockerImageLsSettingsExtensions } #endregion #region DockerSystemDfSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerSystemDfSettingsExtensions { @@ -23330,7 +23330,7 @@ public static partial class DockerSystemDfSettingsExtensions } #endregion #region DockerServiceRollbackSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerServiceRollbackSettingsExtensions { @@ -23379,7 +23379,7 @@ public static partial class DockerServiceRollbackSettingsExtensions } #endregion #region DockerRestartSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerRestartSettingsExtensions { @@ -23417,7 +23417,7 @@ public static partial class DockerRestartSettingsExtensions } #endregion #region DockerTrustSignerRemoveSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerTrustSignerRemoveSettingsExtensions { @@ -23472,7 +23472,7 @@ public static partial class DockerTrustSignerRemoveSettingsExtensions } #endregion #region DockerStackRmSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerStackRmSettingsExtensions { @@ -23510,7 +23510,7 @@ public static partial class DockerStackRmSettingsExtensions } #endregion #region DockerBuildSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DockerBuildSettingsExtensions { diff --git a/src/Fallout.Common/Tools/Docker/DockerTargetDefinitionExtensions.cs b/src/Fallout.Common/Tools/Docker/DockerTargetDefinitionExtensions.cs index 26ad0bb90..9e961c9be 100644 --- a/src/Fallout.Common/Tools/Docker/DockerTargetDefinitionExtensions.cs +++ b/src/Fallout.Common/Tools/Docker/DockerTargetDefinitionExtensions.cs @@ -3,18 +3,20 @@ using System.IO; using System.Linq; using Fallout.Common.IO; -using Fallout.Common.Tooling; -using Fallout.Common.Tools.DotNet; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; using Serilog; using Serilog.Formatting.Compact.Reader; -using static Fallout.Common.Tools.Docker.DockerTasks; -using static Fallout.Common.Tools.DotNet.DotNetTasks; +using static Fallout.Application.Tools.Docker.DockerTasks; +using static Fallout.Application.Tools.DotNet.DotNetTasks; using Fallout.Application; using Fallout.Application.Execution; +using Fallout.Application.Tools.DotNet; +using Fallout.Application.Tooling; +using Fallout.Infrastructure.Tooling; +using Fallout.Common; -namespace Fallout.Common.Tools.Docker; +namespace Fallout.Application.Tools.Docker; public static class DockerTargetDefinitionExtensions { diff --git a/src/Fallout.Common/Tools/Docker/DockerTasks.cs b/src/Fallout.Common/Tools/Docker/DockerTasks.cs index c5d3752e2..9ae735d1b 100644 --- a/src/Fallout.Common/Tools/Docker/DockerTasks.cs +++ b/src/Fallout.Common/Tools/Docker/DockerTasks.cs @@ -1,9 +1,9 @@ -using System; +using System; using System.Linq; -using Fallout.Common.Tooling; using Serilog.Events; +using Fallout.Application.Tooling; -namespace Fallout.Common.Tools.Docker; +namespace Fallout.Application.Tools.Docker; [LogErrorAsStandard] [LogLevelPattern(LogEventLevel.Warning, "^WARNING!")] diff --git a/src/Fallout.Common/Tools/DotCover/DotCover.Generated.cs b/src/Fallout.Common/Tools/DotCover/DotCover.Generated.cs index aabc45e9c..100e8a4b4 100644 --- a/src/Fallout.Common/Tools/DotCover/DotCover.Generated.cs +++ b/src/Fallout.Common/Tools/DotCover/DotCover.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/DotCover/DotCover.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.DotCover; +namespace Fallout.Application.Tools.DotCover; ///

dotCover is a .NET unit testing and code coverage tool that works right in Visual Studio, helps you know to what extent your code is covered with unit tests, provides great ways to visualize code coverage, and is Continuous Integration ready. dotCover calculates and reports statement-level code coverage in applications targeting .NET Framework, Silverlight, and .NET Core.

For more details, visit the official website.

[ExcludeFromCodeCoverage] @@ -27,55 +27,55 @@ public partial class DotCoverTasks : ToolTasks, IRequireNuGetPackage ///

dotCover is a .NET unit testing and code coverage tool that works right in Visual Studio, helps you know to what extent your code is covered with unit tests, provides great ways to visualize code coverage, and is Continuous Integration ready. dotCover calculates and reports statement-level code coverage in applications targeting .NET Framework, Silverlight, and .NET Core.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <configuration> via
  • --AllowSymbolServerAccess via
  • --AnalyseTargetArguments via
  • --AttributeFilters via
  • --DisableDefaultFilters via
  • --Filters via
  • --HideAutoProperties via
  • --InheritConsole via
  • --LogFile via
  • --Output via
  • --ProcessFilters via
  • --ReportType via
  • --ReturnTargetExitCode via
  • --Scope via
  • --SymbolSearchPaths via
  • --TargetArguments via
  • --TargetExecutable via
  • --TargetWorkingDir via
  • --TempDir via
public static IReadOnlyCollection DotCoverAnalyse(DotCoverAnalyseSettings options = null) => new DotCoverTasks().Run(options); - /// + /// public static IReadOnlyCollection DotCoverAnalyse(Configure configurator) => new DotCoverTasks().Run(configurator.Invoke(new DotCoverAnalyseSettings())); - /// + /// public static IEnumerable<(DotCoverAnalyseSettings Settings, IReadOnlyCollection Output)> DotCoverAnalyse(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DotCoverAnalyse, degreeOfParallelism, completeOnFailure); ///

dotCover is a .NET unit testing and code coverage tool that works right in Visual Studio, helps you know to what extent your code is covered with unit tests, provides great ways to visualize code coverage, and is Continuous Integration ready. dotCover calculates and reports statement-level code coverage in applications targeting .NET Framework, Silverlight, and .NET Core.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <configuration> via
  • --AllowSymbolServerAccess via
  • --AnalyseTargetArguments via
  • --AttributeFilters via
  • --DisableDefaultFilters via
  • --Filters via
  • --InheritConsole via
  • --LogFile via
  • --Output via
  • --ProcessFilters via
  • --ReportType via
  • --ReturnTargetExitCode via
  • --Scope via
  • --SymbolSearchPaths via
  • --TargetArguments via
  • --TargetExecutable via
  • --TargetWorkingDir via
  • --TempDir via
public static IReadOnlyCollection DotCoverCover(DotCoverCoverSettings options = null) => new DotCoverTasks().Run(options); - /// + /// public static IReadOnlyCollection DotCoverCover(Configure configurator) => new DotCoverTasks().Run(configurator.Invoke(new DotCoverCoverSettings())); - /// + /// public static IEnumerable<(DotCoverCoverSettings Settings, IReadOnlyCollection Output)> DotCoverCover(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DotCoverCover, degreeOfParallelism, completeOnFailure); ///

dotCover is a .NET unit testing and code coverage tool that works right in Visual Studio, helps you know to what extent your code is covered with unit tests, provides great ways to visualize code coverage, and is Continuous Integration ready. dotCover calculates and reports statement-level code coverage in applications targeting .NET Framework, Silverlight, and .NET Core.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <configuration> via
  • --AllowSymbolServerAccess via
  • --AnalyseTargetArguments via
  • --AttributeFilters via
  • --DisableDefaultFilters via
  • --Filters via
  • --InheritConsole via
  • --LogFile via
  • --Output via
  • --ProcessFilters via
  • --ReportType via
  • --ReturnTargetExitCode via
  • --Scope via
  • --SymbolSearchPaths via
  • --TargetArguments via
  • --TargetWorkingDir via
  • --TempDir via
public static IReadOnlyCollection DotCoverCoverDotNet(DotCoverCoverDotNetSettings options = null) => new DotCoverTasks().Run(options); - /// + /// public static IReadOnlyCollection DotCoverCoverDotNet(Configure configurator) => new DotCoverTasks().Run(configurator.Invoke(new DotCoverCoverDotNetSettings())); - /// + /// public static IEnumerable<(DotCoverCoverDotNetSettings Settings, IReadOnlyCollection Output)> DotCoverCoverDotNet(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DotCoverCoverDotNet, degreeOfParallelism, completeOnFailure); ///

dotCover is a .NET unit testing and code coverage tool that works right in Visual Studio, helps you know to what extent your code is covered with unit tests, provides great ways to visualize code coverage, and is Continuous Integration ready. dotCover calculates and reports statement-level code coverage in applications targeting .NET Framework, Silverlight, and .NET Core.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <configuration> via
  • --LogFile via
  • --Source via
public static IReadOnlyCollection DotCoverDelete(DotCoverDeleteSettings options = null) => new DotCoverTasks().Run(options); - /// + /// public static IReadOnlyCollection DotCoverDelete(Configure configurator) => new DotCoverTasks().Run(configurator.Invoke(new DotCoverDeleteSettings())); - /// + /// public static IEnumerable<(DotCoverDeleteSettings Settings, IReadOnlyCollection Output)> DotCoverDelete(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DotCoverDelete, degreeOfParallelism, completeOnFailure); ///

dotCover is a .NET unit testing and code coverage tool that works right in Visual Studio, helps you know to what extent your code is covered with unit tests, provides great ways to visualize code coverage, and is Continuous Integration ready. dotCover calculates and reports statement-level code coverage in applications targeting .NET Framework, Silverlight, and .NET Core.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <configuration> via
  • --LogFile via
  • --Output via
  • --Source via
  • --TempDir via
public static IReadOnlyCollection DotCoverMerge(DotCoverMergeSettings options = null) => new DotCoverTasks().Run(options); - /// + /// public static IReadOnlyCollection DotCoverMerge(Configure configurator) => new DotCoverTasks().Run(configurator.Invoke(new DotCoverMergeSettings())); - /// + /// public static IEnumerable<(DotCoverMergeSettings Settings, IReadOnlyCollection Output)> DotCoverMerge(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DotCoverMerge, degreeOfParallelism, completeOnFailure); ///

dotCover is a .NET unit testing and code coverage tool that works right in Visual Studio, helps you know to what extent your code is covered with unit tests, provides great ways to visualize code coverage, and is Continuous Integration ready. dotCover calculates and reports statement-level code coverage in applications targeting .NET Framework, Silverlight, and .NET Core.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <configuration> via
  • --HideAutoProperties via
  • --LogFile via
  • --Output via
  • --ReportType via
  • --Source via
public static IReadOnlyCollection DotCoverReport(DotCoverReportSettings options = null) => new DotCoverTasks().Run(options); - /// + /// public static IReadOnlyCollection DotCoverReport(Configure configurator) => new DotCoverTasks().Run(configurator.Invoke(new DotCoverReportSettings())); - /// + /// public static IEnumerable<(DotCoverReportSettings Settings, IReadOnlyCollection Output)> DotCoverReport(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DotCoverReport, degreeOfParallelism, completeOnFailure); ///

dotCover is a .NET unit testing and code coverage tool that works right in Visual Studio, helps you know to what extent your code is covered with unit tests, provides great ways to visualize code coverage, and is Continuous Integration ready. dotCover calculates and reports statement-level code coverage in applications targeting .NET Framework, Silverlight, and .NET Core.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <configuration> via
  • --LogFile via
  • --Output via
  • --Source via
public static IReadOnlyCollection DotCoverZip(DotCoverZipSettings options = null) => new DotCoverTasks().Run(options); - /// + /// public static IReadOnlyCollection DotCoverZip(Configure configurator) => new DotCoverTasks().Run(configurator.Invoke(new DotCoverZipSettings())); - /// + /// public static IEnumerable<(DotCoverZipSettings Settings, IReadOnlyCollection Output)> DotCoverZip(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DotCoverZip, degreeOfParallelism, completeOnFailure); } #region DotCoverAnalyseSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DotCoverTasks), Command = nameof(DotCoverTasks.DotCoverAnalyse), Arguments = "analyse")] public partial class DotCoverAnalyseSettings : ToolOptions @@ -121,7 +121,7 @@ public partial class DotCoverAnalyseSettings : ToolOptions } #endregion #region DotCoverCoverSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DotCoverTasks), Command = nameof(DotCoverTasks.DotCoverCover), Arguments = "cover")] public partial class DotCoverCoverSettings : ToolOptions @@ -165,7 +165,7 @@ public partial class DotCoverCoverSettings : ToolOptions } #endregion #region DotCoverCoverDotNetSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DotCoverTasks), Command = nameof(DotCoverTasks.DotCoverCoverDotNet), Arguments = "dotnet")] public partial class DotCoverCoverDotNetSettings : ToolOptions @@ -207,7 +207,7 @@ public partial class DotCoverCoverDotNetSettings : ToolOptions } #endregion #region DotCoverDeleteSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DotCoverTasks), Command = nameof(DotCoverTasks.DotCoverDelete), Arguments = "delete")] public partial class DotCoverDeleteSettings : ToolOptions @@ -221,7 +221,7 @@ public partial class DotCoverDeleteSettings : ToolOptions } #endregion #region DotCoverMergeSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DotCoverTasks), Command = nameof(DotCoverTasks.DotCoverMerge), Arguments = "merge")] public partial class DotCoverMergeSettings : ToolOptions @@ -239,7 +239,7 @@ public partial class DotCoverMergeSettings : ToolOptions } #endregion #region DotCoverReportSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DotCoverTasks), Command = nameof(DotCoverTasks.DotCoverReport), Arguments = "report")] public partial class DotCoverReportSettings : ToolOptions @@ -259,7 +259,7 @@ public partial class DotCoverReportSettings : ToolOptions } #endregion #region DotCoverZipSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DotCoverTasks), Command = nameof(DotCoverTasks.DotCoverZip), Arguments = "zip")] public partial class DotCoverZipSettings : ToolOptions @@ -275,7 +275,7 @@ public partial class DotCoverZipSettings : ToolOptions } #endregion #region DotCoverAnalyseSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DotCoverAnalyseSettingsExtensions { @@ -563,7 +563,7 @@ public static partial class DotCoverAnalyseSettingsExtensions } #endregion #region DotCoverCoverSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DotCoverCoverSettingsExtensions { @@ -834,7 +834,7 @@ public static partial class DotCoverCoverSettingsExtensions } #endregion #region DotCoverCoverDotNetSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DotCoverCoverDotNetSettingsExtensions { @@ -1097,7 +1097,7 @@ public static partial class DotCoverCoverDotNetSettingsExtensions } #endregion #region DotCoverDeleteSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DotCoverDeleteSettingsExtensions { @@ -1143,7 +1143,7 @@ public static partial class DotCoverDeleteSettingsExtensions } #endregion #region DotCoverMergeSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DotCoverMergeSettingsExtensions { @@ -1205,7 +1205,7 @@ public static partial class DotCoverMergeSettingsExtensions } #endregion #region DotCoverReportSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DotCoverReportSettingsExtensions { @@ -1284,7 +1284,7 @@ public static partial class DotCoverReportSettingsExtensions } #endregion #region DotCoverZipSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DotCoverZipSettingsExtensions { diff --git a/src/Fallout.Common/Tools/DotCover/DotCoverTasks.cs b/src/Fallout.Common/Tools/DotCover/DotCoverTasks.cs index ae7415639..54204120c 100644 --- a/src/Fallout.Common/Tools/DotCover/DotCoverTasks.cs +++ b/src/Fallout.Common/Tools/DotCover/DotCoverTasks.cs @@ -1,7 +1,9 @@ -using Fallout.Common.Tooling; using Fallout.Common.Utilities; +using Fallout.Application.Tooling; +using Fallout.Infrastructure.Tooling; +using Fallout.Common; -namespace Fallout.Common.Tools.DotCover; +namespace Fallout.Application.Tools.DotCover; partial class DotCoverTasks { diff --git a/src/Fallout.Common/Tools/DotCover/TeamCitySetDotCoverHomePathAttribute.cs b/src/Fallout.Common/Tools/DotCover/TeamCitySetDotCoverHomePathAttribute.cs index 0aeeb3137..194476ed8 100644 --- a/src/Fallout.Common/Tools/DotCover/TeamCitySetDotCoverHomePathAttribute.cs +++ b/src/Fallout.Common/Tools/DotCover/TeamCitySetDotCoverHomePathAttribute.cs @@ -4,7 +4,7 @@ using Fallout.Common.CI.TeamCity; using Fallout.Application.Execution; -namespace Fallout.Common.Tools.DotCover; +namespace Fallout.Application.Tools.DotCover; public class TeamCitySetDotCoverHomePathAttribute : BuildExtensionAttributeBase, IOnBuildInitialized { diff --git a/src/Fallout.Common/Tools/DotMemoryUnit/DotMemoryUnit.Generated.cs b/src/Fallout.Common/Tools/DotMemoryUnit/DotMemoryUnit.Generated.cs index 195aff2d4..2c5ae2ea8 100644 --- a/src/Fallout.Common/Tools/DotMemoryUnit/DotMemoryUnit.Generated.cs +++ b/src/Fallout.Common/Tools/DotMemoryUnit/DotMemoryUnit.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/DotMemoryUnit/DotMemoryUnit.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.DotMemoryUnit; +namespace Fallout.Application.Tools.DotMemoryUnit; ///

dotMemory Unit is a unit testing framework which allows you to write tests that check your code for all kinds of memory issues. You can now extend NUnit, MSTest or another .NET unit testing framework with the functionality of a memory profiler.Perfect fit for any workflow: integrated with Visual Studio, works with stand-alone unit test runners, Continuous Integration ready. Last but not least, dotMemory Unit is free.

For more details, visit the official website.

[ExcludeFromCodeCoverage] diff --git a/src/Fallout.Common/Tools/DotNet/DotNet.Generated.cs b/src/Fallout.Common/Tools/DotNet/DotNet.Generated.cs index 487b2c251..79b7f7268 100644 --- a/src/Fallout.Common/Tools/DotNet/DotNet.Generated.cs +++ b/src/Fallout.Common/Tools/DotNet/DotNet.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.DotNet; +namespace Fallout.Application.Tools.DotNet; ///

For more details, visit the official website.

[ExcludeFromCodeCoverage] @@ -25,174 +25,174 @@ public partial class DotNetTasks : ToolTasks, IRequirePathTool ///

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:

  • <projectFile> via
  • -- via
  • --artifacts-path via
  • --blame via
  • --blame-crash via
  • --blame-crash-collect-always via
  • --blame-crash-dump-type via
  • --blame-hang via
  • --blame-hang-dump-type via
  • --blame-hang-timeout via
  • --collect via
  • --configuration via
  • --diag via
  • --disable-parallel via
  • --filter via
  • --force via
  • --force-evaluate via
  • --framework via
  • --ignore-failed-sources via
  • --list-tests via
  • --lock-file-path via
  • --locked-mode via
  • --logger via
  • --no-build via
  • --no-cache via
  • --no-dependencies via
  • --no-restore via
  • --nologo via
  • --output via
  • --packages via
  • --results-directory via
  • --runtime via
  • --settings via
  • --source via
  • --test-adapter-path via
  • --use-lock-file via
  • --verbosity via
  • /property via
public static IReadOnlyCollection DotNetTest(DotNetTestSettings options = null) => new DotNetTasks().Run(options); - /// + /// public static IReadOnlyCollection DotNetTest(Configure configurator) => new DotNetTasks().Run(configurator.Invoke(new DotNetTestSettings())); - /// + /// public static IEnumerable<(DotNetTestSettings Settings, IReadOnlyCollection Output)> DotNetTest(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DotNetTest, degreeOfParallelism, completeOnFailure); ///

The dotnet run command provides a convenient option to run your application from the source code with one command. It's useful for fast iterative development from the command line. The command depends on the dotnet build command to build the code. Any requirements for the build, such as that the project must be restored first, apply to dotnet run as well.

Output files are written into the default location, which is bin/<configuration>/<target>. For example if you have a netcoreapp1.0 application and you run dotnet run, the output is placed in bin/Debug/netcoreapp1.0. Files are overwritten as needed. Temporary files are placed in the obj directory.

If the project specifies multiple frameworks, executing dotnet run results in an error unless the -f|--framework <FRAMEWORK> option is used to specify the framework.

The dotnet run command is used in the context of projects, not built assemblies. If you're trying to run a framework-dependent application DLL instead, you must use dotnet without a command. For example, to run myapp.dll, use: dotnet myapp.dll

For more information on the dotnet driver, see the .NET Core Command Line Tools (CLI) topic.

In order to run the application, the dotnet run command resolves the dependencies of the application that are outside of the shared runtime from the NuGet cache. Because it uses cached dependencies, it's not recommended to use dotnet run to run applications in production. Instead, create a deployment using the dotnet publish command and deploy the published output.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • -- via
  • --arch via
  • --artifacts-path via
  • --configuration via
  • --disable-build-servers via
  • --disable-parallel via
  • --force via
  • --force-evaluate via
  • --framework via
  • --ignore-failed-sources via
  • --interactive via
  • --launch-profile via
  • --lock-file-path via
  • --locked-mode via
  • --no-build via
  • --no-cache via
  • --no-dependencies via
  • --no-launch-profile via
  • --no-restore via
  • --no-self-contained via
  • --os via
  • --packages via
  • --project via
  • --property via
  • --runtime via
  • --self-contained via
  • --source via
  • --use-lock-file via
  • --verbosity via
public static IReadOnlyCollection DotNetRun(DotNetRunSettings options = null) => new DotNetTasks().Run(options); - /// + /// public static IReadOnlyCollection DotNetRun(Configure configurator) => new DotNetTasks().Run(configurator.Invoke(new DotNetRunSettings())); - /// + /// public static IEnumerable<(DotNetRunSettings Settings, IReadOnlyCollection Output)> DotNetRun(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DotNetRun, degreeOfParallelism, completeOnFailure); ///

The dotnet restore command uses NuGet to restore dependencies as well as project-specific tools that are specified in the project file. By default, the restoration of dependencies and tools are performed in parallel.

Starting with .NET Core 2.0, you don't have to run dotnet restore because it's run implicitly by all commands, such as dotnet build and dotnet run, that require a restore to occur. It's still a valid command in certain scenarios where doing an explicit restore makes sense, such as continuous integration builds in Visual Studio Team Services or in build systems that need to explicitly control the time at which the restore occurs.

In order to restore the dependencies, NuGet needs the feeds where the packages are located. Feeds are usually provided via the NuGet.config configuration file. A default configuration file is provided when the CLI tools are installed. You specify additional feeds by creating your own NuGet.config file in the project directory. You also specify additional feeds per invocation at a command prompt.

For dependencies, you specify where the restored packages are placed during the restore operation using the --packages argument. If not specified, the default NuGet package cache is used, which is found in the .nuget/packages directory in the user's home directory on all operating systems (for example, /home/user1 on Linux or C:\Users\user1 on Windows).

For project-specific tooling, dotnet restore first restores the package in which the tool is packed, and then proceeds to restore the tool's dependencies as specified in its project file.

The behavior of the dotnet restore command is affected by some of the settings in the Nuget.Config file, if present. For example, setting the globalPackagesFolder in NuGet.Config places the restored NuGet packages in the specified folder. This is an alternative to specifying the --packages option on the dotnet restore command. For more information, see the NuGet.Config reference.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <projectFile> via
  • --configfile via
  • --disable-parallel via
  • --force via
  • --force-evaluate via
  • --ignore-failed-sources via
  • --lock-file-path via
  • --locked-mode via
  • --no-cache via
  • --no-dependencies via
  • --packages via
  • --property via
  • --runtime via
  • --source via
  • --use-lock-file via
  • --verbosity via
public static IReadOnlyCollection DotNetRestore(DotNetRestoreSettings options = null) => new DotNetTasks().Run(options); - /// + /// public static IReadOnlyCollection DotNetRestore(Configure configurator) => new DotNetTasks().Run(configurator.Invoke(new DotNetRestoreSettings())); - /// + /// public static IEnumerable<(DotNetRestoreSettings Settings, IReadOnlyCollection Output)> DotNetRestore(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DotNetRestore, degreeOfParallelism, completeOnFailure); ///

The dotnet pack command builds the project and creates NuGet packages. The result of this command is a NuGet package. If the --include-symbols option is present, another package containing the debug symbols is created.

NuGet dependencies of the packed project are added to the .nuspec file, so they're properly resolved when the package is installed. Project-to-project references aren't packaged inside the project. Currently, you must have a package per project if you have project-to-project dependencies.

By default, dotnet pack builds the project first. If you wish to avoid this behavior, pass the --no-build option. This is often useful in Continuous Integration (CI) build scenarios where you know the code was previously built.

You can provide MSBuild properties to the dotnet pack command for the packing process. For more information, see NuGet metadata properties and the MSBuild Command-Line Reference.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <project> via
  • --artifacts-path via
  • --configuration via
  • --disable-parallel via
  • --force via
  • --force-evaluate via
  • --ignore-failed-sources via
  • --include-source via
  • --include-symbols via
  • --lock-file-path via
  • --locked-mode via
  • --no-build via
  • --no-cache via
  • --no-dependencies via
  • --no-restore via
  • --nologo via
  • --output via
  • --packages via
  • --property via
  • --runtime via
  • --serviceable via
  • --source via
  • --use-lock-file via
  • --verbosity via
  • --version-suffix via
public static IReadOnlyCollection DotNetPack(DotNetPackSettings options = null) => new DotNetTasks().Run(options); - /// + /// public static IReadOnlyCollection DotNetPack(Configure configurator) => new DotNetTasks().Run(configurator.Invoke(new DotNetPackSettings())); - /// + /// public static IEnumerable<(DotNetPackSettings Settings, IReadOnlyCollection Output)> DotNetPack(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DotNetPack, degreeOfParallelism, completeOnFailure); ///

The dotnet build command builds the project and its dependencies into a set of binaries. The binaries include the project's code in Intermediate Language (IL) files with a .dll extension and symbol files used for debugging with a .pdb extension. A dependencies JSON file (*.deps.json) is produced that lists the dependencies of the application. A .runtimeconfig.json file is produced, which specifies the shared runtime and its version for the application.

If the project has third-party dependencies, such as libraries from NuGet, they're resolved from the NuGet cache and aren't available with the project's built output. With that in mind, the product of dotnet buildd isn't ready to be transferred to another machine to run. This is in contrast to the behavior of the .NET Framework in which building an executable project (an application) produces output that's runnable on any machine where the .NET Framework is installed. To have a similar experience with .NET Core, you use the dotnet publish command. For more information, see .NET Core Application Deployment.

Building requires the project.assets.json file, which lists the dependencies of your application. The file is created dotnet restore is executed. Without the assets file in place, the tooling cannot resolve reference assemblies, which will result in errors. With .NET Core 1.x SDK, you needed to explicitily run the dotnet restore before running dotnet build. Starting with .NET Core 2.0 SDK, dotnet restore runs implicitily when you run dotnet build. If you want to disable implicit restore when running the build command, you can pass the --no-restore option.

dotnet build uses MSBuild to build the project; thus, it supports both parallel and incremental builds. Refer to Incremental Builds for more information.

In addition to its options, the dotnet build command accepts MSBuild options, such as /p for setting properties or /l to define a logger. Learn more about these options in the MSBuild Command-Line Reference.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <projectFile> via
  • --artifacts-path via
  • --configuration via
  • --disable-parallel via
  • --force via
  • --force-evaluate via
  • --framework via
  • --ignore-failed-sources via
  • --lock-file-path via
  • --locked-mode via
  • --no-cache via
  • --no-dependencies via
  • --no-incremental via
  • --no-restore via
  • --nologo via
  • --output via
  • --packages via
  • --property via
  • --runtime via
  • --self-contained via
  • --source via
  • --use-lock-file via
  • --verbosity via
  • --version-suffix via
  • -bl via
  • /logger via
  • /noconsolelogger via
public static IReadOnlyCollection DotNetBuild(DotNetBuildSettings options = null) => new DotNetTasks().Run(options); - /// + /// public static IReadOnlyCollection DotNetBuild(Configure configurator) => new DotNetTasks().Run(configurator.Invoke(new DotNetBuildSettings())); - /// + /// public static IEnumerable<(DotNetBuildSettings Settings, IReadOnlyCollection Output)> DotNetBuild(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DotNetBuild, degreeOfParallelism, completeOnFailure); ///

The dotnet msbuild command allows access to a fully functional MSBuild.The command has the exact same capabilities as the existing MSBuild command-line client for SDK-style projects only. The options are all the same. For more information about the available options, see the MSBuild command-line reference.The dotnet build command is equivalent to dotnet msbuild -restore. When you don't want to build the project and you have a specific target you want to run, use dotnet build or dotnet msbuild and specify the target.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <targetPath> via
  • -bl via
  • /detailedsummary via
  • /graphBuild via
  • /logger via
  • /maxcpucount via
  • /noconsolelogger via
  • /nodeReuse via
  • /nologo via
  • /property via
  • /property:Configuration via
  • /restore via
  • /target via
  • /verbosity via
public static IReadOnlyCollection DotNetMSBuild(DotNetMSBuildSettings options = null) => new DotNetTasks().Run(options); - /// + /// public static IReadOnlyCollection DotNetMSBuild(Configure configurator) => new DotNetTasks().Run(configurator.Invoke(new DotNetMSBuildSettings())); - /// + /// public static IEnumerable<(DotNetMSBuildSettings Settings, IReadOnlyCollection Output)> DotNetMSBuild(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DotNetMSBuild, degreeOfParallelism, completeOnFailure); ///

The dotnet clean command cleans the output of the previous build. It's implemented as an MSBuild target, so the project is evaluated when the command is run. Only the outputs created during the build are cleaned. Both intermediate (obj) and final output (bin) folders are cleaned.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <project> via
  • --artifacts-path via
  • --configuration via
  • --framework via
  • --nologo via
  • --output via
  • --property via
  • --runtime via
  • --verbosity via
public static IReadOnlyCollection DotNetClean(DotNetCleanSettings options = null) => new DotNetTasks().Run(options); - /// + /// public static IReadOnlyCollection DotNetClean(Configure configurator) => new DotNetTasks().Run(configurator.Invoke(new DotNetCleanSettings())); - /// + /// public static IEnumerable<(DotNetCleanSettings Settings, IReadOnlyCollection Output)> DotNetClean(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DotNetClean, degreeOfParallelism, completeOnFailure); ///

dotnet format is a code formatter that applies style preferences to a project or solution. Preferences will be read from an *.editorconfig* file, if present, otherwise a default set of preferences will be used. For more information, see the EditorConfig documentation

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <project> via
  • --binarylog via
  • --exclude via
  • --include via
  • --include-generated via
  • --no-restore via
  • --property via
  • --report via
  • --severity via
  • --verbosity via
  • --verify-no-changes via
public static IReadOnlyCollection DotNetFormat(DotNetFormatSettings options = null) => new DotNetTasks().Run(options); - /// + /// public static IReadOnlyCollection DotNetFormat(Configure configurator) => new DotNetTasks().Run(configurator.Invoke(new DotNetFormatSettings())); - /// + /// public static IEnumerable<(DotNetFormatSettings Settings, IReadOnlyCollection Output)> DotNetFormat(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DotNetFormat, degreeOfParallelism, completeOnFailure); ///

dotnet publish compiles the application, reads through its dependencies specified in the project file, and publishes the resulting set of files to a directory. The output will contain the following:

  • Intermediate Language (IL) code in an assembly with a dll extension.
  • .deps.json file that contains all of the dependencies of the project.
  • .runtime.config.json file that specifies the shared runtime that the application expects, as well as other configuration options for the runtime (for example, garbage collection type).
  • The application's dependencies. These are copied from the NuGet cache into the output folder.
The dotnet publish command's output is ready for deployment to a hosting system (for example, a server, PC, Mac, laptop) for execution and is the only officially supported way to prepare the application for deployment. Depending on the type of deployment that the project specifies, the hosting system may or may not have the .NET Core shared runtime installed on it. For more information, see .NET Core Application Deployment. For the directory structure of a published application, see Directory structure.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <project> via
  • --arch via
  • --artifacts-path via
  • --configuration via
  • --disable-parallel via
  • --force via
  • --force-evaluate via
  • --framework via
  • --ignore-failed-sources via
  • --lock-file-path via
  • --locked-mode via
  • --manifest via
  • --no-build via
  • --no-cache via
  • --no-dependencies via
  • --no-restore via
  • --nologo via
  • --os via
  • --output via
  • --packages via
  • --property via
  • --runtime via
  • --self-contained via
  • --source via
  • --use-lock-file via
  • --verbosity via
  • --version-suffix via
  • /t via
public static IReadOnlyCollection DotNetPublish(DotNetPublishSettings options = null) => new DotNetTasks().Run(options); - /// + /// public static IReadOnlyCollection DotNetPublish(Configure configurator) => new DotNetTasks().Run(configurator.Invoke(new DotNetPublishSettings())); - /// + /// public static IEnumerable<(DotNetPublishSettings Settings, IReadOnlyCollection Output)> DotNetPublish(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DotNetPublish, degreeOfParallelism, completeOnFailure); ///

Pushes a package to the server and publishes it.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <targetPath> via
  • --api-key via
  • --disable-buffering via
  • --force-english-output via
  • --no-service-endpoint via
  • --no-symbols via
  • --skip-duplicate via
  • --source via
  • --symbol-api-key via
  • --symbol-source via
  • --timeout via
public static IReadOnlyCollection DotNetNuGetPush(DotNetNuGetPushSettings options = null) => new DotNetTasks().Run(options); - /// + /// public static IReadOnlyCollection DotNetNuGetPush(Configure configurator) => new DotNetTasks().Run(configurator.Invoke(new DotNetNuGetPushSettings())); - /// + /// public static IEnumerable<(DotNetNuGetPushSettings Settings, IReadOnlyCollection Output)> DotNetNuGetPush(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DotNetNuGetPush, degreeOfParallelism, completeOnFailure); ///

The dotnet nuget delete command deletes or unlists a package from the server. For nuget.org, the action is to unlist the package.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <packageId> via
  • <packageVersion> via
  • --api-key via
  • --force-english-output via
  • --interactive via
  • --no-service-endpoint via
  • --non-interactive via
  • --source via
public static IReadOnlyCollection DotNetNuGetDelete(DotNetNuGetDeleteSettings options = null) => new DotNetTasks().Run(options); - /// + /// public static IReadOnlyCollection DotNetNuGetDelete(Configure configurator) => new DotNetTasks().Run(configurator.Invoke(new DotNetNuGetDeleteSettings())); - /// + /// public static IEnumerable<(DotNetNuGetDeleteSettings Settings, IReadOnlyCollection Output)> DotNetNuGetDelete(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DotNetNuGetDelete, degreeOfParallelism, completeOnFailure); ///

The dotnet nuget sign command signs all the packages matching the first argument with a certificate. The certificate with the private key can be obtained from a file or from a certificate installed in a certificate store by providing a subject name or a SHA-1 fingerprint.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <targetPath> via
  • --certificate-fingerprint via
  • --certificate-password via
  • --certificate-path via
  • --certificate-store-location via
  • --certificate-store-name via
  • --certificate-subject-name via
  • --hash-algorithm via
  • --output via
  • --overwrite via
  • --timestamp-hash-algorithm via
  • --timestamper via
  • --verbosity via
public static IReadOnlyCollection DotNetNuGetSign(DotNetNuGetSignSettings options = null) => new DotNetTasks().Run(options); - /// + /// public static IReadOnlyCollection DotNetNuGetSign(Configure configurator) => new DotNetTasks().Run(configurator.Invoke(new DotNetNuGetSignSettings())); - /// + /// public static IEnumerable<(DotNetNuGetSignSettings Settings, IReadOnlyCollection Output)> DotNetNuGetSign(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DotNetNuGetSign, degreeOfParallelism, completeOnFailure); ///

The dotnet nuget verify command verifies a signed NuGet package.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <targetPath> via
  • --certificate-fingerprint via
  • --configfile via
  • --verbosity via
public static IReadOnlyCollection DotNetNuGetVerify(DotNetNuGetVerifySettings options = null) => new DotNetTasks().Run(options); - /// + /// public static IReadOnlyCollection DotNetNuGetVerify(Configure configurator) => new DotNetTasks().Run(configurator.Invoke(new DotNetNuGetVerifySettings())); - /// + /// public static IEnumerable<(DotNetNuGetVerifySettings Settings, IReadOnlyCollection Output)> DotNetNuGetVerify(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DotNetNuGetVerify, degreeOfParallelism, completeOnFailure); ///

Adds a NuGet source.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <source> via
  • --configfile via
  • --name via
  • --password via
  • --store-password-in-clear-text via
  • --username via
  • --valid-authentication-types via
public static IReadOnlyCollection DotNetNuGetAddSource(DotNetNuGetAddSourceSettings options = null) => new DotNetTasks().Run(options); - /// + /// public static IReadOnlyCollection DotNetNuGetAddSource(Configure configurator) => new DotNetTasks().Run(configurator.Invoke(new DotNetNuGetAddSourceSettings())); - /// + /// public static IEnumerable<(DotNetNuGetAddSourceSettings Settings, IReadOnlyCollection Output)> DotNetNuGetAddSource(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DotNetNuGetAddSource, degreeOfParallelism, completeOnFailure); ///

Updates a NuGet source.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <name> via
  • --configfile via
  • --password via
  • --source via
  • --store-password-in-clear-text via
  • --username via
  • --valid-authentication-types via
public static IReadOnlyCollection DotNetNuGetUpdateSource(DotNetNuGetUpdateSourceSettings options = null) => new DotNetTasks().Run(options); - /// + /// public static IReadOnlyCollection DotNetNuGetUpdateSource(Configure configurator) => new DotNetTasks().Run(configurator.Invoke(new DotNetNuGetUpdateSourceSettings())); - /// + /// public static IEnumerable<(DotNetNuGetUpdateSourceSettings Settings, IReadOnlyCollection Output)> DotNetNuGetUpdateSource(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DotNetNuGetUpdateSource, degreeOfParallelism, completeOnFailure); ///

The dotnet tool install command provides a way for you to install .NET Core Global Tools on your machine. To use the command, you either have to specify that you want a user-wide installation using the --global option or you specify a path to install it using the --tool-path option.Global Tools are installed in the following directories by default when you specify the -g (or --global) option:

  • Linux/macOS: $HOME/.dotnet/tools
  • Windows: %USERPROFILE%\.dotnet\tools

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <packageName> via
  • --add-source via
  • --configfile via
  • --framework via
  • --global via
  • --tool-path via
  • --verbosity via
  • --version via
public static IReadOnlyCollection DotNetToolInstall(DotNetToolInstallSettings options = null) => new DotNetTasks().Run(options); - /// + /// public static IReadOnlyCollection DotNetToolInstall(Configure configurator) => new DotNetTasks().Run(configurator.Invoke(new DotNetToolInstallSettings())); - /// + /// public static IEnumerable<(DotNetToolInstallSettings Settings, IReadOnlyCollection Output)> DotNetToolInstall(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DotNetToolInstall, degreeOfParallelism, completeOnFailure); ///

The dotnet tool restore command finds the tool manifest file that is in scope for the current directory and installs the tools that are listed in it.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --add-source via
  • --configfile via
  • --disable-parallel via
  • --ignore-failed-sources via
  • --interactive via
  • --no-cache via
  • --tool-manifest via
public static IReadOnlyCollection DotNetToolRestore(DotNetToolRestoreSettings options = null) => new DotNetTasks().Run(options); - /// + /// public static IReadOnlyCollection DotNetToolRestore(Configure configurator) => new DotNetTasks().Run(configurator.Invoke(new DotNetToolRestoreSettings())); - /// + /// public static IEnumerable<(DotNetToolRestoreSettings Settings, IReadOnlyCollection Output)> DotNetToolRestore(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DotNetToolRestore, degreeOfParallelism, completeOnFailure); ///

The dotnet tool uninstall command provides a way for you to uninstall .NET Core Global Tools from your machine. To use the command, you either have to specify that you want to remove a user-wide tool using the --global option or specify a path to where the tool is installed using the --tool-path option.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <packageName> via
  • --global via
  • --tool-path via
  • --verbosity via
public static IReadOnlyCollection DotNetToolUninstall(DotNetToolUninstallSettings options = null) => new DotNetTasks().Run(options); - /// + /// public static IReadOnlyCollection DotNetToolUninstall(Configure configurator) => new DotNetTasks().Run(configurator.Invoke(new DotNetToolUninstallSettings())); - /// + /// public static IEnumerable<(DotNetToolUninstallSettings Settings, IReadOnlyCollection Output)> DotNetToolUninstall(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DotNetToolUninstall, degreeOfParallelism, completeOnFailure); ///

The dotnet tool update command provides a way for you to update .NET Core Global Tools on your machine to the latest stable version of the package. The command uninstalls and re-installs a tool, effectively updating it. To use the command, you either have to specify that you want to update a tool from a user-wide installation using the --global option or specify a path to where the tool is installed using the --tool-path option.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <packageName> via
  • --add-source via
  • --configfile via
  • --framework via
  • --global via
  • --tool-path via
  • --verbosity via
  • --version via
public static IReadOnlyCollection DotNetToolUpdate(DotNetToolUpdateSettings options = null) => new DotNetTasks().Run(options); - /// + /// public static IReadOnlyCollection DotNetToolUpdate(Configure configurator) => new DotNetTasks().Run(configurator.Invoke(new DotNetToolUpdateSettings())); - /// + /// public static IEnumerable<(DotNetToolUpdateSettings Settings, IReadOnlyCollection Output)> DotNetToolUpdate(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DotNetToolUpdate, degreeOfParallelism, completeOnFailure); ///

The dotnet workload install command installs one or more optional workloads. Optional workloads can be installed on top of the .NET SDK to provide support for various application types, such as .NET MAUI and Blazor WebAssembly AOT.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <workloadId> via
  • --configFile via
  • --disable-parallel via
  • --ignore-failed-sources via
  • --include-previews via
  • --interactive via
  • --no-cache via
  • --skip-manifest-update via
  • --skip-sign-check via
  • --source via
  • --temp-dir via
  • --verbosity via
public static IReadOnlyCollection DotNetWorkloadInstall(DotNetWorkloadInstallSettings options = null) => new DotNetTasks().Run(options); - /// + /// public static IReadOnlyCollection DotNetWorkloadInstall(Configure configurator) => new DotNetTasks().Run(configurator.Invoke(new DotNetWorkloadInstallSettings())); - /// + /// public static IEnumerable<(DotNetWorkloadInstallSettings Settings, IReadOnlyCollection Output)> DotNetWorkloadInstall(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DotNetWorkloadInstall, degreeOfParallelism, completeOnFailure); ///

The dotnet workload uninstall command uninstalls one or more workloads.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <workloadId> via
public static IReadOnlyCollection DotNetWorkloadUninstall(DotNetWorkloadUninstallSettings options = null) => new DotNetTasks().Run(options); - /// + /// public static IReadOnlyCollection DotNetWorkloadUninstall(Configure configurator) => new DotNetTasks().Run(configurator.Invoke(new DotNetWorkloadUninstallSettings())); - /// + /// public static IEnumerable<(DotNetWorkloadUninstallSettings Settings, IReadOnlyCollection Output)> DotNetWorkloadUninstall(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DotNetWorkloadUninstall, degreeOfParallelism, completeOnFailure); ///

The dotnet workload restore command analyzes a project or solution to determine which workloads it needs, then installs any workloads that are missing.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <project> via
  • --configFile via
  • --disable-parallel via
  • --ignore-failed-sources via
  • --include-previews via
  • --interactive via
  • --no-cache via
  • --skip-manifest-update via
  • --skip-sign-check via
  • --source via
  • --temp-dir via
  • --verbosity via
public static IReadOnlyCollection DotNetWorkloadRestore(DotNetWorkloadRestoreSettings options = null) => new DotNetTasks().Run(options); - /// + /// public static IReadOnlyCollection DotNetWorkloadRestore(Configure configurator) => new DotNetTasks().Run(configurator.Invoke(new DotNetWorkloadRestoreSettings())); - /// + /// public static IEnumerable<(DotNetWorkloadRestoreSettings Settings, IReadOnlyCollection Output)> DotNetWorkloadRestore(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DotNetWorkloadRestore, degreeOfParallelism, completeOnFailure); ///

The dotnet workload update command updates all installed workloads to the newest available versions. It queries Nuget.org for updated workload manifests. It then updates local manifests, downloads new versions of the installed workloads, and removes all old versions of each workload.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --advertising-manifests-only via
  • --configFile via
  • --disable-parallel via
  • --from-previous-sdk via
  • --ignore-failed-sources via
  • --include-previews via
  • --interactive via
  • --no-cache via
  • --skip-sign-check via
  • --source via
  • --temp-dir via
  • --verbosity via
public static IReadOnlyCollection DotNetWorkloadUpdate(DotNetWorkloadUpdateSettings options = null) => new DotNetTasks().Run(options); - /// + /// public static IReadOnlyCollection DotNetWorkloadUpdate(Configure configurator) => new DotNetTasks().Run(configurator.Invoke(new DotNetWorkloadUpdateSettings())); - /// + /// public static IEnumerable<(DotNetWorkloadUpdateSettings Settings, IReadOnlyCollection Output)> DotNetWorkloadUpdate(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DotNetWorkloadUpdate, degreeOfParallelism, completeOnFailure); ///

The dotnet workload repair command reinstalls all installed workloads. Workloads are made up of multiple workload packs and it's possible to get into a state where some installed successfully but others didn't. For example, a dotnet workload install command might not finish installing because of a dropped internet connection.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --configFile via
  • --disable-parallel via
  • --ignore-failed-sources via
  • --include-previews via
  • --interactive via
  • --no-cache via
  • --skip-sign-check via
  • --source via
  • --temp-dir via
  • --verbosity via
public static IReadOnlyCollection DotNetWorkloadRepair(DotNetWorkloadRepairSettings options = null) => new DotNetTasks().Run(options); - /// + /// public static IReadOnlyCollection DotNetWorkloadRepair(Configure configurator) => new DotNetTasks().Run(configurator.Invoke(new DotNetWorkloadRepairSettings())); - /// + /// public static IEnumerable<(DotNetWorkloadRepairSettings Settings, IReadOnlyCollection Output)> DotNetWorkloadRepair(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DotNetWorkloadRepair, degreeOfParallelism, completeOnFailure); } #region DotNetTestSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DotNetTasks), Command = nameof(DotNetTasks.DotNetTest), Arguments = "test")] public partial class DotNetTestSettings : ToolOptions @@ -276,7 +276,7 @@ public partial class DotNetTestSettings : ToolOptions } #endregion #region DotNetRunSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DotNetTasks), Command = nameof(DotNetTasks.DotNetRun), Arguments = "run")] public partial class DotNetRunSettings : ToolOptions @@ -342,7 +342,7 @@ public partial class DotNetRunSettings : ToolOptions } #endregion #region DotNetRestoreSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DotNetTasks), Command = nameof(DotNetTasks.DotNetRestore), Arguments = "restore")] public partial class DotNetRestoreSettings : ToolOptions @@ -382,7 +382,7 @@ public partial class DotNetRestoreSettings : ToolOptions } #endregion #region DotNetPackSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DotNetTasks), Command = nameof(DotNetTasks.DotNetPack), Arguments = "pack")] public partial class DotNetPackSettings : ToolOptions @@ -440,7 +440,7 @@ public partial class DotNetPackSettings : ToolOptions } #endregion #region DotNetBuildSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DotNetTasks), Command = nameof(DotNetTasks.DotNetBuild), Arguments = "build")] public partial class DotNetBuildSettings : ToolOptions @@ -502,7 +502,7 @@ public partial class DotNetBuildSettings : ToolOptions } #endregion #region DotNetMSBuildSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DotNetTasks), Command = nameof(DotNetTasks.DotNetMSBuild), Arguments = "msbuild")] public partial class DotNetMSBuildSettings : ToolOptions @@ -538,7 +538,7 @@ public partial class DotNetMSBuildSettings : ToolOptions } #endregion #region DotNetCleanSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DotNetTasks), Command = nameof(DotNetTasks.DotNetClean), Arguments = "clean")] public partial class DotNetCleanSettings : ToolOptions @@ -564,7 +564,7 @@ public partial class DotNetCleanSettings : ToolOptions } #endregion #region DotNetFormatSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DotNetTasks), Command = nameof(DotNetTasks.DotNetFormat), Arguments = "format")] public partial class DotNetFormatSettings : ToolOptions @@ -594,7 +594,7 @@ public partial class DotNetFormatSettings : ToolOptions } #endregion #region DotNetPublishSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DotNetTasks), Command = nameof(DotNetTasks.DotNetPublish), Arguments = "publish")] public partial class DotNetPublishSettings : ToolOptions @@ -658,7 +658,7 @@ public partial class DotNetPublishSettings : ToolOptions } #endregion #region DotNetNuGetPushSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DotNetTasks), Command = nameof(DotNetTasks.DotNetNuGetPush), Arguments = "nuget push")] public partial class DotNetNuGetPushSettings : ToolOptions @@ -688,7 +688,7 @@ public partial class DotNetNuGetPushSettings : ToolOptions } #endregion #region DotNetNuGetDeleteSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DotNetTasks), Command = nameof(DotNetTasks.DotNetNuGetDelete), Arguments = "nuget delete")] public partial class DotNetNuGetDeleteSettings : ToolOptions @@ -712,7 +712,7 @@ public partial class DotNetNuGetDeleteSettings : ToolOptions } #endregion #region DotNetNuGetSignSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DotNetTasks), Command = nameof(DotNetTasks.DotNetNuGetSign), Arguments = "nuget sign")] public partial class DotNetNuGetSignSettings : ToolOptions @@ -746,7 +746,7 @@ public partial class DotNetNuGetSignSettings : ToolOptions } #endregion #region DotNetNuGetVerifySettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DotNetTasks), Command = nameof(DotNetTasks.DotNetNuGetVerify), Arguments = "nuget verify")] public partial class DotNetNuGetVerifySettings : ToolOptions @@ -762,7 +762,7 @@ public partial class DotNetNuGetVerifySettings : ToolOptions } #endregion #region DotNetNuGetAddSourceSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DotNetTasks), Command = nameof(DotNetTasks.DotNetNuGetAddSource), Arguments = "nuget add source")] public partial class DotNetNuGetAddSourceSettings : ToolOptions @@ -784,7 +784,7 @@ public partial class DotNetNuGetAddSourceSettings : ToolOptions } #endregion #region DotNetNuGetUpdateSourceSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DotNetTasks), Command = nameof(DotNetTasks.DotNetNuGetUpdateSource), Arguments = "nuget update source")] public partial class DotNetNuGetUpdateSourceSettings : ToolOptions @@ -806,7 +806,7 @@ public partial class DotNetNuGetUpdateSourceSettings : ToolOptions } #endregion #region DotNetToolInstallSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DotNetTasks), Command = nameof(DotNetTasks.DotNetToolInstall), Arguments = "tool install")] public partial class DotNetToolInstallSettings : ToolOptions @@ -830,7 +830,7 @@ public partial class DotNetToolInstallSettings : ToolOptions } #endregion #region DotNetToolRestoreSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DotNetTasks), Command = nameof(DotNetTasks.DotNetToolRestore), Arguments = "tool restore")] public partial class DotNetToolRestoreSettings : ToolOptions @@ -852,7 +852,7 @@ public partial class DotNetToolRestoreSettings : ToolOptions } #endregion #region DotNetToolUninstallSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DotNetTasks), Command = nameof(DotNetTasks.DotNetToolUninstall), Arguments = "tool uninstall")] public partial class DotNetToolUninstallSettings : ToolOptions @@ -868,7 +868,7 @@ public partial class DotNetToolUninstallSettings : ToolOptions } #endregion #region DotNetToolUpdateSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DotNetTasks), Command = nameof(DotNetTasks.DotNetToolUpdate), Arguments = "tool update")] public partial class DotNetToolUpdateSettings : ToolOptions @@ -892,7 +892,7 @@ public partial class DotNetToolUpdateSettings : ToolOptions } #endregion #region DotNetWorkloadInstallSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DotNetTasks), Command = nameof(DotNetTasks.DotNetWorkloadInstall), Arguments = "workload install")] public partial class DotNetWorkloadInstallSettings : ToolOptions @@ -924,7 +924,7 @@ public partial class DotNetWorkloadInstallSettings : ToolOptions } #endregion #region DotNetWorkloadUninstallSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DotNetTasks), Command = nameof(DotNetTasks.DotNetWorkloadUninstall), Arguments = "workload uninstall")] public partial class DotNetWorkloadUninstallSettings : ToolOptions @@ -934,7 +934,7 @@ public partial class DotNetWorkloadUninstallSettings : ToolOptions } #endregion #region DotNetWorkloadRestoreSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DotNetTasks), Command = nameof(DotNetTasks.DotNetWorkloadRestore), Arguments = "workload restore")] public partial class DotNetWorkloadRestoreSettings : ToolOptions @@ -966,7 +966,7 @@ public partial class DotNetWorkloadRestoreSettings : ToolOptions } #endregion #region DotNetWorkloadUpdateSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DotNetTasks), Command = nameof(DotNetTasks.DotNetWorkloadUpdate), Arguments = "workload update")] public partial class DotNetWorkloadUpdateSettings : ToolOptions @@ -998,7 +998,7 @@ public partial class DotNetWorkloadUpdateSettings : ToolOptions } #endregion #region DotNetWorkloadRepairSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DotNetTasks), Command = nameof(DotNetTasks.DotNetWorkloadRepair), Arguments = "workload repair")] public partial class DotNetWorkloadRepairSettings : ToolOptions @@ -1026,7 +1026,7 @@ public partial class DotNetWorkloadRepairSettings : ToolOptions } #endregion #region DotNetTestSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DotNetTestSettingsExtensions { @@ -1529,7 +1529,7 @@ public static partial class DotNetTestSettingsExtensions } #endregion #region DotNetRunSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DotNetRunSettingsExtensions { @@ -2339,7 +2339,7 @@ public static partial class DotNetRunSettingsExtensions } #endregion #region DotNetRestoreSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DotNetRestoreSettingsExtensions { @@ -2967,7 +2967,7 @@ public static partial class DotNetRestoreSettingsExtensions } #endregion #region DotNetPackSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DotNetPackSettingsExtensions { @@ -3721,7 +3721,7 @@ public static partial class DotNetPackSettingsExtensions } #endregion #region DotNetBuildSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DotNetBuildSettingsExtensions { @@ -4497,7 +4497,7 @@ public static partial class DotNetBuildSettingsExtensions } #endregion #region DotNetMSBuildSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DotNetMSBuildSettingsExtensions { @@ -5106,7 +5106,7 @@ public static partial class DotNetMSBuildSettingsExtensions } #endregion #region DotNetCleanSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DotNetCleanSettingsExtensions { @@ -5600,7 +5600,7 @@ public static partial class DotNetCleanSettingsExtensions } #endregion #region DotNetFormatSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DotNetFormatSettingsExtensions { @@ -6158,7 +6158,7 @@ public static partial class DotNetFormatSettingsExtensions } #endregion #region DotNetPublishSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DotNetPublishSettingsExtensions { @@ -6933,7 +6933,7 @@ public static partial class DotNetPublishSettingsExtensions } #endregion #region DotNetNuGetPushSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DotNetNuGetPushSettingsExtensions { @@ -7073,7 +7073,7 @@ public static partial class DotNetNuGetPushSettingsExtensions } #endregion #region DotNetNuGetDeleteSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DotNetNuGetDeleteSettingsExtensions { @@ -7180,7 +7180,7 @@ public static partial class DotNetNuGetDeleteSettingsExtensions } #endregion #region DotNetNuGetSignSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DotNetNuGetSignSettingsExtensions { @@ -7300,7 +7300,7 @@ public static partial class DotNetNuGetSignSettingsExtensions } #endregion #region DotNetNuGetVerifySettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DotNetNuGetVerifySettingsExtensions { @@ -7339,7 +7339,7 @@ public static partial class DotNetNuGetVerifySettingsExtensions } #endregion #region DotNetNuGetAddSourceSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DotNetNuGetAddSourceSettingsExtensions { @@ -7426,7 +7426,7 @@ public static partial class DotNetNuGetAddSourceSettingsExtensions } #endregion #region DotNetNuGetUpdateSourceSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DotNetNuGetUpdateSourceSettingsExtensions { @@ -7513,7 +7513,7 @@ public static partial class DotNetNuGetUpdateSourceSettingsExtensions } #endregion #region DotNetToolInstallSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DotNetToolInstallSettingsExtensions { @@ -7608,7 +7608,7 @@ public static partial class DotNetToolInstallSettingsExtensions } #endregion #region DotNetToolRestoreSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DotNetToolRestoreSettingsExtensions { @@ -7722,7 +7722,7 @@ public static partial class DotNetToolRestoreSettingsExtensions } #endregion #region DotNetToolUninstallSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DotNetToolUninstallSettingsExtensions { @@ -7770,7 +7770,7 @@ public static partial class DotNetToolUninstallSettingsExtensions } #endregion #region DotNetToolUpdateSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DotNetToolUpdateSettingsExtensions { @@ -7865,7 +7865,7 @@ public static partial class DotNetToolUpdateSettingsExtensions } #endregion #region DotNetWorkloadInstallSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DotNetWorkloadInstallSettingsExtensions { @@ -8046,7 +8046,7 @@ public static partial class DotNetWorkloadInstallSettingsExtensions } #endregion #region DotNetWorkloadUninstallSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DotNetWorkloadUninstallSettingsExtensions { @@ -8076,7 +8076,7 @@ public static partial class DotNetWorkloadUninstallSettingsExtensions } #endregion #region DotNetWorkloadRestoreSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DotNetWorkloadRestoreSettingsExtensions { @@ -8242,7 +8242,7 @@ public static partial class DotNetWorkloadRestoreSettingsExtensions } #endregion #region DotNetWorkloadUpdateSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DotNetWorkloadUpdateSettingsExtensions { @@ -8417,7 +8417,7 @@ public static partial class DotNetWorkloadUpdateSettingsExtensions } #endregion #region DotNetWorkloadRepairSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DotNetWorkloadRepairSettingsExtensions { diff --git a/src/Fallout.Common/Tools/DotNet/DotNetRuntimeIdentifier.cs b/src/Fallout.Common/Tools/DotNet/DotNetRuntimeIdentifier.cs index 227c365ab..a02d9e3dc 100644 --- a/src/Fallout.Common/Tools/DotNet/DotNetRuntimeIdentifier.cs +++ b/src/Fallout.Common/Tools/DotNet/DotNetRuntimeIdentifier.cs @@ -1,9 +1,9 @@ -using System; +using System; using System.ComponentModel; using System.Linq; -using Fallout.Common.Tooling; +using Fallout.Application.Tooling; -namespace Fallout.Common.Tools.DotNet; +namespace Fallout.Application.Tools.DotNet; [TypeConverter(typeof(TypeConverter))] public class DotNetRuntimeIdentifier : Enumeration diff --git a/src/Fallout.Common/Tools/DotNet/DotNetTasks.cs b/src/Fallout.Common/Tools/DotNet/DotNetTasks.cs index 0a827f2da..e80855642 100644 --- a/src/Fallout.Common/Tools/DotNet/DotNetTasks.cs +++ b/src/Fallout.Common/Tools/DotNet/DotNetTasks.cs @@ -1,10 +1,9 @@ using System; using System.Linq; -using Fallout.Common.Tooling; using Serilog.Events; using Fallout.Application.Tooling; -namespace Fallout.Common.Tools.DotNet; +namespace Fallout.Application.Tools.DotNet; public class DotNetVerbosityMappingAttribute : VerbosityMappingAttribute { diff --git a/src/Fallout.Common/Tools/DotnetPackaging/DotnetPackaging.Generated.cs b/src/Fallout.Common/Tools/DotnetPackaging/DotnetPackaging.Generated.cs index c46e18bf0..df4a2f404 100644 --- a/src/Fallout.Common/Tools/DotnetPackaging/DotnetPackaging.Generated.cs +++ b/src/Fallout.Common/Tools/DotnetPackaging/DotnetPackaging.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/DotnetPackaging/DotnetPackaging.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.DotnetPackaging; +namespace Fallout.Application.Tools.DotnetPackaging; ///

DotnetPackaging is able to package your application into various formats, including Deb and AppImage.

For more details, visit the official website.

[ExcludeFromCodeCoverage] @@ -28,20 +28,20 @@ public partial class DotnetPackagingTasks : ToolTasks, IRequireNuGetPackage ///

Creates a Debian package from the specified directory.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --directory via
  • --metadata via
  • --output via
public static IReadOnlyCollection DotnetPackagingDeb(DotnetPackagingDebSettings options = null) => new DotnetPackagingTasks().Run(options); - /// + /// public static IReadOnlyCollection DotnetPackagingDeb(Configure configurator) => new DotnetPackagingTasks().Run(configurator.Invoke(new DotnetPackagingDebSettings())); - /// + /// public static IEnumerable<(DotnetPackagingDebSettings Settings, IReadOnlyCollection Output)> DotnetPackagingDeb(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DotnetPackagingDeb, degreeOfParallelism, completeOnFailure); ///

Creates an AppImage package.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --additional-categories via
  • --appId via
  • --application-name via
  • --directory via
  • --homepage via
  • --icon via
  • --license via
  • --main-category via
  • --output via
  • --screenshot-urls via
  • --summary via
  • --version via
public static IReadOnlyCollection DotnetPackagingAppImage(DotnetPackagingAppImageSettings options = null) => new DotnetPackagingTasks().Run(options); - /// + /// public static IReadOnlyCollection DotnetPackagingAppImage(Configure configurator) => new DotnetPackagingTasks().Run(configurator.Invoke(new DotnetPackagingAppImageSettings())); - /// + /// public static IEnumerable<(DotnetPackagingAppImageSettings Settings, IReadOnlyCollection Output)> DotnetPackagingAppImage(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(DotnetPackagingAppImage, degreeOfParallelism, completeOnFailure); } #region DotnetPackagingDebSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DotnetPackagingTasks), Command = nameof(DotnetPackagingTasks.DotnetPackagingDeb), Arguments = "deb")] public partial class DotnetPackagingDebSettings : ToolOptions @@ -55,7 +55,7 @@ public partial class DotnetPackagingDebSettings : ToolOptions } #endregion #region DotnetPackagingAppImageSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(DotnetPackagingTasks), Command = nameof(DotnetPackagingTasks.DotnetPackagingAppImage), Arguments = "appimage")] public partial class DotnetPackagingAppImageSettings : ToolOptions @@ -87,7 +87,7 @@ public partial class DotnetPackagingAppImageSettings : ToolOptions } #endregion #region DotnetPackagingDebSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DotnetPackagingDebSettingsExtensions { @@ -118,7 +118,7 @@ public static partial class DotnetPackagingDebSettingsExtensions } #endregion #region DotnetPackagingAppImageSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class DotnetPackagingAppImageSettingsExtensions { diff --git a/src/Fallout.Common/Tools/EntityFramework/EntityFramework.Generated.cs b/src/Fallout.Common/Tools/EntityFramework/EntityFramework.Generated.cs index 64976eda4..b07baaf64 100644 --- a/src/Fallout.Common/Tools/EntityFramework/EntityFramework.Generated.cs +++ b/src/Fallout.Common/Tools/EntityFramework/EntityFramework.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/EntityFramework/EntityFramework.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.EntityFramework; +namespace Fallout.Application.Tools.EntityFramework; ///

The command-line interface (CLI) tools for Entity Framework Core perform design-time development tasks. For example, they create migrations, apply migrations, and generate code for a model based on an existing database. The commands are an extension to the cross-platform dotnet command, which is part of the .NET Core SDK. These tools work with .NET Core projects.If you're using Visual Studio, we recommend the Package Manager Console tools instead:

  • They automatically work with the current project selected in the Package Manager Console without requiring that you manually switch directories.
  • They automatically open files generated by a command after the command is completed.

For more details, visit the official website.

[ExcludeFromCodeCoverage] @@ -28,83 +28,83 @@ public partial class EntityFrameworkTasks : ToolTasks, IRequireNuGetPackage ///

The dotnet-ef database drop command is used to drop the database.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --configuration via
  • --context via
  • --dry-run via
  • --force via
  • --framework via
  • --json via
  • --no-build via
  • --no-color via
  • --prefix-output via
  • --project via
  • --runtime via
  • --startup-project via
  • --verbose via
public static IReadOnlyCollection EntityFrameworkDatabaseDrop(EntityFrameworkDatabaseDropSettings options = null) => new EntityFrameworkTasks().Run(options); - /// + /// public static IReadOnlyCollection EntityFrameworkDatabaseDrop(Configure configurator) => new EntityFrameworkTasks().Run(configurator.Invoke(new EntityFrameworkDatabaseDropSettings())); - /// + /// public static IEnumerable<(EntityFrameworkDatabaseDropSettings Settings, IReadOnlyCollection Output)> EntityFrameworkDatabaseDrop(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(EntityFrameworkDatabaseDrop, degreeOfParallelism, completeOnFailure); ///

The dotnet-ef database update command is used to update the database to the last migration or to a specified migration.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <migration> via
  • --configuration via
  • --connection via
  • --context via
  • --framework via
  • --json via
  • --no-build via
  • --no-color via
  • --prefix-output via
  • --project via
  • --runtime via
  • --startup-project via
  • --verbose via
public static IReadOnlyCollection EntityFrameworkDatabaseUpdate(EntityFrameworkDatabaseUpdateSettings options = null) => new EntityFrameworkTasks().Run(options); - /// + /// public static IReadOnlyCollection EntityFrameworkDatabaseUpdate(Configure configurator) => new EntityFrameworkTasks().Run(configurator.Invoke(new EntityFrameworkDatabaseUpdateSettings())); - /// + /// public static IEnumerable<(EntityFrameworkDatabaseUpdateSettings Settings, IReadOnlyCollection Output)> EntityFrameworkDatabaseUpdate(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(EntityFrameworkDatabaseUpdate, degreeOfParallelism, completeOnFailure); ///

The dotnet-ef dbcontext info command is used to get information about a DbContext type.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --configuration via
  • --context via
  • --framework via
  • --json via
  • --no-build via
  • --no-color via
  • --prefix-output via
  • --project via
  • --runtime via
  • --startup-project via
  • --verbose via
public static IReadOnlyCollection EntityFrameworkDbContextInfo(EntityFrameworkDbContextInfoSettings options = null) => new EntityFrameworkTasks().Run(options); - /// + /// public static IReadOnlyCollection EntityFrameworkDbContextInfo(Configure configurator) => new EntityFrameworkTasks().Run(configurator.Invoke(new EntityFrameworkDbContextInfoSettings())); - /// + /// public static IEnumerable<(EntityFrameworkDbContextInfoSettings Settings, IReadOnlyCollection Output)> EntityFrameworkDbContextInfo(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(EntityFrameworkDbContextInfo, degreeOfParallelism, completeOnFailure); ///

The dotnet-ef dbcontext list command is used to list available DbContext types.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --configuration via
  • --context via
  • --framework via
  • --json via
  • --no-build via
  • --no-color via
  • --prefix-output via
  • --project via
  • --runtime via
  • --startup-project via
  • --verbose via
public static IReadOnlyCollection EntityFrameworkDbContextList(EntityFrameworkDbContextListSettings options = null) => new EntityFrameworkTasks().Run(options); - /// + /// public static IReadOnlyCollection EntityFrameworkDbContextList(Configure configurator) => new EntityFrameworkTasks().Run(configurator.Invoke(new EntityFrameworkDbContextListSettings())); - /// + /// public static IEnumerable<(EntityFrameworkDbContextListSettings Settings, IReadOnlyCollection Output)> EntityFrameworkDbContextList(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(EntityFrameworkDbContextList, degreeOfParallelism, completeOnFailure); ///

The dotnet-ef dbcontext scaffold command is used to generate code for a DbContext and entity types for a database. In order for this command to generate an entity type, the database table must have a primary key.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <connection> via
  • <provider> via
  • --configuration via
  • --context via
  • --context-dir via
  • --context-namespace via
  • --data-annotations via
  • --force via
  • --framework via
  • --json via
  • --namespace via
  • --no-build via
  • --no-color via
  • --no-onconfiguring via
  • --no-pluralize via
  • --output-dir via
  • --prefix-output via
  • --project via
  • --runtime via
  • --schema via
  • --startup-project via
  • --table via
  • --use-database-names via
  • --verbose via
public static IReadOnlyCollection EntityFrameworkDbContextScaffold(EntityFrameworkDbContextScaffoldSettings options = null) => new EntityFrameworkTasks().Run(options); - /// + /// public static IReadOnlyCollection EntityFrameworkDbContextScaffold(Configure configurator) => new EntityFrameworkTasks().Run(configurator.Invoke(new EntityFrameworkDbContextScaffoldSettings())); - /// + /// public static IEnumerable<(EntityFrameworkDbContextScaffoldSettings Settings, IReadOnlyCollection Output)> EntityFrameworkDbContextScaffold(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(EntityFrameworkDbContextScaffold, degreeOfParallelism, completeOnFailure); ///

The dotnet-ef dbcontext script command is used to generate a SQL script from the DbContext, bypassing any migrations.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --configuration via
  • --context via
  • --framework via
  • --json via
  • --no-build via
  • --no-color via
  • --output via
  • --prefix-output via
  • --project via
  • --runtime via
  • --startup-project via
  • --verbose via
public static IReadOnlyCollection EntityFrameworkDbContextScript(EntityFrameworkDbContextScriptSettings options = null) => new EntityFrameworkTasks().Run(options); - /// + /// public static IReadOnlyCollection EntityFrameworkDbContextScript(Configure configurator) => new EntityFrameworkTasks().Run(configurator.Invoke(new EntityFrameworkDbContextScriptSettings())); - /// + /// public static IEnumerable<(EntityFrameworkDbContextScriptSettings Settings, IReadOnlyCollection Output)> EntityFrameworkDbContextScript(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(EntityFrameworkDbContextScript, degreeOfParallelism, completeOnFailure); ///

The dotnet-ef migrations add command is used to add a new migration.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <name> via
  • --configuration via
  • --context via
  • --framework via
  • --json via
  • --namespace via
  • --no-build via
  • --no-color via
  • --output-dir via
  • --prefix-output via
  • --project via
  • --runtime via
  • --startup-project via
  • --verbose via
public static IReadOnlyCollection EntityFrameworkMigrationsAdd(EntityFrameworkMigrationsAddSettings options = null) => new EntityFrameworkTasks().Run(options); - /// + /// public static IReadOnlyCollection EntityFrameworkMigrationsAdd(Configure configurator) => new EntityFrameworkTasks().Run(configurator.Invoke(new EntityFrameworkMigrationsAddSettings())); - /// + /// public static IEnumerable<(EntityFrameworkMigrationsAddSettings Settings, IReadOnlyCollection Output)> EntityFrameworkMigrationsAdd(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(EntityFrameworkMigrationsAdd, degreeOfParallelism, completeOnFailure); ///

The dotnet-ef migrations list command is used to list available migrations.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --configuration via
  • --connection via
  • --context via
  • --framework via
  • --json via
  • --no-build via
  • --no-color via
  • --no-connect via
  • --prefix-output via
  • --project via
  • --runtime via
  • --startup-project via
  • --verbose via
public static IReadOnlyCollection EntityFrameworkMigrationsList(EntityFrameworkMigrationsListSettings options = null) => new EntityFrameworkTasks().Run(options); - /// + /// public static IReadOnlyCollection EntityFrameworkMigrationsList(Configure configurator) => new EntityFrameworkTasks().Run(configurator.Invoke(new EntityFrameworkMigrationsListSettings())); - /// + /// public static IEnumerable<(EntityFrameworkMigrationsListSettings Settings, IReadOnlyCollection Output)> EntityFrameworkMigrationsList(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(EntityFrameworkMigrationsList, degreeOfParallelism, completeOnFailure); ///

The dotnet-ef migrations remove command is used to remove the last migration (rolls back the code changes that were done for the migration).

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --configuration via
  • --context via
  • --force via
  • --framework via
  • --json via
  • --no-build via
  • --no-color via
  • --prefix-output via
  • --project via
  • --runtime via
  • --startup-project via
  • --verbose via
public static IReadOnlyCollection EntityFrameworkMigrationsRemove(EntityFrameworkMigrationsRemoveSettings options = null) => new EntityFrameworkTasks().Run(options); - /// + /// public static IReadOnlyCollection EntityFrameworkMigrationsRemove(Configure configurator) => new EntityFrameworkTasks().Run(configurator.Invoke(new EntityFrameworkMigrationsRemoveSettings())); - /// + /// public static IEnumerable<(EntityFrameworkMigrationsRemoveSettings Settings, IReadOnlyCollection Output)> EntityFrameworkMigrationsRemove(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(EntityFrameworkMigrationsRemove, degreeOfParallelism, completeOnFailure); ///

The dotnet-ef migrations bundle command is used to create a bundle.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --configuration via
  • --context via
  • --force via
  • --framework via
  • --json via
  • --no-build via
  • --no-color via
  • --output via
  • --prefix-output via
  • --project via
  • --runtime via
  • --self-contained via
  • --startup-project via
  • --target-runtime via
  • --verbose via
public static IReadOnlyCollection EntityFrameworkMigrationsBundle(EntityFrameworkMigrationsBundleSettings options = null) => new EntityFrameworkTasks().Run(options); - /// + /// public static IReadOnlyCollection EntityFrameworkMigrationsBundle(Configure configurator) => new EntityFrameworkTasks().Run(configurator.Invoke(new EntityFrameworkMigrationsBundleSettings())); - /// + /// public static IEnumerable<(EntityFrameworkMigrationsBundleSettings Settings, IReadOnlyCollection Output)> EntityFrameworkMigrationsBundle(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(EntityFrameworkMigrationsBundle, degreeOfParallelism, completeOnFailure); ///

The dotnet-ef migrations script command is used to generate a SQL script from migrations.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <from> via
  • <to> via
  • --configuration via
  • --context via
  • --framework via
  • --idempotent via
  • --json via
  • --no-build via
  • --no-color via
  • --no-transactions via
  • --output via
  • --prefix-output via
  • --project via
  • --runtime via
  • --startup-project via
  • --verbose via
public static IReadOnlyCollection EntityFrameworkMigrationsScript(EntityFrameworkMigrationsScriptSettings options = null) => new EntityFrameworkTasks().Run(options); - /// + /// public static IReadOnlyCollection EntityFrameworkMigrationsScript(Configure configurator) => new EntityFrameworkTasks().Run(configurator.Invoke(new EntityFrameworkMigrationsScriptSettings())); - /// + /// public static IEnumerable<(EntityFrameworkMigrationsScriptSettings Settings, IReadOnlyCollection Output)> EntityFrameworkMigrationsScript(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(EntityFrameworkMigrationsScript, degreeOfParallelism, completeOnFailure); } #region EntityFrameworkDatabaseDropSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(EntityFrameworkTasks), Command = nameof(EntityFrameworkTasks.EntityFrameworkDatabaseDrop), Arguments = "database drop")] public partial class EntityFrameworkDatabaseDropSettings : ToolOptions @@ -138,7 +138,7 @@ public partial class EntityFrameworkDatabaseDropSettings : ToolOptions } #endregion #region EntityFrameworkDatabaseUpdateSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(EntityFrameworkTasks), Command = nameof(EntityFrameworkTasks.EntityFrameworkDatabaseUpdate), Arguments = "database update")] public partial class EntityFrameworkDatabaseUpdateSettings : ToolOptions @@ -172,7 +172,7 @@ public partial class EntityFrameworkDatabaseUpdateSettings : ToolOptions } #endregion #region EntityFrameworkDbContextInfoSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(EntityFrameworkTasks), Command = nameof(EntityFrameworkTasks.EntityFrameworkDbContextInfo), Arguments = "dbcontext info")] public partial class EntityFrameworkDbContextInfoSettings : ToolOptions @@ -202,7 +202,7 @@ public partial class EntityFrameworkDbContextInfoSettings : ToolOptions } #endregion #region EntityFrameworkDbContextListSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(EntityFrameworkTasks), Command = nameof(EntityFrameworkTasks.EntityFrameworkDbContextList), Arguments = "dbcontext list")] public partial class EntityFrameworkDbContextListSettings : ToolOptions @@ -232,7 +232,7 @@ public partial class EntityFrameworkDbContextListSettings : ToolOptions } #endregion #region EntityFrameworkDbContextScaffoldSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(EntityFrameworkTasks), Command = nameof(EntityFrameworkTasks.EntityFrameworkDbContextScaffold), Arguments = "dbcontext scaffold")] public partial class EntityFrameworkDbContextScaffoldSettings : ToolOptions @@ -288,7 +288,7 @@ public partial class EntityFrameworkDbContextScaffoldSettings : ToolOptions } #endregion #region EntityFrameworkDbContextScriptSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(EntityFrameworkTasks), Command = nameof(EntityFrameworkTasks.EntityFrameworkDbContextScript), Arguments = "dbcontext script")] public partial class EntityFrameworkDbContextScriptSettings : ToolOptions @@ -320,7 +320,7 @@ public partial class EntityFrameworkDbContextScriptSettings : ToolOptions } #endregion #region EntityFrameworkMigrationsAddSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(EntityFrameworkTasks), Command = nameof(EntityFrameworkTasks.EntityFrameworkMigrationsAdd), Arguments = "migrations add")] public partial class EntityFrameworkMigrationsAddSettings : ToolOptions @@ -356,7 +356,7 @@ public partial class EntityFrameworkMigrationsAddSettings : ToolOptions } #endregion #region EntityFrameworkMigrationsListSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(EntityFrameworkTasks), Command = nameof(EntityFrameworkTasks.EntityFrameworkMigrationsList), Arguments = "migrations list")] public partial class EntityFrameworkMigrationsListSettings : ToolOptions @@ -390,7 +390,7 @@ public partial class EntityFrameworkMigrationsListSettings : ToolOptions } #endregion #region EntityFrameworkMigrationsRemoveSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(EntityFrameworkTasks), Command = nameof(EntityFrameworkTasks.EntityFrameworkMigrationsRemove), Arguments = "migrations remove")] public partial class EntityFrameworkMigrationsRemoveSettings : ToolOptions @@ -422,7 +422,7 @@ public partial class EntityFrameworkMigrationsRemoveSettings : ToolOptions } #endregion #region EntityFrameworkMigrationsBundleSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(EntityFrameworkTasks), Command = nameof(EntityFrameworkTasks.EntityFrameworkMigrationsBundle), Arguments = "migrations bundle")] public partial class EntityFrameworkMigrationsBundleSettings : ToolOptions @@ -460,7 +460,7 @@ public partial class EntityFrameworkMigrationsBundleSettings : ToolOptions } #endregion #region EntityFrameworkMigrationsScriptSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(EntityFrameworkTasks), Command = nameof(EntityFrameworkTasks.EntityFrameworkMigrationsScript), Arguments = "migrations script")] public partial class EntityFrameworkMigrationsScriptSettings : ToolOptions @@ -500,7 +500,7 @@ public partial class EntityFrameworkMigrationsScriptSettings : ToolOptions } #endregion #region EntityFrameworkDatabaseDropSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class EntityFrameworkDatabaseDropSettingsExtensions { @@ -674,7 +674,7 @@ public static partial class EntityFrameworkDatabaseDropSettingsExtensions } #endregion #region EntityFrameworkDatabaseUpdateSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class EntityFrameworkDatabaseUpdateSettingsExtensions { @@ -830,7 +830,7 @@ public static partial class EntityFrameworkDatabaseUpdateSettingsExtensions } #endregion #region EntityFrameworkDbContextInfoSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class EntityFrameworkDbContextInfoSettingsExtensions { @@ -970,7 +970,7 @@ public static partial class EntityFrameworkDbContextInfoSettingsExtensions } #endregion #region EntityFrameworkDbContextListSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class EntityFrameworkDbContextListSettingsExtensions { @@ -1110,7 +1110,7 @@ public static partial class EntityFrameworkDbContextListSettingsExtensions } #endregion #region EntityFrameworkDbContextScaffoldSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class EntityFrameworkDbContextScaffoldSettingsExtensions { @@ -1429,7 +1429,7 @@ public static partial class EntityFrameworkDbContextScaffoldSettingsExtensions } #endregion #region EntityFrameworkDbContextScriptSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class EntityFrameworkDbContextScriptSettingsExtensions { @@ -1577,7 +1577,7 @@ public static partial class EntityFrameworkDbContextScriptSettingsExtensions } #endregion #region EntityFrameworkMigrationsAddSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class EntityFrameworkMigrationsAddSettingsExtensions { @@ -1741,7 +1741,7 @@ public static partial class EntityFrameworkMigrationsAddSettingsExtensions } #endregion #region EntityFrameworkMigrationsListSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class EntityFrameworkMigrationsListSettingsExtensions { @@ -1906,7 +1906,7 @@ public static partial class EntityFrameworkMigrationsListSettingsExtensions } #endregion #region EntityFrameworkMigrationsRemoveSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class EntityFrameworkMigrationsRemoveSettingsExtensions { @@ -2063,7 +2063,7 @@ public static partial class EntityFrameworkMigrationsRemoveSettingsExtensions } #endregion #region EntityFrameworkMigrationsBundleSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class EntityFrameworkMigrationsBundleSettingsExtensions { @@ -2253,7 +2253,7 @@ public static partial class EntityFrameworkMigrationsBundleSettingsExtensions } #endregion #region EntityFrameworkMigrationsScriptSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class EntityFrameworkMigrationsScriptSettingsExtensions { diff --git a/src/Fallout.Common/Tools/Fixie/Fixie.Generated.cs b/src/Fallout.Common/Tools/Fixie/Fixie.Generated.cs index 5ede1d7d5..3d19d1392 100644 --- a/src/Fallout.Common/Tools/Fixie/Fixie.Generated.cs +++ b/src/Fallout.Common/Tools/Fixie/Fixie.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/Fixie/Fixie.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.Fixie; +namespace Fallout.Application.Tools.Fixie; ///

Fixie is a .NET modern test framework similar to NUnit and xUnit, but with an emphasis on low-ceremony defaults and flexible customization.

For more details, visit the official website.

[ExcludeFromCodeCoverage] @@ -28,13 +28,13 @@ public partial class FixieTasks : ToolTasks, IRequireNuGetPackage ///

The dotnet fixie command is used to execute Fixie unit tests in a given project.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • -- via
  • --configuration via
  • --framework via
  • --no-build via
  • --report via
public static IReadOnlyCollection Fixie(FixieSettings options = null) => new FixieTasks().Run(options); - /// + /// public static IReadOnlyCollection Fixie(Configure configurator) => new FixieTasks().Run(configurator.Invoke(new FixieSettings())); - /// + /// public static IEnumerable<(FixieSettings Settings, IReadOnlyCollection Output)> Fixie(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(Fixie, degreeOfParallelism, completeOnFailure); } #region FixieSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(FixieTasks), Command = nameof(FixieTasks.Fixie))] public partial class FixieSettings : ToolOptions @@ -52,7 +52,7 @@ public partial class FixieSettings : ToolOptions } #endregion #region FixieSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class FixieSettingsExtensions { diff --git a/src/Fallout.Common/Tools/Git/Git.Generated.cs b/src/Fallout.Common/Tools/Git/Git.Generated.cs index 44777a52d..aee9cd533 100644 --- a/src/Fallout.Common/Tools/Git/Git.Generated.cs +++ b/src/Fallout.Common/Tools/Git/Git.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/Git/Git.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.Git; +namespace Fallout.Application.Tools.Git; ///

Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. Git is easy to learn and has a tiny footprint with lightning fast performance. It outclasses SCM tools like Subversion, CVS, Perforce, and ClearCase with features like cheap local branching, convenient staging areas, and multiple workflows.

For more details, visit the official website.

[ExcludeFromCodeCoverage] diff --git a/src/Fallout.Common/Tools/Git/GitTasks.cs b/src/Fallout.Common/Tools/Git/GitTasks.cs index c2fb51ab9..28f919982 100644 --- a/src/Fallout.Common/Tools/Git/GitTasks.cs +++ b/src/Fallout.Common/Tools/Git/GitTasks.cs @@ -1,8 +1,8 @@ -using System; +using System; using System.Linq; -using Fallout.Common.Tooling; +using Fallout.Application.Tooling; -namespace Fallout.Common.Tools.Git; +namespace Fallout.Application.Tools.Git; [LogErrorAsStandard] partial class GitTasks diff --git a/src/Fallout.Common/Tools/GitHub/GitHubTasks.cs b/src/Fallout.Common/Tools/GitHub/GitHubTasks.cs index 01749e343..d76599fb7 100644 --- a/src/Fallout.Common/Tools/GitHub/GitHubTasks.cs +++ b/src/Fallout.Common/Tools/GitHub/GitHubTasks.cs @@ -8,8 +8,9 @@ using static Fallout.Common.IO.PathConstruction; using Fallout.Application; using Fallout.Application.Git; +using Fallout.Common; -namespace Fallout.Common.Tools.GitHub; +namespace Fallout.Application.Tools.GitHub; public enum GitHubItemType { diff --git a/src/Fallout.Common/Tools/GitLink/GitLink.Generated.cs b/src/Fallout.Common/Tools/GitLink/GitLink.Generated.cs index 1c2a10b14..2a27d648c 100644 --- a/src/Fallout.Common/Tools/GitLink/GitLink.Generated.cs +++ b/src/Fallout.Common/Tools/GitLink/GitLink.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/GitLink/GitLink.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.GitLink; +namespace Fallout.Application.Tools.GitLink; ///

GitLink makes symbol servers obsolete which saves you both time with uploading source files with symbols and the user no longer has to specify custom symbol servers (such as symbolsource.org). The advantage of GitLink is that it is fully customized for Git. It also works with GitHub or BitBucket urls so it does not require a local git repository to work. This makes it perfectly usable in continuous integration servers such as Continua CI. Updating all the pdb files is very fast. A solution with over 85 projects will be handled in less than 30 seconds. When using GitLink, the user no longer has to specify symbol servers. The only requirement is to ensure the check the Enable source server support option in Visual Studio.

For more details, visit the official website.

[ExcludeFromCodeCoverage] @@ -28,20 +28,20 @@ public partial class GitLinkTasks : ToolTasks, IRequireNuGetPackage ///

GitLink makes symbol servers obsolete which saves you both time with uploading source files with symbols and the user no longer has to specify custom symbol servers (such as symbolsource.org). The advantage of GitLink is that it is fully customized for Git. It also works with GitHub or BitBucket urls so it does not require a local git repository to work. This makes it perfectly usable in continuous integration servers such as Continua CI. Updating all the pdb files is very fast. A solution with over 85 projects will be handled in less than 30 seconds. When using GitLink, the user no longer has to specify symbol servers. The only requirement is to ensure the check the Enable source server support option in Visual Studio.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <solutionDirectory> via
  • -b via
  • -c via
  • -d via
  • -debug via
  • -errorsaswarnings via
  • -f via
  • -l via
  • -p via
  • -powershell via
  • -s via
  • -skipverify via
  • -u via
public static IReadOnlyCollection GitLink2(GitLink2Settings options = null) => new GitLinkTasks().Run(options); - /// + /// public static IReadOnlyCollection GitLink2(Configure configurator) => new GitLinkTasks().Run(configurator.Invoke(new GitLink2Settings())); - /// + /// public static IEnumerable<(GitLink2Settings Settings, IReadOnlyCollection Output)> GitLink2(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(GitLink2, degreeOfParallelism, completeOnFailure); ///

GitLink makes symbol servers obsolete which saves you both time with uploading source files with symbols and the user no longer has to specify custom symbol servers (such as symbolsource.org). The advantage of GitLink is that it is fully customized for Git. It also works with GitHub or BitBucket urls so it does not require a local git repository to work. This makes it perfectly usable in continuous integration servers such as Continua CI. Updating all the pdb files is very fast. A solution with over 85 projects will be handled in less than 30 seconds. When using GitLink, the user no longer has to specify symbol servers. The only requirement is to ensure the check the Enable source server support option in Visual Studio.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <pdbFile> via
  • --baseDir via
  • --commit via
  • --method via
  • --skipVerify via
  • --url via
public static IReadOnlyCollection GitLink3(GitLink3Settings options = null) => new GitLinkTasks().Run(options); - /// + /// public static IReadOnlyCollection GitLink3(Configure configurator) => new GitLinkTasks().Run(configurator.Invoke(new GitLink3Settings())); - /// + /// public static IEnumerable<(GitLink3Settings Settings, IReadOnlyCollection Output)> GitLink3(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(GitLink3, degreeOfParallelism, completeOnFailure); } #region GitLink2Settings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(GitLinkTasks), Command = nameof(GitLinkTasks.GitLink2))] public partial class GitLink2Settings : ToolOptions @@ -75,7 +75,7 @@ public partial class GitLink2Settings : ToolOptions } #endregion #region GitLink3Settings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(GitLinkTasks), Command = nameof(GitLinkTasks.GitLink3))] public partial class GitLink3Settings : ToolOptions @@ -95,7 +95,7 @@ public partial class GitLink3Settings : ToolOptions } #endregion #region GitLink2SettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class GitLink2SettingsExtensions { @@ -242,7 +242,7 @@ public static partial class GitLink2SettingsExtensions } #endregion #region GitLink3SettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class GitLink3SettingsExtensions { diff --git a/src/Fallout.Common/Tools/GitReleaseManager/GitReleaseManager.Generated.cs b/src/Fallout.Common/Tools/GitReleaseManager/GitReleaseManager.Generated.cs index 7bb390297..67effa3c1 100644 --- a/src/Fallout.Common/Tools/GitReleaseManager/GitReleaseManager.Generated.cs +++ b/src/Fallout.Common/Tools/GitReleaseManager/GitReleaseManager.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.GitReleaseManager; +namespace Fallout.Application.Tools.GitReleaseManager; ///

GitReleaseManager is a tool that will help create a set of release notes for your application/product. It does this using the collection of issues which are stored on the GitHub Issue Tracker for your application/product.By inspecting the issues that have been assigned to a particular milestone, GitReleaseManager creates a set of release notes, in markdown format, which are then used to create a Release on GitHub.In addition to creating a Release, GitReleaseManager can be used to publish a release, close a milestone, and also to export the complete set of release notes for your application/product.

For more details, visit the official website.

[ExcludeFromCodeCoverage] @@ -26,41 +26,41 @@ public partial class GitReleaseManagerTasks : ToolTasks, IRequireNuGetPackage ///

Adds an asset to an existing release.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --assets via
  • --logFilePath via
  • --owner via
  • --password via
  • --repository via
  • --tagName via
  • --targetDirectory via
  • --token via
  • --username via
public static IReadOnlyCollection GitReleaseManagerAddAssets(GitReleaseManagerAddAssetsSettings options = null) => new GitReleaseManagerTasks().Run(options); - /// + /// public static IReadOnlyCollection GitReleaseManagerAddAssets(Configure configurator) => new GitReleaseManagerTasks().Run(configurator.Invoke(new GitReleaseManagerAddAssetsSettings())); - /// + /// public static IEnumerable<(GitReleaseManagerAddAssetsSettings Settings, IReadOnlyCollection Output)> GitReleaseManagerAddAssets(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(GitReleaseManagerAddAssets, degreeOfParallelism, completeOnFailure); ///

Closes the milestone.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --logFilePath via
  • --milestone via
  • --owner via
  • --password via
  • --repository via
  • --targetDirectory via
  • --token via
  • --username via
public static IReadOnlyCollection GitReleaseManagerClose(GitReleaseManagerCloseSettings options = null) => new GitReleaseManagerTasks().Run(options); - /// + /// public static IReadOnlyCollection GitReleaseManagerClose(Configure configurator) => new GitReleaseManagerTasks().Run(configurator.Invoke(new GitReleaseManagerCloseSettings())); - /// + /// public static IEnumerable<(GitReleaseManagerCloseSettings Settings, IReadOnlyCollection Output)> GitReleaseManagerClose(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(GitReleaseManagerClose, degreeOfParallelism, completeOnFailure); ///

Creates a draft release notes from a milestone.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --assets via
  • --inputFilePath via
  • --logFilePath via
  • --milestone via
  • --name via
  • --owner via
  • --password via
  • --prerelease via
  • --repository via
  • --targetcommitish via
  • --targetDirectory via
  • --token via
  • --username via
public static IReadOnlyCollection GitReleaseManagerCreate(GitReleaseManagerCreateSettings options = null) => new GitReleaseManagerTasks().Run(options); - /// + /// public static IReadOnlyCollection GitReleaseManagerCreate(Configure configurator) => new GitReleaseManagerTasks().Run(configurator.Invoke(new GitReleaseManagerCreateSettings())); - /// + /// public static IEnumerable<(GitReleaseManagerCreateSettings Settings, IReadOnlyCollection Output)> GitReleaseManagerCreate(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(GitReleaseManagerCreate, degreeOfParallelism, completeOnFailure); ///

Exports all the Release Notes in markdown format.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --fileOutputPath via
  • --logFilePath via
  • --owner via
  • --password via
  • --repository via
  • --tagName via
  • --targetDirectory via
  • --token via
  • --username via
public static IReadOnlyCollection GitReleaseManagerExport(GitReleaseManagerExportSettings options = null) => new GitReleaseManagerTasks().Run(options); - /// + /// public static IReadOnlyCollection GitReleaseManagerExport(Configure configurator) => new GitReleaseManagerTasks().Run(configurator.Invoke(new GitReleaseManagerExportSettings())); - /// + /// public static IEnumerable<(GitReleaseManagerExportSettings Settings, IReadOnlyCollection Output)> GitReleaseManagerExport(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(GitReleaseManagerExport, degreeOfParallelism, completeOnFailure); ///

Publishes the GitHub Release.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --logFilePath via
  • --owner via
  • --password via
  • --repository via
  • --tagName via
  • --targetDirectory via
  • --token via
  • --username via
public static IReadOnlyCollection GitReleaseManagerPublish(GitReleaseManagerPublishSettings options = null) => new GitReleaseManagerTasks().Run(options); - /// + /// public static IReadOnlyCollection GitReleaseManagerPublish(Configure configurator) => new GitReleaseManagerTasks().Run(configurator.Invoke(new GitReleaseManagerPublishSettings())); - /// + /// public static IEnumerable<(GitReleaseManagerPublishSettings Settings, IReadOnlyCollection Output)> GitReleaseManagerPublish(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(GitReleaseManagerPublish, degreeOfParallelism, completeOnFailure); } #region GitReleaseManagerAddAssetsSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(GitReleaseManagerTasks), Command = nameof(GitReleaseManagerTasks.GitReleaseManagerAddAssets), Arguments = "addasset")] public partial class GitReleaseManagerAddAssetsSettings : ToolOptions @@ -86,7 +86,7 @@ public partial class GitReleaseManagerAddAssetsSettings : ToolOptions } #endregion #region GitReleaseManagerCloseSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(GitReleaseManagerTasks), Command = nameof(GitReleaseManagerTasks.GitReleaseManagerClose), Arguments = "close")] public partial class GitReleaseManagerCloseSettings : ToolOptions @@ -110,7 +110,7 @@ public partial class GitReleaseManagerCloseSettings : ToolOptions } #endregion #region GitReleaseManagerCreateSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(GitReleaseManagerTasks), Command = nameof(GitReleaseManagerTasks.GitReleaseManagerCreate), Arguments = "create")] public partial class GitReleaseManagerCreateSettings : ToolOptions @@ -144,7 +144,7 @@ public partial class GitReleaseManagerCreateSettings : ToolOptions } #endregion #region GitReleaseManagerExportSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(GitReleaseManagerTasks), Command = nameof(GitReleaseManagerTasks.GitReleaseManagerExport), Arguments = "export")] public partial class GitReleaseManagerExportSettings : ToolOptions @@ -170,7 +170,7 @@ public partial class GitReleaseManagerExportSettings : ToolOptions } #endregion #region GitReleaseManagerPublishSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(GitReleaseManagerTasks), Command = nameof(GitReleaseManagerTasks.GitReleaseManagerPublish), Arguments = "publish")] public partial class GitReleaseManagerPublishSettings : ToolOptions @@ -194,7 +194,7 @@ public partial class GitReleaseManagerPublishSettings : ToolOptions } #endregion #region GitReleaseManagerAddAssetsSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class GitReleaseManagerAddAssetsSettingsExtensions { @@ -288,7 +288,7 @@ public static partial class GitReleaseManagerAddAssetsSettingsExtensions } #endregion #region GitReleaseManagerCloseSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class GitReleaseManagerCloseSettingsExtensions { @@ -359,7 +359,7 @@ public static partial class GitReleaseManagerCloseSettingsExtensions } #endregion #region GitReleaseManagerCreateSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class GitReleaseManagerCreateSettingsExtensions { @@ -494,7 +494,7 @@ public static partial class GitReleaseManagerCreateSettingsExtensions } #endregion #region GitReleaseManagerExportSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class GitReleaseManagerExportSettingsExtensions { @@ -573,7 +573,7 @@ public static partial class GitReleaseManagerExportSettingsExtensions } #endregion #region GitReleaseManagerPublishSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class GitReleaseManagerPublishSettingsExtensions { diff --git a/src/Fallout.Common/Tools/GitVersion/GitVersion.Generated.cs b/src/Fallout.Common/Tools/GitVersion/GitVersion.Generated.cs index 67abdd2ae..e1ece2547 100644 --- a/src/Fallout.Common/Tools/GitVersion/GitVersion.Generated.cs +++ b/src/Fallout.Common/Tools/GitVersion/GitVersion.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.GitVersion; +namespace Fallout.Application.Tools.GitVersion; ///

GitVersion is a tool to help you achieve Semantic Versioning on your project.

For more details, visit the official website.

[ExcludeFromCodeCoverage] @@ -26,13 +26,13 @@ public partial class GitVersionTasks : ToolTasks, IRequireNuGetPackage ///

GitVersion is a tool to help you achieve Semantic Versioning on your project.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <targetPath> via
  • /b via
  • /c via
  • /diag via
  • /dynamicRepoLocation via
  • /ensureassemblyinfo via
  • /exec via
  • /execargs via
  • /l via
  • /nocache via
  • /nofetch via
  • /output via
  • /overrideconfig via
  • /p via
  • /proj via
  • /projargs via
  • /showconfig via
  • /showvariable via
  • /u via
  • /updateassemblyinfo via
  • /updateassemblyinfofilename via
  • /url via
  • /verbosity via
  • /version via
public static (GitVersion Result, IReadOnlyCollection Output) GitVersion(GitVersionSettings options = null) => new GitVersionTasks().Run(options); - /// + /// public static (GitVersion Result, IReadOnlyCollection Output) GitVersion(Configure configurator) => new GitVersionTasks().Run(configurator.Invoke(new GitVersionSettings())); - /// + /// public static IEnumerable<(GitVersionSettings Settings, GitVersion Result, IReadOnlyCollection Output)> GitVersion(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(GitVersion, degreeOfParallelism, completeOnFailure); } #region GitVersionSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(GitVersionTasks), Command = nameof(GitVersionTasks.GitVersion))] public partial class GitVersionSettings : ToolOptions, IToolOptionsWithFramework @@ -88,7 +88,7 @@ public partial class GitVersionSettings : ToolOptions, IToolOptionsWithFramework } #endregion #region GitVersionSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class GitVersionSettingsExtensions { diff --git a/src/Fallout.Common/Tools/GitVersion/GitVersionAttribute.cs b/src/Fallout.Common/Tools/GitVersion/GitVersionAttribute.cs index c0dd493f4..35b930b82 100644 --- a/src/Fallout.Common/Tools/GitVersion/GitVersionAttribute.cs +++ b/src/Fallout.Common/Tools/GitVersion/GitVersionAttribute.cs @@ -4,15 +4,16 @@ using Fallout.Common.CI.AppVeyor; using Fallout.Common.CI.AzurePipelines; using Fallout.Common.CI.TeamCity; -using Fallout.Common.Tooling; using Fallout.Common.Utilities; using Serilog; using static Fallout.Application.ControlFlow; using Fallout.Application; using Fallout.Application.ValueInjection; using Fallout.Application.Git; +using Fallout.Application.Tooling; +using Fallout.Common; -namespace Fallout.Common.Tools.GitVersion; +namespace Fallout.Application.Tools.GitVersion; /// /// Injects an instance of based on the local repository. diff --git a/src/Fallout.Common/Tools/GitVersion/GitVersionTasks.cs b/src/Fallout.Common/Tools/GitVersion/GitVersionTasks.cs index d59c8e643..fcd8b913a 100644 --- a/src/Fallout.Common/Tools/GitVersion/GitVersionTasks.cs +++ b/src/Fallout.Common/Tools/GitVersion/GitVersionTasks.cs @@ -1,12 +1,13 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Text.Json.Serialization; -using Fallout.Common.Tooling; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; +using Fallout.Application.Tooling; +using Fallout.Infrastructure.Tooling; -namespace Fallout.Common.Tools.GitVersion; +namespace Fallout.Application.Tools.GitVersion; partial class GitVersionTasks { diff --git a/src/Fallout.Common/Tools/GitVersion/NumberToStringJsonConverter.cs b/src/Fallout.Common/Tools/GitVersion/NumberToStringJsonConverter.cs index c4d9b6d73..52ef74533 100644 --- a/src/Fallout.Common/Tools/GitVersion/NumberToStringJsonConverter.cs +++ b/src/Fallout.Common/Tools/GitVersion/NumberToStringJsonConverter.cs @@ -8,7 +8,7 @@ using System.Text.Json; using System.Text.Json.Serialization; -namespace Fallout.Common.Tools.GitVersion; +namespace Fallout.Application.Tools.GitVersion; /// /// Deserializes a JSON string or JSON number as a C# . diff --git a/src/Fallout.Common/Tools/Helm/Helm.Generated.cs b/src/Fallout.Common/Tools/Helm/Helm.Generated.cs index a838faa8f..5c7ce9e61 100644 --- a/src/Fallout.Common/Tools/Helm/Helm.Generated.cs +++ b/src/Fallout.Common/Tools/Helm/Helm.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.Helm; +namespace Fallout.Application.Tools.Helm; ///

For more details, visit the official website.

[ExcludeFromCodeCoverage] @@ -25,300 +25,300 @@ public partial class HelmTasks : ToolTasks, IRequirePathTool ///

Generate autocompletions script for Helm for the specified shell (bash or zsh). This command can generate shell autocompletions. e.g. $ helm completion bash Can be sourced as such $ source <(helm completion bash).

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <shell> via
  • --debug via
  • --home via
  • --host via
  • --kube-context via
  • --kubeconfig via
  • --tiller-connection-timeout via
  • --tiller-namespace via
public static IReadOnlyCollection HelmCompletion(HelmCompletionSettings options = null) => new HelmTasks().Run(options); - /// + /// public static IReadOnlyCollection HelmCompletion(Configure configurator) => new HelmTasks().Run(configurator.Invoke(new HelmCompletionSettings())); - /// + /// public static IEnumerable<(HelmCompletionSettings Settings, IReadOnlyCollection Output)> HelmCompletion(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(HelmCompletion, degreeOfParallelism, completeOnFailure); ///

This command creates a chart directory along with the common files and directories used in a chart. For example, 'helm create foo' will create a directory structure that looks something like this: foo/ | |- .helmignore # Contains patterns to ignore when packaging Helm charts. | |- Chart.yaml # Information about your chart | |- values.yaml # The default values for your templates | |- charts/ # Charts that this chart depends on | |- templates/ # The template files | |- templates/tests/ # The test files 'helm create' takes a path for an argument. If directories in the given path do not exist, Helm will attempt to create them as it goes. If the given destination exists and there are files in that directory, conflicting files will be overwritten, but other files will be left alone.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <name> via
  • --debug via
  • --home via
  • --host via
  • --kube-context via
  • --kubeconfig via
  • --starter via
  • --tiller-connection-timeout via
  • --tiller-namespace via
public static IReadOnlyCollection HelmCreate(HelmCreateSettings options = null) => new HelmTasks().Run(options); - /// + /// public static IReadOnlyCollection HelmCreate(Configure configurator) => new HelmTasks().Run(configurator.Invoke(new HelmCreateSettings())); - /// + /// public static IEnumerable<(HelmCreateSettings Settings, IReadOnlyCollection Output)> HelmCreate(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(HelmCreate, degreeOfParallelism, completeOnFailure); ///

This command takes a release name, and then deletes the release from Kubernetes. It removes all of the resources associated with the last release of the chart. Use the '--dry-run' flag to see which releases will be deleted without actually deleting them.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <releaseNames> via
  • --debug via
  • --description via
  • --dry-run via
  • --home via
  • --host via
  • --kube-context via
  • --kubeconfig via
  • --no-hooks via
  • --purge via
  • --tiller-connection-timeout via
  • --tiller-namespace via
  • --timeout via
  • --tls via
  • --tls-ca-cert via
  • --tls-cert via
  • --tls-hostname via
  • --tls-key via
  • --tls-verify via
public static IReadOnlyCollection HelmDelete(HelmDeleteSettings options = null) => new HelmTasks().Run(options); - /// + /// public static IReadOnlyCollection HelmDelete(Configure configurator) => new HelmTasks().Run(configurator.Invoke(new HelmDeleteSettings())); - /// + /// public static IEnumerable<(HelmDeleteSettings Settings, IReadOnlyCollection Output)> HelmDelete(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(HelmDelete, degreeOfParallelism, completeOnFailure); ///

Build out the charts/ directory from the requirements.lock file. Build is used to reconstruct a chart's dependencies to the state specified in the lock file. This will not re-negotiate dependencies, as 'helm dependency update' does. If no lock file is found, 'helm dependency build' will mirror the behavior of 'helm dependency update'.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <chart> via
  • --debug via
  • --home via
  • --host via
  • --keyring via
  • --kube-context via
  • --kubeconfig via
  • --tiller-connection-timeout via
  • --tiller-namespace via
  • --verify via
public static IReadOnlyCollection HelmDependencyBuild(HelmDependencyBuildSettings options = null) => new HelmTasks().Run(options); - /// + /// public static IReadOnlyCollection HelmDependencyBuild(Configure configurator) => new HelmTasks().Run(configurator.Invoke(new HelmDependencyBuildSettings())); - /// + /// public static IEnumerable<(HelmDependencyBuildSettings Settings, IReadOnlyCollection Output)> HelmDependencyBuild(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(HelmDependencyBuild, degreeOfParallelism, completeOnFailure); ///

List all of the dependencies declared in a chart. This can take chart archives and chart directories as input. It will not alter the contents of a chart. This will produce an error if the chart cannot be loaded. It will emit a warning if it cannot find a requirements.yaml.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <chart> via
  • --debug via
  • --home via
  • --host via
  • --kube-context via
  • --kubeconfig via
  • --tiller-connection-timeout via
  • --tiller-namespace via
public static IReadOnlyCollection HelmDependencyList(HelmDependencyListSettings options = null) => new HelmTasks().Run(options); - /// + /// public static IReadOnlyCollection HelmDependencyList(Configure configurator) => new HelmTasks().Run(configurator.Invoke(new HelmDependencyListSettings())); - /// + /// public static IEnumerable<(HelmDependencyListSettings Settings, IReadOnlyCollection Output)> HelmDependencyList(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(HelmDependencyList, degreeOfParallelism, completeOnFailure); ///

Update the on-disk dependencies to mirror the requirements.yaml file. This command verifies that the required charts, as expressed in 'requirements.yaml', are present in 'charts/' and are at an acceptable version. It will pull down the latest charts that satisfy the dependencies, and clean up old dependencies. On successful update, this will generate a lock file that can be used to rebuild the requirements to an exact version. Dependencies are not required to be represented in 'requirements.yaml'. For that reason, an update command will not remove charts unless they are (a) present in the requirements.yaml file, but (b) at the wrong version.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <chart> via
  • --debug via
  • --home via
  • --host via
  • --keyring via
  • --kube-context via
  • --kubeconfig via
  • --skip-refresh via
  • --tiller-connection-timeout via
  • --tiller-namespace via
  • --verify via
public static IReadOnlyCollection HelmDependencyUpdate(HelmDependencyUpdateSettings options = null) => new HelmTasks().Run(options); - /// + /// public static IReadOnlyCollection HelmDependencyUpdate(Configure configurator) => new HelmTasks().Run(configurator.Invoke(new HelmDependencyUpdateSettings())); - /// + /// public static IEnumerable<(HelmDependencyUpdateSettings Settings, IReadOnlyCollection Output)> HelmDependencyUpdate(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(HelmDependencyUpdate, degreeOfParallelism, completeOnFailure); ///

Retrieve a package from a package repository, and download it locally. This is useful for fetching packages to inspect, modify, or repackage. It can also be used to perform cryptographic verification of a chart without installing the chart. There are options for unpacking the chart after download. This will create a directory for the chart and uncompress into that directory. If the --verify flag is specified, the requested chart MUST have a provenance file, and MUST pass the verification process. Failure in any part of this will result in an error, and the chart will not be saved locally.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <charts> via
  • --ca-file via
  • --cert-file via
  • --debug via
  • --destination via
  • --devel via
  • --home via
  • --host via
  • --key-file via
  • --keyring via
  • --kube-context via
  • --kubeconfig via
  • --password via
  • --prov via
  • --repo via
  • --tiller-connection-timeout via
  • --tiller-namespace via
  • --untar via
  • --untardir via
  • --username via
  • --verify via
  • --version via
public static IReadOnlyCollection HelmFetch(HelmFetchSettings options = null) => new HelmTasks().Run(options); - /// + /// public static IReadOnlyCollection HelmFetch(Configure configurator) => new HelmTasks().Run(configurator.Invoke(new HelmFetchSettings())); - /// + /// public static IEnumerable<(HelmFetchSettings Settings, IReadOnlyCollection Output)> HelmFetch(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(HelmFetch, degreeOfParallelism, completeOnFailure); ///

This command shows the details of a named release. It can be used to get extended information about the release, including: - The values used to generate the release - The chart used to generate the release - The generated manifest file By default, this prints a human readable collection of information about the chart, the supplied values, and the generated manifest file.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <releaseName> via
  • --debug via
  • --home via
  • --host via
  • --kube-context via
  • --kubeconfig via
  • --revision via
  • --tiller-connection-timeout via
  • --tiller-namespace via
  • --tls via
  • --tls-ca-cert via
  • --tls-cert via
  • --tls-hostname via
  • --tls-key via
  • --tls-verify via
public static IReadOnlyCollection HelmGet(HelmGetSettings options = null) => new HelmTasks().Run(options); - /// + /// public static IReadOnlyCollection HelmGet(Configure configurator) => new HelmTasks().Run(configurator.Invoke(new HelmGetSettings())); - /// + /// public static IEnumerable<(HelmGetSettings Settings, IReadOnlyCollection Output)> HelmGet(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(HelmGet, degreeOfParallelism, completeOnFailure); ///

This command downloads hooks for a given release. Hooks are formatted in YAML and separated by the YAML '---\n' separator.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <releaseName> via
  • --debug via
  • --home via
  • --host via
  • --kube-context via
  • --kubeconfig via
  • --revision via
  • --tiller-connection-timeout via
  • --tiller-namespace via
  • --tls via
  • --tls-ca-cert via
  • --tls-cert via
  • --tls-hostname via
  • --tls-key via
  • --tls-verify via
public static IReadOnlyCollection HelmGetHooks(HelmGetHooksSettings options = null) => new HelmTasks().Run(options); - /// + /// public static IReadOnlyCollection HelmGetHooks(Configure configurator) => new HelmTasks().Run(configurator.Invoke(new HelmGetHooksSettings())); - /// + /// public static IEnumerable<(HelmGetHooksSettings Settings, IReadOnlyCollection Output)> HelmGetHooks(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(HelmGetHooks, degreeOfParallelism, completeOnFailure); ///

This command fetches the generated manifest for a given release. A manifest is a YAML-encoded representation of the Kubernetes resources that were generated from this release's chart(s). If a chart is dependent on other charts, those resources will also be included in the manifest.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <releaseName> via
  • --debug via
  • --home via
  • --host via
  • --kube-context via
  • --kubeconfig via
  • --revision via
  • --tiller-connection-timeout via
  • --tiller-namespace via
  • --tls via
  • --tls-ca-cert via
  • --tls-cert via
  • --tls-hostname via
  • --tls-key via
  • --tls-verify via
public static IReadOnlyCollection HelmGetManifest(HelmGetManifestSettings options = null) => new HelmTasks().Run(options); - /// + /// public static IReadOnlyCollection HelmGetManifest(Configure configurator) => new HelmTasks().Run(configurator.Invoke(new HelmGetManifestSettings())); - /// + /// public static IEnumerable<(HelmGetManifestSettings Settings, IReadOnlyCollection Output)> HelmGetManifest(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(HelmGetManifest, degreeOfParallelism, completeOnFailure); ///

This command shows notes provided by the chart of a named release.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <releaseName> via
  • --debug via
  • --home via
  • --host via
  • --kube-context via
  • --kubeconfig via
  • --revision via
  • --tiller-connection-timeout via
  • --tiller-namespace via
  • --tls via
  • --tls-ca-cert via
  • --tls-cert via
  • --tls-hostname via
  • --tls-key via
  • --tls-verify via
public static IReadOnlyCollection HelmGetNotes(HelmGetNotesSettings options = null) => new HelmTasks().Run(options); - /// + /// public static IReadOnlyCollection HelmGetNotes(Configure configurator) => new HelmTasks().Run(configurator.Invoke(new HelmGetNotesSettings())); - /// + /// public static IEnumerable<(HelmGetNotesSettings Settings, IReadOnlyCollection Output)> HelmGetNotes(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(HelmGetNotes, degreeOfParallelism, completeOnFailure); ///

This command downloads a values file for a given release.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <releaseName> via
  • --all via
  • --debug via
  • --home via
  • --host via
  • --kube-context via
  • --kubeconfig via
  • --output via
  • --revision via
  • --tiller-connection-timeout via
  • --tiller-namespace via
  • --tls via
  • --tls-ca-cert via
  • --tls-cert via
  • --tls-hostname via
  • --tls-key via
  • --tls-verify via
public static IReadOnlyCollection HelmGetValues(HelmGetValuesSettings options = null) => new HelmTasks().Run(options); - /// + /// public static IReadOnlyCollection HelmGetValues(Configure configurator) => new HelmTasks().Run(configurator.Invoke(new HelmGetValuesSettings())); - /// + /// public static IEnumerable<(HelmGetValuesSettings Settings, IReadOnlyCollection Output)> HelmGetValues(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(HelmGetValues, degreeOfParallelism, completeOnFailure); ///

History prints historical revisions for a given release. A default maximum of 256 revisions will be returned. Setting '--max' configures the maximum length of the revision list returned. The historical release set is printed as a formatted table, e.g: $ helm history angry-bird --max=4 REVISION UPDATED STATUS CHART DESCRIPTION 1 Mon Oct 3 10:15:13 2016 SUPERSEDED alpine-0.1.0 Initial install 2 Mon Oct 3 10:15:13 2016 SUPERSEDED alpine-0.1.0 Upgraded successfully 3 Mon Oct 3 10:15:13 2016 SUPERSEDED alpine-0.1.0 Rolled back to 2 4 Mon Oct 3 10:15:13 2016 DEPLOYED alpine-0.1.0 Upgraded successfully.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <releaseName> via
  • --col-width via
  • --debug via
  • --home via
  • --host via
  • --kube-context via
  • --kubeconfig via
  • --max via
  • --output via
  • --tiller-connection-timeout via
  • --tiller-namespace via
  • --tls via
  • --tls-ca-cert via
  • --tls-cert via
  • --tls-hostname via
  • --tls-key via
  • --tls-verify via
public static IReadOnlyCollection HelmHistory(HelmHistorySettings options = null) => new HelmTasks().Run(options); - /// + /// public static IReadOnlyCollection HelmHistory(Configure configurator) => new HelmTasks().Run(configurator.Invoke(new HelmHistorySettings())); - /// + /// public static IEnumerable<(HelmHistorySettings Settings, IReadOnlyCollection Output)> HelmHistory(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(HelmHistory, degreeOfParallelism, completeOnFailure); ///

This command displays the location of HELM_HOME. This is where any helm configuration files live.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --debug via
  • --home via
  • --host via
  • --kube-context via
  • --kubeconfig via
  • --tiller-connection-timeout via
  • --tiller-namespace via
public static IReadOnlyCollection HelmHome(HelmHomeSettings options = null) => new HelmTasks().Run(options); - /// + /// public static IReadOnlyCollection HelmHome(Configure configurator) => new HelmTasks().Run(configurator.Invoke(new HelmHomeSettings())); - /// + /// public static IEnumerable<(HelmHomeSettings Settings, IReadOnlyCollection Output)> HelmHome(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(HelmHome, degreeOfParallelism, completeOnFailure); ///

This command installs Tiller (the Helm server-side component) onto your Kubernetes Cluster and sets up local configuration in $HELM_HOME (default ~/.helm/). As with the rest of the Helm commands, 'helm init' discovers Kubernetes clusters by reading $KUBECONFIG (default '~/.kube/config') and using the default context. To set up just a local environment, use '--client-only'. That will configure $HELM_HOME, but not attempt to connect to a Kubernetes cluster and install the Tiller deployment. When installing Tiller, 'helm init' will attempt to install the latest released version. You can specify an alternative image with '--tiller-image'. For those frequently working on the latest code, the flag '--canary-image' will install the latest pre-release version of Tiller (e.g. the HEAD commit in the GitHub repository on the master branch). To dump a manifest containing the Tiller deployment YAML, combine the '--dry-run' and '--debug' flags.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --automount-service-account-token via
  • --canary-image via
  • --client-only via
  • --debug via
  • --dry-run via
  • --force-upgrade via
  • --history-max via
  • --home via
  • --host via
  • --kube-context via
  • --kubeconfig via
  • --local-repo-url via
  • --net-host via
  • --node-selectors via
  • --output via
  • --override via
  • --replicas via
  • --service-account via
  • --skip-refresh via
  • --stable-repo-url via
  • --tiller-connection-timeout via
  • --tiller-image via
  • --tiller-namespace via
  • --tiller-tls via
  • --tiller-tls-cert via
  • --tiller-tls-hostname via
  • --tiller-tls-key via
  • --tiller-tls-verify via
  • --tls-ca-cert via
  • --upgrade via
  • --wait via
public static IReadOnlyCollection HelmInit(HelmInitSettings options = null) => new HelmTasks().Run(options); - /// + /// public static IReadOnlyCollection HelmInit(Configure configurator) => new HelmTasks().Run(configurator.Invoke(new HelmInitSettings())); - /// + /// public static IEnumerable<(HelmInitSettings Settings, IReadOnlyCollection Output)> HelmInit(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(HelmInit, degreeOfParallelism, completeOnFailure); ///

This command inspects a chart and displays information. It takes a chart reference ('stable/drupal'), a full path to a directory or packaged chart, or a URL. Inspect prints the contents of the Chart.yaml file and the values.yaml file.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <chart> via
  • --ca-file via
  • --cert-file via
  • --debug via
  • --devel via
  • --home via
  • --host via
  • --key-file via
  • --keyring via
  • --kube-context via
  • --kubeconfig via
  • --password via
  • --repo via
  • --tiller-connection-timeout via
  • --tiller-namespace via
  • --username via
  • --verify via
  • --version via
public static IReadOnlyCollection HelmInspect(HelmInspectSettings options = null) => new HelmTasks().Run(options); - /// + /// public static IReadOnlyCollection HelmInspect(Configure configurator) => new HelmTasks().Run(configurator.Invoke(new HelmInspectSettings())); - /// + /// public static IEnumerable<(HelmInspectSettings Settings, IReadOnlyCollection Output)> HelmInspect(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(HelmInspect, degreeOfParallelism, completeOnFailure); ///

This command inspects a chart (directory, file, or URL) and displays the contents of the Charts.yaml file.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <chart> via
  • --ca-file via
  • --cert-file via
  • --debug via
  • --devel via
  • --home via
  • --host via
  • --key-file via
  • --keyring via
  • --kube-context via
  • --kubeconfig via
  • --password via
  • --repo via
  • --tiller-connection-timeout via
  • --tiller-namespace via
  • --username via
  • --verify via
  • --version via
public static IReadOnlyCollection HelmInspectChart(HelmInspectChartSettings options = null) => new HelmTasks().Run(options); - /// + /// public static IReadOnlyCollection HelmInspectChart(Configure configurator) => new HelmTasks().Run(configurator.Invoke(new HelmInspectChartSettings())); - /// + /// public static IEnumerable<(HelmInspectChartSettings Settings, IReadOnlyCollection Output)> HelmInspectChart(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(HelmInspectChart, degreeOfParallelism, completeOnFailure); ///

This command inspects a chart (directory, file, or URL) and displays the contents of the README file.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <chart> via
  • --ca-file via
  • --cert-file via
  • --debug via
  • --devel via
  • --home via
  • --host via
  • --key-file via
  • --keyring via
  • --kube-context via
  • --kubeconfig via
  • --repo via
  • --tiller-connection-timeout via
  • --tiller-namespace via
  • --verify via
  • --version via
public static IReadOnlyCollection HelmInspectReadme(HelmInspectReadmeSettings options = null) => new HelmTasks().Run(options); - /// + /// public static IReadOnlyCollection HelmInspectReadme(Configure configurator) => new HelmTasks().Run(configurator.Invoke(new HelmInspectReadmeSettings())); - /// + /// public static IEnumerable<(HelmInspectReadmeSettings Settings, IReadOnlyCollection Output)> HelmInspectReadme(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(HelmInspectReadme, degreeOfParallelism, completeOnFailure); ///

This command inspects a chart (directory, file, or URL) and displays the contents of the values.yaml file.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <chart> via
  • --ca-file via
  • --cert-file via
  • --debug via
  • --devel via
  • --home via
  • --host via
  • --key-file via
  • --keyring via
  • --kube-context via
  • --kubeconfig via
  • --password via
  • --repo via
  • --tiller-connection-timeout via
  • --tiller-namespace via
  • --username via
  • --verify via
  • --version via
public static IReadOnlyCollection HelmInspectValues(HelmInspectValuesSettings options = null) => new HelmTasks().Run(options); - /// + /// public static IReadOnlyCollection HelmInspectValues(Configure configurator) => new HelmTasks().Run(configurator.Invoke(new HelmInspectValuesSettings())); - /// + /// public static IEnumerable<(HelmInspectValuesSettings Settings, IReadOnlyCollection Output)> HelmInspectValues(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(HelmInspectValues, degreeOfParallelism, completeOnFailure); ///

This command installs a chart archive. The install argument must be a chart reference, a path to a packaged chart, a path to an unpacked chart directory or a URL. To override values in a chart, use either the '--values' flag and pass in a file or use the '--set' flag and pass configuration from the command line. To force string values in '--set', use '--set-string' instead. In case a value is large and therefore you want not to use neither '--values' nor '--set', use '--set-file' to read the single large value from file. $ helm install -f myvalues.yaml ./redis or $ helm install --set name=prod ./redis or $ helm install --set-string long_int=1234567890 ./redis or $ helm install --set-file multiline_text=path/to/textfile You can specify the '--values'/'-f' flag multiple times. The priority will be given to the last (right-most) file specified. For example, if both myvalues.yaml and override.yaml contained a key called 'Test', the value set in override.yaml would take precedence: $ helm install -f myvalues.yaml -f override.yaml ./redis You can specify the '--set' flag multiple times. The priority will be given to the last (right-most) set specified. For example, if both 'bar' and 'newbar' values are set for a key called 'foo', the 'newbar' value would take precedence: $ helm install --set foo=bar --set foo=newbar ./redis To check the generated manifests of a release without installing the chart, the '--debug' and '--dry-run' flags can be combined. This will still require a round-trip to the Tiller server. If --verify is set, the chart MUST have a provenance file, and the provenance file MUST pass all verification steps. There are five different ways you can express the chart you want to install: 1. By chart reference: helm install stable/mariadb 2. By path to a packaged chart: helm install ./nginx-1.2.3.tgz 3. By path to an unpacked chart directory: helm install ./nginx 4. By absolute URL: helm install https://example.com/charts/nginx-1.2.3.tgz 5. By chart reference and repo url: helm install --repo https://example.com/charts/ nginx CHART REFERENCES A chart reference is a convenient way of reference a chart in a chart repository. When you use a chart reference with a repo prefix ('stable/mariadb'), Helm will look in the local configuration for a chart repository named 'stable', and will then look for a chart in that repository whose name is 'mariadb'. It will install the latest version of that chart unless you also supply a version number with the '--version' flag. To see the list of chart repositories, use 'helm repo list'. To search for charts in a repository, use 'helm search'.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <chart> via
  • --atomic via
  • --ca-file via
  • --cert-file via
  • --debug via
  • --dep-up via
  • --description via
  • --devel via
  • --dry-run via
  • --home via
  • --host via
  • --key-file via
  • --keyring via
  • --kube-context via
  • --kubeconfig via
  • --name via
  • --name-template via
  • --namespace via
  • --no-crd-hook via
  • --no-hooks via
  • --password via
  • --render-subchart-notes via
  • --replace via
  • --repo via
  • --set via
  • --set-file via
  • --set-string via
  • --tiller-connection-timeout via
  • --tiller-namespace via
  • --timeout via
  • --tls via
  • --tls-ca-cert via
  • --tls-cert via
  • --tls-hostname via
  • --tls-key via
  • --tls-verify via
  • --username via
  • --values via
  • --verify via
  • --version via
  • --wait via
public static IReadOnlyCollection HelmInstall(HelmInstallSettings options = null) => new HelmTasks().Run(options); - /// + /// public static IReadOnlyCollection HelmInstall(Configure configurator) => new HelmTasks().Run(configurator.Invoke(new HelmInstallSettings())); - /// + /// public static IEnumerable<(HelmInstallSettings Settings, IReadOnlyCollection Output)> HelmInstall(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(HelmInstall, degreeOfParallelism, completeOnFailure); ///

This command takes a path to a chart and runs a series of tests to verify that the chart is well-formed. If the linter encounters things that will cause the chart to fail installation, it will emit [ERROR] messages. If it encounters issues that break with convention or recommendation, it will emit [WARNING] messages.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <path> via
  • --debug via
  • --home via
  • --host via
  • --kube-context via
  • --kubeconfig via
  • --namespace via
  • --set via
  • --set-file via
  • --set-string via
  • --strict via
  • --tiller-connection-timeout via
  • --tiller-namespace via
  • --values via
public static IReadOnlyCollection HelmLint(HelmLintSettings options = null) => new HelmTasks().Run(options); - /// + /// public static IReadOnlyCollection HelmLint(Configure configurator) => new HelmTasks().Run(configurator.Invoke(new HelmLintSettings())); - /// + /// public static IEnumerable<(HelmLintSettings Settings, IReadOnlyCollection Output)> HelmLint(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(HelmLint, degreeOfParallelism, completeOnFailure); ///

This command lists all of the releases. By default, it lists only releases that are deployed or failed. Flags like '--deleted' and '--all' will alter this behavior. Such flags can be combined: '--deleted --failed'. By default, items are sorted alphabetically. Use the '-d' flag to sort by release date. If an argument is provided, it will be treated as a filter. Filters are regular expressions (Perl compatible) that are applied to the list of releases. Only items that match the filter will be returned. $ helm list 'ara[a-z]+' NAME UPDATED CHART maudlin-arachnid Mon May 9 16:07:08 2016 alpine-0.1.0 If no results are found, 'helm list' will exit 0, but with no output (or in the case of no '-q' flag, only headers). By default, up to 256 items may be returned. To limit this, use the '--max' flag. Setting '--max' to 0 will not return all results. Rather, it will return the server's default, which may be much higher than 256. Pairing the '--max' flag with the '--offset' flag allows you to page through results.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <filter> via
  • --all via
  • --chart-name via
  • --col-width via
  • --date via
  • --debug via
  • --deleted via
  • --deleting via
  • --deployed via
  • --failed via
  • --home via
  • --host via
  • --kube-context via
  • --kubeconfig via
  • --max via
  • --namespace via
  • --offset via
  • --output via
  • --pending via
  • --reverse via
  • --short via
  • --tiller-connection-timeout via
  • --tiller-namespace via
  • --tls via
  • --tls-ca-cert via
  • --tls-cert via
  • --tls-hostname via
  • --tls-key via
  • --tls-verify via
public static IReadOnlyCollection HelmList(HelmListSettings options = null) => new HelmTasks().Run(options); - /// + /// public static IReadOnlyCollection HelmList(Configure configurator) => new HelmTasks().Run(configurator.Invoke(new HelmListSettings())); - /// + /// public static IEnumerable<(HelmListSettings Settings, IReadOnlyCollection Output)> HelmList(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(HelmList, degreeOfParallelism, completeOnFailure); ///

This command packages a chart into a versioned chart archive file. If a path is given, this will look at that path for a chart (which must contain a Chart.yaml file) and then package that directory. If no path is given, this will look in the present working directory for a Chart.yaml file, and (if found) build the current directory into a chart. Versioned chart archives are used by Helm package repositories.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <chartPaths> via
  • --app-version via
  • --debug via
  • --dependency-update via
  • --destination via
  • --home via
  • --host via
  • --key via
  • --keyring via
  • --kube-context via
  • --kubeconfig via
  • --save via
  • --sign via
  • --tiller-connection-timeout via
  • --tiller-namespace via
  • --version via
public static IReadOnlyCollection HelmPackage(HelmPackageSettings options = null) => new HelmTasks().Run(options); - /// + /// public static IReadOnlyCollection HelmPackage(Configure configurator) => new HelmTasks().Run(configurator.Invoke(new HelmPackageSettings())); - /// + /// public static IEnumerable<(HelmPackageSettings Settings, IReadOnlyCollection Output)> HelmPackage(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(HelmPackage, degreeOfParallelism, completeOnFailure); ///

This command allows you to install a plugin from a url to a VCS repo or a local path. Example usage: $ helm plugin install https://github.com/technosophos/helm-template.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <options> via
  • <paths> via
  • --debug via
  • --home via
  • --host via
  • --kube-context via
  • --kubeconfig via
  • --tiller-connection-timeout via
  • --tiller-namespace via
  • --version via
public static IReadOnlyCollection HelmPluginInstall(HelmPluginInstallSettings options = null) => new HelmTasks().Run(options); - /// + /// public static IReadOnlyCollection HelmPluginInstall(Configure configurator) => new HelmTasks().Run(configurator.Invoke(new HelmPluginInstallSettings())); - /// + /// public static IEnumerable<(HelmPluginInstallSettings Settings, IReadOnlyCollection Output)> HelmPluginInstall(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(HelmPluginInstall, degreeOfParallelism, completeOnFailure); ///

List installed Helm plugins.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --debug via
  • --home via
  • --host via
  • --kube-context via
  • --kubeconfig via
  • --tiller-connection-timeout via
  • --tiller-namespace via
public static IReadOnlyCollection HelmPluginList(HelmPluginListSettings options = null) => new HelmTasks().Run(options); - /// + /// public static IReadOnlyCollection HelmPluginList(Configure configurator) => new HelmTasks().Run(configurator.Invoke(new HelmPluginListSettings())); - /// + /// public static IEnumerable<(HelmPluginListSettings Settings, IReadOnlyCollection Output)> HelmPluginList(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(HelmPluginList, degreeOfParallelism, completeOnFailure); ///

Remove one or more Helm plugins.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <plugins> via
  • --debug via
  • --home via
  • --host via
  • --kube-context via
  • --kubeconfig via
  • --tiller-connection-timeout via
  • --tiller-namespace via
public static IReadOnlyCollection HelmPluginRemove(HelmPluginRemoveSettings options = null) => new HelmTasks().Run(options); - /// + /// public static IReadOnlyCollection HelmPluginRemove(Configure configurator) => new HelmTasks().Run(configurator.Invoke(new HelmPluginRemoveSettings())); - /// + /// public static IEnumerable<(HelmPluginRemoveSettings Settings, IReadOnlyCollection Output)> HelmPluginRemove(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(HelmPluginRemove, degreeOfParallelism, completeOnFailure); ///

Update one or more Helm plugins.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <plugins> via
  • --debug via
  • --home via
  • --host via
  • --kube-context via
  • --kubeconfig via
  • --tiller-connection-timeout via
  • --tiller-namespace via
public static IReadOnlyCollection HelmPluginUpdate(HelmPluginUpdateSettings options = null) => new HelmTasks().Run(options); - /// + /// public static IReadOnlyCollection HelmPluginUpdate(Configure configurator) => new HelmTasks().Run(configurator.Invoke(new HelmPluginUpdateSettings())); - /// + /// public static IEnumerable<(HelmPluginUpdateSettings Settings, IReadOnlyCollection Output)> HelmPluginUpdate(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(HelmPluginUpdate, degreeOfParallelism, completeOnFailure); ///

Add a chart repository.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <name> via
  • <url> via
  • --ca-file via
  • --cert-file via
  • --debug via
  • --home via
  • --host via
  • --key-file via
  • --kube-context via
  • --kubeconfig via
  • --no-update via
  • --password via
  • --tiller-connection-timeout via
  • --tiller-namespace via
  • --username via
public static IReadOnlyCollection HelmRepoAdd(HelmRepoAddSettings options = null) => new HelmTasks().Run(options); - /// + /// public static IReadOnlyCollection HelmRepoAdd(Configure configurator) => new HelmTasks().Run(configurator.Invoke(new HelmRepoAddSettings())); - /// + /// public static IEnumerable<(HelmRepoAddSettings Settings, IReadOnlyCollection Output)> HelmRepoAdd(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(HelmRepoAdd, degreeOfParallelism, completeOnFailure); ///

Read the current directory and generate an index file based on the charts found. This tool is used for creating an 'index.yaml' file for a chart repository. To set an absolute URL to the charts, use '--url' flag. To merge the generated index with an existing index file, use the '--merge' flag. In this case, the charts found in the current directory will be merged into the existing index, with local charts taking priority over existing charts.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <directory> via
  • --debug via
  • --home via
  • --host via
  • --kube-context via
  • --kubeconfig via
  • --merge via
  • --tiller-connection-timeout via
  • --tiller-namespace via
  • --url via
public static IReadOnlyCollection HelmRepoIndex(HelmRepoIndexSettings options = null) => new HelmTasks().Run(options); - /// + /// public static IReadOnlyCollection HelmRepoIndex(Configure configurator) => new HelmTasks().Run(configurator.Invoke(new HelmRepoIndexSettings())); - /// + /// public static IEnumerable<(HelmRepoIndexSettings Settings, IReadOnlyCollection Output)> HelmRepoIndex(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(HelmRepoIndex, degreeOfParallelism, completeOnFailure); ///

List chart repositories.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --debug via
  • --home via
  • --host via
  • --kube-context via
  • --kubeconfig via
  • --tiller-connection-timeout via
  • --tiller-namespace via
public static IReadOnlyCollection HelmRepoList(HelmRepoListSettings options = null) => new HelmTasks().Run(options); - /// + /// public static IReadOnlyCollection HelmRepoList(Configure configurator) => new HelmTasks().Run(configurator.Invoke(new HelmRepoListSettings())); - /// + /// public static IEnumerable<(HelmRepoListSettings Settings, IReadOnlyCollection Output)> HelmRepoList(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(HelmRepoList, degreeOfParallelism, completeOnFailure); ///

Remove a chart repository.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <name> via
  • --debug via
  • --home via
  • --host via
  • --kube-context via
  • --kubeconfig via
  • --tiller-connection-timeout via
  • --tiller-namespace via
public static IReadOnlyCollection HelmRepoRemove(HelmRepoRemoveSettings options = null) => new HelmTasks().Run(options); - /// + /// public static IReadOnlyCollection HelmRepoRemove(Configure configurator) => new HelmTasks().Run(configurator.Invoke(new HelmRepoRemoveSettings())); - /// + /// public static IEnumerable<(HelmRepoRemoveSettings Settings, IReadOnlyCollection Output)> HelmRepoRemove(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(HelmRepoRemove, degreeOfParallelism, completeOnFailure); ///

Update gets the latest information about charts from the respective chart repositories. Information is cached locally, where it is used by commands like 'helm search'. 'helm update' is the deprecated form of 'helm repo update'. It will be removed in future releases.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --debug via
  • --home via
  • --host via
  • --kube-context via
  • --kubeconfig via
  • --strict via
  • --tiller-connection-timeout via
  • --tiller-namespace via
public static IReadOnlyCollection HelmRepoUpdate(HelmRepoUpdateSettings options = null) => new HelmTasks().Run(options); - /// + /// public static IReadOnlyCollection HelmRepoUpdate(Configure configurator) => new HelmTasks().Run(configurator.Invoke(new HelmRepoUpdateSettings())); - /// + /// public static IEnumerable<(HelmRepoUpdateSettings Settings, IReadOnlyCollection Output)> HelmRepoUpdate(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(HelmRepoUpdate, degreeOfParallelism, completeOnFailure); ///

This command uninstalls Tiller (the Helm server-side component) from your Kubernetes Cluster and optionally deletes local configuration in $HELM_HOME (default ~/.helm/).

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --debug via
  • --force via
  • --home via
  • --host via
  • --kube-context via
  • --kubeconfig via
  • --remove-helm-home via
  • --tiller-connection-timeout via
  • --tiller-namespace via
  • --tls via
  • --tls-ca-cert via
  • --tls-cert via
  • --tls-hostname via
  • --tls-key via
  • --tls-verify via
public static IReadOnlyCollection HelmReset(HelmResetSettings options = null) => new HelmTasks().Run(options); - /// + /// public static IReadOnlyCollection HelmReset(Configure configurator) => new HelmTasks().Run(configurator.Invoke(new HelmResetSettings())); - /// + /// public static IEnumerable<(HelmResetSettings Settings, IReadOnlyCollection Output)> HelmReset(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(HelmReset, degreeOfParallelism, completeOnFailure); ///

This command rolls back a release to a previous revision. The first argument of the rollback command is the name of a release, and the second is a revision (version) number. To see revision numbers, run 'helm history RELEASE'. If you'd like to rollback to the previous release use 'helm rollback [RELEASE] 0'.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <release> via
  • <revision> via
  • --debug via
  • --description via
  • --dry-run via
  • --force via
  • --home via
  • --host via
  • --kube-context via
  • --kubeconfig via
  • --no-hooks via
  • --recreate-pods via
  • --tiller-connection-timeout via
  • --tiller-namespace via
  • --timeout via
  • --tls via
  • --tls-ca-cert via
  • --tls-cert via
  • --tls-hostname via
  • --tls-key via
  • --tls-verify via
  • --wait via
public static IReadOnlyCollection HelmRollback(HelmRollbackSettings options = null) => new HelmTasks().Run(options); - /// + /// public static IReadOnlyCollection HelmRollback(Configure configurator) => new HelmTasks().Run(configurator.Invoke(new HelmRollbackSettings())); - /// + /// public static IEnumerable<(HelmRollbackSettings Settings, IReadOnlyCollection Output)> HelmRollback(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(HelmRollback, degreeOfParallelism, completeOnFailure); ///

Search reads through all of the repositories configured on the system, and looks for matches. Repositories are managed with 'helm repo' commands.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <keyword> via
  • --col-width via
  • --debug via
  • --home via
  • --host via
  • --kube-context via
  • --kubeconfig via
  • --regexp via
  • --tiller-connection-timeout via
  • --tiller-namespace via
  • --version via
  • --versions via
public static IReadOnlyCollection HelmSearch(HelmSearchSettings options = null) => new HelmTasks().Run(options); - /// + /// public static IReadOnlyCollection HelmSearch(Configure configurator) => new HelmTasks().Run(configurator.Invoke(new HelmSearchSettings())); - /// + /// public static IEnumerable<(HelmSearchSettings Settings, IReadOnlyCollection Output)> HelmSearch(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(HelmSearch, degreeOfParallelism, completeOnFailure); ///

This command starts a local chart repository server that serves charts from a local directory. The new server will provide HTTP access to a repository. By default, it will scan all of the charts in '$HELM_HOME/repository/local' and serve those over the local IPv4 TCP port (default '127.0.0.1:8879'). This command is intended to be used for educational and testing purposes only. It is best to rely on a dedicated web server or a cloud-hosted solution like Google Cloud Storage for production use. See https://github.com/helm/helm/blob/master/docs/chart_repository.md#hosting-chart-repositories for more information on hosting chart repositories in a production setting.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --address via
  • --debug via
  • --home via
  • --host via
  • --kube-context via
  • --kubeconfig via
  • --repo-path via
  • --tiller-connection-timeout via
  • --tiller-namespace via
  • --url via
public static IReadOnlyCollection HelmServe(HelmServeSettings options = null) => new HelmTasks().Run(options); - /// + /// public static IReadOnlyCollection HelmServe(Configure configurator) => new HelmTasks().Run(configurator.Invoke(new HelmServeSettings())); - /// + /// public static IEnumerable<(HelmServeSettings Settings, IReadOnlyCollection Output)> HelmServe(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(HelmServe, degreeOfParallelism, completeOnFailure); ///

This command shows the status of a named release. The status consists of: - last deployment time - k8s namespace in which the release lives - state of the release (can be: UNKNOWN, DEPLOYED, DELETED, SUPERSEDED, FAILED or DELETING) - list of resources that this release consists of, sorted by kind - details on last test suite run, if applicable - additional notes provided by the chart.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <releaseName> via
  • --debug via
  • --home via
  • --host via
  • --kube-context via
  • --kubeconfig via
  • --output via
  • --revision via
  • --tiller-connection-timeout via
  • --tiller-namespace via
  • --tls via
  • --tls-ca-cert via
  • --tls-cert via
  • --tls-hostname via
  • --tls-key via
  • --tls-verify via
public static IReadOnlyCollection HelmStatus(HelmStatusSettings options = null) => new HelmTasks().Run(options); - /// + /// public static IReadOnlyCollection HelmStatus(Configure configurator) => new HelmTasks().Run(configurator.Invoke(new HelmStatusSettings())); - /// + /// public static IEnumerable<(HelmStatusSettings Settings, IReadOnlyCollection Output)> HelmStatus(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(HelmStatus, degreeOfParallelism, completeOnFailure); ///

Render chart templates locally and display the output. This does not require Tiller. However, any values that would normally be looked up or retrieved in-cluster will be faked locally. Additionally, none of the server-side testing of chart validity (e.g. whether an API is supported) is done. To render just one template in a chart, use '-x': $ helm template mychart -x templates/deployment.yaml.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <chart> via
  • --debug via
  • --execute via
  • --home via
  • --host via
  • --is-upgrade via
  • --kube-context via
  • --kube-version via
  • --kubeconfig via
  • --name via
  • --name-template via
  • --namespace via
  • --notes via
  • --output-dir via
  • --set via
  • --set-file via
  • --set-string via
  • --tiller-connection-timeout via
  • --tiller-namespace via
  • --values via
public static IReadOnlyCollection HelmTemplate(HelmTemplateSettings options = null) => new HelmTasks().Run(options); - /// + /// public static IReadOnlyCollection HelmTemplate(Configure configurator) => new HelmTasks().Run(configurator.Invoke(new HelmTemplateSettings())); - /// + /// public static IEnumerable<(HelmTemplateSettings Settings, IReadOnlyCollection Output)> HelmTemplate(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(HelmTemplate, degreeOfParallelism, completeOnFailure); ///

The test command runs the tests for a release. The argument this command takes is the name of a deployed release. The tests to be run are defined in the chart that was installed.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <release> via
  • --cleanup via
  • --debug via
  • --home via
  • --host via
  • --kube-context via
  • --kubeconfig via
  • --parallel via
  • --tiller-connection-timeout via
  • --tiller-namespace via
  • --timeout via
  • --tls via
  • --tls-ca-cert via
  • --tls-cert via
  • --tls-hostname via
  • --tls-key via
  • --tls-verify via
public static IReadOnlyCollection HelmTest(HelmTestSettings options = null) => new HelmTasks().Run(options); - /// + /// public static IReadOnlyCollection HelmTest(Configure configurator) => new HelmTasks().Run(configurator.Invoke(new HelmTestSettings())); - /// + /// public static IEnumerable<(HelmTestSettings Settings, IReadOnlyCollection Output)> HelmTest(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(HelmTest, degreeOfParallelism, completeOnFailure); ///

This command upgrades a release to a specified version of a chart and/or updates chart values. Required arguments are release and chart. The chart argument can be one of: - a chart reference('stable/mariadb'); use '--version' and '--devel' flags for versions other than latest, - a path to a chart directory, - a packaged chart, - a fully qualified URL. To customize the chart values, use any of - '--values'/'-f' to pass in a yaml file holding settings, - '--set' to provide one or more key=val pairs directly, - '--set-string' to provide key=val forcing val to be stored as a string, - '--set-file' to provide key=path to read a single large value from a file at path. To edit or append to the existing customized values, add the '--reuse-values' flag, otherwise any existing customized values are ignored. If no chart value arguments are provided on the command line, any existing customized values are carried forward. If you want to revert to just the values provided in the chart, use the '--reset-values' flag. You can specify any of the chart value flags multiple times. The priority will be given to the last (right-most) value specified. For example, if both myvalues.yaml and override.yaml contained a key called 'Test', the value set in override.yaml would take precedence: $ helm upgrade -f myvalues.yaml -f override.yaml redis ./redis Note that the key name provided to the '--set', '--set-string' and '--set-file' flags can reference structure elements. Examples: - mybool=TRUE - livenessProbe.timeoutSeconds=10 - metrics.annotations[0]=hey,metrics.annotations[1]=ho which sets the top level key mybool to true, the nested timeoutSeconds to 10, and two array values, respectively. Note that the value side of the key=val provided to '--set' and '--set-string' flags will pass through shell evaluation followed by yaml type parsing to produce the final value. This may alter inputs with special characters in unexpected ways, for example $ helm upgrade --set pwd=3jk$o2,z=f\30.e redis ./redis results in "pwd: 3jk" and "z: f30.e". Use single quotes to avoid shell evaluation and argument delimiters, and use backslash to escape yaml special characters: $ helm upgrade --set pwd='3jk$o2z=f\\30.e' redis ./redis which results in the expected "pwd: 3jk$o2z=f\30.e". If a single quote occurs in your value then follow your shell convention for escaping it; for example in bash: $ helm upgrade --set pwd='3jk$o2z=f\\30with'\''quote' which results in "pwd: 3jk$o2z=f\30with'quote".

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <chart> via
  • <release> via
  • --atomic via
  • --ca-file via
  • --cert-file via
  • --create-namespace via
  • --debug via
  • --description via
  • --devel via
  • --dry-run via
  • --force via
  • --home via
  • --host via
  • --install via
  • --key-file via
  • --keyring via
  • --kube-context via
  • --kubeconfig via
  • --namespace via
  • --no-hooks via
  • --password via
  • --recreate-pods via
  • --render-subchart-notes via
  • --repo via
  • --reset-values via
  • --reuse-values via
  • --set via
  • --set-file via
  • --set-string via
  • --tiller-connection-timeout via
  • --tiller-namespace via
  • --timeout via
  • --tls via
  • --tls-ca-cert via
  • --tls-cert via
  • --tls-hostname via
  • --tls-key via
  • --tls-verify via
  • --username via
  • --values via
  • --verify via
  • --version via
  • --wait via
public static IReadOnlyCollection HelmUpgrade(HelmUpgradeSettings options = null) => new HelmTasks().Run(options); - /// + /// public static IReadOnlyCollection HelmUpgrade(Configure configurator) => new HelmTasks().Run(configurator.Invoke(new HelmUpgradeSettings())); - /// + /// public static IEnumerable<(HelmUpgradeSettings Settings, IReadOnlyCollection Output)> HelmUpgrade(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(HelmUpgrade, degreeOfParallelism, completeOnFailure); ///

Verify that the given chart has a valid provenance file. Provenance files provide crytographic verification that a chart has not been tampered with, and was packaged by a trusted provider. This command can be used to verify a local chart. Several other commands provide '--verify' flags that run the same validation. To generate a signed package, use the 'helm package --sign' command.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <path> via
  • --debug via
  • --home via
  • --host via
  • --keyring via
  • --kube-context via
  • --kubeconfig via
  • --tiller-connection-timeout via
  • --tiller-namespace via
public static IReadOnlyCollection HelmVerify(HelmVerifySettings options = null) => new HelmTasks().Run(options); - /// + /// public static IReadOnlyCollection HelmVerify(Configure configurator) => new HelmTasks().Run(configurator.Invoke(new HelmVerifySettings())); - /// + /// public static IEnumerable<(HelmVerifySettings Settings, IReadOnlyCollection Output)> HelmVerify(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(HelmVerify, degreeOfParallelism, completeOnFailure); ///

Show the client and server versions for Helm and tiller. This will print a representation of the client and server versions of Helm and Tiller. The output will look something like this: Client: &version.Version{SemVer:"v2.0.0", GitCommit:"ff52399e51bb880526e9cd0ed8386f6433b74da1", GitTreeState:"clean"} Server: &version.Version{SemVer:"v2.0.0", GitCommit:"b0c113dfb9f612a9add796549da66c0d294508a3", GitTreeState:"clean"} - SemVer is the semantic version of the release. - GitCommit is the SHA for the commit that this version was built from. - GitTreeState is "clean" if there are no local code changes when this binary was built, and "dirty" if the binary was built from locally modified code. To print just the client version, use '--client'. To print just the server version, use '--server'.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --client via
  • --debug via
  • --home via
  • --host via
  • --kube-context via
  • --kubeconfig via
  • --server via
  • --short via
  • --template via
  • --tiller-connection-timeout via
  • --tiller-namespace via
  • --tls via
  • --tls-ca-cert via
  • --tls-cert via
  • --tls-hostname via
  • --tls-key via
  • --tls-verify via
public static IReadOnlyCollection HelmVersion(HelmVersionSettings options = null) => new HelmTasks().Run(options); - /// + /// public static IReadOnlyCollection HelmVersion(Configure configurator) => new HelmTasks().Run(configurator.Invoke(new HelmVersionSettings())); - /// + /// public static IEnumerable<(HelmVersionSettings Settings, IReadOnlyCollection Output)> HelmVersion(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(HelmVersion, degreeOfParallelism, completeOnFailure); } #region HelmCompletionSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(HelmTasks), Command = nameof(HelmTasks.HelmCompletion), Arguments = "completion")] public partial class HelmCompletionSettings : HelmOptionsBase @@ -328,7 +328,7 @@ public partial class HelmCompletionSettings : HelmOptionsBase } #endregion #region HelmCreateSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(HelmTasks), Command = nameof(HelmTasks.HelmCreate), Arguments = "create")] public partial class HelmCreateSettings : HelmOptionsBase @@ -340,7 +340,7 @@ public partial class HelmCreateSettings : HelmOptionsBase } #endregion #region HelmDeleteSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(HelmTasks), Command = nameof(HelmTasks.HelmDelete), Arguments = "delete")] public partial class HelmDeleteSettings : HelmOptionsBase @@ -372,7 +372,7 @@ public partial class HelmDeleteSettings : HelmOptionsBase } #endregion #region HelmDependencyBuildSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(HelmTasks), Command = nameof(HelmTasks.HelmDependencyBuild), Arguments = "dependency build")] public partial class HelmDependencyBuildSettings : HelmOptionsBase @@ -386,7 +386,7 @@ public partial class HelmDependencyBuildSettings : HelmOptionsBase } #endregion #region HelmDependencyListSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(HelmTasks), Command = nameof(HelmTasks.HelmDependencyList), Arguments = "dependency list")] public partial class HelmDependencyListSettings : HelmOptionsBase @@ -396,7 +396,7 @@ public partial class HelmDependencyListSettings : HelmOptionsBase } #endregion #region HelmDependencyUpdateSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(HelmTasks), Command = nameof(HelmTasks.HelmDependencyUpdate), Arguments = "dependency update")] public partial class HelmDependencyUpdateSettings : HelmOptionsBase @@ -412,7 +412,7 @@ public partial class HelmDependencyUpdateSettings : HelmOptionsBase } #endregion #region HelmFetchSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(HelmTasks), Command = nameof(HelmTasks.HelmFetch), Arguments = "fetch")] public partial class HelmFetchSettings : HelmOptionsBase @@ -450,7 +450,7 @@ public partial class HelmFetchSettings : HelmOptionsBase } #endregion #region HelmGetSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(HelmTasks), Command = nameof(HelmTasks.HelmGet), Arguments = "get")] public partial class HelmGetSettings : HelmOptionsBase @@ -474,7 +474,7 @@ public partial class HelmGetSettings : HelmOptionsBase } #endregion #region HelmGetHooksSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(HelmTasks), Command = nameof(HelmTasks.HelmGetHooks), Arguments = "get hooks")] public partial class HelmGetHooksSettings : HelmOptionsBase @@ -498,7 +498,7 @@ public partial class HelmGetHooksSettings : HelmOptionsBase } #endregion #region HelmGetManifestSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(HelmTasks), Command = nameof(HelmTasks.HelmGetManifest), Arguments = "get manifest")] public partial class HelmGetManifestSettings : HelmOptionsBase @@ -522,7 +522,7 @@ public partial class HelmGetManifestSettings : HelmOptionsBase } #endregion #region HelmGetNotesSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(HelmTasks), Command = nameof(HelmTasks.HelmGetNotes), Arguments = "get notes")] public partial class HelmGetNotesSettings : HelmOptionsBase @@ -546,7 +546,7 @@ public partial class HelmGetNotesSettings : HelmOptionsBase } #endregion #region HelmGetValuesSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(HelmTasks), Command = nameof(HelmTasks.HelmGetValues), Arguments = "get values")] public partial class HelmGetValuesSettings : HelmOptionsBase @@ -574,7 +574,7 @@ public partial class HelmGetValuesSettings : HelmOptionsBase } #endregion #region HelmHistorySettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(HelmTasks), Command = nameof(HelmTasks.HelmHistory), Arguments = "history")] public partial class HelmHistorySettings : HelmOptionsBase @@ -602,7 +602,7 @@ public partial class HelmHistorySettings : HelmOptionsBase } #endregion #region HelmHomeSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(HelmTasks), Command = nameof(HelmTasks.HelmHome), Arguments = "home")] public partial class HelmHomeSettings : HelmOptionsBase @@ -610,7 +610,7 @@ public partial class HelmHomeSettings : HelmOptionsBase } #endregion #region HelmInitSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(HelmTasks), Command = nameof(HelmTasks.HelmInit), Arguments = "init")] public partial class HelmInitSettings : HelmOptionsBase @@ -666,7 +666,7 @@ public partial class HelmInitSettings : HelmOptionsBase } #endregion #region HelmInspectSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(HelmTasks), Command = nameof(HelmTasks.HelmInspect), Arguments = "inspect")] public partial class HelmInspectSettings : HelmOptionsBase @@ -696,7 +696,7 @@ public partial class HelmInspectSettings : HelmOptionsBase } #endregion #region HelmInspectChartSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(HelmTasks), Command = nameof(HelmTasks.HelmInspectChart), Arguments = "inspect chart")] public partial class HelmInspectChartSettings : HelmOptionsBase @@ -726,7 +726,7 @@ public partial class HelmInspectChartSettings : HelmOptionsBase } #endregion #region HelmInspectReadmeSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(HelmTasks), Command = nameof(HelmTasks.HelmInspectReadme), Arguments = "inspect readme")] public partial class HelmInspectReadmeSettings : HelmOptionsBase @@ -752,7 +752,7 @@ public partial class HelmInspectReadmeSettings : HelmOptionsBase } #endregion #region HelmInspectValuesSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(HelmTasks), Command = nameof(HelmTasks.HelmInspectValues), Arguments = "inspect values")] public partial class HelmInspectValuesSettings : HelmOptionsBase @@ -782,7 +782,7 @@ public partial class HelmInspectValuesSettings : HelmOptionsBase } #endregion #region HelmInstallSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(HelmTasks), Command = nameof(HelmTasks.HelmInstall), Arguments = "install")] public partial class HelmInstallSettings : HelmOptionsBase @@ -858,7 +858,7 @@ public partial class HelmInstallSettings : HelmOptionsBase } #endregion #region HelmLintSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(HelmTasks), Command = nameof(HelmTasks.HelmLint), Arguments = "lint")] public partial class HelmLintSettings : HelmOptionsBase @@ -880,7 +880,7 @@ public partial class HelmLintSettings : HelmOptionsBase } #endregion #region HelmListSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(HelmTasks), Command = nameof(HelmTasks.HelmList), Arguments = "list")] public partial class HelmListSettings : HelmOptionsBase @@ -932,7 +932,7 @@ public partial class HelmListSettings : HelmOptionsBase } #endregion #region HelmPackageSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(HelmTasks), Command = nameof(HelmTasks.HelmPackage), Arguments = "package")] public partial class HelmPackageSettings : HelmOptionsBase @@ -958,7 +958,7 @@ public partial class HelmPackageSettings : HelmOptionsBase } #endregion #region HelmPluginInstallSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(HelmTasks), Command = nameof(HelmTasks.HelmPluginInstall), Arguments = "plugin install")] public partial class HelmPluginInstallSettings : HelmOptionsBase @@ -972,7 +972,7 @@ public partial class HelmPluginInstallSettings : HelmOptionsBase } #endregion #region HelmPluginListSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(HelmTasks), Command = nameof(HelmTasks.HelmPluginList), Arguments = "plugin list")] public partial class HelmPluginListSettings : HelmOptionsBase @@ -980,7 +980,7 @@ public partial class HelmPluginListSettings : HelmOptionsBase } #endregion #region HelmPluginRemoveSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(HelmTasks), Command = nameof(HelmTasks.HelmPluginRemove), Arguments = "plugin remove")] public partial class HelmPluginRemoveSettings : HelmOptionsBase @@ -990,7 +990,7 @@ public partial class HelmPluginRemoveSettings : HelmOptionsBase } #endregion #region HelmPluginUpdateSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(HelmTasks), Command = nameof(HelmTasks.HelmPluginUpdate), Arguments = "plugin update")] public partial class HelmPluginUpdateSettings : HelmOptionsBase @@ -1000,7 +1000,7 @@ public partial class HelmPluginUpdateSettings : HelmOptionsBase } #endregion #region HelmRepoAddSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(HelmTasks), Command = nameof(HelmTasks.HelmRepoAdd), Arguments = "repo add")] public partial class HelmRepoAddSettings : HelmOptionsBase @@ -1024,7 +1024,7 @@ public partial class HelmRepoAddSettings : HelmOptionsBase } #endregion #region HelmRepoIndexSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(HelmTasks), Command = nameof(HelmTasks.HelmRepoIndex), Arguments = "repo index")] public partial class HelmRepoIndexSettings : HelmOptionsBase @@ -1038,7 +1038,7 @@ public partial class HelmRepoIndexSettings : HelmOptionsBase } #endregion #region HelmRepoListSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(HelmTasks), Command = nameof(HelmTasks.HelmRepoList), Arguments = "repo list")] public partial class HelmRepoListSettings : HelmOptionsBase @@ -1046,7 +1046,7 @@ public partial class HelmRepoListSettings : HelmOptionsBase } #endregion #region HelmRepoRemoveSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(HelmTasks), Command = nameof(HelmTasks.HelmRepoRemove), Arguments = "repo remove")] public partial class HelmRepoRemoveSettings : HelmOptionsBase @@ -1056,7 +1056,7 @@ public partial class HelmRepoRemoveSettings : HelmOptionsBase } #endregion #region HelmRepoUpdateSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(HelmTasks), Command = nameof(HelmTasks.HelmRepoUpdate), Arguments = "repo update")] public partial class HelmRepoUpdateSettings : HelmOptionsBase @@ -1066,7 +1066,7 @@ public partial class HelmRepoUpdateSettings : HelmOptionsBase } #endregion #region HelmResetSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(HelmTasks), Command = nameof(HelmTasks.HelmReset), Arguments = "reset")] public partial class HelmResetSettings : HelmOptionsBase @@ -1090,7 +1090,7 @@ public partial class HelmResetSettings : HelmOptionsBase } #endregion #region HelmRollbackSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(HelmTasks), Command = nameof(HelmTasks.HelmRollback), Arguments = "rollback")] public partial class HelmRollbackSettings : HelmOptionsBase @@ -1128,7 +1128,7 @@ public partial class HelmRollbackSettings : HelmOptionsBase } #endregion #region HelmSearchSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(HelmTasks), Command = nameof(HelmTasks.HelmSearch), Arguments = "search")] public partial class HelmSearchSettings : HelmOptionsBase @@ -1146,7 +1146,7 @@ public partial class HelmSearchSettings : HelmOptionsBase } #endregion #region HelmServeSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(HelmTasks), Command = nameof(HelmTasks.HelmServe), Arguments = "serve")] public partial class HelmServeSettings : HelmOptionsBase @@ -1160,7 +1160,7 @@ public partial class HelmServeSettings : HelmOptionsBase } #endregion #region HelmStatusSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(HelmTasks), Command = nameof(HelmTasks.HelmStatus), Arguments = "status")] public partial class HelmStatusSettings : HelmOptionsBase @@ -1186,7 +1186,7 @@ public partial class HelmStatusSettings : HelmOptionsBase } #endregion #region HelmTemplateSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(HelmTasks), Command = nameof(HelmTasks.HelmTemplate), Arguments = "template")] public partial class HelmTemplateSettings : HelmOptionsBase @@ -1220,7 +1220,7 @@ public partial class HelmTemplateSettings : HelmOptionsBase } #endregion #region HelmTestSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(HelmTasks), Command = nameof(HelmTasks.HelmTest), Arguments = "test")] public partial class HelmTestSettings : HelmOptionsBase @@ -1248,7 +1248,7 @@ public partial class HelmTestSettings : HelmOptionsBase } #endregion #region HelmUpgradeSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(HelmTasks), Command = nameof(HelmTasks.HelmUpgrade), Arguments = "upgrade")] public partial class HelmUpgradeSettings : HelmOptionsBase @@ -1328,7 +1328,7 @@ public partial class HelmUpgradeSettings : HelmOptionsBase } #endregion #region HelmVerifySettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(HelmTasks), Command = nameof(HelmTasks.HelmVerify), Arguments = "verify")] public partial class HelmVerifySettings : HelmOptionsBase @@ -1340,7 +1340,7 @@ public partial class HelmVerifySettings : HelmOptionsBase } #endregion #region HelmVersionSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(HelmTasks), Command = nameof(HelmTasks.HelmVersion), Arguments = "version")] public partial class HelmVersionSettings : HelmOptionsBase @@ -1389,7 +1389,7 @@ public partial class HelmOptionsBase : ToolOptions } #endregion #region HelmCompletionSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class HelmCompletionSettingsExtensions { @@ -1404,7 +1404,7 @@ public static partial class HelmCompletionSettingsExtensions } #endregion #region HelmCreateSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class HelmCreateSettingsExtensions { @@ -1427,7 +1427,7 @@ public static partial class HelmCreateSettingsExtensions } #endregion #region HelmDeleteSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class HelmDeleteSettingsExtensions { @@ -1590,7 +1590,7 @@ public static partial class HelmDeleteSettingsExtensions } #endregion #region HelmDependencyBuildSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class HelmDependencyBuildSettingsExtensions { @@ -1630,7 +1630,7 @@ public static partial class HelmDependencyBuildSettingsExtensions } #endregion #region HelmDependencyListSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class HelmDependencyListSettingsExtensions { @@ -1645,7 +1645,7 @@ public static partial class HelmDependencyListSettingsExtensions } #endregion #region HelmDependencyUpdateSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class HelmDependencyUpdateSettingsExtensions { @@ -1702,7 +1702,7 @@ public static partial class HelmDependencyUpdateSettingsExtensions } #endregion #region HelmFetchSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class HelmFetchSettingsExtensions { @@ -1880,7 +1880,7 @@ public static partial class HelmFetchSettingsExtensions } #endregion #region HelmGetSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class HelmGetSettingsExtensions { @@ -1969,7 +1969,7 @@ public static partial class HelmGetSettingsExtensions } #endregion #region HelmGetHooksSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class HelmGetHooksSettingsExtensions { @@ -2058,7 +2058,7 @@ public static partial class HelmGetHooksSettingsExtensions } #endregion #region HelmGetManifestSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class HelmGetManifestSettingsExtensions { @@ -2147,7 +2147,7 @@ public static partial class HelmGetManifestSettingsExtensions } #endregion #region HelmGetNotesSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class HelmGetNotesSettingsExtensions { @@ -2236,7 +2236,7 @@ public static partial class HelmGetNotesSettingsExtensions } #endregion #region HelmGetValuesSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class HelmGetValuesSettingsExtensions { @@ -2350,7 +2350,7 @@ public static partial class HelmGetValuesSettingsExtensions } #endregion #region HelmHistorySettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class HelmHistorySettingsExtensions { @@ -2455,14 +2455,14 @@ public static partial class HelmHistorySettingsExtensions } #endregion #region HelmHomeSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class HelmHomeSettingsExtensions { } #endregion #region HelmInitSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class HelmInitSettingsExtensions { @@ -2769,7 +2769,7 @@ public static partial class HelmInitSettingsExtensions } #endregion #region HelmInspectSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class HelmInspectSettingsExtensions { @@ -2882,7 +2882,7 @@ public static partial class HelmInspectSettingsExtensions } #endregion #region HelmInspectChartSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class HelmInspectChartSettingsExtensions { @@ -2995,7 +2995,7 @@ public static partial class HelmInspectChartSettingsExtensions } #endregion #region HelmInspectReadmeSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class HelmInspectReadmeSettingsExtensions { @@ -3092,7 +3092,7 @@ public static partial class HelmInspectReadmeSettingsExtensions } #endregion #region HelmInspectValuesSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class HelmInspectValuesSettingsExtensions { @@ -3205,7 +3205,7 @@ public static partial class HelmInspectValuesSettingsExtensions } #endregion #region HelmInstallSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class HelmInstallSettingsExtensions { @@ -3634,7 +3634,7 @@ public static partial class HelmInstallSettingsExtensions } #endregion #region HelmLintSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class HelmLintSettingsExtensions { @@ -3748,7 +3748,7 @@ public static partial class HelmLintSettingsExtensions } #endregion #region HelmListSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class HelmListSettingsExtensions { @@ -4039,7 +4039,7 @@ public static partial class HelmListSettingsExtensions } #endregion #region HelmPackageSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class HelmPackageSettingsExtensions { @@ -4160,7 +4160,7 @@ public static partial class HelmPackageSettingsExtensions } #endregion #region HelmPluginInstallSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class HelmPluginInstallSettingsExtensions { @@ -4206,14 +4206,14 @@ public static partial class HelmPluginInstallSettingsExtensions } #endregion #region HelmPluginListSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class HelmPluginListSettingsExtensions { } #endregion #region HelmPluginRemoveSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class HelmPluginRemoveSettingsExtensions { @@ -4243,7 +4243,7 @@ public static partial class HelmPluginRemoveSettingsExtensions } #endregion #region HelmPluginUpdateSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class HelmPluginUpdateSettingsExtensions { @@ -4273,7 +4273,7 @@ public static partial class HelmPluginUpdateSettingsExtensions } #endregion #region HelmRepoAddSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class HelmRepoAddSettingsExtensions { @@ -4353,7 +4353,7 @@ public static partial class HelmRepoAddSettingsExtensions } #endregion #region HelmRepoIndexSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class HelmRepoIndexSettingsExtensions { @@ -4384,14 +4384,14 @@ public static partial class HelmRepoIndexSettingsExtensions } #endregion #region HelmRepoListSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class HelmRepoListSettingsExtensions { } #endregion #region HelmRepoRemoveSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class HelmRepoRemoveSettingsExtensions { @@ -4406,7 +4406,7 @@ public static partial class HelmRepoRemoveSettingsExtensions } #endregion #region HelmRepoUpdateSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class HelmRepoUpdateSettingsExtensions { @@ -4430,7 +4430,7 @@ public static partial class HelmRepoUpdateSettingsExtensions } #endregion #region HelmResetSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class HelmResetSettingsExtensions { @@ -4537,7 +4537,7 @@ public static partial class HelmResetSettingsExtensions } #endregion #region HelmRollbackSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class HelmRollbackSettingsExtensions { @@ -4727,7 +4727,7 @@ public static partial class HelmRollbackSettingsExtensions } #endregion #region HelmSearchSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class HelmSearchSettingsExtensions { @@ -4792,7 +4792,7 @@ public static partial class HelmSearchSettingsExtensions } #endregion #region HelmServeSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class HelmServeSettingsExtensions { @@ -4823,7 +4823,7 @@ public static partial class HelmServeSettingsExtensions } #endregion #region HelmStatusSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class HelmStatusSettingsExtensions { @@ -4920,7 +4920,7 @@ public static partial class HelmStatusSettingsExtensions } #endregion #region HelmTemplateSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class HelmTemplateSettingsExtensions { @@ -5100,7 +5100,7 @@ public static partial class HelmTemplateSettingsExtensions } #endregion #region HelmTestSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class HelmTestSettingsExtensions { @@ -5223,7 +5223,7 @@ public static partial class HelmTestSettingsExtensions } #endregion #region HelmUpgradeSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class HelmUpgradeSettingsExtensions { @@ -5695,7 +5695,7 @@ public static partial class HelmUpgradeSettingsExtensions } #endregion #region HelmVerifySettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class HelmVerifySettingsExtensions { @@ -5718,7 +5718,7 @@ public static partial class HelmVerifySettingsExtensions } #endregion #region HelmVersionSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class HelmVersionSettingsExtensions { diff --git a/src/Fallout.Common/Tools/ILRepack/ILRepack.Generated.cs b/src/Fallout.Common/Tools/ILRepack/ILRepack.Generated.cs index ea8df412b..9c5c9c2f9 100644 --- a/src/Fallout.Common/Tools/ILRepack/ILRepack.Generated.cs +++ b/src/Fallout.Common/Tools/ILRepack/ILRepack.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/ILRepack/ILRepack.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.ILRepack; +namespace Fallout.Application.Tools.ILRepack; ///

ILRepack is meant at replacing ILMerge / Mono.Merge.The former being closed-source (now open-sourced), impossible to customize, slow, resource consuming and many more. The later being deprecated, unsupported, and based on an old version of Mono.Cecil.Here we're using latest (slightly modified) Cecil sources (0.9), you can find the fork here. Mono.Posix is also required (build only, it gets merged afterwards) for executable bit set on target file.

For more details, visit the official website.

[ExcludeFromCodeCoverage] @@ -28,13 +28,13 @@ public partial class ILRepackTasks : ToolTasks, IRequireNuGetPackage ///

ILRepack is meant at replacing ILMerge / Mono.Merge.The former being closed-source (now open-sourced), impossible to customize, slow, resource consuming and many more. The later being deprecated, unsupported, and based on an old version of Mono.Cecil.Here we're using latest (slightly modified) Cecil sources (0.9), you can find the fork here. Mono.Posix is also required (build only, it gets merged afterwards) for executable bit set on target file.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <assemblies> via
  • --allowdup via
  • --allowduplicateresources via
  • --allowMultiple via
  • --attr via
  • --copyattrs via
  • --delaysign via
  • --internalize via
  • --internalize via
  • --keycontainer via
  • --keyfile via
  • --lib via
  • --log via
  • --ndebug via
  • --out via
  • --parallel via
  • --pause via
  • --renameInternalized via
  • --repackdrop:AttributeClass via
  • --target via
  • --targetplatform via
  • --union via
  • --ver via
  • --verbose via
  • --wildcards via
  • --xmldocs via
  • --zeropekind via
public static IReadOnlyCollection ILRepack(ILRepackSettings options = null) => new ILRepackTasks().Run(options); - /// + /// public static IReadOnlyCollection ILRepack(Configure configurator) => new ILRepackTasks().Run(configurator.Invoke(new ILRepackSettings())); - /// + /// public static IEnumerable<(ILRepackSettings Settings, IReadOnlyCollection Output)> ILRepack(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(ILRepack, degreeOfParallelism, completeOnFailure); } #region ILRepackSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(ILRepackTasks), Command = nameof(ILRepackTasks.ILRepack))] public partial class ILRepackSettings : ToolOptions @@ -96,7 +96,7 @@ public partial class ILRepackSettings : ToolOptions } #endregion #region ILRepackSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class ILRepackSettingsExtensions { diff --git a/src/Fallout.Common/Tools/InnoSetup/InnoSetup.Generated.cs b/src/Fallout.Common/Tools/InnoSetup/InnoSetup.Generated.cs index 4a20bdb12..ffde34483 100644 --- a/src/Fallout.Common/Tools/InnoSetup/InnoSetup.Generated.cs +++ b/src/Fallout.Common/Tools/InnoSetup/InnoSetup.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/InnoSetup/InnoSetup.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.InnoSetup; +namespace Fallout.Application.Tools.InnoSetup; ///

Inno Setup is a free installer for Windows programs by Jordan Russell and Martijn Laan. First introduced in 1997, Inno Setup today rivals and even surpasses many commercial installers in feature set and stability.

For more details, visit the official website.

[ExcludeFromCodeCoverage] @@ -27,13 +27,13 @@ public partial class InnoSetupTasks : ToolTasks, IRequirePathTool ///

Inno Setup is a free installer for Windows programs by Jordan Russell and Martijn Laan. First introduced in 1997, Inno Setup today rivals and even surpasses many commercial installers in feature set and stability.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <scriptFile> via
  • /D via
  • /D via
  • /F via
  • /O via
  • /O via
  • /Q via
  • /Qp via
  • /S via
  • /V via
public static IReadOnlyCollection InnoSetup(InnoSetupSettings options = null) => new InnoSetupTasks().Run(options); - /// + /// public static IReadOnlyCollection InnoSetup(Configure configurator) => new InnoSetupTasks().Run(configurator.Invoke(new InnoSetupSettings())); - /// + /// public static IEnumerable<(InnoSetupSettings Settings, IReadOnlyCollection Output)> InnoSetup(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(InnoSetup, degreeOfParallelism, completeOnFailure); } #region InnoSetupSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(InnoSetupTasks), Command = nameof(InnoSetupTasks.InnoSetup))] public partial class InnoSetupSettings : ToolOptions @@ -61,7 +61,7 @@ public partial class InnoSetupSettings : ToolOptions } #endregion #region InnoSetupSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class InnoSetupSettingsExtensions { diff --git a/src/Fallout.Common/Tools/InnoSetup/InnoSetupSettings.cs b/src/Fallout.Common/Tools/InnoSetup/InnoSetupSettings.cs index 9e55bf1be..b18e67825 100644 --- a/src/Fallout.Common/Tools/InnoSetup/InnoSetupSettings.cs +++ b/src/Fallout.Common/Tools/InnoSetup/InnoSetupSettings.cs @@ -1,7 +1,7 @@ -using System; +using System; using System.Linq; -namespace Fallout.Common.Tools.InnoSetup; +namespace Fallout.Application.Tools.InnoSetup; public partial class InnoSetupSettings { diff --git a/src/Fallout.Common/Tools/Kubernetes/Kubernetes.Generated.cs b/src/Fallout.Common/Tools/Kubernetes/Kubernetes.Generated.cs index 40a7608ab..52f20b3bd 100644 --- a/src/Fallout.Common/Tools/Kubernetes/Kubernetes.Generated.cs +++ b/src/Fallout.Common/Tools/Kubernetes/Kubernetes.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/Kubernetes/Kubernetes.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.Kubernetes; +namespace Fallout.Application.Tools.Kubernetes; ///

For more details, visit the official website.

[ExcludeFromCodeCoverage] @@ -27,321 +27,321 @@ public partial class KubernetesTasks : ToolTasks, IRequirePathTool ///

Print the supported API resources on the server.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --alsologtostderr via
  • --api-group via
  • --as via
  • --as-group via
  • --cache-dir via
  • --cached via
  • --certificate-authority via
  • --client-certificate via
  • --client-key via
  • --cluster via
  • --context via
  • --insecure-skip-tls-verify via
  • --kubeconfig via
  • --log-backtrace-at via
  • --log-dir via
  • --logtostderr via
  • --match-server-version via
  • --namespace via
  • --namespaced via
  • --no-headers via
  • --output via
  • --request-timeout via
  • --server via
  • --stderrthreshold via
  • --token via
  • --user via
  • --v via
  • --verbs via
  • --vmodule via
public static IReadOnlyCollection KubernetesApiResources(KubernetesApiResourcesSettings options = null) => new KubernetesTasks().Run(options); - /// + /// public static IReadOnlyCollection KubernetesApiResources(Configure configurator) => new KubernetesTasks().Run(configurator.Invoke(new KubernetesApiResourcesSettings())); - /// + /// public static IEnumerable<(KubernetesApiResourcesSettings Settings, IReadOnlyCollection Output)> KubernetesApiResources(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(KubernetesApiResources, degreeOfParallelism, completeOnFailure); ///

Drain node in preparation for maintenance. The given node will be marked unschedulable to prevent new pods from arriving. 'drain' evicts the pods if the APIServer supports eviction (http://kubernetes.io/docs/admin/disruptions/). Otherwise, it will use normal DELETE to delete the pods. The 'drain' evicts or deletes all pods except mirror pods (which cannot be deleted through the API server). If there are DaemonSet-managed pods, drain will not proceed without --ignore-daemonsets, and regardless it will not delete any DaemonSet-managed pods, because those pods would be immediately replaced by the DaemonSet controller, which ignores unschedulable markings. If there are any pods that are neither mirror pods nor managed by ReplicationController, ReplicaSet, DaemonSet, StatefulSet or Job, then drain will not delete any pods unless you use --force. --force will also allow deletion to proceed if the managing resource of one or more pods is missing. 'drain' waits for graceful termination. You should not operate on the machine until the command completes. When you are ready to put the node back into service, use kubectl uncordon, which will make the node schedulable again. ! http://kubernetes.io/images/docs/kubectl_drain.svg.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --alsologtostderr via
  • --as via
  • --as-group via
  • --cache-dir via
  • --certificate-authority via
  • --client-certificate via
  • --client-key via
  • --cluster via
  • --context via
  • --delete-local-data via
  • --dry-run via
  • --force via
  • --grace-period via
  • --ignore-daemonsets via
  • --insecure-skip-tls-verify via
  • --kubeconfig via
  • --log-backtrace-at via
  • --log-dir via
  • --logtostderr via
  • --match-server-version via
  • --namespace via
  • --pod-selector via
  • --request-timeout via
  • --selector via
  • --server via
  • --stderrthreshold via
  • --timeout via
  • --token via
  • --user via
  • --v via
  • --vmodule via
public static IReadOnlyCollection KubernetesDrain(KubernetesDrainSettings options = null) => new KubernetesTasks().Run(options); - /// + /// public static IReadOnlyCollection KubernetesDrain(Configure configurator) => new KubernetesTasks().Run(configurator.Invoke(new KubernetesDrainSettings())); - /// + /// public static IEnumerable<(KubernetesDrainSettings Settings, IReadOnlyCollection Output)> KubernetesDrain(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(KubernetesDrain, degreeOfParallelism, completeOnFailure); ///

Create and run a particular image, possibly replicated. Creates a deployment or job to manage the created container(s).

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <name> via
  • --allow-missing-template-keys via
  • --alsologtostderr via
  • --as via
  • --as-group via
  • --attach via
  • --cache-dir via
  • --cascade via
  • --certificate-authority via
  • --client-certificate via
  • --client-key via
  • --cluster via
  • --command via
  • --context via
  • --dry-run via
  • --env via
  • --expose via
  • --filename via
  • --force via
  • --generator via
  • --grace-period via
  • --hostport via
  • --image via
  • --image-pull-policy via
  • --insecure-skip-tls-verify via
  • --kubeconfig via
  • --labels via
  • --leave-stdin-open via
  • --limits via
  • --log-backtrace-at via
  • --log-dir via
  • --logtostderr via
  • --match-server-version via
  • --namespace via
  • --output via
  • --overrides via
  • --pod-running-timeout via
  • --port via
  • --quiet via
  • --record via
  • --recursive via
  • --replicas via
  • --request-timeout via
  • --requests via
  • --restart via
  • --rm via
  • --save-config via
  • --schedule via
  • --server via
  • --service-generator via
  • --service-overrides via
  • --serviceaccount via
  • --stderrthreshold via
  • --stdin via
  • --template via
  • --timeout via
  • --token via
  • --tty via
  • --user via
  • --v via
  • --vmodule via
  • --wait via
public static IReadOnlyCollection KubernetesRun(KubernetesRunSettings options = null) => new KubernetesTasks().Run(options); - /// + /// public static IReadOnlyCollection KubernetesRun(Configure configurator) => new KubernetesTasks().Run(configurator.Invoke(new KubernetesRunSettings())); - /// + /// public static IEnumerable<(KubernetesRunSettings Settings, IReadOnlyCollection Output)> KubernetesRun(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(KubernetesRun, degreeOfParallelism, completeOnFailure); ///

Display one or many resources Prints a table of the most important information about the specified resources. You can filter the list using a label selector and the --selector flag. If the desired resource type is namespaced you will only see results in your current namespace unless you pass --all-namespaces. Uninitialized objects are not shown unless --include-uninitialized is passed. By specifying the output as 'template' and providing a Go template as the value of the --template flag, you can filter the attributes of the fetched resources.Use "kubectl api-resources" for a complete list of supported resources.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <typeName> via
  • --all-namespaces via
  • --allow-missing-template-keys via
  • --alsologtostderr via
  • --as via
  • --as-group via
  • --cache-dir via
  • --certificate-authority via
  • --chunk-size via
  • --client-certificate via
  • --client-key via
  • --cluster via
  • --context via
  • --export via
  • --field-selector via
  • --filename via
  • --ignore-not-found via
  • --include-uninitialized via
  • --insecure-skip-tls-verify via
  • --kubeconfig via
  • --label-columns via
  • --log-backtrace-at via
  • --log-dir via
  • --logtostderr via
  • --match-server-version via
  • --namespace via
  • --no-headers via
  • --output via
  • --raw via
  • --recursive via
  • --request-timeout via
  • --selector via
  • --server via
  • --server-print via
  • --show-all via
  • --show-kind via
  • --show-labels via
  • --sort-by via
  • --stderrthreshold via
  • --template via
  • --token via
  • --use-openapi-print-columns via
  • --user via
  • --v via
  • --vmodule via
  • --watch via
  • --watch-only via
public static IReadOnlyCollection KubernetesGet(KubernetesGetSettings options = null) => new KubernetesTasks().Run(options); - /// + /// public static IReadOnlyCollection KubernetesGet(Configure configurator) => new KubernetesTasks().Run(configurator.Invoke(new KubernetesGetSettings())); - /// + /// public static IEnumerable<(KubernetesGetSettings Settings, IReadOnlyCollection Output)> KubernetesGet(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(KubernetesGet, degreeOfParallelism, completeOnFailure); ///

Print the client and server version information for the current context.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --alsologtostderr via
  • --as via
  • --as-group via
  • --cache-dir via
  • --certificate-authority via
  • --client via
  • --client-certificate via
  • --client-key via
  • --cluster via
  • --context via
  • --insecure-skip-tls-verify via
  • --kubeconfig via
  • --log-backtrace-at via
  • --log-dir via
  • --logtostderr via
  • --match-server-version via
  • --namespace via
  • --output via
  • --request-timeout via
  • --server via
  • --short via
  • --stderrthreshold via
  • --token via
  • --user via
  • --v via
  • --vmodule via
public static IReadOnlyCollection KubernetesVersion(KubernetesVersionSettings options = null) => new KubernetesTasks().Run(options); - /// + /// public static IReadOnlyCollection KubernetesVersion(Configure configurator) => new KubernetesTasks().Run(configurator.Invoke(new KubernetesVersionSettings())); - /// + /// public static IEnumerable<(KubernetesVersionSettings Settings, IReadOnlyCollection Output)> KubernetesVersion(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(KubernetesVersion, degreeOfParallelism, completeOnFailure); ///

Display Resource (CPU/Memory/Storage) usage. The top command allows you to see the resource consumption for nodes or pods. This command requires Heapster to be correctly configured and working on the server.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --alsologtostderr via
  • --as via
  • --as-group via
  • --cache-dir via
  • --certificate-authority via
  • --client-certificate via
  • --client-key via
  • --cluster via
  • --context via
  • --insecure-skip-tls-verify via
  • --kubeconfig via
  • --log-backtrace-at via
  • --log-dir via
  • --logtostderr via
  • --match-server-version via
  • --namespace via
  • --request-timeout via
  • --server via
  • --stderrthreshold via
  • --token via
  • --user via
  • --v via
  • --vmodule via
public static IReadOnlyCollection KubernetesTop(KubernetesTopSettings options = null) => new KubernetesTasks().Run(options); - /// + /// public static IReadOnlyCollection KubernetesTop(Configure configurator) => new KubernetesTasks().Run(configurator.Invoke(new KubernetesTopSettings())); - /// + /// public static IEnumerable<(KubernetesTopSettings Settings, IReadOnlyCollection Output)> KubernetesTop(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(KubernetesTop, degreeOfParallelism, completeOnFailure); ///

Modify kubeconfig files using subcommands like "kubectl config set current-context my-context" The loading order follows these rules: 1. If the --kubeconfig flag is set, then only that file is loaded. The flag may only be set once and no merging takes place. 2. If $KUBECONFIG environment variable is set, then it is used a list of paths (normal path delimitting rules for your system). These paths are merged. When a value is modified, it is modified in the file that defines the stanza. When a value is created, it is created in the first file that exists. If no files in the chain exist, then it creates the last file in the list. 3. Otherwise, ${HOME}/.kube/config is used and no merging takes place.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --alsologtostderr via
  • --as via
  • --as-group via
  • --cache-dir via
  • --certificate-authority via
  • --client-certificate via
  • --client-key via
  • --cluster via
  • --context via
  • --insecure-skip-tls-verify via
  • --kubeconfig via
  • --log-backtrace-at via
  • --log-dir via
  • --logtostderr via
  • --match-server-version via
  • --namespace via
  • --request-timeout via
  • --server via
  • --stderrthreshold via
  • --token via
  • --user via
  • --v via
  • --vmodule via
public static IReadOnlyCollection KubernetesConfig(KubernetesConfigSettings options = null) => new KubernetesTasks().Run(options); - /// + /// public static IReadOnlyCollection KubernetesConfig(Configure configurator) => new KubernetesTasks().Run(configurator.Invoke(new KubernetesConfigSettings())); - /// + /// public static IEnumerable<(KubernetesConfigSettings Settings, IReadOnlyCollection Output)> KubernetesConfig(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(KubernetesConfig, degreeOfParallelism, completeOnFailure); ///

Execute a command in a container.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <arguments> via
  • <podName> via
  • -- via
  • --alsologtostderr via
  • --as via
  • --as-group via
  • --cache-dir via
  • --certificate-authority via
  • --client-certificate via
  • --client-key via
  • --cluster via
  • --container via
  • --context via
  • --insecure-skip-tls-verify via
  • --kubeconfig via
  • --log-backtrace-at via
  • --log-dir via
  • --logtostderr via
  • --match-server-version via
  • --namespace via
  • --pod via
  • --request-timeout via
  • --server via
  • --stderrthreshold via
  • --stdin via
  • --token via
  • --tty via
  • --user via
  • --v via
  • --vmodule via
public static IReadOnlyCollection KubernetesExec(KubernetesExecSettings options = null) => new KubernetesTasks().Run(options); - /// + /// public static IReadOnlyCollection KubernetesExec(Configure configurator) => new KubernetesTasks().Run(configurator.Invoke(new KubernetesExecSettings())); - /// + /// public static IEnumerable<(KubernetesExecSettings Settings, IReadOnlyCollection Output)> KubernetesExec(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(KubernetesExec, degreeOfParallelism, completeOnFailure); ///

Perform a rolling update of the given ReplicationController. Replaces the specified replication controller with a new replication controller by updating one pod at a time to use the new PodTemplate. The new-controller.json must specify the same namespace as the existing replication controller and overwrite at least one (common) label in its replicaSelector. ! http://kubernetes.io/images/docs/kubectl_rollingupdate.svg.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --allow-missing-template-keys via
  • --alsologtostderr via
  • --as via
  • --as-group via
  • --cache-dir via
  • --certificate-authority via
  • --client-certificate via
  • --client-key via
  • --cluster via
  • --container via
  • --context via
  • --deployment-label-key via
  • --dry-run via
  • --filename via
  • --image via
  • --image-pull-policy via
  • --insecure-skip-tls-verify via
  • --kubeconfig via
  • --log-backtrace-at via
  • --log-dir via
  • --logtostderr via
  • --match-server-version via
  • --namespace via
  • --output via
  • --poll-interval via
  • --request-timeout via
  • --rollback via
  • --server via
  • --stderrthreshold via
  • --template via
  • --timeout via
  • --token via
  • --update-period via
  • --user via
  • --v via
  • --validate via
  • --vmodule via
public static IReadOnlyCollection KubernetesRollingUpdate(KubernetesRollingUpdateSettings options = null) => new KubernetesTasks().Run(options); - /// + /// public static IReadOnlyCollection KubernetesRollingUpdate(Configure configurator) => new KubernetesTasks().Run(configurator.Invoke(new KubernetesRollingUpdateSettings())); - /// + /// public static IEnumerable<(KubernetesRollingUpdateSettings Settings, IReadOnlyCollection Output)> KubernetesRollingUpdate(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(KubernetesRollingUpdate, degreeOfParallelism, completeOnFailure); ///

Update the labels on a resource. * A label key and value must begin with a letter or number, and may contain letters, numbers, hyphens, dots, and underscores, up to 63 characters each. * Optionally, the key can begin with a DNS subdomain prefix and a single '/', like example.com/my-app * If --overwrite is true, then existing labels can be overwritten, otherwise attempting to overwrite a label will result in an error. * If --resource-version is specified, then updates will use this resource version, otherwise the existing resource-version will be used.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <labels> via
  • <typeName> via
  • --all via
  • --allow-missing-template-keys via
  • --alsologtostderr via
  • --as via
  • --as-group via
  • --cache-dir via
  • --certificate-authority via
  • --client-certificate via
  • --client-key via
  • --cluster via
  • --context via
  • --dry-run via
  • --field-selector via
  • --filename via
  • --include-uninitialized via
  • --insecure-skip-tls-verify via
  • --kubeconfig via
  • --list via
  • --local via
  • --log-backtrace-at via
  • --log-dir via
  • --logtostderr via
  • --match-server-version via
  • --namespace via
  • --output via
  • --overwrite via
  • --record via
  • --recursive via
  • --request-timeout via
  • --resource-version via
  • --selector via
  • --server via
  • --stderrthreshold via
  • --template via
  • --token via
  • --user via
  • --v via
  • --vmodule via
public static IReadOnlyCollection KubernetesLabel(KubernetesLabelSettings options = null) => new KubernetesTasks().Run(options); - /// + /// public static IReadOnlyCollection KubernetesLabel(Configure configurator) => new KubernetesTasks().Run(configurator.Invoke(new KubernetesLabelSettings())); - /// + /// public static IEnumerable<(KubernetesLabelSettings Settings, IReadOnlyCollection Output)> KubernetesLabel(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(KubernetesLabel, degreeOfParallelism, completeOnFailure); ///

Update the annotations on one or more resources All Kubernetes objects support the ability to store additional data with the object as annotations. Annotations are key/value pairs that can be larger than labels and include arbitrary string values such as structured JSON. Tools and system extensions may use annotations to store their own data. Attempting to set an annotation that already exists will fail unless --overwrite is set. If --resource-version is specified and does not match the current resource version on the server the command will fail.Use "kubectl api-resources" for a complete list of supported resources.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <annotations> via
  • <typeName> via
  • --all via
  • --allow-missing-template-keys via
  • --alsologtostderr via
  • --as via
  • --as-group via
  • --cache-dir via
  • --certificate-authority via
  • --client-certificate via
  • --client-key via
  • --cluster via
  • --context via
  • --dry-run via
  • --field-selector via
  • --filename via
  • --include-uninitialized via
  • --insecure-skip-tls-verify via
  • --kubeconfig via
  • --local via
  • --log-backtrace-at via
  • --log-dir via
  • --logtostderr via
  • --match-server-version via
  • --namespace via
  • --output via
  • --overwrite via
  • --record via
  • --recursive via
  • --request-timeout via
  • --resource-version via
  • --selector via
  • --server via
  • --stderrthreshold via
  • --template via
  • --token via
  • --user via
  • --v via
  • --vmodule via
public static IReadOnlyCollection KubernetesAnnotate(KubernetesAnnotateSettings options = null) => new KubernetesTasks().Run(options); - /// + /// public static IReadOnlyCollection KubernetesAnnotate(Configure configurator) => new KubernetesTasks().Run(configurator.Invoke(new KubernetesAnnotateSettings())); - /// + /// public static IEnumerable<(KubernetesAnnotateSettings Settings, IReadOnlyCollection Output)> KubernetesAnnotate(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(KubernetesAnnotate, degreeOfParallelism, completeOnFailure); ///

Delete resources by filenames, stdin, resources and names, or by resources and label selector. JSON and YAML formats are accepted. Only one type of the arguments may be specified: filenames, resources and names, or resources and label selector. Some resources, such as pods, support graceful deletion. These resources define a default period before they are forcibly terminated (the grace period) but you may override that value with the --grace-period flag, or pass --now to set a grace-period of 1. Because these resources often represent entities in the cluster, deletion may not be acknowledged immediately. If the node hosting a pod is down or cannot reach the API server, termination may take significantly longer than the grace period. To force delete a resource, you must pass a grace period of 0 and specify the --force flag. IMPORTANT: Force deleting pods does not wait for confirmation that the pod's processes have been terminated, which can leave those processes running until the node detects the deletion and completes graceful deletion. If your processes use shared storage or talk to a remote API and depend on the name of the pod to identify themselves, force deleting those pods may result in multiple processes running on different machines using the same identification which may lead to data corruption or inconsistency. Only force delete pods when you are sure the pod is terminated, or if your application can tolerate multiple copies of the same pod running at once. Also, if you force delete pods the scheduler may place new pods on those nodes before the node has released those resources and causing those pods to be evicted immediately. Note that the delete command does NOT do resource version checks, so if someone submits an update to a resource right when you submit a delete, their update will be lost along with the rest of the resource.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <typeName> via
  • --all via
  • --alsologtostderr via
  • --as via
  • --as-group via
  • --cache-dir via
  • --cascade via
  • --certificate-authority via
  • --client-certificate via
  • --client-key via
  • --cluster via
  • --context via
  • --field-selector via
  • --filename via
  • --force via
  • --grace-period via
  • --ignore-not-found via
  • --include-uninitialized via
  • --insecure-skip-tls-verify via
  • --kubeconfig via
  • --log-backtrace-at via
  • --log-dir via
  • --logtostderr via
  • --match-server-version via
  • --namespace via
  • --now via
  • --output via
  • --recursive via
  • --request-timeout via
  • --selector via
  • --server via
  • --stderrthreshold via
  • --timeout via
  • --token via
  • --user via
  • --v via
  • --vmodule via
  • --wait via
public static IReadOnlyCollection KubernetesDelete(KubernetesDeleteSettings options = null) => new KubernetesTasks().Run(options); - /// + /// public static IReadOnlyCollection KubernetesDelete(Configure configurator) => new KubernetesTasks().Run(configurator.Invoke(new KubernetesDeleteSettings())); - /// + /// public static IEnumerable<(KubernetesDeleteSettings Settings, IReadOnlyCollection Output)> KubernetesDelete(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(KubernetesDelete, degreeOfParallelism, completeOnFailure); ///

Expose a resource as a new Kubernetes service. Looks up a deployment, service, replica set, replication controller or pod by name and uses the selector for that resource as the selector for a new service on the specified port. A deployment or replica set will be exposed as a service only if its selector is convertible to a selector that service supports, i.e. when the selector contains only the matchLabels component. Note that if no port is specified via --port and the exposed resource has multiple ports, all will be re-used by the new service. Also if no labels are specified, the new service will re-use the labels from the resource it exposes. Possible resources include (case insensitive): pod (po), service (svc), replicationcontroller (rc), deployment (deploy), replicaset (rs).

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --allow-missing-template-keys via
  • --alsologtostderr via
  • --as via
  • --as-group via
  • --cache-dir via
  • --certificate-authority via
  • --client-certificate via
  • --client-key via
  • --cluster via
  • --cluster-ip via
  • --container-port via
  • --context via
  • --dry-run via
  • --external-ip via
  • --filename via
  • --generator via
  • --insecure-skip-tls-verify via
  • --kubeconfig via
  • --labels via
  • --load-balancer-ip via
  • --log-backtrace-at via
  • --log-dir via
  • --logtostderr via
  • --match-server-version via
  • --name via
  • --namespace via
  • --output via
  • --overrides via
  • --port via
  • --protocol via
  • --record via
  • --recursive via
  • --request-timeout via
  • --save-config via
  • --selector via
  • --server via
  • --session-affinity via
  • --stderrthreshold via
  • --target-port via
  • --template via
  • --token via
  • --type via
  • --user via
  • --v via
  • --vmodule via
public static IReadOnlyCollection KubernetesExpose(KubernetesExposeSettings options = null) => new KubernetesTasks().Run(options); - /// + /// public static IReadOnlyCollection KubernetesExpose(Configure configurator) => new KubernetesTasks().Run(configurator.Invoke(new KubernetesExposeSettings())); - /// + /// public static IEnumerable<(KubernetesExposeSettings Settings, IReadOnlyCollection Output)> KubernetesExpose(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(KubernetesExpose, degreeOfParallelism, completeOnFailure); ///

Print the list of flags inherited by all commands.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --alsologtostderr via
  • --as via
  • --as-group via
  • --cache-dir via
  • --certificate-authority via
  • --client-certificate via
  • --client-key via
  • --cluster via
  • --context via
  • --insecure-skip-tls-verify via
  • --kubeconfig via
  • --log-backtrace-at via
  • --log-dir via
  • --logtostderr via
  • --match-server-version via
  • --namespace via
  • --request-timeout via
  • --server via
  • --stderrthreshold via
  • --token via
  • --user via
  • --v via
  • --vmodule via
public static IReadOnlyCollection KubernetesOptions(KubernetesOptionsSettings options = null) => new KubernetesTasks().Run(options); - /// + /// public static IReadOnlyCollection KubernetesOptions(Configure configurator) => new KubernetesTasks().Run(configurator.Invoke(new KubernetesOptionsSettings())); - /// + /// public static IEnumerable<(KubernetesOptionsSettings Settings, IReadOnlyCollection Output)> KubernetesOptions(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(KubernetesOptions, degreeOfParallelism, completeOnFailure); ///

Attach to a process that is already running inside an existing container.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <pod> via
  • --alsologtostderr via
  • --as via
  • --as-group via
  • --cache-dir via
  • --certificate-authority via
  • --client-certificate via
  • --client-key via
  • --cluster via
  • --container via
  • --context via
  • --insecure-skip-tls-verify via
  • --kubeconfig via
  • --log-backtrace-at via
  • --log-dir via
  • --logtostderr via
  • --match-server-version via
  • --namespace via
  • --pod-running-timeout via
  • --request-timeout via
  • --server via
  • --stderrthreshold via
  • --stdin via
  • --token via
  • --tty via
  • --user via
  • --v via
  • --vmodule via
public static IReadOnlyCollection KubernetesAttach(KubernetesAttachSettings options = null) => new KubernetesTasks().Run(options); - /// + /// public static IReadOnlyCollection KubernetesAttach(Configure configurator) => new KubernetesTasks().Run(configurator.Invoke(new KubernetesAttachSettings())); - /// + /// public static IEnumerable<(KubernetesAttachSettings Settings, IReadOnlyCollection Output)> KubernetesAttach(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(KubernetesAttach, degreeOfParallelism, completeOnFailure); ///

Creates a proxy server or application-level gateway between localhost and the Kubernetes API Server. It also allows serving static content over specified HTTP path. All incoming data enters through one port and gets forwarded to the remote kubernetes API Server port, except for the path matching the static content path.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --accept-hosts via
  • --accept-paths via
  • --address via
  • --alsologtostderr via
  • --api-prefix via
  • --as via
  • --as-group via
  • --cache-dir via
  • --certificate-authority via
  • --client-certificate via
  • --client-key via
  • --cluster via
  • --context via
  • --disable-filter via
  • --insecure-skip-tls-verify via
  • --kubeconfig via
  • --log-backtrace-at via
  • --log-dir via
  • --logtostderr via
  • --match-server-version via
  • --namespace via
  • --port via
  • --reject-methods via
  • --reject-paths via
  • --request-timeout via
  • --server via
  • --stderrthreshold via
  • --token via
  • --unix-socket via
  • --user via
  • --v via
  • --vmodule via
  • --www via
  • --www-prefix via
public static IReadOnlyCollection KubernetesProxy(KubernetesProxySettings options = null) => new KubernetesTasks().Run(options); - /// + /// public static IReadOnlyCollection KubernetesProxy(Configure configurator) => new KubernetesTasks().Run(configurator.Invoke(new KubernetesProxySettings())); - /// + /// public static IEnumerable<(KubernetesProxySettings Settings, IReadOnlyCollection Output)> KubernetesProxy(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(KubernetesProxy, degreeOfParallelism, completeOnFailure); ///

These commands correspond to alpha features that are not enabled in Kubernetes clusters by default.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --alsologtostderr via
  • --as via
  • --as-group via
  • --cache-dir via
  • --certificate-authority via
  • --client-certificate via
  • --client-key via
  • --cluster via
  • --context via
  • --insecure-skip-tls-verify via
  • --kubeconfig via
  • --log-backtrace-at via
  • --log-dir via
  • --logtostderr via
  • --match-server-version via
  • --namespace via
  • --request-timeout via
  • --server via
  • --stderrthreshold via
  • --token via
  • --user via
  • --v via
  • --vmodule via
public static IReadOnlyCollection KubernetesAlpha(KubernetesAlphaSettings options = null) => new KubernetesTasks().Run(options); - /// + /// public static IReadOnlyCollection KubernetesAlpha(Configure configurator) => new KubernetesTasks().Run(configurator.Invoke(new KubernetesAlphaSettings())); - /// + /// public static IEnumerable<(KubernetesAlphaSettings Settings, IReadOnlyCollection Output)> KubernetesAlpha(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(KubernetesAlpha, degreeOfParallelism, completeOnFailure); ///

kubectl controls the Kubernetes cluster manager. Find more information at: https://kubernetes.io/docs/reference/kubectl/overview/.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --alsologtostderr via
  • --as via
  • --as-group via
  • --cache-dir via
  • --certificate-authority via
  • --client-certificate via
  • --client-key via
  • --cluster via
  • --context via
  • --insecure-skip-tls-verify via
  • --kubeconfig via
  • --log-backtrace-at via
  • --log-dir via
  • --logtostderr via
  • --match-server-version via
  • --namespace via
  • --request-timeout via
  • --server via
  • --stderrthreshold via
  • --token via
  • --user via
  • --v via
  • --vmodule via
public static IReadOnlyCollection Kubernetes(KubernetesSettings options = null) => new KubernetesTasks().Run(options); - /// + /// public static IReadOnlyCollection Kubernetes(Configure configurator) => new KubernetesTasks().Run(configurator.Invoke(new KubernetesSettings())); - /// + /// public static IEnumerable<(KubernetesSettings Settings, IReadOnlyCollection Output)> Kubernetes(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(Kubernetes, degreeOfParallelism, completeOnFailure); ///

Output shell completion code for the specified shell (bash or zsh). The shell code must be evaluated to provide interactive completion of kubectl commands. This can be done by sourcing it from the .bash _profile. Detailed instructions on how to do this are available here: https://kubernetes.io/docs/tasks/tools/install-kubectl/#enabling-shell-autocompletion Note for zsh users: [1] zsh completions are only supported in versions of zsh >= 5.2.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --alsologtostderr via
  • --as via
  • --as-group via
  • --cache-dir via
  • --certificate-authority via
  • --client-certificate via
  • --client-key via
  • --cluster via
  • --context via
  • --insecure-skip-tls-verify via
  • --kubeconfig via
  • --log-backtrace-at via
  • --log-dir via
  • --logtostderr via
  • --match-server-version via
  • --namespace via
  • --request-timeout via
  • --server via
  • --stderrthreshold via
  • --token via
  • --user via
  • --v via
  • --vmodule via
public static IReadOnlyCollection KubernetesCompletion(KubernetesCompletionSettings options = null) => new KubernetesTasks().Run(options); - /// + /// public static IReadOnlyCollection KubernetesCompletion(Configure configurator) => new KubernetesTasks().Run(configurator.Invoke(new KubernetesCompletionSettings())); - /// + /// public static IEnumerable<(KubernetesCompletionSettings Settings, IReadOnlyCollection Output)> KubernetesCompletion(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(KubernetesCompletion, degreeOfParallelism, completeOnFailure); ///

Update field(s) of a resource using strategic merge patch, a JSON merge patch, or a JSON patch. JSON and YAML formats are accepted. Please refer to the models in https://htmlpreview.github.io/?https://github.com/kubernetes/kubernetes/blob/HEAD/docs/api-reference/v1/definitions.html to find if a field is mutable.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <typeName> via
  • --allow-missing-template-keys via
  • --alsologtostderr via
  • --as via
  • --as-group via
  • --cache-dir via
  • --certificate-authority via
  • --client-certificate via
  • --client-key via
  • --cluster via
  • --context via
  • --dry-run via
  • --filename via
  • --insecure-skip-tls-verify via
  • --kubeconfig via
  • --local via
  • --log-backtrace-at via
  • --log-dir via
  • --logtostderr via
  • --match-server-version via
  • --namespace via
  • --output via
  • --patch via
  • --record via
  • --recursive via
  • --request-timeout via
  • --server via
  • --stderrthreshold via
  • --template via
  • --token via
  • --type via
  • --user via
  • --v via
  • --vmodule via
public static IReadOnlyCollection KubernetesPatch(KubernetesPatchSettings options = null) => new KubernetesTasks().Run(options); - /// + /// public static IReadOnlyCollection KubernetesPatch(Configure configurator) => new KubernetesTasks().Run(configurator.Invoke(new KubernetesPatchSettings())); - /// + /// public static IEnumerable<(KubernetesPatchSettings Settings, IReadOnlyCollection Output)> KubernetesPatch(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(KubernetesPatch, degreeOfParallelism, completeOnFailure); ///

Replace a resource by filename or stdin. JSON and YAML formats are accepted. If replacing an existing resource, the complete resource spec must be provided. This can be obtained by $ kubectl get TYPE NAME -o yaml Please refer to the models in https://htmlpreview.github.io/?https://github.com/kubernetes/kubernetes/blob/HEAD/docs/api-reference/v1/definitions.html to find if a field is mutable.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --allow-missing-template-keys via
  • --alsologtostderr via
  • --as via
  • --as-group via
  • --cache-dir via
  • --cascade via
  • --certificate-authority via
  • --client-certificate via
  • --client-key via
  • --cluster via
  • --context via
  • --filename via
  • --force via
  • --grace-period via
  • --insecure-skip-tls-verify via
  • --kubeconfig via
  • --log-backtrace-at via
  • --log-dir via
  • --logtostderr via
  • --match-server-version via
  • --namespace via
  • --output via
  • --recursive via
  • --request-timeout via
  • --save-config via
  • --server via
  • --stderrthreshold via
  • --template via
  • --timeout via
  • --token via
  • --user via
  • --v via
  • --validate via
  • --vmodule via
  • --wait via
public static IReadOnlyCollection KubernetesReplace(KubernetesReplaceSettings options = null) => new KubernetesTasks().Run(options); - /// + /// public static IReadOnlyCollection KubernetesReplace(Configure configurator) => new KubernetesTasks().Run(configurator.Invoke(new KubernetesReplaceSettings())); - /// + /// public static IEnumerable<(KubernetesReplaceSettings Settings, IReadOnlyCollection Output)> KubernetesReplace(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(KubernetesReplace, degreeOfParallelism, completeOnFailure); ///

Update the taints on one or more nodes. * A taint consists of a key, value, and effect. As an argument here, it is expressed as key=value:effect. * The key must begin with a letter or number, and may contain letters, numbers, hyphens, dots, and underscores, up to 253 characters. * Optionally, the key can begin with a DNS subdomain prefix and a single '/', like example.com/my-app * The value must begin with a letter or number, and may contain letters, numbers, hyphens, dots, and underscores, up to 63 characters. * The effect must be NoSchedule, PreferNoSchedule or NoExecute. * Currently taint can only apply to node.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <taintEffects> via
  • <typeName> via
  • --all via
  • --allow-missing-template-keys via
  • --alsologtostderr via
  • --as via
  • --as-group via
  • --cache-dir via
  • --certificate-authority via
  • --client-certificate via
  • --client-key via
  • --cluster via
  • --context via
  • --insecure-skip-tls-verify via
  • --kubeconfig via
  • --log-backtrace-at via
  • --log-dir via
  • --logtostderr via
  • --match-server-version via
  • --namespace via
  • --output via
  • --overwrite via
  • --request-timeout via
  • --selector via
  • --server via
  • --stderrthreshold via
  • --template via
  • --token via
  • --user via
  • --v via
  • --validate via
  • --vmodule via
public static IReadOnlyCollection KubernetesTaint(KubernetesTaintSettings options = null) => new KubernetesTasks().Run(options); - /// + /// public static IReadOnlyCollection KubernetesTaint(Configure configurator) => new KubernetesTasks().Run(configurator.Invoke(new KubernetesTaintSettings())); - /// + /// public static IEnumerable<(KubernetesTaintSettings Settings, IReadOnlyCollection Output)> KubernetesTaint(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(KubernetesTaint, degreeOfParallelism, completeOnFailure); ///

Show details of a specific resource or group of resources Print a detailed description of the selected resources, including related resources such as events or controllers. You may select a single object by name, all objects of that type, provide a name prefix, or label selector. For example: $ kubectl describe TYPE NAME_PREFIX will first check for an exact match on TYPE and NAME PREFIX. If no such resource exists, it will output details for every resource that has a name prefixed with NAME PREFIX.Use "kubectl api-resources" for a complete list of supported resources.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <typeName> via
  • --all-namespaces via
  • --alsologtostderr via
  • --as via
  • --as-group via
  • --cache-dir via
  • --certificate-authority via
  • --client-certificate via
  • --client-key via
  • --cluster via
  • --context via
  • --filename via
  • --include-uninitialized via
  • --insecure-skip-tls-verify via
  • --kubeconfig via
  • --log-backtrace-at via
  • --log-dir via
  • --logtostderr via
  • --match-server-version via
  • --namespace via
  • --recursive via
  • --request-timeout via
  • --selector via
  • --server via
  • --show-events via
  • --stderrthreshold via
  • --token via
  • --user via
  • --v via
  • --vmodule via
public static IReadOnlyCollection KubernetesDescribe(KubernetesDescribeSettings options = null) => new KubernetesTasks().Run(options); - /// + /// public static IReadOnlyCollection KubernetesDescribe(Configure configurator) => new KubernetesTasks().Run(configurator.Invoke(new KubernetesDescribeSettings())); - /// + /// public static IEnumerable<(KubernetesDescribeSettings Settings, IReadOnlyCollection Output)> KubernetesDescribe(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(KubernetesDescribe, degreeOfParallelism, completeOnFailure); ///

Configure application resources These commands help you make changes to existing application resources.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <subcommand> via
  • --alsologtostderr via
  • --as via
  • --as-group via
  • --cache-dir via
  • --certificate-authority via
  • --client-certificate via
  • --client-key via
  • --cluster via
  • --context via
  • --insecure-skip-tls-verify via
  • --kubeconfig via
  • --log-backtrace-at via
  • --log-dir via
  • --logtostderr via
  • --match-server-version via
  • --namespace via
  • --request-timeout via
  • --server via
  • --stderrthreshold via
  • --token via
  • --user via
  • --v via
  • --vmodule via
public static IReadOnlyCollection KubernetesSet(KubernetesSetSettings options = null) => new KubernetesTasks().Run(options); - /// + /// public static IReadOnlyCollection KubernetesSet(Configure configurator) => new KubernetesTasks().Run(configurator.Invoke(new KubernetesSetSettings())); - /// + /// public static IEnumerable<(KubernetesSetSettings Settings, IReadOnlyCollection Output)> KubernetesSet(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(KubernetesSet, degreeOfParallelism, completeOnFailure); ///

Inspect authorization.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <subcommand> via
  • --alsologtostderr via
  • --as via
  • --as-group via
  • --cache-dir via
  • --certificate-authority via
  • --client-certificate via
  • --client-key via
  • --cluster via
  • --context via
  • --insecure-skip-tls-verify via
  • --kubeconfig via
  • --log-backtrace-at via
  • --log-dir via
  • --logtostderr via
  • --match-server-version via
  • --namespace via
  • --request-timeout via
  • --server via
  • --stderrthreshold via
  • --token via
  • --user via
  • --v via
  • --vmodule via
public static IReadOnlyCollection KubernetesAuth(KubernetesAuthSettings options = null) => new KubernetesTasks().Run(options); - /// + /// public static IReadOnlyCollection KubernetesAuth(Configure configurator) => new KubernetesTasks().Run(configurator.Invoke(new KubernetesAuthSettings())); - /// + /// public static IEnumerable<(KubernetesAuthSettings Settings, IReadOnlyCollection Output)> KubernetesAuth(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(KubernetesAuth, degreeOfParallelism, completeOnFailure); ///

Modify certificate resources.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <subcommand> via
  • --alsologtostderr via
  • --as via
  • --as-group via
  • --cache-dir via
  • --certificate-authority via
  • --client-certificate via
  • --client-key via
  • --cluster via
  • --context via
  • --insecure-skip-tls-verify via
  • --kubeconfig via
  • --log-backtrace-at via
  • --log-dir via
  • --logtostderr via
  • --match-server-version via
  • --namespace via
  • --request-timeout via
  • --server via
  • --stderrthreshold via
  • --token via
  • --user via
  • --v via
  • --vmodule via
public static IReadOnlyCollection KubernetesCertificate(KubernetesCertificateSettings options = null) => new KubernetesTasks().Run(options); - /// + /// public static IReadOnlyCollection KubernetesCertificate(Configure configurator) => new KubernetesTasks().Run(configurator.Invoke(new KubernetesCertificateSettings())); - /// + /// public static IEnumerable<(KubernetesCertificateSettings Settings, IReadOnlyCollection Output)> KubernetesCertificate(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(KubernetesCertificate, degreeOfParallelism, completeOnFailure); ///

Manage the rollout of a resource. Valid resource types include: * deployments * daemonsets * statefulsets.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <subcommand> via
  • --alsologtostderr via
  • --as via
  • --as-group via
  • --cache-dir via
  • --certificate-authority via
  • --client-certificate via
  • --client-key via
  • --cluster via
  • --context via
  • --insecure-skip-tls-verify via
  • --kubeconfig via
  • --log-backtrace-at via
  • --log-dir via
  • --logtostderr via
  • --match-server-version via
  • --namespace via
  • --request-timeout via
  • --server via
  • --stderrthreshold via
  • --token via
  • --user via
  • --v via
  • --vmodule via
public static IReadOnlyCollection KubernetesRollout(KubernetesRolloutSettings options = null) => new KubernetesTasks().Run(options); - /// + /// public static IReadOnlyCollection KubernetesRollout(Configure configurator) => new KubernetesTasks().Run(configurator.Invoke(new KubernetesRolloutSettings())); - /// + /// public static IEnumerable<(KubernetesRolloutSettings Settings, IReadOnlyCollection Output)> KubernetesRollout(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(KubernetesRollout, degreeOfParallelism, completeOnFailure); ///

Apply a configuration to a resource by filename or stdin. The resource name must be specified. This resource will be created if it doesn't exist yet. To use 'apply', always create the resource initially with either 'apply' or 'create --save-config'. JSON and YAML formats are accepted. Alpha Disclaimer: the --prune functionality is not yet complete. Do not use unless you are aware of what the current state is. See https://issues.k8s.io/34274.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --all via
  • --allow-missing-template-keys via
  • --alsologtostderr via
  • --as via
  • --as-group via
  • --cache-dir via
  • --cascade via
  • --certificate-authority via
  • --client-certificate via
  • --client-key via
  • --cluster via
  • --context via
  • --dry-run via
  • --filename via
  • --force via
  • --grace-period via
  • --include-uninitialized via
  • --insecure-skip-tls-verify via
  • --kubeconfig via
  • --log-backtrace-at via
  • --log-dir via
  • --logtostderr via
  • --match-server-version via
  • --namespace via
  • --openapi-patch via
  • --output via
  • --overwrite via
  • --prune via
  • --prune-whitelist via
  • --record via
  • --recursive via
  • --request-timeout via
  • --selector via
  • --server via
  • --stderrthreshold via
  • --template via
  • --timeout via
  • --token via
  • --user via
  • --v via
  • --validate via
  • --vmodule via
  • --wait via
public static IReadOnlyCollection KubernetesApply(KubernetesApplySettings options = null) => new KubernetesTasks().Run(options); - /// + /// public static IReadOnlyCollection KubernetesApply(Configure configurator) => new KubernetesTasks().Run(configurator.Invoke(new KubernetesApplySettings())); - /// + /// public static IEnumerable<(KubernetesApplySettings Settings, IReadOnlyCollection Output)> KubernetesApply(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(KubernetesApply, degreeOfParallelism, completeOnFailure); ///

Apply a configuration to a resource by using kustomize. The resource name must be specified. This resource will be created if it doesn't exist yet. To use 'apply', always create the resource initially with either 'apply' or 'create --save-config'. JSON and YAML formats are accepted. Alpha Disclaimer: the --prune functionality is not yet complete. Do not use unless you are aware of what the current state is. See https://issues.k8s.io/34274.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <kustomize> via
  • --all via
  • --allow-missing-template-keys via
  • --alsologtostderr via
  • --as via
  • --as-group via
  • --cache-dir via
  • --cascade via
  • --certificate-authority via
  • --client-certificate via
  • --client-key via
  • --cluster via
  • --context via
  • --dry-run via
  • --filename via
  • --force via
  • --grace-period via
  • --include-uninitialized via
  • --insecure-skip-tls-verify via
  • --kubeconfig via
  • --log-backtrace-at via
  • --log-dir via
  • --logtostderr via
  • --match-server-version via
  • --namespace via
  • --openapi-patch via
  • --output via
  • --overwrite via
  • --prune via
  • --prune-whitelist via
  • --record via
  • --recursive via
  • --request-timeout via
  • --selector via
  • --server via
  • --stderrthreshold via
  • --template via
  • --timeout via
  • --token via
  • --user via
  • --v via
  • --validate via
  • --vmodule via
  • --wait via
public static IReadOnlyCollection KubernetesApplyKustomize(KubernetesApplyKustomizeSettings options = null) => new KubernetesTasks().Run(options); - /// + /// public static IReadOnlyCollection KubernetesApplyKustomize(Configure configurator) => new KubernetesTasks().Run(configurator.Invoke(new KubernetesApplyKustomizeSettings())); - /// + /// public static IEnumerable<(KubernetesApplyKustomizeSettings Settings, IReadOnlyCollection Output)> KubernetesApplyKustomize(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(KubernetesApplyKustomize, degreeOfParallelism, completeOnFailure); ///

Mark node as unschedulable.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <node> via
  • --alsologtostderr via
  • --as via
  • --as-group via
  • --cache-dir via
  • --certificate-authority via
  • --client-certificate via
  • --client-key via
  • --cluster via
  • --context via
  • --dry-run via
  • --insecure-skip-tls-verify via
  • --kubeconfig via
  • --log-backtrace-at via
  • --log-dir via
  • --logtostderr via
  • --match-server-version via
  • --namespace via
  • --request-timeout via
  • --selector via
  • --server via
  • --stderrthreshold via
  • --token via
  • --user via
  • --v via
  • --vmodule via
public static IReadOnlyCollection KubernetesCordon(KubernetesCordonSettings options = null) => new KubernetesTasks().Run(options); - /// + /// public static IReadOnlyCollection KubernetesCordon(Configure configurator) => new KubernetesTasks().Run(configurator.Invoke(new KubernetesCordonSettings())); - /// + /// public static IEnumerable<(KubernetesCordonSettings Settings, IReadOnlyCollection Output)> KubernetesCordon(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(KubernetesCordon, degreeOfParallelism, completeOnFailure); ///

Copy files and directories to and from containers.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <destFileSpec> via
  • <srcFileSpec> via
  • --alsologtostderr via
  • --as via
  • --as-group via
  • --cache-dir via
  • --certificate-authority via
  • --client-certificate via
  • --client-key via
  • --cluster via
  • --container via
  • --context via
  • --insecure-skip-tls-verify via
  • --kubeconfig via
  • --log-backtrace-at via
  • --log-dir via
  • --logtostderr via
  • --match-server-version via
  • --namespace via
  • --request-timeout via
  • --server via
  • --stderrthreshold via
  • --token via
  • --user via
  • --v via
  • --vmodule via
public static IReadOnlyCollection KubernetesCp(KubernetesCpSettings options = null) => new KubernetesTasks().Run(options); - /// + /// public static IReadOnlyCollection KubernetesCp(Configure configurator) => new KubernetesTasks().Run(configurator.Invoke(new KubernetesCpSettings())); - /// + /// public static IEnumerable<(KubernetesCpSettings Settings, IReadOnlyCollection Output)> KubernetesCp(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(KubernetesCp, degreeOfParallelism, completeOnFailure); ///

Print the supported API versions on the server, in the form of "group/version".

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --alsologtostderr via
  • --as via
  • --as-group via
  • --cache-dir via
  • --certificate-authority via
  • --client-certificate via
  • --client-key via
  • --cluster via
  • --context via
  • --insecure-skip-tls-verify via
  • --kubeconfig via
  • --log-backtrace-at via
  • --log-dir via
  • --logtostderr via
  • --match-server-version via
  • --namespace via
  • --request-timeout via
  • --server via
  • --stderrthreshold via
  • --token via
  • --user via
  • --v via
  • --vmodule via
public static IReadOnlyCollection KubernetesApiVersions(KubernetesApiVersionsSettings options = null) => new KubernetesTasks().Run(options); - /// + /// public static IReadOnlyCollection KubernetesApiVersions(Configure configurator) => new KubernetesTasks().Run(configurator.Invoke(new KubernetesApiVersionsSettings())); - /// + /// public static IEnumerable<(KubernetesApiVersionsSettings Settings, IReadOnlyCollection Output)> KubernetesApiVersions(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(KubernetesApiVersions, degreeOfParallelism, completeOnFailure); ///

Mark node as schedulable.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <node> via
  • --alsologtostderr via
  • --as via
  • --as-group via
  • --cache-dir via
  • --certificate-authority via
  • --client-certificate via
  • --client-key via
  • --cluster via
  • --context via
  • --dry-run via
  • --insecure-skip-tls-verify via
  • --kubeconfig via
  • --log-backtrace-at via
  • --log-dir via
  • --logtostderr via
  • --match-server-version via
  • --namespace via
  • --request-timeout via
  • --selector via
  • --server via
  • --stderrthreshold via
  • --token via
  • --user via
  • --v via
  • --vmodule via
public static IReadOnlyCollection KubernetesUncordon(KubernetesUncordonSettings options = null) => new KubernetesTasks().Run(options); - /// + /// public static IReadOnlyCollection KubernetesUncordon(Configure configurator) => new KubernetesTasks().Run(configurator.Invoke(new KubernetesUncordonSettings())); - /// + /// public static IEnumerable<(KubernetesUncordonSettings Settings, IReadOnlyCollection Output)> KubernetesUncordon(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(KubernetesUncordon, degreeOfParallelism, completeOnFailure); ///

Creates an autoscaler that automatically chooses and sets the number of pods that run in a kubernetes cluster. Looks up a Deployment, ReplicaSet, or ReplicationController by name and creates an autoscaler that uses the given resource as a reference. An autoscaler can automatically increase or decrease number of pods deployed within the system as needed.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --allow-missing-template-keys via
  • --alsologtostderr via
  • --as via
  • --as-group via
  • --cache-dir via
  • --certificate-authority via
  • --client-certificate via
  • --client-key via
  • --cluster via
  • --context via
  • --cpu-percent via
  • --dry-run via
  • --filename via
  • --generator via
  • --insecure-skip-tls-verify via
  • --kubeconfig via
  • --log-backtrace-at via
  • --log-dir via
  • --logtostderr via
  • --match-server-version via
  • --max via
  • --min via
  • --name via
  • --namespace via
  • --output via
  • --record via
  • --recursive via
  • --request-timeout via
  • --save-config via
  • --server via
  • --stderrthreshold via
  • --template via
  • --token via
  • --user via
  • --v via
  • --vmodule via
public static IReadOnlyCollection KubernetesAutoscale(KubernetesAutoscaleSettings options = null) => new KubernetesTasks().Run(options); - /// + /// public static IReadOnlyCollection KubernetesAutoscale(Configure configurator) => new KubernetesTasks().Run(configurator.Invoke(new KubernetesAutoscaleSettings())); - /// + /// public static IEnumerable<(KubernetesAutoscaleSettings Settings, IReadOnlyCollection Output)> KubernetesAutoscale(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(KubernetesAutoscale, degreeOfParallelism, completeOnFailure); ///

Runs a command-line plugin. Plugins are subcommands that are not part of the major command-line distribution and can even be provided by third-parties. Please refer to the documentation and examples for more information about how to install and write your own plugins.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <name> via
  • --alsologtostderr via
  • --as via
  • --as-group via
  • --cache-dir via
  • --certificate-authority via
  • --client-certificate via
  • --client-key via
  • --cluster via
  • --context via
  • --insecure-skip-tls-verify via
  • --kubeconfig via
  • --log-backtrace-at via
  • --log-dir via
  • --logtostderr via
  • --match-server-version via
  • --namespace via
  • --request-timeout via
  • --server via
  • --stderrthreshold via
  • --token via
  • --user via
  • --v via
  • --vmodule via
public static IReadOnlyCollection KubernetesPlugin(KubernetesPluginSettings options = null) => new KubernetesTasks().Run(options); - /// + /// public static IReadOnlyCollection KubernetesPlugin(Configure configurator) => new KubernetesTasks().Run(configurator.Invoke(new KubernetesPluginSettings())); - /// + /// public static IEnumerable<(KubernetesPluginSettings Settings, IReadOnlyCollection Output)> KubernetesPlugin(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(KubernetesPlugin, degreeOfParallelism, completeOnFailure); ///

Display addresses of the master and services with label kubernetes.io/cluster-service=true To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --alsologtostderr via
  • --as via
  • --as-group via
  • --cache-dir via
  • --certificate-authority via
  • --client-certificate via
  • --client-key via
  • --cluster via
  • --context via
  • --insecure-skip-tls-verify via
  • --kubeconfig via
  • --log-backtrace-at via
  • --log-dir via
  • --logtostderr via
  • --match-server-version via
  • --namespace via
  • --request-timeout via
  • --server via
  • --stderrthreshold via
  • --token via
  • --user via
  • --v via
  • --vmodule via
public static IReadOnlyCollection KubernetesClusterInfo(KubernetesClusterInfoSettings options = null) => new KubernetesTasks().Run(options); - /// + /// public static IReadOnlyCollection KubernetesClusterInfo(Configure configurator) => new KubernetesTasks().Run(configurator.Invoke(new KubernetesClusterInfoSettings())); - /// + /// public static IEnumerable<(KubernetesClusterInfoSettings Settings, IReadOnlyCollection Output)> KubernetesClusterInfo(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(KubernetesClusterInfo, degreeOfParallelism, completeOnFailure); ///

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --all-namespaces via
  • --allow-missing-template-keys via
  • --alsologtostderr via
  • --as via
  • --as-group via
  • --cache-dir via
  • --certificate-authority via
  • --client-certificate via
  • --client-key via
  • --cluster via
  • --context via
  • --filename via
  • --for via
  • --insecure-skip-tls-verify via
  • --kubeconfig via
  • --log-backtrace-at via
  • --log-dir via
  • --logtostderr via
  • --match-server-version via
  • --namespace via
  • --output via
  • --recursive via
  • --request-timeout via
  • --selector via
  • --server via
  • --stderrthreshold via
  • --template via
  • --timeout via
  • --token via
  • --user via
  • --v via
  • --vmodule via
public static IReadOnlyCollection KubernetesWait(KubernetesWaitSettings options = null) => new KubernetesTasks().Run(options); - /// + /// public static IReadOnlyCollection KubernetesWait(Configure configurator) => new KubernetesTasks().Run(configurator.Invoke(new KubernetesWaitSettings())); - /// + /// public static IEnumerable<(KubernetesWaitSettings Settings, IReadOnlyCollection Output)> KubernetesWait(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(KubernetesWait, degreeOfParallelism, completeOnFailure); ///

Convert config files between different API versions. Both YAML and JSON formats are accepted. The command takes filename, directory, or URL as input, and convert it into format of version specified by --output-version flag. If target version is not specified or not supported, convert to latest version. The default output will be printed to stdout in YAML format. One can use -o option to change to output destination.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --allow-missing-template-keys via
  • --alsologtostderr via
  • --as via
  • --as-group via
  • --cache-dir via
  • --certificate-authority via
  • --client-certificate via
  • --client-key via
  • --cluster via
  • --context via
  • --filename via
  • --insecure-skip-tls-verify via
  • --kubeconfig via
  • --local via
  • --log-backtrace-at via
  • --log-dir via
  • --logtostderr via
  • --match-server-version via
  • --namespace via
  • --output via
  • --output-version via
  • --recursive via
  • --request-timeout via
  • --server via
  • --stderrthreshold via
  • --template via
  • --token via
  • --user via
  • --v via
  • --validate via
  • --vmodule via
public static IReadOnlyCollection KubernetesConvert(KubernetesConvertSettings options = null) => new KubernetesTasks().Run(options); - /// + /// public static IReadOnlyCollection KubernetesConvert(Configure configurator) => new KubernetesTasks().Run(configurator.Invoke(new KubernetesConvertSettings())); - /// + /// public static IEnumerable<(KubernetesConvertSettings Settings, IReadOnlyCollection Output)> KubernetesConvert(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(KubernetesConvert, degreeOfParallelism, completeOnFailure); ///

Create a resource from a file or from stdin. JSON and YAML formats are accepted.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <typeName> via
  • --allow-missing-template-keys via
  • --alsologtostderr via
  • --as via
  • --as-group via
  • --cache-dir via
  • --certificate-authority via
  • --client-certificate via
  • --client-key via
  • --cluster via
  • --context via
  • --dry-run via
  • --edit via
  • --filename via
  • --insecure-skip-tls-verify via
  • --kubeconfig via
  • --log-backtrace-at via
  • --log-dir via
  • --logtostderr via
  • --match-server-version via
  • --namespace via
  • --output via
  • --raw via
  • --record via
  • --recursive via
  • --request-timeout via
  • --save-config via
  • --selector via
  • --server via
  • --stderrthreshold via
  • --template via
  • --token via
  • --user via
  • --v via
  • --validate via
  • --vmodule via
  • --windows-line-endings via
public static IReadOnlyCollection KubernetesCreate(KubernetesCreateSettings options = null) => new KubernetesTasks().Run(options); - /// + /// public static IReadOnlyCollection KubernetesCreate(Configure configurator) => new KubernetesTasks().Run(configurator.Invoke(new KubernetesCreateSettings())); - /// + /// public static IEnumerable<(KubernetesCreateSettings Settings, IReadOnlyCollection Output)> KubernetesCreate(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(KubernetesCreate, degreeOfParallelism, completeOnFailure); ///

Forward one or more local ports to a pod. Use resource type/name such as deployment/mydeployment to select a pod. Resource type defaults to 'pod' if omitted. If there are multiple pods matching the criteria, a pod will be selected automatically. The forwarding session ends when the selected pod terminates, and rerun of the command is needed to resume forwarding.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <ports> via
  • <typeName> via
  • --alsologtostderr via
  • --as via
  • --as-group via
  • --cache-dir via
  • --certificate-authority via
  • --client-certificate via
  • --client-key via
  • --cluster via
  • --context via
  • --insecure-skip-tls-verify via
  • --kubeconfig via
  • --log-backtrace-at via
  • --log-dir via
  • --logtostderr via
  • --match-server-version via
  • --namespace via
  • --pod-running-timeout via
  • --request-timeout via
  • --server via
  • --stderrthreshold via
  • --token via
  • --user via
  • --v via
  • --vmodule via
public static IReadOnlyCollection KubernetesPortForward(KubernetesPortForwardSettings options = null) => new KubernetesTasks().Run(options); - /// + /// public static IReadOnlyCollection KubernetesPortForward(Configure configurator) => new KubernetesTasks().Run(configurator.Invoke(new KubernetesPortForwardSettings())); - /// + /// public static IEnumerable<(KubernetesPortForwardSettings Settings, IReadOnlyCollection Output)> KubernetesPortForward(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(KubernetesPortForward, degreeOfParallelism, completeOnFailure); ///

Create and run a particular image, possibly replicated. Creates a deployment or job to manage the created container(s).

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --allow-missing-template-keys via
  • --alsologtostderr via
  • --as via
  • --as-group via
  • --attach via
  • --cache-dir via
  • --cascade via
  • --certificate-authority via
  • --client-certificate via
  • --client-key via
  • --cluster via
  • --command via
  • --context via
  • --dry-run via
  • --env via
  • --expose via
  • --filename via
  • --force via
  • --generator via
  • --grace-period via
  • --hostport via
  • --image via
  • --image-pull-policy via
  • --insecure-skip-tls-verify via
  • --kubeconfig via
  • --labels via
  • --leave-stdin-open via
  • --limits via
  • --log-backtrace-at via
  • --log-dir via
  • --logtostderr via
  • --match-server-version via
  • --namespace via
  • --output via
  • --overrides via
  • --pod-running-timeout via
  • --port via
  • --quiet via
  • --record via
  • --recursive via
  • --replicas via
  • --request-timeout via
  • --requests via
  • --restart via
  • --rm via
  • --save-config via
  • --schedule via
  • --server via
  • --service-generator via
  • --service-overrides via
  • --serviceaccount via
  • --stderrthreshold via
  • --stdin via
  • --template via
  • --timeout via
  • --token via
  • --tty via
  • --user via
  • --v via
  • --vmodule via
  • --wait via
public static IReadOnlyCollection KubernetesRunContainer(KubernetesRunContainerSettings options = null) => new KubernetesTasks().Run(options); - /// + /// public static IReadOnlyCollection KubernetesRunContainer(Configure configurator) => new KubernetesTasks().Run(configurator.Invoke(new KubernetesRunContainerSettings())); - /// + /// public static IEnumerable<(KubernetesRunContainerSettings Settings, IReadOnlyCollection Output)> KubernetesRunContainer(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(KubernetesRunContainer, degreeOfParallelism, completeOnFailure); ///

Edit a resource from the default editor. The edit command allows you to directly edit any API resource you can retrieve via the command line tools. It will open the editor defined by your KUBE _EDITOR, or EDITOR environment variables, or fall back to 'vi' for Linux or 'notepad' for Windows. You can edit multiple objects, although changes are applied one at a time. The command accepts filenames as well as command line arguments, although the files you point to must be previously saved versions of resources. Editing is done with the API version used to fetch the resource. To edit using a specific API version, fully-qualify the resource, version, and group. The default format is YAML. To edit in JSON, specify "-o json". The flag --windows-line-endings can be used to force Windows line endings, otherwise the default for your operating system will be used. In the event an error occurs while updating, a temporary file will be created on disk that contains your unapplied changes. The most common error when updating a resource is another editor changing the resource on the server. When this occurs, you will have to apply your changes to the newer version of the resource, or update your temporary saved copy to include the latest resource version.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <typeName> via
  • --allow-missing-template-keys via
  • --alsologtostderr via
  • --as via
  • --as-group via
  • --cache-dir via
  • --certificate-authority via
  • --client-certificate via
  • --client-key via
  • --cluster via
  • --context via
  • --filename via
  • --include-uninitialized via
  • --insecure-skip-tls-verify via
  • --kubeconfig via
  • --log-backtrace-at via
  • --log-dir via
  • --logtostderr via
  • --match-server-version via
  • --namespace via
  • --output via
  • --output-patch via
  • --record via
  • --recursive via
  • --request-timeout via
  • --save-config via
  • --server via
  • --stderrthreshold via
  • --template via
  • --token via
  • --user via
  • --v via
  • --validate via
  • --vmodule via
  • --windows-line-endings via
public static IReadOnlyCollection KubernetesEdit(KubernetesEditSettings options = null) => new KubernetesTasks().Run(options); - /// + /// public static IReadOnlyCollection KubernetesEdit(Configure configurator) => new KubernetesTasks().Run(configurator.Invoke(new KubernetesEditSettings())); - /// + /// public static IEnumerable<(KubernetesEditSettings Settings, IReadOnlyCollection Output)> KubernetesEdit(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(KubernetesEdit, degreeOfParallelism, completeOnFailure); ///

Set a new size for a Deployment, ReplicaSet, Replication Controller, or StatefulSet. Scale also allows users to specify one or more preconditions for the scale action. If --current-replicas or --resource-version is specified, it is validated before the scale is attempted, and it is guaranteed that the precondition holds true when the scale is sent to the server.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --all via
  • --allow-missing-template-keys via
  • --alsologtostderr via
  • --as via
  • --as-group via
  • --cache-dir via
  • --certificate-authority via
  • --client-certificate via
  • --client-key via
  • --cluster via
  • --context via
  • --current-replicas via
  • --filename via
  • --insecure-skip-tls-verify via
  • --kubeconfig via
  • --log-backtrace-at via
  • --log-dir via
  • --logtostderr via
  • --match-server-version via
  • --namespace via
  • --output via
  • --record via
  • --recursive via
  • --replicas via
  • --request-timeout via
  • --resource-version via
  • --selector via
  • --server via
  • --stderrthreshold via
  • --template via
  • --timeout via
  • --token via
  • --user via
  • --v via
  • --vmodule via
public static IReadOnlyCollection KubernetesScale(KubernetesScaleSettings options = null) => new KubernetesTasks().Run(options); - /// + /// public static IReadOnlyCollection KubernetesScale(Configure configurator) => new KubernetesTasks().Run(configurator.Invoke(new KubernetesScaleSettings())); - /// + /// public static IEnumerable<(KubernetesScaleSettings Settings, IReadOnlyCollection Output)> KubernetesScale(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(KubernetesScale, degreeOfParallelism, completeOnFailure); ///

List the fields for supported resources This command describes the fields associated with each supported API resource. Fields are identified via a simple JSONPath identifier: <type>.<fieldName>[.<fieldName>] Add the --recursive flag to display all of the fields at once without descriptions. Information about each field is retrieved from the server in OpenAPI format.Use "kubectl api-resources" for a complete list of supported resources.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <resource> via
  • --alsologtostderr via
  • --api-version via
  • --as via
  • --as-group via
  • --cache-dir via
  • --certificate-authority via
  • --client-certificate via
  • --client-key via
  • --cluster via
  • --context via
  • --insecure-skip-tls-verify via
  • --kubeconfig via
  • --log-backtrace-at via
  • --log-dir via
  • --logtostderr via
  • --match-server-version via
  • --namespace via
  • --recursive via
  • --request-timeout via
  • --server via
  • --stderrthreshold via
  • --token via
  • --user via
  • --v via
  • --vmodule via
public static IReadOnlyCollection KubernetesExplain(KubernetesExplainSettings options = null) => new KubernetesTasks().Run(options); - /// + /// public static IReadOnlyCollection KubernetesExplain(Configure configurator) => new KubernetesTasks().Run(configurator.Invoke(new KubernetesExplainSettings())); - /// + /// public static IEnumerable<(KubernetesExplainSettings Settings, IReadOnlyCollection Output)> KubernetesExplain(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(KubernetesExplain, degreeOfParallelism, completeOnFailure); ///

Print the logs for a container in a pod or specified resource. If the pod has only one container, the container name is optional.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <typeName> via
  • --all-containers via
  • --alsologtostderr via
  • --as via
  • --as-group via
  • --cache-dir via
  • --certificate-authority via
  • --client-certificate via
  • --client-key via
  • --cluster via
  • --container via
  • --context via
  • --follow via
  • --insecure-skip-tls-verify via
  • --interactive via
  • --kubeconfig via
  • --limit-bytes via
  • --log-backtrace-at via
  • --log-dir via
  • --logtostderr via
  • --match-server-version via
  • --namespace via
  • --pod-running-timeout via
  • --previous via
  • --request-timeout via
  • --selector via
  • --server via
  • --since via
  • --since-time via
  • --stderrthreshold via
  • --tail via
  • --timestamps via
  • --token via
  • --user via
  • --v via
  • --vmodule via
public static IReadOnlyCollection KubernetesLogs(KubernetesLogsSettings options = null) => new KubernetesTasks().Run(options); - /// + /// public static IReadOnlyCollection KubernetesLogs(Configure configurator) => new KubernetesTasks().Run(configurator.Invoke(new KubernetesLogsSettings())); - /// + /// public static IEnumerable<(KubernetesLogsSettings Settings, IReadOnlyCollection Output)> KubernetesLogs(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(KubernetesLogs, degreeOfParallelism, completeOnFailure); } #region KubernetesApiResourcesSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(KubernetesTasks), Command = nameof(KubernetesTasks.KubernetesApiResources), Arguments = "api-resources")] public partial class KubernetesApiResourcesSettings : KubernetesOptionsBase @@ -361,7 +361,7 @@ public partial class KubernetesApiResourcesSettings : KubernetesOptionsBase } #endregion #region KubernetesDrainSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(KubernetesTasks), Command = nameof(KubernetesTasks.KubernetesDrain), Arguments = "drain")] public partial class KubernetesDrainSettings : KubernetesOptionsBase @@ -385,7 +385,7 @@ public partial class KubernetesDrainSettings : KubernetesOptionsBase } #endregion #region KubernetesRunSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(KubernetesTasks), Command = nameof(KubernetesTasks.KubernetesRun), Arguments = "run")] public partial class KubernetesRunSettings : KubernetesOptionsBase @@ -471,7 +471,7 @@ public partial class KubernetesRunSettings : KubernetesOptionsBase } #endregion #region KubernetesGetSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(KubernetesTasks), Command = nameof(KubernetesTasks.KubernetesGet), Arguments = "get")] public partial class KubernetesGetSettings : KubernetesOptionsBase @@ -527,7 +527,7 @@ public partial class KubernetesGetSettings : KubernetesOptionsBase } #endregion #region KubernetesVersionSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(KubernetesTasks), Command = nameof(KubernetesTasks.KubernetesVersion), Arguments = "version")] public partial class KubernetesVersionSettings : KubernetesOptionsBase @@ -541,7 +541,7 @@ public partial class KubernetesVersionSettings : KubernetesOptionsBase } #endregion #region KubernetesTopSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(KubernetesTasks), Command = nameof(KubernetesTasks.KubernetesTop), Arguments = "top")] public partial class KubernetesTopSettings : KubernetesOptionsBase @@ -549,7 +549,7 @@ public partial class KubernetesTopSettings : KubernetesOptionsBase } #endregion #region KubernetesConfigSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(KubernetesTasks), Command = nameof(KubernetesTasks.KubernetesConfig), Arguments = "config")] public partial class KubernetesConfigSettings : KubernetesOptionsBase @@ -557,7 +557,7 @@ public partial class KubernetesConfigSettings : KubernetesOptionsBase } #endregion #region KubernetesExecSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(KubernetesTasks), Command = nameof(KubernetesTasks.KubernetesExec), Arguments = "exec")] public partial class KubernetesExecSettings : KubernetesOptionsBase @@ -579,7 +579,7 @@ public partial class KubernetesExecSettings : KubernetesOptionsBase } #endregion #region KubernetesRollingUpdateSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(KubernetesTasks), Command = nameof(KubernetesTasks.KubernetesRollingUpdate), Arguments = "rolling-update")] public partial class KubernetesRollingUpdateSettings : KubernetesOptionsBase @@ -615,7 +615,7 @@ public partial class KubernetesRollingUpdateSettings : KubernetesOptionsBase } #endregion #region KubernetesLabelSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(KubernetesTasks), Command = nameof(KubernetesTasks.KubernetesLabel), Arguments = "label")] public partial class KubernetesLabelSettings : KubernetesOptionsBase @@ -657,7 +657,7 @@ public partial class KubernetesLabelSettings : KubernetesOptionsBase } #endregion #region KubernetesAnnotateSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(KubernetesTasks), Command = nameof(KubernetesTasks.KubernetesAnnotate), Arguments = "annotate")] public partial class KubernetesAnnotateSettings : KubernetesOptionsBase @@ -697,7 +697,7 @@ public partial class KubernetesAnnotateSettings : KubernetesOptionsBase } #endregion #region KubernetesDeleteSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(KubernetesTasks), Command = nameof(KubernetesTasks.KubernetesDelete), Arguments = "delete")] public partial class KubernetesDeleteSettings : KubernetesOptionsBase @@ -735,7 +735,7 @@ public partial class KubernetesDeleteSettings : KubernetesOptionsBase } #endregion #region KubernetesExposeSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(KubernetesTasks), Command = nameof(KubernetesTasks.KubernetesExpose), Arguments = "expose")] public partial class KubernetesExposeSettings : KubernetesOptionsBase @@ -787,7 +787,7 @@ public partial class KubernetesExposeSettings : KubernetesOptionsBase } #endregion #region KubernetesOptionsSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(KubernetesTasks), Command = nameof(KubernetesTasks.KubernetesOptions), Arguments = "options")] public partial class KubernetesOptionsSettings : KubernetesOptionsBase @@ -795,7 +795,7 @@ public partial class KubernetesOptionsSettings : KubernetesOptionsBase } #endregion #region KubernetesAttachSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(KubernetesTasks), Command = nameof(KubernetesTasks.KubernetesAttach), Arguments = "attach")] public partial class KubernetesAttachSettings : KubernetesOptionsBase @@ -813,7 +813,7 @@ public partial class KubernetesAttachSettings : KubernetesOptionsBase } #endregion #region KubernetesProxySettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(KubernetesTasks), Command = nameof(KubernetesTasks.KubernetesProxy), Arguments = "proxy")] public partial class KubernetesProxySettings : KubernetesOptionsBase @@ -843,7 +843,7 @@ public partial class KubernetesProxySettings : KubernetesOptionsBase } #endregion #region KubernetesAlphaSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(KubernetesTasks), Command = nameof(KubernetesTasks.KubernetesAlpha), Arguments = "alpha")] public partial class KubernetesAlphaSettings : KubernetesOptionsBase @@ -851,7 +851,7 @@ public partial class KubernetesAlphaSettings : KubernetesOptionsBase } #endregion #region KubernetesSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(KubernetesTasks), Command = nameof(KubernetesTasks.Kubernetes), Arguments = "kubectl")] public partial class KubernetesSettings : KubernetesOptionsBase @@ -859,7 +859,7 @@ public partial class KubernetesSettings : KubernetesOptionsBase } #endregion #region KubernetesCompletionSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(KubernetesTasks), Command = nameof(KubernetesTasks.KubernetesCompletion), Arguments = "completion")] public partial class KubernetesCompletionSettings : KubernetesOptionsBase @@ -867,7 +867,7 @@ public partial class KubernetesCompletionSettings : KubernetesOptionsBase } #endregion #region KubernetesPatchSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(KubernetesTasks), Command = nameof(KubernetesTasks.KubernetesPatch), Arguments = "patch")] public partial class KubernetesPatchSettings : KubernetesOptionsBase @@ -897,7 +897,7 @@ public partial class KubernetesPatchSettings : KubernetesOptionsBase } #endregion #region KubernetesReplaceSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(KubernetesTasks), Command = nameof(KubernetesTasks.KubernetesReplace), Arguments = "replace")] public partial class KubernetesReplaceSettings : KubernetesOptionsBase @@ -929,7 +929,7 @@ public partial class KubernetesReplaceSettings : KubernetesOptionsBase } #endregion #region KubernetesTaintSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(KubernetesTasks), Command = nameof(KubernetesTasks.KubernetesTaint), Arguments = "taint")] public partial class KubernetesTaintSettings : KubernetesOptionsBase @@ -955,7 +955,7 @@ public partial class KubernetesTaintSettings : KubernetesOptionsBase } #endregion #region KubernetesDescribeSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(KubernetesTasks), Command = nameof(KubernetesTasks.KubernetesDescribe), Arguments = "describe")] public partial class KubernetesDescribeSettings : KubernetesOptionsBase @@ -977,7 +977,7 @@ public partial class KubernetesDescribeSettings : KubernetesOptionsBase } #endregion #region KubernetesSetSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(KubernetesTasks), Command = nameof(KubernetesTasks.KubernetesSet), Arguments = "set")] public partial class KubernetesSetSettings : KubernetesOptionsBase @@ -987,7 +987,7 @@ public partial class KubernetesSetSettings : KubernetesOptionsBase } #endregion #region KubernetesAuthSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(KubernetesTasks), Command = nameof(KubernetesTasks.KubernetesAuth), Arguments = "auth")] public partial class KubernetesAuthSettings : KubernetesOptionsBase @@ -997,7 +997,7 @@ public partial class KubernetesAuthSettings : KubernetesOptionsBase } #endregion #region KubernetesCertificateSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(KubernetesTasks), Command = nameof(KubernetesTasks.KubernetesCertificate), Arguments = "certificate")] public partial class KubernetesCertificateSettings : KubernetesOptionsBase @@ -1007,7 +1007,7 @@ public partial class KubernetesCertificateSettings : KubernetesOptionsBase } #endregion #region KubernetesRolloutSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(KubernetesTasks), Command = nameof(KubernetesTasks.KubernetesRollout), Arguments = "rollout")] public partial class KubernetesRolloutSettings : KubernetesOptionsBase @@ -1017,7 +1017,7 @@ public partial class KubernetesRolloutSettings : KubernetesOptionsBase } #endregion #region KubernetesApplySettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(KubernetesTasks), Command = nameof(KubernetesTasks.KubernetesApply), Arguments = "apply")] public partial class KubernetesApplySettings : KubernetesOptionsBase @@ -1065,7 +1065,7 @@ public partial class KubernetesApplySettings : KubernetesOptionsBase } #endregion #region KubernetesApplyKustomizeSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(KubernetesTasks), Command = nameof(KubernetesTasks.KubernetesApplyKustomize), Arguments = "apply -k")] public partial class KubernetesApplyKustomizeSettings : KubernetesOptionsBase @@ -1115,7 +1115,7 @@ public partial class KubernetesApplyKustomizeSettings : KubernetesOptionsBase } #endregion #region KubernetesCordonSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(KubernetesTasks), Command = nameof(KubernetesTasks.KubernetesCordon), Arguments = "cordon")] public partial class KubernetesCordonSettings : KubernetesOptionsBase @@ -1129,7 +1129,7 @@ public partial class KubernetesCordonSettings : KubernetesOptionsBase } #endregion #region KubernetesCpSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(KubernetesTasks), Command = nameof(KubernetesTasks.KubernetesCp), Arguments = "cp")] public partial class KubernetesCpSettings : KubernetesOptionsBase @@ -1143,7 +1143,7 @@ public partial class KubernetesCpSettings : KubernetesOptionsBase } #endregion #region KubernetesApiVersionsSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(KubernetesTasks), Command = nameof(KubernetesTasks.KubernetesApiVersions), Arguments = "api-versions")] public partial class KubernetesApiVersionsSettings : KubernetesOptionsBase @@ -1151,7 +1151,7 @@ public partial class KubernetesApiVersionsSettings : KubernetesOptionsBase } #endregion #region KubernetesUncordonSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(KubernetesTasks), Command = nameof(KubernetesTasks.KubernetesUncordon), Arguments = "uncordon")] public partial class KubernetesUncordonSettings : KubernetesOptionsBase @@ -1165,7 +1165,7 @@ public partial class KubernetesUncordonSettings : KubernetesOptionsBase } #endregion #region KubernetesAutoscaleSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(KubernetesTasks), Command = nameof(KubernetesTasks.KubernetesAutoscale), Arguments = "autoscale")] public partial class KubernetesAutoscaleSettings : KubernetesOptionsBase @@ -1199,7 +1199,7 @@ public partial class KubernetesAutoscaleSettings : KubernetesOptionsBase } #endregion #region KubernetesPluginSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(KubernetesTasks), Command = nameof(KubernetesTasks.KubernetesPlugin), Arguments = "plugin")] public partial class KubernetesPluginSettings : KubernetesOptionsBase @@ -1209,7 +1209,7 @@ public partial class KubernetesPluginSettings : KubernetesOptionsBase } #endregion #region KubernetesClusterInfoSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(KubernetesTasks), Command = nameof(KubernetesTasks.KubernetesClusterInfo), Arguments = "cluster-info")] public partial class KubernetesClusterInfoSettings : KubernetesOptionsBase @@ -1217,7 +1217,7 @@ public partial class KubernetesClusterInfoSettings : KubernetesOptionsBase } #endregion #region KubernetesWaitSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(KubernetesTasks), Command = nameof(KubernetesTasks.KubernetesWait), Arguments = "wait")] public partial class KubernetesWaitSettings : KubernetesOptionsBase @@ -1243,7 +1243,7 @@ public partial class KubernetesWaitSettings : KubernetesOptionsBase } #endregion #region KubernetesConvertSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(KubernetesTasks), Command = nameof(KubernetesTasks.KubernetesConvert), Arguments = "convert")] public partial class KubernetesConvertSettings : KubernetesOptionsBase @@ -1267,7 +1267,7 @@ public partial class KubernetesConvertSettings : KubernetesOptionsBase } #endregion #region KubernetesCreateSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(KubernetesTasks), Command = nameof(KubernetesTasks.KubernetesCreate), Arguments = "create")] public partial class KubernetesCreateSettings : KubernetesOptionsBase @@ -1303,7 +1303,7 @@ public partial class KubernetesCreateSettings : KubernetesOptionsBase } #endregion #region KubernetesPortForwardSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(KubernetesTasks), Command = nameof(KubernetesTasks.KubernetesPortForward), Arguments = "port-forward")] public partial class KubernetesPortForwardSettings : KubernetesOptionsBase @@ -1317,7 +1317,7 @@ public partial class KubernetesPortForwardSettings : KubernetesOptionsBase } #endregion #region KubernetesRunContainerSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(KubernetesTasks), Command = nameof(KubernetesTasks.KubernetesRunContainer), Arguments = "run-container")] public partial class KubernetesRunContainerSettings : KubernetesOptionsBase @@ -1401,7 +1401,7 @@ public partial class KubernetesRunContainerSettings : KubernetesOptionsBase } #endregion #region KubernetesEditSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(KubernetesTasks), Command = nameof(KubernetesTasks.KubernetesEdit), Arguments = "edit")] public partial class KubernetesEditSettings : KubernetesOptionsBase @@ -1433,7 +1433,7 @@ public partial class KubernetesEditSettings : KubernetesOptionsBase } #endregion #region KubernetesScaleSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(KubernetesTasks), Command = nameof(KubernetesTasks.KubernetesScale), Arguments = "scale")] public partial class KubernetesScaleSettings : KubernetesOptionsBase @@ -1465,7 +1465,7 @@ public partial class KubernetesScaleSettings : KubernetesOptionsBase } #endregion #region KubernetesExplainSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(KubernetesTasks), Command = nameof(KubernetesTasks.KubernetesExplain), Arguments = "explain")] public partial class KubernetesExplainSettings : KubernetesOptionsBase @@ -1479,7 +1479,7 @@ public partial class KubernetesExplainSettings : KubernetesOptionsBase } #endregion #region KubernetesLogsSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(KubernetesTasks), Command = nameof(KubernetesTasks.KubernetesLogs), Arguments = "logs")] public partial class KubernetesLogsSettings : KubernetesOptionsBase @@ -1566,7 +1566,7 @@ public partial class KubernetesOptionsBase : ToolOptions } #endregion #region KubernetesApiResourcesSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class KubernetesApiResourcesSettingsExtensions { @@ -1663,7 +1663,7 @@ public static partial class KubernetesApiResourcesSettingsExtensions } #endregion #region KubernetesDrainSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class KubernetesDrainSettingsExtensions { @@ -1770,7 +1770,7 @@ public static partial class KubernetesDrainSettingsExtensions } #endregion #region KubernetesRunSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class KubernetesRunSettingsExtensions { @@ -2263,7 +2263,7 @@ public static partial class KubernetesRunSettingsExtensions } #endregion #region KubernetesGetSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class KubernetesGetSettingsExtensions { @@ -2633,7 +2633,7 @@ public static partial class KubernetesGetSettingsExtensions } #endregion #region KubernetesVersionSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class KubernetesVersionSettingsExtensions { @@ -2682,21 +2682,21 @@ public static partial class KubernetesVersionSettingsExtensions } #endregion #region KubernetesTopSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class KubernetesTopSettingsExtensions { } #endregion #region KubernetesConfigSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class KubernetesConfigSettingsExtensions { } #endregion #region KubernetesExecSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class KubernetesExecSettingsExtensions { @@ -2792,7 +2792,7 @@ public static partial class KubernetesExecSettingsExtensions } #endregion #region KubernetesRollingUpdateSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class KubernetesRollingUpdateSettingsExtensions { @@ -2962,7 +2962,7 @@ public static partial class KubernetesRollingUpdateSettingsExtensions } #endregion #region KubernetesLabelSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class KubernetesLabelSettingsExtensions { @@ -3225,7 +3225,7 @@ public static partial class KubernetesLabelSettingsExtensions } #endregion #region KubernetesAnnotateSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class KubernetesAnnotateSettingsExtensions { @@ -3471,7 +3471,7 @@ public static partial class KubernetesAnnotateSettingsExtensions } #endregion #region KubernetesDeleteSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class KubernetesDeleteSettingsExtensions { @@ -3700,7 +3700,7 @@ public static partial class KubernetesDeleteSettingsExtensions } #endregion #region KubernetesExposeSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class KubernetesExposeSettingsExtensions { @@ -3943,14 +3943,14 @@ public static partial class KubernetesExposeSettingsExtensions } #endregion #region KubernetesOptionsSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class KubernetesOptionsSettingsExtensions { } #endregion #region KubernetesAttachSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class KubernetesAttachSettingsExtensions { @@ -4030,7 +4030,7 @@ public static partial class KubernetesAttachSettingsExtensions } #endregion #region KubernetesProxySettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class KubernetesProxySettingsExtensions { @@ -4134,28 +4134,28 @@ public static partial class KubernetesProxySettingsExtensions } #endregion #region KubernetesAlphaSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class KubernetesAlphaSettingsExtensions { } #endregion #region KubernetesSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class KubernetesSettingsExtensions { } #endregion #region KubernetesCompletionSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class KubernetesCompletionSettingsExtensions { } #endregion #region KubernetesPatchSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class KubernetesPatchSettingsExtensions { @@ -4325,7 +4325,7 @@ public static partial class KubernetesPatchSettingsExtensions } #endregion #region KubernetesReplaceSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class KubernetesReplaceSettingsExtensions { @@ -4506,7 +4506,7 @@ public static partial class KubernetesReplaceSettingsExtensions } #endregion #region KubernetesTaintSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class KubernetesTaintSettingsExtensions { @@ -4645,7 +4645,7 @@ public static partial class KubernetesTaintSettingsExtensions } #endregion #region KubernetesDescribeSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class KubernetesDescribeSettingsExtensions { @@ -4774,7 +4774,7 @@ public static partial class KubernetesDescribeSettingsExtensions } #endregion #region KubernetesSetSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class KubernetesSetSettingsExtensions { @@ -4804,7 +4804,7 @@ public static partial class KubernetesSetSettingsExtensions } #endregion #region KubernetesAuthSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class KubernetesAuthSettingsExtensions { @@ -4819,7 +4819,7 @@ public static partial class KubernetesAuthSettingsExtensions } #endregion #region KubernetesCertificateSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class KubernetesCertificateSettingsExtensions { @@ -4849,7 +4849,7 @@ public static partial class KubernetesCertificateSettingsExtensions } #endregion #region KubernetesRolloutSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class KubernetesRolloutSettingsExtensions { @@ -4879,7 +4879,7 @@ public static partial class KubernetesRolloutSettingsExtensions } #endregion #region KubernetesApplySettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class KubernetesApplySettingsExtensions { @@ -5193,7 +5193,7 @@ public static partial class KubernetesApplySettingsExtensions } #endregion #region KubernetesApplyKustomizeSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class KubernetesApplyKustomizeSettingsExtensions { @@ -5515,7 +5515,7 @@ public static partial class KubernetesApplyKustomizeSettingsExtensions } #endregion #region KubernetesCordonSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class KubernetesCordonSettingsExtensions { @@ -5555,7 +5555,7 @@ public static partial class KubernetesCordonSettingsExtensions } #endregion #region KubernetesCpSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class KubernetesCpSettingsExtensions { @@ -5586,14 +5586,14 @@ public static partial class KubernetesCpSettingsExtensions } #endregion #region KubernetesApiVersionsSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class KubernetesApiVersionsSettingsExtensions { } #endregion #region KubernetesUncordonSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class KubernetesUncordonSettingsExtensions { @@ -5633,7 +5633,7 @@ public static partial class KubernetesUncordonSettingsExtensions } #endregion #region KubernetesAutoscaleSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class KubernetesAutoscaleSettingsExtensions { @@ -5804,7 +5804,7 @@ public static partial class KubernetesAutoscaleSettingsExtensions } #endregion #region KubernetesPluginSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class KubernetesPluginSettingsExtensions { @@ -5819,14 +5819,14 @@ public static partial class KubernetesPluginSettingsExtensions } #endregion #region KubernetesClusterInfoSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class KubernetesClusterInfoSettingsExtensions { } #endregion #region KubernetesWaitSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class KubernetesWaitSettingsExtensions { @@ -5947,7 +5947,7 @@ public static partial class KubernetesWaitSettingsExtensions } #endregion #region KubernetesConvertSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class KubernetesConvertSettingsExtensions { @@ -6069,7 +6069,7 @@ public static partial class KubernetesConvertSettingsExtensions } #endregion #region KubernetesCreateSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class KubernetesCreateSettingsExtensions { @@ -6290,7 +6290,7 @@ public static partial class KubernetesCreateSettingsExtensions } #endregion #region KubernetesPortForwardSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class KubernetesPortForwardSettingsExtensions { @@ -6345,7 +6345,7 @@ public static partial class KubernetesPortForwardSettingsExtensions } #endregion #region KubernetesRunContainerSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class KubernetesRunContainerSettingsExtensions { @@ -6830,7 +6830,7 @@ public static partial class KubernetesRunContainerSettingsExtensions } #endregion #region KubernetesEditSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class KubernetesEditSettingsExtensions { @@ -7035,7 +7035,7 @@ public static partial class KubernetesEditSettingsExtensions } #endregion #region KubernetesScaleSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class KubernetesScaleSettingsExtensions { @@ -7189,7 +7189,7 @@ public static partial class KubernetesScaleSettingsExtensions } #endregion #region KubernetesExplainSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class KubernetesExplainSettingsExtensions { @@ -7244,7 +7244,7 @@ public static partial class KubernetesExplainSettingsExtensions } #endregion #region KubernetesLogsSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class KubernetesLogsSettingsExtensions { diff --git a/src/Fallout.Common/Tools/MSBuild/MSBuild.Generated.cs b/src/Fallout.Common/Tools/MSBuild/MSBuild.Generated.cs index 864d02fbe..9c73c8db9 100644 --- a/src/Fallout.Common/Tools/MSBuild/MSBuild.Generated.cs +++ b/src/Fallout.Common/Tools/MSBuild/MSBuild.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/MSBuild/MSBuild.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.MSBuild; +namespace Fallout.Application.Tools.MSBuild; ///

The Microsoft Build Engine is a platform for building applications. This engine, which is also known as MSBuild, provides an XML schema for a project file that controls how the build platform processes and builds software. Visual Studio uses MSBuild, but it doesn't depend on Visual Studio. By invoking msbuild.exe on your project or solution file, you can orchestrate and build products in environments where Visual Studio isn't installed. Visual Studio uses MSBuild to load and build managed projects. The project files in Visual Studio (.csproj,.vbproj, vcxproj, and others) contain MSBuild XML code that executes when you build a project by using the IDE. Visual Studio projects import all the necessary settings and build processes to do typical development work, but you can extend or modify them from within Visual Studio or by using an XML editor.

For more details, visit the official website.

[ExcludeFromCodeCoverage] @@ -25,13 +25,13 @@ public partial class MSBuildTasks : ToolTasks ///

The Microsoft Build Engine is a platform for building applications. This engine, which is also known as MSBuild, provides an XML schema for a project file that controls how the build platform processes and builds software. Visual Studio uses MSBuild, but it doesn't depend on Visual Studio. By invoking msbuild.exe on your project or solution file, you can orchestrate and build products in environments where Visual Studio isn't installed. Visual Studio uses MSBuild to load and build managed projects. The project files in Visual Studio (.csproj,.vbproj, vcxproj, and others) contain MSBuild XML code that executes when you build a project by using the IDE. Visual Studio projects import all the necessary settings and build processes to do typical development work, but you can extend or modify them from within Visual Studio or by using an XML editor.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <targetPath> via
  • /detailedsummary via
  • /logger via
  • /maxcpucount via
  • /noconsolelogger via
  • /nodeReuse via
  • /nologo via
  • /p via
  • /p:Platform via
  • /restore via
  • /target via
  • /toolsversion via
  • /verbosity via
public static IReadOnlyCollection MSBuild(MSBuildSettings options = null) => new MSBuildTasks().Run(options); - /// + /// public static IReadOnlyCollection MSBuild(Configure configurator) => new MSBuildTasks().Run(configurator.Invoke(new MSBuildSettings())); - /// + /// public static IEnumerable<(MSBuildSettings Settings, IReadOnlyCollection Output)> MSBuild(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(MSBuild, degreeOfParallelism, completeOnFailure); } #region MSBuildSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(MSBuildTasks), Command = nameof(MSBuildTasks.MSBuild))] public partial class MSBuildSettings : ToolOptions @@ -69,7 +69,7 @@ public partial class MSBuildSettings : ToolOptions } #endregion #region MSBuildSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class MSBuildSettingsExtensions { diff --git a/src/Fallout.Common/Tools/MSBuild/MSBuildPlatform.cs b/src/Fallout.Common/Tools/MSBuild/MSBuildPlatform.cs index 05f0b0e01..b333c347d 100644 --- a/src/Fallout.Common/Tools/MSBuild/MSBuildPlatform.cs +++ b/src/Fallout.Common/Tools/MSBuild/MSBuildPlatform.cs @@ -1,7 +1,7 @@ using System; using System.Linq; -namespace Fallout.Common.Tools.MSBuild; +namespace Fallout.Application.Tools.MSBuild; /// ///

The Microsoft Build Engine is a platform for building applications. This engine, which is also known as MSBuild, provides an XML schema for a project file that controls how the build platform processes and builds software. Visual Studio uses MSBuild, but it doesn't depend on Visual Studio. By invoking msbuild.exe on your project or solution file, you can orchestrate and build products in environments where Visual Studio isn't installed. Visual Studio uses MSBuild to load and build managed projects. The project files in Visual Studio (.csproj,.vbproj, vcxproj, and others) contain MSBuild XML code that executes when you build a project by using the IDE. Visual Studio projects import all the necessary settings and build processes to do typical development work, but you can extend or modify them from within Visual Studio or by using an XML editor.

diff --git a/src/Fallout.Common/Tools/MSBuild/MSBuildProject.cs b/src/Fallout.Common/Tools/MSBuild/MSBuildProject.cs index 049307af1..6024c584f 100644 --- a/src/Fallout.Common/Tools/MSBuild/MSBuildProject.cs +++ b/src/Fallout.Common/Tools/MSBuild/MSBuildProject.cs @@ -3,7 +3,7 @@ using System.Dynamic; using System.Linq; -namespace Fallout.Common.Tools.MSBuild; +namespace Fallout.Application.Tools.MSBuild; public class MSBuildProject : DynamicObject { diff --git a/src/Fallout.Common/Tools/MSBuild/MSBuildSettingsExtensions.cs b/src/Fallout.Common/Tools/MSBuild/MSBuildSettingsExtensions.cs index 4daa75529..b2cdccf6c 100644 --- a/src/Fallout.Common/Tools/MSBuild/MSBuildSettingsExtensions.cs +++ b/src/Fallout.Common/Tools/MSBuild/MSBuildSettingsExtensions.cs @@ -1,7 +1,7 @@ using System; using System.Linq; -namespace Fallout.Common.Tools.MSBuild; +namespace Fallout.Application.Tools.MSBuild; public static partial class MSBuildSettingsExtensions { diff --git a/src/Fallout.Common/Tools/MSBuild/MSBuildTasks.cs b/src/Fallout.Common/Tools/MSBuild/MSBuildTasks.cs index 0205c1658..48be1de0d 100644 --- a/src/Fallout.Common/Tools/MSBuild/MSBuildTasks.cs +++ b/src/Fallout.Common/Tools/MSBuild/MSBuildTasks.cs @@ -1,11 +1,10 @@ using System; using System.Linq; using System.Reflection; -using Fallout.Common.Tooling; using Fallout.Common.Utilities; using Fallout.Application.Tooling; -namespace Fallout.Common.Tools.MSBuild; +namespace Fallout.Application.Tools.MSBuild; public class MSBuildVerbosityMappingAttribute : VerbosityMappingAttribute { diff --git a/src/Fallout.Common/Tools/MSBuild/MSBuildToolPathResolver.cs b/src/Fallout.Common/Tools/MSBuild/MSBuildToolPathResolver.cs index d547b3063..c0937a840 100644 --- a/src/Fallout.Common/Tools/MSBuild/MSBuildToolPathResolver.cs +++ b/src/Fallout.Common/Tools/MSBuild/MSBuildToolPathResolver.cs @@ -1,11 +1,12 @@ -using System; +using System; using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Linq; using Fallout.Common.Utilities; +using Fallout.Common; -namespace Fallout.Common.Tools.MSBuild; +namespace Fallout.Application.Tools.MSBuild; public static class MSBuildToolPathResolver { diff --git a/src/Fallout.Common/Tools/MSBuild/MSBuildVersion.cs b/src/Fallout.Common/Tools/MSBuild/MSBuildVersion.cs index 532859952..3dafba5e7 100644 --- a/src/Fallout.Common/Tools/MSBuild/MSBuildVersion.cs +++ b/src/Fallout.Common/Tools/MSBuild/MSBuildVersion.cs @@ -1,7 +1,7 @@ using System; using System.Linq; -namespace Fallout.Common.Tools.MSBuild; +namespace Fallout.Application.Tools.MSBuild; /// ///

The Microsoft Build Engine is a platform for building applications. This engine, which is also known as MSBuild, provides an XML schema for a project file that controls how the build platform processes and builds software. Visual Studio uses MSBuild, but it doesn't depend on Visual Studio. By invoking msbuild.exe on your project or solution file, you can orchestrate and build products in environments where Visual Studio isn't installed. Visual Studio uses MSBuild to load and build managed projects. The project files in Visual Studio (.csproj,.vbproj, vcxproj, and others) contain MSBuild XML code that executes when you build a project by using the IDE. Visual Studio projects import all the necessary settings and build processes to do typical development work, but you can extend or modify them from within Visual Studio or by using an XML editor.

diff --git a/src/Fallout.Common/Tools/MSpec/MSpec.Generated.cs b/src/Fallout.Common/Tools/MSpec/MSpec.Generated.cs index d4a6bcdb2..f131b53da 100644 --- a/src/Fallout.Common/Tools/MSpec/MSpec.Generated.cs +++ b/src/Fallout.Common/Tools/MSpec/MSpec.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/MSpec/MSpec.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.MSpec; +namespace Fallout.Application.Tools.MSpec; ///

MSpec is called a 'context/specification' test framework because of the 'grammar' that is used in describing and coding the tests or 'specs'.

For more details, visit the official website.

[ExcludeFromCodeCoverage] @@ -27,13 +27,13 @@ public partial class MSpecTasks : ToolTasks, IRequireNuGetPackage ///

MSpec is called a 'context/specification' test framework because of the 'grammar' that is used in describing and coding the tests or 'specs'.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <assemblies> via
  • --appveyor via
  • --html via
  • --no-appveyor-autodetect via
  • --no-color via
  • --no-teamcity-autodetect via
  • --progress via
  • --silent via
  • --teamcity via
  • --timeinfo via
  • --xml via
  • -exclude via
  • -filters via
  • -include via
public static IReadOnlyCollection MSpec(MSpecSettings options = null) => new MSpecTasks().Run(options); - /// + /// public static IReadOnlyCollection MSpec(Configure configurator) => new MSpecTasks().Run(configurator.Invoke(new MSpecSettings())); - /// + /// public static IEnumerable<(MSpecSettings Settings, IReadOnlyCollection Output)> MSpec(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(MSpec, degreeOfParallelism, completeOnFailure); } #region MSpecSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(MSpecTasks), Command = nameof(MSpecTasks.MSpec))] public partial class MSpecSettings : ToolOptions @@ -69,7 +69,7 @@ public partial class MSpecSettings : ToolOptions } #endregion #region MSpecSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class MSpecSettingsExtensions { diff --git a/src/Fallout.Common/Tools/MSpec/MSpecTasks.cs b/src/Fallout.Common/Tools/MSpec/MSpecTasks.cs index 6f4b05689..0fadd3f38 100644 --- a/src/Fallout.Common/Tools/MSpec/MSpecTasks.cs +++ b/src/Fallout.Common/Tools/MSpec/MSpecTasks.cs @@ -1,8 +1,10 @@ -using System; +using System; using System.Linq; -using Fallout.Common.Tooling; +using Fallout.Application.Tooling; +using Fallout.Infrastructure.Tooling; +using Fallout.Common; -namespace Fallout.Common.Tools.MSpec; +namespace Fallout.Application.Tools.MSpec; partial class MSpecTasks { diff --git a/src/Fallout.Common/Tools/MakeNsis/MakeNSIS.Generated.cs b/src/Fallout.Common/Tools/MakeNsis/MakeNSIS.Generated.cs index f719bcd3e..75c05c157 100644 --- a/src/Fallout.Common/Tools/MakeNsis/MakeNSIS.Generated.cs +++ b/src/Fallout.Common/Tools/MakeNsis/MakeNSIS.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/MakeNsis/MakeNSIS.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.MakeNSIS; +namespace Fallout.Application.Tools.MakeNSIS; ///

NSIS creates installers that are capable of installing, uninstalling, setting system settings, extracting files, etc. Because it's based on script files you can fully control every part of your installer.

For more details, visit the official website.

[ExcludeFromCodeCoverage] @@ -27,13 +27,13 @@ public partial class MakeNSISTasks : ToolTasks, IRequirePathTool ///

NSIS creates installers that are capable of installing, uninstalling, setting system settings, extracting files, etc. Because it's based on script files you can fully control every part of your installer.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <scriptFile> via
  • /D via
  • /INPUTCHARSET via
  • /NOCD via
  • /NOCONFIG via
  • /O via
  • /OUTPUTCHARSET via
  • /P via
  • /PPO via
  • /SAFEPPO via
  • /V via
  • /WX via
  • /X via
  • /X via
public static IReadOnlyCollection MakeNSIS(MakeNSISSettings options = null) => new MakeNSISTasks().Run(options); - /// + /// public static IReadOnlyCollection MakeNSIS(Configure configurator) => new MakeNSISTasks().Run(configurator.Invoke(new MakeNSISSettings())); - /// + /// public static IEnumerable<(MakeNSISSettings Settings, IReadOnlyCollection Output)> MakeNSIS(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(MakeNSIS, degreeOfParallelism, completeOnFailure); } #region MakeNSISSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(MakeNSISTasks), Command = nameof(MakeNSISTasks.MakeNSIS))] public partial class MakeNSISSettings : ToolOptions @@ -69,7 +69,7 @@ public partial class MakeNSISSettings : ToolOptions } #endregion #region MakeNSISSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class MakeNSISSettingsExtensions { diff --git a/src/Fallout.Common/Tools/Mastodon/Mastodon.Generated.cs b/src/Fallout.Common/Tools/Mastodon/Mastodon.Generated.cs index b3a2b21d1..b0bdc20f9 100644 --- a/src/Fallout.Common/Tools/Mastodon/Mastodon.Generated.cs +++ b/src/Fallout.Common/Tools/Mastodon/Mastodon.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/Mastodon/Mastodon.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.Mastodon; +namespace Fallout.Application.Tools.Mastodon; #region MastodonStatus /// Used within . diff --git a/src/Fallout.Common/Tools/Mastodon/MastodonTasks.cs b/src/Fallout.Common/Tools/Mastodon/MastodonTasks.cs index 310027f1f..81251a2c7 100644 --- a/src/Fallout.Common/Tools/Mastodon/MastodonTasks.cs +++ b/src/Fallout.Common/Tools/Mastodon/MastodonTasks.cs @@ -3,11 +3,11 @@ using System.Linq; using System.Net.Http; using System.Threading.Tasks; -using Fallout.Common.Tooling; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Net; +using Fallout.Application.Tooling; -namespace Fallout.Common.Tools.Mastodon; +namespace Fallout.Application.Tools.Mastodon; public static class MastodonTasks { diff --git a/src/Fallout.Common/Tools/MauiCheck/MauiCheck.Generated.cs b/src/Fallout.Common/Tools/MauiCheck/MauiCheck.Generated.cs index 7422118cf..d22b5f8bd 100644 --- a/src/Fallout.Common/Tools/MauiCheck/MauiCheck.Generated.cs +++ b/src/Fallout.Common/Tools/MauiCheck/MauiCheck.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/MauiCheck/MauiCheck.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.MauiCheck; +namespace Fallout.Application.Tools.MauiCheck; ///

A dotnet tool for helping set up your .NET MAUI environment.

For more details, visit the official website.

[ExcludeFromCodeCoverage] @@ -28,20 +28,20 @@ public partial class MauiCheckTasks : ToolTasks, IRequireNuGetPackage ///

A dotnet tool for helping set up your .NET MAUI environment.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --ci via
  • --fix via
  • --manifest via
  • --non-interactive via
  • --preview via
  • --skip via
public static IReadOnlyCollection MauiCheck(MauiCheckSettings options = null) => new MauiCheckTasks().Run(options); - /// + /// public static IReadOnlyCollection MauiCheck(Configure configurator) => new MauiCheckTasks().Run(configurator.Invoke(new MauiCheckSettings())); - /// + /// public static IEnumerable<(MauiCheckSettings Settings, IReadOnlyCollection Output)> MauiCheck(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(MauiCheck, degreeOfParallelism, completeOnFailure); ///

A dotnet tool for helping set up your .NET MAUI environment.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --dotnet-pre via
  • --dotnet-rollForward via
  • --dotnet-version via
  • --nuget-sources via
public static IReadOnlyCollection MauiCheckConfig(MauiCheckConfigSettings options = null) => new MauiCheckTasks().Run(options); - /// + /// public static IReadOnlyCollection MauiCheckConfig(Configure configurator) => new MauiCheckTasks().Run(configurator.Invoke(new MauiCheckConfigSettings())); - /// + /// public static IEnumerable<(MauiCheckConfigSettings Settings, IReadOnlyCollection Output)> MauiCheckConfig(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(MauiCheckConfig, degreeOfParallelism, completeOnFailure); } #region MauiCheckSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(MauiCheckTasks), Command = nameof(MauiCheckTasks.MauiCheck))] public partial class MauiCheckSettings : ToolOptions @@ -61,7 +61,7 @@ public partial class MauiCheckSettings : ToolOptions } #endregion #region MauiCheckConfigSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(MauiCheckTasks), Command = nameof(MauiCheckTasks.MauiCheckConfig), Arguments = "config")] public partial class MauiCheckConfigSettings : ToolOptions @@ -77,7 +77,7 @@ public partial class MauiCheckConfigSettings : ToolOptions } #endregion #region MauiCheckSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class MauiCheckSettingsExtensions { @@ -183,7 +183,7 @@ public static partial class MauiCheckSettingsExtensions } #endregion #region MauiCheckConfigSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class MauiCheckConfigSettingsExtensions { diff --git a/src/Fallout.Common/Tools/MinVer/MinVer.Generated.cs b/src/Fallout.Common/Tools/MinVer/MinVer.Generated.cs index 4469aec10..bf8fa3f64 100644 --- a/src/Fallout.Common/Tools/MinVer/MinVer.Generated.cs +++ b/src/Fallout.Common/Tools/MinVer/MinVer.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/MinVer/MinVer.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.MinVer; +namespace Fallout.Application.Tools.MinVer; ///

Minimalistic versioning using Git tags.

For more details, visit the official website.

[ExcludeFromCodeCoverage] @@ -28,13 +28,13 @@ public partial class MinVerTasks : ToolTasks, IRequireNuGetPackage ///

Minimalistic versioning using Git tags.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --auto-increment via
  • --build-metadata via
  • --default-pre-release-identifiers via
  • --minimum-major-minor via
  • --tag-prefix via
  • --verbosity via
public static (MinVer Result, IReadOnlyCollection Output) MinVer(MinVerSettings options = null) => new MinVerTasks().Run(options); - /// + /// public static (MinVer Result, IReadOnlyCollection Output) MinVer(Configure configurator) => new MinVerTasks().Run(configurator.Invoke(new MinVerSettings())); - /// + /// public static IEnumerable<(MinVerSettings Settings, MinVer Result, IReadOnlyCollection Output)> MinVer(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(MinVer, degreeOfParallelism, completeOnFailure); } #region MinVerSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(MinVerTasks), Command = nameof(MinVerTasks.MinVer))] public partial class MinVerSettings : ToolOptions, IToolOptionsWithFramework @@ -54,7 +54,7 @@ public partial class MinVerSettings : ToolOptions, IToolOptionsWithFramework } #endregion #region MinVerSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class MinVerSettingsExtensions { diff --git a/src/Fallout.Common/Tools/MinVer/MinVerAttribute.cs b/src/Fallout.Common/Tools/MinVer/MinVerAttribute.cs index 93a5b53f8..d4229632f 100644 --- a/src/Fallout.Common/Tools/MinVer/MinVerAttribute.cs +++ b/src/Fallout.Common/Tools/MinVer/MinVerAttribute.cs @@ -4,10 +4,10 @@ using Fallout.Common.CI.AppVeyor; using Fallout.Common.CI.AzurePipelines; using Fallout.Common.CI.TeamCity; -using Fallout.Common.Tooling; using Fallout.Application.ValueInjection; +using Fallout.Application.Tooling; -namespace Fallout.Common.Tools.MinVer; +namespace Fallout.Application.Tools.MinVer; /// /// Injects an instance of based on the local repository. diff --git a/src/Fallout.Common/Tools/MinVer/MinVerTasks.cs b/src/Fallout.Common/Tools/MinVer/MinVerTasks.cs index 8db835a42..74d4f9b47 100644 --- a/src/Fallout.Common/Tools/MinVer/MinVerTasks.cs +++ b/src/Fallout.Common/Tools/MinVer/MinVerTasks.cs @@ -1,9 +1,9 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; -using Fallout.Common.Tooling; +using Fallout.Application.Tooling; -namespace Fallout.Common.Tools.MinVer; +namespace Fallout.Application.Tools.MinVer; partial class MinVerTasks { diff --git a/src/Fallout.Common/Tools/NSwag/NSwag.Generated.cs b/src/Fallout.Common/Tools/NSwag/NSwag.Generated.cs index 3d3f7aec0..30658a262 100644 --- a/src/Fallout.Common/Tools/NSwag/NSwag.Generated.cs +++ b/src/Fallout.Common/Tools/NSwag/NSwag.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/NSwag/NSwag.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.NSwag; +namespace Fallout.Application.Tools.NSwag; ///

The project combines the functionality of Swashbuckle (Swagger generation) and AutoRest (client generation) in one toolchain. This way a lot of incompatibilites can be avoided and features which are not well described by the Swagger specification or JSON Schema are better supported (e.g. inheritance, enum and reference handling). The NSwag project heavily uses NJsonSchema for .NET for JSON Schema handling and C#/TypeScript class/interface generation.

For more details, visit the official website.

[ExcludeFromCodeCoverage] @@ -28,139 +28,139 @@ public partial class NSwagTasks : ToolTasks, IRequireNuGetPackage ///

Prints the toolchain version.

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 NSwagVersion(NSwagVersionSettings options = null) => new NSwagTasks().Run(options); - /// + /// public static IReadOnlyCollection NSwagVersion(Configure configurator) => new NSwagTasks().Run(configurator.Invoke(new NSwagVersionSettings())); - /// + /// public static IEnumerable<(NSwagVersionSettings Settings, IReadOnlyCollection Output)> NSwagVersion(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(NSwagVersion, degreeOfParallelism, completeOnFailure); ///

List all types for the given assembly and settings.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • /Assembly via
  • /AssemblyConfig via
  • /File via
  • /ReferencePaths via
  • /UseNuGetCache via
  • /Variables via
public static IReadOnlyCollection NSwagListTypes(NSwagListTypesSettings options = null) => new NSwagTasks().Run(options); - /// + /// public static IReadOnlyCollection NSwagListTypes(Configure configurator) => new NSwagTasks().Run(configurator.Invoke(new NSwagListTypesSettings())); - /// + /// public static IEnumerable<(NSwagListTypesSettings Settings, IReadOnlyCollection Output)> NSwagListTypes(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(NSwagListTypes, degreeOfParallelism, completeOnFailure); ///

List all controllers classes for the given assembly and settings.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • /Assembly via
  • /AssemblyConfig via
  • /File via
  • /ReferencePaths via
  • /UseNuGetCache via
  • /Variables via
public static IReadOnlyCollection NSwagListWebApiControllers(NSwagListWebApiControllersSettings options = null) => new NSwagTasks().Run(options); - /// + /// public static IReadOnlyCollection NSwagListWebApiControllers(Configure configurator) => new NSwagTasks().Run(configurator.Invoke(new NSwagListWebApiControllersSettings())); - /// + /// public static IEnumerable<(NSwagListWebApiControllersSettings Settings, IReadOnlyCollection Output)> NSwagListWebApiControllers(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(NSwagListWebApiControllers, degreeOfParallelism, completeOnFailure); ///

The project combines the functionality of Swashbuckle (Swagger generation) and AutoRest (client generation) in one toolchain. This way a lot of incompatibilites can be avoided and features which are not well described by the Swagger specification or JSON Schema are better supported (e.g. inheritance, enum and reference handling). The NSwag project heavily uses NJsonSchema for .NET for JSON Schema handling and C#/TypeScript class/interface generation.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • /Assembly via
  • /AssemblyConfig via
  • /Output via
  • /OutputType via
  • /ReferencePaths via
  • /UseNuGetCache via
public static IReadOnlyCollection NSwagTypesToOpenApi(NSwagTypesToOpenApiSettings options = null) => new NSwagTasks().Run(options); - /// + /// public static IReadOnlyCollection NSwagTypesToOpenApi(Configure configurator) => new NSwagTasks().Run(configurator.Invoke(new NSwagTypesToOpenApiSettings())); - /// + /// public static IEnumerable<(NSwagTypesToOpenApiSettings Settings, IReadOnlyCollection Output)> NSwagTypesToOpenApi(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(NSwagTypesToOpenApi, degreeOfParallelism, completeOnFailure); ///

The project combines the functionality of Swashbuckle (Swagger generation) and AutoRest (client generation) in one toolchain. This way a lot of incompatibilites can be avoided and features which are not well described by the Swagger specification or JSON Schema are better supported (e.g. inheritance, enum and reference handling). The NSwag project heavily uses NJsonSchema for .NET for JSON Schema handling and C#/TypeScript class/interface generation.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • /AllowReferencesWithProperties via
  • /Assembly via
  • /AssemblyConfig via
  • /ClassNames via
  • /DefaultDictionaryValueReferenceTypeNullHandling via
  • /DefaultEnumHandling via
  • /DefaultPropertyNameHandling via
  • /DefaultReferenceTypeNullHandling via
  • /FlattenInheritanceHierarchy via
  • /GenerateKnownTypes via
  • /GenerateXmlObjects via
  • /IgnoreObsoleteProperties via
  • /Output via
  • /OutputType via
  • /ReferencePaths via
  • /UseNuGetCache via
public static IReadOnlyCollection NSwagTypesToSwagger(NSwagTypesToSwaggerSettings options = null) => new NSwagTasks().Run(options); - /// + /// public static IReadOnlyCollection NSwagTypesToSwagger(Configure configurator) => new NSwagTasks().Run(configurator.Invoke(new NSwagTypesToSwaggerSettings())); - /// + /// public static IEnumerable<(NSwagTypesToSwaggerSettings Settings, IReadOnlyCollection Output)> NSwagTypesToSwagger(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(NSwagTypesToSwagger, degreeOfParallelism, completeOnFailure); ///

Generates a Swagger/OpenAPI specification for a controller or controlles contained in a .NET Web API assembly.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • /AllowNullableBodyParameters via
  • /AllowReferencesWithProperties via
  • /AspNetCoreEnvironment via
  • /Assembly via
  • /AssemblyConfig via
  • /ContractResolver via
  • /CreateWebHostBuilderMethod via
  • /DefaultDictionaryValueReferenceTypeNullHandling via
  • /DefaultEnumHandling via
  • /DefaultPropertyNameHandling via
  • /DefaultReferenceTypeNullHandling via
  • /DefaultResponseReferenceTypeNullHandling via
  • /DocumentName via
  • /DocumentProcessors via
  • /DocumentTemplate via
  • /ExcludedTypeNames via
  • /FlattenInheritanceHierarchy via
  • /GenerateAbstractProperties via
  • /GenerateAbstractSchemas via
  • /GenerateEnumMappingDescription via
  • /GenerateKnownTypes via
  • /GenerateXmlObjects via
  • /IgnoreObsoleteProperties via
  • /InfoDescription via
  • /InfoTitle via
  • /InfoVersion via
  • /OperationProcessors via
  • /Output via
  • /OutputType via
  • /ReferencePaths via
  • /SchemaNameGenerator via
  • /SerializerSettings via
  • /ServiceBasePath via
  • /ServiceHost via
  • /ServiceSchemes via
  • /Startup via
  • /TypeNameGenerator via
  • /UseDocumentProvider via
  • /UseNuGetCache via
public static IReadOnlyCollection NSwagWebApiToOpenApi(NSwagWebApiToOpenApiSettings options = null) => new NSwagTasks().Run(options); - /// + /// public static IReadOnlyCollection NSwagWebApiToOpenApi(Configure configurator) => new NSwagTasks().Run(configurator.Invoke(new NSwagWebApiToOpenApiSettings())); - /// + /// public static IEnumerable<(NSwagWebApiToOpenApiSettings Settings, IReadOnlyCollection Output)> NSwagWebApiToOpenApi(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(NSwagWebApiToOpenApi, degreeOfParallelism, completeOnFailure); ///

Generates a Swagger/OpenAPI specification for a controller or controlles contained in a .NET Web API assembly (obsolete: use webapi2openapi instead).

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • /AddMissingPathParameters via
  • /AllowNullableBodyParameters via
  • /AllowReferencesWithProperties via
  • /AspNetCore via
  • /AspNetCoreEnvironment via
  • /Assembly via
  • /AssemblyConfig via
  • /ContractResolver via
  • /Controller via
  • /Controllers via
  • /CreateWebHostBuilderMethod via
  • /DefaultDictionaryValueReferenceTypeNullHandling via
  • /DefaultEnumHandling via
  • /DefaultPropertyNameHandling via
  • /DefaultReferenceTypeNullHandling via
  • /DefaultResponseReferenceTypeNullHandling via
  • /DefaultUrlTemplate via
  • /DocumentName via
  • /DocumentProcessors via
  • /DocumentTemplate via
  • /ExcludedTypeNames via
  • /FlattenInheritanceHierarchy via
  • /GenerateAbstractProperties via
  • /GenerateAbstractSchemas via
  • /GenerateEnumMappingDescription via
  • /GenerateKnownTypes via
  • /GenerateXmlObjects via
  • /IgnoreObsoleteProperties via
  • /IncludedVersions via
  • /InfoDescription via
  • /InfoTitle via
  • /InfoVersion via
  • /OperationProcessors via
  • /Output via
  • /OutputType via
  • /ReferencePaths via
  • /ResolveJsonOptions via
  • /SchemaNameGenerator via
  • /SerializerSettings via
  • /ServiceBasePath via
  • /ServiceHost via
  • /ServiceSchemes via
  • /Startup via
  • /TypeNameGenerator via
  • /UseDocumentProvider via
  • /UseNuGetCache via
public static IReadOnlyCollection NSwagWebApiToSwagger(NSwagWebApiToSwaggerSettings options = null) => new NSwagTasks().Run(options); - /// + /// public static IReadOnlyCollection NSwagWebApiToSwagger(Configure configurator) => new NSwagTasks().Run(configurator.Invoke(new NSwagWebApiToSwaggerSettings())); - /// + /// public static IEnumerable<(NSwagWebApiToSwaggerSettings Settings, IReadOnlyCollection Output)> NSwagWebApiToSwagger(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(NSwagWebApiToSwagger, degreeOfParallelism, completeOnFailure); ///

Generates a Swagger specification ASP.NET Core Mvc application using ApiExplorer.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • /AllowNullableBodyParameters via
  • /AllowReferencesWithProperties via
  • /AspNetCoreEnvironment via
  • /Assembly via
  • /AssemblyConfig via
  • /ContractResolver via
  • /CreateWebHostBuilderMethod via
  • /DefaultDictionaryValueReferenceTypeNullHandling via
  • /DefaultEnumHandling via
  • /DefaultPropertyNameHandling via
  • /DefaultReferenceTypeNullHandling via
  • /DefaultResponseReferenceTypeNullHandling via
  • /DocumentName via
  • /DocumentProcessors via
  • /DocumentTemplate via
  • /ExcludedTypeNames via
  • /FlattenInheritanceHierarchy via
  • /GenerateAbstractProperties via
  • /GenerateAbstractSchemas via
  • /GenerateEnumMappingDescription via
  • /GenerateKnownTypes via
  • /GenerateXmlObjects via
  • /IgnoreObsoleteProperties via
  • /InfoDescription via
  • /InfoTitle via
  • /InfoVersion via
  • /OperationProcessors via
  • /Output via
  • /OutputType via
  • /ReferencePaths via
  • /SchemaNameGenerator via
  • /SerializerSettings via
  • /ServiceBasePath via
  • /ServiceHost via
  • /ServiceSchemes via
  • /Startup via
  • /TypeNameGenerator via
  • /UseDocumentProvider via
  • /UseNuGetCache via
public static IReadOnlyCollection NSwagAspNetCoreToOpenApi(NSwagAspNetCoreToOpenApiSettings options = null) => new NSwagTasks().Run(options); - /// + /// public static IReadOnlyCollection NSwagAspNetCoreToOpenApi(Configure configurator) => new NSwagTasks().Run(configurator.Invoke(new NSwagAspNetCoreToOpenApiSettings())); - /// + /// public static IEnumerable<(NSwagAspNetCoreToOpenApiSettings Settings, IReadOnlyCollection Output)> NSwagAspNetCoreToOpenApi(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(NSwagAspNetCoreToOpenApi, degreeOfParallelism, completeOnFailure); ///

Generates a Swagger specification ASP.NET Core Mvc application using ApiExplorer (obsolete: use aspnetcore2openapi instead).

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • /AllowNullableBodyParameters via
  • /AllowReferencesWithProperties via
  • /ApiGroupNames via
  • /AspNetCoreEnvironment via
  • /Assembly via
  • /AssemblyConfig via
  • /Configuration via
  • /ContractResolver via
  • /CreateWebHostBuilderMethod via
  • /DefaultDictionaryValueReferenceTypeNullHandling via
  • /DefaultEnumHandling via
  • /DefaultPropertyNameHandling via
  • /DefaultReferenceTypeNullHandling via
  • /DefaultResponseReferenceTypeNullHandling via
  • /DocumentName via
  • /DocumentProcessors via
  • /DocumentTemplate via
  • /ExcludedTypeNames via
  • /FlattenInheritanceHierarchy via
  • /GenerateAbstractProperties via
  • /GenerateAbstractSchemas via
  • /GenerateEnumMappingDescription via
  • /GenerateKnownTypes via
  • /GenerateXmlObjects via
  • /IgnoreObsoleteProperties via
  • /InfoDescription via
  • /InfoTitle via
  • /InfoVersion via
  • /MSBuildProjectExtensionsPath via
  • /NoBuild via
  • /OperationProcessors via
  • /Output via
  • /OutputType via
  • /Project via
  • /ReferencePaths via
  • /RequireParametersWithoutDefault via
  • /Runtime via
  • /SchemaNameGenerator via
  • /SerializerSettings via
  • /ServiceBasePath via
  • /ServiceHost via
  • /ServiceSchemes via
  • /Startup via
  • /TargetFramework via
  • /TypeNameGenerator via
  • /UseDocumentProvider via
  • /UseNuGetCache via
  • /Verbose via
  • /WorkingDirectory via
public static IReadOnlyCollection NSwagAspNetCoreToSwagger(NSwagAspNetCoreToSwaggerSettings options = null) => new NSwagTasks().Run(options); - /// + /// public static IReadOnlyCollection NSwagAspNetCoreToSwagger(Configure configurator) => new NSwagTasks().Run(configurator.Invoke(new NSwagAspNetCoreToSwaggerSettings())); - /// + /// public static IEnumerable<(NSwagAspNetCoreToSwaggerSettings Settings, IReadOnlyCollection Output)> NSwagAspNetCoreToSwagger(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(NSwagAspNetCoreToSwagger, degreeOfParallelism, completeOnFailure); ///

Creates a new nswag.json file in the current directory.

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 NSwagCreateDocument(NSwagCreateDocumentSettings options = null) => new NSwagTasks().Run(options); - /// + /// public static IReadOnlyCollection NSwagCreateDocument(Configure configurator) => new NSwagTasks().Run(configurator.Invoke(new NSwagCreateDocumentSettings())); - /// + /// public static IEnumerable<(NSwagCreateDocumentSettings Settings, IReadOnlyCollection Output)> NSwagCreateDocument(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(NSwagCreateDocument, degreeOfParallelism, completeOnFailure); ///

Executes an .nswag file. If 'input' is not specified then all *.nswag files and the nswag.json file is executed.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • /Input via
  • /Variables via
public static IReadOnlyCollection NSwagExecuteDocument(NSwagExecuteDocumentSettings options = null) => new NSwagTasks().Run(options); - /// + /// public static IReadOnlyCollection NSwagExecuteDocument(Configure configurator) => new NSwagTasks().Run(configurator.Invoke(new NSwagExecuteDocumentSettings())); - /// + /// public static IEnumerable<(NSwagExecuteDocumentSettings Settings, IReadOnlyCollection Output)> NSwagExecuteDocument(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(NSwagExecuteDocument, degreeOfParallelism, completeOnFailure); ///

Generates CSharp classes from a JSON Schema.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • /AnyType via
  • /ArrayInstanceType via
  • /ArrayType via
  • /DateTimeType via
  • /DictionaryInstanceType via
  • /DictionaryType via
  • /GenerateOptionalPropertiesAsNullable via
  • /Input via
  • /Name via
  • /Namespace via
  • /Output via
  • /RequiredPropertiesMustBeDefined via
  • /ServiceHost via
  • /ServiceSchemes via
public static IReadOnlyCollection NSwagJsonSchemaToCSharp(NSwagJsonSchemaToCSharpSettings options = null) => new NSwagTasks().Run(options); - /// + /// public static IReadOnlyCollection NSwagJsonSchemaToCSharp(Configure configurator) => new NSwagTasks().Run(configurator.Invoke(new NSwagJsonSchemaToCSharpSettings())); - /// + /// public static IEnumerable<(NSwagJsonSchemaToCSharpSettings Settings, IReadOnlyCollection Output)> NSwagJsonSchemaToCSharp(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(NSwagJsonSchemaToCSharp, degreeOfParallelism, completeOnFailure); ///

Generates TypeScript interfaces from a JSON Schema.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • /Input via
  • /Name via
  • /Output via
  • /ServiceHost via
  • /ServiceSchemes via
public static IReadOnlyCollection NSwagJsonSchemaToTypeScript(NSwagJsonSchemaToTypeScriptSettings options = null) => new NSwagTasks().Run(options); - /// + /// public static IReadOnlyCollection NSwagJsonSchemaToTypeScript(Configure configurator) => new NSwagTasks().Run(configurator.Invoke(new NSwagJsonSchemaToTypeScriptSettings())); - /// + /// public static IEnumerable<(NSwagJsonSchemaToTypeScriptSettings Settings, IReadOnlyCollection Output)> NSwagJsonSchemaToTypeScript(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(NSwagJsonSchemaToTypeScript, degreeOfParallelism, completeOnFailure); ///

Generates CSharp client code from a Swagger/OpenAPI specification.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • /AdditionalContractNamespaceUsages via
  • /AdditionalNamespaceUsages via
  • /AnyType via
  • /ArrayBaseType via
  • /ArrayInstanceType via
  • /ArrayType via
  • /ClassName via
  • /ClassStyle via
  • /DateTimeType via
  • /DateType via
  • /DictionaryBaseType via
  • /DictionaryInstanceType via
  • /DictionaryType via
  • /EnforceFlagEnums via
  • /EnumNameGeneratorType via
  • /ExcludedParameterNames via
  • /ExcludedTypeNames via
  • /GenerateDataAnnotations via
  • /GenerateDefaultValues via
  • /GenerateDtoTypes via
  • /GenerateImmutableArrayProperties via
  • /GenerateImmutableDictionaryProperties via
  • /GenerateJsonMethods via
  • /GenerateOptionalParameters via
  • /GenerateOptionalPropertiesAsNullable via
  • /GenerateResponseClasses via
  • /HandleReferences via
  • /InlineNamedAny via
  • /InlineNamedArrays via
  • /InlineNamedDictionaries via
  • /InlineNamedTuples via
  • /Input via
  • /JsonConverters via
  • /JsonSerializerSettingsTransformationMethod via
  • /Namespace via
  • /OperationGenerationMode via
  • /Output via
  • /ParameterArrayType via
  • /ParameterDictionaryType via
  • /PropertyNameGeneratorType via
  • /RequiredPropertiesMustBeDefined via
  • /ResponseArrayType via
  • /ResponseClass via
  • /ResponseDictionaryType via
  • /ServiceHost via
  • /ServiceSchemes via
  • /TemplateDirectory via
  • /TimeSpanType via
  • /TimeType via
  • /TypeNameGenerator via
  • /WrapResponseMethods via
  • /WrapResponses via
public static IReadOnlyCollection NSwagOpenApiToCSharpClient(NSwagOpenApiToCSharpClientSettings options = null) => new NSwagTasks().Run(options); - /// + /// public static IReadOnlyCollection NSwagOpenApiToCSharpClient(Configure configurator) => new NSwagTasks().Run(configurator.Invoke(new NSwagOpenApiToCSharpClientSettings())); - /// + /// public static IEnumerable<(NSwagOpenApiToCSharpClientSettings Settings, IReadOnlyCollection Output)> NSwagOpenApiToCSharpClient(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(NSwagOpenApiToCSharpClient, degreeOfParallelism, completeOnFailure); ///

Generates CSharp client code from a Swagger/OpenAPI specification (obsolete: use openapi2csclient instead).

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • /AdditionalContractNamespaceUsages via
  • /AdditionalNamespaceUsages via
  • /AnyType via
  • /ArrayBaseType via
  • /ArrayInstanceType via
  • /ArrayType via
  • /ClassName via
  • /ClassStyle via
  • /ClientBaseClass via
  • /ClientClassAccessModifier via
  • /ConfigurationClass via
  • /ContractsNamespace via
  • /ContractsOutput via
  • /DateTimeType via
  • /DateType via
  • /DictionaryBaseType via
  • /DictionaryInstanceType via
  • /DictionaryType via
  • /DisposeHttpClient via
  • /EnforceFlagEnums via
  • /EnumNameGeneratorType via
  • /ExceptionClass via
  • /ExcludedParameterNames via
  • /ExcludedTypeNames via
  • /ExposeJsonSerializerSettings via
  • /GenerateBaseUrlProperty via
  • /GenerateClientClasses via
  • /GenerateClientInterfaces via
  • /GenerateContractsOutput via
  • /GenerateDataAnnotations via
  • /GenerateDefaultValues via
  • /GenerateDtoTypes via
  • /GenerateExceptionClasses via
  • /GenerateImmutableArrayProperties via
  • /GenerateImmutableDictionaryProperties via
  • /GenerateJsonMethods via
  • /GenerateOptionalParameters via
  • /GenerateOptionalPropertiesAsNullable via
  • /GenerateResponseClasses via
  • /GenerateSyncMethods via
  • /GenerateUpdateJsonSerializerSettingsMethod via
  • /HandleReferences via
  • /HttpClientType via
  • /InjectHttpClient via
  • /InlineNamedAny via
  • /InlineNamedArrays via
  • /InlineNamedDictionaries via
  • /InlineNamedTuples via
  • /Input via
  • /JsonConverters via
  • /JsonSerializerSettingsTransformationMethod via
  • /Namespace via
  • /OperationGenerationMode via
  • /Output via
  • /ParameterArrayType via
  • /ParameterDateFormat via
  • /ParameterDateTimeFormat via
  • /ParameterDictionaryType via
  • /PropertyNameGeneratorType via
  • /ProtectedMethods via
  • /QueryNullValue via
  • /RequiredPropertiesMustBeDefined via
  • /ResponseArrayType via
  • /ResponseClass via
  • /ResponseDictionaryType via
  • /SerializeTypeInformation via
  • /ServiceHost via
  • /ServiceSchemes via
  • /TemplateDirectory via
  • /TimeSpanType via
  • /TimeType via
  • /TypeAccessModifier via
  • /TypeNameGenerator via
  • /UseBaseUrl via
  • /UseHttpClientCreationMethod via
  • /UseHttpRequestMessageCreationMethod via
  • /WrapDtoExceptions via
  • /WrapResponseMethods via
  • /WrapResponses via
public static IReadOnlyCollection NSwagSwaggerToCSharpClient(NSwagSwaggerToCSharpClientSettings options = null) => new NSwagTasks().Run(options); - /// + /// public static IReadOnlyCollection NSwagSwaggerToCSharpClient(Configure configurator) => new NSwagTasks().Run(configurator.Invoke(new NSwagSwaggerToCSharpClientSettings())); - /// + /// public static IEnumerable<(NSwagSwaggerToCSharpClientSettings Settings, IReadOnlyCollection Output)> NSwagSwaggerToCSharpClient(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(NSwagSwaggerToCSharpClient, degreeOfParallelism, completeOnFailure); ///

Generates CSharp Web API controller code from a Swagger/OpenAPI specification.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • /AdditionalContractNamespaceUsages via
  • /AdditionalNamespaceUsages via
  • /AnyType via
  • /ArrayBaseType via
  • /ArrayInstanceType via
  • /ArrayType via
  • /ClassName via
  • /ClassStyle via
  • /DateTimeType via
  • /DateType via
  • /DictionaryBaseType via
  • /DictionaryInstanceType via
  • /DictionaryType via
  • /EnforceFlagEnums via
  • /EnumNameGeneratorType via
  • /ExcludedParameterNames via
  • /ExcludedTypeNames via
  • /GenerateDataAnnotations via
  • /GenerateDefaultValues via
  • /GenerateDtoTypes via
  • /GenerateImmutableArrayProperties via
  • /GenerateImmutableDictionaryProperties via
  • /GenerateJsonMethods via
  • /GenerateOptionalParameters via
  • /GenerateOptionalPropertiesAsNullable via
  • /GenerateResponseClasses via
  • /HandleReferences via
  • /InlineNamedAny via
  • /InlineNamedArrays via
  • /InlineNamedDictionaries via
  • /InlineNamedTuples via
  • /Input via
  • /JsonConverters via
  • /JsonSerializerSettingsTransformationMethod via
  • /Namespace via
  • /OperationGenerationMode via
  • /Output via
  • /ParameterArrayType via
  • /ParameterDictionaryType via
  • /PropertyNameGeneratorType via
  • /RequiredPropertiesMustBeDefined via
  • /ResponseArrayType via
  • /ResponseClass via
  • /ResponseDictionaryType via
  • /ServiceHost via
  • /ServiceSchemes via
  • /TemplateDirectory via
  • /TimeSpanType via
  • /TimeType via
  • /TypeNameGenerator via
  • /WrapResponseMethods via
  • /WrapResponses via
public static IReadOnlyCollection NSwagOpenApiToCSharpController(NSwagOpenApiToCSharpControllerSettings options = null) => new NSwagTasks().Run(options); - /// + /// public static IReadOnlyCollection NSwagOpenApiToCSharpController(Configure configurator) => new NSwagTasks().Run(configurator.Invoke(new NSwagOpenApiToCSharpControllerSettings())); - /// + /// public static IEnumerable<(NSwagOpenApiToCSharpControllerSettings Settings, IReadOnlyCollection Output)> NSwagOpenApiToCSharpController(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(NSwagOpenApiToCSharpController, degreeOfParallelism, completeOnFailure); ///

Generates CSharp Web API controller code from a Swagger/OpenAPI specification (obsolete: use openapi2cscontroller instead).

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • /AdditionalContractNamespaceUsages via
  • /AdditionalNamespaceUsages via
  • /AnyType via
  • /ArrayBaseType via
  • /ArrayInstanceType via
  • /ArrayType via
  • /BasePath via
  • /ClassName via
  • /ClassStyle via
  • /ControllerBaseClass via
  • /ControllerStyle via
  • /ControllerTarget via
  • /DateTimeType via
  • /DateType via
  • /DictionaryBaseType via
  • /DictionaryInstanceType via
  • /DictionaryType via
  • /EnforceFlagEnums via
  • /EnumNameGeneratorType via
  • /ExcludedParameterNames via
  • /ExcludedTypeNames via
  • /GenerateDataAnnotations via
  • /GenerateDefaultValues via
  • /GenerateDtoTypes via
  • /GenerateImmutableArrayProperties via
  • /GenerateImmutableDictionaryProperties via
  • /GenerateJsonMethods via
  • /GenerateModelValidationAttributes via
  • /GenerateOptionalParameters via
  • /GenerateOptionalPropertiesAsNullable via
  • /GenerateResponseClasses via
  • /HandleReferences via
  • /InlineNamedAny via
  • /InlineNamedArrays via
  • /InlineNamedDictionaries via
  • /InlineNamedTuples via
  • /Input via
  • /JsonConverters via
  • /JsonSerializerSettingsTransformationMethod via
  • /Namespace via
  • /OperationGenerationMode via
  • /Output via
  • /ParameterArrayType via
  • /ParameterDictionaryType via
  • /PropertyNameGeneratorType via
  • /RequiredPropertiesMustBeDefined via
  • /ResponseArrayType via
  • /ResponseClass via
  • /ResponseDictionaryType via
  • /RouteNamingStrategy via
  • /ServiceHost via
  • /ServiceSchemes via
  • /TemplateDirectory via
  • /TimeSpanType via
  • /TimeType via
  • /TypeNameGenerator via
  • /UseActionResultType via
  • /UseCancellationToken via
  • /WrapResponseMethods via
  • /WrapResponses via
public static IReadOnlyCollection NSwagSwaggerToCSharpController(NSwagSwaggerToCSharpControllerSettings options = null) => new NSwagTasks().Run(options); - /// + /// public static IReadOnlyCollection NSwagSwaggerToCSharpController(Configure configurator) => new NSwagTasks().Run(configurator.Invoke(new NSwagSwaggerToCSharpControllerSettings())); - /// + /// public static IEnumerable<(NSwagSwaggerToCSharpControllerSettings Settings, IReadOnlyCollection Output)> NSwagSwaggerToCSharpController(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(NSwagSwaggerToCSharpController, degreeOfParallelism, completeOnFailure); ///

Generates TypeScript client code from a Swagger/OpenAPI specification.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • /EnumNameGeneratorType via
  • /Input via
  • /Output via
  • /PropertyNameGeneratorType via
  • /ServiceHost via
  • /ServiceSchemes via
  • /TemplateDirectory via
  • /TypeNameGenerator via
public static IReadOnlyCollection NSwagOpenApiToTypeScriptClient(NSwagOpenApiToTypeScriptClientSettings options = null) => new NSwagTasks().Run(options); - /// + /// public static IReadOnlyCollection NSwagOpenApiToTypeScriptClient(Configure configurator) => new NSwagTasks().Run(configurator.Invoke(new NSwagOpenApiToTypeScriptClientSettings())); - /// + /// public static IEnumerable<(NSwagOpenApiToTypeScriptClientSettings Settings, IReadOnlyCollection Output)> NSwagOpenApiToTypeScriptClient(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(NSwagOpenApiToTypeScriptClient, degreeOfParallelism, completeOnFailure); ///

Generates TypeScript client code from a Swagger/OpenAPI specification (obsolete: use openapi2tsclient instead).

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • /BaseUrlTokenName via
  • /ClassName via
  • /ClassTypes via
  • /ClientBaseClass via
  • /ConfigurationClass via
  • /ConvertConstructorInterfaceData via
  • /DateTimeType via
  • /EnumNameGeneratorType via
  • /ExceptionClass via
  • /ExcludedParameterNames via
  • /ExcludedTypeNames via
  • /ExportTypes via
  • /ExtendedClasses via
  • /ExtensionCode via
  • /GenerateClientClasses via
  • /GenerateClientInterfaces via
  • /GenerateCloneMethod via
  • /GenerateConstructorInterface via
  • /GenerateDefaultValues via
  • /GenerateDtoTypes via
  • /GenerateOptionalParameters via
  • /GenerateResponseClasses via
  • /HandleReferences via
  • /HttpClass via
  • /ImportRequiredTypes via
  • /InjectionTokenType via
  • /InlineNamedAny via
  • /InlineNamedDictionaries via
  • /Input via
  • /MarkOptionalProperties via
  • /ModuleName via
  • /Namespace via
  • /NullValue via
  • /OperationGenerationMode via
  • /Output via
  • /PromiseType via
  • /PropertyNameGeneratorType via
  • /ProtectedMethods via
  • /QueryNullValue via
  • /ResponseClass via
  • /RxJsVersion via
  • /ServiceHost via
  • /ServiceSchemes via
  • /Template via
  • /TemplateDirectory via
  • /TypeNameGenerator via
  • /TypeScriptVersion via
  • /TypeStyle via
  • /UseGetBaseUrlMethod via
  • /UseSingletonProvider via
  • /UseTransformOptionsMethod via
  • /UseTransformResultMethod via
  • /WrapDtoExceptions via
  • /WrapResponseMethods via
  • /WrapResponses via
public static IReadOnlyCollection NSwagSwaggerToTypeScriptClient(NSwagSwaggerToTypeScriptClientSettings options = null) => new NSwagTasks().Run(options); - /// + /// public static IReadOnlyCollection NSwagSwaggerToTypeScriptClient(Configure configurator) => new NSwagTasks().Run(configurator.Invoke(new NSwagSwaggerToTypeScriptClientSettings())); - /// + /// public static IEnumerable<(NSwagSwaggerToTypeScriptClientSettings Settings, IReadOnlyCollection Output)> NSwagSwaggerToTypeScriptClient(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(NSwagSwaggerToTypeScriptClient, degreeOfParallelism, completeOnFailure); } #region NSwagVersionSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(NSwagTasks), Command = nameof(NSwagTasks.NSwagVersion), Arguments = "version")] public partial class NSwagVersionSettings : ToolOptions, IToolOptionsWithFramework @@ -168,7 +168,7 @@ public partial class NSwagVersionSettings : ToolOptions, IToolOptionsWithFramewo } #endregion #region NSwagListTypesSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(NSwagTasks), Command = nameof(NSwagTasks.NSwagListTypes), Arguments = "list-types")] public partial class NSwagListTypesSettings : ToolOptions, IToolOptionsWithFramework @@ -188,7 +188,7 @@ public partial class NSwagListTypesSettings : ToolOptions, IToolOptionsWithFrame } #endregion #region NSwagListWebApiControllersSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(NSwagTasks), Command = nameof(NSwagTasks.NSwagListWebApiControllers), Arguments = "list-controllers")] public partial class NSwagListWebApiControllersSettings : ToolOptions, IToolOptionsWithFramework @@ -208,7 +208,7 @@ public partial class NSwagListWebApiControllersSettings : ToolOptions, IToolOpti } #endregion #region NSwagTypesToOpenApiSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(NSwagTasks), Command = nameof(NSwagTasks.NSwagTypesToOpenApi), Arguments = "types2openapi")] public partial class NSwagTypesToOpenApiSettings : ToolOptions, IToolOptionsWithFramework @@ -228,7 +228,7 @@ public partial class NSwagTypesToOpenApiSettings : ToolOptions, IToolOptionsWith } #endregion #region NSwagTypesToSwaggerSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(NSwagTasks), Command = nameof(NSwagTasks.NSwagTypesToSwagger), Arguments = "types2swagger")] public partial class NSwagTypesToSwaggerSettings : ToolOptions, IToolOptionsWithFramework @@ -268,7 +268,7 @@ public partial class NSwagTypesToSwaggerSettings : ToolOptions, IToolOptionsWith } #endregion #region NSwagWebApiToOpenApiSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(NSwagTasks), Command = nameof(NSwagTasks.NSwagWebApiToOpenApi), Arguments = "webapi2openapi")] public partial class NSwagWebApiToOpenApiSettings : ToolOptions, IToolOptionsWithFramework @@ -354,7 +354,7 @@ public partial class NSwagWebApiToOpenApiSettings : ToolOptions, IToolOptionsWit } #endregion #region NSwagWebApiToSwaggerSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(NSwagTasks), Command = nameof(NSwagTasks.NSwagWebApiToSwagger), Arguments = "webapi2swagger")] public partial class NSwagWebApiToSwaggerSettings : ToolOptions, IToolOptionsWithFramework @@ -454,7 +454,7 @@ public partial class NSwagWebApiToSwaggerSettings : ToolOptions, IToolOptionsWit } #endregion #region NSwagAspNetCoreToOpenApiSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(NSwagTasks), Command = nameof(NSwagTasks.NSwagAspNetCoreToOpenApi), Arguments = "aspnetcore2openapi")] public partial class NSwagAspNetCoreToOpenApiSettings : ToolOptions, IToolOptionsWithFramework @@ -540,7 +540,7 @@ public partial class NSwagAspNetCoreToOpenApiSettings : ToolOptions, IToolOption } #endregion #region NSwagAspNetCoreToSwaggerSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(NSwagTasks), Command = nameof(NSwagTasks.NSwagAspNetCoreToSwagger), Arguments = "aspnetcore2swagger")] public partial class NSwagAspNetCoreToSwaggerSettings : ToolOptions, IToolOptionsWithFramework @@ -646,7 +646,7 @@ public partial class NSwagAspNetCoreToSwaggerSettings : ToolOptions, IToolOption } #endregion #region NSwagCreateDocumentSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(NSwagTasks), Command = nameof(NSwagTasks.NSwagCreateDocument), Arguments = "new")] public partial class NSwagCreateDocumentSettings : ToolOptions, IToolOptionsWithFramework @@ -654,7 +654,7 @@ public partial class NSwagCreateDocumentSettings : ToolOptions, IToolOptionsWith } #endregion #region NSwagExecuteDocumentSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(NSwagTasks), Command = nameof(NSwagTasks.NSwagExecuteDocument), Arguments = "run")] public partial class NSwagExecuteDocumentSettings : ToolOptions, IToolOptionsWithFramework @@ -666,7 +666,7 @@ public partial class NSwagExecuteDocumentSettings : ToolOptions, IToolOptionsWit } #endregion #region NSwagJsonSchemaToCSharpSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(NSwagTasks), Command = nameof(NSwagTasks.NSwagJsonSchemaToCSharp), Arguments = "jsonschema2csclient")] public partial class NSwagJsonSchemaToCSharpSettings : ToolOptions, IToolOptionsWithFramework @@ -702,7 +702,7 @@ public partial class NSwagJsonSchemaToCSharpSettings : ToolOptions, IToolOptions } #endregion #region NSwagJsonSchemaToTypeScriptSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(NSwagTasks), Command = nameof(NSwagTasks.NSwagJsonSchemaToTypeScript), Arguments = "jsonschema2tsclient")] public partial class NSwagJsonSchemaToTypeScriptSettings : ToolOptions, IToolOptionsWithFramework @@ -720,7 +720,7 @@ public partial class NSwagJsonSchemaToTypeScriptSettings : ToolOptions, IToolOpt } #endregion #region NSwagOpenApiToCSharpClientSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(NSwagTasks), Command = nameof(NSwagTasks.NSwagOpenApiToCSharpClient), Arguments = "openapi2csclient")] public partial class NSwagOpenApiToCSharpClientSettings : ToolOptions, IToolOptionsWithFramework @@ -832,7 +832,7 @@ public partial class NSwagOpenApiToCSharpClientSettings : ToolOptions, IToolOpti } #endregion #region NSwagSwaggerToCSharpClientSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(NSwagTasks), Command = nameof(NSwagTasks.NSwagSwaggerToCSharpClient), Arguments = "swagger2csclient")] public partial class NSwagSwaggerToCSharpClientSettings : ToolOptions, IToolOptionsWithFramework @@ -998,7 +998,7 @@ public partial class NSwagSwaggerToCSharpClientSettings : ToolOptions, IToolOpti } #endregion #region NSwagOpenApiToCSharpControllerSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(NSwagTasks), Command = nameof(NSwagTasks.NSwagOpenApiToCSharpController), Arguments = "openapi2cscontroller")] public partial class NSwagOpenApiToCSharpControllerSettings : ToolOptions, IToolOptionsWithFramework @@ -1110,7 +1110,7 @@ public partial class NSwagOpenApiToCSharpControllerSettings : ToolOptions, ITool } #endregion #region NSwagSwaggerToCSharpControllerSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(NSwagTasks), Command = nameof(NSwagTasks.NSwagSwaggerToCSharpController), Arguments = "swagger2cscontroller")] public partial class NSwagSwaggerToCSharpControllerSettings : ToolOptions, IToolOptionsWithFramework @@ -1238,7 +1238,7 @@ public partial class NSwagSwaggerToCSharpControllerSettings : ToolOptions, ITool } #endregion #region NSwagOpenApiToTypeScriptClientSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(NSwagTasks), Command = nameof(NSwagTasks.NSwagOpenApiToTypeScriptClient), Arguments = "openapi2tsclient")] public partial class NSwagOpenApiToTypeScriptClientSettings : ToolOptions, IToolOptionsWithFramework @@ -1262,7 +1262,7 @@ public partial class NSwagOpenApiToTypeScriptClientSettings : ToolOptions, ITool } #endregion #region NSwagSwaggerToTypeScriptClientSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(NSwagTasks), Command = nameof(NSwagTasks.NSwagSwaggerToTypeScriptClient), Arguments = "swagger2tsclient")] public partial class NSwagSwaggerToTypeScriptClientSettings : ToolOptions, IToolOptionsWithFramework @@ -1380,14 +1380,14 @@ public partial class NSwagSwaggerToTypeScriptClientSettings : ToolOptions, ITool } #endregion #region NSwagVersionSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class NSwagVersionSettingsExtensions { } #endregion #region NSwagListTypesSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class NSwagListTypesSettingsExtensions { @@ -1490,7 +1490,7 @@ public static partial class NSwagListTypesSettingsExtensions } #endregion #region NSwagListWebApiControllersSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class NSwagListWebApiControllersSettingsExtensions { @@ -1593,7 +1593,7 @@ public static partial class NSwagListWebApiControllersSettingsExtensions } #endregion #region NSwagTypesToOpenApiSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class NSwagTypesToOpenApiSettingsExtensions { @@ -1687,7 +1687,7 @@ public static partial class NSwagTypesToOpenApiSettingsExtensions } #endregion #region NSwagTypesToSwaggerSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class NSwagTypesToSwaggerSettingsExtensions { @@ -1921,7 +1921,7 @@ public static partial class NSwagTypesToSwaggerSettingsExtensions } #endregion #region NSwagWebApiToOpenApiSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class NSwagWebApiToOpenApiSettingsExtensions { @@ -2429,7 +2429,7 @@ public static partial class NSwagWebApiToOpenApiSettingsExtensions } #endregion #region NSwagWebApiToSwaggerSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class NSwagWebApiToSwaggerSettingsExtensions { @@ -3050,7 +3050,7 @@ public static partial class NSwagWebApiToSwaggerSettingsExtensions } #endregion #region NSwagAspNetCoreToOpenApiSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class NSwagAspNetCoreToOpenApiSettingsExtensions { @@ -3558,7 +3558,7 @@ public static partial class NSwagAspNetCoreToOpenApiSettingsExtensions } #endregion #region NSwagAspNetCoreToSwaggerSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class NSwagAspNetCoreToSwaggerSettingsExtensions { @@ -4188,14 +4188,14 @@ public static partial class NSwagAspNetCoreToSwaggerSettingsExtensions } #endregion #region NSwagCreateDocumentSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class NSwagCreateDocumentSettingsExtensions { } #endregion #region NSwagExecuteDocumentSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class NSwagExecuteDocumentSettingsExtensions { @@ -4227,7 +4227,7 @@ public static partial class NSwagExecuteDocumentSettingsExtensions } #endregion #region NSwagJsonSchemaToCSharpSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class NSwagJsonSchemaToCSharpSettingsExtensions { @@ -4379,7 +4379,7 @@ public static partial class NSwagJsonSchemaToCSharpSettingsExtensions } #endregion #region NSwagJsonSchemaToTypeScriptSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class NSwagJsonSchemaToTypeScriptSettingsExtensions { @@ -4441,7 +4441,7 @@ public static partial class NSwagJsonSchemaToTypeScriptSettingsExtensions } #endregion #region NSwagOpenApiToCSharpClientSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class NSwagOpenApiToCSharpClientSettingsExtensions { @@ -5122,7 +5122,7 @@ public static partial class NSwagOpenApiToCSharpClientSettingsExtensions } #endregion #region NSwagSwaggerToCSharpClientSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class NSwagSwaggerToCSharpClientSettingsExtensions { @@ -6169,7 +6169,7 @@ public static partial class NSwagSwaggerToCSharpClientSettingsExtensions } #endregion #region NSwagOpenApiToCSharpControllerSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class NSwagOpenApiToCSharpControllerSettingsExtensions { @@ -6850,7 +6850,7 @@ public static partial class NSwagOpenApiToCSharpControllerSettingsExtensions } #endregion #region NSwagSwaggerToCSharpControllerSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class NSwagSwaggerToCSharpControllerSettingsExtensions { @@ -7622,7 +7622,7 @@ public static partial class NSwagSwaggerToCSharpControllerSettingsExtensions } #endregion #region NSwagOpenApiToTypeScriptClientSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class NSwagOpenApiToTypeScriptClientSettingsExtensions { @@ -7708,7 +7708,7 @@ public static partial class NSwagOpenApiToTypeScriptClientSettingsExtensions } #endregion #region NSwagSwaggerToTypeScriptClientSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class NSwagSwaggerToTypeScriptClientSettingsExtensions { diff --git a/src/Fallout.Common/Tools/NUnit/NUnit.Generated.cs b/src/Fallout.Common/Tools/NUnit/NUnit.Generated.cs index 27c0e05b6..8a614d7d3 100644 --- a/src/Fallout.Common/Tools/NUnit/NUnit.Generated.cs +++ b/src/Fallout.Common/Tools/NUnit/NUnit.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/NUnit/NUnit.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.NUnit; +namespace Fallout.Application.Tools.NUnit; ///

NUnit is a unit-testing framework for all .Net languages. Initially ported from JUnit, the current production release, version 3.0, has been completely rewritten with many new features and support for a wide range of .NET platforms.

For more details, visit the official website.

[ExcludeFromCodeCoverage] @@ -28,13 +28,13 @@ public partial class NUnitTasks : ToolTasks, IRequireNuGetPackage ///

NUnit is a unit-testing framework for all .Net languages. Initially ported from JUnit, the current production release, version 3.0, has been completely rewritten with many new features and support for a wide range of .NET platforms.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <inputFiles> via
  • --agents via
  • --config via
  • --debug via
  • --debug-agent via
  • --dispose-runners via
  • --domain via
  • --encoding via
  • --err via
  • --explore via
  • --framework via
  • --inprocess via
  • --labels via
  • --list-extensions via
  • --loaduserprofile via
  • --nocolor via
  • --noheader via
  • --noresult via
  • --output via
  • --pause via
  • --process via
  • --result via
  • --seed via
  • --set-principal-policy via
  • --shadowcopy via
  • --skipnontestassemblies via
  • --stoponerror via
  • --teamcity via
  • --test via
  • --testlist via
  • --testparam via
  • --timeout via
  • --trace via
  • --wait via
  • --where via
  • --work via
  • --workers via
  • --x86 via
public static IReadOnlyCollection NUnit3(NUnit3Settings options = null) => new NUnitTasks().Run(options); - /// + /// public static IReadOnlyCollection NUnit3(Configure configurator) => new NUnitTasks().Run(configurator.Invoke(new NUnit3Settings())); - /// + /// public static IEnumerable<(NUnit3Settings Settings, IReadOnlyCollection Output)> NUnit3(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(NUnit3, degreeOfParallelism, completeOnFailure); } #region NUnit3Settings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(NUnitTasks), Command = nameof(NUnitTasks.NUnit3))] public partial class NUnit3Settings : ToolOptions @@ -118,7 +118,7 @@ public partial class NUnit3Settings : ToolOptions } #endregion #region NUnit3SettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class NUnit3SettingsExtensions { diff --git a/src/Fallout.Common/Tools/NUnit/NUnitTasks.cs b/src/Fallout.Common/Tools/NUnit/NUnitTasks.cs index dc2e992a3..2b1008944 100644 --- a/src/Fallout.Common/Tools/NUnit/NUnitTasks.cs +++ b/src/Fallout.Common/Tools/NUnit/NUnitTasks.cs @@ -1,6 +1,6 @@ using Fallout.Application.Tooling; -namespace Fallout.Common.Tools.NUnit; +namespace Fallout.Application.Tools.NUnit; public class NUnitVerbosityMappingAttribute : VerbosityMappingAttribute { diff --git a/src/Fallout.Common/Tools/NerdbankGitVersioning/NerdbankGitVersioning.Generated.cs b/src/Fallout.Common/Tools/NerdbankGitVersioning/NerdbankGitVersioning.Generated.cs index 3f68403e5..bb7ba5b45 100644 --- a/src/Fallout.Common/Tools/NerdbankGitVersioning/NerdbankGitVersioning.Generated.cs +++ b/src/Fallout.Common/Tools/NerdbankGitVersioning/NerdbankGitVersioning.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/NerdbankGitVersioning/NerdbankGitVersioning.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.NerdbankGitVersioning; +namespace Fallout.Application.Tools.NerdbankGitVersioning; ///

For more details, visit the official website.

[ExcludeFromCodeCoverage] @@ -28,55 +28,55 @@ public partial class NerdbankGitVersioningTasks : ToolTasks, IRequireNuGetPackag ///

Prepares a project to have version stamps applied using Nerdbank.GitVersioning.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --path via
  • --source via
  • --version via
public static IReadOnlyCollection NerdbankGitVersioningInstall(NerdbankGitVersioningInstallSettings options = null) => new NerdbankGitVersioningTasks().Run(options); - /// + /// public static IReadOnlyCollection NerdbankGitVersioningInstall(Configure configurator) => new NerdbankGitVersioningTasks().Run(configurator.Invoke(new NerdbankGitVersioningInstallSettings())); - /// + /// public static IEnumerable<(NerdbankGitVersioningInstallSettings Settings, IReadOnlyCollection Output)> NerdbankGitVersioningInstall(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(NerdbankGitVersioningInstall, degreeOfParallelism, completeOnFailure); ///

Gets the version information for a project.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • -- via
  • --format via
  • --metadata via
  • --project via
  • --variable via
public static (NerdbankGitVersioning Result, IReadOnlyCollection Output) NerdbankGitVersioningGetVersion(NerdbankGitVersioningGetVersionSettings options = null) => new NerdbankGitVersioningTasks().Run(options); - /// + /// public static (NerdbankGitVersioning Result, IReadOnlyCollection Output) NerdbankGitVersioningGetVersion(Configure configurator) => new NerdbankGitVersioningTasks().Run(configurator.Invoke(new NerdbankGitVersioningGetVersionSettings())); - /// + /// public static IEnumerable<(NerdbankGitVersioningGetVersionSettings Settings, NerdbankGitVersioning Result, IReadOnlyCollection Output)> NerdbankGitVersioningGetVersion(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(NerdbankGitVersioningGetVersion, degreeOfParallelism, completeOnFailure); ///

Updates the version stamp that is applied to a project.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • -- via
  • --project via
public static IReadOnlyCollection NerdbankGitVersioningSetVersion(NerdbankGitVersioningSetVersionSettings options = null) => new NerdbankGitVersioningTasks().Run(options); - /// + /// public static IReadOnlyCollection NerdbankGitVersioningSetVersion(Configure configurator) => new NerdbankGitVersioningTasks().Run(configurator.Invoke(new NerdbankGitVersioningSetVersionSettings())); - /// + /// public static IEnumerable<(NerdbankGitVersioningSetVersionSettings Settings, IReadOnlyCollection Output)> NerdbankGitVersioningSetVersion(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(NerdbankGitVersioningSetVersion, degreeOfParallelism, completeOnFailure); ///

Creates a git tag to mark a version.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • -- via
  • --project via
public static IReadOnlyCollection NerdbankGitVersioningTag(NerdbankGitVersioningTagSettings options = null) => new NerdbankGitVersioningTasks().Run(options); - /// + /// public static IReadOnlyCollection NerdbankGitVersioningTag(Configure configurator) => new NerdbankGitVersioningTasks().Run(configurator.Invoke(new NerdbankGitVersioningTagSettings())); - /// + /// public static IEnumerable<(NerdbankGitVersioningTagSettings Settings, IReadOnlyCollection Output)> NerdbankGitVersioningTag(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(NerdbankGitVersioningTag, degreeOfParallelism, completeOnFailure); ///

Gets the commit(s) that match a given version.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • -- via
  • --project via
  • --quiet via
public static IReadOnlyCollection NerdbankGitVersioningGetCommits(NerdbankGitVersioningGetCommitsSettings options = null) => new NerdbankGitVersioningTasks().Run(options); - /// + /// public static IReadOnlyCollection NerdbankGitVersioningGetCommits(Configure configurator) => new NerdbankGitVersioningTasks().Run(configurator.Invoke(new NerdbankGitVersioningGetCommitsSettings())); - /// + /// public static IEnumerable<(NerdbankGitVersioningGetCommitsSettings Settings, IReadOnlyCollection Output)> NerdbankGitVersioningGetCommits(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(NerdbankGitVersioningGetCommits, degreeOfParallelism, completeOnFailure); ///

Communicates with the ambient cloud build to set the build number and/or other cloud build variables.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --all-vars via
  • --ci-system via
  • --common-vars via
  • --define via
  • --metadata via
  • --project via
  • --version via
public static IReadOnlyCollection NerdbankGitVersioningCloud(NerdbankGitVersioningCloudSettings options = null) => new NerdbankGitVersioningTasks().Run(options); - /// + /// public static IReadOnlyCollection NerdbankGitVersioningCloud(Configure configurator) => new NerdbankGitVersioningTasks().Run(configurator.Invoke(new NerdbankGitVersioningCloudSettings())); - /// + /// public static IEnumerable<(NerdbankGitVersioningCloudSettings Settings, IReadOnlyCollection Output)> NerdbankGitVersioningCloud(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(NerdbankGitVersioningCloud, degreeOfParallelism, completeOnFailure); ///

Prepares a release by creating a release branch for the current version and adjusting the version on the current branch.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • -- via
  • --nextVersion via
  • --project via
  • --versionIncrement via
public static IReadOnlyCollection NerdbankGitVersioningPrepareRelease(NerdbankGitVersioningPrepareReleaseSettings options = null) => new NerdbankGitVersioningTasks().Run(options); - /// + /// public static IReadOnlyCollection NerdbankGitVersioningPrepareRelease(Configure configurator) => new NerdbankGitVersioningTasks().Run(configurator.Invoke(new NerdbankGitVersioningPrepareReleaseSettings())); - /// + /// public static IEnumerable<(NerdbankGitVersioningPrepareReleaseSettings Settings, IReadOnlyCollection Output)> NerdbankGitVersioningPrepareRelease(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(NerdbankGitVersioningPrepareRelease, degreeOfParallelism, completeOnFailure); } #region NerdbankGitVersioningInstallSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(NerdbankGitVersioningTasks), Command = nameof(NerdbankGitVersioningTasks.NerdbankGitVersioningInstall), Arguments = "install")] public partial class NerdbankGitVersioningInstallSettings : ToolOptions @@ -90,7 +90,7 @@ public partial class NerdbankGitVersioningInstallSettings : ToolOptions } #endregion #region NerdbankGitVersioningGetVersionSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(NerdbankGitVersioningTasks), Command = nameof(NerdbankGitVersioningTasks.NerdbankGitVersioningGetVersion), Arguments = "get-version")] public partial class NerdbankGitVersioningGetVersionSettings : ToolOptions @@ -108,7 +108,7 @@ public partial class NerdbankGitVersioningGetVersionSettings : ToolOptions } #endregion #region NerdbankGitVersioningSetVersionSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(NerdbankGitVersioningTasks), Command = nameof(NerdbankGitVersioningTasks.NerdbankGitVersioningSetVersion), Arguments = "set-version")] public partial class NerdbankGitVersioningSetVersionSettings : ToolOptions @@ -120,7 +120,7 @@ public partial class NerdbankGitVersioningSetVersionSettings : ToolOptions } #endregion #region NerdbankGitVersioningTagSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(NerdbankGitVersioningTasks), Command = nameof(NerdbankGitVersioningTasks.NerdbankGitVersioningTag), Arguments = "tag")] public partial class NerdbankGitVersioningTagSettings : ToolOptions @@ -132,7 +132,7 @@ public partial class NerdbankGitVersioningTagSettings : ToolOptions } #endregion #region NerdbankGitVersioningGetCommitsSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(NerdbankGitVersioningTasks), Command = nameof(NerdbankGitVersioningTasks.NerdbankGitVersioningGetCommits), Arguments = "get-commits")] public partial class NerdbankGitVersioningGetCommitsSettings : ToolOptions @@ -146,7 +146,7 @@ public partial class NerdbankGitVersioningGetCommitsSettings : ToolOptions } #endregion #region NerdbankGitVersioningCloudSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(NerdbankGitVersioningTasks), Command = nameof(NerdbankGitVersioningTasks.NerdbankGitVersioningCloud), Arguments = "cloud")] public partial class NerdbankGitVersioningCloudSettings : ToolOptions @@ -168,7 +168,7 @@ public partial class NerdbankGitVersioningCloudSettings : ToolOptions } #endregion #region NerdbankGitVersioningPrepareReleaseSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(NerdbankGitVersioningTasks), Command = nameof(NerdbankGitVersioningTasks.NerdbankGitVersioningPrepareRelease), Arguments = "prepare-release")] public partial class NerdbankGitVersioningPrepareReleaseSettings : ToolOptions @@ -184,7 +184,7 @@ public partial class NerdbankGitVersioningPrepareReleaseSettings : ToolOptions } #endregion #region NerdbankGitVersioningInstallSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class NerdbankGitVersioningInstallSettingsExtensions { @@ -230,7 +230,7 @@ public static partial class NerdbankGitVersioningInstallSettingsExtensions } #endregion #region NerdbankGitVersioningGetVersionSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class NerdbankGitVersioningGetVersionSettingsExtensions { @@ -277,7 +277,7 @@ public static partial class NerdbankGitVersioningGetVersionSettingsExtensions } #endregion #region NerdbankGitVersioningSetVersionSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class NerdbankGitVersioningSetVersionSettingsExtensions { @@ -300,7 +300,7 @@ public static partial class NerdbankGitVersioningSetVersionSettingsExtensions } #endregion #region NerdbankGitVersioningTagSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class NerdbankGitVersioningTagSettingsExtensions { @@ -323,7 +323,7 @@ public static partial class NerdbankGitVersioningTagSettingsExtensions } #endregion #region NerdbankGitVersioningGetCommitsSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class NerdbankGitVersioningGetCommitsSettingsExtensions { @@ -363,7 +363,7 @@ public static partial class NerdbankGitVersioningGetCommitsSettingsExtensions } #endregion #region NerdbankGitVersioningCloudSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class NerdbankGitVersioningCloudSettingsExtensions { @@ -453,7 +453,7 @@ public static partial class NerdbankGitVersioningCloudSettingsExtensions } #endregion #region NerdbankGitVersioningPrepareReleaseSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class NerdbankGitVersioningPrepareReleaseSettingsExtensions { diff --git a/src/Fallout.Common/Tools/NerdbankGitVersioning/NerdbankGitVersioningAttribute.cs b/src/Fallout.Common/Tools/NerdbankGitVersioning/NerdbankGitVersioningAttribute.cs index 91a2ca6d9..c15391fd0 100644 --- a/src/Fallout.Common/Tools/NerdbankGitVersioning/NerdbankGitVersioningAttribute.cs +++ b/src/Fallout.Common/Tools/NerdbankGitVersioning/NerdbankGitVersioningAttribute.cs @@ -3,10 +3,10 @@ using Fallout.Common.CI.AppVeyor; using Fallout.Common.CI.AzurePipelines; using Fallout.Common.CI.TeamCity; -using Fallout.Common.Tooling; using Fallout.Application.ValueInjection; +using Fallout.Application.Tooling; -namespace Fallout.Common.Tools.NerdbankGitVersioning; +namespace Fallout.Application.Tools.NerdbankGitVersioning; /// /// Injects an instance of based on the local repository. diff --git a/src/Fallout.Common/Tools/NerdbankGitVersioning/NerdbankGitVersioningTasks.cs b/src/Fallout.Common/Tools/NerdbankGitVersioning/NerdbankGitVersioningTasks.cs index d9a560516..d33f5fb49 100644 --- a/src/Fallout.Common/Tools/NerdbankGitVersioning/NerdbankGitVersioningTasks.cs +++ b/src/Fallout.Common/Tools/NerdbankGitVersioning/NerdbankGitVersioningTasks.cs @@ -1,11 +1,12 @@ using System; using System.Collections.Generic; using System.Linq; -using Fallout.Common.Tooling; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; +using Fallout.Application.Tooling; +using Fallout.Infrastructure.Tooling; -namespace Fallout.Common.Tools.NerdbankGitVersioning; +namespace Fallout.Application.Tools.NerdbankGitVersioning; partial class NerdbankGitVersioningTasks { diff --git a/src/Fallout.Common/Tools/Netlify/Netlify.Generated.cs b/src/Fallout.Common/Tools/Netlify/Netlify.Generated.cs index 8b909ed01..6538e1c6b 100644 --- a/src/Fallout.Common/Tools/Netlify/Netlify.Generated.cs +++ b/src/Fallout.Common/Tools/Netlify/Netlify.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.Netlify; +namespace Fallout.Application.Tools.Netlify; ///

Netlify’s command line interface (CLI) lets you configure continuous deployment straight from the command line. You can use Netlify CLI to run a local development server that you can share with others, run a local build and plugins, and deploy your site.

For more details, visit the official website.

[ExcludeFromCodeCoverage] @@ -25,27 +25,27 @@ public partial class NetlifyTasks : ToolTasks, IRequirePathTool ///

Netlify’s command line interface (CLI) lets you configure continuous deployment straight from the command line. You can use Netlify CLI to run a local development server that you can share with others, run a local build and plugins, and deploy your site.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --alias via
  • --auth via
  • --branch via
  • --build via
  • --debug via
  • --dir via
  • --functions via
  • --httpProxy via
  • --httpProxyCertificateFilename via
  • --json via
  • --message via
  • --open via
  • --prod via
  • --prodIfUnlocked via
  • --site via
  • --timeout via
  • --trigger via
public static IReadOnlyCollection NetlifyDeploy(NetlifyDeploySettings options = null) => new NetlifyTasks().Run(options); - /// + /// public static IReadOnlyCollection NetlifyDeploy(Configure configurator) => new NetlifyTasks().Run(configurator.Invoke(new NetlifyDeploySettings())); - /// + /// public static IEnumerable<(NetlifyDeploySettings Settings, IReadOnlyCollection Output)> NetlifyDeploy(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(NetlifyDeploy, degreeOfParallelism, completeOnFailure); ///

Netlify’s command line interface (CLI) lets you configure continuous deployment straight from the command line. You can use Netlify CLI to run a local development server that you can share with others, run a local build and plugins, and deploy your site.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --account-slug via
  • --debug via
  • --httpProxy via
  • --httpProxyCertificateFilename via
  • --manual via
  • --name via
  • --with-ci via
public static (string Result, IReadOnlyCollection Output) NetlifySitesCreate(NetlifySitesCreateSettings options = null) => new NetlifyTasks().Run(options); - /// + /// public static (string Result, IReadOnlyCollection Output) NetlifySitesCreate(Configure configurator) => new NetlifyTasks().Run(configurator.Invoke(new NetlifySitesCreateSettings())); - /// + /// public static IEnumerable<(NetlifySitesCreateSettings Settings, string Result, IReadOnlyCollection Output)> NetlifySitesCreate(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(NetlifySitesCreate, degreeOfParallelism, completeOnFailure); ///

Netlify’s command line interface (CLI) lets you configure continuous deployment straight from the command line. You can use Netlify CLI to run a local development server that you can share with others, run a local build and plugins, and deploy your site.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <siteId> via
  • --debug via
  • --force via
  • --httpProxy via
  • --httpProxyCertificateFilename via
public static IReadOnlyCollection NetlifySitesDelete(NetlifySitesDeleteSettings options = null) => new NetlifyTasks().Run(options); - /// + /// public static IReadOnlyCollection NetlifySitesDelete(Configure configurator) => new NetlifyTasks().Run(configurator.Invoke(new NetlifySitesDeleteSettings())); - /// + /// public static IEnumerable<(NetlifySitesDeleteSettings Settings, IReadOnlyCollection Output)> NetlifySitesDelete(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(NetlifySitesDelete, degreeOfParallelism, completeOnFailure); } #region NetlifyDeploySettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(NetlifyTasks), Command = nameof(NetlifyTasks.NetlifyDeploy), Arguments = "netlify deploy")] public partial class NetlifyDeploySettings : ToolOptions @@ -87,7 +87,7 @@ public partial class NetlifyDeploySettings : ToolOptions } #endregion #region NetlifySitesCreateSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(NetlifyTasks), Command = nameof(NetlifyTasks.NetlifySitesCreate), Arguments = "netlify sites:create")] public partial class NetlifySitesCreateSettings : ToolOptions @@ -109,7 +109,7 @@ public partial class NetlifySitesCreateSettings : ToolOptions } #endregion #region NetlifySitesDeleteSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(NetlifyTasks), Command = nameof(NetlifyTasks.NetlifySitesDelete), Arguments = "netlify sites:delete")] public partial class NetlifySitesDeleteSettings : ToolOptions @@ -127,7 +127,7 @@ public partial class NetlifySitesDeleteSettings : ToolOptions } #endregion #region NetlifyDeploySettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class NetlifyDeploySettingsExtensions { @@ -333,7 +333,7 @@ public static partial class NetlifyDeploySettingsExtensions } #endregion #region NetlifySitesCreateSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class NetlifySitesCreateSettingsExtensions { @@ -423,7 +423,7 @@ public static partial class NetlifySitesCreateSettingsExtensions } #endregion #region NetlifySitesDeleteSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class NetlifySitesDeleteSettingsExtensions { diff --git a/src/Fallout.Common/Tools/Netlify/NetlifyTasks.cs b/src/Fallout.Common/Tools/Netlify/NetlifyTasks.cs index 0c2ee173c..d0de8eeb0 100644 --- a/src/Fallout.Common/Tools/Netlify/NetlifyTasks.cs +++ b/src/Fallout.Common/Tools/Netlify/NetlifyTasks.cs @@ -1,10 +1,11 @@ using System; using System.Collections.Generic; using System.Linq; -using Fallout.Common.Tooling; using Fallout.Common.Utilities; +using Fallout.Application.Tooling; +using Fallout.Infrastructure.Tooling; -namespace Fallout.Common.Tools.Netlify; +namespace Fallout.Application.Tools.Netlify; partial class NetlifyTasks { diff --git a/src/Fallout.Common/Tools/Npm/Npm.Generated.cs b/src/Fallout.Common/Tools/Npm/Npm.Generated.cs index e8f1e618b..c8559dc89 100644 --- a/src/Fallout.Common/Tools/Npm/Npm.Generated.cs +++ b/src/Fallout.Common/Tools/Npm/Npm.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/Npm/Npm.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.Npm; +namespace Fallout.Application.Tools.Npm; ///

npm is the package manager for the Node JavaScript platform. It puts modules in place so that node can find them, and manages dependency conflicts intelligently.It is extremely configurable to support a wide variety of use cases. Most commonly, it is used to publish, discover, install, and develop node programs.

For more details, visit the official website.

[ExcludeFromCodeCoverage] @@ -27,27 +27,27 @@ public partial class NpmTasks : ToolTasks, IRequirePathTool ///

Install a project with a clean slate. This command is similar to npm install, except it's meant to be used in automated environments such as test platforms, continuous integration, and deployment or any situation where you want to make sure you're doing a clean install of your dependencies. It can be significantly faster than a regular npm install by skipping certain user-oriented features. It is also more strict than a regular install, which can help catch errors or inconsistencies caused by the incrementally-installed local environments of most npm users.

In short, the main differences between using npm install and npm ci are:

  • The project must have an existing package-lock.json or npm-shrinkwrap.json.
  • If dependencies in the package lock do not match those in package.json, npm ci will exit with an error, instead of updating the package lock.
  • npm ci can only install entire projects at a time: individual dependencies cannot be added with this command.
  • If a node_modules is already present, it will be automatically removed before npm ci begins its install.
  • It will never write to package.json or any of the package-locks: installs are essentially frozen.

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 NpmCi(NpmCiSettings options = null) => new NpmTasks().Run(options); - /// + /// public static IReadOnlyCollection NpmCi(Configure configurator) => new NpmTasks().Run(configurator.Invoke(new NpmCiSettings())); - /// + /// public static IEnumerable<(NpmCiSettings Settings, IReadOnlyCollection Output)> NpmCi(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(NpmCi, degreeOfParallelism, completeOnFailure); ///

Installs a package, and any packages that it depends on. If the package has a package-lock or shrinkwrap file, the installation of dependencies will be driven by that, with an npm-shrinkwrap.json taking precedence if both files exist. See package-lock.json and npm-shrinkwrap.A package is:

  • a) A folder containing a program described by a package.json file
  • b) A gzipped tarball containing (b)
  • c) A url that resolves to (b)
  • d) a <name>@<version> that is published on the registry (see npm-registry) with (c)
  • e) a <name>@<tag> (see npm-dist-tag) that points to (d)
  • f) a <name> that has a "latest" tag satisfying (e)
  • g) a <git remote url> that resolves to (a)

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <packages> via
  • --force via
  • --global via
  • --global-style via
  • --ignore-scripts via
  • --legacy-bundling via
  • --link via
  • --no-bin-links via
  • --no-optional via
  • --no-shrinkwrap via
  • --nodedir via
  • --only via
  • --production via
public static IReadOnlyCollection NpmInstall(NpmInstallSettings options = null) => new NpmTasks().Run(options); - /// + /// public static IReadOnlyCollection NpmInstall(Configure configurator) => new NpmTasks().Run(configurator.Invoke(new NpmInstallSettings())); - /// + /// public static IEnumerable<(NpmInstallSettings Settings, IReadOnlyCollection Output)> NpmInstall(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(NpmInstall, degreeOfParallelism, completeOnFailure); ///

Runs an arbitrary command from a package's "scripts" object. If no "command" is provided, it will list the available scripts. run[-script] is used by the test, start, restart, and stop commands, but can be called directly, as well. When the scripts in the package are printed out, they're separated into lifecycle (test, start, restart) and directly-run scripts."

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <command> via
  • -- via
public static IReadOnlyCollection NpmRun(NpmRunSettings options = null) => new NpmTasks().Run(options); - /// + /// public static IReadOnlyCollection NpmRun(Configure configurator) => new NpmTasks().Run(configurator.Invoke(new NpmRunSettings())); - /// + /// public static IEnumerable<(NpmRunSettings Settings, IReadOnlyCollection Output)> NpmRun(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(NpmRun, degreeOfParallelism, completeOnFailure); } #region NpmCiSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(NpmTasks), Command = nameof(NpmTasks.NpmCi), Arguments = "ci")] public partial class NpmCiSettings : ToolOptions @@ -55,7 +55,7 @@ public partial class NpmCiSettings : ToolOptions } #endregion #region NpmInstallSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(NpmTasks), Command = nameof(NpmTasks.NpmInstall), Arguments = "install")] public partial class NpmInstallSettings : ToolOptions @@ -89,7 +89,7 @@ public partial class NpmInstallSettings : ToolOptions } #endregion #region NpmRunSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(NpmTasks), Command = nameof(NpmTasks.NpmRun), Arguments = "run")] public partial class NpmRunSettings : ToolOptions @@ -101,14 +101,14 @@ public partial class NpmRunSettings : ToolOptions } #endregion #region NpmCiSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class NpmCiSettingsExtensions { } #endregion #region NpmInstallSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class NpmInstallSettingsExtensions { @@ -324,7 +324,7 @@ public static partial class NpmInstallSettingsExtensions } #endregion #region NpmRunSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class NpmRunSettingsExtensions { diff --git a/src/Fallout.Common/Tools/Npm/NpmTasks.cs b/src/Fallout.Common/Tools/Npm/NpmTasks.cs index badac614e..b722d5578 100644 --- a/src/Fallout.Common/Tools/Npm/NpmTasks.cs +++ b/src/Fallout.Common/Tools/Npm/NpmTasks.cs @@ -1,8 +1,8 @@ -using System; -using Fallout.Common.Tooling; +using System; using Serilog.Events; +using Fallout.Application.Tooling; -namespace Fallout.Common.Tools.Npm; +namespace Fallout.Application.Tools.Npm; [LogLevelPattern(LogEventLevel.Warning, "^(npmWARN|npm WARN)")] [LogLevelPattern(LogEventLevel.Debug, "^(npm notice)")] diff --git a/src/Fallout.Common/Tools/NuGet/NuGet.Generated.cs b/src/Fallout.Common/Tools/NuGet/NuGet.Generated.cs index 2ff757328..eec07aad7 100644 --- a/src/Fallout.Common/Tools/NuGet/NuGet.Generated.cs +++ b/src/Fallout.Common/Tools/NuGet/NuGet.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.NuGet; +namespace Fallout.Application.Tools.NuGet; ///

The NuGet Command Line Interface (CLI) provides the full extent of NuGet functionality to install, create, publish, and manage packages.

For more details, visit the official website.

[ExcludeFromCodeCoverage] @@ -26,97 +26,97 @@ public partial class NuGetTasks : ToolTasks, IRequireNuGetPackage ///

The NuGet Command Line Interface (CLI) provides the full extent of NuGet functionality to install, create, publish, and manage packages.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <targetPath> via
  • -ApiKey via
  • -ConfigFile via
  • -DisableBuffering via
  • -ForceEnglishOutput via
  • -NonInteractive via
  • -NoSymbols via
  • -Source via
  • -SymbolApiKey via
  • -SymbolSource via
  • -Timeout via
  • -Verbosity via
public static IReadOnlyCollection NuGetPush(NuGetPushSettings options = null) => new NuGetTasks().Run(options); - /// + /// public static IReadOnlyCollection NuGetPush(Configure configurator) => new NuGetTasks().Run(configurator.Invoke(new NuGetPushSettings())); - /// + /// public static IEnumerable<(NuGetPushSettings Settings, IReadOnlyCollection Output)> NuGetPush(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(NuGetPush, degreeOfParallelism, completeOnFailure); ///

The NuGet Command Line Interface (CLI) provides the full extent of NuGet functionality to install, create, publish, and manage packages.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <packageId> via
  • <packageVersion> via
  • -ApiKey via
  • -ConfigFile via
  • -ForceEnglishOutput via
  • -NonInteractive via
  • -NoPrompt via
  • -Source via
  • -Verbosity via
public static IReadOnlyCollection NuGetDelete(NuGetDeleteSettings options = null) => new NuGetTasks().Run(options); - /// + /// public static IReadOnlyCollection NuGetDelete(Configure configurator) => new NuGetTasks().Run(configurator.Invoke(new NuGetDeleteSettings())); - /// + /// public static IEnumerable<(NuGetDeleteSettings Settings, IReadOnlyCollection Output)> NuGetDelete(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(NuGetDelete, degreeOfParallelism, completeOnFailure); ///

The NuGet Command Line Interface (CLI) provides the full extent of NuGet functionality to install, create, publish, and manage packages.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <targetPath> via
  • -CertificateFingerprint via
  • -CertificatePassword via
  • -CertificatePath via
  • -CertificateStoreLocation via
  • -CertificateStoreName via
  • -CertificateSubjectName via
  • -ConfigFile via
  • -ForceEnglishOutput via
  • -HashAlgorithm via
  • -NonInteractive via
  • -OutputDirectory via
  • -Overwrite via
  • -Timestamper via
  • -TimestampHashAlgorithm via
  • -Verbosity via
public static IReadOnlyCollection NuGetSign(NuGetSignSettings options = null) => new NuGetTasks().Run(options); - /// + /// public static IReadOnlyCollection NuGetSign(Configure configurator) => new NuGetTasks().Run(configurator.Invoke(new NuGetSignSettings())); - /// + /// public static IEnumerable<(NuGetSignSettings Settings, IReadOnlyCollection Output)> NuGetSign(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(NuGetSign, degreeOfParallelism, completeOnFailure); ///

The NuGet Command Line Interface (CLI) provides the full extent of NuGet functionality to install, create, publish, and manage packages.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • -CertificateFingerprint via
  • -ConfigFile via
  • -ForceEnglishOutput via
  • -NonInteractive via
  • -Signatures via
  • -Verbosity via
public static IReadOnlyCollection NuGetVerify(NuGetVerifySettings options = null) => new NuGetTasks().Run(options); - /// + /// public static IReadOnlyCollection NuGetVerify(Configure configurator) => new NuGetTasks().Run(configurator.Invoke(new NuGetVerifySettings())); - /// + /// public static IEnumerable<(NuGetVerifySettings Settings, IReadOnlyCollection Output)> NuGetVerify(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(NuGetVerify, degreeOfParallelism, completeOnFailure); ///

The NuGet Command Line Interface (CLI) provides the full extent of NuGet functionality to install, create, publish, and manage packages.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <targetPath> via
  • -BasePath via
  • -Build via
  • -Exclude via
  • -ExcludeEmptyDirectories via
  • -ForceEnglishOutput via
  • -IncludeReferencedProjects via
  • -MinClientVersion via
  • -MSBuildPath via
  • -MSBuildVersion via
  • -NoDefaultExcludes via
  • -NoPackageAnalysis via
  • -OutputDirectory via
  • -Properties via
  • -Suffix via
  • -SymbolPackageFormat via
  • -Symbols via
  • -Tool via
  • -Verbosity via
  • -Version via
public static IReadOnlyCollection NuGetPack(NuGetPackSettings options = null) => new NuGetTasks().Run(options); - /// + /// public static IReadOnlyCollection NuGetPack(Configure configurator) => new NuGetTasks().Run(configurator.Invoke(new NuGetPackSettings())); - /// + /// public static IEnumerable<(NuGetPackSettings Settings, IReadOnlyCollection Output)> NuGetPack(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(NuGetPack, degreeOfParallelism, completeOnFailure); ///

The NuGet Command Line Interface (CLI) provides the full extent of NuGet functionality to install, create, publish, and manage packages.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <targetPath> via
  • -ConfigFile via
  • -DirectDownload via
  • -DisableParallelProcessing via
  • -FallbackSource via
  • -ForceEnglishOutput via
  • -MSBuildPath via
  • -MSBuildVersion via
  • -NoCache via
  • -NonInteractive via
  • -OutputDirectory via
  • -PackageSaveMode via
  • -PackagesDirectory via
  • -Project2ProjectTimeOut via
  • -Recursive via
  • -RequireConsent via
  • -SolutionDirectory via
  • -Source via
  • -Verbosity via
public static IReadOnlyCollection NuGetRestore(NuGetRestoreSettings options = null) => new NuGetTasks().Run(options); - /// + /// public static IReadOnlyCollection NuGetRestore(Configure configurator) => new NuGetTasks().Run(configurator.Invoke(new NuGetRestoreSettings())); - /// + /// public static IEnumerable<(NuGetRestoreSettings Settings, IReadOnlyCollection Output)> NuGetRestore(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(NuGetRestore, degreeOfParallelism, completeOnFailure); ///

The NuGet Command Line Interface (CLI) provides the full extent of NuGet functionality to install, create, publish, and manage packages.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <packageID> via
  • -ConfigFile via
  • -DependencyVersion via
  • -DisableParallelProcessing via
  • -ExcludeVersion via
  • -FallbackSource via
  • -ForceEnglishOutput via
  • -Framework via
  • -NoCache via
  • -NonInteractive via
  • -OutputDirectory via
  • -PackageSaveMode via
  • -PreRelease via
  • -RequireConsent via
  • -SolutionDirectory via
  • -Source via
  • -Verbosity via
  • -Version via
public static IReadOnlyCollection NuGetInstall(NuGetInstallSettings options = null) => new NuGetTasks().Run(options); - /// + /// public static IReadOnlyCollection NuGetInstall(Configure configurator) => new NuGetTasks().Run(configurator.Invoke(new NuGetInstallSettings())); - /// + /// public static IEnumerable<(NuGetInstallSettings Settings, IReadOnlyCollection Output)> NuGetInstall(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(NuGetInstall, degreeOfParallelism, completeOnFailure); ///

The NuGet Command Line Interface (CLI) provides the full extent of NuGet functionality to install, create, publish, and manage packages.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • -ConfigFile via
  • -ForceEnglishOutput via
  • -Name via
  • -NonInteractive via
  • -Password via
  • -Source via
  • -StorePasswordInClearText via
  • -UserName via
  • -Verbosity via
public static IReadOnlyCollection NuGetSourcesAdd(NuGetSourcesAddSettings options = null) => new NuGetTasks().Run(options); - /// + /// public static IReadOnlyCollection NuGetSourcesAdd(Configure configurator) => new NuGetTasks().Run(configurator.Invoke(new NuGetSourcesAddSettings())); - /// + /// public static IEnumerable<(NuGetSourcesAddSettings Settings, IReadOnlyCollection Output)> NuGetSourcesAdd(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(NuGetSourcesAdd, degreeOfParallelism, completeOnFailure); ///

The NuGet Command Line Interface (CLI) provides the full extent of NuGet functionality to install, create, publish, and manage packages.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • -ConfigFile via
  • -ForceEnglishOutput via
  • -Name via
  • -NonInteractive via
  • -Password via
  • -Source via
  • -StorePasswordInClearText via
  • -UserName via
  • -Verbosity via
public static IReadOnlyCollection NuGetSourcesUpdate(NuGetSourcesUpdateSettings options = null) => new NuGetTasks().Run(options); - /// + /// public static IReadOnlyCollection NuGetSourcesUpdate(Configure configurator) => new NuGetTasks().Run(configurator.Invoke(new NuGetSourcesUpdateSettings())); - /// + /// public static IEnumerable<(NuGetSourcesUpdateSettings Settings, IReadOnlyCollection Output)> NuGetSourcesUpdate(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(NuGetSourcesUpdate, degreeOfParallelism, completeOnFailure); ///

The NuGet Command Line Interface (CLI) provides the full extent of NuGet functionality to install, create, publish, and manage packages.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • -ConfigFile via
  • -ForceEnglishOutput via
  • -Name via
  • -NonInteractive via
  • -Verbosity via
public static IReadOnlyCollection NuGetSourcesRemove(NuGetSourcesRemoveSettings options = null) => new NuGetTasks().Run(options); - /// + /// public static IReadOnlyCollection NuGetSourcesRemove(Configure configurator) => new NuGetTasks().Run(configurator.Invoke(new NuGetSourcesRemoveSettings())); - /// + /// public static IEnumerable<(NuGetSourcesRemoveSettings Settings, IReadOnlyCollection Output)> NuGetSourcesRemove(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(NuGetSourcesRemove, degreeOfParallelism, completeOnFailure); ///

The NuGet Command Line Interface (CLI) provides the full extent of NuGet functionality to install, create, publish, and manage packages.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • -ConfigFile via
  • -ForceEnglishOutput via
  • -Name via
  • -NonInteractive via
  • -Verbosity via
public static IReadOnlyCollection NuGetSourcesEnable(NuGetSourcesEnableSettings options = null) => new NuGetTasks().Run(options); - /// + /// public static IReadOnlyCollection NuGetSourcesEnable(Configure configurator) => new NuGetTasks().Run(configurator.Invoke(new NuGetSourcesEnableSettings())); - /// + /// public static IEnumerable<(NuGetSourcesEnableSettings Settings, IReadOnlyCollection Output)> NuGetSourcesEnable(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(NuGetSourcesEnable, degreeOfParallelism, completeOnFailure); ///

The NuGet Command Line Interface (CLI) provides the full extent of NuGet functionality to install, create, publish, and manage packages.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • -ConfigFile via
  • -ForceEnglishOutput via
  • -Name via
  • -NonInteractive via
  • -Verbosity via
public static IReadOnlyCollection NuGetSourcesDisable(NuGetSourcesDisableSettings options = null) => new NuGetTasks().Run(options); - /// + /// public static IReadOnlyCollection NuGetSourcesDisable(Configure configurator) => new NuGetTasks().Run(configurator.Invoke(new NuGetSourcesDisableSettings())); - /// + /// public static IEnumerable<(NuGetSourcesDisableSettings Settings, IReadOnlyCollection Output)> NuGetSourcesDisable(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(NuGetSourcesDisable, degreeOfParallelism, completeOnFailure); ///

The NuGet Command Line Interface (CLI) provides the full extent of NuGet functionality to install, create, publish, and manage packages.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • -ConfigFile via
  • -ForceEnglishOutput via
  • -Format via
  • -NonInteractive via
  • -Verbosity via
public static IReadOnlyCollection NuGetSourcesList(NuGetSourcesListSettings options = null) => new NuGetTasks().Run(options); - /// + /// public static IReadOnlyCollection NuGetSourcesList(Configure configurator) => new NuGetTasks().Run(configurator.Invoke(new NuGetSourcesListSettings())); - /// + /// public static IEnumerable<(NuGetSourcesListSettings Settings, IReadOnlyCollection Output)> NuGetSourcesList(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(NuGetSourcesList, degreeOfParallelism, completeOnFailure); } #region NuGetPushSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(NuGetTasks), Command = nameof(NuGetTasks.NuGetPush), Arguments = "push")] public partial class NuGetPushSettings : ToolOptions @@ -148,7 +148,7 @@ public partial class NuGetPushSettings : ToolOptions } #endregion #region NuGetDeleteSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(NuGetTasks), Command = nameof(NuGetTasks.NuGetDelete), Arguments = "delete")] public partial class NuGetDeleteSettings : ToolOptions @@ -174,7 +174,7 @@ public partial class NuGetDeleteSettings : ToolOptions } #endregion #region NuGetSignSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(NuGetTasks), Command = nameof(NuGetTasks.NuGetSign), Arguments = "sign")] public partial class NuGetSignSettings : ToolOptions @@ -214,7 +214,7 @@ public partial class NuGetSignSettings : ToolOptions } #endregion #region NuGetVerifySettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(NuGetTasks), Command = nameof(NuGetTasks.NuGetVerify), Arguments = "verify")] public partial class NuGetVerifySettings : ToolOptions @@ -234,7 +234,7 @@ public partial class NuGetVerifySettings : ToolOptions } #endregion #region NuGetPackSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(NuGetTasks), Command = nameof(NuGetTasks.NuGetPack), Arguments = "pack")] public partial class NuGetPackSettings : ToolOptions @@ -282,7 +282,7 @@ public partial class NuGetPackSettings : ToolOptions } #endregion #region NuGetRestoreSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(NuGetTasks), Command = nameof(NuGetTasks.NuGetRestore), Arguments = "restore")] public partial class NuGetRestoreSettings : ToolOptions @@ -328,7 +328,7 @@ public partial class NuGetRestoreSettings : ToolOptions } #endregion #region NuGetInstallSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(NuGetTasks), Command = nameof(NuGetTasks.NuGetInstall), Arguments = "install")] public partial class NuGetInstallSettings : ToolOptions @@ -372,7 +372,7 @@ public partial class NuGetInstallSettings : ToolOptions } #endregion #region NuGetSourcesAddSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(NuGetTasks), Command = nameof(NuGetTasks.NuGetSourcesAdd), Arguments = "sources add")] public partial class NuGetSourcesAddSettings : ToolOptions @@ -398,7 +398,7 @@ public partial class NuGetSourcesAddSettings : ToolOptions } #endregion #region NuGetSourcesUpdateSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(NuGetTasks), Command = nameof(NuGetTasks.NuGetSourcesUpdate), Arguments = "sources update")] public partial class NuGetSourcesUpdateSettings : ToolOptions @@ -424,7 +424,7 @@ public partial class NuGetSourcesUpdateSettings : ToolOptions } #endregion #region NuGetSourcesRemoveSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(NuGetTasks), Command = nameof(NuGetTasks.NuGetSourcesRemove), Arguments = "sources remove")] public partial class NuGetSourcesRemoveSettings : ToolOptions @@ -442,7 +442,7 @@ public partial class NuGetSourcesRemoveSettings : ToolOptions } #endregion #region NuGetSourcesEnableSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(NuGetTasks), Command = nameof(NuGetTasks.NuGetSourcesEnable), Arguments = "sources enable")] public partial class NuGetSourcesEnableSettings : ToolOptions @@ -460,7 +460,7 @@ public partial class NuGetSourcesEnableSettings : ToolOptions } #endregion #region NuGetSourcesDisableSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(NuGetTasks), Command = nameof(NuGetTasks.NuGetSourcesDisable), Arguments = "sources disable")] public partial class NuGetSourcesDisableSettings : ToolOptions @@ -478,7 +478,7 @@ public partial class NuGetSourcesDisableSettings : ToolOptions } #endregion #region NuGetSourcesListSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(NuGetTasks), Command = nameof(NuGetTasks.NuGetSourcesList), Arguments = "sources list")] public partial class NuGetSourcesListSettings : ToolOptions @@ -496,7 +496,7 @@ public partial class NuGetSourcesListSettings : ToolOptions } #endregion #region NuGetPushSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class NuGetPushSettingsExtensions { @@ -635,7 +635,7 @@ public static partial class NuGetPushSettingsExtensions } #endregion #region NuGetDeleteSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class NuGetDeleteSettingsExtensions { @@ -741,7 +741,7 @@ public static partial class NuGetDeleteSettingsExtensions } #endregion #region NuGetSignSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class NuGetSignSettingsExtensions { @@ -903,7 +903,7 @@ public static partial class NuGetSignSettingsExtensions } #endregion #region NuGetVerifySettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class NuGetVerifySettingsExtensions { @@ -976,7 +976,7 @@ public static partial class NuGetVerifySettingsExtensions } #endregion #region NuGetPackSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class NuGetPackSettingsExtensions { @@ -1241,7 +1241,7 @@ public static partial class NuGetPackSettingsExtensions } #endregion #region NuGetRestoreSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class NuGetRestoreSettingsExtensions { @@ -1508,7 +1508,7 @@ public static partial class NuGetRestoreSettingsExtensions } #endregion #region NuGetInstallSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class NuGetInstallSettingsExtensions { @@ -1767,7 +1767,7 @@ public static partial class NuGetInstallSettingsExtensions } #endregion #region NuGetSourcesAddSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class NuGetSourcesAddSettingsExtensions { @@ -1873,7 +1873,7 @@ public static partial class NuGetSourcesAddSettingsExtensions } #endregion #region NuGetSourcesUpdateSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class NuGetSourcesUpdateSettingsExtensions { @@ -1979,7 +1979,7 @@ public static partial class NuGetSourcesUpdateSettingsExtensions } #endregion #region NuGetSourcesRemoveSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class NuGetSourcesRemoveSettingsExtensions { @@ -2044,7 +2044,7 @@ public static partial class NuGetSourcesRemoveSettingsExtensions } #endregion #region NuGetSourcesEnableSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class NuGetSourcesEnableSettingsExtensions { @@ -2109,7 +2109,7 @@ public static partial class NuGetSourcesEnableSettingsExtensions } #endregion #region NuGetSourcesDisableSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class NuGetSourcesDisableSettingsExtensions { @@ -2174,7 +2174,7 @@ public static partial class NuGetSourcesDisableSettingsExtensions } #endregion #region NuGetSourcesListSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class NuGetSourcesListSettingsExtensions { diff --git a/src/Fallout.Common/Tools/NuGetKeyVaultSignTool/NuGetKeyVaultSignTool.Generated.cs b/src/Fallout.Common/Tools/NuGetKeyVaultSignTool/NuGetKeyVaultSignTool.Generated.cs index 8531aa0c5..a6fef12a6 100644 --- a/src/Fallout.Common/Tools/NuGetKeyVaultSignTool/NuGetKeyVaultSignTool.Generated.cs +++ b/src/Fallout.Common/Tools/NuGetKeyVaultSignTool/NuGetKeyVaultSignTool.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.NuGetKeyVaultSignTool; +namespace Fallout.Application.Tools.NuGetKeyVaultSignTool; ///

NuGet Key Vault Sign Tool is similar to nuget sign, with the major difference being that it uses Azure Key Vault for performing the signing process. Similar usage configuration like AzureSignTool, except is used to sign nuget package.

For more details, visit the official website.

[ExcludeFromCodeCoverage] @@ -26,13 +26,13 @@ public partial class NuGetKeyVaultSignToolTasks : ToolTasks, IRequireNuGetPackag ///

NuGet Key Vault Sign Tool is similar to nuget sign, with the major difference being that it uses Azure Key Vault for performing the signing process. Similar usage configuration like AzureSignTool, except is used to sign nuget package.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <file> via
  • --azure-key-vault-accesstoken via
  • --azure-key-vault-certificate via
  • --azure-key-vault-client-id via
  • --azure-key-vault-client-secret via
  • --azure-key-vault-managed-identity via
  • --azure-key-vault-tenant-id via
  • --azure-key-vault-url via
  • --file-digest via
  • --force via
  • --output via
  • --timestamp-digest via
  • --timestamp-rfc3161 via
public static IReadOnlyCollection NuGetKeyVaultSignTool(NuGetKeyVaultSignToolSettings options = null) => new NuGetKeyVaultSignToolTasks().Run(options); - /// + /// public static IReadOnlyCollection NuGetKeyVaultSignTool(Configure configurator) => new NuGetKeyVaultSignToolTasks().Run(configurator.Invoke(new NuGetKeyVaultSignToolSettings())); - /// + /// public static IEnumerable<(NuGetKeyVaultSignToolSettings Settings, IReadOnlyCollection Output)> NuGetKeyVaultSignTool(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(NuGetKeyVaultSignTool, degreeOfParallelism, completeOnFailure); } #region NuGetKeyVaultSignToolSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(NuGetKeyVaultSignToolTasks), Command = nameof(NuGetKeyVaultSignToolTasks.NuGetKeyVaultSignTool), Arguments = "sign")] public partial class NuGetKeyVaultSignToolSettings : ToolOptions @@ -66,7 +66,7 @@ public partial class NuGetKeyVaultSignToolSettings : ToolOptions } #endregion #region NuGetKeyVaultSignToolSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class NuGetKeyVaultSignToolSettingsExtensions { diff --git a/src/Fallout.Common/Tools/OctoVersion/OctoVersion.Generated.cs b/src/Fallout.Common/Tools/OctoVersion/OctoVersion.Generated.cs index 823505fc9..80755f914 100644 --- a/src/Fallout.Common/Tools/OctoVersion/OctoVersion.Generated.cs +++ b/src/Fallout.Common/Tools/OctoVersion/OctoVersion.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/OctoVersion/OctoVersion.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.OctoVersion; +namespace Fallout.Application.Tools.OctoVersion; ///

For more details, visit the official website.

[ExcludeFromCodeCoverage] @@ -28,20 +28,20 @@ public partial class OctoVersionTasks : ToolTasks, IRequireNuGetPackage ///

Gets the version information for a project.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --BuildMetadata via
  • --CurrentBranch via
  • --DetectEnvironment via
  • --FullSemVer via
  • --Major via
  • --Minor via
  • --NonPreReleaseTags via
  • --OutputFormats via
  • --OutputJsonFile via
  • --Patch via
  • --PreReleaseTag via
  • --RepositoryPath via
public static (OctoVersionInfo Result, IReadOnlyCollection Output) OctoVersionGetVersion(OctoVersionGetVersionSettings options = null) => new OctoVersionTasks().Run(options); - /// + /// public static (OctoVersionInfo Result, IReadOnlyCollection Output) OctoVersionGetVersion(Configure configurator) => new OctoVersionTasks().Run(configurator.Invoke(new OctoVersionGetVersionSettings())); - /// + /// public static IEnumerable<(OctoVersionGetVersionSettings Settings, OctoVersionInfo Result, IReadOnlyCollection Output)> OctoVersionGetVersion(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(OctoVersionGetVersion, degreeOfParallelism, completeOnFailure); ///

Executes OctoVersion information for a project, without trying to parse the output.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --BuildMetadata via
  • --CurrentBranch via
  • --DetectEnvironment via
  • --FullSemVer via
  • --Major via
  • --Minor via
  • --NonPreReleaseTags via
  • --OutputFormats via
  • --OutputJsonFile via
  • --Patch via
  • --PreReleaseTag via
  • --RepositoryPath via
public static IReadOnlyCollection OctoVersionExecute(OctoVersionExecuteSettings options = null) => new OctoVersionTasks().Run(options); - /// + /// public static IReadOnlyCollection OctoVersionExecute(Configure configurator) => new OctoVersionTasks().Run(configurator.Invoke(new OctoVersionExecuteSettings())); - /// + /// public static IEnumerable<(OctoVersionExecuteSettings Settings, IReadOnlyCollection Output)> OctoVersionExecute(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(OctoVersionExecute, degreeOfParallelism, completeOnFailure); } #region OctoVersionGetVersionSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(OctoVersionTasks), Command = nameof(OctoVersionTasks.OctoVersionGetVersion), Arguments = "octoversion")] public partial class OctoVersionGetVersionSettings : ToolOptions, IToolOptionsWithFramework @@ -73,7 +73,7 @@ public partial class OctoVersionGetVersionSettings : ToolOptions, IToolOptionsWi } #endregion #region OctoVersionExecuteSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(OctoVersionTasks), Command = nameof(OctoVersionTasks.OctoVersionExecute), Arguments = "octoversion")] public partial class OctoVersionExecuteSettings : ToolOptions, IToolOptionsWithFramework @@ -105,7 +105,7 @@ public partial class OctoVersionExecuteSettings : ToolOptions, IToolOptionsWithF } #endregion #region OctoVersionGetVersionSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class OctoVersionGetVersionSettingsExtensions { @@ -247,7 +247,7 @@ public static partial class OctoVersionGetVersionSettingsExtensions } #endregion #region OctoVersionExecuteSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class OctoVersionExecuteSettingsExtensions { diff --git a/src/Fallout.Common/Tools/OctoVersion/OctoVersionAttribute.cs b/src/Fallout.Common/Tools/OctoVersion/OctoVersionAttribute.cs index d7f2796a8..51d19eac3 100644 --- a/src/Fallout.Common/Tools/OctoVersion/OctoVersionAttribute.cs +++ b/src/Fallout.Common/Tools/OctoVersion/OctoVersionAttribute.cs @@ -5,13 +5,14 @@ using Fallout.Common.CI.AzurePipelines; using Fallout.Common.CI.TeamCity; using Fallout.Common.IO; -using Fallout.Common.Tooling; using Fallout.Common.Utilities; using Fallout.Application.ValueInjection; using Fallout.Application.Git; using Fallout.Application; +using Fallout.Application.Tooling; +using Fallout.Common; -namespace Fallout.Common.Tools.OctoVersion; +namespace Fallout.Application.Tools.OctoVersion; /// /// Injects an instance of based on the local repository. diff --git a/src/Fallout.Common/Tools/OctoVersion/OctoVersionTasks.cs b/src/Fallout.Common/Tools/OctoVersion/OctoVersionTasks.cs index e448d44d8..8449510ab 100644 --- a/src/Fallout.Common/Tools/OctoVersion/OctoVersionTasks.cs +++ b/src/Fallout.Common/Tools/OctoVersion/OctoVersionTasks.cs @@ -1,10 +1,11 @@ using System; using System.Collections.Generic; using Fallout.Common.IO; -using Fallout.Common.Tooling; using Fallout.Common.Utilities; +using Fallout.Application.Tooling; +using Fallout.Common; -namespace Fallout.Common.Tools.OctoVersion; +namespace Fallout.Application.Tools.OctoVersion; partial class OctoVersionTasks { diff --git a/src/Fallout.Common/Tools/Octopus/Octopus.Generated.cs b/src/Fallout.Common/Tools/Octopus/Octopus.Generated.cs index 7024ea049..0e5ef5c06 100644 --- a/src/Fallout.Common/Tools/Octopus/Octopus.Generated.cs +++ b/src/Fallout.Common/Tools/Octopus/Octopus.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.Octopus; +namespace Fallout.Application.Tools.Octopus; ///

Octopus Deploy is an automated deployment server, which you install yourself, much like you would install SQL Server, Team Foundation Server or JetBrains TeamCity. Octopus makes it easy to automate deployment of ASP.NET web applications and Windows Services into development, test and production environments.Along with the Octopus Deploy server, you'll also install a lightweight agent service on each of the machines that you plan to deploy to, for example your web and application servers. We call this the Tentacle agent; the idea being that one Octopus server controls many Tentacles, potentially a lot more than 8! With Octopus and Tentacle, you can easily deploy to your own servers, or cloud services from providers like Amazon Web Services or Microsoft Azure.

For more details, visit the official website.

[ExcludeFromCodeCoverage] @@ -26,41 +26,41 @@ public partial class OctopusTasks : ToolTasks, IRequireNuGetPackage ///

The Octo.exe pack command provides a number of other useful parameters that can be used to customize the way your package gets created, such as output folder, files to include and release notes.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --author via
  • --basePath via
  • --description via
  • --format via
  • --id via
  • --include via
  • --outFolder via
  • --overwrite via
  • --releaseNotes via
  • --releaseNotesFile via
  • --title via
  • --verbose via
  • --version via
public static IReadOnlyCollection OctopusPack(OctopusPackSettings options = null) => new OctopusTasks().Run(options); - /// + /// public static IReadOnlyCollection OctopusPack(Configure configurator) => new OctopusTasks().Run(configurator.Invoke(new OctopusPackSettings())); - /// + /// public static IEnumerable<(OctopusPackSettings Settings, IReadOnlyCollection Output)> OctopusPack(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(OctopusPack, degreeOfParallelism, completeOnFailure); ///

The Octo.exe push command can push any of the supported packages types listed on this page.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --apiKey via
  • --configFile via
  • --debug via
  • --enableServiceMessages via
  • --ignoreSslErrors via
  • --logLevel via
  • --package via
  • --pass via
  • --proxy via
  • --proxyPass via
  • --proxyUser via
  • --replace-existing via
  • --server via
  • --space via
  • --timeout via
  • --user via
public static IReadOnlyCollection OctopusPush(OctopusPushSettings options = null) => new OctopusTasks().Run(options); - /// + /// public static IReadOnlyCollection OctopusPush(Configure configurator) => new OctopusTasks().Run(configurator.Invoke(new OctopusPushSettings())); - /// + /// public static IEnumerable<(OctopusPushSettings Settings, IReadOnlyCollection Output)> OctopusPush(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(OctopusPush, degreeOfParallelism, completeOnFailure); ///

The Octo.exe create-release can be used to automate the creation of releases. This allows you to easily integrate Octopus with other continuous integration servers.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --apiKey via
  • --cancelontimeout via
  • --channel via
  • --configFile via
  • --debug via
  • --deployat via
  • --deploymentchecksleepcycle via
  • --deploymenttimeout via
  • --deployto via
  • --enableServiceMessages via
  • --force via
  • --forcepackagedownload via
  • --gitCommit via
  • --gitRef via
  • --guidedfailure via
  • --ignorechannelrules via
  • --ignoreexisting via
  • --ignoreSslErrors via
  • --logLevel via
  • --norawlog via
  • --package via
  • --packageprerelease via
  • --packagesFolder via
  • --packageversion via
  • --pass via
  • --progress via
  • --project via
  • --proxy via
  • --proxyPass via
  • --proxyUser via
  • --rawlogfile via
  • --releasenotes via
  • --releasenotesfile via
  • --server via
  • --skip via
  • --space via
  • --specificmachines via
  • --tenant via
  • --tenanttag via
  • --timeout via
  • --user via
  • --variable via
  • --version via
  • --waitfordeployment via
  • --whatif via
public static IReadOnlyCollection OctopusCreateRelease(OctopusCreateReleaseSettings options = null) => new OctopusTasks().Run(options); - /// + /// public static IReadOnlyCollection OctopusCreateRelease(Configure configurator) => new OctopusTasks().Run(configurator.Invoke(new OctopusCreateReleaseSettings())); - /// + /// public static IEnumerable<(OctopusCreateReleaseSettings Settings, IReadOnlyCollection Output)> OctopusCreateRelease(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(OctopusCreateRelease, degreeOfParallelism, completeOnFailure); ///

The Octo.exe deploy-release can be used to automate the deployment of releases to environments. This allows you to easily integrate Octopus with other continuous integration servers.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --apiKey via
  • --cancelontimeout via
  • --channel via
  • --configFile via
  • --debug via
  • --deployat via
  • --deploymentchecksleepcycle via
  • --deploymenttimeout via
  • --deployto via
  • --enableServiceMessages via
  • --force via
  • --forcepackagedownload via
  • --guidedfailure via
  • --ignoreSslErrors via
  • --logLevel via
  • --norawlog via
  • --pass via
  • --progress via
  • --project via
  • --proxy via
  • --proxyPass via
  • --proxyUser via
  • --rawlogfile via
  • --server via
  • --skip via
  • --space via
  • --specificmachines via
  • --tenant via
  • --tenanttag via
  • --timeout via
  • --updateVariables via
  • --user via
  • --variable via
  • --version via
  • --waitfordeployment via
public static IReadOnlyCollection OctopusDeployRelease(OctopusDeployReleaseSettings options = null) => new OctopusTasks().Run(options); - /// + /// public static IReadOnlyCollection OctopusDeployRelease(Configure configurator) => new OctopusTasks().Run(configurator.Invoke(new OctopusDeployReleaseSettings())); - /// + /// public static IEnumerable<(OctopusDeployReleaseSettings Settings, IReadOnlyCollection Output)> OctopusDeployRelease(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(OctopusDeployRelease, degreeOfParallelism, completeOnFailure); ///

The Octo.exe build-information command push build information to Octopus Server.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --apiKey via
  • --configFile via
  • --debug via
  • --enableServiceMessages via
  • --file via
  • --ignoreSslErrors via
  • --logLevel via
  • --overwrite-mode via
  • --package-id via
  • --pass via
  • --proxy via
  • --proxyPass via
  • --proxyUser via
  • --server via
  • --space via
  • --timeout via
  • --user via
  • --version via
public static IReadOnlyCollection OctopusBuildInformation(OctopusBuildInformationSettings options = null) => new OctopusTasks().Run(options); - /// + /// public static IReadOnlyCollection OctopusBuildInformation(Configure configurator) => new OctopusTasks().Run(configurator.Invoke(new OctopusBuildInformationSettings())); - /// + /// public static IEnumerable<(OctopusBuildInformationSettings Settings, IReadOnlyCollection Output)> OctopusBuildInformation(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(OctopusBuildInformation, degreeOfParallelism, completeOnFailure); } #region OctopusPackSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(OctopusTasks), Command = nameof(OctopusTasks.OctopusPack), Arguments = "pack")] public partial class OctopusPackSettings : ToolOptions, IToolOptionsWithFramework @@ -96,7 +96,7 @@ public partial class OctopusPackSettings : ToolOptions, IToolOptionsWithFramewor } #endregion #region OctopusPushSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(OctopusTasks), Command = nameof(OctopusTasks.OctopusPush), Arguments = "push")] public partial class OctopusPushSettings : ToolOptions, IToolOptionsWithFramework @@ -136,7 +136,7 @@ public partial class OctopusPushSettings : ToolOptions, IToolOptionsWithFramewor } #endregion #region OctopusCreateReleaseSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(OctopusTasks), Command = nameof(OctopusTasks.OctopusCreateRelease), Arguments = "create-release")] public partial class OctopusCreateReleaseSettings : ToolOptions, IToolOptionsWithFramework @@ -234,7 +234,7 @@ public partial class OctopusCreateReleaseSettings : ToolOptions, IToolOptionsWit } #endregion #region OctopusDeployReleaseSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(OctopusTasks), Command = nameof(OctopusTasks.OctopusDeployRelease), Arguments = "deploy-release")] public partial class OctopusDeployReleaseSettings : ToolOptions, IToolOptionsWithFramework @@ -312,7 +312,7 @@ public partial class OctopusDeployReleaseSettings : ToolOptions, IToolOptionsWit } #endregion #region OctopusBuildInformationSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(OctopusTasks), Command = nameof(OctopusTasks.OctopusBuildInformation), Arguments = "build-information")] public partial class OctopusBuildInformationSettings : ToolOptions, IToolOptionsWithFramework @@ -356,7 +356,7 @@ public partial class OctopusBuildInformationSettings : ToolOptions, IToolOptions } #endregion #region OctopusPackSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class OctopusPackSettingsExtensions { @@ -523,7 +523,7 @@ public static partial class OctopusPackSettingsExtensions } #endregion #region OctopusPushSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class OctopusPushSettingsExtensions { @@ -709,7 +709,7 @@ public static partial class OctopusPushSettingsExtensions } #endregion #region OctopusCreateReleaseSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class OctopusCreateReleaseSettingsExtensions { @@ -1241,7 +1241,7 @@ public static partial class OctopusCreateReleaseSettingsExtensions } #endregion #region OctopusDeployReleaseSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class OctopusDeployReleaseSettingsExtensions { @@ -1666,7 +1666,7 @@ public static partial class OctopusDeployReleaseSettingsExtensions } #endregion #region OctopusBuildInformationSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class OctopusBuildInformationSettingsExtensions { diff --git a/src/Fallout.Common/Tools/OpenCover/OpenCover.Generated.cs b/src/Fallout.Common/Tools/OpenCover/OpenCover.Generated.cs index 2a247c613..1fc245c04 100644 --- a/src/Fallout.Common/Tools/OpenCover/OpenCover.Generated.cs +++ b/src/Fallout.Common/Tools/OpenCover/OpenCover.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/OpenCover/OpenCover.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.OpenCover; +namespace Fallout.Application.Tools.OpenCover; ///

OpenCover is a code coverage tool for .NET 2 and above (Windows OSs only - no MONO), with support for 32 and 64 processes and covers both branch and sequence points.

For more details, visit the official website.

[ExcludeFromCodeCoverage] @@ -28,13 +28,13 @@ public partial class OpenCoverTasks : ToolTasks, IRequireNuGetPackage ///

OpenCover is a code coverage tool for .NET 2 and above (Windows OSs only - no MONO), with support for 32 and 64 processes and covers both branch and sequence points.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • -coverbytest via
  • -enableperformancecounters via
  • -excludebyattribute via
  • -excludebyfile via
  • -excludedirs via
  • -filter via
  • -hideskipped via
  • -log via
  • -mergebyhash via
  • -mergeoutput via
  • -nodefaultfilters via
  • -oldStyle via
  • -output via
  • -register via
  • -returntargetcode via
  • -safemode via
  • -searchdirs via
  • -service via
  • -showunvisited via
  • -skipautoprops via
  • -target via
  • -targetargs via
  • -targetdir via
  • -threshold via
public static IReadOnlyCollection OpenCover(OpenCoverSettings options = null) => new OpenCoverTasks().Run(options); - /// + /// public static IReadOnlyCollection OpenCover(Configure configurator) => new OpenCoverTasks().Run(configurator.Invoke(new OpenCoverSettings())); - /// + /// public static IEnumerable<(OpenCoverSettings Settings, IReadOnlyCollection Output)> OpenCover(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(OpenCover, degreeOfParallelism, completeOnFailure); } #region OpenCoverSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(OpenCoverTasks), Command = nameof(OpenCoverTasks.OpenCover))] public partial class OpenCoverSettings : ToolOptions @@ -90,7 +90,7 @@ public partial class OpenCoverSettings : ToolOptions } #endregion #region OpenCoverSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class OpenCoverSettingsExtensions { diff --git a/src/Fallout.Common/Tools/OpenCover/OpenCoverTasks.cs b/src/Fallout.Common/Tools/OpenCover/OpenCoverTasks.cs index 0c990e4d9..e471cbbce 100644 --- a/src/Fallout.Common/Tools/OpenCover/OpenCoverTasks.cs +++ b/src/Fallout.Common/Tools/OpenCover/OpenCoverTasks.cs @@ -1,8 +1,7 @@ -using Fallout.Common.Tooling; using Fallout.Common.Utilities; using Fallout.Application.Tooling; -namespace Fallout.Common.Tools.OpenCover; +namespace Fallout.Application.Tools.OpenCover; public class OpenCoverVerbosityMappingAttribute : VerbosityMappingAttribute { diff --git a/src/Fallout.Common/Tools/Paket/Paket.Generated.cs b/src/Fallout.Common/Tools/Paket/Paket.Generated.cs index 4ee363300..9d48b0e41 100644 --- a/src/Fallout.Common/Tools/Paket/Paket.Generated.cs +++ b/src/Fallout.Common/Tools/Paket/Paket.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.Paket; +namespace Fallout.Application.Tools.Paket; ///

Paket is a dependency manager for .NET and mono projects, which is designed to work well with NuGet packages and also enables referencing files directly from Git repositories or any HTTP resource. It enables precise and predictable control over what packages the projects within your application reference.

If you want to learn how to use Paket then read the Getting started tutorial and take a look at the FAQs.

If you are already using NuGet for package management in your solution then you can learn about the upgrade process in the convert from NuGet section.

For more details, visit the official website.

[ExcludeFromCodeCoverage] @@ -26,34 +26,34 @@ public partial class PaketTasks : ToolTasks, IRequireNuGetPackage ///

Paket is a dependency manager for .NET and mono projects, which is designed to work well with NuGet packages and also enables referencing files directly from Git repositories or any HTTP resource. It enables precise and predictable control over what packages the projects within your application reference.

If you want to learn how to use Paket then read the Getting started tutorial and take a look at the FAQs.

If you are already using NuGet for package management in your solution then you can learn about the upgrade process in the convert from NuGet section.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <packageId> via
  • --clean-redirects via
  • --create-new-binding-files via
  • --filter via
  • --force via
  • --from-bootstrapper via
  • --group via
  • --keep-major via
  • --keep-minor via
  • --keep-patch via
  • --log-file via
  • --no-install via
  • --redirects via
  • --silent via
  • --touch-affected-refs via
  • --verbose via
  • --version via
public static IReadOnlyCollection PaketUpdate(PaketUpdateSettings options = null) => new PaketTasks().Run(options); - /// + /// public static IReadOnlyCollection PaketUpdate(Configure configurator) => new PaketTasks().Run(configurator.Invoke(new PaketUpdateSettings())); - /// + /// public static IEnumerable<(PaketUpdateSettings Settings, IReadOnlyCollection Output)> PaketUpdate(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(PaketUpdate, degreeOfParallelism, completeOnFailure); ///

Paket is a dependency manager for .NET and mono projects, which is designed to work well with NuGet packages and also enables referencing files directly from Git repositories or any HTTP resource. It enables precise and predictable control over what packages the projects within your application reference.

If you want to learn how to use Paket then read the Getting started tutorial and take a look at the FAQs.

If you are already using NuGet for package management in your solution then you can learn about the upgrade process in the convert from NuGet section.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --fail-on-checks via
  • --force via
  • --from-bootstrapper via
  • --group via
  • --ignore-checks via
  • --log-file via
  • --only-referenced via
  • --project via
  • --references-files via
  • --silent via
  • --target-framework via
  • --touch-affected-refs via
  • --verbose via
public static IReadOnlyCollection PaketRestore(PaketRestoreSettings options = null) => new PaketTasks().Run(options); - /// + /// public static IReadOnlyCollection PaketRestore(Configure configurator) => new PaketTasks().Run(configurator.Invoke(new PaketRestoreSettings())); - /// + /// public static IEnumerable<(PaketRestoreSettings Settings, IReadOnlyCollection Output)> PaketRestore(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(PaketRestore, degreeOfParallelism, completeOnFailure); ///

Paket is a dependency manager for .NET and mono projects, which is designed to work well with NuGet packages and also enables referencing files directly from Git repositories or any HTTP resource. It enables precise and predictable control over what packages the projects within your application reference.

If you want to learn how to use Paket then read the Getting started tutorial and take a look at the FAQs.

If you are already using NuGet for package management in your solution then you can learn about the upgrade process in the convert from NuGet section.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --api-key via
  • --endpoint via
  • --from-bootstrapper via
  • --log-file via
  • --silent via
  • --url via
  • --verbose via
  • file via
public static IReadOnlyCollection PaketPush(PaketPushSettings options = null) => new PaketTasks().Run(options); - /// + /// public static IReadOnlyCollection PaketPush(Configure configurator) => new PaketTasks().Run(configurator.Invoke(new PaketPushSettings())); - /// + /// public static IEnumerable<(PaketPushSettings Settings, IReadOnlyCollection Output)> PaketPush(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(PaketPush, degreeOfParallelism, completeOnFailure); ///

Paket is a dependency manager for .NET and mono projects, which is designed to work well with NuGet packages and also enables referencing files directly from Git repositories or any HTTP resource. It enables precise and predictable control over what packages the projects within your application reference.

If you want to learn how to use Paket then read the Getting started tutorial and take a look at the FAQs.

If you are already using NuGet for package management in your solution then you can learn about the upgrade process in the convert from NuGet section.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <outputDirectory> via
  • --build-config via
  • --build-platform via
  • --exclude via
  • --from-bootstrapper via
  • --include-referenced-projects via
  • --lock-dependencies via
  • --log-file via
  • --minimum-from-lock-file via
  • --pin-project-references via
  • --project-url via
  • --release-notes via
  • --silent via
  • --specific-version via
  • --symbols via
  • --template via
  • --verbose via
  • --version via
public static IReadOnlyCollection PaketPack(PaketPackSettings options = null) => new PaketTasks().Run(options); - /// + /// public static IReadOnlyCollection PaketPack(Configure configurator) => new PaketTasks().Run(configurator.Invoke(new PaketPackSettings())); - /// + /// public static IEnumerable<(PaketPackSettings Settings, IReadOnlyCollection Output)> PaketPack(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(PaketPack, degreeOfParallelism, completeOnFailure); } #region PaketUpdateSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(PaketTasks), Command = nameof(PaketTasks.PaketUpdate), Arguments = "update")] public partial class PaketUpdateSettings : ToolOptions @@ -95,7 +95,7 @@ public partial class PaketUpdateSettings : ToolOptions } #endregion #region PaketRestoreSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(PaketTasks), Command = nameof(PaketTasks.PaketRestore), Arguments = "restore")] public partial class PaketRestoreSettings : ToolOptions @@ -129,7 +129,7 @@ public partial class PaketRestoreSettings : ToolOptions } #endregion #region PaketPushSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(PaketTasks), Command = nameof(PaketTasks.PaketPush), Arguments = "push")] public partial class PaketPushSettings : ToolOptions @@ -153,7 +153,7 @@ public partial class PaketPushSettings : ToolOptions } #endregion #region PaketPackSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(PaketTasks), Command = nameof(PaketTasks.PaketPack), Arguments = "pack")] public partial class PaketPackSettings : ToolOptions @@ -197,7 +197,7 @@ public partial class PaketPackSettings : ToolOptions } #endregion #region PaketUpdateSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class PaketUpdateSettingsExtensions { @@ -457,7 +457,7 @@ public static partial class PaketUpdateSettingsExtensions } #endregion #region PaketRestoreSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class PaketRestoreSettingsExtensions { @@ -655,7 +655,7 @@ public static partial class PaketRestoreSettingsExtensions } #endregion #region PaketPushSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class PaketPushSettingsExtensions { @@ -753,7 +753,7 @@ public static partial class PaketPushSettingsExtensions } #endregion #region PaketPackSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class PaketPackSettingsExtensions { diff --git a/src/Fallout.Common/Tools/PowerShell/PowerShell.Generated.cs b/src/Fallout.Common/Tools/PowerShell/PowerShell.Generated.cs index 880d0938c..997093827 100644 --- a/src/Fallout.Common/Tools/PowerShell/PowerShell.Generated.cs +++ b/src/Fallout.Common/Tools/PowerShell/PowerShell.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/PowerShell/PowerShell.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.PowerShell; +namespace Fallout.Application.Tools.PowerShell; ///

PowerShell is a cross-platform task automation solution made up of a command-line shell, a scripting language, and a configuration management framework. PowerShell runs on Windows, Linux, and macOS.

For more details, visit the official website.

[ExcludeFromCodeCoverage] @@ -25,13 +25,13 @@ public partial class PowerShellTasks : ToolTasks ///

PowerShell is a cross-platform task automation solution made up of a command-line shell, a scripting language, and a configuration management framework. PowerShell runs on Windows, Linux, and macOS.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <fileArguments> via
  • - via
  • -Command via
  • -ConfigurationName via
  • -EncodedCommand via
  • -ExecutionPolicy via
  • -File via
  • -InputFormat via
  • -Mta via
  • -NoExit via
  • -NoLogo via
  • -NonInteractive via
  • -NoProfile via
  • -OutputFormat via
  • -PSConsoleFile via
  • -Sta via
  • -Version via
  • -WindowStyle via
public static IReadOnlyCollection PowerShell(PowerShellSettings options = null) => new PowerShellTasks().Run(options); - /// + /// public static IReadOnlyCollection PowerShell(Configure configurator) => new PowerShellTasks().Run(configurator.Invoke(new PowerShellSettings())); - /// + /// public static IEnumerable<(PowerShellSettings Settings, IReadOnlyCollection Output)> PowerShell(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(PowerShell, degreeOfParallelism, completeOnFailure); } #region PowerShellSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(PowerShellTasks), Command = nameof(PowerShellTasks.PowerShell))] public partial class PowerShellSettings : ToolOptions @@ -75,7 +75,7 @@ public partial class PowerShellSettings : ToolOptions } #endregion #region PowerShellSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class PowerShellSettingsExtensions { diff --git a/src/Fallout.Common/Tools/PowerShell/PowerShellTasks.cs b/src/Fallout.Common/Tools/PowerShell/PowerShellTasks.cs index b5ef996a1..64303bc47 100644 --- a/src/Fallout.Common/Tools/PowerShell/PowerShellTasks.cs +++ b/src/Fallout.Common/Tools/PowerShell/PowerShellTasks.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.PowerShell; +namespace Fallout.Application.Tools.PowerShell; partial class PowerShellTasks { diff --git a/src/Fallout.Common/Tools/Pulumi/Pulumi.Generated.cs b/src/Fallout.Common/Tools/Pulumi/Pulumi.Generated.cs index e81229d6c..0c3058ff3 100644 --- a/src/Fallout.Common/Tools/Pulumi/Pulumi.Generated.cs +++ b/src/Fallout.Common/Tools/Pulumi/Pulumi.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/Pulumi/Pulumi.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.Pulumi; +namespace Fallout.Application.Tools.Pulumi; ///

Pulumi is an open source infrastructure as code tool for creating, deploying and managing cloud infrastructure. Pulumi works with traditional infrastructure like VMs, networks, and databases, in addition to modern architectures, including containers, Kubernetes clusters, and serverless functions. Pulumi supports dozens of public, private, and hybrid cloud service providers.

For more details, visit the official website.

[ExcludeFromCodeCoverage] @@ -27,188 +27,188 @@ public partial class PulumiTasks : ToolTasks, IRequirePathTool ///

Pulumi is an open source infrastructure as code tool for creating, deploying and managing cloud infrastructure. Pulumi works with traditional infrastructure like VMs, networks, and databases, in addition to modern architectures, including containers, Kubernetes clusters, and serverless functions. Pulumi supports dozens of public, private, and hybrid cloud service providers.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --color via
  • --config via
  • --config-file via
  • --config-path via
  • --cwd via
  • --debug via
  • --diff via
  • --disable-integrity-checking via
  • --emoji via
  • --expect-no-changes via
  • --logflow via
  • --logtostderr via
  • --message via
  • --non-interactive via
  • --parallel via
  • --policy-pack via
  • --policy-pack-config via
  • --profiling via
  • --refresh via
  • --replace via
  • --secrets-provider via
  • --show-config via
  • --show-reads via
  • --show-replacement-steps via
  • --show-sames via
  • --skip-preview via
  • --stack via
  • --suppress-outputs via
  • --suppress-permalink via
  • --target via
  • --target-dependents via
  • --target-replace via
  • --tracing via
  • --verbose via
  • --yes via
public static IReadOnlyCollection PulumiUp(PulumiUpSettings options = null) => new PulumiTasks().Run(options); - /// + /// public static IReadOnlyCollection PulumiUp(Configure configurator) => new PulumiTasks().Run(configurator.Invoke(new PulumiUpSettings())); - /// + /// public static IEnumerable<(PulumiUpSettings Settings, IReadOnlyCollection Output)> PulumiUp(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(PulumiUp, degreeOfParallelism, completeOnFailure); ///

Pulumi is an open source infrastructure as code tool for creating, deploying and managing cloud infrastructure. Pulumi works with traditional infrastructure like VMs, networks, and databases, in addition to modern architectures, including containers, Kubernetes clusters, and serverless functions. Pulumi supports dozens of public, private, and hybrid cloud service providers.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --color via
  • --config via
  • --config-file via
  • --config-path via
  • --cwd via
  • --debug via
  • --diff via
  • --disable-integrity-checking via
  • --emoji via
  • --expect-no-changes via
  • --json via
  • --logflow via
  • --logtostderr via
  • --message via
  • --non-interactive via
  • --parallel via
  • --policy-pack via
  • --policy-pack-config via
  • --profiling via
  • --refresh via
  • --replace via
  • --show-config via
  • --show-reads via
  • --show-replacement-steps via
  • --show-sames via
  • --stack via
  • --suppress-outputs via
  • --suppress-permalink via
  • --target via
  • --target-dependents via
  • --target-replace via
  • --tracing via
  • --verbose via
public static IReadOnlyCollection PulumiPreview(PulumiPreviewSettings options = null) => new PulumiTasks().Run(options); - /// + /// public static IReadOnlyCollection PulumiPreview(Configure configurator) => new PulumiTasks().Run(configurator.Invoke(new PulumiPreviewSettings())); - /// + /// public static IEnumerable<(PulumiPreviewSettings Settings, IReadOnlyCollection Output)> PulumiPreview(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(PulumiPreview, degreeOfParallelism, completeOnFailure); ///

Pulumi is an open source infrastructure as code tool for creating, deploying and managing cloud infrastructure. Pulumi works with traditional infrastructure like VMs, networks, and databases, in addition to modern architectures, including containers, Kubernetes clusters, and serverless functions. Pulumi supports dozens of public, private, and hybrid cloud service providers.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --color via
  • --config-file via
  • --cwd via
  • --disable-integrity-checking via
  • --emoji via
  • --json via
  • --logflow via
  • --logtostderr via
  • --non-interactive via
  • --profiling via
  • --show-secrets via
  • --stack via
  • --tracing via
  • --verbose via
public static IReadOnlyCollection PulumiConfig(PulumiConfigSettings options = null) => new PulumiTasks().Run(options); - /// + /// public static IReadOnlyCollection PulumiConfig(Configure configurator) => new PulumiTasks().Run(configurator.Invoke(new PulumiConfigSettings())); - /// + /// public static IEnumerable<(PulumiConfigSettings Settings, IReadOnlyCollection Output)> PulumiConfig(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(PulumiConfig, degreeOfParallelism, completeOnFailure); ///

Pulumi is an open source infrastructure as code tool for creating, deploying and managing cloud infrastructure. Pulumi works with traditional infrastructure like VMs, networks, and databases, in addition to modern architectures, including containers, Kubernetes clusters, and serverless functions. Pulumi supports dozens of public, private, and hybrid cloud service providers.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --color via
  • --cwd via
  • --dest via
  • --disable-integrity-checking via
  • --emoji via
  • --logflow via
  • --logtostderr via
  • --non-interactive via
  • --path via
  • --profiling via
  • --tracing via
  • --verbose via
public static IReadOnlyCollection PulumiConfigCopy(PulumiConfigCopySettings options = null) => new PulumiTasks().Run(options); - /// + /// public static IReadOnlyCollection PulumiConfigCopy(Configure configurator) => new PulumiTasks().Run(configurator.Invoke(new PulumiConfigCopySettings())); - /// + /// public static IEnumerable<(PulumiConfigCopySettings Settings, IReadOnlyCollection Output)> PulumiConfigCopy(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(PulumiConfigCopy, degreeOfParallelism, completeOnFailure); ///

Pulumi is an open source infrastructure as code tool for creating, deploying and managing cloud infrastructure. Pulumi works with traditional infrastructure like VMs, networks, and databases, in addition to modern architectures, including containers, Kubernetes clusters, and serverless functions. Pulumi supports dozens of public, private, and hybrid cloud service providers.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <key> via
  • --color via
  • --cwd via
  • --disable-integrity-checking via
  • --emoji via
  • --json via
  • --logflow via
  • --logtostderr via
  • --non-interactive via
  • --path via
  • --profiling via
  • --tracing via
  • --verbose via
public static IReadOnlyCollection PulumiConfigGet(PulumiConfigGetSettings options = null) => new PulumiTasks().Run(options); - /// + /// public static IReadOnlyCollection PulumiConfigGet(Configure configurator) => new PulumiTasks().Run(configurator.Invoke(new PulumiConfigGetSettings())); - /// + /// public static IEnumerable<(PulumiConfigGetSettings Settings, IReadOnlyCollection Output)> PulumiConfigGet(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(PulumiConfigGet, degreeOfParallelism, completeOnFailure); ///

Pulumi is an open source infrastructure as code tool for creating, deploying and managing cloud infrastructure. Pulumi works with traditional infrastructure like VMs, networks, and databases, in addition to modern architectures, including containers, Kubernetes clusters, and serverless functions. Pulumi supports dozens of public, private, and hybrid cloud service providers.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --color via
  • --cwd via
  • --disable-integrity-checking via
  • --emoji via
  • --force via
  • --logflow via
  • --logtostderr via
  • --non-interactive via
  • --profiling via
  • --tracing via
  • --verbose via
public static IReadOnlyCollection PulumiConfigRefresh(PulumiConfigRefreshSettings options = null) => new PulumiTasks().Run(options); - /// + /// public static IReadOnlyCollection PulumiConfigRefresh(Configure configurator) => new PulumiTasks().Run(configurator.Invoke(new PulumiConfigRefreshSettings())); - /// + /// public static IEnumerable<(PulumiConfigRefreshSettings Settings, IReadOnlyCollection Output)> PulumiConfigRefresh(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(PulumiConfigRefresh, degreeOfParallelism, completeOnFailure); ///

Pulumi is an open source infrastructure as code tool for creating, deploying and managing cloud infrastructure. Pulumi works with traditional infrastructure like VMs, networks, and databases, in addition to modern architectures, including containers, Kubernetes clusters, and serverless functions. Pulumi supports dozens of public, private, and hybrid cloud service providers.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <key> via
  • --color via
  • --cwd via
  • --disable-integrity-checking via
  • --emoji via
  • --logflow via
  • --logtostderr via
  • --non-interactive via
  • --path via
  • --profiling via
  • --tracing via
  • --verbose via
public static IReadOnlyCollection PulumiConfigRemove(PulumiConfigRemoveSettings options = null) => new PulumiTasks().Run(options); - /// + /// public static IReadOnlyCollection PulumiConfigRemove(Configure configurator) => new PulumiTasks().Run(configurator.Invoke(new PulumiConfigRemoveSettings())); - /// + /// public static IEnumerable<(PulumiConfigRemoveSettings Settings, IReadOnlyCollection Output)> PulumiConfigRemove(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(PulumiConfigRemove, degreeOfParallelism, completeOnFailure); ///

Pulumi is an open source infrastructure as code tool for creating, deploying and managing cloud infrastructure. Pulumi works with traditional infrastructure like VMs, networks, and databases, in addition to modern architectures, including containers, Kubernetes clusters, and serverless functions. Pulumi supports dozens of public, private, and hybrid cloud service providers.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <key> via
  • <value> via
  • --color via
  • --cwd via
  • --disable-integrity-checking via
  • --emoji via
  • --logflow via
  • --logtostderr via
  • --non-interactive via
  • --path via
  • --plaintext via
  • --profiling via
  • --secret via
  • --tracing via
  • --verbose via
public static IReadOnlyCollection PulumiConfigSet(PulumiConfigSetSettings options = null) => new PulumiTasks().Run(options); - /// + /// public static IReadOnlyCollection PulumiConfigSet(Configure configurator) => new PulumiTasks().Run(configurator.Invoke(new PulumiConfigSetSettings())); - /// + /// public static IEnumerable<(PulumiConfigSetSettings Settings, IReadOnlyCollection Output)> PulumiConfigSet(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(PulumiConfigSet, degreeOfParallelism, completeOnFailure); ///

Pulumi is an open source infrastructure as code tool for creating, deploying and managing cloud infrastructure. Pulumi works with traditional infrastructure like VMs, networks, and databases, in addition to modern architectures, including containers, Kubernetes clusters, and serverless functions. Pulumi supports dozens of public, private, and hybrid cloud service providers.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --color via
  • --cwd via
  • --disable-integrity-checking via
  • --emoji via
  • --logflow via
  • --logtostderr via
  • --non-interactive via
  • --profiling via
  • --show-ids via
  • --show-name via
  • --show-secrets via
  • --show-urns via
  • --stack via
  • --tracing via
  • --verbose via
public static IReadOnlyCollection PulumiStack(PulumiStackSettings options = null) => new PulumiTasks().Run(options); - /// + /// public static IReadOnlyCollection PulumiStack(Configure configurator) => new PulumiTasks().Run(configurator.Invoke(new PulumiStackSettings())); - /// + /// public static IEnumerable<(PulumiStackSettings Settings, IReadOnlyCollection Output)> PulumiStack(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(PulumiStack, degreeOfParallelism, completeOnFailure); ///

Pulumi is an open source infrastructure as code tool for creating, deploying and managing cloud infrastructure. Pulumi works with traditional infrastructure like VMs, networks, and databases, in addition to modern architectures, including containers, Kubernetes clusters, and serverless functions. Pulumi supports dozens of public, private, and hybrid cloud service providers.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <newSecretsProvider> via
  • --color via
  • --cwd via
  • --disable-integrity-checking via
  • --emoji via
  • --logflow via
  • --logtostderr via
  • --non-interactive via
  • --profiling via
  • --tracing via
  • --verbose via
public static IReadOnlyCollection PulumiStackChangeSecretsProvider(PulumiStackChangeSecretsProviderSettings options = null) => new PulumiTasks().Run(options); - /// + /// public static IReadOnlyCollection PulumiStackChangeSecretsProvider(Configure configurator) => new PulumiTasks().Run(configurator.Invoke(new PulumiStackChangeSecretsProviderSettings())); - /// + /// public static IEnumerable<(PulumiStackChangeSecretsProviderSettings Settings, IReadOnlyCollection Output)> PulumiStackChangeSecretsProvider(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(PulumiStackChangeSecretsProvider, degreeOfParallelism, completeOnFailure); ///

Pulumi is an open source infrastructure as code tool for creating, deploying and managing cloud infrastructure. Pulumi works with traditional infrastructure like VMs, networks, and databases, in addition to modern architectures, including containers, Kubernetes clusters, and serverless functions. Pulumi supports dozens of public, private, and hybrid cloud service providers.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --color via
  • --cwd via
  • --disable-integrity-checking via
  • --emoji via
  • --file via
  • --logflow via
  • --logtostderr via
  • --non-interactive via
  • --profiling via
  • --show-secrets via
  • --tracing via
  • --verbose via
  • --version via
public static IReadOnlyCollection PulumiStackExport(PulumiStackExportSettings options = null) => new PulumiTasks().Run(options); - /// + /// public static IReadOnlyCollection PulumiStackExport(Configure configurator) => new PulumiTasks().Run(configurator.Invoke(new PulumiStackExportSettings())); - /// + /// public static IEnumerable<(PulumiStackExportSettings Settings, IReadOnlyCollection Output)> PulumiStackExport(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(PulumiStackExport, degreeOfParallelism, completeOnFailure); ///

Pulumi is an open source infrastructure as code tool for creating, deploying and managing cloud infrastructure. Pulumi works with traditional infrastructure like VMs, networks, and databases, in addition to modern architectures, including containers, Kubernetes clusters, and serverless functions. Pulumi supports dozens of public, private, and hybrid cloud service providers.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <file> via
  • --color via
  • --cwd via
  • --dependency-edge-color via
  • --disable-integrity-checking via
  • --emoji via
  • --ignore-dependency-edges via
  • --ignore-parent-edges via
  • --logflow via
  • --logtostderr via
  • --non-interactive via
  • --parent-edge-color via
  • --profiling via
  • --tracing via
  • --verbose via
public static IReadOnlyCollection PulumiStackGraph(PulumiStackGraphSettings options = null) => new PulumiTasks().Run(options); - /// + /// public static IReadOnlyCollection PulumiStackGraph(Configure configurator) => new PulumiTasks().Run(configurator.Invoke(new PulumiStackGraphSettings())); - /// + /// public static IEnumerable<(PulumiStackGraphSettings Settings, IReadOnlyCollection Output)> PulumiStackGraph(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(PulumiStackGraph, degreeOfParallelism, completeOnFailure); ///

Pulumi is an open source infrastructure as code tool for creating, deploying and managing cloud infrastructure. Pulumi works with traditional infrastructure like VMs, networks, and databases, in addition to modern architectures, including containers, Kubernetes clusters, and serverless functions. Pulumi supports dozens of public, private, and hybrid cloud service providers.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --color via
  • --cwd via
  • --disable-integrity-checking via
  • --emoji via
  • --json via
  • --logflow via
  • --logtostderr via
  • --non-interactive via
  • --profiling via
  • --show-secrets via
  • --tracing via
  • --verbose via
public static IReadOnlyCollection PulumiStackHistory(PulumiStackHistorySettings options = null) => new PulumiTasks().Run(options); - /// + /// public static IReadOnlyCollection PulumiStackHistory(Configure configurator) => new PulumiTasks().Run(configurator.Invoke(new PulumiStackHistorySettings())); - /// + /// public static IEnumerable<(PulumiStackHistorySettings Settings, IReadOnlyCollection Output)> PulumiStackHistory(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(PulumiStackHistory, degreeOfParallelism, completeOnFailure); ///

Pulumi is an open source infrastructure as code tool for creating, deploying and managing cloud infrastructure. Pulumi works with traditional infrastructure like VMs, networks, and databases, in addition to modern architectures, including containers, Kubernetes clusters, and serverless functions. Pulumi supports dozens of public, private, and hybrid cloud service providers.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --color via
  • --cwd via
  • --disable-integrity-checking via
  • --emoji via
  • --file via
  • --force via
  • --logflow via
  • --logtostderr via
  • --non-interactive via
  • --profiling via
  • --tracing via
  • --verbose via
public static IReadOnlyCollection PulumiStackImport(PulumiStackImportSettings options = null) => new PulumiTasks().Run(options); - /// + /// public static IReadOnlyCollection PulumiStackImport(Configure configurator) => new PulumiTasks().Run(configurator.Invoke(new PulumiStackImportSettings())); - /// + /// public static IEnumerable<(PulumiStackImportSettings Settings, IReadOnlyCollection Output)> PulumiStackImport(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(PulumiStackImport, degreeOfParallelism, completeOnFailure); ///

Pulumi is an open source infrastructure as code tool for creating, deploying and managing cloud infrastructure. Pulumi works with traditional infrastructure like VMs, networks, and databases, in addition to modern architectures, including containers, Kubernetes clusters, and serverless functions. Pulumi supports dozens of public, private, and hybrid cloud service providers.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <organizationAndName> via
  • --color via
  • --copy-config-from via
  • --cwd via
  • --disable-integrity-checking via
  • --emoji via
  • --logflow via
  • --logtostderr via
  • --non-interactive via
  • --profiling via
  • --secrets-provider via
  • --tracing via
  • --verbose via
public static IReadOnlyCollection PulumiStackInit(PulumiStackInitSettings options = null) => new PulumiTasks().Run(options); - /// + /// public static IReadOnlyCollection PulumiStackInit(Configure configurator) => new PulumiTasks().Run(configurator.Invoke(new PulumiStackInitSettings())); - /// + /// public static IEnumerable<(PulumiStackInitSettings Settings, IReadOnlyCollection Output)> PulumiStackInit(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(PulumiStackInit, degreeOfParallelism, completeOnFailure); ///

Pulumi is an open source infrastructure as code tool for creating, deploying and managing cloud infrastructure. Pulumi works with traditional infrastructure like VMs, networks, and databases, in addition to modern architectures, including containers, Kubernetes clusters, and serverless functions. Pulumi supports dozens of public, private, and hybrid cloud service providers.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --all via
  • --color via
  • --cwd via
  • --disable-integrity-checking via
  • --emoji via
  • --json via
  • --logflow via
  • --logtostderr via
  • --non-interactive via
  • --organization via
  • --profiling via
  • --project via
  • --tag via
  • --tracing via
  • --verbose via
public static IReadOnlyCollection PulumiStackList(PulumiStackListSettings options = null) => new PulumiTasks().Run(options); - /// + /// public static IReadOnlyCollection PulumiStackList(Configure configurator) => new PulumiTasks().Run(configurator.Invoke(new PulumiStackListSettings())); - /// + /// public static IEnumerable<(PulumiStackListSettings Settings, IReadOnlyCollection Output)> PulumiStackList(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(PulumiStackList, degreeOfParallelism, completeOnFailure); ///

Pulumi is an open source infrastructure as code tool for creating, deploying and managing cloud infrastructure. Pulumi works with traditional infrastructure like VMs, networks, and databases, in addition to modern architectures, including containers, Kubernetes clusters, and serverless functions. Pulumi supports dozens of public, private, and hybrid cloud service providers.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <propertyName> via
  • --color via
  • --cwd via
  • --disable-integrity-checking via
  • --emoji via
  • --json via
  • --logflow via
  • --logtostderr via
  • --non-interactive via
  • --profiling via
  • --show-secrets via
  • --tracing via
  • --verbose via
public static IReadOnlyCollection PulumiStackOutput(PulumiStackOutputSettings options = null) => new PulumiTasks().Run(options); - /// + /// public static IReadOnlyCollection PulumiStackOutput(Configure configurator) => new PulumiTasks().Run(configurator.Invoke(new PulumiStackOutputSettings())); - /// + /// public static IEnumerable<(PulumiStackOutputSettings Settings, IReadOnlyCollection Output)> PulumiStackOutput(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(PulumiStackOutput, degreeOfParallelism, completeOnFailure); ///

Pulumi is an open source infrastructure as code tool for creating, deploying and managing cloud infrastructure. Pulumi works with traditional infrastructure like VMs, networks, and databases, in addition to modern architectures, including containers, Kubernetes clusters, and serverless functions. Pulumi supports dozens of public, private, and hybrid cloud service providers.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <newStackName> via
  • --color via
  • --cwd via
  • --disable-integrity-checking via
  • --emoji via
  • --logflow via
  • --logtostderr via
  • --non-interactive via
  • --profiling via
  • --tracing via
  • --verbose via
public static IReadOnlyCollection PulumiStackRename(PulumiStackRenameSettings options = null) => new PulumiTasks().Run(options); - /// + /// public static IReadOnlyCollection PulumiStackRename(Configure configurator) => new PulumiTasks().Run(configurator.Invoke(new PulumiStackRenameSettings())); - /// + /// public static IEnumerable<(PulumiStackRenameSettings Settings, IReadOnlyCollection Output)> PulumiStackRename(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(PulumiStackRename, degreeOfParallelism, completeOnFailure); ///

Pulumi is an open source infrastructure as code tool for creating, deploying and managing cloud infrastructure. Pulumi works with traditional infrastructure like VMs, networks, and databases, in addition to modern architectures, including containers, Kubernetes clusters, and serverless functions. Pulumi supports dozens of public, private, and hybrid cloud service providers.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <stackName> via
  • --color via
  • --cwd via
  • --disable-integrity-checking via
  • --emoji via
  • --force via
  • --logflow via
  • --logtostderr via
  • --non-interactive via
  • --preserve-config via
  • --profiling via
  • --tracing via
  • --verbose via
  • --yes via
public static IReadOnlyCollection PulumiStackRemove(PulumiStackRemoveSettings options = null) => new PulumiTasks().Run(options); - /// + /// public static IReadOnlyCollection PulumiStackRemove(Configure configurator) => new PulumiTasks().Run(configurator.Invoke(new PulumiStackRemoveSettings())); - /// + /// public static IEnumerable<(PulumiStackRemoveSettings Settings, IReadOnlyCollection Output)> PulumiStackRemove(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(PulumiStackRemove, degreeOfParallelism, completeOnFailure); ///

Pulumi is an open source infrastructure as code tool for creating, deploying and managing cloud infrastructure. Pulumi works with traditional infrastructure like VMs, networks, and databases, in addition to modern architectures, including containers, Kubernetes clusters, and serverless functions. Pulumi supports dozens of public, private, and hybrid cloud service providers.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <stackName> via
  • --color via
  • --create via
  • --cwd via
  • --disable-integrity-checking via
  • --emoji via
  • --logflow via
  • --logtostderr via
  • --non-interactive via
  • --profiling via
  • --secrets-provider via
  • --tracing via
  • --verbose via
public static IReadOnlyCollection PulumiStackSelect(PulumiStackSelectSettings options = null) => new PulumiTasks().Run(options); - /// + /// public static IReadOnlyCollection PulumiStackSelect(Configure configurator) => new PulumiTasks().Run(configurator.Invoke(new PulumiStackSelectSettings())); - /// + /// public static IEnumerable<(PulumiStackSelectSettings Settings, IReadOnlyCollection Output)> PulumiStackSelect(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(PulumiStackSelect, degreeOfParallelism, completeOnFailure); ///

Pulumi is an open source infrastructure as code tool for creating, deploying and managing cloud infrastructure. Pulumi works with traditional infrastructure like VMs, networks, and databases, in addition to modern architectures, including containers, Kubernetes clusters, and serverless functions. Pulumi supports dozens of public, private, and hybrid cloud service providers.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <name> via
  • <value> via
  • --color via
  • --cwd via
  • --disable-integrity-checking via
  • --emoji via
  • --logflow via
  • --logtostderr via
  • --non-interactive via
  • --profiling via
  • --tracing via
  • --verbose via
public static IReadOnlyCollection PulumiStackTagSet(PulumiStackTagSetSettings options = null) => new PulumiTasks().Run(options); - /// + /// public static IReadOnlyCollection PulumiStackTagSet(Configure configurator) => new PulumiTasks().Run(configurator.Invoke(new PulumiStackTagSetSettings())); - /// + /// public static IEnumerable<(PulumiStackTagSetSettings Settings, IReadOnlyCollection Output)> PulumiStackTagSet(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(PulumiStackTagSet, degreeOfParallelism, completeOnFailure); ///

Pulumi is an open source infrastructure as code tool for creating, deploying and managing cloud infrastructure. Pulumi works with traditional infrastructure like VMs, networks, and databases, in addition to modern architectures, including containers, Kubernetes clusters, and serverless functions. Pulumi supports dozens of public, private, and hybrid cloud service providers.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <name> via
  • --color via
  • --cwd via
  • --disable-integrity-checking via
  • --emoji via
  • --logflow via
  • --logtostderr via
  • --non-interactive via
  • --profiling via
  • --tracing via
  • --verbose via
public static IReadOnlyCollection PulumiStackTagGet(PulumiStackTagGetSettings options = null) => new PulumiTasks().Run(options); - /// + /// public static IReadOnlyCollection PulumiStackTagGet(Configure configurator) => new PulumiTasks().Run(configurator.Invoke(new PulumiStackTagGetSettings())); - /// + /// public static IEnumerable<(PulumiStackTagGetSettings Settings, IReadOnlyCollection Output)> PulumiStackTagGet(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(PulumiStackTagGet, degreeOfParallelism, completeOnFailure); ///

Pulumi is an open source infrastructure as code tool for creating, deploying and managing cloud infrastructure. Pulumi works with traditional infrastructure like VMs, networks, and databases, in addition to modern architectures, including containers, Kubernetes clusters, and serverless functions. Pulumi supports dozens of public, private, and hybrid cloud service providers.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <name> via
  • --color via
  • --cwd via
  • --disable-integrity-checking via
  • --emoji via
  • --logflow via
  • --logtostderr via
  • --non-interactive via
  • --profiling via
  • --tracing via
  • --verbose via
public static IReadOnlyCollection PulumiStackTagRemove(PulumiStackTagRemoveSettings options = null) => new PulumiTasks().Run(options); - /// + /// public static IReadOnlyCollection PulumiStackTagRemove(Configure configurator) => new PulumiTasks().Run(configurator.Invoke(new PulumiStackTagRemoveSettings())); - /// + /// public static IEnumerable<(PulumiStackTagRemoveSettings Settings, IReadOnlyCollection Output)> PulumiStackTagRemove(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(PulumiStackTagRemove, degreeOfParallelism, completeOnFailure); ///

Pulumi is an open source infrastructure as code tool for creating, deploying and managing cloud infrastructure. Pulumi works with traditional infrastructure like VMs, networks, and databases, in addition to modern architectures, including containers, Kubernetes clusters, and serverless functions. Pulumi supports dozens of public, private, and hybrid cloud service providers.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --color via
  • --cwd via
  • --disable-integrity-checking via
  • --emoji via
  • --json via
  • --logflow via
  • --logtostderr via
  • --non-interactive via
  • --profiling via
  • --tracing via
  • --verbose via
public static IReadOnlyCollection PulumiStackTagList(PulumiStackTagListSettings options = null) => new PulumiTasks().Run(options); - /// + /// public static IReadOnlyCollection PulumiStackTagList(Configure configurator) => new PulumiTasks().Run(configurator.Invoke(new PulumiStackTagListSettings())); - /// + /// public static IEnumerable<(PulumiStackTagListSettings Settings, IReadOnlyCollection Output)> PulumiStackTagList(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(PulumiStackTagList, degreeOfParallelism, completeOnFailure); ///

Pulumi is an open source infrastructure as code tool for creating, deploying and managing cloud infrastructure. Pulumi works with traditional infrastructure like VMs, networks, and databases, in addition to modern architectures, including containers, Kubernetes clusters, and serverless functions. Pulumi supports dozens of public, private, and hybrid cloud service providers.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <template> via
  • --color via
  • --config via
  • --config-path via
  • --cwd via
  • --description via
  • --dir via
  • --disable-integrity-checking via
  • --emoji via
  • --force via
  • --generate-only via
  • --logflow via
  • --logtostderr via
  • --name via
  • --non-interactive via
  • --offline via
  • --profiling via
  • --secrets-provider via
  • --stack via
  • --tracing via
  • --verbose via
  • --yes via
public static IReadOnlyCollection PulumiNew(PulumiNewSettings options = null) => new PulumiTasks().Run(options); - /// + /// public static IReadOnlyCollection PulumiNew(Configure configurator) => new PulumiTasks().Run(configurator.Invoke(new PulumiNewSettings())); - /// + /// public static IEnumerable<(PulumiNewSettings Settings, IReadOnlyCollection Output)> PulumiNew(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(PulumiNew, degreeOfParallelism, completeOnFailure); ///

Pulumi is an open source infrastructure as code tool for creating, deploying and managing cloud infrastructure. Pulumi works with traditional infrastructure like VMs, networks, and databases, in addition to modern architectures, including containers, Kubernetes clusters, and serverless functions. Pulumi supports dozens of public, private, and hybrid cloud service providers.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --color via
  • --config-file via
  • --cwd via
  • --debug via
  • --diff via
  • --disable-integrity-checking via
  • --emoji via
  • --logflow via
  • --logtostderr via
  • --message via
  • --non-interactive via
  • --parallel via
  • --profiling via
  • --refresh via
  • --show-config via
  • --show-replacement-steps via
  • --show-sames via
  • --skip-preview via
  • --stack via
  • --suppress-outputs via
  • --suppress-permalink via
  • --target via
  • --target-dependents via
  • --tracing via
  • --verbose via
  • --yes via
public static IReadOnlyCollection PulumiDestroy(PulumiDestroySettings options = null) => new PulumiTasks().Run(options); - /// + /// public static IReadOnlyCollection PulumiDestroy(Configure configurator) => new PulumiTasks().Run(configurator.Invoke(new PulumiDestroySettings())); - /// + /// public static IEnumerable<(PulumiDestroySettings Settings, IReadOnlyCollection Output)> PulumiDestroy(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(PulumiDestroy, degreeOfParallelism, completeOnFailure); } #region PulumiUpSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(PulumiTasks), Command = nameof(PulumiTasks.PulumiUp), Arguments = "up")] public partial class PulumiUpSettings : ToolOptions @@ -286,7 +286,7 @@ public partial class PulumiUpSettings : ToolOptions } #endregion #region PulumiPreviewSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(PulumiTasks), Command = nameof(PulumiTasks.PulumiPreview), Arguments = "preview")] public partial class PulumiPreviewSettings : ToolOptions @@ -360,7 +360,7 @@ public partial class PulumiPreviewSettings : ToolOptions } #endregion #region PulumiConfigSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(PulumiTasks), Command = nameof(PulumiTasks.PulumiConfig), Arguments = "config")] public partial class PulumiConfigSettings : ToolOptions @@ -396,7 +396,7 @@ public partial class PulumiConfigSettings : ToolOptions } #endregion #region PulumiConfigCopySettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(PulumiTasks), Command = nameof(PulumiTasks.PulumiConfigCopy), Arguments = "config cp")] public partial class PulumiConfigCopySettings : ToolOptions @@ -428,7 +428,7 @@ public partial class PulumiConfigCopySettings : ToolOptions } #endregion #region PulumiConfigGetSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(PulumiTasks), Command = nameof(PulumiTasks.PulumiConfigGet), Arguments = "config get")] public partial class PulumiConfigGetSettings : ToolOptions @@ -462,7 +462,7 @@ public partial class PulumiConfigGetSettings : ToolOptions } #endregion #region PulumiConfigRefreshSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(PulumiTasks), Command = nameof(PulumiTasks.PulumiConfigRefresh), Arguments = "config refresh")] public partial class PulumiConfigRefreshSettings : ToolOptions @@ -492,7 +492,7 @@ public partial class PulumiConfigRefreshSettings : ToolOptions } #endregion #region PulumiConfigRemoveSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(PulumiTasks), Command = nameof(PulumiTasks.PulumiConfigRemove), Arguments = "config rm")] public partial class PulumiConfigRemoveSettings : ToolOptions @@ -524,7 +524,7 @@ public partial class PulumiConfigRemoveSettings : ToolOptions } #endregion #region PulumiConfigSetSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(PulumiTasks), Command = nameof(PulumiTasks.PulumiConfigSet), Arguments = "config set")] public partial class PulumiConfigSetSettings : ToolOptions @@ -562,7 +562,7 @@ public partial class PulumiConfigSetSettings : ToolOptions } #endregion #region PulumiStackSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(PulumiTasks), Command = nameof(PulumiTasks.PulumiStack), Arguments = "stack")] public partial class PulumiStackSettings : ToolOptions @@ -600,7 +600,7 @@ public partial class PulumiStackSettings : ToolOptions } #endregion #region PulumiStackChangeSecretsProviderSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(PulumiTasks), Command = nameof(PulumiTasks.PulumiStackChangeSecretsProvider), Arguments = "stack change-secrets-provider")] public partial class PulumiStackChangeSecretsProviderSettings : ToolOptions @@ -630,7 +630,7 @@ public partial class PulumiStackChangeSecretsProviderSettings : ToolOptions } #endregion #region PulumiStackExportSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(PulumiTasks), Command = nameof(PulumiTasks.PulumiStackExport), Arguments = "stack export")] public partial class PulumiStackExportSettings : ToolOptions @@ -664,7 +664,7 @@ public partial class PulumiStackExportSettings : ToolOptions } #endregion #region PulumiStackGraphSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(PulumiTasks), Command = nameof(PulumiTasks.PulumiStackGraph), Arguments = "stack graph")] public partial class PulumiStackGraphSettings : ToolOptions @@ -702,7 +702,7 @@ public partial class PulumiStackGraphSettings : ToolOptions } #endregion #region PulumiStackHistorySettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(PulumiTasks), Command = nameof(PulumiTasks.PulumiStackHistory), Arguments = "stack history")] public partial class PulumiStackHistorySettings : ToolOptions @@ -734,7 +734,7 @@ public partial class PulumiStackHistorySettings : ToolOptions } #endregion #region PulumiStackImportSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(PulumiTasks), Command = nameof(PulumiTasks.PulumiStackImport), Arguments = "stack import")] public partial class PulumiStackImportSettings : ToolOptions @@ -766,7 +766,7 @@ public partial class PulumiStackImportSettings : ToolOptions } #endregion #region PulumiStackInitSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(PulumiTasks), Command = nameof(PulumiTasks.PulumiStackInit), Arguments = "stack init")] public partial class PulumiStackInitSettings : ToolOptions @@ -800,7 +800,7 @@ public partial class PulumiStackInitSettings : ToolOptions } #endregion #region PulumiStackListSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(PulumiTasks), Command = nameof(PulumiTasks.PulumiStackList), Arguments = "stack ls")] public partial class PulumiStackListSettings : ToolOptions @@ -838,7 +838,7 @@ public partial class PulumiStackListSettings : ToolOptions } #endregion #region PulumiStackOutputSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(PulumiTasks), Command = nameof(PulumiTasks.PulumiStackOutput), Arguments = "stack output")] public partial class PulumiStackOutputSettings : ToolOptions @@ -872,7 +872,7 @@ public partial class PulumiStackOutputSettings : ToolOptions } #endregion #region PulumiStackRenameSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(PulumiTasks), Command = nameof(PulumiTasks.PulumiStackRename), Arguments = "stack rename")] public partial class PulumiStackRenameSettings : ToolOptions @@ -902,7 +902,7 @@ public partial class PulumiStackRenameSettings : ToolOptions } #endregion #region PulumiStackRemoveSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(PulumiTasks), Command = nameof(PulumiTasks.PulumiStackRemove), Arguments = "stack rm")] public partial class PulumiStackRemoveSettings : ToolOptions @@ -938,7 +938,7 @@ public partial class PulumiStackRemoveSettings : ToolOptions } #endregion #region PulumiStackSelectSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(PulumiTasks), Command = nameof(PulumiTasks.PulumiStackSelect), Arguments = "stack select")] public partial class PulumiStackSelectSettings : ToolOptions @@ -972,7 +972,7 @@ public partial class PulumiStackSelectSettings : ToolOptions } #endregion #region PulumiStackTagSetSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(PulumiTasks), Command = nameof(PulumiTasks.PulumiStackTagSet), Arguments = "stack tag set")] public partial class PulumiStackTagSetSettings : ToolOptions @@ -1004,7 +1004,7 @@ public partial class PulumiStackTagSetSettings : ToolOptions } #endregion #region PulumiStackTagGetSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(PulumiTasks), Command = nameof(PulumiTasks.PulumiStackTagGet), Arguments = "stack tag get")] public partial class PulumiStackTagGetSettings : ToolOptions @@ -1034,7 +1034,7 @@ public partial class PulumiStackTagGetSettings : ToolOptions } #endregion #region PulumiStackTagRemoveSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(PulumiTasks), Command = nameof(PulumiTasks.PulumiStackTagRemove), Arguments = "stack tag rm")] public partial class PulumiStackTagRemoveSettings : ToolOptions @@ -1064,7 +1064,7 @@ public partial class PulumiStackTagRemoveSettings : ToolOptions } #endregion #region PulumiStackTagListSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(PulumiTasks), Command = nameof(PulumiTasks.PulumiStackTagList), Arguments = "stack tag ls")] public partial class PulumiStackTagListSettings : ToolOptions @@ -1094,7 +1094,7 @@ public partial class PulumiStackTagListSettings : ToolOptions } #endregion #region PulumiNewSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(PulumiTasks), Command = nameof(PulumiTasks.PulumiNew), Arguments = "new")] public partial class PulumiNewSettings : ToolOptions @@ -1146,7 +1146,7 @@ public partial class PulumiNewSettings : ToolOptions } #endregion #region PulumiDestroySettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(PulumiTasks), Command = nameof(PulumiTasks.PulumiDestroy), Arguments = "destroy")] public partial class PulumiDestroySettings : ToolOptions @@ -1206,7 +1206,7 @@ public partial class PulumiDestroySettings : ToolOptions } #endregion #region PulumiUpSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class PulumiUpSettingsExtensions { @@ -1754,7 +1754,7 @@ public static partial class PulumiUpSettingsExtensions } #endregion #region PulumiPreviewSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class PulumiPreviewSettingsExtensions { @@ -2277,7 +2277,7 @@ public static partial class PulumiPreviewSettingsExtensions } #endregion #region PulumiConfigSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class PulumiConfigSettingsExtensions { @@ -2459,7 +2459,7 @@ public static partial class PulumiConfigSettingsExtensions } #endregion #region PulumiConfigCopySettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class PulumiConfigCopySettingsExtensions { @@ -2607,7 +2607,7 @@ public static partial class PulumiConfigCopySettingsExtensions } #endregion #region PulumiConfigGetSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class PulumiConfigGetSettingsExtensions { @@ -2772,7 +2772,7 @@ public static partial class PulumiConfigGetSettingsExtensions } #endregion #region PulumiConfigRefreshSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class PulumiConfigRefreshSettingsExtensions { @@ -2921,7 +2921,7 @@ public static partial class PulumiConfigRefreshSettingsExtensions } #endregion #region PulumiConfigRemoveSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class PulumiConfigRemoveSettingsExtensions { @@ -3069,7 +3069,7 @@ public static partial class PulumiConfigRemoveSettingsExtensions } #endregion #region PulumiConfigSetSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class PulumiConfigSetSettingsExtensions { @@ -3259,7 +3259,7 @@ public static partial class PulumiConfigSetSettingsExtensions } #endregion #region PulumiStackSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class PulumiStackSettingsExtensions { @@ -3467,7 +3467,7 @@ public static partial class PulumiStackSettingsExtensions } #endregion #region PulumiStackChangeSecretsProviderSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class PulumiStackChangeSecretsProviderSettingsExtensions { @@ -3607,7 +3607,7 @@ public static partial class PulumiStackChangeSecretsProviderSettingsExtensions } #endregion #region PulumiStackExportSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class PulumiStackExportSettingsExtensions { @@ -3772,7 +3772,7 @@ public static partial class PulumiStackExportSettingsExtensions } #endregion #region PulumiStackGraphSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class PulumiStackGraphSettingsExtensions { @@ -3962,7 +3962,7 @@ public static partial class PulumiStackGraphSettingsExtensions } #endregion #region PulumiStackHistorySettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class PulumiStackHistorySettingsExtensions { @@ -4128,7 +4128,7 @@ public static partial class PulumiStackHistorySettingsExtensions } #endregion #region PulumiStackImportSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class PulumiStackImportSettingsExtensions { @@ -4285,7 +4285,7 @@ public static partial class PulumiStackImportSettingsExtensions } #endregion #region PulumiStackInitSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class PulumiStackInitSettingsExtensions { @@ -4441,7 +4441,7 @@ public static partial class PulumiStackInitSettingsExtensions } #endregion #region PulumiStackListSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class PulumiStackListSettingsExtensions { @@ -4631,7 +4631,7 @@ public static partial class PulumiStackListSettingsExtensions } #endregion #region PulumiStackOutputSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class PulumiStackOutputSettingsExtensions { @@ -4805,7 +4805,7 @@ public static partial class PulumiStackOutputSettingsExtensions } #endregion #region PulumiStackRenameSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class PulumiStackRenameSettingsExtensions { @@ -4945,7 +4945,7 @@ public static partial class PulumiStackRenameSettingsExtensions } #endregion #region PulumiStackRemoveSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class PulumiStackRemoveSettingsExtensions { @@ -5136,7 +5136,7 @@ public static partial class PulumiStackRemoveSettingsExtensions } #endregion #region PulumiStackSelectSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class PulumiStackSelectSettingsExtensions { @@ -5301,7 +5301,7 @@ public static partial class PulumiStackSelectSettingsExtensions } #endregion #region PulumiStackTagSetSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class PulumiStackTagSetSettingsExtensions { @@ -5449,7 +5449,7 @@ public static partial class PulumiStackTagSetSettingsExtensions } #endregion #region PulumiStackTagGetSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class PulumiStackTagGetSettingsExtensions { @@ -5589,7 +5589,7 @@ public static partial class PulumiStackTagGetSettingsExtensions } #endregion #region PulumiStackTagRemoveSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class PulumiStackTagRemoveSettingsExtensions { @@ -5729,7 +5729,7 @@ public static partial class PulumiStackTagRemoveSettingsExtensions } #endregion #region PulumiStackTagListSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class PulumiStackTagListSettingsExtensions { @@ -5878,7 +5878,7 @@ public static partial class PulumiStackTagListSettingsExtensions } #endregion #region PulumiNewSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class PulumiNewSettingsExtensions { @@ -6166,7 +6166,7 @@ public static partial class PulumiNewSettingsExtensions } #endregion #region PulumiDestroySettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class PulumiDestroySettingsExtensions { diff --git a/src/Fallout.Common/Tools/Pulumi/PulumiTasks.cs b/src/Fallout.Common/Tools/Pulumi/PulumiTasks.cs index 20978d81d..559e05d89 100644 --- a/src/Fallout.Common/Tools/Pulumi/PulumiTasks.cs +++ b/src/Fallout.Common/Tools/Pulumi/PulumiTasks.cs @@ -1,8 +1,8 @@ -using System; -using Fallout.Common.Tooling; +using System; using Serilog.Events; +using Fallout.Application.Tooling; -namespace Fallout.Common.Tools.Pulumi; +namespace Fallout.Application.Tools.Pulumi; [LogLevelPattern(LogEventLevel.Warning, "^warning:")] partial class PulumiTasks; diff --git a/src/Fallout.Common/Tools/Pwsh/Pwsh.Generated.cs b/src/Fallout.Common/Tools/Pwsh/Pwsh.Generated.cs index bfc033145..7e865c6e8 100644 --- a/src/Fallout.Common/Tools/Pwsh/Pwsh.Generated.cs +++ b/src/Fallout.Common/Tools/Pwsh/Pwsh.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/Pwsh/Pwsh.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.Pwsh; +namespace Fallout.Application.Tools.Pwsh; ///

PowerShell is a cross-platform task automation solution made up of a command-line shell, a scripting language, and a configuration management framework. PowerShell runs on Windows, Linux, and macOS.

For more details, visit the official website.

[ExcludeFromCodeCoverage] @@ -27,13 +27,13 @@ public partial class PwshTasks : ToolTasks, IRequirePathTool ///

PowerShell is a cross-platform task automation solution made up of a command-line shell, a scripting language, and a configuration management framework. PowerShell runs on Windows, Linux, and macOS.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <fileArguments> via
  • -Command via
  • -ConfigurationFile via
  • -ConfigurationName via
  • -CustomPipeName via
  • -EncodedCommand via
  • -ExecutionPolicy via
  • -File via
  • -InputFormat via
  • -Interactive via
  • -Login via
  • -Mta via
  • -NoExit via
  • -NoLogo via
  • -NonInteractive via
  • -NoProfile via
  • -NoProfileLoadTime via
  • -OutputFormat via
  • -SettingsFile via
  • -SSHServerMode via
  • -Sta via
  • -Version via
  • -WindowStyle via
  • -WorkingDirectory via
public static IReadOnlyCollection Pwsh(PwshSettings options = null) => new PwshTasks().Run(options); - /// + /// public static IReadOnlyCollection Pwsh(Configure configurator) => new PwshTasks().Run(configurator.Invoke(new PwshSettings())); - /// + /// public static IEnumerable<(PwshSettings Settings, IReadOnlyCollection Output)> Pwsh(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(Pwsh, degreeOfParallelism, completeOnFailure); } #region PwshSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(PwshTasks), Command = nameof(PwshTasks.Pwsh))] public partial class PwshSettings : ToolOptions @@ -89,7 +89,7 @@ public partial class PwshSettings : ToolOptions } #endregion #region PwshSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class PwshSettingsExtensions { diff --git a/src/Fallout.Common/Tools/ReportGenerator/ReportGenerator.Generated.cs b/src/Fallout.Common/Tools/ReportGenerator/ReportGenerator.Generated.cs index 2980745db..c55ea90a3 100644 --- a/src/Fallout.Common/Tools/ReportGenerator/ReportGenerator.Generated.cs +++ b/src/Fallout.Common/Tools/ReportGenerator/ReportGenerator.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/ReportGenerator/ReportGenerator.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.ReportGenerator; +namespace Fallout.Application.Tools.ReportGenerator; ///

ReportGenerator converts XML reports generated by OpenCover, PartCover, dotCover, Visual Studio, NCover or Cobertura into human readable reports in various formats.

The reports do not only show the coverage quota, but also include the source code and visualize which lines have been covered.

ReportGenerator supports merging several reports into one. It is also possible to pass one XML file containing several reports to ReportGenerator (e.g. a build log file).

The following output formats are supported by ReportGenerator:

  • HTML, HTMLSummary, HTMLInline, HTMLChart, MHTML
  • XML, XMLSummary
  • Latex, LatexSummary
  • TextSummary
  • CsvSummary
  • PngChart
  • Badges
  • Custom reports

Compatibility:

For more details, visit the official website.

[ExcludeFromCodeCoverage] @@ -28,13 +28,13 @@ public partial class ReportGeneratorTasks : ToolTasks, IRequireNuGetPackage ///

ReportGenerator converts XML reports generated by OpenCover, PartCover, dotCover, Visual Studio, NCover or Cobertura into human readable reports in various formats.

The reports do not only show the coverage quota, but also include the source code and visualize which lines have been covered.

ReportGenerator supports merging several reports into one. It is also possible to pass one XML file containing several reports to ReportGenerator (e.g. a build log file).

The following output formats are supported by ReportGenerator:

  • HTML, HTMLSummary, HTMLInline, HTMLChart, MHTML
  • XML, XMLSummary
  • Latex, LatexSummary
  • TextSummary
  • CsvSummary
  • PngChart
  • Badges
  • Custom reports

Compatibility:

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • -assemblyfilters via
  • -classfilters via
  • -filefilters via
  • -historydir via
  • -reports via
  • -reporttypes via
  • -sourcedirs via
  • -tag via
  • -targetdir via
  • -verbosity via
public static IReadOnlyCollection ReportGenerator(ReportGeneratorSettings options = null) => new ReportGeneratorTasks().Run(options); - /// + /// public static IReadOnlyCollection ReportGenerator(Configure configurator) => new ReportGeneratorTasks().Run(configurator.Invoke(new ReportGeneratorSettings())); - /// + /// public static IEnumerable<(ReportGeneratorSettings Settings, IReadOnlyCollection Output)> ReportGenerator(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(ReportGenerator, degreeOfParallelism, completeOnFailure); } #region ReportGeneratorSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(ReportGeneratorTasks), Command = nameof(ReportGeneratorTasks.ReportGenerator))] public partial class ReportGeneratorSettings : ToolOptions, IToolOptionsWithFramework @@ -62,7 +62,7 @@ public partial class ReportGeneratorSettings : ToolOptions, IToolOptionsWithFram } #endregion #region ReportGeneratorSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class ReportGeneratorSettingsExtensions { diff --git a/src/Fallout.Common/Tools/ReportGenerator/ReportGeneratorTasks.cs b/src/Fallout.Common/Tools/ReportGenerator/ReportGeneratorTasks.cs index a6fb83133..d960212d7 100644 --- a/src/Fallout.Common/Tools/ReportGenerator/ReportGeneratorTasks.cs +++ b/src/Fallout.Common/Tools/ReportGenerator/ReportGeneratorTasks.cs @@ -1,6 +1,6 @@ using Fallout.Application.Tooling; -namespace Fallout.Common.Tools.ReportGenerator; +namespace Fallout.Application.Tools.ReportGenerator; public class ReportGeneratorVerbosityMappingAttribute : VerbosityMappingAttribute { diff --git a/src/Fallout.Common/Tools/SignClient/SignClient.Generated.cs b/src/Fallout.Common/Tools/SignClient/SignClient.Generated.cs index 58a054226..9530b71e0 100644 --- a/src/Fallout.Common/Tools/SignClient/SignClient.Generated.cs +++ b/src/Fallout.Common/Tools/SignClient/SignClient.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.SignClient; +namespace Fallout.Application.Tools.SignClient; ///

Code Signing client for Authenticode, NuGet, VSIX, and more

For more details, visit the official website.

[ExcludeFromCodeCoverage] @@ -26,13 +26,13 @@ public partial class SignClientTasks : ToolTasks, IRequireNuGetPackage ///

Code Signing client for Authenticode, NuGet, VSIX, and more

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --baseDirectory via
  • --config via
  • --description via
  • --descriptionUrl via
  • --fileList via
  • --input via
  • --maxConcurrency via
  • --name via
  • --output via
  • --secret via
  • --user via
public static IReadOnlyCollection SignClientSign(SignClientSignSettings options = null) => new SignClientTasks().Run(options); - /// + /// public static IReadOnlyCollection SignClientSign(Configure configurator) => new SignClientTasks().Run(configurator.Invoke(new SignClientSignSettings())); - /// + /// public static IEnumerable<(SignClientSignSettings Settings, IReadOnlyCollection Output)> SignClientSign(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(SignClientSign, degreeOfParallelism, completeOnFailure); } #region SignClientSignSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(SignClientTasks), Command = nameof(SignClientTasks.SignClientSign), Arguments = "sign")] public partial class SignClientSignSettings : ToolOptions @@ -62,7 +62,7 @@ public partial class SignClientSignSettings : ToolOptions } #endregion #region SignClientSignSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class SignClientSignSettingsExtensions { diff --git a/src/Fallout.Common/Tools/SignPath/SignPathTasks.cs b/src/Fallout.Common/Tools/SignPath/SignPathTasks.cs index ff076e82c..314dd7a39 100644 --- a/src/Fallout.Common/Tools/SignPath/SignPathTasks.cs +++ b/src/Fallout.Common/Tools/SignPath/SignPathTasks.cs @@ -13,8 +13,9 @@ using Serilog; using static Fallout.Application.ControlFlow; using Fallout.Application; +using Fallout.Common; -namespace Fallout.Common.Tools.SignPath; +namespace Fallout.Application.Tools.SignPath; public static class SignPathTasks { diff --git a/src/Fallout.Common/Tools/SignTool/SignTool.Generated.cs b/src/Fallout.Common/Tools/SignTool/SignTool.Generated.cs index 9d1cdb580..ea8586d7b 100644 --- a/src/Fallout.Common/Tools/SignTool/SignTool.Generated.cs +++ b/src/Fallout.Common/Tools/SignTool/SignTool.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.SignTool; +namespace Fallout.Application.Tools.SignTool; ///

Sign Tool is a command-line tool that digitally signs files, verifies signatures in files, and time-stamps files.

For more details, visit the official website.

[ExcludeFromCodeCoverage] @@ -23,13 +23,13 @@ public partial class SignToolTasks : ToolTasks ///

Use the sign command to sign files using embedded signatures. Signing protects a file from tampering, and allows users to verify the signer (you) based on a signing certificate. The options below allow you to specify signing parameters and to select the signing certificate you wish to use.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <files> via
  • /a via
  • /ac via
  • /as via
  • /c via
  • /csp via
  • /d via
  • /debug via
  • /dg via
  • /di via
  • /dlib via
  • /dmdf via
  • /ds via
  • /du via
  • /dxml via
  • /f via
  • /fd via
  • /force via
  • /i via
  • /itos via
  • /kc via
  • /n via
  • /nosealwarn via
  • /nph via
  • /p via
  • /p7 via
  • /p7ce via
  • /p7co via
  • /ph via
  • /q via
  • /r via
  • /rmc via
  • /s via
  • /sa via
  • /seal via
  • /sha1 via
  • /sm via
  • /t via
  • /td via
  • /tr via
  • /tseal via
  • /u via
  • /uw via
  • /v via
public static IReadOnlyCollection SignTool(SignToolSettings options = null) => new SignToolTasks().Run(options); - /// + /// public static IReadOnlyCollection SignTool(Configure configurator) => new SignToolTasks().Run(configurator.Invoke(new SignToolSettings())); - /// + /// public static IEnumerable<(SignToolSettings Settings, IReadOnlyCollection Output)> SignTool(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(SignTool, degreeOfParallelism, completeOnFailure); } #region SignToolSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(SignToolTasks), Command = nameof(SignToolTasks.SignTool), Arguments = "sign")] public partial class SignToolSettings : ToolOptions @@ -125,7 +125,7 @@ public partial class SignToolSettings : ToolOptions } #endregion #region SignToolSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class SignToolSettingsExtensions { diff --git a/src/Fallout.Common/Tools/SignTool/SignToolTasks.cs b/src/Fallout.Common/Tools/SignTool/SignToolTasks.cs index 57c6f9334..aaadae1b5 100644 --- a/src/Fallout.Common/Tools/SignTool/SignToolTasks.cs +++ b/src/Fallout.Common/Tools/SignTool/SignToolTasks.cs @@ -1,9 +1,10 @@ -using System; +using System; using System.Linq; using Fallout.Common.IO; -using Fallout.Common.Tooling; +using Fallout.Application.Tooling; +using Fallout.Common; -namespace Fallout.Common.Tools.SignTool; +namespace Fallout.Application.Tools.SignTool; partial class SignToolTasks { diff --git a/src/Fallout.Common/Tools/Slack/Slack.Generated.cs b/src/Fallout.Common/Tools/Slack/Slack.Generated.cs index bc9bbe6bf..588887bc3 100644 --- a/src/Fallout.Common/Tools/Slack/Slack.Generated.cs +++ b/src/Fallout.Common/Tools/Slack/Slack.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/Slack/Slack.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.Slack; +namespace Fallout.Application.Tools.Slack; #region SlackMessage /// Used within . diff --git a/src/Fallout.Common/Tools/Slack/SlackTasks.cs b/src/Fallout.Common/Tools/Slack/SlackTasks.cs index 1311d8ce1..31f6403a8 100644 --- a/src/Fallout.Common/Tools/Slack/SlackTasks.cs +++ b/src/Fallout.Common/Tools/Slack/SlackTasks.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Diagnostics.CodeAnalysis; using System.Linq; @@ -6,11 +6,12 @@ using System.Text.Json; using System.Text.Json.Serialization; using System.Threading.Tasks; -using Fallout.Common.Tooling; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Net; +using Fallout.Application.Tooling; +using Fallout.Common; -namespace Fallout.Common.Tools.Slack; +namespace Fallout.Application.Tools.Slack; public static class SlackTasks { diff --git a/src/Fallout.Common/Tools/SonarScanner/SonarScanner.Generated.cs b/src/Fallout.Common/Tools/SonarScanner/SonarScanner.Generated.cs index a996c882e..5abba4ded 100644 --- a/src/Fallout.Common/Tools/SonarScanner/SonarScanner.Generated.cs +++ b/src/Fallout.Common/Tools/SonarScanner/SonarScanner.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.SonarScanner; +namespace Fallout.Application.Tools.SonarScanner; ///

The SonarScanner for MSBuild is the recommended way to launch a SonarQube or SonarCloud analysis for projects/solutions using MSBuild or dotnet command as build tool.

For more details, visit the official website.

[ExcludeFromCodeCoverage] @@ -26,20 +26,20 @@ public partial class SonarScannerTasks : ToolTasks, IRequireNuGetPackage ///

The SonarScanner for MSBuild is the recommended way to launch a SonarQube or SonarCloud analysis for projects/solutions using MSBuild or dotnet command as build tool.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • /d via
  • /d:sonar.analysis. via
  • /d:sonar.branch.name via
  • /d:sonar.clientcert.password via
  • /d:sonar.clientcert.path via
  • /d:sonar.coverage.exclusions via
  • /d:sonar.coverageReportPaths via
  • /d:sonar.cpd.exclusions via
  • /d:sonar.cs.dotcover.reportsPaths via
  • /d:sonar.cs.nunit.reportsPaths via
  • /d:sonar.cs.opencover.reportsPaths via
  • /d:sonar.cs.vscoveragexml.reportsPaths via
  • /d:sonar.cs.vstest.reportsPaths via
  • /d:sonar.cs.xunit.reportsPaths via
  • /d:sonar.dotnet.excludeTestProjects via
  • /d:sonar.exclusions via
  • /d:sonar.host.url via
  • /d:sonar.inclusions via
  • /d:sonar.links.ci via
  • /d:sonar.links.homepage via
  • /d:sonar.links.issue via
  • /d:sonar.links.scm via
  • /d:sonar.login via
  • /d:sonar.password via
  • /d:sonar.projectDescription via
  • /d:sonar.pullrequest.base via
  • /d:sonar.pullrequest.branch via
  • /d:sonar.pullrequest.key via
  • /d:sonar.qualitygate.timeout via
  • /d:sonar.qualitygate.wait via
  • /d:sonar.scm.exclusions.disabled via
  • /d:sonar.scm.forceReloadAll via
  • /d:sonar.scm.provider via
  • /d:sonar.scm.revision via
  • /d:sonar.sourceEncoding via
  • /d:sonar.test.exclusions via
  • /d:sonar.test.inclusions via
  • /d:sonar.token via
  • /d:sonar.verbose via
  • /d:sonar.ws.timeout via
  • /k via
  • /n via
  • /o via
  • /v via
public static IReadOnlyCollection SonarScannerBegin(SonarScannerBeginSettings options = null) => new SonarScannerTasks().Run(options); - /// + /// public static IReadOnlyCollection SonarScannerBegin(Configure configurator) => new SonarScannerTasks().Run(configurator.Invoke(new SonarScannerBeginSettings())); - /// + /// public static IEnumerable<(SonarScannerBeginSettings Settings, IReadOnlyCollection Output)> SonarScannerBegin(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(SonarScannerBegin, degreeOfParallelism, completeOnFailure); ///

The SonarScanner for MSBuild is the recommended way to launch a SonarQube or SonarCloud analysis for projects/solutions using MSBuild or dotnet command as build tool.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • /d:sonar.clientcert.password via
  • /d:sonar.login via
  • /d:sonar.password via
  • /d:sonar.token via
public static IReadOnlyCollection SonarScannerEnd(SonarScannerEndSettings options = null) => new SonarScannerTasks().Run(options); - /// + /// public static IReadOnlyCollection SonarScannerEnd(Configure configurator) => new SonarScannerTasks().Run(configurator.Invoke(new SonarScannerEndSettings())); - /// + /// public static IEnumerable<(SonarScannerEndSettings Settings, IReadOnlyCollection Output)> SonarScannerEnd(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(SonarScannerEnd, degreeOfParallelism, completeOnFailure); } #region SonarScannerBeginSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(SonarScannerTasks), Command = nameof(SonarScannerTasks.SonarScannerBegin), Arguments = "begin")] public partial class SonarScannerBeginSettings : ToolOptions, IToolOptionsWithFramework @@ -135,7 +135,7 @@ public partial class SonarScannerBeginSettings : ToolOptions, IToolOptionsWithFr } #endregion #region SonarScannerEndSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(SonarScannerTasks), Command = nameof(SonarScannerTasks.SonarScannerEnd), Arguments = "end")] public partial class SonarScannerEndSettings : ToolOptions, IToolOptionsWithFramework @@ -151,7 +151,7 @@ public partial class SonarScannerEndSettings : ToolOptions, IToolOptionsWithFram } #endregion #region SonarScannerBeginSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class SonarScannerBeginSettingsExtensions { @@ -768,7 +768,7 @@ public static partial class SonarScannerBeginSettingsExtensions } #endregion #region SonarScannerEndSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class SonarScannerEndSettingsExtensions { diff --git a/src/Fallout.Common/Tools/SpecFlow/SpecFlow.Generated.cs b/src/Fallout.Common/Tools/SpecFlow/SpecFlow.Generated.cs index a57ebe00c..363cfc7b9 100644 --- a/src/Fallout.Common/Tools/SpecFlow/SpecFlow.Generated.cs +++ b/src/Fallout.Common/Tools/SpecFlow/SpecFlow.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.SpecFlow; +namespace Fallout.Application.Tools.SpecFlow; ///

Use SpecFlow to define, manage and automatically execute human-readable acceptance tests in .NET projects. Writing easily understandable tests is a cornerstone of the BDD paradigm and also helps build up a living documentation of your system.

For more details, visit the official website.

[ExcludeFromCodeCoverage] @@ -26,62 +26,62 @@ public partial class SpecFlowTasks : ToolTasks, IRequireNuGetPackage ///

This report provides a formatted HTML report of a test execution. The report contains a summary about the executed tests and the result and also a detailed report for the individual scenario executions.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --FeatureLanguage via
  • --OutputFile via
  • --ProjectFile via
  • --ProjectName via
  • --testOutput via
  • --xmlTestResult via
  • --XsltFile via
public static IReadOnlyCollection SpecFlowNUnitExecutionReport(SpecFlowNUnitExecutionReportSettings options = null) => new SpecFlowTasks().Run(options); - /// + /// public static IReadOnlyCollection SpecFlowNUnitExecutionReport(Configure configurator) => new SpecFlowTasks().Run(configurator.Invoke(new SpecFlowNUnitExecutionReportSettings())); - /// + /// public static IEnumerable<(SpecFlowNUnitExecutionReportSettings Settings, IReadOnlyCollection Output)> SpecFlowNUnitExecutionReport(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(SpecFlowNUnitExecutionReport, degreeOfParallelism, completeOnFailure); ///

This report provides a formatted HTML report of a test execution. The report contains a summary about the executed tests and the result and also a detailed report for the individual scenario executions.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <projectFile> via
  • /out via
  • /testResult via
  • /xsltFile via
public static IReadOnlyCollection SpecFlowMSTestExecutionReport(SpecFlowMSTestExecutionReportSettings options = null) => new SpecFlowTasks().Run(options); - /// + /// public static IReadOnlyCollection SpecFlowMSTestExecutionReport(Configure configurator) => new SpecFlowTasks().Run(configurator.Invoke(new SpecFlowMSTestExecutionReportSettings())); - /// + /// public static IEnumerable<(SpecFlowMSTestExecutionReportSettings Settings, IReadOnlyCollection Output)> SpecFlowMSTestExecutionReport(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(SpecFlowMSTestExecutionReport, degreeOfParallelism, completeOnFailure); ///

This report shows the usage and binding status of the steps for the entire project. You can use this report to find both unused code in the automation layer and scenario steps that have no definition yet.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <projectFile> via
  • /out via
  • /testResult via
  • /xsltFile via
public static IReadOnlyCollection SpecFlowStepDefinitionReport(SpecFlowStepDefinitionReportSettings options = null) => new SpecFlowTasks().Run(options); - /// + /// public static IReadOnlyCollection SpecFlowStepDefinitionReport(Configure configurator) => new SpecFlowTasks().Run(configurator.Invoke(new SpecFlowStepDefinitionReportSettings())); - /// + /// public static IEnumerable<(SpecFlowStepDefinitionReportSettings Settings, IReadOnlyCollection Output)> SpecFlowStepDefinitionReport(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(SpecFlowStepDefinitionReport, degreeOfParallelism, completeOnFailure); ///

Use SpecRun.exe run to execute your tests.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • /basefolder via
  • /debug via
  • /filter via
  • /log via
  • /outputfolder via
  • /report via
  • /toolIntegration via
public static IReadOnlyCollection SpecFlowRun(SpecFlowRunSettings options = null) => new SpecFlowTasks().Run(options); - /// + /// public static IReadOnlyCollection SpecFlowRun(Configure configurator) => new SpecFlowTasks().Run(configurator.Invoke(new SpecFlowRunSettings())); - /// + /// public static IEnumerable<(SpecFlowRunSettings Settings, IReadOnlyCollection Output)> SpecFlowRun(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(SpecFlowRun, degreeOfParallelism, completeOnFailure); ///

Use SpecRun.exe buildserverrun to execute your tests in build server mode.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <target> via
  • /basefolder via
  • /buildserver via
  • /filter via
  • /log via
  • /outputfolder via
  • /report via
public static IReadOnlyCollection SpecFlowBuildServerRun(SpecFlowBuildServerRunSettings options = null) => new SpecFlowTasks().Run(options); - /// + /// public static IReadOnlyCollection SpecFlowBuildServerRun(Configure configurator) => new SpecFlowTasks().Run(configurator.Invoke(new SpecFlowBuildServerRunSettings())); - /// + /// public static IEnumerable<(SpecFlowBuildServerRunSettings Settings, IReadOnlyCollection Output)> SpecFlowBuildServerRun(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(SpecFlowBuildServerRun, degreeOfParallelism, completeOnFailure); ///

Use SpecRun.exe register to register your SpecFlow+ license. You only need to register your license once per user per machine. The license is valid for all SpecFlow+ components.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <issuedTo> via
  • <licenseKey> via
public static IReadOnlyCollection SpecFlowRegister(SpecFlowRegisterSettings options = null) => new SpecFlowTasks().Run(options); - /// + /// public static IReadOnlyCollection SpecFlowRegister(Configure configurator) => new SpecFlowTasks().Run(configurator.Invoke(new SpecFlowRegisterSettings())); - /// + /// public static IEnumerable<(SpecFlowRegisterSettings Settings, IReadOnlyCollection Output)> SpecFlowRegister(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(SpecFlowRegister, degreeOfParallelism, completeOnFailure); ///

Use SpecRun.exe unregister to unregister your SpecFlow+ license.

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 SpecFlowUnregister(SpecFlowUnregisterSettings options = null) => new SpecFlowTasks().Run(options); - /// + /// public static IReadOnlyCollection SpecFlowUnregister(Configure configurator) => new SpecFlowTasks().Run(configurator.Invoke(new SpecFlowUnregisterSettings())); - /// + /// public static IEnumerable<(SpecFlowUnregisterSettings Settings, IReadOnlyCollection Output)> SpecFlowUnregister(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(SpecFlowUnregister, degreeOfParallelism, completeOnFailure); ///

Use SpecRun.exe about to display information such as your version number, build date and license information (licensee, upgrade until date/expiry date).

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 SpecFlowAbout(SpecFlowAboutSettings options = null) => new SpecFlowTasks().Run(options); - /// + /// public static IReadOnlyCollection SpecFlowAbout(Configure configurator) => new SpecFlowTasks().Run(configurator.Invoke(new SpecFlowAboutSettings())); - /// + /// public static IEnumerable<(SpecFlowAboutSettings Settings, IReadOnlyCollection Output)> SpecFlowAbout(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(SpecFlowAbout, degreeOfParallelism, completeOnFailure); } #region SpecFlowNUnitExecutionReportSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(SpecFlowTasks), Command = nameof(SpecFlowTasks.SpecFlowNUnitExecutionReport), Arguments = "nunitexecutionreport")] public partial class SpecFlowNUnitExecutionReportSettings : ToolOptions @@ -103,7 +103,7 @@ public partial class SpecFlowNUnitExecutionReportSettings : ToolOptions } #endregion #region SpecFlowMSTestExecutionReportSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(SpecFlowTasks), Command = nameof(SpecFlowTasks.SpecFlowMSTestExecutionReport), Arguments = "mstestexecutionreport")] public partial class SpecFlowMSTestExecutionReportSettings : ToolOptions @@ -119,7 +119,7 @@ public partial class SpecFlowMSTestExecutionReportSettings : ToolOptions } #endregion #region SpecFlowStepDefinitionReportSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(SpecFlowTasks), Command = nameof(SpecFlowTasks.SpecFlowStepDefinitionReport), Arguments = "stepdefinitionreport")] public partial class SpecFlowStepDefinitionReportSettings : ToolOptions @@ -135,7 +135,7 @@ public partial class SpecFlowStepDefinitionReportSettings : ToolOptions } #endregion #region SpecFlowRunSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(SpecFlowTasks), Command = nameof(SpecFlowTasks.SpecFlowRun), Arguments = "run")] public partial class SpecFlowRunSettings : ToolOptions @@ -157,7 +157,7 @@ public partial class SpecFlowRunSettings : ToolOptions } #endregion #region SpecFlowBuildServerRunSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(SpecFlowTasks), Command = nameof(SpecFlowTasks.SpecFlowBuildServerRun), Arguments = "buildserverrun")] public partial class SpecFlowBuildServerRunSettings : ToolOptions @@ -179,7 +179,7 @@ public partial class SpecFlowBuildServerRunSettings : ToolOptions } #endregion #region SpecFlowRegisterSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(SpecFlowTasks), Command = nameof(SpecFlowTasks.SpecFlowRegister), Arguments = "register")] public partial class SpecFlowRegisterSettings : ToolOptions @@ -191,7 +191,7 @@ public partial class SpecFlowRegisterSettings : ToolOptions } #endregion #region SpecFlowUnregisterSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(SpecFlowTasks), Command = nameof(SpecFlowTasks.SpecFlowUnregister), Arguments = "register")] public partial class SpecFlowUnregisterSettings : ToolOptions @@ -199,7 +199,7 @@ public partial class SpecFlowUnregisterSettings : ToolOptions } #endregion #region SpecFlowAboutSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(SpecFlowTasks), Command = nameof(SpecFlowTasks.SpecFlowAbout), Arguments = "register")] public partial class SpecFlowAboutSettings : ToolOptions @@ -207,7 +207,7 @@ public partial class SpecFlowAboutSettings : ToolOptions } #endregion #region SpecFlowNUnitExecutionReportSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class SpecFlowNUnitExecutionReportSettingsExtensions { @@ -270,7 +270,7 @@ public static partial class SpecFlowNUnitExecutionReportSettingsExtensions } #endregion #region SpecFlowMSTestExecutionReportSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class SpecFlowMSTestExecutionReportSettingsExtensions { @@ -309,7 +309,7 @@ public static partial class SpecFlowMSTestExecutionReportSettingsExtensions } #endregion #region SpecFlowStepDefinitionReportSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class SpecFlowStepDefinitionReportSettingsExtensions { @@ -348,7 +348,7 @@ public static partial class SpecFlowStepDefinitionReportSettingsExtensions } #endregion #region SpecFlowRunSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class SpecFlowRunSettingsExtensions { @@ -420,7 +420,7 @@ public static partial class SpecFlowRunSettingsExtensions } #endregion #region SpecFlowBuildServerRunSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class SpecFlowBuildServerRunSettingsExtensions { @@ -483,7 +483,7 @@ public static partial class SpecFlowBuildServerRunSettingsExtensions } #endregion #region SpecFlowRegisterSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class SpecFlowRegisterSettingsExtensions { @@ -506,14 +506,14 @@ public static partial class SpecFlowRegisterSettingsExtensions } #endregion #region SpecFlowUnregisterSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class SpecFlowUnregisterSettingsExtensions { } #endregion #region SpecFlowAboutSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class SpecFlowAboutSettingsExtensions { diff --git a/src/Fallout.Common/Tools/Squirrel/Squirrel.Generated.cs b/src/Fallout.Common/Tools/Squirrel/Squirrel.Generated.cs index e6f407469..add1fd97e 100644 --- a/src/Fallout.Common/Tools/Squirrel/Squirrel.Generated.cs +++ b/src/Fallout.Common/Tools/Squirrel/Squirrel.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/Squirrel/Squirrel.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.Squirrel; +namespace Fallout.Application.Tools.Squirrel; ///

Squirrel is both a set of tools and a library, to completely manage both installation and updating your Desktop Windows application, written in either C# or any other language (i.e., Squirrel can manage native C++ applications).

For more details, visit the official website.

[ExcludeFromCodeCoverage] @@ -28,13 +28,13 @@ public partial class SquirrelTasks : ToolTasks, IRequireNuGetPackage ///

Squirrel is both a set of tools and a library, to completely manage both installation and updating your Desktop Windows application, written in either C# or any other language (i.e., Squirrel can manage native C++ applications).

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --baseUrl via
  • --bootstrapperExe via
  • --checkForUpdate via
  • --createShortcut via
  • --download via
  • --framework-version via
  • --icon via
  • --install via
  • --loadingGif via
  • --no-delta via
  • --no-msi via
  • --packagesDir via
  • --process-start-args via
  • --processStart via
  • --processStartAndWait via
  • --releaseDir via
  • --releasify via
  • --removeShortcut via
  • --setupIcon via
  • --shortcut-locations via
  • --signWithParams via
  • --uninstall via
  • --update via
  • --updateSelf via
public static IReadOnlyCollection Squirrel(SquirrelSettings options = null) => new SquirrelTasks().Run(options); - /// + /// public static IReadOnlyCollection Squirrel(Configure configurator) => new SquirrelTasks().Run(configurator.Invoke(new SquirrelSettings())); - /// + /// public static IEnumerable<(SquirrelSettings Settings, IReadOnlyCollection Output)> Squirrel(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(Squirrel, degreeOfParallelism, completeOnFailure); } #region SquirrelSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(SquirrelTasks), Command = nameof(SquirrelTasks.Squirrel))] public partial class SquirrelSettings : ToolOptions @@ -90,7 +90,7 @@ public partial class SquirrelSettings : ToolOptions } #endregion #region SquirrelSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class SquirrelSettingsExtensions { diff --git a/src/Fallout.Common/Tools/StaticWebApps/StaticWebApps.Generated.cs b/src/Fallout.Common/Tools/StaticWebApps/StaticWebApps.Generated.cs index e05a56f5e..08f499d60 100644 --- a/src/Fallout.Common/Tools/StaticWebApps/StaticWebApps.Generated.cs +++ b/src/Fallout.Common/Tools/StaticWebApps/StaticWebApps.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.StaticWebApps; +namespace Fallout.Application.Tools.StaticWebApps; ///

The Static Web Apps CLI, also known as SWA CLI, serves as a local development tool for Azure Static Web Apps. It can:

  • Serve static app assets, or proxy to your app dev server
  • Serve API requests, or proxy to APIs running in Azure Functions Core Tools
  • Emulate authentication and authorization
  • Emulate Static Web Apps configuration, including routing

For more details, visit the official website.

[ExcludeFromCodeCoverage] @@ -26,20 +26,20 @@ public partial class StaticWebAppsTasks : ToolTasks, IRequireNpmPackage ///

The Static Web Apps CLI, also known as SWA CLI, serves as a local development tool for Azure Static Web Apps. It can:

  • Serve static app assets, or proxy to your app dev server
  • Serve API requests, or proxy to APIs running in Azure Functions Core Tools
  • Emulate authentication and authorization
  • Emulate Static Web Apps configuration, including routing

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --api-location via
  • --api-port via
  • --app-artifact-location via
  • --app-location via
  • --devserver-timeout via
  • --host via
  • --port via
  • --run via
  • --ssl via
  • --ssl-cert via
  • --ssl-key via
  • --swa-config-location via
public static IReadOnlyCollection StaticWebAppsStart(StaticWebAppsStartSettings options = null) => new StaticWebAppsTasks().Run(options); - /// + /// public static IReadOnlyCollection StaticWebAppsStart(Configure configurator) => new StaticWebAppsTasks().Run(configurator.Invoke(new StaticWebAppsStartSettings())); - /// + /// public static IEnumerable<(StaticWebAppsStartSettings Settings, IReadOnlyCollection Output)> StaticWebAppsStart(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(StaticWebAppsStart, degreeOfParallelism, completeOnFailure); ///

The Static Web Apps CLI, also known as SWA CLI, serves as a local development tool for Azure Static Web Apps. It can:

  • Serve static app assets, or proxy to your app dev server
  • Serve API requests, or proxy to APIs running in Azure Functions Core Tools
  • Emulate authentication and authorization
  • Emulate Static Web Apps configuration, including routing

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --api-location via
  • --app-location via
  • --deployment-token via
  • --env via
  • --output-location via
  • --swa-config-location via
public static IReadOnlyCollection StaticWebAppsDeploy(StaticWebAppsDeploySettings options = null) => new StaticWebAppsTasks().Run(options); - /// + /// public static IReadOnlyCollection StaticWebAppsDeploy(Configure configurator) => new StaticWebAppsTasks().Run(configurator.Invoke(new StaticWebAppsDeploySettings())); - /// + /// public static IEnumerable<(StaticWebAppsDeploySettings Settings, IReadOnlyCollection Output)> StaticWebAppsDeploy(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(StaticWebAppsDeploy, degreeOfParallelism, completeOnFailure); } #region StaticWebAppsStartSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(StaticWebAppsTasks), Command = nameof(StaticWebAppsTasks.StaticWebAppsStart), Arguments = "start")] public partial class StaticWebAppsStartSettings : ToolOptions @@ -71,7 +71,7 @@ public partial class StaticWebAppsStartSettings : ToolOptions } #endregion #region StaticWebAppsDeploySettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(StaticWebAppsTasks), Command = nameof(StaticWebAppsTasks.StaticWebAppsDeploy), Arguments = "deploy")] public partial class StaticWebAppsDeploySettings : ToolOptions @@ -91,7 +91,7 @@ public partial class StaticWebAppsDeploySettings : ToolOptions } #endregion #region StaticWebAppsStartSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class StaticWebAppsStartSettingsExtensions { @@ -203,7 +203,7 @@ public static partial class StaticWebAppsStartSettingsExtensions } #endregion #region StaticWebAppsDeploySettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class StaticWebAppsDeploySettingsExtensions { diff --git a/src/Fallout.Common/Tools/Teams/Teams.Extensions.cs b/src/Fallout.Common/Tools/Teams/Teams.Extensions.cs index ed17340f2..871294ae5 100644 --- a/src/Fallout.Common/Tools/Teams/Teams.Extensions.cs +++ b/src/Fallout.Common/Tools/Teams/Teams.Extensions.cs @@ -1,6 +1,6 @@ using System.Text.Json.Serialization; -namespace Fallout.Common.Tools.Teams; +namespace Fallout.Application.Tools.Teams; public partial class TeamsMessage { diff --git a/src/Fallout.Common/Tools/Teams/Teams.Generated.cs b/src/Fallout.Common/Tools/Teams/Teams.Generated.cs index 61f3eb919..7530c7e1a 100644 --- a/src/Fallout.Common/Tools/Teams/Teams.Generated.cs +++ b/src/Fallout.Common/Tools/Teams/Teams.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/Teams/Teams.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.Teams; +namespace Fallout.Application.Tools.Teams; #region TeamsMessage /// Used within . diff --git a/src/Fallout.Common/Tools/Teams/TeamsTasks.cs b/src/Fallout.Common/Tools/Teams/TeamsTasks.cs index 15869da35..eb8b8fa21 100644 --- a/src/Fallout.Common/Tools/Teams/TeamsTasks.cs +++ b/src/Fallout.Common/Tools/Teams/TeamsTasks.cs @@ -1,11 +1,12 @@ -using System; +using System; using System.Linq; using System.Net.Http; using System.Threading.Tasks; -using Fallout.Common.Tooling; using Fallout.Common.Utilities.Net; +using Fallout.Application.Tooling; +using Fallout.Common; -namespace Fallout.Common.Tools.Teams; +namespace Fallout.Application.Tools.Teams; public static class TeamsTasks { diff --git a/src/Fallout.Common/Tools/TestCloud/TestCloud.Generated.cs b/src/Fallout.Common/Tools/TestCloud/TestCloud.Generated.cs index a00591134..3c058ed08 100644 --- a/src/Fallout.Common/Tools/TestCloud/TestCloud.Generated.cs +++ b/src/Fallout.Common/Tools/TestCloud/TestCloud.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/TestCloud/TestCloud.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.TestCloud; +namespace Fallout.Application.Tools.TestCloud; ///

Test Cloud is a cloud based service consisting of thousands of physical mobile devices. Users upload their apps and tests to Test Cloud, which will install the apps on the devices and run the tests. When the tests are complete, Test Cloud, the results made available to users through an easy to use and informative web-based front end.

For more details, visit the official website.

[ExcludeFromCodeCoverage] @@ -28,13 +28,13 @@ public partial class TestCloudTasks : ToolTasks, IRequireNuGetPackage ///

Test Cloud is a cloud based service consisting of thousands of physical mobile devices. Users upload their apps and tests to Test Cloud, which will install the apps on the devices and run the tests. When the tests are complete, Test Cloud, the results made available to users through an easy to use and informative web-based front end.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • --assembly-dir via
  • --data via
  • --devices via
  • --dsym via
  • --exclude via
  • --fixture via
  • --fixture-chunk via
  • --include via
  • --nunit-xml via
  • --sign-info via
  • --test-chunk via
  • --user via
public static IReadOnlyCollection TestCloud(TestCloudSettings options = null) => new TestCloudTasks().Run(options); - /// + /// public static IReadOnlyCollection TestCloud(Configure configurator) => new TestCloudTasks().Run(configurator.Invoke(new TestCloudSettings())); - /// + /// public static IEnumerable<(TestCloudSettings Settings, IReadOnlyCollection Output)> TestCloud(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(TestCloud, degreeOfParallelism, completeOnFailure); } #region TestCloudSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(TestCloudTasks), Command = nameof(TestCloudTasks.TestCloud), Arguments = "submit")] public partial class TestCloudSettings : ToolOptions @@ -66,7 +66,7 @@ public partial class TestCloudSettings : ToolOptions } #endregion #region TestCloudSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class TestCloudSettingsExtensions { diff --git a/src/Fallout.Common/Tools/Twitter/TwitterTasks.cs b/src/Fallout.Common/Tools/Twitter/TwitterTasks.cs index 9203a7dd8..3cc00e77d 100644 --- a/src/Fallout.Common/Tools/Twitter/TwitterTasks.cs +++ b/src/Fallout.Common/Tools/Twitter/TwitterTasks.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Globalization; using System.Linq; @@ -10,8 +10,9 @@ using System.Threading.Tasks; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; +using Fallout.Common; -namespace Fallout.Common.Tools.Twitter; +namespace Fallout.Application.Tools.Twitter; public static class TwitterTasks { diff --git a/src/Fallout.Common/Tools/Unity/Logging/BlockMatcher.cs b/src/Fallout.Common/Tools/Unity/Logging/BlockMatcher.cs index e7d6ab747..d1a170916 100644 --- a/src/Fallout.Common/Tools/Unity/Logging/BlockMatcher.cs +++ b/src/Fallout.Common/Tools/Unity/Logging/BlockMatcher.cs @@ -1,8 +1,8 @@ -using System; +using System; using System.Linq; using System.Text.RegularExpressions; -namespace Fallout.Common.Tools.Unity.Logging; +namespace Fallout.Application.Tools.Unity.Logging; internal class BlockMatcher { diff --git a/src/Fallout.Common/Tools/Unity/Logging/FileWatcher.cs b/src/Fallout.Common/Tools/Unity/Logging/FileWatcher.cs index 2c7ebafdf..d64045039 100644 --- a/src/Fallout.Common/Tools/Unity/Logging/FileWatcher.cs +++ b/src/Fallout.Common/Tools/Unity/Logging/FileWatcher.cs @@ -1,10 +1,11 @@ -using System; +using System; using System.IO; using System.Linq; using System.Text; using System.Threading; +using Fallout.Common; -namespace Fallout.Common.Tools.Unity.Logging; +namespace Fallout.Application.Tools.Unity.Logging; internal class FileWatcher { diff --git a/src/Fallout.Common/Tools/Unity/Logging/LineMatcher.cs b/src/Fallout.Common/Tools/Unity/Logging/LineMatcher.cs index 7edfb586d..60d8ad15a 100644 --- a/src/Fallout.Common/Tools/Unity/Logging/LineMatcher.cs +++ b/src/Fallout.Common/Tools/Unity/Logging/LineMatcher.cs @@ -1,8 +1,8 @@ -using System; +using System; using System.Linq; using System.Text.RegularExpressions; -namespace Fallout.Common.Tools.Unity.Logging; +namespace Fallout.Application.Tools.Unity.Logging; internal class LineMatcher { diff --git a/src/Fallout.Common/Tools/Unity/Logging/LogParser.cs b/src/Fallout.Common/Tools/Unity/Logging/LogParser.cs index 2d1655fb2..b1cc664e9 100644 --- a/src/Fallout.Common/Tools/Unity/Logging/LogParser.cs +++ b/src/Fallout.Common/Tools/Unity/Logging/LogParser.cs @@ -1,8 +1,8 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; -namespace Fallout.Common.Tools.Unity.Logging; +namespace Fallout.Application.Tools.Unity.Logging; internal class LogParser { diff --git a/src/Fallout.Common/Tools/Unity/Logging/MatchType.cs b/src/Fallout.Common/Tools/Unity/Logging/MatchType.cs index 4997189a8..a7241451c 100644 --- a/src/Fallout.Common/Tools/Unity/Logging/MatchType.cs +++ b/src/Fallout.Common/Tools/Unity/Logging/MatchType.cs @@ -1,7 +1,7 @@ -using System; +using System; using System.Linq; -namespace Fallout.Common.Tools.Unity.Logging; +namespace Fallout.Application.Tools.Unity.Logging; internal enum MatchType { diff --git a/src/Fallout.Common/Tools/Unity/Logging/MatchedBlock.cs b/src/Fallout.Common/Tools/Unity/Logging/MatchedBlock.cs index 5b3c3a261..3798edbec 100644 --- a/src/Fallout.Common/Tools/Unity/Logging/MatchedBlock.cs +++ b/src/Fallout.Common/Tools/Unity/Logging/MatchedBlock.cs @@ -1,7 +1,7 @@ -using System; +using System; using System.Linq; -namespace Fallout.Common.Tools.Unity.Logging; +namespace Fallout.Application.Tools.Unity.Logging; internal class MatchedBlock { diff --git a/src/Fallout.Common/Tools/Unity/Logging/UnityLogLevel.cs b/src/Fallout.Common/Tools/Unity/Logging/UnityLogLevel.cs index cc470ada5..91daa1f75 100644 --- a/src/Fallout.Common/Tools/Unity/Logging/UnityLogLevel.cs +++ b/src/Fallout.Common/Tools/Unity/Logging/UnityLogLevel.cs @@ -1,7 +1,7 @@ -using System; +using System; using System.Linq; -namespace Fallout.Common.Tools.Unity.Logging; +namespace Fallout.Application.Tools.Unity.Logging; public enum LogLevel { diff --git a/src/Fallout.Common/Tools/Unity/Unity.Generated.cs b/src/Fallout.Common/Tools/Unity/Unity.Generated.cs index d015f6a16..32a389f64 100644 --- a/src/Fallout.Common/Tools/Unity/Unity.Generated.cs +++ b/src/Fallout.Common/Tools/Unity/Unity.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.Unity; +namespace Fallout.Application.Tools.Unity; ///

Unity is usually launched by double-clicking its icon from the desktop. However, it is also possible to run it from the command line (from the macOS Terminal or the Windows Command Prompt). When launched in this way, Unity can receive commands and information on startup, which can be very useful for test suites, automated builds and other production tasks.

For more details, visit the official website.

[ExcludeFromCodeCoverage] @@ -23,41 +23,41 @@ public partial class UnityTasks : ToolTasks ///

(2018.2+) Exports the currently activated license to the path of the Unity executable or either the default Unity license location, see the logs or Activation FAQ for more information.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • -batchmode via
  • -logFile via
  • -nographics via
  • -password via
  • -quit via
  • -serial via
  • -silent-crashes via
  • -username via
public static IReadOnlyCollection UnityCreateManualActivationFile(UnityCreateManualActivationFileSettings options = null) => new UnityTasks().Run(options); - /// + /// public static IReadOnlyCollection UnityCreateManualActivationFile(Configure configurator) => new UnityTasks().Run(configurator.Invoke(new UnityCreateManualActivationFileSettings())); - /// + /// public static IEnumerable<(UnityCreateManualActivationFileSettings Settings, IReadOnlyCollection Output)> UnityCreateManualActivationFile(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(UnityCreateManualActivationFile, degreeOfParallelism, completeOnFailure); ///

(2018.2+) Activates Unity with a license file.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • -batchmode via
  • -logFile via
  • -manualLicenseFile via
  • -nographics via
  • -password via
  • -quit via
  • -serial via
  • -silent-crashes via
  • -username via
public static IReadOnlyCollection UnityManualLicenseFile(UnityManualLicenseFileSettings options = null) => new UnityTasks().Run(options); - /// + /// public static IReadOnlyCollection UnityManualLicenseFile(Configure configurator) => new UnityTasks().Run(configurator.Invoke(new UnityManualLicenseFileSettings())); - /// + /// public static IEnumerable<(UnityManualLicenseFileSettings Settings, IReadOnlyCollection Output)> UnityManualLicenseFile(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(UnityManualLicenseFile, degreeOfParallelism, completeOnFailure); ///

Execute Unity.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <customArguments> via
  • -accept-apiupdate via
  • -assetServerUpdate via
  • -batchmode via
  • -buildLinux32Player via
  • -buildLinux64Player via
  • -buildLinuxUniversalPlayer via
  • -buildOSX64Player via
  • -buildOSXPlayer via
  • -buildOSXUniversalPlayer via
  • -buildTarget via
  • -buildWindows64Player via
  • -buildWindowsPlayer via
  • -cacheServerIPAddress via
  • -createProject via
  • -disable-assembly-updater via
  • -editorTestsCategories via
  • -editorTestsFilter via
  • -editorTestsResultFile via
  • -executeMethod via
  • -exportPackage via
  • -force-clamped via
  • -force-d3d11 via
  • -force-device-index via
  • -force-gfx-metal via
  • -force-glcore via
  • -force-glcore via
  • -force-gles via
  • -force-gles via
  • -force-low-power-device via
  • -importPackage via
  • -logFile via
  • -nographics via
  • -noUpm via
  • -password via
  • -projectPath via
  • -quit via
  • -runEditorTests via
  • -serial via
  • -setDefaultPlatformTextureFormat via
  • -silent-crashes via
  • -stackTraceLogType via
  • -username via
public static IReadOnlyCollection Unity(UnitySettings options = null) => new UnityTasks().Run(options); - /// + /// public static IReadOnlyCollection Unity(Configure configurator) => new UnityTasks().Run(configurator.Invoke(new UnitySettings())); - /// + /// public static IEnumerable<(UnitySettings Settings, IReadOnlyCollection Output)> Unity(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(Unity, degreeOfParallelism, completeOnFailure); ///

Return the currenlty activated Unity license.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • -batchmode via
  • -logFile via
  • -nographics via
  • -password via
  • -quit via
  • -serial via
  • -silent-crashes via
  • -username via
public static IReadOnlyCollection UnityReturnLicense(UnityReturnLicenseSettings options = null) => new UnityTasks().Run(options); - /// + /// public static IReadOnlyCollection UnityReturnLicense(Configure configurator) => new UnityTasks().Run(configurator.Invoke(new UnityReturnLicenseSettings())); - /// + /// public static IEnumerable<(UnityReturnLicenseSettings Settings, IReadOnlyCollection Output)> UnityReturnLicense(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(UnityReturnLicense, degreeOfParallelism, completeOnFailure); ///

(2019.2+) Run tests in the project using Unity Test Framework. This argument requires the projectPath, and it's good practice to run it with batchmode argument. quit is not required, because the Editor automatically closes down after the run is finished.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <customArguments> via
  • -accept-apiupdate via
  • -assetServerUpdate via
  • -batchmode via
  • -buildTarget via
  • -cacheServerIPAddress via
  • -disable-assembly-updater via
  • -force-clamped via
  • -force-d3d11 via
  • -force-device-index via
  • -force-gfx-metal via
  • -force-glcore via
  • -force-glcore via
  • -force-gles via
  • -force-gles via
  • -force-low-power-device via
  • -logFile via
  • -nographics via
  • -noUpm via
  • -password via
  • -projectPath via
  • -quit via
  • -serial via
  • -setDefaultPlatformTextureFormat via
  • -silent-crashes via
  • -stackTraceLogType via
  • -testCategory via
  • -testFilter via
  • -testPlatform via
  • -testResults via
  • -username via
public static IReadOnlyCollection UnityRunTests(UnityRunTestsSettings options = null) => new UnityTasks().Run(options); - /// + /// public static IReadOnlyCollection UnityRunTests(Configure configurator) => new UnityTasks().Run(configurator.Invoke(new UnityRunTestsSettings())); - /// + /// public static IEnumerable<(UnityRunTestsSettings Settings, IReadOnlyCollection Output)> UnityRunTests(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(UnityRunTests, degreeOfParallelism, completeOnFailure); } #region UnityCreateManualActivationFileSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(UnityTasks), Command = nameof(UnityTasks.UnityCreateManualActivationFile), Arguments = "-createManualActivationFile")] public partial class UnityCreateManualActivationFileSettings : UnityOptionsBase @@ -79,7 +79,7 @@ public partial class UnityCreateManualActivationFileSettings : UnityOptionsBase } #endregion #region UnityManualLicenseFileSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(UnityTasks), Command = nameof(UnityTasks.UnityManualLicenseFile))] public partial class UnityManualLicenseFileSettings : UnityOptionsBase @@ -103,7 +103,7 @@ public partial class UnityManualLicenseFileSettings : UnityOptionsBase } #endregion #region UnitySettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(UnityTasks), Command = nameof(UnityTasks.Unity))] public partial class UnitySettings : UnityProjectOptions @@ -157,7 +157,7 @@ public partial class UnitySettings : UnityProjectOptions } #endregion #region UnityReturnLicenseSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(UnityTasks), Command = nameof(UnityTasks.UnityReturnLicense), Arguments = "-returnlicense")] public partial class UnityReturnLicenseSettings : UnityOptionsBase @@ -179,7 +179,7 @@ public partial class UnityReturnLicenseSettings : UnityOptionsBase } #endregion #region UnityRunTestsSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(UnityTasks), Command = nameof(UnityTasks.UnityRunTests), Arguments = "-runTests")] public partial class UnityRunTestsSettings : UnityProjectOptions @@ -269,7 +269,7 @@ public partial class UnityProjectOptions : UnityOptionsBase } #endregion #region UnityCreateManualActivationFileSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class UnityCreateManualActivationFileSettingsExtensions { @@ -368,7 +368,7 @@ public static partial class UnityCreateManualActivationFileSettingsExtensions } #endregion #region UnityManualLicenseFileSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class UnityManualLicenseFileSettingsExtensions { @@ -475,7 +475,7 @@ public static partial class UnityManualLicenseFileSettingsExtensions } #endregion #region UnitySettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class UnitySettingsExtensions { @@ -756,7 +756,7 @@ public static partial class UnitySettingsExtensions } #endregion #region UnityReturnLicenseSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class UnityReturnLicenseSettingsExtensions { @@ -855,7 +855,7 @@ public static partial class UnityReturnLicenseSettingsExtensions } #endregion #region UnityRunTestsSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class UnityRunTestsSettingsExtensions { diff --git a/src/Fallout.Common/Tools/Unity/UnityTasks.cs b/src/Fallout.Common/Tools/Unity/UnityTasks.cs index 904da7be2..8966b37d7 100644 --- a/src/Fallout.Common/Tools/Unity/UnityTasks.cs +++ b/src/Fallout.Common/Tools/Unity/UnityTasks.cs @@ -4,15 +4,16 @@ using System.Linq; using System.Text; using Fallout.Common.IO; -using Fallout.Common.Tooling; -using Fallout.Common.Tools.Unity.Logging; using Fallout.Common.Utilities; using Fallout.Utilities.Text.Yaml; using Serilog; using Serilog.Events; using Fallout.Application; +using Fallout.Application.Tools.Unity.Logging; +using Fallout.Application.Tooling; +using Fallout.Common; -namespace Fallout.Common.Tools.Unity; +namespace Fallout.Application.Tools.Unity; partial class UnityTasks { diff --git a/src/Fallout.Common/Tools/VSTest/VSTest.Generated.cs b/src/Fallout.Common/Tools/VSTest/VSTest.Generated.cs index b37acaa82..a5233670b 100644 --- a/src/Fallout.Common/Tools/VSTest/VSTest.Generated.cs +++ b/src/Fallout.Common/Tools/VSTest/VSTest.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/VSTest/VSTest.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.VSTest; +namespace Fallout.Application.Tools.VSTest; ///

VSTest.Console.exe is the command-line command that is used to run tests. You can specify several options in any order on the VSTest.Console.exe command line.

For more details, visit the official website.

[ExcludeFromCodeCoverage] @@ -28,13 +28,13 @@ public partial class VSTestTasks : ToolTasks, IRequireNuGetPackage ///

VSTest.Console.exe is the command-line command that is used to run tests. You can specify several options in any order on the VSTest.Console.exe command line.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <testAssemblies> via
  • /Diag via
  • /EnableCodeCoverage via
  • /Framework via
  • /InIsolation via
  • /ListDiscoverers via
  • /ListExecutors via
  • /ListLoggers via
  • /ListSettingsProviders via
  • /ListTests via
  • /Logger via
  • /Parallel via
  • /Platform via
  • /Settings via
  • /TestAdapterPath via
  • /TestCaseFilter via
  • /Tests via
  • /UseVsixExtensions via
public static IReadOnlyCollection VSTest(VSTestSettings options = null) => new VSTestTasks().Run(options); - /// + /// public static IReadOnlyCollection VSTest(Configure configurator) => new VSTestTasks().Run(configurator.Invoke(new VSTestSettings())); - /// + /// public static IEnumerable<(VSTestSettings Settings, IReadOnlyCollection Output)> VSTest(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(VSTest, degreeOfParallelism, completeOnFailure); } #region VSTestSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(VSTestTasks), Command = nameof(VSTestTasks.VSTest))] public partial class VSTestSettings : ToolOptions @@ -78,7 +78,7 @@ public partial class VSTestSettings : ToolOptions } #endregion #region VSTestSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class VSTestSettingsExtensions { diff --git a/src/Fallout.Common/Tools/VSWhere/VSWhere.Generated.cs b/src/Fallout.Common/Tools/VSWhere/VSWhere.Generated.cs index c17ca9679..a255c4f10 100644 --- a/src/Fallout.Common/Tools/VSWhere/VSWhere.Generated.cs +++ b/src/Fallout.Common/Tools/VSWhere/VSWhere.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/VSWhere/VSWhere.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.VSWhere; +namespace Fallout.Application.Tools.VSWhere; ///

VSWhere is designed to be a redistributable, single-file executable that can be used in build or deployment scripts to find where Visual Studio - or other products in the Visual Studio family - is located.

For more details, visit the official website.

[ExcludeFromCodeCoverage] @@ -28,13 +28,13 @@ public partial class VSWhereTasks : ToolTasks, IRequireNuGetPackage ///

VSWhere is designed to be a redistributable, single-file executable that can be used in build or deployment scripts to find where Visual Studio - or other products in the Visual Studio family - is located.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • -all via
  • -format via
  • -latest via
  • -legacy via
  • -nologo via
  • -prerelease via
  • -products via
  • -property via
  • -requires via
  • -requiresAny via
  • -utf8 via
  • -version via
public static (List Result, IReadOnlyCollection Output) VSWhere(VSWhereSettings options = null) => new VSWhereTasks().Run>(options); - /// + /// public static (List Result, IReadOnlyCollection Output) VSWhere(Configure configurator) => new VSWhereTasks().Run>(configurator.Invoke(new VSWhereSettings())); - /// + /// public static IEnumerable<(VSWhereSettings Settings, List Result, IReadOnlyCollection Output)> VSWhere(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(VSWhere, degreeOfParallelism, completeOnFailure); } #region VSWhereSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(VSWhereTasks), Command = nameof(VSWhereTasks.VSWhere))] public partial class VSWhereSettings : ToolOptions @@ -150,7 +150,7 @@ public partial class VSWhereResult : Options } #endregion #region VSWhereSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class VSWhereSettingsExtensions { diff --git a/src/Fallout.Common/Tools/VSWhere/VSWhereTasks.cs b/src/Fallout.Common/Tools/VSWhere/VSWhereTasks.cs index 81dbc84ae..e569dfd90 100644 --- a/src/Fallout.Common/Tools/VSWhere/VSWhereTasks.cs +++ b/src/Fallout.Common/Tools/VSWhere/VSWhereTasks.cs @@ -1,9 +1,10 @@ using System; using System.Collections.Generic; using System.Linq; -using Fallout.Common.Tooling; +using Fallout.Application.Tooling; +using Fallout.Infrastructure.Tooling; -namespace Fallout.Common.Tools.VSWhere; +namespace Fallout.Application.Tools.VSWhere; partial class VSWhereTasks { diff --git a/src/Fallout.Common/Tools/WebConfigTransformRunner/WebConfigTransformRunner.Generated.cs b/src/Fallout.Common/Tools/WebConfigTransformRunner/WebConfigTransformRunner.Generated.cs index 77b0b929a..873234ec8 100644 --- a/src/Fallout.Common/Tools/WebConfigTransformRunner/WebConfigTransformRunner.Generated.cs +++ b/src/Fallout.Common/Tools/WebConfigTransformRunner/WebConfigTransformRunner.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/WebConfigTransformRunner/WebConfigTransformRunner.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.WebConfigTransformRunner; +namespace Fallout.Application.Tools.WebConfigTransformRunner; ///

This is a commandline tool to run an ASP.Net web.config tranformation.

For more details, visit the official website.

[ExcludeFromCodeCoverage] @@ -28,13 +28,13 @@ public partial class WebConfigTransformRunnerTasks : ToolTasks, IRequireNuGetPac ///

This is a commandline tool to run an ASP.Net web.config tranformation.

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <outputFilename> via
  • <transformFilename> via
  • <webConfigFilename> via
public static IReadOnlyCollection WebConfigTransformRunner(WebConfigTransformRunnerSettings options = null) => new WebConfigTransformRunnerTasks().Run(options); - /// + /// public static IReadOnlyCollection WebConfigTransformRunner(Configure configurator) => new WebConfigTransformRunnerTasks().Run(configurator.Invoke(new WebConfigTransformRunnerSettings())); - /// + /// public static IEnumerable<(WebConfigTransformRunnerSettings Settings, IReadOnlyCollection Output)> WebConfigTransformRunner(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(WebConfigTransformRunner, degreeOfParallelism, completeOnFailure); } #region WebConfigTransformRunnerSettings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(WebConfigTransformRunnerTasks), Command = nameof(WebConfigTransformRunnerTasks.WebConfigTransformRunner))] public partial class WebConfigTransformRunnerSettings : ToolOptions @@ -48,7 +48,7 @@ public partial class WebConfigTransformRunnerSettings : ToolOptions } #endregion #region WebConfigTransformRunnerSettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class WebConfigTransformRunnerSettingsExtensions { diff --git a/src/Fallout.Common/Tools/Xunit/Xunit.Generated.cs b/src/Fallout.Common/Tools/Xunit/Xunit.Generated.cs index cfe9b7694..fa2b9aa42 100644 --- a/src/Fallout.Common/Tools/Xunit/Xunit.Generated.cs +++ b/src/Fallout.Common/Tools/Xunit/Xunit.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/Xunit/Xunit.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.Xunit; +namespace Fallout.Application.Tools.Xunit; ///

xUnit.net is a free, open source, community-focused unit testing tool for the .NET Framework. Written by the original inventor of NUnit v2, xUnit.net is the latest technology for unit testing C#, F#, VB.NET and other .NET languages. xUnit.net works with ReSharper, CodeRush, TestDriven.NET and Xamarin. It is part of the .NET Foundation, and operates under their code of conduct. It is licensed under Apache 2 (an OSI approved license).

For more details, visit the official website.

[ExcludeFromCodeCoverage] @@ -27,13 +27,13 @@ public partial class XunitTasks : ToolTasks, IRequireNuGetPackage ///

xUnit.net is a free, open source, community-focused unit testing tool for the .NET Framework. Written by the original inventor of NUnit v2, xUnit.net is the latest technology for unit testing C#, F#, VB.NET and other .NET languages. xUnit.net works with ReSharper, CodeRush, TestDriven.NET and Xamarin. It is part of the .NET Foundation, and operates under their code of conduct. It is licensed under Apache 2 (an OSI approved license).

For more details, visit the official website.

///

This is a CLI wrapper with fluent API that allows to modify the following arguments:

  • <targetAssemblyWithConfigs> via
  • - via
  • - via
  • -appdomains via
  • -class via
  • -debug via
  • -diagnostics via
  • -failskips via
  • -maxthreads via
  • -method via
  • -namespace via
  • -noautoreporters via
  • -nocolor via
  • -nologo via
  • -noshadow via
  • -notrait via
  • -parallel via
  • -pause via
  • -serialize via
  • -stoponfail via
  • -trait via
  • -wait via
public static IReadOnlyCollection Xunit2(Xunit2Settings options = null) => new XunitTasks().Run(options); - /// + /// public static IReadOnlyCollection Xunit2(Configure configurator) => new XunitTasks().Run(configurator.Invoke(new Xunit2Settings())); - /// + /// public static IEnumerable<(Xunit2Settings Settings, IReadOnlyCollection Output)> Xunit2(CombinatorialConfigure configurator, int degreeOfParallelism = 1, bool completeOnFailure = false) => configurator.Invoke(Xunit2, degreeOfParallelism, completeOnFailure); } #region Xunit2Settings -/// +/// [ExcludeFromCodeCoverage] [Command(Type = typeof(XunitTasks), Command = nameof(XunitTasks.Xunit2))] public partial class Xunit2Settings : ToolOptions, IToolOptionsWithFramework @@ -85,7 +85,7 @@ public partial class Xunit2Settings : ToolOptions, IToolOptionsWithFramework } #endregion #region Xunit2SettingsExtensions -/// +/// [ExcludeFromCodeCoverage] public static partial class Xunit2SettingsExtensions { diff --git a/src/Fallout.Common/Tools/Xunit/Xunit2SettingsExtensions.cs b/src/Fallout.Common/Tools/Xunit/Xunit2SettingsExtensions.cs index f2adb7fa1..d9d7c7374 100644 --- a/src/Fallout.Common/Tools/Xunit/Xunit2SettingsExtensions.cs +++ b/src/Fallout.Common/Tools/Xunit/Xunit2SettingsExtensions.cs @@ -2,7 +2,7 @@ using System.Collections.Generic; using System.Linq; -namespace Fallout.Common.Tools.Xunit; +namespace Fallout.Application.Tools.Xunit; partial class Xunit2SettingsExtensions { diff --git a/src/Fallout.Common/Tools/Xunit/XunitTasks.cs b/src/Fallout.Common/Tools/Xunit/XunitTasks.cs index d04c738f9..03277d273 100644 --- a/src/Fallout.Common/Tools/Xunit/XunitTasks.cs +++ b/src/Fallout.Common/Tools/Xunit/XunitTasks.cs @@ -1,8 +1,10 @@ using System; using System.Linq; -using Fallout.Common.Tooling; +using Fallout.Application.Tooling; +using Fallout.Infrastructure.Tooling; +using Fallout.Common; -namespace Fallout.Common.Tools.Xunit; +namespace Fallout.Application.Tools.Xunit; partial class XunitTasks { diff --git a/src/Fallout.Components/Configuration.cs b/src/Fallout.Components/Configuration.cs index 6e1455f1e..16495a695 100644 --- a/src/Fallout.Components/Configuration.cs +++ b/src/Fallout.Components/Configuration.cs @@ -1,7 +1,7 @@ using System; using System.ComponentModel; using System.Linq; -using Fallout.Common.Tooling; +using Fallout.Application.Tooling; namespace Fallout.Application.Components; diff --git a/src/Fallout.Components/ICompile.cs b/src/Fallout.Components/ICompile.cs index e40d1d084..0f5aa1bd2 100644 --- a/src/Fallout.Components/ICompile.cs +++ b/src/Fallout.Components/ICompile.cs @@ -2,12 +2,12 @@ using System.Collections.Generic; using System.Linq; using Fallout.Solutions; -using Fallout.Common.Tooling; -using Fallout.Common.Tools.DotNet; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; -using static Fallout.Common.Tools.DotNet.DotNetTasks; +using static Fallout.Application.Tools.DotNet.DotNetTasks; using Fallout.Application; +using Fallout.Application.Tools.DotNet; +using Fallout.Application.Tooling; namespace Fallout.Application.Components; diff --git a/src/Fallout.Components/ICreateGitHubRelease.cs b/src/Fallout.Components/ICreateGitHubRelease.cs index 621e1658c..92a5b1d22 100644 --- a/src/Fallout.Components/ICreateGitHubRelease.cs +++ b/src/Fallout.Components/ICreateGitHubRelease.cs @@ -7,10 +7,10 @@ using Fallout.Common.ChangeLog; using Fallout.Common.CI.GitHubActions; using Fallout.Common.IO; -using Fallout.Common.Tools.GitHub; using Fallout.Common.Utilities; using Octokit; using Fallout.Application; +using Fallout.Application.Tools.GitHub; namespace Fallout.Application.Components; diff --git a/src/Fallout.Components/IGlobalTool.cs b/src/Fallout.Components/IGlobalTool.cs index bdd0b146d..d6273ec41 100644 --- a/src/Fallout.Components/IGlobalTool.cs +++ b/src/Fallout.Components/IGlobalTool.cs @@ -1,9 +1,9 @@ using System; using System.IO; using System.Linq; -using Fallout.Common.Tools.DotNet; -using static Fallout.Common.Tools.DotNet.DotNetTasks; +using static Fallout.Application.Tools.DotNet.DotNetTasks; using Fallout.Application; +using Fallout.Application.Tools.DotNet; namespace Fallout.Application.Components; diff --git a/src/Fallout.Components/IHasGitVersion.cs b/src/Fallout.Components/IHasGitVersion.cs index f37b9cece..81aa42d1f 100644 --- a/src/Fallout.Components/IHasGitVersion.cs +++ b/src/Fallout.Components/IHasGitVersion.cs @@ -1,7 +1,7 @@ using System; using System.Linq; -using Fallout.Common.Tools.GitVersion; using Fallout.Application; +using Fallout.Application.Tools.GitVersion; namespace Fallout.Application.Components; diff --git a/src/Fallout.Components/IHasNerdbankGitVersioning.cs b/src/Fallout.Components/IHasNerdbankGitVersioning.cs index 4bb2e67cb..bf86acad9 100644 --- a/src/Fallout.Components/IHasNerdbankGitVersioning.cs +++ b/src/Fallout.Components/IHasNerdbankGitVersioning.cs @@ -1,7 +1,7 @@ using System; using System.Linq; -using Fallout.Common.Tools.NerdbankGitVersioning; using Fallout.Application; +using Fallout.Application.Tools.NerdbankGitVersioning; namespace Fallout.Application.Components; diff --git a/src/Fallout.Components/IPack.cs b/src/Fallout.Components/IPack.cs index 693f66ad5..7099d72e6 100644 --- a/src/Fallout.Components/IPack.cs +++ b/src/Fallout.Components/IPack.cs @@ -1,12 +1,12 @@ using System; using System.Linq; using Fallout.Common.IO; -using Fallout.Common.Tooling; -using Fallout.Common.Tools.DotNet; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; -using static Fallout.Common.Tools.DotNet.DotNetTasks; +using static Fallout.Application.Tools.DotNet.DotNetTasks; using Fallout.Application; +using Fallout.Application.Tools.DotNet; +using Fallout.Application.Tooling; namespace Fallout.Application.Components; diff --git a/src/Fallout.Components/IPublish.cs b/src/Fallout.Components/IPublish.cs index 92e65db14..4704fe888 100644 --- a/src/Fallout.Components/IPublish.cs +++ b/src/Fallout.Components/IPublish.cs @@ -5,12 +5,12 @@ using System.Linq; using Fallout.Common; using Fallout.Common.IO; -using Fallout.Common.Tooling; -using Fallout.Common.Tools.DotNet; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; -using static Fallout.Common.Tools.DotNet.DotNetTasks; +using static Fallout.Application.Tools.DotNet.DotNetTasks; using Fallout.Application; +using Fallout.Application.Tools.DotNet; +using Fallout.Application.Tooling; namespace Fallout.Application.Components; diff --git a/src/Fallout.Components/IReportCoverage.cs b/src/Fallout.Components/IReportCoverage.cs index 147ca1590..64e732e2e 100644 --- a/src/Fallout.Components/IReportCoverage.cs +++ b/src/Fallout.Components/IReportCoverage.cs @@ -3,14 +3,14 @@ using System.Linq; using Fallout.Common.CI.AzurePipelines; using Fallout.Common.IO; -using Fallout.Common.Tooling; -using Fallout.Common.Tools.Codecov; -using Fallout.Common.Tools.ReportGenerator; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; -using static Fallout.Common.Tools.Codecov.CodecovTasks; -using static Fallout.Common.Tools.ReportGenerator.ReportGeneratorTasks; +using static Fallout.Application.Tools.Codecov.CodecovTasks; +using static Fallout.Application.Tools.ReportGenerator.ReportGeneratorTasks; using Fallout.Application; +using Fallout.Application.Tools.Codecov; +using Fallout.Application.Tools.ReportGenerator; +using Fallout.Application.Tooling; namespace Fallout.Application.Components; diff --git a/src/Fallout.Components/IRestore.cs b/src/Fallout.Components/IRestore.cs index 9e5be348f..41a93180a 100644 --- a/src/Fallout.Components/IRestore.cs +++ b/src/Fallout.Components/IRestore.cs @@ -1,9 +1,9 @@ using System; using System.Linq; -using Fallout.Common.Tooling; -using Fallout.Common.Tools.DotNet; -using static Fallout.Common.Tools.DotNet.DotNetTasks; +using static Fallout.Application.Tools.DotNet.DotNetTasks; using Fallout.Application; +using Fallout.Application.Tools.DotNet; +using Fallout.Application.Tooling; namespace Fallout.Application.Components; diff --git a/src/Fallout.Components/ISignPackages.cs b/src/Fallout.Components/ISignPackages.cs index 379bdfc09..f1b7d183b 100644 --- a/src/Fallout.Components/ISignPackages.cs +++ b/src/Fallout.Components/ISignPackages.cs @@ -5,8 +5,9 @@ using Fallout.Common.CI.AppVeyor; using Fallout.Common.IO; using Fallout.Common.Utilities.Collections; -using static Fallout.Common.Tools.SignPath.SignPathTasks; +using static Fallout.Application.Tools.SignPath.SignPathTasks; using Fallout.Application; +using Fallout.Application.Tools.SignPath; namespace Fallout.Application.Components; diff --git a/src/Fallout.Components/ITest.cs b/src/Fallout.Components/ITest.cs index b7659f5d6..710dc9fab 100644 --- a/src/Fallout.Components/ITest.cs +++ b/src/Fallout.Components/ITest.cs @@ -7,13 +7,13 @@ using Fallout.Common.CI.TeamCity; using Fallout.Common.IO; using Fallout.Solutions; -using Fallout.Common.Tooling; -using Fallout.Common.Tools.Coverlet; -using Fallout.Common.Tools.DotNet; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; -using static Fallout.Common.Tools.DotNet.DotNetTasks; +using static Fallout.Application.Tools.DotNet.DotNetTasks; using Fallout.Application; +using Fallout.Application.Tools.DotNet; +using Fallout.Application.Tooling; +using Fallout.Application.Tools.Coverlet; namespace Fallout.Application.Components; diff --git a/src/Fallout.MSBuildTasks/EmbedPackagesForSelfContainedTask.cs b/src/Fallout.MSBuildTasks/EmbedPackagesForSelfContainedTask.cs index 6304e11e5..8152e77f9 100644 --- a/src/Fallout.MSBuildTasks/EmbedPackagesForSelfContainedTask.cs +++ b/src/Fallout.MSBuildTasks/EmbedPackagesForSelfContainedTask.cs @@ -1,10 +1,10 @@ -using System; +using System; using System.IO; using System.Linq; using Microsoft.Build.Framework; using Microsoft.Build.Utilities; -using Fallout.Common.Tooling; using Fallout.Common.Utilities; +using Fallout.Infrastructure.Tooling; namespace Fallout.MSBuildTasks; diff --git a/src/Fallout.MSBuildTasks/PackPackageToolsTask.cs b/src/Fallout.MSBuildTasks/PackPackageToolsTask.cs index 4de298bed..7ff299d9c 100644 --- a/src/Fallout.MSBuildTasks/PackPackageToolsTask.cs +++ b/src/Fallout.MSBuildTasks/PackPackageToolsTask.cs @@ -4,8 +4,8 @@ using System.Linq; using Microsoft.Build.Framework; using Microsoft.Build.Utilities; -using Fallout.Common.Tooling; using static Fallout.Common.IO.PathConstruction; +using Fallout.Infrastructure.Tooling; namespace Fallout.MSBuildTasks; diff --git a/src/Fallout.ProjectModel/ProjectModelTasks.cs b/src/Fallout.ProjectModel/ProjectModelTasks.cs index 65e604ae3..68736c69c 100644 --- a/src/Fallout.ProjectModel/ProjectModelTasks.cs +++ b/src/Fallout.ProjectModel/ProjectModelTasks.cs @@ -1,16 +1,16 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Runtime.CompilerServices; using Microsoft.Build.Evaluation; using Microsoft.Build.Locator; using Fallout.Common.IO; -using Fallout.Common.Tooling; using Fallout.Common.Utilities; using Serilog; #pragma warning disable CA2255 using Fallout.Common; +using Fallout.Application.Tooling; namespace Fallout.Solutions; diff --git a/src/Fallout.Tooling.Generator/Generators/DataClassGenerator.cs b/src/Fallout.Tooling.Generator/Generators/DataClassGenerator.cs index cf53c541c..8d5c8f0d6 100644 --- a/src/Fallout.Tooling.Generator/Generators/DataClassGenerator.cs +++ b/src/Fallout.Tooling.Generator/Generators/DataClassGenerator.cs @@ -2,10 +2,10 @@ using System.Linq; using Fallout.CodeGeneration.Model; using Fallout.CodeGeneration.Writers; -using Fallout.Common.Tooling; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; using Serilog; +using Fallout.Application.Tooling; // ReSharper disable UnusedMethodReturnValue.Local diff --git a/src/Fallout.Tooling/ArgumentStringHandler.cs b/src/Fallout.Tooling/ArgumentStringHandler.cs index db3542d21..97836342c 100644 --- a/src/Fallout.Tooling/ArgumentStringHandler.cs +++ b/src/Fallout.Tooling/ArgumentStringHandler.cs @@ -1,4 +1,4 @@ -#if NET6_0_OR_GREATER +#if NET6_0_OR_GREATER using System; using System.Collections.Generic; @@ -6,8 +6,9 @@ using System.Runtime.CompilerServices; using Fallout.Common.IO; using Fallout.Common.Utilities; +using Fallout.Common; -namespace Fallout.Common.Tooling; +namespace Fallout.Application.Tooling; [InterpolatedStringHandler] public ref struct ArgumentStringHandler diff --git a/src/Fallout.Tooling/Configure.cs b/src/Fallout.Tooling/Configure.cs index 15014593d..a732bb34c 100644 --- a/src/Fallout.Tooling/Configure.cs +++ b/src/Fallout.Tooling/Configure.cs @@ -3,8 +3,9 @@ using System.Collections.Generic; using System.Linq; using Fallout.Common.Utilities.Collections; +using Fallout.Infrastructure.Tooling; -namespace Fallout.Common.Tooling; +namespace Fallout.Application.Tooling; public delegate T Configure(T options); diff --git a/src/Fallout.Tooling/DelegateHelper.cs b/src/Fallout.Tooling/DelegateHelper.cs index 5325f38b7..3d47d82b1 100644 --- a/src/Fallout.Tooling/DelegateHelper.cs +++ b/src/Fallout.Tooling/DelegateHelper.cs @@ -1,10 +1,10 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Text.Json; using Fallout.Common.Utilities; -namespace Fallout.Common.Tooling; +namespace Fallout.Application.Tooling; public static class DelegateHelper { diff --git a/src/Fallout.Tooling/Enumeration.cs b/src/Fallout.Tooling/Enumeration.cs index 1bc9711bb..d94f9145e 100644 --- a/src/Fallout.Tooling/Enumeration.cs +++ b/src/Fallout.Tooling/Enumeration.cs @@ -5,8 +5,9 @@ using System.Linq; using System.Reflection; using Fallout.Common.Utilities; +using Fallout.Common; -namespace Fallout.Common.Tooling; +namespace Fallout.Application.Tooling; [AttributeUsage(AttributeTargets.Field)] public class EnumValueAttribute : Attribute diff --git a/src/Fallout.Tooling/EnumerationJsonConverter.cs b/src/Fallout.Tooling/EnumerationJsonConverter.cs index 01ec7301a..b52b069c9 100644 --- a/src/Fallout.Tooling/EnumerationJsonConverter.cs +++ b/src/Fallout.Tooling/EnumerationJsonConverter.cs @@ -4,8 +4,9 @@ using System.Text.Json; using System.Text.Json.Serialization; using Fallout.Common.Utilities; +using Fallout.Common; -namespace Fallout.Common.Tooling; +namespace Fallout.Application.Tooling; /// /// Bridges subclasses across the System.Text.Json boundary. diff --git a/src/Fallout.Tooling/IProcess.cs b/src/Fallout.Tooling/IProcess.cs index 09e7230c6..71471a765 100644 --- a/src/Fallout.Tooling/IProcess.cs +++ b/src/Fallout.Tooling/IProcess.cs @@ -1,9 +1,9 @@ -using System; +using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; -namespace Fallout.Common.Tooling; +namespace Fallout.Application.Tooling; /// /// Abstraction for . diff --git a/src/Fallout.Tooling/IProcessRunner.cs b/src/Fallout.Tooling/IProcessRunner.cs index 040f89ec4..78f8c2ffc 100644 --- a/src/Fallout.Tooling/IProcessRunner.cs +++ b/src/Fallout.Tooling/IProcessRunner.cs @@ -1,7 +1,8 @@ using System; using System.Diagnostics; +using Fallout.Infrastructure.Tooling; -namespace Fallout.Common.Tooling; +namespace Fallout.Application.Tooling; /// /// The process-execution port (ADR-0006 step 3). Abstracts the single impure step of running a tool — diff --git a/src/Fallout.Tooling/NpmToolPathResolver.cs b/src/Fallout.Tooling/NpmToolPathResolver.cs index d94f91d66..6da660b8a 100644 --- a/src/Fallout.Tooling/NpmToolPathResolver.cs +++ b/src/Fallout.Tooling/NpmToolPathResolver.cs @@ -1,8 +1,9 @@ -using System; +using System; using System.Linq; using Fallout.Common.IO; +using Fallout.Common; -namespace Fallout.Common.Tooling; +namespace Fallout.Infrastructure.Tooling; public static class NpmToolPathResolver { diff --git a/src/Fallout.Tooling/NpmVersionResolver.cs b/src/Fallout.Tooling/NpmVersionResolver.cs index 314165e71..578a4e916 100644 --- a/src/Fallout.Tooling/NpmVersionResolver.cs +++ b/src/Fallout.Tooling/NpmVersionResolver.cs @@ -2,7 +2,7 @@ using System.Text.Json.Nodes; using System.Threading.Tasks; -namespace Fallout.Common.Tooling; +namespace Fallout.Infrastructure.Tooling; public static class NpmVersionResolver { diff --git a/src/Fallout.Tooling/NuGetPackageResolver.cs b/src/Fallout.Tooling/NuGetPackageResolver.cs index 3e1372dba..50dabff67 100644 --- a/src/Fallout.Tooling/NuGetPackageResolver.cs +++ b/src/Fallout.Tooling/NuGetPackageResolver.cs @@ -9,8 +9,9 @@ using Fallout.Common.IO; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; +using Fallout.Common; -namespace Fallout.Common.Tooling; +namespace Fallout.Infrastructure.Tooling; public static class NuGetPackageResolver { diff --git a/src/Fallout.Tooling/NuGetToolPathResolver.cs b/src/Fallout.Tooling/NuGetToolPathResolver.cs index ec9d7f10c..69d00aaa1 100644 --- a/src/Fallout.Tooling/NuGetToolPathResolver.cs +++ b/src/Fallout.Tooling/NuGetToolPathResolver.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.IO; using System.Linq; @@ -6,8 +6,9 @@ using System.Runtime.Versioning; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; +using Fallout.Common; -namespace Fallout.Common.Tooling; +namespace Fallout.Infrastructure.Tooling; public static class NuGetToolPathResolver { diff --git a/src/Fallout.Tooling/NuGetVersionResolver.cs b/src/Fallout.Tooling/NuGetVersionResolver.cs index 89bdac61e..9d4bbd775 100644 --- a/src/Fallout.Tooling/NuGetVersionResolver.cs +++ b/src/Fallout.Tooling/NuGetVersionResolver.cs @@ -3,8 +3,9 @@ using System.Text.Json.Nodes; using System.Threading.Tasks; using Fallout.Common.Utilities; +using Fallout.Common; -namespace Fallout.Common.Tooling; +namespace Fallout.Infrastructure.Tooling; public static class NuGetVersionResolver { diff --git a/src/Fallout.Tooling/ObjectFromFieldConverter.cs b/src/Fallout.Tooling/ObjectFromFieldConverter.cs index bd34b33f7..61b8e17c6 100644 --- a/src/Fallout.Tooling/ObjectFromFieldConverter.cs +++ b/src/Fallout.Tooling/ObjectFromFieldConverter.cs @@ -4,8 +4,9 @@ using System.Text.Json; using System.Text.Json.Serialization; using Fallout.Common.Utilities; +using Fallout.Common; -namespace Fallout.Common.Tooling; +namespace Fallout.Application.Tooling; /// /// Redirects (de)serialization of a type through one of its non-public fields. diff --git a/src/Fallout.Tooling/Options.Apply.cs b/src/Fallout.Tooling/Options.Apply.cs index a722484a7..9230fbec7 100644 --- a/src/Fallout.Tooling/Options.Apply.cs +++ b/src/Fallout.Tooling/Options.Apply.cs @@ -1,6 +1,6 @@ using System.Linq; -namespace Fallout.Common.Tooling; +namespace Fallout.Application.Tooling; partial class OptionsExtensions { diff --git a/src/Fallout.Tooling/Options.Combinatorial.cs b/src/Fallout.Tooling/Options.Combinatorial.cs index c432334c9..a198aa16f 100644 --- a/src/Fallout.Tooling/Options.Combinatorial.cs +++ b/src/Fallout.Tooling/Options.Combinatorial.cs @@ -2,7 +2,7 @@ using System.Collections.Generic; using System.Linq; -namespace Fallout.Common.Tooling; +namespace Fallout.Application.Tooling; partial class OptionsExtensions { diff --git a/src/Fallout.Tooling/Options.Modify.cs b/src/Fallout.Tooling/Options.Modify.cs index f07079db2..e17e4e85b 100644 --- a/src/Fallout.Tooling/Options.Modify.cs +++ b/src/Fallout.Tooling/Options.Modify.cs @@ -1,7 +1,7 @@ using System; using System.Text.Json; -namespace Fallout.Common.Tooling; +namespace Fallout.Application.Tooling; public static partial class OptionsExtensions { diff --git a/src/Fallout.Tooling/Options.When.cs b/src/Fallout.Tooling/Options.When.cs index c5efce54a..d6891e878 100644 --- a/src/Fallout.Tooling/Options.When.cs +++ b/src/Fallout.Tooling/Options.When.cs @@ -1,7 +1,7 @@ using System; using System.Linq; -namespace Fallout.Common.Tooling; +namespace Fallout.Application.Tooling; partial class OptionsExtensions { diff --git a/src/Fallout.Tooling/Options.cs b/src/Fallout.Tooling/Options.cs index 7976f1b65..d653fe718 100644 --- a/src/Fallout.Tooling/Options.cs +++ b/src/Fallout.Tooling/Options.cs @@ -9,8 +9,9 @@ using System.Text.Json.Serialization; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; +using Fallout.Common; -namespace Fallout.Common.Tooling; +namespace Fallout.Application.Tooling; public interface IOptions { diff --git a/src/Fallout.Tooling/Output.cs b/src/Fallout.Tooling/Output.cs index 08d165a05..92fd6ff2d 100644 --- a/src/Fallout.Tooling/Output.cs +++ b/src/Fallout.Tooling/Output.cs @@ -1,7 +1,7 @@ -using System; +using System; using System.Linq; -namespace Fallout.Common.Tooling; +namespace Fallout.Application.Tooling; public struct Output { diff --git a/src/Fallout.Tooling/OutputType.cs b/src/Fallout.Tooling/OutputType.cs index 034f48fde..a63a5fcb1 100644 --- a/src/Fallout.Tooling/OutputType.cs +++ b/src/Fallout.Tooling/OutputType.cs @@ -1,7 +1,7 @@ -using System; +using System; using System.Linq; -namespace Fallout.Common.Tooling; +namespace Fallout.Application.Tooling; public enum OutputType { diff --git a/src/Fallout.Tooling/PaketPackageResolver.cs b/src/Fallout.Tooling/PaketPackageResolver.cs index b7647bbfa..738771e1d 100644 --- a/src/Fallout.Tooling/PaketPackageResolver.cs +++ b/src/Fallout.Tooling/PaketPackageResolver.cs @@ -1,8 +1,9 @@ using System; using System.IO; using System.Linq; +using Fallout.Common; -namespace Fallout.Common.Tooling; +namespace Fallout.Infrastructure.Tooling; // TODO: Add similar methods to NuGetPackageResolver public static class PaketPackageResolver diff --git a/src/Fallout.Tooling/Process2.cs b/src/Fallout.Tooling/Process2.cs index 154ef8fe4..45bbe3b0b 100644 --- a/src/Fallout.Tooling/Process2.cs +++ b/src/Fallout.Tooling/Process2.cs @@ -1,9 +1,10 @@ -using System; +using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; +using Fallout.Application.Tooling; -namespace Fallout.Common.Tooling; +namespace Fallout.Infrastructure.Tooling; public class Process2 : IProcess { diff --git a/src/Fallout.Tooling/ProcessException.cs b/src/Fallout.Tooling/ProcessException.cs index aaa8a9c1f..8cba74220 100644 --- a/src/Fallout.Tooling/ProcessException.cs +++ b/src/Fallout.Tooling/ProcessException.cs @@ -8,7 +8,7 @@ using Serilog; using Serilog.Events; -namespace Fallout.Common.Tooling; +namespace Fallout.Application.Tooling; [Serializable] public class ProcessException : Exception diff --git a/src/Fallout.Tooling/ProcessExtensions.cs b/src/Fallout.Tooling/ProcessExtensions.cs index 40be83ec9..933b4d541 100644 --- a/src/Fallout.Tooling/ProcessExtensions.cs +++ b/src/Fallout.Tooling/ProcessExtensions.cs @@ -4,8 +4,10 @@ using System.Text.Json; using System.Text.Json.Nodes; using Fallout.Common.Utilities; +using Fallout.Application.Tooling; +using Fallout.Common; -namespace Fallout.Common.Tooling; +namespace Fallout.Infrastructure.Tooling; [DebuggerStepThrough] [DebuggerNonUserCode] diff --git a/src/Fallout.Tooling/ProcessTasks.cs b/src/Fallout.Tooling/ProcessTasks.cs index 3a17bd46f..d112c9098 100644 --- a/src/Fallout.Tooling/ProcessTasks.cs +++ b/src/Fallout.Tooling/ProcessTasks.cs @@ -9,8 +9,10 @@ using Fallout.Common.Utilities.Collections; using Serilog; using Serilog.Events; +using Fallout.Application.Tooling; +using Fallout.Common; -namespace Fallout.Common.Tooling; +namespace Fallout.Infrastructure.Tooling; public static class ProcessTasks { diff --git a/src/Fallout.Tooling/SystemProcessRunner.cs b/src/Fallout.Tooling/SystemProcessRunner.cs index 6b0462011..e4a26c9b1 100644 --- a/src/Fallout.Tooling/SystemProcessRunner.cs +++ b/src/Fallout.Tooling/SystemProcessRunner.cs @@ -1,7 +1,8 @@ using System; using System.Diagnostics; +using Fallout.Application.Tooling; -namespace Fallout.Common.Tooling; +namespace Fallout.Infrastructure.Tooling; /// /// Default — spawns a real OS process. This is the infrastructure adapter diff --git a/src/Fallout.Tooling/Tool.cs b/src/Fallout.Tooling/Tool.cs index 83d70f870..327f6e053 100644 --- a/src/Fallout.Tooling/Tool.cs +++ b/src/Fallout.Tooling/Tool.cs @@ -2,7 +2,7 @@ using System.Collections.Generic; using System.Linq; -namespace Fallout.Common.Tooling; +namespace Fallout.Application.Tooling; #if NET6_0_OR_GREATER public delegate IReadOnlyCollection Tool( diff --git a/src/Fallout.Tooling/ToolExecutor.cs b/src/Fallout.Tooling/ToolExecutor.cs index 1b443019c..ed373ea3b 100644 --- a/src/Fallout.Tooling/ToolExecutor.cs +++ b/src/Fallout.Tooling/ToolExecutor.cs @@ -1,8 +1,9 @@ using System; using System.Collections.Generic; using System.Linq; +using Fallout.Application.Tooling; -namespace Fallout.Common.Tooling; +namespace Fallout.Infrastructure.Tooling; internal class ToolExecutor { diff --git a/src/Fallout.Tooling/ToolOptions.Arguments.cs b/src/Fallout.Tooling/ToolOptions.Arguments.cs index 570f05e91..3c4be01b3 100644 --- a/src/Fallout.Tooling/ToolOptions.Arguments.cs +++ b/src/Fallout.Tooling/ToolOptions.Arguments.cs @@ -6,8 +6,9 @@ using System.Text.Json.Nodes; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; +using Fallout.Common; -namespace Fallout.Common.Tooling; +namespace Fallout.Application.Tooling; public class CommandAttribute : Attribute { diff --git a/src/Fallout.Tooling/ToolOptions.ExitHandler.cs b/src/Fallout.Tooling/ToolOptions.ExitHandler.cs index 9c74d30f6..a39102b00 100644 --- a/src/Fallout.Tooling/ToolOptions.ExitHandler.cs +++ b/src/Fallout.Tooling/ToolOptions.ExitHandler.cs @@ -1,6 +1,6 @@ -using System; +using System; -namespace Fallout.Common.Tooling; +namespace Fallout.Application.Tooling; partial class ToolOptions { diff --git a/src/Fallout.Tooling/ToolOptions.Logger.cs b/src/Fallout.Tooling/ToolOptions.Logger.cs index cb4718525..87616efc1 100644 --- a/src/Fallout.Tooling/ToolOptions.Logger.cs +++ b/src/Fallout.Tooling/ToolOptions.Logger.cs @@ -1,8 +1,9 @@ -using System; +using System; using System.Reflection; using Fallout.Common.Utilities; +using Fallout.Common; -namespace Fallout.Common.Tooling; +namespace Fallout.Application.Tooling; partial class ToolOptions { diff --git a/src/Fallout.Tooling/ToolOptions.Properties.Dropin.cs b/src/Fallout.Tooling/ToolOptions.Properties.Dropin.cs index 20a0a7f69..6922926e3 100644 --- a/src/Fallout.Tooling/ToolOptions.Properties.Dropin.cs +++ b/src/Fallout.Tooling/ToolOptions.Properties.Dropin.cs @@ -1,8 +1,8 @@ -using System; +using System; // ReSharper disable ArrangeMethodOrOperatorBody -namespace Fallout.Common.Tooling; +namespace Fallout.Application.Tooling; partial class ToolOptionsExtensions { diff --git a/src/Fallout.Tooling/ToolOptions.Properties.cs b/src/Fallout.Tooling/ToolOptions.Properties.cs index f9e89f492..38a2b0669 100644 --- a/src/Fallout.Tooling/ToolOptions.Properties.cs +++ b/src/Fallout.Tooling/ToolOptions.Properties.cs @@ -4,7 +4,7 @@ using Serilog.Events; // ReSharper disable ArrangeMethodOrOperatorBody -namespace Fallout.Common.Tooling; +namespace Fallout.Application.Tooling; partial class ToolOptions { diff --git a/src/Fallout.Tooling/ToolOptions.Secrets.cs b/src/Fallout.Tooling/ToolOptions.Secrets.cs index 6ae4bea60..0c3bce2ce 100644 --- a/src/Fallout.Tooling/ToolOptions.Secrets.cs +++ b/src/Fallout.Tooling/ToolOptions.Secrets.cs @@ -2,8 +2,9 @@ using System.Linq; using System.Reflection; using Fallout.Common.Utilities; +using Fallout.Common; -namespace Fallout.Common.Tooling; +namespace Fallout.Application.Tooling; partial class ToolOptions { diff --git a/src/Fallout.Tooling/ToolOptions.cs b/src/Fallout.Tooling/ToolOptions.cs index 800baf838..8e65826d4 100644 --- a/src/Fallout.Tooling/ToolOptions.cs +++ b/src/Fallout.Tooling/ToolOptions.cs @@ -1,10 +1,11 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Reflection; using Fallout.Common.Utilities; +using Fallout.Common; -namespace Fallout.Common.Tooling; +namespace Fallout.Application.Tooling; // TODO: rename to TaskOptions / CommandOptions ? public abstract partial class ToolOptions : Options diff --git a/src/Fallout.Tooling/ToolPathResolver.cs b/src/Fallout.Tooling/ToolPathResolver.cs index 15dc0bb43..27c7d3d64 100644 --- a/src/Fallout.Tooling/ToolPathResolver.cs +++ b/src/Fallout.Tooling/ToolPathResolver.cs @@ -2,8 +2,10 @@ using System.IO; using System.Linq; using Fallout.Common.Utilities; +using Fallout.Application.Tooling; +using Fallout.Common; -namespace Fallout.Common.Tooling; +namespace Fallout.Infrastructure.Tooling; public static class ToolPathResolver { diff --git a/src/Fallout.Tooling/ToolRequirement.cs b/src/Fallout.Tooling/ToolRequirement.cs index 21e591c3e..42d3095b5 100644 --- a/src/Fallout.Tooling/ToolRequirement.cs +++ b/src/Fallout.Tooling/ToolRequirement.cs @@ -1,7 +1,8 @@ -using System; +using System; using System.Linq; +using Fallout.Infrastructure.Tooling; -namespace Fallout.Common.Tooling; +namespace Fallout.Application.Tooling; public interface IRequireTool; public interface IRequireToolWithVersion; diff --git a/src/Fallout.Tooling/ToolResolver.cs b/src/Fallout.Tooling/ToolResolver.cs index c3b0c406f..32e4303ed 100644 --- a/src/Fallout.Tooling/ToolResolver.cs +++ b/src/Fallout.Tooling/ToolResolver.cs @@ -1,7 +1,9 @@ using System; using System.Linq; +using Fallout.Infrastructure.Tooling; +using Fallout.Common; -namespace Fallout.Common.Tooling; +namespace Fallout.Application.Tooling; public static class ToolResolver { diff --git a/src/Fallout.Tooling/ToolTasks.ExitHandler.cs b/src/Fallout.Tooling/ToolTasks.ExitHandler.cs index f2dc6d02f..2c3fe85ac 100644 --- a/src/Fallout.Tooling/ToolTasks.ExitHandler.cs +++ b/src/Fallout.Tooling/ToolTasks.ExitHandler.cs @@ -1,7 +1,8 @@ -using System; +using System; using System.Linq; +using Fallout.Infrastructure.Tooling; -namespace Fallout.Common.Tooling; +namespace Fallout.Application.Tooling; public abstract partial class ToolTasks { diff --git a/src/Fallout.Tooling/ToolTasks.Logger.cs b/src/Fallout.Tooling/ToolTasks.Logger.cs index c15691ae2..6e42d7ce6 100644 --- a/src/Fallout.Tooling/ToolTasks.Logger.cs +++ b/src/Fallout.Tooling/ToolTasks.Logger.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Linq; using System.Reflection; using System.Text.RegularExpressions; @@ -6,7 +6,7 @@ using Serilog; using Serilog.Events; -namespace Fallout.Common.Tooling; +namespace Fallout.Application.Tooling; public class LogErrorAsStandard : Attribute; diff --git a/src/Fallout.Tooling/ToolTasks.Run.cs b/src/Fallout.Tooling/ToolTasks.Run.cs index 1baad0f74..a722f50f6 100644 --- a/src/Fallout.Tooling/ToolTasks.Run.cs +++ b/src/Fallout.Tooling/ToolTasks.Run.cs @@ -1,10 +1,11 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; +using Fallout.Infrastructure.Tooling; -namespace Fallout.Common.Tooling; +namespace Fallout.Application.Tooling; partial class ToolTasks { diff --git a/src/Fallout.Tooling/ToolTasks.ToolPath.cs b/src/Fallout.Tooling/ToolTasks.ToolPath.cs index 26a71c2ad..3b73640b7 100644 --- a/src/Fallout.Tooling/ToolTasks.ToolPath.cs +++ b/src/Fallout.Tooling/ToolTasks.ToolPath.cs @@ -1,8 +1,10 @@ -using System; +using System; using System.Reflection; using Fallout.Common.Utilities; +using Fallout.Infrastructure.Tooling; +using Fallout.Common; -namespace Fallout.Common.Tooling; +namespace Fallout.Application.Tooling; /// Marks a class as CLI tool wrapper. [AttributeUsage(AttributeTargets.Class)] diff --git a/src/Fallout.Tooling/ToolTasks.cs b/src/Fallout.Tooling/ToolTasks.cs index 3bd6fb0bc..226978b24 100644 --- a/src/Fallout.Tooling/ToolTasks.cs +++ b/src/Fallout.Tooling/ToolTasks.cs @@ -1,8 +1,8 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; -namespace Fallout.Common.Tooling; +namespace Fallout.Application.Tooling; public abstract partial class ToolTasks { diff --git a/src/Fallout.Tooling/ToolingExtensions.cs b/src/Fallout.Tooling/ToolingExtensions.cs index 640bada62..03639e50b 100644 --- a/src/Fallout.Tooling/ToolingExtensions.cs +++ b/src/Fallout.Tooling/ToolingExtensions.cs @@ -1,12 +1,13 @@ -using System; +using System; using System.Linq; using Fallout.Common.IO; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; using Serilog; using Serilog.Events; +using Fallout.Common; -namespace Fallout.Common.Tooling; +namespace Fallout.Infrastructure.Tooling; public static class ToolingExtensions { diff --git a/tests/Fallout.Build.Tests/SchemaUtilityTest.cs b/tests/Fallout.Build.Tests/SchemaUtilityTest.cs index be531bd94..184d6e58b 100644 --- a/tests/Fallout.Build.Tests/SchemaUtilityTest.cs +++ b/tests/Fallout.Build.Tests/SchemaUtilityTest.cs @@ -3,12 +3,12 @@ using System.Linq; using System.Threading.Tasks; using Fallout.Common.IO; -using Fallout.Common.Tooling; using Fallout.Common.Utilities; using VerifyXunit; using Xunit; using Fallout.Application.Execution; using Fallout.Application; +using Fallout.Application.Tooling; #pragma warning disable CS0169 // Field is never used diff --git a/tests/Fallout.Cli.Tests/cake-scripts/default-target.verified.cs b/tests/Fallout.Cli.Tests/cake-scripts/default-target.verified.cs index 1f4570e26..9859485a1 100644 --- a/tests/Fallout.Cli.Tests/cake-scripts/default-target.verified.cs +++ b/tests/Fallout.Cli.Tests/cake-scripts/default-target.verified.cs @@ -15,18 +15,18 @@ using Fallout.Common.Tools.SignTool; using Fallout.Common.Utilities.Collections; using Fallout.Application; -using Fallout.Common.Tools.DotNet; -using Fallout.Common.Tools.MSBuild; -using Fallout.Common.Tools.SignTool; -using Fallout.Common.Tools.NuGet; +using Fallout.Application.Tools.DotNet; +using Fallout.Application.Tools.MSBuild; +using Fallout.Application.Tools.SignTool; +using Fallout.Application.Tools.NuGet; using Fallout.Common.IO; using Fallout.Common.IO; using Fallout.Common; using static Fallout.Application.ControlFlow; -using static Fallout.Common.Tools.DotNet.DotNetTasks; -using static Fallout.Common.Tools.MSBuild.MSBuildTasks; -using static Fallout.Common.Tools.SignTool.SignToolTasks; -using static Fallout.Common.Tools.NuGet.NuGetTasks; +using static Fallout.Application.Tools.DotNet.DotNetTasks; +using static Fallout.Application.Tools.MSBuild.MSBuildTasks; +using static Fallout.Application.Tools.SignTool.SignToolTasks; +using static Fallout.Application.Tools.NuGet.NuGetTasks; using static Fallout.Common.IO.TextTasks; using static Fallout.Common.IO.XmlTasks; using static Fallout.Common.EnvironmentInfo; diff --git a/tests/Fallout.Cli.Tests/cake-scripts/globbing.verified.cs b/tests/Fallout.Cli.Tests/cake-scripts/globbing.verified.cs index b8af39e71..848a52de1 100644 --- a/tests/Fallout.Cli.Tests/cake-scripts/globbing.verified.cs +++ b/tests/Fallout.Cli.Tests/cake-scripts/globbing.verified.cs @@ -15,18 +15,18 @@ using Fallout.Common.Tools.SignTool; using Fallout.Common.Utilities.Collections; using Fallout.Application; -using Fallout.Common.Tools.DotNet; -using Fallout.Common.Tools.MSBuild; -using Fallout.Common.Tools.SignTool; -using Fallout.Common.Tools.NuGet; +using Fallout.Application.Tools.DotNet; +using Fallout.Application.Tools.MSBuild; +using Fallout.Application.Tools.SignTool; +using Fallout.Application.Tools.NuGet; using Fallout.Common.IO; using Fallout.Common.IO; using Fallout.Common; using static Fallout.Application.ControlFlow; -using static Fallout.Common.Tools.DotNet.DotNetTasks; -using static Fallout.Common.Tools.MSBuild.MSBuildTasks; -using static Fallout.Common.Tools.SignTool.SignToolTasks; -using static Fallout.Common.Tools.NuGet.NuGetTasks; +using static Fallout.Application.Tools.DotNet.DotNetTasks; +using static Fallout.Application.Tools.MSBuild.MSBuildTasks; +using static Fallout.Application.Tools.SignTool.SignToolTasks; +using static Fallout.Application.Tools.NuGet.NuGetTasks; using static Fallout.Common.IO.TextTasks; using static Fallout.Common.IO.XmlTasks; using static Fallout.Common.EnvironmentInfo; diff --git a/tests/Fallout.Cli.Tests/cake-scripts/parameters.verified.cs b/tests/Fallout.Cli.Tests/cake-scripts/parameters.verified.cs index 7cc99b401..80a223e9a 100644 --- a/tests/Fallout.Cli.Tests/cake-scripts/parameters.verified.cs +++ b/tests/Fallout.Cli.Tests/cake-scripts/parameters.verified.cs @@ -15,18 +15,18 @@ using Fallout.Common.Tools.SignTool; using Fallout.Common.Utilities.Collections; using Fallout.Application; -using Fallout.Common.Tools.DotNet; -using Fallout.Common.Tools.MSBuild; -using Fallout.Common.Tools.SignTool; -using Fallout.Common.Tools.NuGet; +using Fallout.Application.Tools.DotNet; +using Fallout.Application.Tools.MSBuild; +using Fallout.Application.Tools.SignTool; +using Fallout.Application.Tools.NuGet; using Fallout.Common.IO; using Fallout.Common.IO; using Fallout.Common; using static Fallout.Application.ControlFlow; -using static Fallout.Common.Tools.DotNet.DotNetTasks; -using static Fallout.Common.Tools.MSBuild.MSBuildTasks; -using static Fallout.Common.Tools.SignTool.SignToolTasks; -using static Fallout.Common.Tools.NuGet.NuGetTasks; +using static Fallout.Application.Tools.DotNet.DotNetTasks; +using static Fallout.Application.Tools.MSBuild.MSBuildTasks; +using static Fallout.Application.Tools.SignTool.SignToolTasks; +using static Fallout.Application.Tools.NuGet.NuGetTasks; using static Fallout.Common.IO.TextTasks; using static Fallout.Common.IO.XmlTasks; using static Fallout.Common.EnvironmentInfo; diff --git a/tests/Fallout.Cli.Tests/cake-scripts/paths.verified.cs b/tests/Fallout.Cli.Tests/cake-scripts/paths.verified.cs index c5d5cb56a..e94247972 100644 --- a/tests/Fallout.Cli.Tests/cake-scripts/paths.verified.cs +++ b/tests/Fallout.Cli.Tests/cake-scripts/paths.verified.cs @@ -15,18 +15,18 @@ using Fallout.Common.Tools.SignTool; using Fallout.Common.Utilities.Collections; using Fallout.Application; -using Fallout.Common.Tools.DotNet; -using Fallout.Common.Tools.MSBuild; -using Fallout.Common.Tools.SignTool; -using Fallout.Common.Tools.NuGet; +using Fallout.Application.Tools.DotNet; +using Fallout.Application.Tools.MSBuild; +using Fallout.Application.Tools.SignTool; +using Fallout.Application.Tools.NuGet; using Fallout.Common.IO; using Fallout.Common.IO; using Fallout.Common; using static Fallout.Application.ControlFlow; -using static Fallout.Common.Tools.DotNet.DotNetTasks; -using static Fallout.Common.Tools.MSBuild.MSBuildTasks; -using static Fallout.Common.Tools.SignTool.SignToolTasks; -using static Fallout.Common.Tools.NuGet.NuGetTasks; +using static Fallout.Application.Tools.DotNet.DotNetTasks; +using static Fallout.Application.Tools.MSBuild.MSBuildTasks; +using static Fallout.Application.Tools.SignTool.SignToolTasks; +using static Fallout.Application.Tools.NuGet.NuGetTasks; using static Fallout.Common.IO.TextTasks; using static Fallout.Common.IO.XmlTasks; using static Fallout.Common.EnvironmentInfo; diff --git a/tests/Fallout.Cli.Tests/cake-scripts/references.verified.cs b/tests/Fallout.Cli.Tests/cake-scripts/references.verified.cs index a0f943d48..7dc851b08 100644 --- a/tests/Fallout.Cli.Tests/cake-scripts/references.verified.cs +++ b/tests/Fallout.Cli.Tests/cake-scripts/references.verified.cs @@ -15,18 +15,18 @@ using Fallout.Common.Tools.SignTool; using Fallout.Common.Utilities.Collections; using Fallout.Application; -using Fallout.Common.Tools.DotNet; -using Fallout.Common.Tools.MSBuild; -using Fallout.Common.Tools.SignTool; -using Fallout.Common.Tools.NuGet; +using Fallout.Application.Tools.DotNet; +using Fallout.Application.Tools.MSBuild; +using Fallout.Application.Tools.SignTool; +using Fallout.Application.Tools.NuGet; using Fallout.Common.IO; using Fallout.Common.IO; using Fallout.Common; using static Fallout.Application.ControlFlow; -using static Fallout.Common.Tools.DotNet.DotNetTasks; -using static Fallout.Common.Tools.MSBuild.MSBuildTasks; -using static Fallout.Common.Tools.SignTool.SignToolTasks; -using static Fallout.Common.Tools.NuGet.NuGetTasks; +using static Fallout.Application.Tools.DotNet.DotNetTasks; +using static Fallout.Application.Tools.MSBuild.MSBuildTasks; +using static Fallout.Application.Tools.SignTool.SignToolTasks; +using static Fallout.Application.Tools.NuGet.NuGetTasks; using static Fallout.Common.IO.TextTasks; using static Fallout.Common.IO.XmlTasks; using static Fallout.Common.EnvironmentInfo; diff --git a/tests/Fallout.Cli.Tests/cake-scripts/targets.verified.cs b/tests/Fallout.Cli.Tests/cake-scripts/targets.verified.cs index 3e4364634..0881b0e1a 100644 --- a/tests/Fallout.Cli.Tests/cake-scripts/targets.verified.cs +++ b/tests/Fallout.Cli.Tests/cake-scripts/targets.verified.cs @@ -15,18 +15,18 @@ using Fallout.Common.Tools.SignTool; using Fallout.Common.Utilities.Collections; using Fallout.Application; -using Fallout.Common.Tools.DotNet; -using Fallout.Common.Tools.MSBuild; -using Fallout.Common.Tools.SignTool; -using Fallout.Common.Tools.NuGet; +using Fallout.Application.Tools.DotNet; +using Fallout.Application.Tools.MSBuild; +using Fallout.Application.Tools.SignTool; +using Fallout.Application.Tools.NuGet; using Fallout.Common.IO; using Fallout.Common.IO; using Fallout.Common; using static Fallout.Application.ControlFlow; -using static Fallout.Common.Tools.DotNet.DotNetTasks; -using static Fallout.Common.Tools.MSBuild.MSBuildTasks; -using static Fallout.Common.Tools.SignTool.SignToolTasks; -using static Fallout.Common.Tools.NuGet.NuGetTasks; +using static Fallout.Application.Tools.DotNet.DotNetTasks; +using static Fallout.Application.Tools.MSBuild.MSBuildTasks; +using static Fallout.Application.Tools.SignTool.SignToolTasks; +using static Fallout.Application.Tools.NuGet.NuGetTasks; using static Fallout.Common.IO.TextTasks; using static Fallout.Common.IO.XmlTasks; using static Fallout.Common.EnvironmentInfo; diff --git a/tests/Fallout.Cli.Tests/cake-scripts/tool-invocation.verified.cs b/tests/Fallout.Cli.Tests/cake-scripts/tool-invocation.verified.cs index e0fe71714..17ffac631 100644 --- a/tests/Fallout.Cli.Tests/cake-scripts/tool-invocation.verified.cs +++ b/tests/Fallout.Cli.Tests/cake-scripts/tool-invocation.verified.cs @@ -15,18 +15,18 @@ using Fallout.Common.Tools.SignTool; using Fallout.Common.Utilities.Collections; using Fallout.Application; -using Fallout.Common.Tools.DotNet; -using Fallout.Common.Tools.MSBuild; -using Fallout.Common.Tools.SignTool; -using Fallout.Common.Tools.NuGet; +using Fallout.Application.Tools.DotNet; +using Fallout.Application.Tools.MSBuild; +using Fallout.Application.Tools.SignTool; +using Fallout.Application.Tools.NuGet; using Fallout.Common.IO; using Fallout.Common.IO; using Fallout.Common; using static Fallout.Application.ControlFlow; -using static Fallout.Common.Tools.DotNet.DotNetTasks; -using static Fallout.Common.Tools.MSBuild.MSBuildTasks; -using static Fallout.Common.Tools.SignTool.SignToolTasks; -using static Fallout.Common.Tools.NuGet.NuGetTasks; +using static Fallout.Application.Tools.DotNet.DotNetTasks; +using static Fallout.Application.Tools.MSBuild.MSBuildTasks; +using static Fallout.Application.Tools.SignTool.SignToolTasks; +using static Fallout.Application.Tools.NuGet.NuGetTasks; using static Fallout.Common.IO.TextTasks; using static Fallout.Common.IO.XmlTasks; using static Fallout.Common.EnvironmentInfo; diff --git a/tests/Fallout.Common.Tests/CI/ConfigurationGenerationTest.cs b/tests/Fallout.Common.Tests/CI/ConfigurationGenerationTest.cs index 8866dbcf5..7d0bd9f06 100644 --- a/tests/Fallout.Common.Tests/CI/ConfigurationGenerationTest.cs +++ b/tests/Fallout.Common.Tests/CI/ConfigurationGenerationTest.cs @@ -9,12 +9,12 @@ using Fallout.Common.CI.GitHubActions; using Fallout.Common.CI.TeamCity; using Fallout.Common.IO; -using Fallout.Common.Tooling; using VerifyXunit; using Xunit; using Fallout.Application.Execution; using Fallout.Application.CI; using Fallout.Application; +using Fallout.Application.Tooling; namespace Fallout.Common.Tests.CI; diff --git a/tests/Fallout.Common.Tests/GitHubTasksTest.cs b/tests/Fallout.Common.Tests/GitHubTasksTest.cs index defc2c1d0..b60ecdfe9 100644 --- a/tests/Fallout.Common.Tests/GitHubTasksTest.cs +++ b/tests/Fallout.Common.Tests/GitHubTasksTest.cs @@ -2,9 +2,9 @@ using System.Linq; using FluentAssertions; using Fallout.Common.IO; -using Fallout.Common.Tools.GitHub; using Xunit; using Fallout.Application.Git; +using Fallout.Application.Tools.GitHub; namespace Fallout.Common.Tests; diff --git a/tests/Fallout.Common.Tests/GitVersionParseTest.cs b/tests/Fallout.Common.Tests/GitVersionParseTest.cs index d78fc964a..b036e5e4e 100644 --- a/tests/Fallout.Common.Tests/GitVersionParseTest.cs +++ b/tests/Fallout.Common.Tests/GitVersionParseTest.cs @@ -4,9 +4,9 @@ // https://github.com/ChrisonSimtian/Fallout/blob/main/LICENSE using FluentAssertions; -using Fallout.Common.Tools.GitVersion; using Fallout.Common.Utilities; using Xunit; +using Fallout.Application.Tools.GitVersion; namespace Fallout.Common.Tests; diff --git a/tests/Fallout.Common.Tests/SettingsTest.cs b/tests/Fallout.Common.Tests/SettingsTest.cs index 1bdff94ab..3c7cb8b94 100644 --- a/tests/Fallout.Common.Tests/SettingsTest.cs +++ b/tests/Fallout.Common.Tests/SettingsTest.cs @@ -4,19 +4,19 @@ using System.Threading.Tasks; using System.Text.Json; using FluentAssertions; -using Fallout.Common.Tools.MSBuild; -using Fallout.Common.Tools.OpenCover; -using Fallout.Common.Tools.Xunit; using Fallout.Common.IO; -using Fallout.Common.Tooling; -using Fallout.Common.Tools.CorFlags; -using Fallout.Common.Tools.Discord; -using Fallout.Common.Tools.Docker; -using Fallout.Common.Tools.DotNet; -using Fallout.Common.Tools.Kubernetes; using Fallout.Common.Utilities; using VerifyXunit; using Xunit; +using Fallout.Application.Tools.DotNet; +using Fallout.Application.Tooling; +using Fallout.Application.Tools.MSBuild; +using Fallout.Application.Tools.Xunit; +using Fallout.Application.Tools.OpenCover; +using Fallout.Application.Tools.CorFlags; +using Fallout.Application.Tools.Docker; +using Fallout.Application.Tools.Discord; +using Fallout.Application.Tools.Kubernetes; namespace Fallout.Common.Tests; diff --git a/tests/Fallout.Tooling.Tests/ArgumentStringHandlerTest.cs b/tests/Fallout.Tooling.Tests/ArgumentStringHandlerTest.cs index b8aa54e4e..ae8f206b3 100644 --- a/tests/Fallout.Tooling.Tests/ArgumentStringHandlerTest.cs +++ b/tests/Fallout.Tooling.Tests/ArgumentStringHandlerTest.cs @@ -1,7 +1,7 @@ using FluentAssertions; using Fallout.Common.IO; -using Fallout.Common.Tooling; using Xunit; +using Fallout.Application.Tooling; // ReSharper disable StringLiteralAsInterpolationArgument diff --git a/tests/Fallout.Tooling.Tests/NuGetPackageResolverTest.cs b/tests/Fallout.Tooling.Tests/NuGetPackageResolverTest.cs index 5f9cee5bd..64ada1706 100644 --- a/tests/Fallout.Tooling.Tests/NuGetPackageResolverTest.cs +++ b/tests/Fallout.Tooling.Tests/NuGetPackageResolverTest.cs @@ -1,8 +1,8 @@ using System.Threading.Tasks; using FluentAssertions; using Fallout.Common.IO; -using Fallout.Common.Tooling; using Xunit; +using Fallout.Infrastructure.Tooling; namespace Fallout.Common.Tests; diff --git a/tests/Fallout.Tooling.Tests/OptionsTest.cs b/tests/Fallout.Tooling.Tests/OptionsTest.cs index 06e1455a6..bb37069c9 100644 --- a/tests/Fallout.Tooling.Tests/OptionsTest.cs +++ b/tests/Fallout.Tooling.Tests/OptionsTest.cs @@ -6,11 +6,11 @@ using System.Threading.Tasks; using System.Text.Json; using FluentAssertions; -using Fallout.Common.Tooling; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; using VerifyXunit; using Xunit; +using Fallout.Application.Tooling; namespace Fallout.Common.Tests; diff --git a/tests/Fallout.Tooling.Tests/ToolOptionsArgumentsTest.cs b/tests/Fallout.Tooling.Tests/ToolOptionsArgumentsTest.cs index cfa788dfb..2e559ceb6 100644 --- a/tests/Fallout.Tooling.Tests/ToolOptionsArgumentsTest.cs +++ b/tests/Fallout.Tooling.Tests/ToolOptionsArgumentsTest.cs @@ -6,10 +6,10 @@ using System.Text.Json; using System.Text.Json.Nodes; using FluentAssertions; -using Fallout.Common.Tooling; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; using Xunit; +using Fallout.Application.Tooling; namespace Fallout.Common.Tests; diff --git a/tests/Fallout.Tooling.Tests/ToolTasksLoggerTest.cs b/tests/Fallout.Tooling.Tests/ToolTasksLoggerTest.cs index e6d50e927..dea5e95e8 100644 --- a/tests/Fallout.Tooling.Tests/ToolTasksLoggerTest.cs +++ b/tests/Fallout.Tooling.Tests/ToolTasksLoggerTest.cs @@ -1,12 +1,12 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using FluentAssertions; -using Fallout.Common.Tooling; using Serilog; using Serilog.Core; using Serilog.Events; using Xunit; +using Fallout.Application.Tooling; namespace Fallout.Common.Tests; diff --git a/tests/Fallout.Tooling.Tests/ToolTasksToolPathTest.cs b/tests/Fallout.Tooling.Tests/ToolTasksToolPathTest.cs index 96474a262..3d108d1a4 100644 --- a/tests/Fallout.Tooling.Tests/ToolTasksToolPathTest.cs +++ b/tests/Fallout.Tooling.Tests/ToolTasksToolPathTest.cs @@ -2,8 +2,9 @@ using System.ComponentModel; using System.Linq; using FluentAssertions; -using Fallout.Common.Tooling; using Xunit; +using Fallout.Infrastructure.Tooling; +using Fallout.Application.Tooling; namespace Fallout.Common.Tests; diff --git a/tools/OnionRewriter/DocumentRewriter.cs b/tools/OnionRewriter/DocumentRewriter.cs index c47452b02..6f28b6719 100644 --- a/tools/OnionRewriter/DocumentRewriter.cs +++ b/tools/OnionRewriter/DocumentRewriter.cs @@ -7,9 +7,13 @@ static class DocumentRewriter { public record struct Counts(bool Changed, int Refs, int Added, int Dropped, int NsDecls); + // `targetNs(type)` returns the NEW namespace a moved type lands in, or null if the type does not move. + // It subsumes the old (isMoved + mapNs) pair and — crucially — is per TYPE, not per namespace, so a + // single source namespace can split across rings (e.g. Fallout.Common.Tooling vocab → Application, + // executor → Infrastructure). `isMovable(ns)` stays namespace-level (drives residual/using-drop logic). public static (SyntaxNode Root, Counts Counts) Rewrite( SyntaxNode root, SemanticModel model, bool isSource, - Func isMovable, Func mapNs, Func isMoved, + Func isMovable, Func targetNs, HashSet surviving) { var cu = (CompilationUnitSyntax)root; @@ -18,7 +22,10 @@ public static (SyntaxNode Root, Counts Counts) Rewrite( var usedMovedNewNs = new HashSet(); // new namespaces we must import var usedMovedOldNs = new HashSet(); // old namespaces a MOVED type was used from var usedResidualMovableNs = new HashSet(); // old movable namespaces still needed (residual types) - foreach (var name in cu.DescendantNodes().OfType()) + var usedUnmappedNs = new HashSet(); // namespaces of used types that do NOT move + // descendIntoTrivia: also scan `` names inside doc comments, so a type referenced + // ONLY from a cref still gets its `using` added (else its doc link dangles → CS1574/CS1580). + foreach (var name in cu.DescendantNodes(descendIntoTrivia: true).OfType()) { // Type-position binds to a type symbol; an attribute/`new` binds to its constructor; an // extension call (x.NotNull()) binds to the reduced method — take the declaring type in each @@ -30,19 +37,59 @@ public static (SyntaxNode Root, Counts Counts) Rewrite( ?? (sym is IMethodSymbol { IsExtensionMethod: true } ext ? (ext.ReducedFrom ?? ext).ContainingType : null); if (t is null) continue; var ns = t.OriginalDefinition.ContainingNamespace?.ToDisplayString() ?? ""; - if (!isMovable(ns)) continue; - if (isMoved(t)) { usedMovedNewNs.Add(mapNs(ns)); usedMovedOldNs.Add(ns); } - else usedResidualMovableNs.Add(ns); + var newNs = targetNs(t); + if (newNs != null) { usedMovedNewNs.Add(newNs); usedMovedOldNs.Add(ns); } + else { usedUnmappedNs.Add(ns); if (isMovable(ns)) usedResidualMovableNs.Add(ns); } + } + + // Map a SOURCE namespace declaration to its target by the moved types it declares (first moved type + // wins — a declaration block is single-ring in practice, since each type sits in its own file). + // Returns null when the block declares no moved type (leave it as-is). + string? MapDecl(BaseNamespaceDeclarationSyntax n) + { + foreach (var m in n.Members) + { + var sym = m switch + { + BaseTypeDeclarationSyntax btd => model.GetDeclaredSymbol(btd) as INamedTypeSymbol, + DelegateDeclarationSyntax dd => model.GetDeclaredSymbol(dd) as INamedTypeSymbol, + _ => null, + }; + if (sym is not null && targetNs(sym) is { } target) return target; + } + return null; } // The file's own namespaces (mapped) — never import those. var ownNs = cu.DescendantNodes().OfType() - .Select(n => n.Name.ToString()) - .Select(n => isSource && isMovable(n) ? mapNs(n) : n) + .Select(n => (isSource ? MapDecl(n) : null) ?? n.Name.ToString()) .ToHashSet(); + // A file in namespace `A.B.C` implicitly sees types in its ANCESTOR namespaces (`A.B`, `A`) with no + // `using`. When a source file changes namespace (`Fallout.Common.Tooling` → `Fallout.Application. + // Tooling`), it loses that implicit access to old ancestors that aren't also ancestors of the new + // namespace (here `Fallout.Common` — which holds `EnvironmentInfo`, `NotNull`, `Assert`, …). Add an + // explicit `using` for each lost ancestor it actually uses. (Generalises lesson #6 from movable + // residual siblings to non-movable ancestor namespaces.) + var lostAncestorNs = new HashSet(); + if (isSource) + { + static IEnumerable StrictAncestors(string ns) + { + for (var i = ns.LastIndexOf('.'); i > 0; i = ns.LastIndexOf('.', i - 1)) yield return ns[..i]; + } + static bool IsAncestorOrSelf(string anc, string ns) => ns == anc || ns.StartsWith(anc + "."); + foreach (var n in cu.DescendantNodes().OfType()) + { + var oldName = n.Name.ToString(); + if (MapDecl(n) is not { } newName || newName == oldName) continue; + foreach (var anc in StrictAncestors(oldName)) + if (!IsAncestorOrSelf(anc, newName) && usedUnmappedNs.Contains(anc)) lostAncestorNs.Add(anc); + } + } + // --- Stage 1: rewrite namespace declarations (source files) + qualified refs to moved types. --- - var rewriter = new SyntaxFixer(model, isSource, isMovable, mapNs, isMoved); + var rewriter = new SyntaxFixer(model, isSource, targetNs, MapDecl); cu = (CompilationUnitSyntax)rewriter.Visit(cu)!; // --- Stage 2: reconcile namespace `using` directives. --- @@ -68,7 +115,7 @@ public static (SyntaxNode Root, Counts Counts) Rewrite( // movable-namespace types they used to see as same-namespace siblings now need an explicit // `using` (e.g. ParameterService leaving Fallout.Common still uses Utilities' ArgumentParser). // Never re-import a namespace this move fully evacuates (not in `surviving`) — it would dangle. - var toAdd = isSource ? usedMovedNewNs.Concat(usedResidualMovableNs.Where(surviving.Contains)) : usedMovedNewNs; + var toAdd = isSource ? usedMovedNewNs.Concat(usedResidualMovableNs.Where(surviving.Contains)).Concat(lostAncestorNs) : usedMovedNewNs; foreach (var ns in toAdd.Distinct()) { if (ownNs.Contains(ns)) continue; @@ -82,8 +129,10 @@ public static (SyntaxNode Root, Counts Counts) Rewrite( return (cu, new Counts(changed, rewriter.Refs, added, dropped, rewriter.NsDecls)); } - sealed class SyntaxFixer(SemanticModel model, bool isSource, Func isMovable, Func mapNs, Func isMoved) - : CSharpSyntaxRewriter + // visitIntoStructuredTrivia: also rewrite qualified names inside doc-comment crefs (the generated tool + // wrappers embed fully-qualified `cref` parameter types like `Fallout.Common.Tools.X.XSettings`). + sealed class SyntaxFixer(SemanticModel model, bool isSource, Func targetNs, Func mapDecl) + : CSharpSyntaxRewriter(visitIntoStructuredTrivia: true) { public int Refs, NsDecls; @@ -92,17 +141,16 @@ sealed class SyntaxFixer(SemanticModel model, bool isSource, Func SyntaxNode? MapNamespace(BaseNamespaceDeclarationSyntax original, SyntaxNode? visited) { - var name = original.Name.ToString(); - if (!isSource || !isMovable(name) || visited is not BaseNamespaceDeclarationSyntax n) return visited; + if (!isSource || visited is not BaseNamespaceDeclarationSyntax n || mapDecl(original) is not { } target) return visited; NsDecls++; - return n.WithName(ParseName(mapNs(name)).WithTriviaFrom(original.Name)); + return n.WithName(ParseName(target).WithTriviaFrom(original.Name)); } public override SyntaxNode? VisitQualifiedName(QualifiedNameSyntax node) { var symbol = model.GetSymbolInfo(node).Symbol as INamedTypeSymbol; var visited = (QualifiedNameSyntax)base.VisitQualifiedName(node)!; - if (symbol != null && isMoved(symbol)) + if (symbol != null && targetNs(symbol) is { } newNs) { var ns = symbol.OriginalDefinition.ContainingNamespace!.ToDisplayString(); // Only remap when Left is EXACTLY the namespace (direct `Namespace.Type`). For a nested @@ -111,7 +159,7 @@ sealed class SyntaxFixer(SemanticModel model, bool isSource, Func if (node.Left.ToString() == ns) { Refs++; - return visited.WithLeft(ParseName(mapNs(ns)).WithTriviaFrom(visited.Left)); + return visited.WithLeft(ParseName(newNs).WithTriviaFrom(visited.Left)); } } return visited; diff --git a/tools/OnionRewriter/Program.cs b/tools/OnionRewriter/Program.cs index 42d282cc9..9c7ac0590 100644 --- a/tools/OnionRewriter/Program.cs +++ b/tools/OnionRewriter/Program.cs @@ -16,31 +16,52 @@ static class Runner { - // A move rule: types declared in `SourceAssembly` under namespace `Old` (exact or `.`-prefixed) are - // moved to the corresponding `New` namespace. The rule table is the multi-rule map ADR-0006 step 4–5 - // need — edit it per onion step (step 1 Domain and step 2 Application are already landed, so their - // rules are gone). Multiple rules may share a SourceAssembly; first matching rule wins for MapNs. - record struct Rule(string Old, string New, string SourceAssembly); - - // Step 4a — Components → Application (the clean, isolated move; single namespace, no Tooling tangle). + // A move rule: types declared in any of `SourceAssemblies` under namespace `Old` (exact or + // `.`-prefixed) move to the corresponding `New` namespace. The rule table is the multi-rule map + // ADR-0006 steps 4–5 need — edit it per onion step (steps 1–2 + 4a are landed, so their rules are + // gone). First matching rule wins for the namespace mapping. A single namespace that must split + // across rings type-by-type uses `TypeOverrides` (full-name → target ns), which beats the prefix rule. + record struct Rule(string Old, string New, string[] SourceAssemblies); + + // Step 4b — Tool vocabulary → Application; the impure executor that shares Fallout.Common.Tooling → + // Infrastructure (user-chosen "true homes": ToolTasks(App) → ProcessTasks(Infra) is a tracked onion + // violation until the resolver/process ports land). Tools.* and the Tooling vocabulary fold into the + // Application ring; the 13 executor types below are carved out by name. static readonly Rule[] Rules = [ - new("Fallout.Components", "Fallout.Application.Components", "Fallout.Components"), + new("Fallout.Common.Tools", "Fallout.Application.Tools", ["Fallout.Common"]), + new("Fallout.Common.Tooling", "Fallout.Application.Tooling", ["Fallout.Tooling", "Fallout.Common"]), ]; + // Impure executor types (process start, filesystem/HTTP tool & package resolution) that live in the + // Fallout.Common.Tooling namespace alongside the vocabulary — carved to Infrastructure by full name. + // Ports (IProcess, IProcessRunner), the exception type, attributes, and the rest stay vocabulary → + // Application; Infrastructure depending on Application is the correct (inward) onion direction. + const string InfraTooling = "Fallout.Infrastructure.Tooling"; + static readonly Dictionary TypeOverrides = new[] + { + "ProcessTasks", "SystemProcessRunner", "Process2", "ProcessExtensions", "ToolExecutor", + "ToolPathResolver", "NuGetToolPathResolver", "NpmToolPathResolver", + "NuGetVersionResolver", "NpmVersionResolver", "NuGetPackageResolver", "PaketPackageResolver", + "ToolingExtensions", + }.ToDictionary(n => $"Fallout.Common.Tooling.{n}", _ => InfraTooling); + static bool Matches(Rule r, string ns) => ns == r.Old || ns.StartsWith(r.Old + "."); static bool IsMovable(string ns) => Rules.Any(r => Matches(r, ns)); - static string MapNs(string ns) + // New namespace for a moved type, by full name + declaring namespace. Per-type override beats the + // prefix rule; returns null if nothing moves it. + static string? TargetNs(string fullName, string ns) { + if (TypeOverrides.TryGetValue(fullName, out var t)) return t; foreach (var r in Rules) if (Matches(r, ns)) return r.New + ns[r.Old.Length..]; - return ns; + return null; } // Does assembly `asm` declare a type under namespace `ns` that a rule moves? (Gates moved-type - // membership and namespace-decl rewriting to the rule's own source assembly — a type with the same + // membership and namespace-decl rewriting to the rule's own source assemblies — a type with the same // namespace in another assembly is NOT moved.) - static bool IsSourceFor(string asm, string ns) => Rules.Any(r => r.SourceAssembly == asm && Matches(r, ns)); - static readonly HashSet SourceAssemblies = Rules.Select(r => r.SourceAssembly).ToHashSet(); + static bool IsSourceFor(string asm, string ns) => Rules.Any(r => r.SourceAssemblies.Contains(asm) && Matches(r, ns)); + static readonly HashSet SourceAssemblies = Rules.SelectMany(r => r.SourceAssemblies).ToHashSet(); [MethodImpl(MethodImplOptions.NoInlining)] public static async Task RunAsync(string[] args) @@ -86,22 +107,23 @@ void Collect(INamespaceSymbol nsSym) } Console.WriteLine($"Moved types (declared in [{string.Join(", ", SourceAssemblies)}], movable ns): {movedFullNames.Count}"); - // Match by assembly NAME + the moved-type set (resolves correctly across projects — a referenced - // project's assembly symbol is a different instance per compilation, so identity comparison fails - // cross-project). Pinned package consumers (Consumer.NuGet/Nuke.Consumer) may carry a source - // assembly via their published package, but those projects are skipped entirely in the doc loop. - // A nested type's ContainingNamespace is its enclosing NAMESPACE (not its outer type), so a member - // keyed by `{ns}.{Name}` would miss the moved-set (which holds top-level names only) and be - // misclassified as residual — adding a dangling `using` to a namespace this move evacuates. A - // nested type moves iff its OUTERMOST enclosing type moves, so classify by that top-level type. - bool IsMovedType(INamedTypeSymbol t) + // New namespace for a moved type, or null if it doesn't move. Match by assembly NAME + the + // moved-type set (resolves correctly across projects — a referenced project's assembly symbol is a + // different instance per compilation, so identity comparison fails cross-project). Pinned package + // consumers (Consumer.NuGet/Nuke.Consumer) may carry a source assembly via their published + // package, but those projects are skipped entirely in the doc loop. A nested type's + // ContainingNamespace is its enclosing NAMESPACE (not its outer type), so a member keyed by + // `{ns}.{Name}` would miss the moved-set (top-level names only) and be misclassified as residual — + // adding a dangling `using` to a namespace this move evacuates. A nested type moves iff its + // OUTERMOST enclosing type moves (and to that type's target), so classify by that top-level type. + string? TargetNsForType(INamedTypeSymbol t) { var top = t.OriginalDefinition; while (top.ContainingType is not null) top = top.ContainingType; var ns = top.ContainingNamespace?.ToDisplayString() ?? ""; var asm = top.ContainingAssembly?.Name ?? ""; - return IsSourceFor(asm, ns) - && movedFullNames.Contains($"{ns}.{top.Name}"); + var full = $"{ns}.{top.Name}"; + return IsSourceFor(asm, ns) && movedFullNames.Contains(full) ? TargetNs(full, ns) : null; } // Movable namespaces still declared OUTSIDE every source project (so they survive the move). A @@ -140,7 +162,7 @@ bool IsMovedType(INamedTypeSymbol t) var root = await doc.GetSyntaxRootAsync(); if (model is null || root is null) continue; - var (newRoot, c) = DocumentRewriter.Rewrite(root, model, isSource, IsMovable, MapNs, IsMovedType, survivingMovableNs); + var (newRoot, c) = DocumentRewriter.Rewrite(root, model, isSource, IsMovable, TargetNsForType, survivingMovableNs); if (c.Changed) { filesChanged++; refsRewritten += c.Refs; usingsAdded += c.Added; usingsDropped += c.Dropped; nsDecls += c.NsDecls; From c15499d02dd7efdca00d82aaaca95e2642769f56 Mon Sep 17 00:00:00 2001 From: Chrison Simtian Date: Mon, 1 Jun 2026 01:24:14 +1200 Subject: [PATCH 15/46] refactor(arch): invert tool-execution deps behind ports; gate the Application ring (onion 4b follow-up) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Clears the Application→Infrastructure dependency that step 4b left tracked. The impure tool-execution services now sit behind ports in Fallout.Application.Tooling — IProcessExecutor, IToolPathResolver, IToolVersionResolver — resolved through a ToolingServices locator. Fallout.Infrastructure.Tooling registers thin adapters (forwarding to ProcessTasks / the resolvers) via a module initializer, so the Application ring reaches Infrastructure only through the ports. All Application-ring call sites are routed through the ports: ToolTasks.Run / .ToolPath, ToolResolver, the tool wrappers (MSpec/DotCover/Xunit/Codecov/ PowerShell/Docker), Latest{NuGet,Npm}VersionAttribute, ToolRequirement version lookups, Configure's DefaultLogOutput, CredentialStore, ToolRequirementService, BuildManager's resolver config-push, InvokeBuildServerConfigurationGeneration, and FalloutBuild. ProcessExtensions (pure IProcess/Output helpers — AssertWaitForExit, StdToJson, …) is reclassified from Infrastructure.Tooling back to Application.Tooling, where the vocabulary that uses it lives (a step-4b misclassification). A ModuleInitializerAttribute polyfill covers Fallout.Tooling's netstandard2.0 TFM. New tests/Fallout.Architecture.Tests runs a NetArchTest fitness gate asserting Fallout.Application.* has no dependency on Fallout.Infrastructure.* — green. It lives in its own project so loading every ring's assembly cannot perturb the AppDomain-scan/Verify tests in Fallout.Build.Tests. Catch-all Fallout.Common.* code outside the Application ring (CI adapters, a few attributes, the Cli composition root, MSBuildTasks) still reaches Infrastructure; that folds in with step 5 as those namespaces get rings. Full suite green; solution-generator snapshot re-accepted (new project entry). Co-Authored-By: Claude Opus 4.8 --- CHANGELOG.md | 3 +- docs/spikes/0003-onion-infrastructure-ring.md | 8 +- fallout.slnx | 1 + ...dServerConfigurationGenerationAttribute.cs | 4 +- src/Fallout.Build/Execution/BuildManager.cs | 9 +-- .../Execution/ToolRequirementService.cs | 9 +-- src/Fallout.Build/FalloutBuild.cs | 3 +- .../Utilities/CredentialStore.cs | 9 +-- .../HandleSingleFileExecutionAttribute.cs | 1 + .../Attributes/LatestNpmVersionAttribute.cs | 3 +- .../Attributes/LatestNuGetVersionAttribute.cs | 3 +- .../Tools/Codecov/CodecovTasks.cs | 3 +- .../DockerTargetDefinitionExtensions.cs | 3 +- .../Tools/DotCover/DotCoverTasks.cs | 3 +- src/Fallout.Common/Tools/MSpec/MSpecTasks.cs | 3 +- .../Tools/PowerShell/PowerShellTasks.cs | 3 +- src/Fallout.Common/Tools/Xunit/XunitTasks.cs | 3 +- src/Fallout.Tooling/Configure.cs | 3 +- .../ModuleInitializerPolyfill.cs | 12 +++ src/Fallout.Tooling/NpmToolPathResolver.cs | 1 + src/Fallout.Tooling/ProcessExtensions.cs | 3 +- src/Fallout.Tooling/ToolRequirement.cs | 5 +- src/Fallout.Tooling/ToolResolver.cs | 11 ++- src/Fallout.Tooling/ToolTasks.Run.cs | 5 +- src/Fallout.Tooling/ToolTasks.ToolPath.cs | 9 +-- src/Fallout.Tooling/ToolingExtensions.cs | 1 + src/Fallout.Tooling/ToolingServices.cs | 79 +++++++++++++++++++ .../ToolingServicesRegistration.cs | 68 ++++++++++++++++ .../ApplicationRingFitnessTests.cs | 44 +++++++++++ .../Fallout.Architecture.Tests.csproj | 18 +++++ ...nGeneratorTest.Test#Solution.g.verified.cs | 1 + 31 files changed, 271 insertions(+), 60 deletions(-) create mode 100644 src/Fallout.Tooling/ModuleInitializerPolyfill.cs create mode 100644 src/Fallout.Tooling/ToolingServices.cs create mode 100644 src/Fallout.Tooling/ToolingServicesRegistration.cs create mode 100644 tests/Fallout.Architecture.Tests/ApplicationRingFitnessTests.cs create mode 100644 tests/Fallout.Architecture.Tests/Fallout.Architecture.Tests.csproj diff --git a/CHANGELOG.md b/CHANGELOG.md index 3be3693e2..268b5bcd6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,7 +13,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - **Migration / shim**: the `Nuke.*` transition shims silently stop re-exporting the two moved types (the generator only mirrors the `Fallout.Common.*` prefix). A fresh migration/shim strategy is designed once the realignment completes (ADR-0006 defers it deliberately); native `Fallout.*` consumers rewrite the two `using`s above. - **Step 2 (the Application ring)**: the core API `Fallout.Build` declared under `Fallout.Common.*` — `FalloutBuild`, `Target`, `[Parameter]` & attributes, `Host`, the execution engine, value injection, and the CI ports — moves to **`Fallout.Application.*`**. Native consumers rewrite `using Fallout.Common;` → `using Fallout.Application;` (and the `Fallout.Common.Execution`/`.CI`/`.ValueInjection` sub-namespaces likewise). Performed by a semantic rewriter (`tools/OnionRewriter`). The `Nuke.*` shim surface that mirrored these (`Nuke.Common.Target`, `…Parameter`, …) lapses for now — `Nuke.Consumer` and `Nuke.Common.Shim.Tests` are temporarily out of the solution until the migration phase. The `Fallout.Build` **assembly/project** is renamed to `Fallout.Application` in a later mechanical step (namespaces are already migrated). - **Step 4a (Application ring — composition components)**: the build-composition interface family (`ICompile`, `IRestore`, `IPack`, `IPublish`, `ITest`, `IHas*`, `Configuration`, …), previously `Fallout.Components`, moves to **`Fallout.Application.Components`** — it composes the tool/CI vocabulary and so belongs in the Application ring. Native consumers rewrite `using Fallout.Components;` → `using Fallout.Application.Components;`. The `Nuke.Components` transition shim is unaffected for consumers: its public `Nuke.Components.*` face is unchanged (the shim generator's source prefix was repointed to the new namespace). The `Fallout.Components` **assembly/project** keeps its filename until the later mechanical rename step. - - **Step 4b (tool vocabulary → Application; executor → Infrastructure)**: the tool wrappers `Fallout.Common.Tools.*` (60+ wrappers) and the tool vocabulary they build on (`ToolTasks`, `ToolOptions`, `Output`, `Configure`, the `IProcess`/`IProcessRunner` ports, requirement/attribute types) move to **`Fallout.Application.Tools.*`** / **`Fallout.Application.Tooling`**. The impure executor that shared the `Fallout.Common.Tooling` namespace — `ProcessTasks`, `SystemProcessRunner`, `Process2`, `ProcessExtensions`, `ToolExecutor`, and the tool/package/version resolvers — moves to **`Fallout.Infrastructure.Tooling`**. Native consumers rewrite `using Fallout.Common.Tools.*;` → `using Fallout.Application.Tools.*;` and `using Fallout.Common.Tooling;` → `using Fallout.Application.Tooling;` (plus `using Fallout.Infrastructure.Tooling;` where they touch the executor directly). The `Nuke.Common.Tools`/`…Tooling` shim aliases lapse (the generator only mirrors the `Fallout.Common.*` prefix), pending the deferred migration/shim redesign. **Known interim state:** `ToolTasks` (Application) still calls `ProcessTasks` (Infrastructure) directly and tool/package path resolution still does I/O from the Application side — a tracked Application→Infrastructure dependency to be inverted behind ports in a follow-up before the rings become separate assemblies. Assembly/project files (`Fallout.Common`, `Fallout.Tooling`) are unchanged; only namespaces moved. + - **Step 4b (tool vocabulary → Application; executor → Infrastructure)**: the tool wrappers `Fallout.Common.Tools.*` (60+ wrappers) and the tool vocabulary they build on (`ToolTasks`, `ToolOptions`, `Output`, `Configure`, the `IProcess`/`IProcessRunner` ports, requirement/attribute types) move to **`Fallout.Application.Tools.*`** / **`Fallout.Application.Tooling`**. The impure executor that shared the `Fallout.Common.Tooling` namespace — `ProcessTasks`, `SystemProcessRunner`, `Process2`, `ProcessExtensions`, `ToolExecutor`, and the tool/package/version resolvers — moves to **`Fallout.Infrastructure.Tooling`**. Native consumers rewrite `using Fallout.Common.Tools.*;` → `using Fallout.Application.Tools.*;` and `using Fallout.Common.Tooling;` → `using Fallout.Application.Tooling;` (plus `using Fallout.Infrastructure.Tooling;` where they touch the executor directly). The `Nuke.Common.Tools`/`…Tooling` shim aliases lapse (the generator only mirrors the `Fallout.Common.*` prefix), pending the deferred migration/shim redesign. Assembly/project files (`Fallout.Common`, `Fallout.Tooling`) are unchanged; only namespaces moved. + - **Step 4b-follow-up (port inversion + Application-ring fitness gate)**: the impure tool-execution services now sit behind ports in `Fallout.Application.Tooling` — **`IProcessExecutor`**, **`IToolPathResolver`**, **`IToolVersionResolver`**, resolved via the new **`ToolingServices`** locator; Infrastructure registers thin adapters into it through a module initializer. The Application ring (tool wrappers, `ToolTasks`, `ToolResolver`, requirement/version attributes, build orchestration) no longer references `Fallout.Infrastructure.*`. `ProcessExtensions` (pure `IProcess`/`Output` helpers — `AssertWaitForExit`, `StdToJson`, …) was reclassified from Infrastructure back to `Fallout.Application.Tooling`. A NetArchTest fitness test (new `Fallout.Architecture.Tests`) asserts `Fallout.Application.*` ⊥ `Fallout.Infrastructure.*` and guards it. (Catch-all `Fallout.Common.*` code outside the Application ring — e.g. CI host adapters, single-file/path-check attributes — still reaches Infrastructure and is addressed when those namespaces get a ring in step 5.) - **Adopted calendar versioning (`YYYY.MINOR.PATCH`) + dual-pace channel model; retired the v11 numbering** ([ADR-0004](docs/adr/0004-calendar-versioning-and-dual-pace-channels.md)). Fallout now ships on calendar versions (`2026.0.0`, `2026.1.0`, …) — mechanically valid SemVer with the major equal to the calendar year. **Breaking changes are batched to the yearly major cut**; mid-year stable releases (`release/YYYY`) are strictly non-breaking. `main` becomes the published **edge** channel (date-stamped prereleases to GitHub Packages); the slow/stable track lives on `release/YYYY`. Opt-in unstable APIs are marked `[Experimental("FALLOUT0xx")]`. - **Migration / impact**: the `11.0.x` packages never shipped a clean stable release (all unlisted), so this strands no stable consumers. The headline content previously slated for "v11" now ships as **`2026.0.0`**. Any tooling pinned to a `[11.0,12.0)`-style range should retarget the `2026.x` line. - **Legacy unaffected**: the `release/v10` line stays on semver `10.x` and continues to receive security/critical fixes — v10 consumers do nothing. diff --git a/docs/spikes/0003-onion-infrastructure-ring.md b/docs/spikes/0003-onion-infrastructure-ring.md index 671e21678..f80ad20d3 100644 --- a/docs/spikes/0003-onion-infrastructure-ring.md +++ b/docs/spikes/0003-onion-infrastructure-ring.md @@ -1,6 +1,6 @@ # Spike 0003 — Onion realignment: the Infrastructure ring (steps 3–5) -- **Status:** In progress — step 3 done; **steps 4a (Components) + 4b (Tools/Tooling) done**; step 5 (CI/IO/ProjectModel/Solution → Infrastructure + Utilities split / kernel) remains. Plus a follow-up: invert the tracked `ToolTasks`(App)→`ProcessTasks`(Infra) + resolver I/O dependency behind ports. +- **Status:** In progress — step 3 done; **steps 4a (Components), 4b (Tools/Tooling), and the 4b port-inversion follow-up done** (Application ring is now free of `Fallout.Infrastructure.*`, guarded by a fitness test); step 5 (CI/IO/ProjectModel/Solution → Infrastructure + Utilities split / kernel) remains. - **Date:** 2026-05-31 (updated 2026-06-01) - **Decision record:** [ADR-0006](../adr/0006-onion-layering-and-namespace-realignment.md) - **Channel:** `experimental` (branch `spike/onion-infrastructure`) @@ -32,8 +32,10 @@ experimental 4b. **Tool vocabulary → Application; executor → Infrastructure** — the entangled one. `Fallout.Common.Tools.*` → `Fallout.Application.Tools.*`; the `Fallout.Common.Tooling` namespace (shared across `Fallout.Tooling` + `Fallout.Common`, mixing vocabulary and executor in one namespace) splits **per type**: vocabulary + ports + attributes + `ProcessException` → `Fallout.Application.Tooling`; the 13 impure executor types (`ProcessTasks`, `SystemProcessRunner`, `Process2`, `ProcessExtensions`, `ToolExecutor`, `ToolPathResolver`, `NuGet*`/`Npm*`/`Paket*` resolvers, `ToolingExtensions`) → `Fallout.Infrastructure.Tooling`. **Maintainer chose "true homes, defer port fix"**: types land where they belong, accepting `ToolTasks`(App)→`ProcessTasks`(Infra) + resolver I/O as a tracked Application→Infrastructure dependency to be inverted behind ports in a follow-up (no fitness test guards it yet — projects aren't split). 271 files, full suite green (7 cake-migration snapshots re-accepted — namespace-only churn). The prefix-only rewriter grew **per-type overrides** + **multi-assembly rules** + **lost-ancestor usings** + **cref rewriting** (lessons #8–#11). `AbsolutePath`/`Fallout.Common.IO` deferred to step 5 (still `Fallout.Common.IO` here, so no ring crossing yet — they'll need a shared kernel when IO moves). -### Remaining (this ring) -**Follow-up (port inversion)**: extract `IToolPathResolver` + package/version-resolver ports and route `ToolTasks.Run` through `IProcessRunner` so the Application ring stops calling the Infrastructure executor — clears the tracked violation. +### Done (cont.) +**4b-follow-up — port inversion + Application-ring fitness gate.** Ports in `Fallout.Application.Tooling` (`IProcessExecutor`, `IToolPathResolver`, `IToolVersionResolver`) behind a `ToolingServices` locator; Infrastructure registers thin adapters via a `[ModuleInitializer]` (polyfilled for the `netstandard2.0` TFM). All ~18 Application-ring call sites (process exec, path/package/version resolution, the config-push from `BuildManager`/`ToolRequirementService`) routed through the ports. `ProcessExtensions` reclassified Infra→`Application.Tooling` (it's pure `IProcess`/`Output` vocabulary the App ring calls everywhere — a 4b mis-classification). New `tests/Fallout.Architecture.Tests` runs a NetArchTest gate: `Fallout.Application.*` ⊥ `Fallout.Infrastructure.*` (green). Lessons learned: the fitness test must live in its OWN project — loading every ring's assembly into a project that also has `AppDomain.GetAssemblies()`-scan tests (e.g. `SchemaUtilityTest` in `Fallout.Build.Tests`) perturbs those snapshots; and extension methods are silent cross-ring deps the grep misses — the gate (IL analysis) is the real oracle. + +Catch-all `Fallout.Common.*` code outside the Application ring (CI host adapters, `HandleSingleFileExecution`/`CheckPathEnvironmentVariable` attributes, `Fallout.Cli` composition root, `Fallout.MSBuildTasks`) still reaches Infrastructure — out of the gate's scope; folds in with step 5 as those namespaces get rings. 5. **I/O adapters → Infrastructure** — CI host adapters (`Fallout.Common.CI.`) → `Fallout.Infrastructure.CI.*`; `Fallout.Common.IO` + the `Fallout.Utilities.IO/.Net/.Compression/.Globbing` I/O bits → `Fallout.Infrastructure.*`; the `ProcessTasks`/`ToolExecutor` executor side → `Fallout.Infrastructure`; `Fallout.ProjectModel`/`Fallout.Solution` → `Fallout.Infrastructure.*`. ### Design decisions already made (don't relitigate) diff --git a/fallout.slnx b/fallout.slnx index 974398a6a..2ef5186a5 100644 --- a/fallout.slnx +++ b/fallout.slnx @@ -34,6 +34,7 @@ + diff --git a/src/Fallout.Build/CICD/InvokeBuildServerConfigurationGenerationAttribute.cs b/src/Fallout.Build/CICD/InvokeBuildServerConfigurationGenerationAttribute.cs index 325704577..eded48ea1 100644 --- a/src/Fallout.Build/CICD/InvokeBuildServerConfigurationGenerationAttribute.cs +++ b/src/Fallout.Build/CICD/InvokeBuildServerConfigurationGenerationAttribute.cs @@ -6,7 +6,7 @@ using static Fallout.Application.CI.BuildServerConfigurationGeneration; using Fallout.Application.Execution; using Fallout.Application; -using Fallout.Infrastructure.Tooling; +using Fallout.Application.Tooling; namespace Fallout.Application.CI; @@ -44,7 +44,7 @@ private bool HasConfigurationChanged(IConfigurationGenerator generator) .WhereFileExists() .ToDictionary(x => x, x => x.GetFileHash()); - ProcessTasks.StartProcess( + ToolingServices.Process.StartProcess( Build.BuildAssemblyFile, $"--{ConfigurationParameterName} {generator.Id} --host {generator.HostName}", logInvocation: false, diff --git a/src/Fallout.Build/Execution/BuildManager.cs b/src/Fallout.Build/Execution/BuildManager.cs index 92f29e035..65070afc2 100644 --- a/src/Fallout.Build/Execution/BuildManager.cs +++ b/src/Fallout.Build/Execution/BuildManager.cs @@ -11,7 +11,6 @@ using Serilog; using Fallout.Application; using Fallout.Application.Tooling; -using Fallout.Infrastructure.Tooling; #pragma warning disable CA2255 namespace Fallout.Application.Execution; @@ -53,10 +52,10 @@ public static int Execute(Expression>[] defaultTargetExpressi build.ExecutableTargets = ExecutableTargetFactory.CreateAll(build, defaultTargetExpressions); build.ExecuteExtension(x => x.OnBuildCreated(build.ExecutableTargets)); - NuGetToolPathResolver.EmbeddedPackagesDirectory = build.EmbeddedPackagesDirectory; - NuGetToolPathResolver.NuGetPackagesConfigFile = build.NuGetPackagesConfigFile; - NuGetToolPathResolver.NuGetAssetsConfigFile = build.NuGetAssetsConfigFile; - NpmToolPathResolver.NpmPackageJsonFile = build.NpmPackageJsonFile; + ToolingServices.ToolPaths.EmbeddedPackagesDirectory = build.EmbeddedPackagesDirectory; + ToolingServices.ToolPaths.NuGetPackagesConfigFile = build.NuGetPackagesConfigFile; + ToolingServices.ToolPaths.NuGetAssetsConfigFile = build.NuGetAssetsConfigFile; + ToolingServices.ToolPaths.NpmPackageJsonFile = build.NpmPackageJsonFile; if (!build.NoLogo) build.WriteLogo(); diff --git a/src/Fallout.Build/Execution/ToolRequirementService.cs b/src/Fallout.Build/Execution/ToolRequirementService.cs index 72ba7f5a0..d53f9c5ce 100644 --- a/src/Fallout.Build/Execution/ToolRequirementService.cs +++ b/src/Fallout.Build/Execution/ToolRequirementService.cs @@ -8,7 +8,6 @@ using Fallout.Application; using Fallout.Common; using Fallout.Application.Tooling; -using Fallout.Infrastructure.Tooling; namespace Fallout.Application.Execution; @@ -30,8 +29,8 @@ private static void InstallNuGetPackages(IReadOnlyCollection x.PackageId).ThenBy(x => x.Version).ToList(); var groupedPackages = packages.GroupBy(x => x.PackageId, x => $"[{x.Version}]"); @@ -69,7 +68,7 @@ private static void InstallNpmPackages(IReadOnlyCollection x.PackageId).ToList(); @@ -115,6 +114,6 @@ private static void InstallAptGetPackages(IReadOnlyCollection Log.Verbose("Installing {Id}...", x.PackageId)); installScript.WriteAllText(content); - ProcessTasks.StartShell($"sudo {installScript}", logInvocation: false, logOutput: false).AssertZeroExitCode(); + ToolingServices.Process.StartShell($"sudo {installScript}", logInvocation: false, logOutput: false).AssertZeroExitCode(); } } diff --git a/src/Fallout.Build/FalloutBuild.cs b/src/Fallout.Build/FalloutBuild.cs index a84af2fe1..deeb137a3 100644 --- a/src/Fallout.Build/FalloutBuild.cs +++ b/src/Fallout.Build/FalloutBuild.cs @@ -12,7 +12,6 @@ using Fallout.Application.CI; using Fallout.Application.Execution.Extensions; using Fallout.Common; -using Fallout.Infrastructure.Tooling; using Fallout.Application.Tooling; // ReSharper disable VirtualMemberNeverOverridden.Global @@ -154,7 +153,7 @@ protected static int Execute(params Expression>[] defaultTarg protected internal virtual string NuGetPackagesConfigFile => BuildProjectDirectory != null - ? NuGetPackageResolver.GetPackagesConfigFile(BuildProjectDirectory) + ? ToolingServices.ToolPaths.GetPackagesConfigFile(BuildProjectDirectory) : null; protected internal virtual string NuGetAssetsConfigFile => diff --git a/src/Fallout.Build/Utilities/CredentialStore.cs b/src/Fallout.Build/Utilities/CredentialStore.cs index a98a422a7..301130514 100644 --- a/src/Fallout.Build/Utilities/CredentialStore.cs +++ b/src/Fallout.Build/Utilities/CredentialStore.cs @@ -3,7 +3,6 @@ using Fallout.Application; using Fallout.Common; using Fallout.Common.Utilities; -using Fallout.Infrastructure.Tooling; using Fallout.Application.Tooling; namespace Fallout.Application.Utilities; @@ -15,7 +14,7 @@ public static void DeletePassword(string name) switch (EnvironmentInfo.Platform) { case PlatformFamily.OSX: - ProcessTasks.StartProcess( + ToolingServices.Process.StartProcess( Security, $"delete-generic-password -a {EnvironmentInfo.Variables["LOGNAME"]} -s {name.DoubleQuoteIfNeeded()}", logInvocation: false, @@ -31,7 +30,7 @@ public static void SavePassword(string name, string password) switch (EnvironmentInfo.Platform) { case PlatformFamily.OSX: - ProcessTasks.StartProcess( + ToolingServices.Process.StartProcess( Security, $"add-generic-password -T \"\" -a {EnvironmentInfo.Variables["LOGNAME"]} -s {name.DoubleQuoteIfNeeded()} -w {password}", logInvocation: false, @@ -47,7 +46,7 @@ public static string TryGetPassword(string name) switch (EnvironmentInfo.Platform) { case PlatformFamily.OSX: - var process = ProcessTasks.StartProcess( + var process = ToolingServices.Process.StartProcess( Security, $"find-generic-password -w -a {EnvironmentInfo.Variables["LOGNAME"]} -s {name.DoubleQuoteIfNeeded()}", logInvocation: false, @@ -61,7 +60,7 @@ public static string TryGetPassword(string name) } } - private static string Security => ToolPathResolver.GetPathExecutable("security"); + private static string Security => ToolingServices.ToolPaths.GetPathExecutable("security"); public static string GetPassword(string profile, string rootDirectory) { diff --git a/src/Fallout.Common/Attributes/HandleSingleFileExecutionAttribute.cs b/src/Fallout.Common/Attributes/HandleSingleFileExecutionAttribute.cs index eaf47a6ac..6f6f11de3 100644 --- a/src/Fallout.Common/Attributes/HandleSingleFileExecutionAttribute.cs +++ b/src/Fallout.Common/Attributes/HandleSingleFileExecutionAttribute.cs @@ -10,6 +10,7 @@ using Fallout.Common.Utilities; using Serilog; using Fallout.Application.Execution; +using Fallout.Application.Tooling; using Fallout.Infrastructure.Tooling; namespace Fallout.Common.Execution; diff --git a/src/Fallout.Common/Attributes/LatestNpmVersionAttribute.cs b/src/Fallout.Common/Attributes/LatestNpmVersionAttribute.cs index 4bc20d04f..dfcdc7487 100644 --- a/src/Fallout.Common/Attributes/LatestNpmVersionAttribute.cs +++ b/src/Fallout.Common/Attributes/LatestNpmVersionAttribute.cs @@ -4,7 +4,6 @@ using NuGet.Versioning; using Fallout.Common.Utilities; using Fallout.Application.ValueInjection; -using Fallout.Infrastructure.Tooling; namespace Fallout.Application.Tooling; @@ -19,7 +18,7 @@ public LatestNpmVersionAttribute(string packageId) public override object GetValue(MemberInfo member, object instance) { - var version = NpmVersionResolver.GetLatestVersion(_packageId).GetAwaiter().GetResult(); + var version = ToolingServices.Versions.GetLatestNpmVersion(_packageId).GetAwaiter().GetResult(); return member.GetMemberType() == typeof(string) ? version : SemanticVersion.Parse(version); diff --git a/src/Fallout.Common/Attributes/LatestNuGetVersionAttribute.cs b/src/Fallout.Common/Attributes/LatestNuGetVersionAttribute.cs index 985468c84..64c0ccc42 100644 --- a/src/Fallout.Common/Attributes/LatestNuGetVersionAttribute.cs +++ b/src/Fallout.Common/Attributes/LatestNuGetVersionAttribute.cs @@ -4,7 +4,6 @@ using NuGet.Versioning; using Fallout.Common.Utilities; using Fallout.Application.ValueInjection; -using Fallout.Infrastructure.Tooling; namespace Fallout.Application.Tooling; @@ -22,7 +21,7 @@ public LatestNuGetVersionAttribute(string packageId) public override object GetValue(MemberInfo member, object instance) { - var version = NuGetVersionResolver.GetLatestVersion(_packageId, IncludePrerelease, IncludeUnlisted).GetAwaiter().GetResult(); + var version = ToolingServices.Versions.GetLatestNuGetVersion(_packageId, IncludePrerelease, IncludeUnlisted).GetAwaiter().GetResult(); return member.GetMemberType() == typeof(string) ? version : NuGetVersion.Parse(version); diff --git a/src/Fallout.Common/Tools/Codecov/CodecovTasks.cs b/src/Fallout.Common/Tools/Codecov/CodecovTasks.cs index 90f8c3cf5..db864cfc6 100644 --- a/src/Fallout.Common/Tools/Codecov/CodecovTasks.cs +++ b/src/Fallout.Common/Tools/Codecov/CodecovTasks.cs @@ -1,6 +1,5 @@ using System; using Fallout.Application.Tooling; -using Fallout.Infrastructure.Tooling; using Fallout.Common; namespace Fallout.Application.Tools.Codecov; @@ -9,7 +8,7 @@ partial class CodecovTasks { protected override string GetToolPath(ToolOptions options = null) { - return NuGetToolPathResolver.GetPackageExecutable( + return ToolingServices.ToolPaths.GetPackageExecutable( packageId: PackageId, packageExecutable: EnvironmentInfo.Platform switch { diff --git a/src/Fallout.Common/Tools/Docker/DockerTargetDefinitionExtensions.cs b/src/Fallout.Common/Tools/Docker/DockerTargetDefinitionExtensions.cs index 9e961c9be..ad9182c8e 100644 --- a/src/Fallout.Common/Tools/Docker/DockerTargetDefinitionExtensions.cs +++ b/src/Fallout.Common/Tools/Docker/DockerTargetDefinitionExtensions.cs @@ -13,7 +13,6 @@ using Fallout.Application.Execution; using Fallout.Application.Tools.DotNet; using Fallout.Application.Tooling; -using Fallout.Infrastructure.Tooling; using Fallout.Common; namespace Fallout.Application.Tools.Docker; @@ -103,7 +102,7 @@ bool IsUpToDate() => build.BuildAssemblyDirectory.GlobFiles("*.dll") .When(!settings.Rm.HasValue, _ => _ .EnableRm()) .AddVolume($"{build.RootDirectory}:{rootDirectory}") - .AddVolume($"{NuGetPackageResolver.GetPackagesDirectory(NuGetToolPathResolver.NuGetPackagesConfigFile)}:{nugetDirectory}") + .AddVolume($"{ToolingServices.ToolPaths.GetNuGetPackagesDirectory()}:{nugetDirectory}") .SetPlatform(settings.Platform) .SetWorkdir(rootDirectory) .SetEnvFile(envFile) diff --git a/src/Fallout.Common/Tools/DotCover/DotCoverTasks.cs b/src/Fallout.Common/Tools/DotCover/DotCoverTasks.cs index 54204120c..5fdf14f6d 100644 --- a/src/Fallout.Common/Tools/DotCover/DotCoverTasks.cs +++ b/src/Fallout.Common/Tools/DotCover/DotCoverTasks.cs @@ -1,6 +1,5 @@ using Fallout.Common.Utilities; using Fallout.Application.Tooling; -using Fallout.Infrastructure.Tooling; using Fallout.Common; namespace Fallout.Application.Tools.DotCover; @@ -9,7 +8,7 @@ partial class DotCoverTasks { protected override string GetToolPath(ToolOptions options = null) { - return NuGetToolPathResolver.GetPackageExecutable( + return ToolingServices.ToolPaths.GetPackageExecutable( PackageId, EnvironmentInfo.IsWin ? "dotCover.exe" : "dotCover.sh|dotCover.dll"); } diff --git a/src/Fallout.Common/Tools/MSpec/MSpecTasks.cs b/src/Fallout.Common/Tools/MSpec/MSpecTasks.cs index 0fadd3f38..f652aeac4 100644 --- a/src/Fallout.Common/Tools/MSpec/MSpecTasks.cs +++ b/src/Fallout.Common/Tools/MSpec/MSpecTasks.cs @@ -1,7 +1,6 @@ using System; using System.Linq; using Fallout.Application.Tooling; -using Fallout.Infrastructure.Tooling; using Fallout.Common; namespace Fallout.Application.Tools.MSpec; @@ -10,7 +9,7 @@ partial class MSpecTasks { protected override string GetToolPath(ToolOptions options = null) { - return NuGetToolPathResolver.GetPackageExecutable( + return ToolingServices.ToolPaths.GetPackageExecutable( PackageId, EnvironmentInfo.Is64Bit ? "mspec-clr4.exe" : "mspec-x86-clr4.exe"); } diff --git a/src/Fallout.Common/Tools/PowerShell/PowerShellTasks.cs b/src/Fallout.Common/Tools/PowerShell/PowerShellTasks.cs index 64303bc47..d2213373e 100644 --- a/src/Fallout.Common/Tools/PowerShell/PowerShellTasks.cs +++ b/src/Fallout.Common/Tools/PowerShell/PowerShellTasks.cs @@ -1,6 +1,5 @@ using System; using Fallout.Application.Tooling; -using Fallout.Infrastructure.Tooling; using Fallout.Common; namespace Fallout.Application.Tools.PowerShell; @@ -9,6 +8,6 @@ partial class PowerShellTasks { protected override string GetToolPath(ToolOptions options = null) { - return ToolPathResolver.GetPathExecutable(EnvironmentInfo.IsWin ? "powershell" : "pwsh"); + return ToolingServices.ToolPaths.GetPathExecutable(EnvironmentInfo.IsWin ? "powershell" : "pwsh"); } } diff --git a/src/Fallout.Common/Tools/Xunit/XunitTasks.cs b/src/Fallout.Common/Tools/Xunit/XunitTasks.cs index 03277d273..24311e96a 100644 --- a/src/Fallout.Common/Tools/Xunit/XunitTasks.cs +++ b/src/Fallout.Common/Tools/Xunit/XunitTasks.cs @@ -1,7 +1,6 @@ using System; using System.Linq; using Fallout.Application.Tooling; -using Fallout.Infrastructure.Tooling; using Fallout.Common; namespace Fallout.Application.Tools.Xunit; @@ -10,7 +9,7 @@ partial class XunitTasks { protected override string GetToolPath(ToolOptions options = null) { - return NuGetToolPathResolver.GetPackageExecutable( + return ToolingServices.ToolPaths.GetPackageExecutable( packageId: PackageId, packageExecutable: EnvironmentInfo.Is64Bit ? "xunit.console.exe" : "xunit.console.x86.exe", framework: (options as IToolOptionsWithFramework)?.Framework); diff --git a/src/Fallout.Tooling/Configure.cs b/src/Fallout.Tooling/Configure.cs index a732bb34c..591b00d8e 100644 --- a/src/Fallout.Tooling/Configure.cs +++ b/src/Fallout.Tooling/Configure.cs @@ -3,7 +3,6 @@ using System.Collections.Generic; using System.Linq; using Fallout.Common.Utilities.Collections; -using Fallout.Infrastructure.Tooling; namespace Fallout.Application.Tooling; @@ -91,7 +90,7 @@ private static IReadOnlyCollection Invoke( finally { invocations - .Where(x => x.Options.ProcessOutputLogging ?? ProcessTasks.DefaultLogOutput) + .Where(x => x.Options.ProcessOutputLogging ?? ToolingServices.Process.DefaultLogOutput) .SelectMany(x => { var (_, logger, result, exception) = x; diff --git a/src/Fallout.Tooling/ModuleInitializerPolyfill.cs b/src/Fallout.Tooling/ModuleInitializerPolyfill.cs new file mode 100644 index 000000000..3aca6cd2f --- /dev/null +++ b/src/Fallout.Tooling/ModuleInitializerPolyfill.cs @@ -0,0 +1,12 @@ +// ModuleInitializerAttribute ships in the BCL only on .NET 5+. Fallout.Tooling also targets +// netstandard2.0, so polyfill it there (internal) to let ToolingServicesRegistration use [ModuleInitializer] +// across both target frameworks. Standard, well-known shim — the C# compiler recognises any matching type. +#if !NET5_0_OR_GREATER +namespace System.Runtime.CompilerServices +{ + [System.AttributeUsage(System.AttributeTargets.Method, Inherited = false)] + internal sealed class ModuleInitializerAttribute : System.Attribute + { + } +} +#endif diff --git a/src/Fallout.Tooling/NpmToolPathResolver.cs b/src/Fallout.Tooling/NpmToolPathResolver.cs index 6da660b8a..39bce8cbc 100644 --- a/src/Fallout.Tooling/NpmToolPathResolver.cs +++ b/src/Fallout.Tooling/NpmToolPathResolver.cs @@ -2,6 +2,7 @@ using System.Linq; using Fallout.Common.IO; using Fallout.Common; +using Fallout.Application.Tooling; namespace Fallout.Infrastructure.Tooling; diff --git a/src/Fallout.Tooling/ProcessExtensions.cs b/src/Fallout.Tooling/ProcessExtensions.cs index 933b4d541..b45851fbe 100644 --- a/src/Fallout.Tooling/ProcessExtensions.cs +++ b/src/Fallout.Tooling/ProcessExtensions.cs @@ -4,10 +4,9 @@ using System.Text.Json; using System.Text.Json.Nodes; using Fallout.Common.Utilities; -using Fallout.Application.Tooling; using Fallout.Common; -namespace Fallout.Infrastructure.Tooling; +namespace Fallout.Application.Tooling; [DebuggerStepThrough] [DebuggerNonUserCode] diff --git a/src/Fallout.Tooling/ToolRequirement.cs b/src/Fallout.Tooling/ToolRequirement.cs index 42d3095b5..4de4b8b04 100644 --- a/src/Fallout.Tooling/ToolRequirement.cs +++ b/src/Fallout.Tooling/ToolRequirement.cs @@ -1,6 +1,5 @@ using System; using System.Linq; -using Fallout.Infrastructure.Tooling; namespace Fallout.Application.Tooling; @@ -27,13 +26,13 @@ public class PathToolRequirement(string pathExecutable) : ToolRequirement public class NuGetPackageRequirement(string packageId, string version = null) : ToolRequirement { public string PackageId { get; init; } = packageId; - public string Version { get; init; } = version ?? NuGetVersionResolver.GetLatestVersion(packageId, includePrereleases: false).GetAwaiter().GetResult(); + public string Version { get; init; } = version ?? ToolingServices.Versions.GetLatestNuGetVersion(packageId, includePrereleases: false).GetAwaiter().GetResult(); } public class NpmPackageRequirement(string packageId, string version = null) : ToolRequirement { public string PackageId { get; init; } = packageId; - public string Version { get; init; } = version ?? NpmVersionResolver.GetLatestVersion(packageId).GetAwaiter().GetResult(); + public string Version { get; init; } = version ?? ToolingServices.Versions.GetLatestNpmVersion(packageId).GetAwaiter().GetResult(); } public class AptGetPackageRequirement(string packageId) : ToolRequirement diff --git a/src/Fallout.Tooling/ToolResolver.cs b/src/Fallout.Tooling/ToolResolver.cs index 32e4303ed..9c5cb8ad1 100644 --- a/src/Fallout.Tooling/ToolResolver.cs +++ b/src/Fallout.Tooling/ToolResolver.cs @@ -1,6 +1,5 @@ using System; using System.Linq; -using Fallout.Infrastructure.Tooling; using Fallout.Common; namespace Fallout.Application.Tooling; @@ -10,24 +9,24 @@ public static class ToolResolver public static Tool GetTool(string toolPath) { Assert.FileExists(toolPath); - return new ToolExecutor(toolPath).Execute; + return ToolingServices.Process.GetTool(toolPath); } public static Tool GetNuGetTool(string packageId, string packageExecutable, string version = null, string framework = null) { - var toolPath = NuGetToolPathResolver.GetPackageExecutable(packageId, packageExecutable, version, framework); + var toolPath = ToolingServices.ToolPaths.GetPackageExecutable(packageId, packageExecutable, version, framework); return GetTool(toolPath); } public static Tool GetNpmTool(string npmExecutable) { - var toolPath = NpmToolPathResolver.GetNpmExecutable(npmExecutable); + var toolPath = ToolingServices.ToolPaths.GetNpmExecutable(npmExecutable); return GetTool(toolPath); } public static Tool TryGetEnvironmentTool(string name) { - var toolPath = ToolPathResolver.TryGetEnvironmentExecutable($"{name.ToUpperInvariant()}_EXE"); + var toolPath = ToolingServices.ToolPaths.TryGetEnvironmentExecutable($"{name.ToUpperInvariant()}_EXE"); if (toolPath == null) return null; @@ -36,7 +35,7 @@ public static Tool TryGetEnvironmentTool(string name) public static Tool GetPathTool(string name) { - var toolPath = ToolPathResolver.GetPathExecutable(name); + var toolPath = ToolingServices.ToolPaths.GetPathExecutable(name); return GetTool(toolPath); } diff --git a/src/Fallout.Tooling/ToolTasks.Run.cs b/src/Fallout.Tooling/ToolTasks.Run.cs index a722f50f6..7baf92d29 100644 --- a/src/Fallout.Tooling/ToolTasks.Run.cs +++ b/src/Fallout.Tooling/ToolTasks.Run.cs @@ -3,7 +3,6 @@ using System.Linq; using Fallout.Common.Utilities; using Fallout.Common.Utilities.Collections; -using Fallout.Infrastructure.Tooling; namespace Fallout.Application.Tooling; @@ -18,7 +17,7 @@ protected virtual partial IReadOnlyCollection Run(T options) string Filter(string text) => secrets.Aggregate(text, (str, s) => str.Replace(s, "[REDACTED]")); options = PreProcess(options); - using var process = ProcessTasks.StartProcess( + using var process = ToolingServices.Process.StartProcess( GetToolPathInternal(options), options.GetArguments().JoinSpace(), options.ProcessWorkingDirectory, @@ -90,7 +89,7 @@ protected virtual IProcess StartProcess( Action logger, Func outputFilter = null) { - return ProcessTasks.StartProcess( + return ToolingServices.Process.StartProcess( GetToolPathInternal(), arguments, workingDirectory, diff --git a/src/Fallout.Tooling/ToolTasks.ToolPath.cs b/src/Fallout.Tooling/ToolTasks.ToolPath.cs index 3b73640b7..c1bb6828c 100644 --- a/src/Fallout.Tooling/ToolTasks.ToolPath.cs +++ b/src/Fallout.Tooling/ToolTasks.ToolPath.cs @@ -1,7 +1,6 @@ using System; using System.Reflection; using Fallout.Common.Utilities; -using Fallout.Infrastructure.Tooling; using Fallout.Common; namespace Fallout.Application.Tooling; @@ -21,7 +20,7 @@ protected internal string GetToolPathInternal(ToolOptions options = null) if (options?.ProcessToolPath != null) return options.ProcessToolPath; - if (ToolPathResolver.TryGetEnvironmentExecutable(ToolPathOverrideVariableName) is { } environmentExecutable) + if (ToolingServices.ToolPaths.TryGetEnvironmentExecutable(ToolPathOverrideVariableName) is { } environmentExecutable) return environmentExecutable; return GetToolPath(options); @@ -61,7 +60,7 @@ public class PathToolAttribute : ToolAttribute internal override string GetToolPath(ToolOptions options) { - return ToolPathResolver.GetPathExecutable(Executable); + return ToolingServices.ToolPaths.GetPathExecutable(Executable); } internal override ToolRequirement GetRequirement(string version = null) @@ -77,7 +76,7 @@ public class NpmToolAttribute : ToolAttribute internal override string GetToolPath(ToolOptions options) { - return NpmToolPathResolver.GetNpmExecutable(Executable); + return ToolingServices.ToolPaths.GetNpmExecutable(Executable); } internal override ToolRequirement GetRequirement(string version = null) @@ -110,7 +109,7 @@ internal override string GetToolPath(ToolOptions options) { // ReSharper disable once SuspiciousTypeConversion.Global var framework = (options as IToolOptionsWithFramework)?.Framework; - return NuGetToolPathResolver.GetPackageExecutable(Id, Executable, framework: framework); + return ToolingServices.ToolPaths.GetPackageExecutable(Id, Executable, framework: framework); } internal override ToolRequirement GetRequirement(string version = null) diff --git a/src/Fallout.Tooling/ToolingExtensions.cs b/src/Fallout.Tooling/ToolingExtensions.cs index 03639e50b..b08689440 100644 --- a/src/Fallout.Tooling/ToolingExtensions.cs +++ b/src/Fallout.Tooling/ToolingExtensions.cs @@ -6,6 +6,7 @@ using Serilog; using Serilog.Events; using Fallout.Common; +using Fallout.Application.Tooling; namespace Fallout.Infrastructure.Tooling; diff --git a/src/Fallout.Tooling/ToolingServices.cs b/src/Fallout.Tooling/ToolingServices.cs new file mode 100644 index 000000000..b391f115e --- /dev/null +++ b/src/Fallout.Tooling/ToolingServices.cs @@ -0,0 +1,79 @@ +using System; +using System.Collections.Generic; +using System.Threading.Tasks; +using Fallout.Common.IO; + +namespace Fallout.Application.Tooling; + +// Ports for the impure tool-execution services (ADR-0006, onion realignment). The Application ring (tool +// wrappers, ToolTasks, ToolResolver, requirement/version attributes, build orchestration) depends only on +// these abstractions; the concrete process/resolver implementations live in Fallout.Infrastructure.Tooling +// and register adapters into ToolingServices via a module initializer. This is the inversion that lets the +// Application ring stay free of any Fallout.Infrastructure.* dependency (guarded by a fitness test). + +/// Process-execution facade — runs tools/shells and turns a tool path into a . +public interface IProcessExecutor +{ + IProcess StartProcess( + string toolPath, + string arguments = null, + string workingDirectory = null, + IReadOnlyDictionary environmentVariables = null, + int? timeout = null, + bool? logOutput = null, + bool? logInvocation = null, + Action logger = null, + Func outputFilter = null); + + IProcess StartShell( + string command, + string workingDirectory = null, + IReadOnlyDictionary environmentVariables = null, + int? timeout = null, + bool? logOutput = null, + bool? logInvocation = null, + Action logger = null, + Func outputFilter = null); + + void CheckPathEnvironmentVariable(); + bool DefaultLogOutput { get; } + + /// Wraps a resolved tool path into an executable delegate. + Tool GetTool(string toolPath); +} + +/// Tool/package path resolution + the resolver configuration the build pushes in. +public interface IToolPathResolver +{ + string TryGetEnvironmentExecutable(string environmentExecutable); + string GetPathExecutable(string pathExecutable); + string GetPackageExecutable(string packageId, string packageExecutable, string version = null, string framework = null); + string GetNpmExecutable(string npmExecutable); + AbsolutePath GetNuGetPackagesDirectory(); + string GetPackagesConfigFile(string projectDirectory); + + // Configuration the build manager / requirement service push into the resolvers at build start. + string EmbeddedPackagesDirectory { set; } + string NuGetPackagesConfigFile { get; set; } + string NuGetAssetsConfigFile { set; } + AbsolutePath NpmPackageJsonFile { set; } +} + +/// Latest-version lookups (NuGet/npm registries). +public interface IToolVersionResolver +{ + Task GetLatestNuGetVersion(string packageId, bool includePrereleases, bool includeUnlisted = false); + Task GetLatestNpmVersion(string packageId); +} + +/// +/// Service locator holding the registered Infrastructure adapters for the tool-execution ports. Populated by +/// a module initializer in Fallout.Infrastructure.Tooling (same assembly), so it is set before any Application +/// code runs. Tests may swap implementations directly. +/// +public static class ToolingServices +{ + public static IProcessExecutor Process { get; set; } + public static IToolPathResolver ToolPaths { get; set; } + public static IToolVersionResolver Versions { get; set; } +} diff --git a/src/Fallout.Tooling/ToolingServicesRegistration.cs b/src/Fallout.Tooling/ToolingServicesRegistration.cs new file mode 100644 index 000000000..b56d61acc --- /dev/null +++ b/src/Fallout.Tooling/ToolingServicesRegistration.cs @@ -0,0 +1,68 @@ +using System; +using System.Collections.Generic; +using System.Runtime.CompilerServices; +using System.Threading.Tasks; +using Fallout.Application.Tooling; +using Fallout.Common.IO; + +namespace Fallout.Infrastructure.Tooling; + +// Infrastructure adapters for the Application-ring tool-execution ports (ADR-0006). Each is a thin forward to +// the existing process/resolver statics; the module initializer registers them into ToolingServices when the +// assembly loads — before any Application code can touch a Fallout.Tooling type. Adapters reference both rings +// (Infrastructure → Application port), which is the correct inward onion direction. + +internal sealed class ProcessExecutorAdapter : IProcessExecutor +{ + public IProcess StartProcess( + string toolPath, string arguments, string workingDirectory, + IReadOnlyDictionary environmentVariables, int? timeout, + bool? logOutput, bool? logInvocation, Action logger, Func outputFilter) + => ProcessTasks.StartProcess(toolPath, arguments, workingDirectory, environmentVariables, timeout, logOutput, logInvocation, logger, outputFilter); + + public IProcess StartShell( + string command, string workingDirectory, + IReadOnlyDictionary environmentVariables, int? timeout, + bool? logOutput, bool? logInvocation, Action logger, Func outputFilter) + => ProcessTasks.StartShell(command, workingDirectory, environmentVariables, timeout, logOutput, logInvocation, logger, outputFilter); + + public void CheckPathEnvironmentVariable() => ProcessTasks.CheckPathEnvironmentVariable(); + public bool DefaultLogOutput => ProcessTasks.DefaultLogOutput; + public Tool GetTool(string toolPath) => new ToolExecutor(toolPath).Execute; +} + +internal sealed class ToolPathResolverAdapter : IToolPathResolver +{ + public string TryGetEnvironmentExecutable(string environmentExecutable) => ToolPathResolver.TryGetEnvironmentExecutable(environmentExecutable); + public string GetPathExecutable(string pathExecutable) => ToolPathResolver.GetPathExecutable(pathExecutable); + public string GetPackageExecutable(string packageId, string packageExecutable, string version, string framework) => NuGetToolPathResolver.GetPackageExecutable(packageId, packageExecutable, version, framework); + public string GetNpmExecutable(string npmExecutable) => NpmToolPathResolver.GetNpmExecutable(npmExecutable); + public AbsolutePath GetNuGetPackagesDirectory() => NuGetPackageResolver.GetPackagesDirectory(NuGetToolPathResolver.NuGetPackagesConfigFile); + public string GetPackagesConfigFile(string projectDirectory) => NuGetPackageResolver.GetPackagesConfigFile(projectDirectory); + + public string EmbeddedPackagesDirectory { set => NuGetToolPathResolver.EmbeddedPackagesDirectory = value; } + public string NuGetPackagesConfigFile { get => NuGetToolPathResolver.NuGetPackagesConfigFile; set => NuGetToolPathResolver.NuGetPackagesConfigFile = value; } + public string NuGetAssetsConfigFile { set => NuGetToolPathResolver.NuGetAssetsConfigFile = value; } + public AbsolutePath NpmPackageJsonFile { set => NpmToolPathResolver.NpmPackageJsonFile = value; } +} + +internal sealed class ToolVersionResolverAdapter : IToolVersionResolver +{ + public Task GetLatestNuGetVersion(string packageId, bool includePrereleases, bool includeUnlisted) => NuGetVersionResolver.GetLatestVersion(packageId, includePrereleases, includeUnlisted); + public Task GetLatestNpmVersion(string packageId) => NpmVersionResolver.GetLatestVersion(packageId); +} + +internal static class ToolingServicesRegistration +{ + // CA2255: the module initializer is the intended wiring point — it registers the Infrastructure adapters + // into the Application-ring ToolingServices when this assembly loads, before any Application code runs. +#pragma warning disable CA2255 + [ModuleInitializer] +#pragma warning restore CA2255 + internal static void Register() + { + ToolingServices.Process ??= new ProcessExecutorAdapter(); + ToolingServices.ToolPaths ??= new ToolPathResolverAdapter(); + ToolingServices.Versions ??= new ToolVersionResolverAdapter(); + } +} diff --git a/tests/Fallout.Architecture.Tests/ApplicationRingFitnessTests.cs b/tests/Fallout.Architecture.Tests/ApplicationRingFitnessTests.cs new file mode 100644 index 000000000..60db46832 --- /dev/null +++ b/tests/Fallout.Architecture.Tests/ApplicationRingFitnessTests.cs @@ -0,0 +1,44 @@ +using System.Reflection; +using FluentAssertions; +using NetArchTest.Rules; +using Xunit; + +namespace Fallout.Architecture.Tests; + +/// +/// Onion fitness for the Application ring (ADR-0006). The tool/CI/build vocabulary in the +/// Fallout.Application.* namespaces must not depend on the outer Fallout.Infrastructure.* ring: +/// the impure process/resolver implementations are reached only through the ports in +/// Fallout.Application.Tooling (see ToolingServices), with the concrete adapters registered from +/// Infrastructure via a module initializer. This guards the inversion that the tool-layer split (step 4b) +/// deferred. (Houses ring fitness in its own project so loading every ring's assembly cannot perturb +/// load-order-sensitive tests elsewhere, e.g. the schema/AppDomain-scan tests in Fallout.Build.Tests.) +/// +public class ApplicationRingFitnessTests +{ + // Application-ring types are spread across three assemblies: Fallout.Build (root/Execution/CI/Utilities), + // Fallout.Tooling (Application.Tooling vocabulary + ports), and Fallout.Common (Application.Tools.*). + private static readonly Assembly[] ApplicationAssemblies = + [ + typeof(global::Fallout.Application.FalloutBuild).Assembly, + typeof(global::Fallout.Application.Tooling.ToolTasks).Assembly, + typeof(global::Fallout.Application.Tools.DotNet.DotNetTasks).Assembly, + ]; + + [Fact] + public void Application_ring_does_not_depend_on_Infrastructure() + { + var result = Types.InAssemblies(ApplicationAssemblies) + .That().ResideInNamespaceStartingWith("Fallout.Application") + .Should() + .NotHaveDependencyOn("Fallout.Infrastructure") + .GetResult(); + + result.IsSuccessful.Should().BeTrue( + because: "the Application ring must reach Infrastructure only through Fallout.Application.Tooling " + + "ports (ToolingServices); offending types: " + FailingTypes(result)); + } + + private static string FailingTypes(TestResult result) => + result.FailingTypeNames is null ? "(none reported)" : string.Join(", ", result.FailingTypeNames); +} diff --git a/tests/Fallout.Architecture.Tests/Fallout.Architecture.Tests.csproj b/tests/Fallout.Architecture.Tests/Fallout.Architecture.Tests.csproj new file mode 100644 index 000000000..d44603904 --- /dev/null +++ b/tests/Fallout.Architecture.Tests/Fallout.Architecture.Tests.csproj @@ -0,0 +1,18 @@ + + + + net10.0 + + + + + + + + + + + + + + diff --git a/tests/Fallout.SourceGenerators.Tests/StronglyTypedSolutionGeneratorTest.Test#Solution.g.verified.cs b/tests/Fallout.SourceGenerators.Tests/StronglyTypedSolutionGeneratorTest.Test#Solution.g.verified.cs index 803ac6916..9eff38332 100644 --- a/tests/Fallout.SourceGenerators.Tests/StronglyTypedSolutionGeneratorTest.Test#Solution.g.verified.cs +++ b/tests/Fallout.SourceGenerators.Tests/StronglyTypedSolutionGeneratorTest.Test#Solution.g.verified.cs @@ -9,6 +9,7 @@ internal class Solution(SolutionModel model, AbsolutePath path) : Fallout.Solutions.Solution(model, path) { public Fallout.Solutions.Project _build => this.GetProject("_build"); + public Fallout.Solutions.Project Fallout_Architecture_Tests => this.GetProject("Fallout.Architecture.Tests"); public Fallout.Solutions.Project Fallout_Build => this.GetProject("Fallout.Build"); public Fallout.Solutions.Project Fallout_Build_Shared => this.GetProject("Fallout.Build.Shared"); public Fallout.Solutions.Project Fallout_Build_Tests => this.GetProject("Fallout.Build.Tests"); From 1368d75e7729ceac3d51aaf81b33ca8f9ca49a90 Mon Sep 17 00:00:00 2001 From: Chrison Simtian Date: Mon, 1 Jun 2026 01:52:45 +1200 Subject: [PATCH 16/46] =?UTF-8?q?refactor(arch)!:=20extract=20Fallout.Kern?= =?UTF-8?q?el=20=E2=80=94=20shared=20utility/IO=20ring=20(onion=20step=205?= =?UTF-8?q?a)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Establishes Fallout.Kernel, the innermost shared ring (ADR-0006). The shared utility/IO layer moves from Fallout.Common.Utilities* / Fallout.Common.IO to Fallout.Kernel / .Collections / .IO / .Net: pure helpers (collections, string/ text, reflection, crypto, JSON/YAML, guards), the AbsolutePath/RelativePath value types AND their fluent filesystem operations, plus HTTP/compression helpers. Filesystem is treated as a kernel-level capability (like the BCL File/Directory): the fluent AbsolutePath API (.ReadAllText/.GlobFiles/.CreateDirectory/…) is used pervasively across the Application ring, so routing it through ports would be impractical and anti-ergonomic — it lives in Kernel, not Infrastructure. Pushing the genuinely-external adapters (HTTP/FTP, compression) further out to Infrastructure is deferred for the same reason (same ports decision as the filesystem API). The Application⊥Infrastructure fitness gate still passes. Native consumers rewrite `using Fallout.Common.Utilities;` → `using Fallout.Kernel;` (and .Collections/.Net) and `using Fallout.Common.IO;` → `using Fallout.Kernel.IO;`. Assembly/project files unchanged; only namespaces moved (the Fallout.Utilities → Fallout.Kernel project rename rides the deferred project-rename step). A few root-Fallout.Common guards (Assert/NotNull/EnvironmentInfo) stay in the dissolving catch-all for now and fold into Kernel later. Tooling: OnionRewriter rules retargeted for 5a. A handful of files the workspace didn't fully analyse were mopped up by hand (skipping package consumers and the Migrate rebrand fixtures, re-adding lost-ancestor usings) — see lesson #12. Full suite green. Co-Authored-By: Claude Opus 4.8 --- CHANGELOG.md | 1 + build/Build.CodeGeneration.cs | 4 +-- build/Build.Contributors.cs | 6 ++-- build/Build.GlobalSolution.cs | 6 ++-- build/Build.Licenses.cs | 4 +-- build/Build.PublicApi.cs | 6 ++-- build/Build.RunTargetInDockerTest.cs | 2 +- build/Build.Stargazers.cs | 4 +-- build/Build.cs | 4 +-- docs/spikes/0003-onion-infrastructure-ring.md | 13 ++++++- src/Fallout.Build.Shared/CompletionUtility.cs | 8 +++-- src/Fallout.Build.Shared/Constants.cs | 6 ++-- src/Fallout.Build.Shared/Notifications.cs | 4 +-- .../ArgumentsFromGitCommitMessageAttribute.cs | 2 +- ...sualStudioEnvironmentVariablesAttribute.cs | 2 +- .../Attributes/VerbosityMappingAttribute.cs | 2 +- ...verConfigurationGenerationAttributeBase.cs | 2 +- src/Fallout.Build/CICD/CIAttribute.cs | 2 +- .../CICD/ChainedConfigurationAttributeBase.cs | 2 +- .../CICD/ConfigurationAttributeBase.cs | 4 +-- src/Fallout.Build/CICD/CustomFileWriter.cs | 2 +- ...erateBuildServerConfigurationsAttribute.cs | 2 +- .../CICD/IConfigurationGenerator.cs | 2 +- ...dServerConfigurationGenerationAttribute.cs | 2 +- src/Fallout.Build/ControlFlow.cs | 2 +- src/Fallout.Build/Execution/BuildExecutor.cs | 6 ++-- src/Fallout.Build/Execution/BuildManager.cs | 4 +-- .../Execution/DelegateRequirementService.cs | 2 +- .../Execution/ExecutableTarget.cs | 2 +- .../Execution/ExecutableTargetFactory.cs | 4 +-- .../Execution/ExecutionPlanner.cs | 4 +-- .../ValueInjectionAttributeBase.cs | 2 +- .../ArgumentsFromParametersFileAttribute.cs | 6 ++-- .../Extensions/HandleHelpRequestsAttribute.cs | 2 +- .../Extensions/HandlePlanRequestsAttribute.cs | 6 ++-- ...dleReSharperSurrogateArgumentsAttribute.cs | 2 +- .../HandleShellCompletionAttribute.cs | 5 +-- .../HandleVisualStudioDebuggingAttribute.cs | 2 +- .../InjectNonParameterValuesAttribute.cs | 2 +- .../Extensions/UpdateNotificationAttribute.cs | 2 +- .../Execution/ParameterService.Statics.cs | 2 +- .../Execution/ParameterService.cs | 4 +-- .../Execution/TargetDefinition.cs | 4 +-- .../Execution/ToolRequirementService.cs | 4 +-- .../Execution/ValueInjectionUtility.cs | 4 +-- src/Fallout.Build/FalloutBuild.Events.cs | 4 +-- src/Fallout.Build/FalloutBuild.Interface.cs | 2 +- src/Fallout.Build/FalloutBuild.Output.cs | 2 +- src/Fallout.Build/FalloutBuild.Statics.cs | 6 ++-- src/Fallout.Build/FalloutBuild.cs | 4 +-- src/Fallout.Build/Host.Activation.cs | 2 +- src/Fallout.Build/Host.cs | 4 +-- src/Fallout.Build/IFalloutBuild.cs | 2 +- src/Fallout.Build/Logging.cs | 6 ++-- src/Fallout.Build/ParameterAttribute.cs | 2 +- .../Telemetry/Telemetry.Events.cs | 4 +-- .../Telemetry/Telemetry.Properties.cs | 4 +-- src/Fallout.Build/Telemetry/Telemetry.cs | 4 +-- src/Fallout.Build/Terminal.cs | 2 +- .../Theming/AnsiConsoleHostTheme.cs | 2 +- .../Theming/SystemConsoleHostTheme.cs | 2 +- src/Fallout.Build/Utilities/ConsoleUtility.cs | 2 +- .../Utilities/CredentialStore.cs | 2 +- src/Fallout.Build/Utilities/SchemaUtility.cs | 3 +- src/Fallout.Build/VCS/GitRepository.cs | 4 +-- .../VCS/GitRepositoryExtensions.cs | 2 +- src/Fallout.Cli/BuildProjectResolver.cs | 4 +-- src/Fallout.Cli/Program.AddPackage.cs | 2 +- src/Fallout.Cli/Program.Cake.cs | 4 +-- src/Fallout.Cli/Program.Complete.cs | 7 ++-- src/Fallout.Cli/Program.GetConfiguration.cs | 6 ++-- src/Fallout.Cli/Program.Navigation.cs | 4 +-- src/Fallout.Cli/Program.Run.cs | 4 +-- src/Fallout.Cli/Program.Secrets.cs | 9 ++--- src/Fallout.Cli/Program.Setup.cs | 8 ++--- src/Fallout.Cli/Program.Trigger.cs | 4 +-- src/Fallout.Cli/Program.Update.cs | 4 +-- src/Fallout.Cli/Program.cs | 4 +-- src/Fallout.Cli/ProjectUpdater.cs | 2 +- .../Rewriting/Cake/AbsolutePathRewriter.cs | 4 +-- .../Rewriting/Cake/ClassRewriter.cs | 6 ++-- .../Rewriting/Cake/FormattingRewriter.cs | 2 +- .../Rewriting/Cake/InvocationRewriter.cs | 1 - .../Rewriting/Cake/ParameterRewriter.cs | 4 +-- .../Cake/RenameFieldIdentifierRewriter.cs | 2 +- .../Cake/TargetDefinitionRewriter.cs | 2 +- .../Rewriting/Cake/ToolInvocationRewriter.cs | 2 +- src/Fallout.Cli/templates/Build.cs | 6 ++-- .../FileSystemGlobbingAttributeBase.cs | 7 ++-- .../Attributes/GlobbingOptionsAttribute.cs | 2 +- .../HandleSingleFileExecutionAttribute.cs | 4 +-- .../LatestGitHubReleaseAttribute.cs | 2 +- .../Attributes/LatestMavenVersionAttribute.cs | 4 +-- .../Attributes/LatestMyGetVersionAttribute.cs | 4 +-- .../Attributes/LatestNpmVersionAttribute.cs | 2 +- .../Attributes/LatestNuGetVersionAttribute.cs | 2 +- .../Attributes/LocalPathAttribute.cs | 2 +- .../Attributes/SolutionAttribute.cs | 4 +-- src/Fallout.Common/CI/AppVeyor/AppVeyor.cs | 2 +- .../CI/AppVeyor/AppVeyorAttribute.cs | 4 +-- .../Configuration/AppVeyorBranches.cs | 2 +- .../Configuration/AppVeyorConfiguration.cs | 4 +-- .../AppVeyorCustomWriterExtensions.cs | 2 +- .../AzurePipelines/AzurePipelines.Theming.cs | 2 +- .../CI/AzurePipelines/AzurePipelines.cs | 4 +-- .../AzurePipelines/AzurePipelinesAttribute.cs | 8 ++--- .../Configuration/AzurePipelinesCacheStep.cs | 2 +- .../Configuration/AzurePipelinesCmdStep.cs | 4 +-- .../AzurePipelinesConfiguration.cs | 2 +- .../AzurePipelinesCustomWriterExtensions.cs | 2 +- .../AzurePipelinesDownloadStep.cs | 2 +- .../Configuration/AzurePipelinesJob.cs | 4 +-- .../AzurePipelinesPublishStep.cs | 2 +- .../Configuration/AzurePipelinesStage.cs | 4 +-- .../AzurePipelinesVcsPushTrigger.cs | 2 +- .../GitHubActionsArtifactStep.cs | 2 +- .../Configuration/GitHubActionsCacheStep.cs | 4 +-- .../GitHubActionsCheckoutStep.cs | 2 +- .../GitHubActionsConfiguration.cs | 4 +-- .../Configuration/GitHubActionsJob.cs | 4 +-- .../Configuration/GitHubActionsRunStep.cs | 4 +-- .../Configuration/GitHubActionsVcsTrigger.cs | 4 +-- .../GitHubActionsWorkflowDispatchTrigger.cs | 4 +-- .../CI/GitHubActions/GitHubActions.Client.cs | 6 ++-- .../CI/GitHubActions/GitHubActions.Theming.cs | 2 +- .../CI/GitHubActions/GitHubActions.cs | 4 +-- .../GitHubActions/GitHubActionsAttribute.cs | 6 ++-- .../CI/GitLab/GitLab.Theming.cs | 2 +- src/Fallout.Common/CI/GitLab/GitLab.cs | 2 +- .../SpaceAutomationConfiguration.cs | 4 +-- .../Configuration/SpaceAutomationContainer.cs | 4 +-- .../SpaceAutomationCronScheduleTrigger.cs | 2 +- .../SpaceAutomationCustomWriterExtensions.cs | 2 +- .../SpaceAutomationPushTrigger.cs | 4 +-- .../SpaceAutomationAttribute.cs | 4 +-- .../Configuration/TeamCityBuildType.cs | 2 +- .../Configuration/TeamCityConfiguration.cs | 4 +-- .../TeamCityConfigurationParameter.cs | 2 +- .../TeamCityCustomWriterExtensions.cs | 2 +- .../TeamCityFinishBuildTrigger.cs | 2 +- .../TeamCityKeyValueParameter.cs | 2 +- .../TeamCity/Configuration/TeamCityProject.cs | 2 +- .../TeamCitySnapshotDependency.cs | 2 +- .../TeamCity/DotNetBuildSettingsExtensions.cs | 1 + .../TeamCity/DotNetTestSettingsExtensions.cs | 1 + .../CI/TeamCity/TeamCity.Theming.cs | 2 +- src/Fallout.Common/CI/TeamCity/TeamCity.cs | 6 ++-- .../CI/TeamCity/TeamCityAttribute.cs | 8 ++--- .../CI/TravisCI/TravisCI.Theming.cs | 4 +-- src/Fallout.Common/ChangeLog/ChangeLog.cs | 2 +- .../ChangeLog/ChangeLogTasks.cs | 4 +-- src/Fallout.Common/Gitter/GitterTasks.cs | 4 +-- src/Fallout.Common/IO/FtpTasks.cs | 2 +- src/Fallout.Common/IO/HttpTasks.cs | 3 +- src/Fallout.Common/IO/TextTasks.cs | 2 +- src/Fallout.Common/IO/XmlTasks.cs | 5 +-- .../Tools/AzureKeyVault/AzureKeyVault.cs | 2 +- .../AzureSignTool/AzureSignTool.Generated.cs | 1 - .../BenchmarkDotNet.Generated.cs | 1 - .../Tools/Boots/Boots.Generated.cs | 1 - .../Tools/Chocolatey/Chocolatey.Generated.cs | 1 - .../CodeMetrics/CodeMetrics.Generated.cs | 1 - .../Tools/Codecov/Codecov.Generated.cs | 1 - .../Tools/CorFlags/CorFlags.Generated.cs | 1 - .../CoverallsNet/CoverallsNet.Generated.cs | 1 - .../Tools/Coverlet/Coverlet.Generated.cs | 1 - .../Tools/Discord/Discord.Generated.cs | 1 - .../Tools/Discord/DiscordTasks.cs | 2 +- .../Tools/DocFX/DocFX.Generated.cs | 1 - .../Tools/Docker/Docker.Generated.cs | 1 - .../DockerTargetDefinitionExtensions.cs | 6 ++-- .../Tools/DotCover/DotCover.Generated.cs | 1 - .../Tools/DotCover/DotCoverTasks.cs | 2 +- .../DotMemoryUnit/DotMemoryUnit.Generated.cs | 1 - .../Tools/DotNet/DotNet.Generated.cs | 1 - .../DotnetPackaging.Generated.cs | 1 - .../EntityFramework.Generated.cs | 1 - .../Tools/Fixie/Fixie.Generated.cs | 1 - src/Fallout.Common/Tools/Git/Git.Generated.cs | 1 - .../Tools/GitHub/GitHubTasks.cs | 5 +-- .../Tools/GitLink/GitLink.Generated.cs | 1 - .../GitReleaseManager.Generated.cs | 1 - .../Tools/GitVersion/GitVersion.Generated.cs | 1 - .../Tools/GitVersion/GitVersionAttribute.cs | 2 +- .../Tools/GitVersion/GitVersionTasks.cs | 4 +-- .../Tools/Helm/Helm.Generated.cs | 1 - .../Tools/ILRepack/ILRepack.Generated.cs | 1 - .../Tools/InnoSetup/InnoSetup.Generated.cs | 1 - .../Tools/Kubernetes/Kubernetes.Generated.cs | 1 - .../Tools/MSBuild/MSBuild.Generated.cs | 1 - .../Tools/MSBuild/MSBuildTasks.cs | 2 +- .../Tools/MSBuild/MSBuildToolPathResolver.cs | 2 +- .../Tools/MSpec/MSpec.Generated.cs | 1 - .../Tools/MakeNsis/MakeNSIS.Generated.cs | 1 - .../Tools/Mastodon/Mastodon.Generated.cs | 1 - .../Tools/Mastodon/MastodonTasks.cs | 4 +-- .../Tools/MauiCheck/MauiCheck.Generated.cs | 1 - .../Tools/MinVer/MinVer.Generated.cs | 1 - .../Tools/NSwag/NSwag.Generated.cs | 1 - .../Tools/NUnit/NUnit.Generated.cs | 1 - .../NerdbankGitVersioning.Generated.cs | 1 - .../NerdbankGitVersioningTasks.cs | 4 +-- .../Tools/Netlify/Netlify.Generated.cs | 1 - .../Tools/Netlify/NetlifyTasks.cs | 2 +- src/Fallout.Common/Tools/Npm/Npm.Generated.cs | 1 - .../Tools/NuGet/NuGet.Generated.cs | 1 - .../NuGetKeyVaultSignTool.Generated.cs | 1 - .../OctoVersion/OctoVersion.Generated.cs | 1 - .../Tools/OctoVersion/OctoVersionAttribute.cs | 4 +-- .../Tools/OctoVersion/OctoVersionTasks.cs | 4 +-- .../Tools/Octopus/Octopus.Generated.cs | 1 - .../Tools/OpenCover/OpenCover.Generated.cs | 1 - .../Tools/OpenCover/OpenCoverTasks.cs | 2 +- .../Tools/Paket/Paket.Generated.cs | 1 - .../Tools/PowerShell/PowerShell.Generated.cs | 1 - .../Tools/Pulumi/Pulumi.Generated.cs | 1 - .../Tools/Pwsh/Pwsh.Generated.cs | 1 - .../ReportGenerator.Generated.cs | 1 - .../Tools/SignClient/SignClient.Generated.cs | 1 - .../Tools/SignPath/SignPathTasks.cs | 4 +-- .../Tools/SignTool/SignTool.Generated.cs | 1 - .../Tools/SignTool/SignToolTasks.cs | 2 +- .../Tools/Slack/Slack.Generated.cs | 1 - src/Fallout.Common/Tools/Slack/SlackTasks.cs | 4 +-- .../SonarScanner/SonarScanner.Generated.cs | 1 - .../Tools/SpecFlow/SpecFlow.Generated.cs | 1 - .../Tools/Squirrel/Squirrel.Generated.cs | 1 - .../StaticWebApps/StaticWebApps.Generated.cs | 1 - .../Tools/Teams/Teams.Generated.cs | 1 - src/Fallout.Common/Tools/Teams/TeamsTasks.cs | 2 +- .../Tools/TestCloud/TestCloud.Generated.cs | 1 - .../Tools/Twitter/TwitterTasks.cs | 4 +-- .../Tools/Unity/Unity.Generated.cs | 1 - src/Fallout.Common/Tools/Unity/UnityTasks.cs | 6 ++-- .../Tools/VSTest/VSTest.Generated.cs | 1 - .../Tools/VSWhere/VSWhere.Generated.cs | 1 - .../WebConfigTransformRunner.Generated.cs | 1 - .../Tools/Xunit/Xunit.Generated.cs | 2 +- .../Utilities/TemplateUtility.cs | 7 ++-- src/Fallout.Components/ICompile.cs | 4 +-- .../ICreateGitHubRelease.cs | 4 +-- src/Fallout.Components/IHasArtifacts.cs | 2 +- src/Fallout.Components/IHasReports.cs | 2 +- src/Fallout.Components/IPack.cs | 6 ++-- src/Fallout.Components/IPublish.cs | 5 ++- src/Fallout.Components/IReportCoverage.cs | 6 ++-- src/Fallout.Components/ISignPackages.cs | 4 +-- src/Fallout.Components/ITest.cs | 6 ++-- .../CodeGenerationTask.cs | 4 +-- src/Fallout.MSBuildTasks/ContextAwareTask.cs | 2 +- .../EmbedPackagesForSelfContainedTask.cs | 2 +- .../PackPackageToolsTask.cs | 3 +- src/Fallout.ProjectModel/Project.Items.cs | 4 +-- .../Project.Properties.cs | 2 +- src/Fallout.ProjectModel/ProjectModelTasks.cs | 4 +-- .../CodeAnalysisExtensions.cs | 4 +-- .../StronglyTypedSolutionGenerator.cs | 10 +++--- .../CodeGenerator.cs | 8 ++--- .../Generators/DataClassExtensionGenerator.cs | 4 +-- .../Generators/DataClassGenerator.cs | 4 +-- .../Generators/ModelExtensions.cs | 2 +- .../Generators/TaskGenerator.cs | 4 +-- .../Generators/ToolGenerator.cs | 4 +-- .../Generators/WriterExtensions.cs | 4 +-- .../ReferenceUpdater.cs | 4 +-- .../ToolSerializer.cs | 4 +-- .../Writers/ToolWriter.cs | 2 +- src/Fallout.Tooling/ArgumentStringHandler.cs | 4 +-- src/Fallout.Tooling/Configure.cs | 2 +- src/Fallout.Tooling/DelegateHelper.cs | 2 +- src/Fallout.Tooling/Enumeration.cs | 2 +- .../EnumerationJsonConverter.cs | 2 +- src/Fallout.Tooling/NpmToolPathResolver.cs | 2 +- src/Fallout.Tooling/NuGetPackageResolver.cs | 6 ++-- src/Fallout.Tooling/NuGetToolPathResolver.cs | 4 +-- src/Fallout.Tooling/NuGetVersionResolver.cs | 2 +- .../ObjectFromFieldConverter.cs | 2 +- src/Fallout.Tooling/Options.cs | 4 +-- src/Fallout.Tooling/ProcessException.cs | 4 +-- src/Fallout.Tooling/ProcessExtensions.cs | 2 +- src/Fallout.Tooling/ProcessTasks.cs | 4 +-- src/Fallout.Tooling/ToolOptions.Arguments.cs | 4 +-- src/Fallout.Tooling/ToolOptions.Logger.cs | 2 +- src/Fallout.Tooling/ToolOptions.Secrets.cs | 2 +- src/Fallout.Tooling/ToolOptions.cs | 2 +- src/Fallout.Tooling/ToolPathResolver.cs | 2 +- src/Fallout.Tooling/ToolTasks.Logger.cs | 2 +- src/Fallout.Tooling/ToolTasks.Run.cs | 4 +-- src/Fallout.Tooling/ToolTasks.ToolPath.cs | 2 +- src/Fallout.Tooling/ToolingExtensions.cs | 6 ++-- src/Fallout.Tooling/ToolingServices.cs | 2 +- .../ToolingServicesRegistration.cs | 2 +- .../CompressionExtensions.cs | 7 ++-- src/Fallout.Utilities.IO.Globbing/Globbing.cs | 9 ++--- .../GlobbingCaseSensitivity.cs | 2 +- .../HttpClient.Request.cs | 4 +-- .../HttpRequest.Authentication.cs | 4 +-- .../HttpRequest.Content.cs | 2 +- .../HttpRequest.Response.cs | 4 +-- .../HttpResponse.Assert.cs | 4 +-- .../HttpResponse.Body.cs | 4 +-- .../JsonExtensions.cs | 4 +-- .../JsonObject.GetChildren.cs | 2 +- .../JsonObject.GetPropertyValue.cs | 3 +- .../YamlExtensions.cs | 4 +-- src/Fallout.Utilities/ArgumentParser.cs | 4 +-- .../Collections/Array.Deconstruct.cs | 4 +-- .../Collections/Dictionary.AddDictionary.cs | 2 +- .../Collections/Dictionary.AddKeyValue.cs | 4 +-- .../Collections/Dictionary.AsReadOnly.cs | 4 +-- .../Collections/Dictionary.Deconstruct.cs | 2 +- .../Collections/Dictionary.GetOrDefault.cs | 4 +-- .../Collections/Dictionary.SetKeyValue.cs | 4 +-- .../Collections/Dictionary.ToGeneric.cs | 5 +-- .../Collections/Enumerable.AsEnumerable.cs | 4 +-- .../Collections/Enumerable.Concat.cs | 4 +-- .../Collections/Enumerable.Distinct.cs | 4 +-- .../Collections/Enumerable.Emptiness.cs | 4 +-- .../Collections/Enumerable.ForEach.cs | 4 +-- .../Collections/Enumerable.Random.cs | 2 +- .../Collections/Enumerable.Sequence.cs | 4 +-- .../Enumerable.SingleOrDefaultOrError.cs | 4 +-- .../Collections/Enumerable.TakeUntil.cs | 4 +-- .../Collections/Enumerable.ToDictionary.cs | 6 ++-- .../Collections/Enumerable.ToEmptyIfNull.cs | 4 +-- .../Collections/Enumerable.ToLookupTable.cs | 4 +-- .../Collections/Enumerable.TopologicalSort.cs | 4 +-- .../Collections/Enumerable.WhereNotNull.cs | 4 +-- .../Collections/Lookup.ToLookupTable.cs | 4 +-- .../Collections/LookupTable.cs | 5 +-- .../Collections/Object.DescendantsAndSelf.cs | 4 +-- .../Object.ToPropertyDictionary.cs | 2 +- src/Fallout.Utilities/DelegateDisposable.cs | 2 +- .../Disposable.CombineWith.cs | 2 +- .../EnvironmentInfo.Arguments.cs | 4 +-- .../EnvironmentInfo.Platform.cs | 4 +-- .../EnvironmentInfo.SpecialFolder.cs | 6 ++-- .../EnvironmentInfo.Variables.cs | 6 ++-- src/Fallout.Utilities/EnvironmentInfo.cs | 6 ++-- src/Fallout.Utilities/Exception.Unwrap.cs | 2 +- .../IO/AbsolutePath.Children.cs | 7 ++-- .../IO/AbsolutePath.Create.cs | 4 +-- .../IO/AbsolutePath.Delete.cs | 6 ++-- .../IO/AbsolutePath.Exists.cs | 7 ++-- .../IO/AbsolutePath.Extension.cs | 8 ++--- src/Fallout.Utilities/IO/AbsolutePath.Find.cs | 7 ++-- src/Fallout.Utilities/IO/AbsolutePath.Hash.cs | 5 +-- src/Fallout.Utilities/IO/AbsolutePath.Info.cs | 4 +-- src/Fallout.Utilities/IO/AbsolutePath.Misc.cs | 4 +-- .../IO/AbsolutePath.MoveCopy.cs | 7 ++-- .../IO/AbsolutePath.ReadWrite.cs | 7 ++-- src/Fallout.Utilities/IO/AbsolutePath.Time.cs | 5 +-- src/Fallout.Utilities/IO/AbsolutePath.cs | 7 ++-- .../IO/IAbsolutePathHolder.cs | 2 +- src/Fallout.Utilities/IO/PathConstruction.cs | 9 ++--- src/Fallout.Utilities/IO/RelativePath.cs | 5 +-- src/Fallout.Utilities/IO/UnixRelativePath.cs | 4 +-- src/Fallout.Utilities/IO/WinRelativePath.cs | 4 +-- src/Fallout.Utilities/Lazy.cs | 4 +-- src/Fallout.Utilities/Object.Apply.cs | 2 +- src/Fallout.Utilities/Object.Clone.cs | 2 +- src/Fallout.Utilities/Object.When.cs | 4 +-- .../Reflection/Assembly.Versioning.cs | 3 +- .../ReflectionUtility.Conversion.cs | 7 ++-- .../ReflectionUtility.DisplayText.cs | 6 ++-- .../ReflectionUtility.Expressions.cs | 4 +-- .../ReflectionUtility.Invocation.cs | 7 ++-- .../Reflection/ReflectionUtility.cs | 5 +-- .../Reflection/ResourceUtility.cs | 5 +-- .../Security/EncryptionUtility.cs | 3 +- src/Fallout.Utilities/Task.WaitAll.cs | 4 +-- .../Text/String.Capitalize.cs | 2 +- .../Text/String.Emptiness.cs | 2 +- src/Fallout.Utilities/Text/String.Escape.cs | 3 +- src/Fallout.Utilities/Text/String.GetHash.cs | 2 +- src/Fallout.Utilities/Text/String.Indent.cs | 2 +- src/Fallout.Utilities/Text/String.IndexOf.cs | 4 +-- src/Fallout.Utilities/Text/String.Join.cs | 3 +- .../Text/String.KnownWords.cs | 2 +- .../Text/String.PrependAppend.cs | 2 +- src/Fallout.Utilities/Text/String.Quoting.cs | 2 +- src/Fallout.Utilities/Text/String.Repeat.cs | 4 +-- src/Fallout.Utilities/Text/String.Replace.cs | 2 +- src/Fallout.Utilities/Text/String.Split.cs | 2 +- .../Text/String.StartsEndsContains.cs | 2 +- src/Fallout.Utilities/Text/String.Trim.cs | 2 +- src/Fallout.Utilities/Text/String.Truncate.cs | 2 +- .../Text/Xml/XElement.GetAttributeValue.cs | 5 +-- .../Text/Xml/XNode.XPathEvaluateValue.cs | 4 +-- .../Text/Xml/XmlExtensions.cs | 5 +-- src/Fallout.Utilities/Url.WithUtmValues.cs | 5 +-- src/Persistence/Fallout.Solution/Model.cs | 4 +-- .../SolutionModelExtensions.cs | 4 +-- .../Utilities/DelegateDisposable.cs | 7 ++-- .../Consumers/Fallout.Consumer.Local/Build.cs | 1 - .../Fallout.Build.Tests/BuildExecutorTest.cs | 2 +- .../CompletionUtilityTest.cs | 4 +-- tests/Fallout.Build.Tests/HostInitializer.cs | 2 +- .../ParameterServiceTest.cs | 6 ++-- .../Fallout.Build.Tests/SchemaUtilityTest.cs | 4 +-- .../BuildProjectResolverTests.cs | 4 +-- .../Fallout.Cli.Tests/CakeConversionTests.cs | 4 +-- .../UpdateSolutionFileContentTests.cs | 2 +- .../cake-scripts/default-target.verified.cs | 12 +++---- .../cake-scripts/globbing.verified.cs | 12 +++---- .../cake-scripts/parameters.verified.cs | 12 +++---- .../cake-scripts/paths.verified.cs | 12 +++---- .../cake-scripts/references.verified.cs | 12 +++---- .../cake-scripts/targets.verified.cs | 12 +++---- .../cake-scripts/tool-invocation.verified.cs | 12 +++---- .../CI/ConfigurationGenerationTest.cs | 2 +- .../ChangelogTasksTest.cs | 4 +-- tests/Fallout.Common.Tests/GitHubTasksTest.cs | 2 +- .../GitVersionParseTest.cs | 2 +- tests/Fallout.Common.Tests/SettingsTest.cs | 4 +-- .../AnalyzerTestHarness.cs | 2 +- .../ProjectModelTest.cs | 4 +-- tests/Fallout.Solution.Tests/SolutionTest.cs | 6 ++-- ...nGeneratorTest.Test#Solution.g.verified.cs | 2 +- .../ArgumentStringHandlerTest.cs | 2 +- .../NuGetPackageResolverTest.cs | 2 +- tests/Fallout.Tooling.Tests/OptionsTest.cs | 4 +-- .../ToolOptionsArgumentsTest.cs | 4 +-- .../ToolTasksToolPathTest.cs | 1 + .../Collections/DictionaryExtensionsTest.cs | 4 +-- .../Collections/EnumerableExtensionsTest.cs | 4 +-- .../Collections/LookupTableTest.cs | 4 +-- .../EncryptionUtilityTest.cs | 2 +- .../EnvironmentInfoTest.cs | 4 +-- .../IO/CompressionTasksTest.cs | 2 +- .../IO/FileSystemDependentTest.cs | 2 +- .../IO/MoveCopyTest.cs | 6 ++-- .../IO/PathConstructionTest.cs | 4 +-- .../Reflection/ReflectionUtilityTest.cs | 4 +-- .../Text/SerializationTest.cs | 7 ++-- .../Text/StringExtensionsTest.cs | 4 +-- .../SampleConsumerBuild.cs | 3 +- tools/OnionRewriter/Program.cs | 35 +++++++++---------- 438 files changed, 754 insertions(+), 764 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 268b5bcd6..f265b9bb5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - **Step 4a (Application ring — composition components)**: the build-composition interface family (`ICompile`, `IRestore`, `IPack`, `IPublish`, `ITest`, `IHas*`, `Configuration`, …), previously `Fallout.Components`, moves to **`Fallout.Application.Components`** — it composes the tool/CI vocabulary and so belongs in the Application ring. Native consumers rewrite `using Fallout.Components;` → `using Fallout.Application.Components;`. The `Nuke.Components` transition shim is unaffected for consumers: its public `Nuke.Components.*` face is unchanged (the shim generator's source prefix was repointed to the new namespace). The `Fallout.Components` **assembly/project** keeps its filename until the later mechanical rename step. - **Step 4b (tool vocabulary → Application; executor → Infrastructure)**: the tool wrappers `Fallout.Common.Tools.*` (60+ wrappers) and the tool vocabulary they build on (`ToolTasks`, `ToolOptions`, `Output`, `Configure`, the `IProcess`/`IProcessRunner` ports, requirement/attribute types) move to **`Fallout.Application.Tools.*`** / **`Fallout.Application.Tooling`**. The impure executor that shared the `Fallout.Common.Tooling` namespace — `ProcessTasks`, `SystemProcessRunner`, `Process2`, `ProcessExtensions`, `ToolExecutor`, and the tool/package/version resolvers — moves to **`Fallout.Infrastructure.Tooling`**. Native consumers rewrite `using Fallout.Common.Tools.*;` → `using Fallout.Application.Tools.*;` and `using Fallout.Common.Tooling;` → `using Fallout.Application.Tooling;` (plus `using Fallout.Infrastructure.Tooling;` where they touch the executor directly). The `Nuke.Common.Tools`/`…Tooling` shim aliases lapse (the generator only mirrors the `Fallout.Common.*` prefix), pending the deferred migration/shim redesign. Assembly/project files (`Fallout.Common`, `Fallout.Tooling`) are unchanged; only namespaces moved. - **Step 4b-follow-up (port inversion + Application-ring fitness gate)**: the impure tool-execution services now sit behind ports in `Fallout.Application.Tooling` — **`IProcessExecutor`**, **`IToolPathResolver`**, **`IToolVersionResolver`**, resolved via the new **`ToolingServices`** locator; Infrastructure registers thin adapters into it through a module initializer. The Application ring (tool wrappers, `ToolTasks`, `ToolResolver`, requirement/version attributes, build orchestration) no longer references `Fallout.Infrastructure.*`. `ProcessExtensions` (pure `IProcess`/`Output` helpers — `AssertWaitForExit`, `StdToJson`, …) was reclassified from Infrastructure back to `Fallout.Application.Tooling`. A NetArchTest fitness test (new `Fallout.Architecture.Tests`) asserts `Fallout.Application.*` ⊥ `Fallout.Infrastructure.*` and guards it. (Catch-all `Fallout.Common.*` code outside the Application ring — e.g. CI host adapters, single-file/path-check attributes — still reaches Infrastructure and is addressed when those namespaces get a ring in step 5.) + - **Step 5a (the `Fallout.Kernel` ring)**: the shared utility/IO layer — pure helpers (collections, string/text, reflection, `Assert`-adjacent guards, crypto, JSON/YAML), the `AbsolutePath`/`RelativePath` value types **and their fluent filesystem operations** (`.ReadAllText`/`.GlobFiles`/`.CreateDirectory`/…), plus HTTP/compression helpers — moves from `Fallout.Common.Utilities*` / `Fallout.Common.IO` to **`Fallout.Kernel`** / **`Fallout.Kernel.IO`** / **`Fallout.Kernel.Collections`** / **`Fallout.Kernel.Net`**, the innermost shared ring that the Domain/Application/Infrastructure rings build on. Native consumers rewrite `using Fallout.Common.Utilities;` → `using Fallout.Kernel;` (and `.Collections`/`.Net`) and `using Fallout.Common.IO;` → `using Fallout.Kernel.IO;`. **Filesystem is treated as a kernel-level capability** (like the BCL `File`/`Directory`): the fluent `AbsolutePath` API is used pervasively across the Application ring, so routing it through ports would be impractical and anti-ergonomic — it stays in Kernel rather than moving to Infrastructure. Pushing the genuinely-external adapters (HTTP/FTP, compression) further out to Infrastructure is deferred for the same reason (they need the same ports decision). The `Fallout.Utilities` assembly/project keeps its filename until the later mechanical rename to `Fallout.Kernel`; a few root-`Fallout.Common` guards (`Assert`, `NotNull`, `EnvironmentInfo`) remain in the dissolving catch-all for now and fold into Kernel later. - **Adopted calendar versioning (`YYYY.MINOR.PATCH`) + dual-pace channel model; retired the v11 numbering** ([ADR-0004](docs/adr/0004-calendar-versioning-and-dual-pace-channels.md)). Fallout now ships on calendar versions (`2026.0.0`, `2026.1.0`, …) — mechanically valid SemVer with the major equal to the calendar year. **Breaking changes are batched to the yearly major cut**; mid-year stable releases (`release/YYYY`) are strictly non-breaking. `main` becomes the published **edge** channel (date-stamped prereleases to GitHub Packages); the slow/stable track lives on `release/YYYY`. Opt-in unstable APIs are marked `[Experimental("FALLOUT0xx")]`. - **Migration / impact**: the `11.0.x` packages never shipped a clean stable release (all unlisted), so this strands no stable consumers. The headline content previously slated for "v11" now ships as **`2026.0.0`**. Any tooling pinned to a `[11.0,12.0)`-style range should retarget the `2026.x` line. - **Legacy unaffected**: the `release/v10` line stays on semver `10.x` and continues to receive security/critical fixes — v10 consumers do nothing. diff --git a/build/Build.CodeGeneration.cs b/build/Build.CodeGeneration.cs index 86f97b668..99b5e9126 100644 --- a/build/Build.CodeGeneration.cs +++ b/build/Build.CodeGeneration.cs @@ -1,12 +1,12 @@ using System; -using Fallout.Common.IO; -using Fallout.Common.Utilities.Collections; using static Fallout.CodeGeneration.CodeGenerator; using static Fallout.CodeGeneration.ReferenceUpdater; using static Fallout.Application.Tools.Git.GitTasks; using Fallout.Application; using Fallout.Application.Tools.Git; using Fallout.Application.Tools.GitHub; +using Fallout.Kernel.IO; +using Fallout.Kernel.Collections; partial class Build { diff --git a/build/Build.Contributors.cs b/build/Build.Contributors.cs index 23195d1db..02ed4562e 100644 --- a/build/Build.Contributors.cs +++ b/build/Build.Contributors.cs @@ -1,12 +1,12 @@ using System.Linq; using System.Text; using Fallout.Common; -using Fallout.Common.IO; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Collections; using static Fallout.Application.Tools.Git.GitTasks; using Fallout.Application; using Fallout.Application.Tools.Git; +using Fallout.Kernel.IO; +using Fallout.Kernel.Collections; +using Fallout.Kernel; partial class Build { diff --git a/build/Build.GlobalSolution.cs b/build/Build.GlobalSolution.cs index 73129448d..ae2da54ac 100644 --- a/build/Build.GlobalSolution.cs +++ b/build/Build.GlobalSolution.cs @@ -2,16 +2,16 @@ using System.Collections.Generic; using System.IO; using System.Linq; -using Fallout.Common.IO; using Fallout.Solutions; -using Fallout.Common.Utilities; -using Fallout.Utilities.Text.Yaml; +using Fallout.Kernel; using static Fallout.Application.ControlFlow; using static Fallout.Application.Tools.Git.GitTasks; using Fallout.Application; using Fallout.Application.Git; using Fallout.Application.Tools.Git; using Fallout.Application.Tools.GitHub; +using Fallout.Kernel.IO; +using Fallout.Kernel.Text.Yaml; partial class Build { diff --git a/build/Build.Licenses.cs b/build/Build.Licenses.cs index 1fb0f96ca..257e59030 100644 --- a/build/Build.Licenses.cs +++ b/build/Build.Licenses.cs @@ -1,11 +1,11 @@ using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; -using Fallout.Common.IO; using Serilog; -using static Fallout.Common.IO.HttpTasks; +using static Fallout.Kernel.IO.HttpTasks; using Fallout.Application; using Fallout.Application.Components; +using Fallout.Kernel.IO; partial class Build { diff --git a/build/Build.PublicApi.cs b/build/Build.PublicApi.cs index 9872fc984..35613d423 100644 --- a/build/Build.PublicApi.cs +++ b/build/Build.PublicApi.cs @@ -3,10 +3,10 @@ using System.Reflection; using System.Text; using Fallout.Common; -using Fallout.Common.IO; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Collections; using Fallout.Application; +using Fallout.Kernel.IO; +using Fallout.Kernel.Collections; +using Fallout.Kernel; partial class Build { diff --git a/build/Build.RunTargetInDockerTest.cs b/build/Build.RunTargetInDockerTest.cs index 0d74c3602..847b568b7 100644 --- a/build/Build.RunTargetInDockerTest.cs +++ b/build/Build.RunTargetInDockerTest.cs @@ -1,9 +1,9 @@ using System; using Fallout.Common; -using Fallout.Common.Utilities; using Serilog; using Fallout.Application; using Fallout.Application.Tools.Docker; +using Fallout.Kernel; partial class Build { diff --git a/build/Build.Stargazers.cs b/build/Build.Stargazers.cs index a1b60f99c..bad3eee7c 100644 --- a/build/Build.Stargazers.cs +++ b/build/Build.Stargazers.cs @@ -1,9 +1,9 @@ using System.Linq; using System.Threading.Tasks; -using Fallout.Common.IO; -using Fallout.Common.Utilities; using Fallout.Application; using Fallout.Application.Tools.GitHub; +using Fallout.Kernel.IO; +using Fallout.Kernel; partial class Build { diff --git a/build/Build.cs b/build/Build.cs index 0dba77d3d..e3b53386f 100644 --- a/build/Build.cs +++ b/build/Build.cs @@ -4,9 +4,7 @@ using NuGet.Packaging; using Fallout.Common; using Fallout.Common.CI.GitHubActions; -using Fallout.Common.IO; using Fallout.Solutions; -using Fallout.Common.Utilities; using static Fallout.Application.ControlFlow; using static Fallout.Application.Tools.DotNet.DotNetTasks; using Fallout.Application; @@ -18,6 +16,8 @@ using Fallout.Application.Tooling; using Fallout.Infrastructure.Tooling; using Fallout.Application.Tools.GitHub; +using Fallout.Kernel.IO; +using Fallout.Kernel; [DotNetVerbosityMapping] [ShutdownDotNetAfterServerBuild] diff --git a/docs/spikes/0003-onion-infrastructure-ring.md b/docs/spikes/0003-onion-infrastructure-ring.md index f80ad20d3..8b1f78fd0 100644 --- a/docs/spikes/0003-onion-infrastructure-ring.md +++ b/docs/spikes/0003-onion-infrastructure-ring.md @@ -1,6 +1,6 @@ # Spike 0003 — Onion realignment: the Infrastructure ring (steps 3–5) -- **Status:** In progress — step 3 done; **steps 4a (Components), 4b (Tools/Tooling), and the 4b port-inversion follow-up done** (Application ring is now free of `Fallout.Infrastructure.*`, guarded by a fitness test); step 5 (CI/IO/ProjectModel/Solution → Infrastructure + Utilities split / kernel) remains. +- **Status:** In progress — step 3, 4a, 4b + inversion done; **step 5a (`Fallout.Kernel` ring) done** (shared utilities/IO/path-value-types → `Fallout.Kernel.*` namespaces, green). Remaining: 5b CI→Infra, 5c ProjectModel/Solution→Infra; then the deferred project-FILE renames (incl. `Fallout.Utilities`→`Fallout.Kernel` assembly) + `Nuke.*` shim/migration redesign. On branch `spike/onion-kernel` (stacked on `spike/onion-infrastructure`). - **Date:** 2026-05-31 (updated 2026-06-01) - **Decision record:** [ADR-0006](../adr/0006-onion-layering-and-namespace-realignment.md) - **Channel:** `experimental` (branch `spike/onion-infrastructure`) @@ -36,6 +36,16 @@ experimental **4b-follow-up — port inversion + Application-ring fitness gate.** Ports in `Fallout.Application.Tooling` (`IProcessExecutor`, `IToolPathResolver`, `IToolVersionResolver`) behind a `ToolingServices` locator; Infrastructure registers thin adapters via a `[ModuleInitializer]` (polyfilled for the `netstandard2.0` TFM). All ~18 Application-ring call sites (process exec, path/package/version resolution, the config-push from `BuildManager`/`ToolRequirementService`) routed through the ports. `ProcessExtensions` reclassified Infra→`Application.Tooling` (it's pure `IProcess`/`Output` vocabulary the App ring calls everywhere — a 4b mis-classification). New `tests/Fallout.Architecture.Tests` runs a NetArchTest gate: `Fallout.Application.*` ⊥ `Fallout.Infrastructure.*` (green). Lessons learned: the fitness test must live in its OWN project — loading every ring's assembly into a project that also has `AppDomain.GetAssemblies()`-scan tests (e.g. `SchemaUtilityTest` in `Fallout.Build.Tests`) perturbs those snapshots; and extension methods are silent cross-ring deps the grep misses — the gate (IL analysis) is the real oracle. Catch-all `Fallout.Common.*` code outside the Application ring (CI host adapters, `HandleSingleFileExecution`/`CheckPathEnvironmentVariable` attributes, `Fallout.Cli` composition root, `Fallout.MSBuildTasks`) still reaches Infrastructure — out of the gate's scope; folds in with step 5 as those namespaces get rings. + +### Remaining (this ring) — step 5, now sub-divided +**Kernel decision (maintainer, 2026-06-01): a new `Fallout.Kernel`** — innermost shared ring below Application; Domain/Application/Infrastructure all depend on it. Pure shared value-types live here so the Application ring keeps compiling when IO moves outward (else the new fitness gate fails). Sub-steps: +- **5a — `Fallout.Kernel`** ✅ DONE (namespace move; 437 files, green; gate still passes). The foundational move. **Filesystem-line decision (maintainer, 2026-06-01): filesystem IS a kernel-level capability** (like the BCL's `File`/`Directory`) — Kernel keeps `AbsolutePath` *and* its fluent file ops (`.ReadAllText`/`.GlobFiles`/`.CreateDirectory`/…); only the genuinely-EXTERNAL adapters go to Infrastructure (HTTP/FTP = `Fallout.Utilities.Net` + `Common.IO` Http/Ftp tasks; compression = `Fallout.Utilities.IO.Compression`). Rationale: the fluent `AbsolutePath` API is used pervasively across the Application ring; routing it through an `IFileSystem` port would be hundreds of call sites and kill the ergonomics, and putting it in Infrastructure would fail the new Application-ring fitness gate. + - **Kernel contents** (~65+ files): all pure Utilities (`Collections`, `Text`/string, `Reflection`, `Assert`/`AsyncHelper`/`ArgumentParser`/`EncryptionUtility`/`ResourceUtility`/…); `AbsolutePath`/`RelativePath`/`PathConstruction` + ALL `AbsolutePath` extensions incl. filesystem; `EnvironmentInfo` (whole); `Globbing`; `GlobbingCaseSensitivity`. Namespaces `Fallout.Common.Utilities*`/`Fallout.Common.IO` → `Fallout.Kernel.*`. + - **To Infrastructure**: `Fallout.Utilities.Net` (HTTP), `Fallout.Utilities.IO.Compression`, and `Common.IO`'s `HttpTasks`/`FtpTasks`. The `Common.IO` namespace thus SPLITS per-type (filesystem→Kernel, Http/Ftp→Infra) — needs the rewriter's per-type overrides again. + - **Caveats**: `AbsolutePathExtensions` is one partial class across ~11 files — it must move WHOLE (can't span assemblies), so it goes entirely to Kernel (fine, since filesystem=Kernel). **This is the first step that creates a NEW PROJECT / relocates files** (vs. the namespace-only moves of 4a/4b) — likely realized by renaming the existing `Fallout.Utilities` project → `Fallout.Kernel` and consolidating the IO bits, which overlaps the "project-file renames" deferred work. `Fallout.Domain` will gain a dependency on `Fallout.Kernel` (Kernel is innermost-shared). No back-references found from Utilities/IO into Domain/App/Infra (clean to move). +- **5b — CI adapters**: `Fallout.Common.CI.` → `Fallout.Infrastructure.CI.*`. +- **5c — ProjectModel/Solution**: `Fallout.Solutions` namespace → `Fallout.Infrastructure.*`. +- **5d — impure IO executors**: filesystem/glob/compression execution → `Fallout.Infrastructure.*`. 5. **I/O adapters → Infrastructure** — CI host adapters (`Fallout.Common.CI.`) → `Fallout.Infrastructure.CI.*`; `Fallout.Common.IO` + the `Fallout.Utilities.IO/.Net/.Compression/.Globbing` I/O bits → `Fallout.Infrastructure.*`; the `ProcessTasks`/`ToolExecutor` executor side → `Fallout.Infrastructure`; `Fallout.ProjectModel`/`Fallout.Solution` → `Fallout.Infrastructure.*`. ### Design decisions already made (don't relitigate) @@ -64,6 +74,7 @@ These edge cases each cost a build cycle on the Application ring — the general 8. **Classify moved types by their OUTERMOST enclosing type, not the symbol's own name** (found on 4a): a *nested* type's `ContainingNamespace` is the enclosing namespace, so a `{ns}.{Name}` lookup in the moved-set (top-level names only) misses it → it's misclassified as *residual*, which for a source file adds a `using` of the very namespace the move evacuates (dangling → CS0246). Fix: walk `ContainingType` to the top, key the moved-set check on that. Belt-and-suspenders: never add a residual `using` for a namespace not in `surviving`. 9. **Per-type overrides split one namespace across rings** (4b): `Fallout.Common.Tooling` holds both vocabulary (→Application) and executor (→Infrastructure). Prefix rules can't split a namespace, so the mapping became per-TYPE: `targetNs(type)` (override map beats prefix rule) replaced the per-namespace `mapNs`. Namespace *declarations* map by the moved types they declare (`MapDecl` — first moved type wins; blocks are single-ring since each type is its own file). 10. **Lost-ancestor usings** (4b — generalises #6 to non-movable parents): a file in `A.B.C` implicitly sees `A.B`/`A` with no `using`. Moving it to `X.Y.Z` severs that — e.g. `Fallout.Common.Tooling.*` files used `EnvironmentInfo`/`NotNull`/`Assert` from the **`Fallout.Common` root** with no import; after the move they need an explicit `using Fallout.Common;`. Fix: for a source file whose namespace changes, add a `using` for each strict ancestor of the old namespace that is (a) not an ancestor of the new namespace and (b) actually used. **This is the one that costs a whole build cycle if missed** (~160 CS0103/CS1061). +12. **The rewriter can silently miss files when a project fails to fully load** (5a): MSBuildWorkspace didn't analyse a handful of files (Fallout.Tooling/Build.Shared edge cases), leaving ~28 stale refs to a fully-evacuated namespace. A blunt repo-wide `sed` to mop them up OVER-REACHED — it (a) rewrote package-consumer projects (`Consumer.NuGet`) that must keep the *published* namespaces, and (b) rewrote the **Migrate tool's** test-fixture expectations (the `Nuke.*`→`Fallout.Common.*` rebrand contract is separate from the onion moves and deferred), and (c) doesn't do the lost-ancestor `using` fix (§10), so a file whose own namespace changed lost access to `Fallout.Common`-root guards. Lesson: mop up residuals only in genuine source/consumer files, skip package consumers + Migrate fixtures, and re-add `using Fallout.Common;` where a moved file used root guards. Better: fix the workspace-load gap so the rewriter doesn't miss them. 11. **Rewrite crefs too** (4b): doc-comment `` names live in structured trivia — neither the prescan nor the rewriter descends there by default, so cref imports dangle and FQN crefs in the *generated* tool wrappers go stale (~7,600 CS1574/CS1580, non-fatal but review-blocking). Fix: prescan with `descendIntoTrivia: true` (so cref-only type refs still get their `using`), and give the `SyntaxFixer` `visitIntoStructuredTrivia: true` (so qualified cref names remap like any other qualified name). ## Next-session checklist diff --git a/src/Fallout.Build.Shared/CompletionUtility.cs b/src/Fallout.Build.Shared/CompletionUtility.cs index 4c8d5c151..c61539798 100644 --- a/src/Fallout.Build.Shared/CompletionUtility.cs +++ b/src/Fallout.Build.Shared/CompletionUtility.cs @@ -3,10 +3,12 @@ using System.Linq; using System.Text.Json; using System.Text.RegularExpressions; -using Fallout.Common.IO; -using Fallout.Common.Utilities.Collections; +using Fallout.Kernel.IO; +using Fallout.Kernel; +using Fallout.Kernel.Collections; +using Fallout.Common; -namespace Fallout.Common.Utilities; +namespace Fallout.Kernel; public static class CompletionUtility { diff --git a/src/Fallout.Build.Shared/Constants.cs b/src/Fallout.Build.Shared/Constants.cs index 0b5b34454..4abf748c7 100644 --- a/src/Fallout.Build.Shared/Constants.cs +++ b/src/Fallout.Build.Shared/Constants.cs @@ -2,9 +2,9 @@ using System.Collections.Generic; using System.IO; using System.Linq; -using Fallout.Common.IO; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Collections; +using Fallout.Kernel.IO; +using Fallout.Kernel.Collections; +using Fallout.Kernel; namespace Fallout.Common; diff --git a/src/Fallout.Build.Shared/Notifications.cs b/src/Fallout.Build.Shared/Notifications.cs index 78a7302a5..ce3ec82d5 100644 --- a/src/Fallout.Build.Shared/Notifications.cs +++ b/src/Fallout.Build.Shared/Notifications.cs @@ -4,8 +4,8 @@ using System.Text.Json; using System.Threading.Tasks; using Fallout.Common; -using Fallout.Common.IO; -using Fallout.Common.Utilities; +using Fallout.Kernel.IO; +using Fallout.Kernel; namespace Fallout.Build.Shared; diff --git a/src/Fallout.Build/Attributes/ArgumentsFromGitCommitMessageAttribute.cs b/src/Fallout.Build/Attributes/ArgumentsFromGitCommitMessageAttribute.cs index ccfe5a466..b780fe383 100644 --- a/src/Fallout.Build/Attributes/ArgumentsFromGitCommitMessageAttribute.cs +++ b/src/Fallout.Build/Attributes/ArgumentsFromGitCommitMessageAttribute.cs @@ -1,12 +1,12 @@ using System; using System.Collections.Generic; using System.Linq; -using Fallout.Common.Utilities; using Fallout.Application.CI; using Fallout.Application.Git; using Fallout.Application; using Fallout.Common; using Fallout.Application.Tooling; +using Fallout.Kernel; namespace Fallout.Application.Execution; diff --git a/src/Fallout.Build/Attributes/UnsetVisualStudioEnvironmentVariablesAttribute.cs b/src/Fallout.Build/Attributes/UnsetVisualStudioEnvironmentVariablesAttribute.cs index 4bdc1e689..43309d788 100644 --- a/src/Fallout.Build/Attributes/UnsetVisualStudioEnvironmentVariablesAttribute.cs +++ b/src/Fallout.Build/Attributes/UnsetVisualStudioEnvironmentVariablesAttribute.cs @@ -1,7 +1,7 @@ using System; using System.Collections.Generic; using System.Linq; -using Fallout.Common.Utilities.Collections; +using Fallout.Kernel.Collections; namespace Fallout.Application.Execution; diff --git a/src/Fallout.Build/Attributes/VerbosityMappingAttribute.cs b/src/Fallout.Build/Attributes/VerbosityMappingAttribute.cs index 2b9d302bf..008aaaca1 100644 --- a/src/Fallout.Build/Attributes/VerbosityMappingAttribute.cs +++ b/src/Fallout.Build/Attributes/VerbosityMappingAttribute.cs @@ -1,10 +1,10 @@ using System; using System.Collections.Generic; using System.Linq; -using Fallout.Common.Utilities.Collections; using Fallout.Application.Execution; using Fallout.Application; using Fallout.Common; +using Fallout.Kernel.Collections; namespace Fallout.Application.Tooling; diff --git a/src/Fallout.Build/CICD/BuildServerConfigurationGenerationAttributeBase.cs b/src/Fallout.Build/CICD/BuildServerConfigurationGenerationAttributeBase.cs index 4cc009066..bd8334039 100644 --- a/src/Fallout.Build/CICD/BuildServerConfigurationGenerationAttributeBase.cs +++ b/src/Fallout.Build/CICD/BuildServerConfigurationGenerationAttributeBase.cs @@ -2,9 +2,9 @@ using System.Collections.Generic; using System.Linq; using System.Reflection; -using Fallout.Common.Utilities.Collections; using Fallout.Application.Execution; using Fallout.Application; +using Fallout.Kernel.Collections; namespace Fallout.Application.CI; diff --git a/src/Fallout.Build/CICD/CIAttribute.cs b/src/Fallout.Build/CICD/CIAttribute.cs index 8339b38d4..e57efeea0 100644 --- a/src/Fallout.Build/CICD/CIAttribute.cs +++ b/src/Fallout.Build/CICD/CIAttribute.cs @@ -1,10 +1,10 @@ using System; using System.Linq; using System.Reflection; -using Fallout.Common.Utilities; using Fallout.Application.ValueInjection; using Fallout.Application; using Fallout.Common; +using Fallout.Kernel; namespace Fallout.Application.CI; diff --git a/src/Fallout.Build/CICD/ChainedConfigurationAttributeBase.cs b/src/Fallout.Build/CICD/ChainedConfigurationAttributeBase.cs index d7f466c28..710208da9 100644 --- a/src/Fallout.Build/CICD/ChainedConfigurationAttributeBase.cs +++ b/src/Fallout.Build/CICD/ChainedConfigurationAttributeBase.cs @@ -1,9 +1,9 @@ using System; using System.Collections.Generic; using System.Linq; -using Fallout.Common.Utilities.Collections; using Fallout.Application.Execution; using Fallout.Common; +using Fallout.Kernel.Collections; namespace Fallout.Application.CI; diff --git a/src/Fallout.Build/CICD/ConfigurationAttributeBase.cs b/src/Fallout.Build/CICD/ConfigurationAttributeBase.cs index 47d487228..6a90fd241 100644 --- a/src/Fallout.Build/CICD/ConfigurationAttributeBase.cs +++ b/src/Fallout.Build/CICD/ConfigurationAttributeBase.cs @@ -2,12 +2,12 @@ using System.Collections.Generic; using System.IO; using System.Linq; -using Fallout.Common.IO; -using Fallout.Common.Utilities; using static Fallout.Application.CI.BuildServerConfigurationGeneration; using Fallout.Application; using Fallout.Application.Utilities; using Fallout.Application.Execution; +using Fallout.Kernel.IO; +using Fallout.Kernel; namespace Fallout.Application.CI; diff --git a/src/Fallout.Build/CICD/CustomFileWriter.cs b/src/Fallout.Build/CICD/CustomFileWriter.cs index 32442231d..6c04b3d4f 100644 --- a/src/Fallout.Build/CICD/CustomFileWriter.cs +++ b/src/Fallout.Build/CICD/CustomFileWriter.cs @@ -1,7 +1,7 @@ using System; using System.IO; using System.Linq; -using Fallout.Common.Utilities; +using Fallout.Kernel; namespace Fallout.Application.Utilities; diff --git a/src/Fallout.Build/CICD/GenerateBuildServerConfigurationsAttribute.cs b/src/Fallout.Build/CICD/GenerateBuildServerConfigurationsAttribute.cs index cc73a1e42..fa930c7c8 100644 --- a/src/Fallout.Build/CICD/GenerateBuildServerConfigurationsAttribute.cs +++ b/src/Fallout.Build/CICD/GenerateBuildServerConfigurationsAttribute.cs @@ -1,11 +1,11 @@ using System; using System.Collections.Generic; using System.Linq; -using Fallout.Common.Utilities.Collections; using static Fallout.Application.CI.BuildServerConfigurationGeneration; using Fallout.Application.Execution; using Fallout.Application; using Fallout.Common; +using Fallout.Kernel.Collections; namespace Fallout.Application.CI; diff --git a/src/Fallout.Build/CICD/IConfigurationGenerator.cs b/src/Fallout.Build/CICD/IConfigurationGenerator.cs index 232392a4a..16d7b0a63 100644 --- a/src/Fallout.Build/CICD/IConfigurationGenerator.cs +++ b/src/Fallout.Build/CICD/IConfigurationGenerator.cs @@ -1,8 +1,8 @@ using System; using System.Collections.Generic; using System.Linq; -using Fallout.Common.IO; using Fallout.Application.Execution; +using Fallout.Kernel.IO; namespace Fallout.Application.CI; diff --git a/src/Fallout.Build/CICD/InvokeBuildServerConfigurationGenerationAttribute.cs b/src/Fallout.Build/CICD/InvokeBuildServerConfigurationGenerationAttribute.cs index eded48ea1..e4e6399ae 100644 --- a/src/Fallout.Build/CICD/InvokeBuildServerConfigurationGenerationAttribute.cs +++ b/src/Fallout.Build/CICD/InvokeBuildServerConfigurationGenerationAttribute.cs @@ -1,12 +1,12 @@ using System; using System.Collections.Generic; using System.Linq; -using Fallout.Common.IO; using Serilog; using static Fallout.Application.CI.BuildServerConfigurationGeneration; using Fallout.Application.Execution; using Fallout.Application; using Fallout.Application.Tooling; +using Fallout.Kernel.IO; namespace Fallout.Application.CI; diff --git a/src/Fallout.Build/ControlFlow.cs b/src/Fallout.Build/ControlFlow.cs index b289d7fa5..fa010e313 100644 --- a/src/Fallout.Build/ControlFlow.cs +++ b/src/Fallout.Build/ControlFlow.cs @@ -3,9 +3,9 @@ using System.Diagnostics; using System.Linq; using System.Threading.Tasks; -using Fallout.Common.Utilities; using Serilog; using Fallout.Common; +using Fallout.Kernel; #pragma warning disable CS0618 // ReSharper disable CompareNonConstrainedGenericWithNull diff --git a/src/Fallout.Build/Execution/BuildExecutor.cs b/src/Fallout.Build/Execution/BuildExecutor.cs index bbffb95f6..6143130e9 100644 --- a/src/Fallout.Build/Execution/BuildExecutor.cs +++ b/src/Fallout.Build/Execution/BuildExecutor.cs @@ -2,13 +2,13 @@ using System.Collections.Generic; using System.IO; using System.Linq; -using Fallout.Common.IO; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Collections; using Fallout.Domain.Execution; using Serilog; using Fallout.Application; using Fallout.Common; +using Fallout.Kernel.IO; +using Fallout.Kernel.Collections; +using Fallout.Kernel; namespace Fallout.Application.Execution; diff --git a/src/Fallout.Build/Execution/BuildManager.cs b/src/Fallout.Build/Execution/BuildManager.cs index 65070afc2..93e1997fd 100644 --- a/src/Fallout.Build/Execution/BuildManager.cs +++ b/src/Fallout.Build/Execution/BuildManager.cs @@ -5,12 +5,12 @@ using System.Runtime.CompilerServices; using System.Text; using Microsoft.Extensions.DependencyModel; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Collections; using Fallout.Domain.Execution; using Serilog; using Fallout.Application; using Fallout.Application.Tooling; +using Fallout.Kernel.Collections; +using Fallout.Kernel; #pragma warning disable CA2255 namespace Fallout.Application.Execution; diff --git a/src/Fallout.Build/Execution/DelegateRequirementService.cs b/src/Fallout.Build/Execution/DelegateRequirementService.cs index 6b172d476..622d0ff94 100644 --- a/src/Fallout.Build/Execution/DelegateRequirementService.cs +++ b/src/Fallout.Build/Execution/DelegateRequirementService.cs @@ -3,11 +3,11 @@ using System.Linq; using System.Linq.Expressions; using System.Reflection; -using Fallout.Common.Utilities; using Fallout.Application; using Fallout.Application.ValueInjection; using Fallout.Application.Utilities; using Fallout.Common; +using Fallout.Kernel; namespace Fallout.Application.Execution; diff --git a/src/Fallout.Build/Execution/ExecutableTarget.cs b/src/Fallout.Build/Execution/ExecutableTarget.cs index 04ee81e6c..f9153ed7d 100644 --- a/src/Fallout.Build/Execution/ExecutableTarget.cs +++ b/src/Fallout.Build/Execution/ExecutableTarget.cs @@ -4,10 +4,10 @@ using System.Linq; using System.Linq.Expressions; using System.Reflection; -using Fallout.Common.Utilities.Collections; using Fallout.Domain.Execution; using Fallout.Application; using Fallout.Application.Tooling; +using Fallout.Kernel.Collections; // ReSharper disable MissingBaseTypeHighlighting namespace Fallout.Application.Execution; diff --git a/src/Fallout.Build/Execution/ExecutableTargetFactory.cs b/src/Fallout.Build/Execution/ExecutableTargetFactory.cs index 0360f1223..9b97217e6 100644 --- a/src/Fallout.Build/Execution/ExecutableTargetFactory.cs +++ b/src/Fallout.Build/Execution/ExecutableTargetFactory.cs @@ -3,10 +3,10 @@ using System.Linq; using System.Linq.Expressions; using System.Reflection; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Collections; using Fallout.Application; using Fallout.Common; +using Fallout.Kernel.Collections; +using Fallout.Kernel; namespace Fallout.Application.Execution; diff --git a/src/Fallout.Build/Execution/ExecutionPlanner.cs b/src/Fallout.Build/Execution/ExecutionPlanner.cs index 0fd9f8437..f94039ace 100644 --- a/src/Fallout.Build/Execution/ExecutionPlanner.cs +++ b/src/Fallout.Build/Execution/ExecutionPlanner.cs @@ -1,12 +1,12 @@ using System; using System.Collections.Generic; using System.Linq; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Collections; using Fallout.Domain.Execution; using Fallout.Domain.Planning; using Fallout.Application; using Fallout.Common; +using Fallout.Kernel.Collections; +using Fallout.Kernel; namespace Fallout.Application.Execution; diff --git a/src/Fallout.Build/Execution/Extensibility/ValueInjectionAttributeBase.cs b/src/Fallout.Build/Execution/Extensibility/ValueInjectionAttributeBase.cs index d744ac618..6b8ce3706 100644 --- a/src/Fallout.Build/Execution/Extensibility/ValueInjectionAttributeBase.cs +++ b/src/Fallout.Build/Execution/Extensibility/ValueInjectionAttributeBase.cs @@ -1,10 +1,10 @@ using System; using System.Linq; using System.Reflection; -using Fallout.Common.Utilities; using Serilog; using Fallout.Application; using Fallout.Common; +using Fallout.Kernel; namespace Fallout.Application.ValueInjection; diff --git a/src/Fallout.Build/Execution/Extensions/ArgumentsFromParametersFileAttribute.cs b/src/Fallout.Build/Execution/Extensions/ArgumentsFromParametersFileAttribute.cs index 91ce7f91a..2155466d8 100644 --- a/src/Fallout.Build/Execution/Extensions/ArgumentsFromParametersFileAttribute.cs +++ b/src/Fallout.Build/Execution/Extensions/ArgumentsFromParametersFileAttribute.cs @@ -4,14 +4,14 @@ using System.Linq; using System.Text.Json; using System.Text.Json.Nodes; -using Fallout.Common.IO; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Collections; using Fallout.Application; using Fallout.Application.ValueInjection; using Fallout.Application.Utilities; using Fallout.Application.CI; using Fallout.Common; +using Fallout.Kernel.IO; +using Fallout.Kernel.Collections; +using Fallout.Kernel; namespace Fallout.Application.Execution; diff --git a/src/Fallout.Build/Execution/Extensions/HandleHelpRequestsAttribute.cs b/src/Fallout.Build/Execution/Extensions/HandleHelpRequestsAttribute.cs index f5bac5aaf..92de9dcf2 100644 --- a/src/Fallout.Build/Execution/Extensions/HandleHelpRequestsAttribute.cs +++ b/src/Fallout.Build/Execution/Extensions/HandleHelpRequestsAttribute.cs @@ -3,9 +3,9 @@ using System.Linq; using System.Reflection; using System.Text; -using Fallout.Common.Utilities; using Fallout.Application; using Fallout.Application.ValueInjection; +using Fallout.Kernel; namespace Fallout.Application.Execution; diff --git a/src/Fallout.Build/Execution/Extensions/HandlePlanRequestsAttribute.cs b/src/Fallout.Build/Execution/Extensions/HandlePlanRequestsAttribute.cs index 91f9dfcd8..ec70ea370 100644 --- a/src/Fallout.Build/Execution/Extensions/HandlePlanRequestsAttribute.cs +++ b/src/Fallout.Build/Execution/Extensions/HandlePlanRequestsAttribute.cs @@ -3,10 +3,10 @@ using System.Diagnostics; using System.Linq; using System.Text; -using Fallout.Common.IO; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Collections; using Fallout.Application.Execution; +using Fallout.Kernel.IO; +using Fallout.Kernel; +using Fallout.Kernel.Collections; namespace Fallout.Application.Execution.Extensions; diff --git a/src/Fallout.Build/Execution/Extensions/HandleReSharperSurrogateArgumentsAttribute.cs b/src/Fallout.Build/Execution/Extensions/HandleReSharperSurrogateArgumentsAttribute.cs index f2732037d..9817a059e 100644 --- a/src/Fallout.Build/Execution/Extensions/HandleReSharperSurrogateArgumentsAttribute.cs +++ b/src/Fallout.Build/Execution/Extensions/HandleReSharperSurrogateArgumentsAttribute.cs @@ -2,9 +2,9 @@ using System.Collections.Generic; using System.IO; using System.Linq; -using Fallout.Common.IO; using Serilog; using Fallout.Common; +using Fallout.Kernel.IO; namespace Fallout.Application.Execution; diff --git a/src/Fallout.Build/Execution/Extensions/HandleShellCompletionAttribute.cs b/src/Fallout.Build/Execution/Extensions/HandleShellCompletionAttribute.cs index 6ebb6aa26..503ed5204 100644 --- a/src/Fallout.Build/Execution/Extensions/HandleShellCompletionAttribute.cs +++ b/src/Fallout.Build/Execution/Extensions/HandleShellCompletionAttribute.cs @@ -1,12 +1,13 @@ using System; using System.Collections.Generic; using System.Linq; -using Fallout.Common.IO; -using Fallout.Common.Utilities; +using Fallout.Kernel; using static Fallout.Common.Constants; using Fallout.Application.CI; using Fallout.Application; using Fallout.Common; +using Fallout.Kernel; +using Fallout.Kernel.IO; namespace Fallout.Application.Execution; diff --git a/src/Fallout.Build/Execution/Extensions/HandleVisualStudioDebuggingAttribute.cs b/src/Fallout.Build/Execution/Extensions/HandleVisualStudioDebuggingAttribute.cs index a53759002..e7d15c8a7 100644 --- a/src/Fallout.Build/Execution/Extensions/HandleVisualStudioDebuggingAttribute.cs +++ b/src/Fallout.Build/Execution/Extensions/HandleVisualStudioDebuggingAttribute.cs @@ -3,9 +3,9 @@ using System.Diagnostics; using System.Linq; using System.Threading; -using Fallout.Common.IO; using Fallout.Application; using Fallout.Common; +using Fallout.Kernel.IO; namespace Fallout.Application.Execution; diff --git a/src/Fallout.Build/Execution/Extensions/InjectNonParameterValuesAttribute.cs b/src/Fallout.Build/Execution/Extensions/InjectNonParameterValuesAttribute.cs index 88c896a68..8ef714a07 100644 --- a/src/Fallout.Build/Execution/Extensions/InjectNonParameterValuesAttribute.cs +++ b/src/Fallout.Build/Execution/Extensions/InjectNonParameterValuesAttribute.cs @@ -2,9 +2,9 @@ using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; -using Fallout.Common.Utilities; using Fallout.Application.Execution; using Fallout.Application; +using Fallout.Kernel; namespace Fallout.Application.ValueInjection; diff --git a/src/Fallout.Build/Execution/Extensions/UpdateNotificationAttribute.cs b/src/Fallout.Build/Execution/Extensions/UpdateNotificationAttribute.cs index 03d6c2365..12b29c870 100644 --- a/src/Fallout.Build/Execution/Extensions/UpdateNotificationAttribute.cs +++ b/src/Fallout.Build/Execution/Extensions/UpdateNotificationAttribute.cs @@ -2,10 +2,10 @@ using System.Collections.Generic; using System.IO; using System.Linq; -using Fallout.Common.Utilities; using static Fallout.Common.Constants; using Fallout.Application; using Fallout.Common; +using Fallout.Kernel; namespace Fallout.Application.Execution; diff --git a/src/Fallout.Build/Execution/ParameterService.Statics.cs b/src/Fallout.Build/Execution/ParameterService.Statics.cs index 1f8de8128..493479b31 100644 --- a/src/Fallout.Build/Execution/ParameterService.Statics.cs +++ b/src/Fallout.Build/Execution/ParameterService.Statics.cs @@ -2,8 +2,8 @@ using System.Linq; using System.Linq.Expressions; using System.Reflection; -using Fallout.Common.Utilities; using Fallout.Common; +using Fallout.Kernel; namespace Fallout.Application; diff --git a/src/Fallout.Build/Execution/ParameterService.cs b/src/Fallout.Build/Execution/ParameterService.cs index a002bd2a1..16d7602c3 100644 --- a/src/Fallout.Build/Execution/ParameterService.cs +++ b/src/Fallout.Build/Execution/ParameterService.cs @@ -3,11 +3,11 @@ using System.Linq; using System.Linq.Expressions; using System.Reflection; -using Fallout.Common.Utilities; using Serilog; -using static Fallout.Common.Utilities.ReflectionUtility; +using static Fallout.Kernel.ReflectionUtility; using Fallout.Common; using Fallout.Application.Tooling; +using Fallout.Kernel; namespace Fallout.Application; diff --git a/src/Fallout.Build/Execution/TargetDefinition.cs b/src/Fallout.Build/Execution/TargetDefinition.cs index a7a62e266..61a72f70a 100644 --- a/src/Fallout.Build/Execution/TargetDefinition.cs +++ b/src/Fallout.Build/Execution/TargetDefinition.cs @@ -4,11 +4,11 @@ using System.Linq.Expressions; using System.Reflection; using System.Threading.Tasks; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Collections; using Fallout.Application; using Fallout.Application.Tooling; using Fallout.Common; +using Fallout.Kernel; +using Fallout.Kernel.Collections; namespace Fallout.Application.Execution; diff --git a/src/Fallout.Build/Execution/ToolRequirementService.cs b/src/Fallout.Build/Execution/ToolRequirementService.cs index d53f9c5ce..fd11cc6b3 100644 --- a/src/Fallout.Build/Execution/ToolRequirementService.cs +++ b/src/Fallout.Build/Execution/ToolRequirementService.cs @@ -2,12 +2,12 @@ using System.Collections.Generic; using System.Linq; using System.Reflection; -using Fallout.Common.IO; -using Fallout.Common.Utilities; using Serilog; using Fallout.Application; using Fallout.Common; using Fallout.Application.Tooling; +using Fallout.Kernel.IO; +using Fallout.Kernel; namespace Fallout.Application.Execution; diff --git a/src/Fallout.Build/Execution/ValueInjectionUtility.cs b/src/Fallout.Build/Execution/ValueInjectionUtility.cs index 917489c70..a189c7aca 100644 --- a/src/Fallout.Build/Execution/ValueInjectionUtility.cs +++ b/src/Fallout.Build/Execution/ValueInjectionUtility.cs @@ -3,10 +3,10 @@ using System.Linq; using System.Linq.Expressions; using System.Reflection; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Collections; using Fallout.Application; using Fallout.Common; +using Fallout.Kernel; +using Fallout.Kernel.Collections; namespace Fallout.Application.ValueInjection; diff --git a/src/Fallout.Build/FalloutBuild.Events.cs b/src/Fallout.Build/FalloutBuild.Events.cs index def3548b6..6e18c3018 100644 --- a/src/Fallout.Build/FalloutBuild.Events.cs +++ b/src/Fallout.Build/FalloutBuild.Events.cs @@ -3,10 +3,10 @@ using System.Linq; using System.Linq.Expressions; using System.Reflection; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Collections; using Serilog; using Fallout.Application.Execution; +using Fallout.Kernel.Collections; +using Fallout.Kernel; namespace Fallout.Application; diff --git a/src/Fallout.Build/FalloutBuild.Interface.cs b/src/Fallout.Build/FalloutBuild.Interface.cs index 18e1c6861..8433f2a95 100644 --- a/src/Fallout.Build/FalloutBuild.Interface.cs +++ b/src/Fallout.Build/FalloutBuild.Interface.cs @@ -1,9 +1,9 @@ using System; using System.Collections.Generic; using System.Linq.Expressions; -using Fallout.Common.IO; using Fallout.Application.Execution; using Fallout.Application.ValueInjection; +using Fallout.Kernel.IO; namespace Fallout.Application; diff --git a/src/Fallout.Build/FalloutBuild.Output.cs b/src/Fallout.Build/FalloutBuild.Output.cs index 71a6d64fc..bd767a41b 100644 --- a/src/Fallout.Build/FalloutBuild.Output.cs +++ b/src/Fallout.Build/FalloutBuild.Output.cs @@ -1,7 +1,7 @@ using System; using System.Linq; using System.Reflection; -using Fallout.Common.Utilities; +using Fallout.Kernel; namespace Fallout.Application; diff --git a/src/Fallout.Build/FalloutBuild.Statics.cs b/src/Fallout.Build/FalloutBuild.Statics.cs index 2b7dd692e..8870699e6 100644 --- a/src/Fallout.Build/FalloutBuild.Statics.cs +++ b/src/Fallout.Build/FalloutBuild.Statics.cs @@ -2,13 +2,13 @@ using System.IO; using System.Linq; using System.Reflection; -using Fallout.Common.IO; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Collections; using static Fallout.Common.Constants; using Fallout.Application.Execution; using Fallout.Application.CI; using Fallout.Common; +using Fallout.Kernel.IO; +using Fallout.Kernel; +using Fallout.Kernel.Collections; namespace Fallout.Application; diff --git a/src/Fallout.Build/FalloutBuild.cs b/src/Fallout.Build/FalloutBuild.cs index deeb137a3..929b41faa 100644 --- a/src/Fallout.Build/FalloutBuild.cs +++ b/src/Fallout.Build/FalloutBuild.cs @@ -4,8 +4,6 @@ using System.Linq.Expressions; using System.Reflection; using Fallout.Domain.Execution; -using Fallout.Common.IO; -using Fallout.Common.Utilities; using static Fallout.Common.Constants; using Fallout.Application.Execution; using Fallout.Application.ValueInjection; @@ -13,6 +11,8 @@ using Fallout.Application.Execution.Extensions; using Fallout.Common; using Fallout.Application.Tooling; +using Fallout.Kernel.IO; +using Fallout.Kernel; // ReSharper disable VirtualMemberNeverOverridden.Global diff --git a/src/Fallout.Build/Host.Activation.cs b/src/Fallout.Build/Host.Activation.cs index 88537473f..582cbebea 100644 --- a/src/Fallout.Build/Host.Activation.cs +++ b/src/Fallout.Build/Host.Activation.cs @@ -3,9 +3,9 @@ using System.ComponentModel; using System.Globalization; using System.Linq; -using Fallout.Common.Utilities; using Fallout.Application.Execution; using Fallout.Common; +using Fallout.Kernel; namespace Fallout.Application; diff --git a/src/Fallout.Build/Host.cs b/src/Fallout.Build/Host.cs index 1c99da094..0e5668680 100644 --- a/src/Fallout.Build/Host.cs +++ b/src/Fallout.Build/Host.cs @@ -3,8 +3,6 @@ using System.Globalization; using System.Linq; using Fallout.Domain.Execution; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Collections; using Serilog; using Serilog.Core; using Serilog.Events; @@ -12,6 +10,8 @@ using Fallout.Application.Execution.Theming; using Fallout.Application.Execution; using Fallout.Common; +using Fallout.Kernel.Collections; +using Fallout.Kernel; namespace Fallout.Application; diff --git a/src/Fallout.Build/IFalloutBuild.cs b/src/Fallout.Build/IFalloutBuild.cs index 7d3dadacd..51d0e82fa 100644 --- a/src/Fallout.Build/IFalloutBuild.cs +++ b/src/Fallout.Build/IFalloutBuild.cs @@ -2,10 +2,10 @@ using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; -using Fallout.Common.IO; using Fallout.Application.Execution; using Fallout.Application.CI; using Fallout.Application.Tooling; +using Fallout.Kernel.IO; namespace Fallout.Application; diff --git a/src/Fallout.Build/Logging.cs b/src/Fallout.Build/Logging.cs index 1d91b91c0..b69f00666 100644 --- a/src/Fallout.Build/Logging.cs +++ b/src/Fallout.Build/Logging.cs @@ -2,9 +2,6 @@ using System.Collections.Generic; using System.IO; using System.Linq; -using Fallout.Common.IO; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Collections; using Serilog; using Serilog.Core; using Serilog.Events; @@ -15,6 +12,9 @@ using Fallout.Application.CI; using Fallout.Application.Execution; using Fallout.Common; +using Fallout.Kernel; +using Fallout.Kernel.IO; +using Fallout.Kernel.Collections; namespace Fallout.Application.Execution; diff --git a/src/Fallout.Build/ParameterAttribute.cs b/src/Fallout.Build/ParameterAttribute.cs index 410672017..e318d52fd 100644 --- a/src/Fallout.Build/ParameterAttribute.cs +++ b/src/Fallout.Build/ParameterAttribute.cs @@ -2,8 +2,8 @@ using System.Collections.Generic; using System.Linq; using System.Reflection; -using Fallout.Common.Utilities; using Fallout.Application.ValueInjection; +using Fallout.Kernel; namespace Fallout.Application; diff --git a/src/Fallout.Build/Telemetry/Telemetry.Events.cs b/src/Fallout.Build/Telemetry/Telemetry.Events.cs index db09a1efb..61bec1ca8 100644 --- a/src/Fallout.Build/Telemetry/Telemetry.Events.cs +++ b/src/Fallout.Build/Telemetry/Telemetry.Events.cs @@ -1,12 +1,12 @@ using System; using System.Collections.Generic; using System.Linq; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Collections; using Fallout.Domain.Execution; using Serilog; using Fallout.Application; using Fallout.Common; +using Fallout.Kernel.Collections; +using Fallout.Kernel; namespace Fallout.Application.Execution; diff --git a/src/Fallout.Build/Telemetry/Telemetry.Properties.cs b/src/Fallout.Build/Telemetry/Telemetry.Properties.cs index 0f4648ed1..31882b400 100644 --- a/src/Fallout.Build/Telemetry/Telemetry.Properties.cs +++ b/src/Fallout.Build/Telemetry/Telemetry.Properties.cs @@ -4,8 +4,6 @@ using System.Linq; using System.Reflection; using System.Runtime.InteropServices; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Collections; using Fallout.Application; using Fallout.Application.Git; using Fallout.Application.ValueInjection; @@ -13,6 +11,8 @@ using Fallout.Common; using Fallout.Application.Tooling; using Fallout.Infrastructure.Tooling; +using Fallout.Kernel; +using Fallout.Kernel.Collections; namespace Fallout.Application.Execution; diff --git a/src/Fallout.Build/Telemetry/Telemetry.cs b/src/Fallout.Build/Telemetry/Telemetry.cs index 8323edde9..047c4f30c 100644 --- a/src/Fallout.Build/Telemetry/Telemetry.cs +++ b/src/Fallout.Build/Telemetry/Telemetry.cs @@ -2,12 +2,12 @@ using System.Linq; using System.Reflection; using System.Threading; -using Fallout.Common.IO; using Fallout.Solutions; -using Fallout.Common.Utilities; using static Fallout.Application.ControlFlow; using Fallout.Application; using Fallout.Common; +using Fallout.Kernel; +using Fallout.Kernel.IO; namespace Fallout.Application.Execution; diff --git a/src/Fallout.Build/Terminal.cs b/src/Fallout.Build/Terminal.cs index 4881489fd..a2da41a16 100644 --- a/src/Fallout.Build/Terminal.cs +++ b/src/Fallout.Build/Terminal.cs @@ -1,7 +1,7 @@ using System; using System.Linq; -using Fallout.Common.Utilities; using Fallout.Application; +using Fallout.Kernel; namespace Fallout.Application.Execution; diff --git a/src/Fallout.Build/Theming/AnsiConsoleHostTheme.cs b/src/Fallout.Build/Theming/AnsiConsoleHostTheme.cs index ac3392492..4f8df0148 100644 --- a/src/Fallout.Build/Theming/AnsiConsoleHostTheme.cs +++ b/src/Fallout.Build/Theming/AnsiConsoleHostTheme.cs @@ -1,8 +1,8 @@ using System; using System.Collections.Generic; using System.Linq; -using Fallout.Common.Utilities; using Serilog.Sinks.SystemConsole.Themes; +using Fallout.Kernel; namespace Fallout.Application.Execution.Theming; diff --git a/src/Fallout.Build/Theming/SystemConsoleHostTheme.cs b/src/Fallout.Build/Theming/SystemConsoleHostTheme.cs index 9e247c77b..f898f0e8b 100644 --- a/src/Fallout.Build/Theming/SystemConsoleHostTheme.cs +++ b/src/Fallout.Build/Theming/SystemConsoleHostTheme.cs @@ -1,8 +1,8 @@ using System; using System.Collections.Generic; -using Fallout.Common.Utilities; using Serilog; using Serilog.Sinks.SystemConsole.Themes; +using Fallout.Kernel; namespace Fallout.Application.Execution.Theming; diff --git a/src/Fallout.Build/Utilities/ConsoleUtility.cs b/src/Fallout.Build/Utilities/ConsoleUtility.cs index 8bac101a4..077c28c3a 100644 --- a/src/Fallout.Build/Utilities/ConsoleUtility.cs +++ b/src/Fallout.Build/Utilities/ConsoleUtility.cs @@ -4,7 +4,7 @@ using System.Text; using Fallout.Application; using Fallout.Common; -using Fallout.Common.Utilities; +using Fallout.Kernel; namespace Fallout.Application.Utilities; diff --git a/src/Fallout.Build/Utilities/CredentialStore.cs b/src/Fallout.Build/Utilities/CredentialStore.cs index 301130514..70a599b3e 100644 --- a/src/Fallout.Build/Utilities/CredentialStore.cs +++ b/src/Fallout.Build/Utilities/CredentialStore.cs @@ -2,8 +2,8 @@ using System.Linq; using Fallout.Application; using Fallout.Common; -using Fallout.Common.Utilities; using Fallout.Application.Tooling; +using Fallout.Kernel; namespace Fallout.Application.Utilities; diff --git a/src/Fallout.Build/Utilities/SchemaUtility.cs b/src/Fallout.Build/Utilities/SchemaUtility.cs index a55942bfe..89bf85678 100644 --- a/src/Fallout.Build/Utilities/SchemaUtility.cs +++ b/src/Fallout.Build/Utilities/SchemaUtility.cs @@ -7,14 +7,13 @@ using System.Text.Encodings.Web; using System.Text.Json; using System.Text.Json.Nodes; -using Fallout.Common.IO; -using Fallout.Common.Utilities; using static Fallout.Common.Constants; using Fallout.Application; using Fallout.Application.ValueInjection; using Fallout.Common; using Fallout.Application.Execution; using Fallout.Application.Tooling; +using Fallout.Kernel; namespace Fallout.Application.Execution; diff --git a/src/Fallout.Build/VCS/GitRepository.cs b/src/Fallout.Build/VCS/GitRepository.cs index b966b0865..5db822aa6 100644 --- a/src/Fallout.Build/VCS/GitRepository.cs +++ b/src/Fallout.Build/VCS/GitRepository.cs @@ -2,11 +2,11 @@ using System.Collections.Generic; using System.Linq; using System.Text.RegularExpressions; -using Fallout.Common.IO; -using Fallout.Common.Utilities; using Fallout.Application; using Fallout.Application.CI; using Fallout.Common; +using Fallout.Kernel.IO; +using Fallout.Kernel; namespace Fallout.Application.Git; diff --git a/src/Fallout.Build/VCS/GitRepositoryExtensions.cs b/src/Fallout.Build/VCS/GitRepositoryExtensions.cs index b2de5742e..328432a53 100644 --- a/src/Fallout.Build/VCS/GitRepositoryExtensions.cs +++ b/src/Fallout.Build/VCS/GitRepositoryExtensions.cs @@ -1,6 +1,6 @@ using System; using System.Linq; -using Fallout.Common.Utilities; +using Fallout.Kernel; namespace Fallout.Application.Git; diff --git a/src/Fallout.Cli/BuildProjectResolver.cs b/src/Fallout.Cli/BuildProjectResolver.cs index 98d24e6b4..38986bc00 100644 --- a/src/Fallout.Cli/BuildProjectResolver.cs +++ b/src/Fallout.Cli/BuildProjectResolver.cs @@ -1,8 +1,8 @@ using System.IO; using Fallout.Common; -using Fallout.Common.IO; -using Fallout.Common.Utilities; using static Fallout.Common.Constants; +using Fallout.Kernel.IO; +using Fallout.Kernel; namespace Fallout.Cli; diff --git a/src/Fallout.Cli/Program.AddPackage.cs b/src/Fallout.Cli/Program.AddPackage.cs index 2c02fb17a..a8beb7e0d 100644 --- a/src/Fallout.Cli/Program.AddPackage.cs +++ b/src/Fallout.Cli/Program.AddPackage.cs @@ -1,12 +1,12 @@ using System; using System.Linq; using Fallout.Common; -using Fallout.Common.IO; using Fallout.Solutions; using Fallout.Application.Execution; using Fallout.Application; using Fallout.Infrastructure.Tooling; using Fallout.Application.Tools.DotNet; +using Fallout.Kernel.IO; namespace Fallout.Cli; diff --git a/src/Fallout.Cli/Program.Cake.cs b/src/Fallout.Cli/Program.Cake.cs index e219417f7..e32b1d054 100644 --- a/src/Fallout.Cli/Program.Cake.cs +++ b/src/Fallout.Cli/Program.Cake.cs @@ -4,15 +4,15 @@ using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp; using Fallout.Common; -using Fallout.Common.IO; using Fallout.Solutions; -using Fallout.Common.Utilities; using Fallout.Cli.Rewriting.Cake; using static Fallout.Common.Constants; using static Fallout.Common.EnvironmentInfo; using Fallout.Application.Execution; using Fallout.Application; using Fallout.Infrastructure.Tooling; +using Fallout.Kernel.IO; +using Fallout.Kernel; namespace Fallout.Cli; diff --git a/src/Fallout.Cli/Program.Complete.cs b/src/Fallout.Cli/Program.Complete.cs index d1af3e1fb..485aef70d 100644 --- a/src/Fallout.Cli/Program.Complete.cs +++ b/src/Fallout.Cli/Program.Complete.cs @@ -2,10 +2,11 @@ using System.Collections.Generic; using System.Linq; using Fallout.Common; -using Fallout.Common.IO; -using Fallout.Common.Utilities; -using Fallout.Utilities.Text.Yaml; +using Fallout.Kernel; using static Fallout.Common.Constants; +using Fallout.Kernel.IO; +using Fallout.Kernel; +using Fallout.Kernel.Text.Yaml; namespace Fallout.Cli; diff --git a/src/Fallout.Cli/Program.GetConfiguration.cs b/src/Fallout.Cli/Program.GetConfiguration.cs index 03004adfb..c889bc361 100644 --- a/src/Fallout.Cli/Program.GetConfiguration.cs +++ b/src/Fallout.Cli/Program.GetConfiguration.cs @@ -3,10 +3,10 @@ using System.IO; using System.Linq; using Fallout.Common; -using Fallout.Common.IO; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Collections; using Fallout.Application; +using Fallout.Kernel.IO; +using Fallout.Kernel.Collections; +using Fallout.Kernel; namespace Fallout.Cli; diff --git a/src/Fallout.Cli/Program.Navigation.cs b/src/Fallout.Cli/Program.Navigation.cs index 71f8e53a5..3fd6c15cb 100644 --- a/src/Fallout.Cli/Program.Navigation.cs +++ b/src/Fallout.Cli/Program.Navigation.cs @@ -1,10 +1,10 @@ -using System; +using System; using System.Collections.Generic; using System.IO; using System.Linq; using Fallout.Common; -using Fallout.Common.IO; using static Fallout.Common.Constants; +using Fallout.Kernel.IO; namespace Fallout.Cli; diff --git a/src/Fallout.Cli/Program.Run.cs b/src/Fallout.Cli/Program.Run.cs index a9aefc998..99b2640f2 100644 --- a/src/Fallout.Cli/Program.Run.cs +++ b/src/Fallout.Cli/Program.Run.cs @@ -4,9 +4,9 @@ using System.IO; using System.Linq; using Fallout.Common; -using Fallout.Common.IO; -using Fallout.Common.Utilities; using static Fallout.Common.Constants; +using Fallout.Kernel.IO; +using Fallout.Kernel; namespace Fallout.Cli; diff --git a/src/Fallout.Cli/Program.Secrets.cs b/src/Fallout.Cli/Program.Secrets.cs index 3db43c42d..915440ee4 100644 --- a/src/Fallout.Cli/Program.Secrets.cs +++ b/src/Fallout.Cli/Program.Secrets.cs @@ -3,13 +3,14 @@ using System.Linq; using System.Text.Json.Nodes; using Fallout.Common; -using Fallout.Common.IO; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Collections; +using Fallout.Kernel; using static Fallout.Common.Constants; -using static Fallout.Common.Utilities.EncryptionUtility; +using static Fallout.Kernel.EncryptionUtility; using Fallout.Application; using Fallout.Application.Utilities; +using Fallout.Kernel; +using Fallout.Kernel.IO; +using Fallout.Kernel.Collections; namespace Fallout.Cli; diff --git a/src/Fallout.Cli/Program.Setup.cs b/src/Fallout.Cli/Program.Setup.cs index d9bf028d7..55af7333c 100644 --- a/src/Fallout.Cli/Program.Setup.cs +++ b/src/Fallout.Cli/Program.Setup.cs @@ -5,17 +5,17 @@ using System.Reflection; using System.Text; using Fallout.Common; -using Fallout.Common.IO; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Collections; using Spectre.Console; using static Fallout.Common.Constants; using static Fallout.Common.EnvironmentInfo; using static Fallout.Infrastructure.Tooling.ProcessTasks; -using static Fallout.Common.Utilities.TemplateUtility; +using static Fallout.Kernel.TemplateUtility; using Fallout.Application.Execution; using Fallout.Application; using Fallout.Infrastructure.Tooling; +using Fallout.Kernel; +using Fallout.Kernel.IO; +using Fallout.Kernel.Collections; namespace Fallout.Cli; diff --git a/src/Fallout.Cli/Program.Trigger.cs b/src/Fallout.Cli/Program.Trigger.cs index 9edee1a8e..db1766a1c 100644 --- a/src/Fallout.Cli/Program.Trigger.cs +++ b/src/Fallout.Cli/Program.Trigger.cs @@ -1,10 +1,10 @@ using System; using System.Linq; using Fallout.Common; -using Fallout.Common.IO; -using Fallout.Common.Utilities; using Fallout.Application.Git; using Fallout.Application.Tools.Git; +using Fallout.Kernel.IO; +using Fallout.Kernel; namespace Fallout.Cli; diff --git a/src/Fallout.Cli/Program.Update.cs b/src/Fallout.Cli/Program.Update.cs index 61cf87ad1..4da1fb631 100644 --- a/src/Fallout.Cli/Program.Update.cs +++ b/src/Fallout.Cli/Program.Update.cs @@ -3,13 +3,13 @@ using System.Linq; using System.Text.Json.Nodes; using Fallout.Common; -using Fallout.Common.IO; using Fallout.Solutions; -using Fallout.Common.Utilities; using static Fallout.Common.Constants; using Fallout.Application.Execution; using Fallout.Application; using Fallout.Application.Tools.DotNet; +using Fallout.Kernel.IO; +using Fallout.Kernel; namespace Fallout.Cli; diff --git a/src/Fallout.Cli/Program.cs b/src/Fallout.Cli/Program.cs index f68cda890..561d028bb 100644 --- a/src/Fallout.Cli/Program.cs +++ b/src/Fallout.Cli/Program.cs @@ -3,10 +3,10 @@ using System.Linq; using System.Text; using Fallout.Common; -using Fallout.Common.IO; -using Fallout.Common.Utilities; using Spectre.Console; using Fallout.Application; +using Fallout.Kernel.IO; +using Fallout.Kernel; namespace Fallout.Cli; diff --git a/src/Fallout.Cli/ProjectUpdater.cs b/src/Fallout.Cli/ProjectUpdater.cs index c379a7d53..04fcfa3b1 100644 --- a/src/Fallout.Cli/ProjectUpdater.cs +++ b/src/Fallout.Cli/ProjectUpdater.cs @@ -3,8 +3,8 @@ using NuGet.Versioning; using Fallout.Common; using Fallout.Solutions; -using Fallout.Common.Utilities; using Fallout.Infrastructure.Tooling; +using Fallout.Kernel; namespace Fallout.Cli; diff --git a/src/Fallout.Cli/Rewriting/Cake/AbsolutePathRewriter.cs b/src/Fallout.Cli/Rewriting/Cake/AbsolutePathRewriter.cs index 9f1fafa8b..47fa2452e 100644 --- a/src/Fallout.Cli/Rewriting/Cake/AbsolutePathRewriter.cs +++ b/src/Fallout.Cli/Rewriting/Cake/AbsolutePathRewriter.cs @@ -5,8 +5,8 @@ using Microsoft.CodeAnalysis.CSharp; using Microsoft.CodeAnalysis.CSharp.Syntax; using Fallout.Common; -using Fallout.Common.IO; -using Fallout.Common.Utilities; +using Fallout.Kernel.IO; +using Fallout.Kernel; namespace Fallout.Cli.Rewriting.Cake; diff --git a/src/Fallout.Cli/Rewriting/Cake/ClassRewriter.cs b/src/Fallout.Cli/Rewriting/Cake/ClassRewriter.cs index a5ef77c6b..785a81252 100644 --- a/src/Fallout.Cli/Rewriting/Cake/ClassRewriter.cs +++ b/src/Fallout.Cli/Rewriting/Cake/ClassRewriter.cs @@ -4,13 +4,13 @@ using Microsoft.CodeAnalysis.CSharp; using Microsoft.CodeAnalysis.CSharp.Syntax; using Fallout.Common; -using Fallout.Common.IO; using static Microsoft.CodeAnalysis.CSharp.SyntaxFactory; using Fallout.Application; using Fallout.Application.Tools.DotNet; using Fallout.Application.Tools.MSBuild; using Fallout.Application.Tools.SignTool; using Fallout.Application.Tools.NuGet; +using Fallout.Kernel.IO; namespace Fallout.Cli.Rewriting.Cake; @@ -31,13 +31,13 @@ internal class ClassRewriter : SafeSyntaxRewriter "System.Xml", "Fallout.Common", "Fallout.Common.Execution", - "Fallout.Common.IO", + "Fallout.Kernel.IO", "Fallout.Solutions", "Fallout.Common.Tooling", "Fallout.Common.Tools.DotNet", "Fallout.Common.Tools.GitVersion", "Fallout.Common.Tools.SignTool", - "Fallout.Common.Utilities.Collections", + "Fallout.Kernel.Collections", }; private static Type[] StaticClassImports => diff --git a/src/Fallout.Cli/Rewriting/Cake/FormattingRewriter.cs b/src/Fallout.Cli/Rewriting/Cake/FormattingRewriter.cs index 2b1db73cd..a9da9b623 100644 --- a/src/Fallout.Cli/Rewriting/Cake/FormattingRewriter.cs +++ b/src/Fallout.Cli/Rewriting/Cake/FormattingRewriter.cs @@ -3,9 +3,9 @@ using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp.Syntax; using Fallout.Common; -using Fallout.Common.Utilities.Collections; using static Microsoft.CodeAnalysis.CSharp.SyntaxFactory; using Fallout.Application; +using Fallout.Kernel.Collections; namespace Fallout.Cli.Rewriting.Cake; diff --git a/src/Fallout.Cli/Rewriting/Cake/InvocationRewriter.cs b/src/Fallout.Cli/Rewriting/Cake/InvocationRewriter.cs index 0960cd80c..28af1b579 100644 --- a/src/Fallout.Cli/Rewriting/Cake/InvocationRewriter.cs +++ b/src/Fallout.Cli/Rewriting/Cake/InvocationRewriter.cs @@ -4,7 +4,6 @@ using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp.Syntax; using Fallout.Common; -using Fallout.Common.IO; using Serilog; using static Microsoft.CodeAnalysis.CSharp.SyntaxFactory; using Fallout.Application; diff --git a/src/Fallout.Cli/Rewriting/Cake/ParameterRewriter.cs b/src/Fallout.Cli/Rewriting/Cake/ParameterRewriter.cs index 4cd1e697f..3daf3aabb 100644 --- a/src/Fallout.Cli/Rewriting/Cake/ParameterRewriter.cs +++ b/src/Fallout.Cli/Rewriting/Cake/ParameterRewriter.cs @@ -3,9 +3,9 @@ using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp; using Microsoft.CodeAnalysis.CSharp.Syntax; -using Fallout.Common.IO; -using Fallout.Common.Utilities; using static Microsoft.CodeAnalysis.CSharp.SyntaxFactory; +using Fallout.Kernel; +using Fallout.Kernel.IO; namespace Fallout.Cli.Rewriting.Cake; diff --git a/src/Fallout.Cli/Rewriting/Cake/RenameFieldIdentifierRewriter.cs b/src/Fallout.Cli/Rewriting/Cake/RenameFieldIdentifierRewriter.cs index f34c732b0..13fc909f0 100644 --- a/src/Fallout.Cli/Rewriting/Cake/RenameFieldIdentifierRewriter.cs +++ b/src/Fallout.Cli/Rewriting/Cake/RenameFieldIdentifierRewriter.cs @@ -3,8 +3,8 @@ using System.Linq; using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp.Syntax; -using Fallout.Common.Utilities; using static Microsoft.CodeAnalysis.CSharp.SyntaxFactory; +using Fallout.Kernel; namespace Fallout.Cli.Rewriting.Cake; diff --git a/src/Fallout.Cli/Rewriting/Cake/TargetDefinitionRewriter.cs b/src/Fallout.Cli/Rewriting/Cake/TargetDefinitionRewriter.cs index b37a9605e..1e91ff3e4 100644 --- a/src/Fallout.Cli/Rewriting/Cake/TargetDefinitionRewriter.cs +++ b/src/Fallout.Cli/Rewriting/Cake/TargetDefinitionRewriter.cs @@ -3,9 +3,9 @@ using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp.Syntax; using Fallout.Common; -using Fallout.Common.Utilities.Collections; using static Microsoft.CodeAnalysis.CSharp.SyntaxFactory; using Fallout.Application; +using Fallout.Kernel.Collections; namespace Fallout.Cli.Rewriting.Cake; diff --git a/src/Fallout.Cli/Rewriting/Cake/ToolInvocationRewriter.cs b/src/Fallout.Cli/Rewriting/Cake/ToolInvocationRewriter.cs index 84293e038..e745451f8 100644 --- a/src/Fallout.Cli/Rewriting/Cake/ToolInvocationRewriter.cs +++ b/src/Fallout.Cli/Rewriting/Cake/ToolInvocationRewriter.cs @@ -5,12 +5,12 @@ using Microsoft.CodeAnalysis.CSharp; using Microsoft.CodeAnalysis.CSharp.Syntax; using Fallout.Common; -using Fallout.Common.Utilities.Collections; using static Microsoft.CodeAnalysis.CSharp.SyntaxFactory; using Fallout.Application.Tools.DotNet; using Fallout.Application.Tools.SignTool; using Fallout.Application.Tools.NuGet; using Fallout.Application.Tools.MSBuild; +using Fallout.Kernel.Collections; namespace Fallout.Cli.Rewriting.Cake; diff --git a/src/Fallout.Cli/templates/Build.cs b/src/Fallout.Cli/templates/Build.cs index 992155c17..24775c783 100644 --- a/src/Fallout.Cli/templates/Build.cs +++ b/src/Fallout.Cli/templates/Build.cs @@ -4,17 +4,17 @@ using Fallout.Common.CI; using Fallout.Common.Execution; using Fallout.Common.Git; // GIT -using Fallout.Common.IO; +using Fallout.Kernel.IO; using Fallout.Solutions; using Fallout.Common.Tooling; using Fallout.Common.Tools.DotNet; // DOTNET using Fallout.Common.Tools.GitVersion; // GITVERSION using Fallout.Common.Tools.MSBuild; // MSBUILD using Fallout.Common.Tools.NuGet; // NUGET && MSBUILD -using Fallout.Common.Utilities.Collections; +using Fallout.Kernel.Collections; using static Fallout.Common.ChangeLog.ChangelogTasks; // CHANGELOG using static Fallout.Common.EnvironmentInfo; -using static Fallout.Common.IO.PathConstruction; +using static Fallout.Kernel.IO.PathConstruction; using static Fallout.Common.Tools.DotNet.DotNetTasks; // DOTNET using static Fallout.Common.Tools.MSBuild.MSBuildTasks; // MSBUILD using static Fallout.Common.Tools.NuGet.NuGetTasks; // NUGET && MSBUILD diff --git a/src/Fallout.Common/Attributes/FileSystemGlobbingAttributeBase.cs b/src/Fallout.Common/Attributes/FileSystemGlobbingAttributeBase.cs index f72700717..bb418d015 100644 --- a/src/Fallout.Common/Attributes/FileSystemGlobbingAttributeBase.cs +++ b/src/Fallout.Common/Attributes/FileSystemGlobbingAttributeBase.cs @@ -2,11 +2,12 @@ using System.Collections.Generic; using System.Linq; using System.Reflection; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Collections; using Fallout.Application; +using Fallout.Kernel; +using Fallout.Kernel.Collections; +using Fallout.Common; -namespace Fallout.Common.IO; +namespace Fallout.Kernel.IO; // TODO: document [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field)] diff --git a/src/Fallout.Common/Attributes/GlobbingOptionsAttribute.cs b/src/Fallout.Common/Attributes/GlobbingOptionsAttribute.cs index 8ddd578c9..33df89d71 100644 --- a/src/Fallout.Common/Attributes/GlobbingOptionsAttribute.cs +++ b/src/Fallout.Common/Attributes/GlobbingOptionsAttribute.cs @@ -3,7 +3,7 @@ using System.Linq; using Fallout.Application.Execution; -namespace Fallout.Common.IO; +namespace Fallout.Kernel.IO; /// /// Allows to configure the case-sensitivity used for globbing operations in . diff --git a/src/Fallout.Common/Attributes/HandleSingleFileExecutionAttribute.cs b/src/Fallout.Common/Attributes/HandleSingleFileExecutionAttribute.cs index 6f6f11de3..f4e98d636 100644 --- a/src/Fallout.Common/Attributes/HandleSingleFileExecutionAttribute.cs +++ b/src/Fallout.Common/Attributes/HandleSingleFileExecutionAttribute.cs @@ -6,12 +6,12 @@ using System.Text.Json.Nodes; using ICSharpCode.SharpZipLib.Zip; using NuGet.Packaging; -using Fallout.Common.IO; -using Fallout.Common.Utilities; using Serilog; using Fallout.Application.Execution; using Fallout.Application.Tooling; using Fallout.Infrastructure.Tooling; +using Fallout.Kernel; +using Fallout.Kernel.IO; namespace Fallout.Common.Execution; diff --git a/src/Fallout.Common/Attributes/LatestGitHubReleaseAttribute.cs b/src/Fallout.Common/Attributes/LatestGitHubReleaseAttribute.cs index fdff354d3..8ae25bb95 100644 --- a/src/Fallout.Common/Attributes/LatestGitHubReleaseAttribute.cs +++ b/src/Fallout.Common/Attributes/LatestGitHubReleaseAttribute.cs @@ -3,11 +3,11 @@ using System.Reflection; using System.Text.RegularExpressions; using NuGet.Versioning; -using Fallout.Common.Utilities; using Fallout.Application.ValueInjection; using Fallout.Application.Git; using Fallout.Application.Tools.GitHub; using Fallout.Common; +using Fallout.Kernel; namespace Fallout.Application.Tooling; diff --git a/src/Fallout.Common/Attributes/LatestMavenVersionAttribute.cs b/src/Fallout.Common/Attributes/LatestMavenVersionAttribute.cs index ec798ff67..aed6b3ec0 100644 --- a/src/Fallout.Common/Attributes/LatestMavenVersionAttribute.cs +++ b/src/Fallout.Common/Attributes/LatestMavenVersionAttribute.cs @@ -2,9 +2,9 @@ using System.Linq; using System.Reflection; using NuGet.Versioning; -using Fallout.Common.IO; -using Fallout.Common.Utilities; using Fallout.Application.ValueInjection; +using Fallout.Kernel; +using Fallout.Kernel.IO; namespace Fallout.Application.Tooling; diff --git a/src/Fallout.Common/Attributes/LatestMyGetVersionAttribute.cs b/src/Fallout.Common/Attributes/LatestMyGetVersionAttribute.cs index 92ff7218d..e92d29aca 100644 --- a/src/Fallout.Common/Attributes/LatestMyGetVersionAttribute.cs +++ b/src/Fallout.Common/Attributes/LatestMyGetVersionAttribute.cs @@ -1,9 +1,9 @@ using System; using System.Linq; using System.Reflection; -using Fallout.Common.IO; -using Fallout.Common.Utilities; using Fallout.Application.ValueInjection; +using Fallout.Kernel.IO; +using Fallout.Kernel; namespace Fallout.Application.Tooling; diff --git a/src/Fallout.Common/Attributes/LatestNpmVersionAttribute.cs b/src/Fallout.Common/Attributes/LatestNpmVersionAttribute.cs index dfcdc7487..ec5545016 100644 --- a/src/Fallout.Common/Attributes/LatestNpmVersionAttribute.cs +++ b/src/Fallout.Common/Attributes/LatestNpmVersionAttribute.cs @@ -2,8 +2,8 @@ using System.Linq; using System.Reflection; using NuGet.Versioning; -using Fallout.Common.Utilities; using Fallout.Application.ValueInjection; +using Fallout.Kernel; namespace Fallout.Application.Tooling; diff --git a/src/Fallout.Common/Attributes/LatestNuGetVersionAttribute.cs b/src/Fallout.Common/Attributes/LatestNuGetVersionAttribute.cs index 64c0ccc42..e2e21bedf 100644 --- a/src/Fallout.Common/Attributes/LatestNuGetVersionAttribute.cs +++ b/src/Fallout.Common/Attributes/LatestNuGetVersionAttribute.cs @@ -2,8 +2,8 @@ using System.Linq; using System.Reflection; using NuGet.Versioning; -using Fallout.Common.Utilities; using Fallout.Application.ValueInjection; +using Fallout.Kernel; namespace Fallout.Application.Tooling; diff --git a/src/Fallout.Common/Attributes/LocalPathAttribute.cs b/src/Fallout.Common/Attributes/LocalPathAttribute.cs index a027e24fb..6c9d659d6 100644 --- a/src/Fallout.Common/Attributes/LocalPathAttribute.cs +++ b/src/Fallout.Common/Attributes/LocalPathAttribute.cs @@ -2,9 +2,9 @@ using System.IO; using System.Linq; using System.Reflection; -using Fallout.Common.IO; using Fallout.Application.Tooling; using Fallout.Common; +using Fallout.Kernel.IO; namespace Fallout.Application.Tooling; diff --git a/src/Fallout.Common/Attributes/SolutionAttribute.cs b/src/Fallout.Common/Attributes/SolutionAttribute.cs index f3428b56d..52f16990e 100644 --- a/src/Fallout.Common/Attributes/SolutionAttribute.cs +++ b/src/Fallout.Common/Attributes/SolutionAttribute.cs @@ -1,12 +1,12 @@ using System; using System.Linq; using System.Reflection; -using Fallout.Common.IO; -using Fallout.Common.Utilities; using Serilog; using Fallout.Common; using Fallout.Application; +using Fallout.Kernel.IO; +using Fallout.Kernel; namespace Fallout.Solutions; diff --git a/src/Fallout.Common/CI/AppVeyor/AppVeyor.cs b/src/Fallout.Common/CI/AppVeyor/AppVeyor.cs index cf1ea83a0..e31e49c59 100644 --- a/src/Fallout.Common/CI/AppVeyor/AppVeyor.cs +++ b/src/Fallout.Common/CI/AppVeyor/AppVeyor.cs @@ -2,10 +2,10 @@ using System.Diagnostics.CodeAnalysis; using System.IO; using System.Linq; -using Fallout.Common.Utilities; using Fallout.Application; using Fallout.Application.CI; using Fallout.Application.Tooling; +using Fallout.Kernel; namespace Fallout.Common.CI.AppVeyor; // diff --git a/src/Fallout.Common/CI/AppVeyor/AppVeyorAttribute.cs b/src/Fallout.Common/CI/AppVeyor/AppVeyorAttribute.cs index c98e2c6d1..f659dbcef 100644 --- a/src/Fallout.Common/CI/AppVeyor/AppVeyorAttribute.cs +++ b/src/Fallout.Common/CI/AppVeyor/AppVeyorAttribute.cs @@ -4,11 +4,11 @@ using System.Linq; using System.Reflection; using Fallout.Common.CI.AppVeyor.Configuration; -using Fallout.Common.IO; -using Fallout.Common.Utilities.Collections; using Fallout.Application.CI; using Fallout.Application.Utilities; using Fallout.Application.Execution; +using Fallout.Kernel.Collections; +using Fallout.Kernel.IO; namespace Fallout.Common.CI.AppVeyor; diff --git a/src/Fallout.Common/CI/AppVeyor/Configuration/AppVeyorBranches.cs b/src/Fallout.Common/CI/AppVeyor/Configuration/AppVeyorBranches.cs index 339ad30d7..5197e2a28 100644 --- a/src/Fallout.Common/CI/AppVeyor/Configuration/AppVeyorBranches.cs +++ b/src/Fallout.Common/CI/AppVeyor/Configuration/AppVeyorBranches.cs @@ -1,8 +1,8 @@ using System; using System.Linq; -using Fallout.Common.Utilities.Collections; using Fallout.Application.CI; using Fallout.Application.Utilities; +using Fallout.Kernel.Collections; namespace Fallout.Common.CI.AppVeyor.Configuration; diff --git a/src/Fallout.Common/CI/AppVeyor/Configuration/AppVeyorConfiguration.cs b/src/Fallout.Common/CI/AppVeyor/Configuration/AppVeyorConfiguration.cs index 210e685e4..ae239f5a2 100644 --- a/src/Fallout.Common/CI/AppVeyor/Configuration/AppVeyorConfiguration.cs +++ b/src/Fallout.Common/CI/AppVeyor/Configuration/AppVeyorConfiguration.cs @@ -1,11 +1,11 @@ using System; using System.Collections.Generic; using System.Linq; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Collections; using Fallout.Application.CI; using Fallout.Application.Utilities; using Fallout.Application.Tooling; +using Fallout.Kernel.Collections; +using Fallout.Kernel; namespace Fallout.Common.CI.AppVeyor.Configuration; diff --git a/src/Fallout.Common/CI/AppVeyor/Configuration/AppVeyorCustomWriterExtensions.cs b/src/Fallout.Common/CI/AppVeyor/Configuration/AppVeyorCustomWriterExtensions.cs index 55c223b22..dc43e1c6e 100644 --- a/src/Fallout.Common/CI/AppVeyor/Configuration/AppVeyorCustomWriterExtensions.cs +++ b/src/Fallout.Common/CI/AppVeyor/Configuration/AppVeyorCustomWriterExtensions.cs @@ -1,7 +1,7 @@ using System; using System.Linq; -using Fallout.Common.Utilities; using Fallout.Application.Utilities; +using Fallout.Kernel; namespace Fallout.Common.CI.AppVeyor.Configuration; diff --git a/src/Fallout.Common/CI/AzurePipelines/AzurePipelines.Theming.cs b/src/Fallout.Common/CI/AzurePipelines/AzurePipelines.Theming.cs index 942880149..2f5a70531 100644 --- a/src/Fallout.Common/CI/AzurePipelines/AzurePipelines.Theming.cs +++ b/src/Fallout.Common/CI/AzurePipelines/AzurePipelines.Theming.cs @@ -1,8 +1,8 @@ using System; using System.Collections.Generic; -using Fallout.Common.Utilities; using Serilog.Sinks.SystemConsole.Themes; using Fallout.Application.Execution.Theming; +using Fallout.Kernel; namespace Fallout.Common.CI.AzurePipelines; diff --git a/src/Fallout.Common/CI/AzurePipelines/AzurePipelines.cs b/src/Fallout.Common/CI/AzurePipelines/AzurePipelines.cs index 50df16a23..64a026da6 100644 --- a/src/Fallout.Common/CI/AzurePipelines/AzurePipelines.cs +++ b/src/Fallout.Common/CI/AzurePipelines/AzurePipelines.cs @@ -2,10 +2,10 @@ using System.Collections.Generic; using System.Diagnostics.CodeAnalysis; using System.Linq; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Collections; using Fallout.Application; using Fallout.Application.CI; +using Fallout.Kernel.Collections; +using Fallout.Kernel; namespace Fallout.Common.CI.AzurePipelines; diff --git a/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesAttribute.cs b/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesAttribute.cs index 38d6957a0..8ec90c2e4 100644 --- a/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesAttribute.cs +++ b/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesAttribute.cs @@ -3,14 +3,14 @@ using System.IO; using System.Linq; using Fallout.Common.CI.AzurePipelines.Configuration; -using Fallout.Common.IO; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Collections; -using static Fallout.Common.IO.PathConstruction; +using static Fallout.Kernel.IO.PathConstruction; using Fallout.Application.CI; using Fallout.Application.Utilities; using Fallout.Application.Execution; using Fallout.Application.Tooling; +using Fallout.Kernel.IO; +using Fallout.Kernel.Collections; +using Fallout.Kernel; namespace Fallout.Common.CI.AzurePipelines; diff --git a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesCacheStep.cs b/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesCacheStep.cs index 28d9b2674..02cababc3 100644 --- a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesCacheStep.cs +++ b/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesCacheStep.cs @@ -1,8 +1,8 @@ using System; using System.Linq; -using Fallout.Common.Utilities; using Fallout.Application.Utilities; using Fallout.Application.Tooling; +using Fallout.Kernel; namespace Fallout.Common.CI.AzurePipelines.Configuration; diff --git a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesCmdStep.cs b/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesCmdStep.cs index 58a8dbcc6..7d5a4651a 100644 --- a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesCmdStep.cs +++ b/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesCmdStep.cs @@ -1,9 +1,9 @@ using System; using System.Collections.Generic; using System.Linq; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Collections; using Fallout.Application.Utilities; +using Fallout.Kernel; +using Fallout.Kernel.Collections; namespace Fallout.Common.CI.AzurePipelines.Configuration; diff --git a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesConfiguration.cs b/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesConfiguration.cs index 1ff728f08..924b713f0 100644 --- a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesConfiguration.cs +++ b/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesConfiguration.cs @@ -1,6 +1,6 @@ -using Fallout.Common.Utilities.Collections; using Fallout.Application.CI; using Fallout.Application.Utilities; +using Fallout.Kernel.Collections; namespace Fallout.Common.CI.AzurePipelines.Configuration; diff --git a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesCustomWriterExtensions.cs b/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesCustomWriterExtensions.cs index 4d9b63f8f..d38f858d4 100644 --- a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesCustomWriterExtensions.cs +++ b/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesCustomWriterExtensions.cs @@ -1,7 +1,7 @@ using System; using System.Linq; -using Fallout.Common.Utilities; using Fallout.Application.Utilities; +using Fallout.Kernel; namespace Fallout.Common.CI.AzurePipelines.Configuration; diff --git a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesDownloadStep.cs b/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesDownloadStep.cs index 379b2b108..f7cafd348 100644 --- a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesDownloadStep.cs +++ b/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesDownloadStep.cs @@ -1,7 +1,7 @@ using System; using System.Linq; -using Fallout.Common.Utilities; using Fallout.Application.Utilities; +using Fallout.Kernel; namespace Fallout.Common.CI.AzurePipelines.Configuration; diff --git a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesJob.cs b/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesJob.cs index 75bb288a0..a1874495d 100644 --- a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesJob.cs +++ b/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesJob.cs @@ -1,10 +1,10 @@ using System; using System.Linq; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Collections; using Fallout.Application.CI; using Fallout.Application.Utilities; using Fallout.Application.Tooling; +using Fallout.Kernel; +using Fallout.Kernel.Collections; namespace Fallout.Common.CI.AzurePipelines.Configuration; diff --git a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesPublishStep.cs b/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesPublishStep.cs index e43dcd145..8dcd04ca9 100644 --- a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesPublishStep.cs +++ b/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesPublishStep.cs @@ -1,7 +1,7 @@ using System; using System.Linq; -using Fallout.Common.Utilities; using Fallout.Application.Utilities; +using Fallout.Kernel; namespace Fallout.Common.CI.AzurePipelines.Configuration; diff --git a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesStage.cs b/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesStage.cs index 7f6c181cd..b28bbc14c 100644 --- a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesStage.cs +++ b/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesStage.cs @@ -1,10 +1,10 @@ using System; using System.Linq; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Collections; using Fallout.Application.CI; using Fallout.Application.Utilities; using Fallout.Application.Tooling; +using Fallout.Kernel; +using Fallout.Kernel.Collections; namespace Fallout.Common.CI.AzurePipelines.Configuration; diff --git a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesVcsPushTrigger.cs b/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesVcsPushTrigger.cs index b44327db3..e3a08bb4c 100644 --- a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesVcsPushTrigger.cs +++ b/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesVcsPushTrigger.cs @@ -1,7 +1,7 @@ using System.Collections.Generic; -using Fallout.Common.Utilities.Collections; using Fallout.Application.CI; using Fallout.Application.Utilities; +using Fallout.Kernel.Collections; namespace Fallout.Common.CI.AzurePipelines.Configuration; diff --git a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsArtifactStep.cs b/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsArtifactStep.cs index 6e405afa5..13c4c94d3 100644 --- a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsArtifactStep.cs +++ b/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsArtifactStep.cs @@ -1,7 +1,7 @@ using System; using System.Linq; -using Fallout.Common.Utilities; using Fallout.Application.Utilities; +using Fallout.Kernel; namespace Fallout.Common.CI.GitHubActions.Configuration; diff --git a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsCacheStep.cs b/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsCacheStep.cs index 83b7c9582..d06b6ce80 100644 --- a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsCacheStep.cs +++ b/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsCacheStep.cs @@ -1,8 +1,8 @@ using System; using System.Linq; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Collections; using Fallout.Application.Utilities; +using Fallout.Kernel; +using Fallout.Kernel.Collections; namespace Fallout.Common.CI.GitHubActions.Configuration; diff --git a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsCheckoutStep.cs b/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsCheckoutStep.cs index 5a6574f0f..ae57b6d6c 100644 --- a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsCheckoutStep.cs +++ b/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsCheckoutStep.cs @@ -1,7 +1,7 @@ using System; using System.Linq; -using Fallout.Common.Utilities; using Fallout.Application.Utilities; +using Fallout.Kernel; namespace Fallout.Common.CI.GitHubActions.Configuration; diff --git a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsConfiguration.cs b/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsConfiguration.cs index c0e632f00..a5cada116 100644 --- a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsConfiguration.cs +++ b/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsConfiguration.cs @@ -1,9 +1,9 @@ using System.Linq; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Collections; using Fallout.Application.CI; using Fallout.Application.Utilities; using Fallout.Application.Tooling; +using Fallout.Kernel; +using Fallout.Kernel.Collections; namespace Fallout.Common.CI.GitHubActions.Configuration; diff --git a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsJob.cs b/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsJob.cs index 08d817a15..3d2203ce5 100644 --- a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsJob.cs +++ b/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsJob.cs @@ -1,10 +1,10 @@ using System; using System.Linq; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Collections; using Fallout.Application.CI; using Fallout.Application.Utilities; using Fallout.Application.Tooling; +using Fallout.Kernel; +using Fallout.Kernel.Collections; namespace Fallout.Common.CI.GitHubActions.Configuration; diff --git a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsRunStep.cs b/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsRunStep.cs index 30632d872..8b6adbf96 100644 --- a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsRunStep.cs +++ b/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsRunStep.cs @@ -1,7 +1,7 @@ using System.Collections.Generic; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Collections; using Fallout.Application.Utilities; +using Fallout.Kernel; +using Fallout.Kernel.Collections; namespace Fallout.Common.CI.GitHubActions.Configuration; diff --git a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsVcsTrigger.cs b/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsVcsTrigger.cs index 268e04b26..9992b6dab 100644 --- a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsVcsTrigger.cs +++ b/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsVcsTrigger.cs @@ -1,9 +1,9 @@ using System; using System.Linq; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Collections; using Fallout.Application.Utilities; using Fallout.Application.Tooling; +using Fallout.Kernel; +using Fallout.Kernel.Collections; namespace Fallout.Common.CI.GitHubActions.Configuration; diff --git a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsWorkflowDispatchTrigger.cs b/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsWorkflowDispatchTrigger.cs index 05b1a2e25..0f5690d33 100644 --- a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsWorkflowDispatchTrigger.cs +++ b/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsWorkflowDispatchTrigger.cs @@ -1,8 +1,8 @@ using System; using System.Linq; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Collections; using Fallout.Application.Utilities; +using Fallout.Kernel; +using Fallout.Kernel.Collections; namespace Fallout.Common.CI.GitHubActions.Configuration; diff --git a/src/Fallout.Common/CI/GitHubActions/GitHubActions.Client.cs b/src/Fallout.Common/CI/GitHubActions/GitHubActions.Client.cs index 0f0388729..339d81d3c 100644 --- a/src/Fallout.Common/CI/GitHubActions/GitHubActions.Client.cs +++ b/src/Fallout.Common/CI/GitHubActions/GitHubActions.Client.cs @@ -1,9 +1,9 @@ -using System.Linq; +using System.Linq; using System.Net.Http; using System.Text.Json.Nodes; using System.Threading.Tasks; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Net; +using Fallout.Kernel.Net; +using Fallout.Kernel; namespace Fallout.Common.CI.GitHubActions; diff --git a/src/Fallout.Common/CI/GitHubActions/GitHubActions.Theming.cs b/src/Fallout.Common/CI/GitHubActions/GitHubActions.Theming.cs index 1b0749dfc..1bcf0ac48 100644 --- a/src/Fallout.Common/CI/GitHubActions/GitHubActions.Theming.cs +++ b/src/Fallout.Common/CI/GitHubActions/GitHubActions.Theming.cs @@ -1,6 +1,6 @@ using System; -using Fallout.Common.Utilities; using Fallout.Application.Execution.Theming; +using Fallout.Kernel; namespace Fallout.Common.CI.GitHubActions; diff --git a/src/Fallout.Common/CI/GitHubActions/GitHubActions.cs b/src/Fallout.Common/CI/GitHubActions/GitHubActions.cs index abd748dc9..654431531 100644 --- a/src/Fallout.Common/CI/GitHubActions/GitHubActions.cs +++ b/src/Fallout.Common/CI/GitHubActions/GitHubActions.cs @@ -7,11 +7,11 @@ using System.Net.Http.Headers; using System.Text; using System.Text.Json.Nodes; -using Fallout.Common.IO; -using Fallout.Common.Utilities; using Fallout.Application; using Fallout.Application.CI; using Fallout.Application.Tooling; +using Fallout.Kernel; +using Fallout.Kernel.IO; namespace Fallout.Common.CI.GitHubActions; diff --git a/src/Fallout.Common/CI/GitHubActions/GitHubActionsAttribute.cs b/src/Fallout.Common/CI/GitHubActions/GitHubActionsAttribute.cs index 39e6c4c1c..55693fd1f 100644 --- a/src/Fallout.Common/CI/GitHubActions/GitHubActionsAttribute.cs +++ b/src/Fallout.Common/CI/GitHubActions/GitHubActionsAttribute.cs @@ -3,13 +3,13 @@ using System.IO; using System.Linq; using Fallout.Common.CI.GitHubActions.Configuration; -using Fallout.Common.IO; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Collections; using Fallout.Application.CI; using Fallout.Application.Utilities; using Fallout.Application.Execution; using Fallout.Application.Tooling; +using Fallout.Kernel.Collections; +using Fallout.Kernel.IO; +using Fallout.Kernel; namespace Fallout.Common.CI.GitHubActions; diff --git a/src/Fallout.Common/CI/GitLab/GitLab.Theming.cs b/src/Fallout.Common/CI/GitLab/GitLab.Theming.cs index 7a88a4ac5..696aa7af2 100644 --- a/src/Fallout.Common/CI/GitLab/GitLab.Theming.cs +++ b/src/Fallout.Common/CI/GitLab/GitLab.Theming.cs @@ -1,6 +1,6 @@ using System; -using Fallout.Common.Utilities; using Fallout.Application.Execution.Theming; +using Fallout.Kernel; namespace Fallout.Common.CI.GitLab; diff --git a/src/Fallout.Common/CI/GitLab/GitLab.cs b/src/Fallout.Common/CI/GitLab/GitLab.cs index e428f2f0f..52ff49c81 100644 --- a/src/Fallout.Common/CI/GitLab/GitLab.cs +++ b/src/Fallout.Common/CI/GitLab/GitLab.cs @@ -1,9 +1,9 @@ using System; using System.Diagnostics.CodeAnalysis; using System.Linq; -using Fallout.Common.Utilities; using Fallout.Application.CI; using Fallout.Application; +using Fallout.Kernel; namespace Fallout.Common.CI.GitLab; diff --git a/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationConfiguration.cs b/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationConfiguration.cs index 9361d2b92..48d1ae97c 100644 --- a/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationConfiguration.cs +++ b/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationConfiguration.cs @@ -1,8 +1,8 @@ using System.Linq; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Collections; using Fallout.Application.CI; using Fallout.Application.Utilities; +using Fallout.Kernel; +using Fallout.Kernel.Collections; namespace Fallout.Common.CI.SpaceAutomation.Configuration; diff --git a/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationContainer.cs b/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationContainer.cs index 5c44bf5d3..ca7b513f3 100644 --- a/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationContainer.cs +++ b/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationContainer.cs @@ -1,10 +1,10 @@ using System; using System.Collections.Generic; using System.Linq; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Collections; using Fallout.Application.CI; using Fallout.Application.Utilities; +using Fallout.Kernel; +using Fallout.Kernel.Collections; namespace Fallout.Common.CI.SpaceAutomation.Configuration; diff --git a/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationCronScheduleTrigger.cs b/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationCronScheduleTrigger.cs index 458d9738b..6d74c638c 100644 --- a/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationCronScheduleTrigger.cs +++ b/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationCronScheduleTrigger.cs @@ -1,7 +1,7 @@ using System; using System.Linq; -using Fallout.Common.Utilities; using Fallout.Application.Utilities; +using Fallout.Kernel; namespace Fallout.Common.CI.SpaceAutomation.Configuration; diff --git a/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationCustomWriterExtensions.cs b/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationCustomWriterExtensions.cs index c5cca1db7..eb6e2a0ad 100644 --- a/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationCustomWriterExtensions.cs +++ b/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationCustomWriterExtensions.cs @@ -1,7 +1,7 @@ using System; using System.Linq; -using Fallout.Common.Utilities; using Fallout.Application.Utilities; +using Fallout.Kernel; namespace Fallout.Common.CI.SpaceAutomation.Configuration; diff --git a/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationPushTrigger.cs b/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationPushTrigger.cs index 88297a1ca..baa9294b3 100644 --- a/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationPushTrigger.cs +++ b/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationPushTrigger.cs @@ -1,8 +1,8 @@ using System; using System.Linq; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Collections; using Fallout.Application.Utilities; +using Fallout.Kernel; +using Fallout.Kernel.Collections; namespace Fallout.Common.CI.SpaceAutomation.Configuration; diff --git a/src/Fallout.Common/CI/SpaceAutomation/SpaceAutomationAttribute.cs b/src/Fallout.Common/CI/SpaceAutomation/SpaceAutomationAttribute.cs index 436174487..ec618b4bc 100644 --- a/src/Fallout.Common/CI/SpaceAutomation/SpaceAutomationAttribute.cs +++ b/src/Fallout.Common/CI/SpaceAutomation/SpaceAutomationAttribute.cs @@ -3,11 +3,11 @@ using System.IO; using System.Linq; using Fallout.Common.CI.SpaceAutomation.Configuration; -using Fallout.Common.IO; -using Fallout.Common.Utilities; using Fallout.Application.CI; using Fallout.Application.Utilities; using Fallout.Application.Execution; +using Fallout.Kernel.IO; +using Fallout.Kernel; namespace Fallout.Common.CI.SpaceAutomation; diff --git a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityBuildType.cs b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityBuildType.cs index b9021c2c0..6e215127f 100644 --- a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityBuildType.cs +++ b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityBuildType.cs @@ -1,8 +1,8 @@ using System; using System.Linq; -using Fallout.Common.Utilities; using Fallout.Application.CI; using Fallout.Application.Utilities; +using Fallout.Kernel; namespace Fallout.Common.CI.TeamCity.Configuration; diff --git a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityConfiguration.cs b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityConfiguration.cs index 97ec4a852..2b3ecf2cd 100644 --- a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityConfiguration.cs +++ b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityConfiguration.cs @@ -1,9 +1,9 @@ using System; using System.Linq; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Collections; using Fallout.Application.CI; using Fallout.Application.Utilities; +using Fallout.Kernel; +using Fallout.Kernel.Collections; namespace Fallout.Common.CI.TeamCity.Configuration; diff --git a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityConfigurationParameter.cs b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityConfigurationParameter.cs index 9c5558867..c2adcadb1 100644 --- a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityConfigurationParameter.cs +++ b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityConfigurationParameter.cs @@ -1,8 +1,8 @@ using System; using System.Collections.Generic; using System.Linq; -using Fallout.Common.Utilities; using Fallout.Application.Utilities; +using Fallout.Kernel; namespace Fallout.Common.CI.TeamCity.Configuration; diff --git a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityCustomWriterExtensions.cs b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityCustomWriterExtensions.cs index 2abdbec42..d8051c701 100644 --- a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityCustomWriterExtensions.cs +++ b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityCustomWriterExtensions.cs @@ -1,7 +1,7 @@ using System; using System.Linq; -using Fallout.Common.Utilities; using Fallout.Application.Utilities; +using Fallout.Kernel; namespace Fallout.Common.CI.TeamCity.Configuration; diff --git a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityFinishBuildTrigger.cs b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityFinishBuildTrigger.cs index 997d8f537..cc6e7ec39 100644 --- a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityFinishBuildTrigger.cs +++ b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityFinishBuildTrigger.cs @@ -1,7 +1,7 @@ using System; using System.Linq; -using Fallout.Common.Utilities; using Fallout.Application.Utilities; +using Fallout.Kernel; namespace Fallout.Common.CI.TeamCity.Configuration; diff --git a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityKeyValueParameter.cs b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityKeyValueParameter.cs index eefaec27b..88321d0f3 100644 --- a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityKeyValueParameter.cs +++ b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityKeyValueParameter.cs @@ -1,7 +1,7 @@ using System; using System.Linq; -using Fallout.Common.Utilities; using Fallout.Application.Utilities; +using Fallout.Kernel; namespace Fallout.Common.CI.TeamCity.Configuration; diff --git a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityProject.cs b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityProject.cs index c97e2289e..510e13aa8 100644 --- a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityProject.cs +++ b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityProject.cs @@ -1,8 +1,8 @@ using System; using System.Linq; -using Fallout.Common.Utilities; using Fallout.Application.CI; using Fallout.Application.Utilities; +using Fallout.Kernel; namespace Fallout.Common.CI.TeamCity.Configuration; diff --git a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCitySnapshotDependency.cs b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCitySnapshotDependency.cs index 0ce106c43..e0508ccf2 100644 --- a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCitySnapshotDependency.cs +++ b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCitySnapshotDependency.cs @@ -1,7 +1,7 @@ using System; using System.Linq; -using Fallout.Common.Utilities; using Fallout.Application.Utilities; +using Fallout.Kernel; namespace Fallout.Common.CI.TeamCity.Configuration; diff --git a/src/Fallout.Common/CI/TeamCity/DotNetBuildSettingsExtensions.cs b/src/Fallout.Common/CI/TeamCity/DotNetBuildSettingsExtensions.cs index 6aa6d2b63..1b6f36ba1 100644 --- a/src/Fallout.Common/CI/TeamCity/DotNetBuildSettingsExtensions.cs +++ b/src/Fallout.Common/CI/TeamCity/DotNetBuildSettingsExtensions.cs @@ -2,6 +2,7 @@ using System.Linq; using Fallout.Application.Tools.DotNet; using Fallout.Infrastructure.Tooling; +using Fallout.Kernel.IO; namespace Fallout.Common.CI.TeamCity; diff --git a/src/Fallout.Common/CI/TeamCity/DotNetTestSettingsExtensions.cs b/src/Fallout.Common/CI/TeamCity/DotNetTestSettingsExtensions.cs index 20517ec49..1a565e31d 100644 --- a/src/Fallout.Common/CI/TeamCity/DotNetTestSettingsExtensions.cs +++ b/src/Fallout.Common/CI/TeamCity/DotNetTestSettingsExtensions.cs @@ -2,6 +2,7 @@ using System.Linq; using Fallout.Application.Tools.DotNet; using Fallout.Infrastructure.Tooling; +using Fallout.Kernel.IO; namespace Fallout.Common.CI.TeamCity; diff --git a/src/Fallout.Common/CI/TeamCity/TeamCity.Theming.cs b/src/Fallout.Common/CI/TeamCity/TeamCity.Theming.cs index c14505bc8..50e880f29 100644 --- a/src/Fallout.Common/CI/TeamCity/TeamCity.Theming.cs +++ b/src/Fallout.Common/CI/TeamCity/TeamCity.Theming.cs @@ -1,7 +1,7 @@ using System; -using Fallout.Common.Utilities; using Fallout.Application.Execution.Theming; using Fallout.Application.Execution; +using Fallout.Kernel; namespace Fallout.Common.CI.TeamCity; diff --git a/src/Fallout.Common/CI/TeamCity/TeamCity.cs b/src/Fallout.Common/CI/TeamCity/TeamCity.cs index 8dd04939d..546361705 100644 --- a/src/Fallout.Common/CI/TeamCity/TeamCity.cs +++ b/src/Fallout.Common/CI/TeamCity/TeamCity.cs @@ -4,13 +4,13 @@ using System.Diagnostics.CodeAnalysis; using System.Linq; using System.Text; -using Fallout.Common.IO; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Collections; using Serilog; using Fallout.Application; using Fallout.Application.CI; using Fallout.Application.Tools.DotCover; +using Fallout.Kernel.IO; +using Fallout.Kernel; +using Fallout.Kernel.Collections; namespace Fallout.Common.CI.TeamCity; diff --git a/src/Fallout.Common/CI/TeamCity/TeamCityAttribute.cs b/src/Fallout.Common/CI/TeamCity/TeamCityAttribute.cs index 4aec99742..606e75e76 100644 --- a/src/Fallout.Common/CI/TeamCity/TeamCityAttribute.cs +++ b/src/Fallout.Common/CI/TeamCity/TeamCityAttribute.cs @@ -6,16 +6,16 @@ using System.Linq.Expressions; using System.Reflection; using Fallout.Common.CI.TeamCity.Configuration; -using Fallout.Common.IO; using Fallout.Solutions; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Collections; -using static Fallout.Common.IO.PathConstruction; +using static Fallout.Kernel.IO.PathConstruction; using Fallout.Application.CI; using Fallout.Application.Utilities; using Fallout.Application.Execution; using Fallout.Application.ValueInjection; using Fallout.Application; +using Fallout.Kernel.IO; +using Fallout.Kernel.Collections; +using Fallout.Kernel; namespace Fallout.Common.CI.TeamCity; diff --git a/src/Fallout.Common/CI/TravisCI/TravisCI.Theming.cs b/src/Fallout.Common/CI/TravisCI/TravisCI.Theming.cs index 2fe5ecfb4..a46e66682 100644 --- a/src/Fallout.Common/CI/TravisCI/TravisCI.Theming.cs +++ b/src/Fallout.Common/CI/TravisCI/TravisCI.Theming.cs @@ -1,5 +1,5 @@ -using System; -using Fallout.Common.Utilities; +using System; +using Fallout.Kernel; namespace Fallout.Common.CI.TravisCI; diff --git a/src/Fallout.Common/ChangeLog/ChangeLog.cs b/src/Fallout.Common/ChangeLog/ChangeLog.cs index 71bd815e9..e23aa7ce3 100644 --- a/src/Fallout.Common/ChangeLog/ChangeLog.cs +++ b/src/Fallout.Common/ChangeLog/ChangeLog.cs @@ -1,7 +1,7 @@ using System.Collections.Generic; using System.Linq; using NuGet.Versioning; -using Fallout.Common.IO; +using Fallout.Kernel.IO; namespace Fallout.Common.ChangeLog; diff --git a/src/Fallout.Common/ChangeLog/ChangeLogTasks.cs b/src/Fallout.Common/ChangeLog/ChangeLogTasks.cs index 71991ce69..a95cc8cd2 100644 --- a/src/Fallout.Common/ChangeLog/ChangeLogTasks.cs +++ b/src/Fallout.Common/ChangeLog/ChangeLogTasks.cs @@ -3,12 +3,12 @@ using System.Diagnostics; using System.Linq; using NuGet.Versioning; -using Fallout.Common.IO; -using Fallout.Common.Utilities; using Serilog; using Fallout.Application.Git; using Fallout.Application; using Fallout.Application.Tools.GitHub; +using Fallout.Kernel; +using Fallout.Kernel.IO; // ReSharper disable ArgumentsStyleLiteral namespace Fallout.Common.ChangeLog; diff --git a/src/Fallout.Common/Gitter/GitterTasks.cs b/src/Fallout.Common/Gitter/GitterTasks.cs index 7041e4d98..cb415ed25 100644 --- a/src/Fallout.Common/Gitter/GitterTasks.cs +++ b/src/Fallout.Common/Gitter/GitterTasks.cs @@ -1,8 +1,8 @@ -using System; +using System; using System.Linq; using System.Net.Http; using System.Threading.Tasks; -using Fallout.Common.Utilities.Net; +using Fallout.Kernel.Net; namespace Fallout.Common.Gitter; // diff --git a/src/Fallout.Common/IO/FtpTasks.cs b/src/Fallout.Common/IO/FtpTasks.cs index fe9422cdc..dbbc2281e 100644 --- a/src/Fallout.Common/IO/FtpTasks.cs +++ b/src/Fallout.Common/IO/FtpTasks.cs @@ -6,7 +6,7 @@ using Fallout.Application; #pragma warning disable SYSLIB0014 -namespace Fallout.Common.IO; +namespace Fallout.Kernel.IO; public static class FtpTasks { diff --git a/src/Fallout.Common/IO/HttpTasks.cs b/src/Fallout.Common/IO/HttpTasks.cs index d99dfc879..48aef84ac 100644 --- a/src/Fallout.Common/IO/HttpTasks.cs +++ b/src/Fallout.Common/IO/HttpTasks.cs @@ -5,8 +5,9 @@ using System.Net.Http.Headers; using System.Threading.Tasks; using Fallout.Application.Tooling; +using Fallout.Common; -namespace Fallout.Common.IO; +namespace Fallout.Kernel.IO; public static class HttpTasks { diff --git a/src/Fallout.Common/IO/TextTasks.cs b/src/Fallout.Common/IO/TextTasks.cs index b941d1db6..e9b722b66 100644 --- a/src/Fallout.Common/IO/TextTasks.cs +++ b/src/Fallout.Common/IO/TextTasks.cs @@ -3,7 +3,7 @@ using System.Linq; using System.Text; -namespace Fallout.Common.IO; +namespace Fallout.Kernel.IO; public static class TextTasks { diff --git a/src/Fallout.Common/IO/XmlTasks.cs b/src/Fallout.Common/IO/XmlTasks.cs index 684b0eddb..86aa74b69 100644 --- a/src/Fallout.Common/IO/XmlTasks.cs +++ b/src/Fallout.Common/IO/XmlTasks.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections; using System.Collections.Generic; using System.Linq; @@ -6,8 +6,9 @@ using System.Xml; using System.Xml.Linq; using System.Xml.XPath; +using Fallout.Common; -namespace Fallout.Common.IO; +namespace Fallout.Kernel.IO; public static class XmlTasks { diff --git a/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVault.cs b/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVault.cs index 9dab14e30..a7ccfdfe2 100644 --- a/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVault.cs +++ b/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVault.cs @@ -5,8 +5,8 @@ using Azure.Security.KeyVault.Certificates; using Azure.Security.KeyVault.Keys; using Azure.Security.KeyVault.Secrets; -using Fallout.Common.Utilities; using Fallout.Common; +using Fallout.Kernel; namespace Fallout.Application.Tools.AzureKeyVault { diff --git a/src/Fallout.Common/Tools/AzureSignTool/AzureSignTool.Generated.cs b/src/Fallout.Common/Tools/AzureSignTool/AzureSignTool.Generated.cs index 9857b7625..7675ae299 100644 --- a/src/Fallout.Common/Tools/AzureSignTool/AzureSignTool.Generated.cs +++ b/src/Fallout.Common/Tools/AzureSignTool/AzureSignTool.Generated.cs @@ -1,4 +1,3 @@ -using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Common/Tools/BenchmarkDotNet/BenchmarkDotNet.Generated.cs b/src/Fallout.Common/Tools/BenchmarkDotNet/BenchmarkDotNet.Generated.cs index 0a8ef7034..4b739c135 100644 --- a/src/Fallout.Common/Tools/BenchmarkDotNet/BenchmarkDotNet.Generated.cs +++ b/src/Fallout.Common/Tools/BenchmarkDotNet/BenchmarkDotNet.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/BenchmarkDotNet/BenchmarkDotNet.json using Fallout.Common; -using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Common/Tools/Boots/Boots.Generated.cs b/src/Fallout.Common/Tools/Boots/Boots.Generated.cs index 46260aa87..da5207e7e 100644 --- a/src/Fallout.Common/Tools/Boots/Boots.Generated.cs +++ b/src/Fallout.Common/Tools/Boots/Boots.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/Boots/Boots.json using Fallout.Common; -using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Common/Tools/Chocolatey/Chocolatey.Generated.cs b/src/Fallout.Common/Tools/Chocolatey/Chocolatey.Generated.cs index 27c87948c..8b5500e96 100644 --- a/src/Fallout.Common/Tools/Chocolatey/Chocolatey.Generated.cs +++ b/src/Fallout.Common/Tools/Chocolatey/Chocolatey.Generated.cs @@ -1,4 +1,3 @@ -using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Common/Tools/CodeMetrics/CodeMetrics.Generated.cs b/src/Fallout.Common/Tools/CodeMetrics/CodeMetrics.Generated.cs index 214b1db0f..9b2403d5e 100644 --- a/src/Fallout.Common/Tools/CodeMetrics/CodeMetrics.Generated.cs +++ b/src/Fallout.Common/Tools/CodeMetrics/CodeMetrics.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/CodeMetrics/CodeMetrics.json using Fallout.Common; -using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Common/Tools/Codecov/Codecov.Generated.cs b/src/Fallout.Common/Tools/Codecov/Codecov.Generated.cs index 393fb5d21..957b11a53 100644 --- a/src/Fallout.Common/Tools/Codecov/Codecov.Generated.cs +++ b/src/Fallout.Common/Tools/Codecov/Codecov.Generated.cs @@ -1,4 +1,3 @@ -using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Common/Tools/CorFlags/CorFlags.Generated.cs b/src/Fallout.Common/Tools/CorFlags/CorFlags.Generated.cs index c4fdbb969..f28334867 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.Utilities.Collections; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Common/Tools/CoverallsNet/CoverallsNet.Generated.cs b/src/Fallout.Common/Tools/CoverallsNet/CoverallsNet.Generated.cs index 8164e97d0..ccea9c0b7 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.Utilities.Collections; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Common/Tools/Coverlet/Coverlet.Generated.cs b/src/Fallout.Common/Tools/Coverlet/Coverlet.Generated.cs index 34aa9fa61..8af39ead1 100644 --- a/src/Fallout.Common/Tools/Coverlet/Coverlet.Generated.cs +++ b/src/Fallout.Common/Tools/Coverlet/Coverlet.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/Coverlet/Coverlet.json using Fallout.Common; -using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Common/Tools/Discord/Discord.Generated.cs b/src/Fallout.Common/Tools/Discord/Discord.Generated.cs index d1efe0e77..1149c237e 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.Utilities.Collections; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Common/Tools/Discord/DiscordTasks.cs b/src/Fallout.Common/Tools/Discord/DiscordTasks.cs index b1b3c03b0..314126812 100644 --- a/src/Fallout.Common/Tools/Discord/DiscordTasks.cs +++ b/src/Fallout.Common/Tools/Discord/DiscordTasks.cs @@ -1,7 +1,7 @@ using System.Net.Http; using System.Threading.Tasks; -using Fallout.Common.Utilities.Net; using Fallout.Application.Tooling; +using Fallout.Kernel.Net; namespace Fallout.Application.Tools.Discord; diff --git a/src/Fallout.Common/Tools/DocFX/DocFX.Generated.cs b/src/Fallout.Common/Tools/DocFX/DocFX.Generated.cs index d129d413e..938df8385 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.Utilities.Collections; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Common/Tools/Docker/Docker.Generated.cs b/src/Fallout.Common/Tools/Docker/Docker.Generated.cs index 85ae6e4dd..41f800964 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.Utilities.Collections; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Common/Tools/Docker/DockerTargetDefinitionExtensions.cs b/src/Fallout.Common/Tools/Docker/DockerTargetDefinitionExtensions.cs index ad9182c8e..ed3ec5ee2 100644 --- a/src/Fallout.Common/Tools/Docker/DockerTargetDefinitionExtensions.cs +++ b/src/Fallout.Common/Tools/Docker/DockerTargetDefinitionExtensions.cs @@ -2,9 +2,6 @@ using System.Collections.Generic; using System.IO; using System.Linq; -using Fallout.Common.IO; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Collections; using Serilog; using Serilog.Formatting.Compact.Reader; using static Fallout.Application.Tools.Docker.DockerTasks; @@ -14,6 +11,9 @@ using Fallout.Application.Tools.DotNet; using Fallout.Application.Tooling; using Fallout.Common; +using Fallout.Kernel.IO; +using Fallout.Kernel; +using Fallout.Kernel.Collections; namespace Fallout.Application.Tools.Docker; diff --git a/src/Fallout.Common/Tools/DotCover/DotCover.Generated.cs b/src/Fallout.Common/Tools/DotCover/DotCover.Generated.cs index 100e8a4b4..bbd9e7990 100644 --- a/src/Fallout.Common/Tools/DotCover/DotCover.Generated.cs +++ b/src/Fallout.Common/Tools/DotCover/DotCover.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/DotCover/DotCover.json using Fallout.Common; -using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Common/Tools/DotCover/DotCoverTasks.cs b/src/Fallout.Common/Tools/DotCover/DotCoverTasks.cs index 5fdf14f6d..7b27fca60 100644 --- a/src/Fallout.Common/Tools/DotCover/DotCoverTasks.cs +++ b/src/Fallout.Common/Tools/DotCover/DotCoverTasks.cs @@ -1,6 +1,6 @@ -using Fallout.Common.Utilities; using Fallout.Application.Tooling; using Fallout.Common; +using Fallout.Kernel; namespace Fallout.Application.Tools.DotCover; diff --git a/src/Fallout.Common/Tools/DotMemoryUnit/DotMemoryUnit.Generated.cs b/src/Fallout.Common/Tools/DotMemoryUnit/DotMemoryUnit.Generated.cs index 2c5ae2ea8..d7ed126a5 100644 --- a/src/Fallout.Common/Tools/DotMemoryUnit/DotMemoryUnit.Generated.cs +++ b/src/Fallout.Common/Tools/DotMemoryUnit/DotMemoryUnit.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/DotMemoryUnit/DotMemoryUnit.json using Fallout.Common; -using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Common/Tools/DotNet/DotNet.Generated.cs b/src/Fallout.Common/Tools/DotNet/DotNet.Generated.cs index 79b7f7268..e6762b3d8 100644 --- a/src/Fallout.Common/Tools/DotNet/DotNet.Generated.cs +++ b/src/Fallout.Common/Tools/DotNet/DotNet.Generated.cs @@ -1,4 +1,3 @@ -using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Common/Tools/DotnetPackaging/DotnetPackaging.Generated.cs b/src/Fallout.Common/Tools/DotnetPackaging/DotnetPackaging.Generated.cs index df4a2f404..d3da4dc86 100644 --- a/src/Fallout.Common/Tools/DotnetPackaging/DotnetPackaging.Generated.cs +++ b/src/Fallout.Common/Tools/DotnetPackaging/DotnetPackaging.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/DotnetPackaging/DotnetPackaging.json using Fallout.Common; -using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Common/Tools/EntityFramework/EntityFramework.Generated.cs b/src/Fallout.Common/Tools/EntityFramework/EntityFramework.Generated.cs index b07baaf64..b48711b3b 100644 --- a/src/Fallout.Common/Tools/EntityFramework/EntityFramework.Generated.cs +++ b/src/Fallout.Common/Tools/EntityFramework/EntityFramework.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/EntityFramework/EntityFramework.json using Fallout.Common; -using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Common/Tools/Fixie/Fixie.Generated.cs b/src/Fallout.Common/Tools/Fixie/Fixie.Generated.cs index 3d19d1392..f33ea1fd9 100644 --- a/src/Fallout.Common/Tools/Fixie/Fixie.Generated.cs +++ b/src/Fallout.Common/Tools/Fixie/Fixie.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/Fixie/Fixie.json using Fallout.Common; -using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Common/Tools/Git/Git.Generated.cs b/src/Fallout.Common/Tools/Git/Git.Generated.cs index aee9cd533..b15cd22ca 100644 --- a/src/Fallout.Common/Tools/Git/Git.Generated.cs +++ b/src/Fallout.Common/Tools/Git/Git.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/Git/Git.json using Fallout.Common; -using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Common/Tools/GitHub/GitHubTasks.cs b/src/Fallout.Common/Tools/GitHub/GitHubTasks.cs index d76599fb7..46e26fa79 100644 --- a/src/Fallout.Common/Tools/GitHub/GitHubTasks.cs +++ b/src/Fallout.Common/Tools/GitHub/GitHubTasks.cs @@ -3,12 +3,13 @@ using System.IO; using System.Linq; using System.Threading.Tasks; -using Fallout.Common.Utilities; using Octokit; -using static Fallout.Common.IO.PathConstruction; +using static Fallout.Kernel.IO.PathConstruction; using Fallout.Application; using Fallout.Application.Git; using Fallout.Common; +using Fallout.Kernel.IO; +using Fallout.Kernel; namespace Fallout.Application.Tools.GitHub; diff --git a/src/Fallout.Common/Tools/GitLink/GitLink.Generated.cs b/src/Fallout.Common/Tools/GitLink/GitLink.Generated.cs index 2a27d648c..98ed385f7 100644 --- a/src/Fallout.Common/Tools/GitLink/GitLink.Generated.cs +++ b/src/Fallout.Common/Tools/GitLink/GitLink.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/GitLink/GitLink.json using Fallout.Common; -using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Common/Tools/GitReleaseManager/GitReleaseManager.Generated.cs b/src/Fallout.Common/Tools/GitReleaseManager/GitReleaseManager.Generated.cs index 67effa3c1..a59a57842 100644 --- a/src/Fallout.Common/Tools/GitReleaseManager/GitReleaseManager.Generated.cs +++ b/src/Fallout.Common/Tools/GitReleaseManager/GitReleaseManager.Generated.cs @@ -1,4 +1,3 @@ -using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Common/Tools/GitVersion/GitVersion.Generated.cs b/src/Fallout.Common/Tools/GitVersion/GitVersion.Generated.cs index e1ece2547..537bd63f7 100644 --- a/src/Fallout.Common/Tools/GitVersion/GitVersion.Generated.cs +++ b/src/Fallout.Common/Tools/GitVersion/GitVersion.Generated.cs @@ -1,4 +1,3 @@ -using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Common/Tools/GitVersion/GitVersionAttribute.cs b/src/Fallout.Common/Tools/GitVersion/GitVersionAttribute.cs index 35b930b82..e1a740c23 100644 --- a/src/Fallout.Common/Tools/GitVersion/GitVersionAttribute.cs +++ b/src/Fallout.Common/Tools/GitVersion/GitVersionAttribute.cs @@ -4,7 +4,6 @@ using Fallout.Common.CI.AppVeyor; using Fallout.Common.CI.AzurePipelines; using Fallout.Common.CI.TeamCity; -using Fallout.Common.Utilities; using Serilog; using static Fallout.Application.ControlFlow; using Fallout.Application; @@ -12,6 +11,7 @@ using Fallout.Application.Git; using Fallout.Application.Tooling; using Fallout.Common; +using Fallout.Kernel; namespace Fallout.Application.Tools.GitVersion; diff --git a/src/Fallout.Common/Tools/GitVersion/GitVersionTasks.cs b/src/Fallout.Common/Tools/GitVersion/GitVersionTasks.cs index fcd8b913a..de8175e5d 100644 --- a/src/Fallout.Common/Tools/GitVersion/GitVersionTasks.cs +++ b/src/Fallout.Common/Tools/GitVersion/GitVersionTasks.cs @@ -2,10 +2,10 @@ using System.Collections.Generic; using System.Linq; using System.Text.Json.Serialization; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Collections; using Fallout.Application.Tooling; using Fallout.Infrastructure.Tooling; +using Fallout.Kernel.Collections; +using Fallout.Kernel; namespace Fallout.Application.Tools.GitVersion; diff --git a/src/Fallout.Common/Tools/Helm/Helm.Generated.cs b/src/Fallout.Common/Tools/Helm/Helm.Generated.cs index 5c7ce9e61..ae24703d8 100644 --- a/src/Fallout.Common/Tools/Helm/Helm.Generated.cs +++ b/src/Fallout.Common/Tools/Helm/Helm.Generated.cs @@ -1,4 +1,3 @@ -using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Common/Tools/ILRepack/ILRepack.Generated.cs b/src/Fallout.Common/Tools/ILRepack/ILRepack.Generated.cs index 9c5c9c2f9..2878b0a9e 100644 --- a/src/Fallout.Common/Tools/ILRepack/ILRepack.Generated.cs +++ b/src/Fallout.Common/Tools/ILRepack/ILRepack.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/ILRepack/ILRepack.json using Fallout.Common; -using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Common/Tools/InnoSetup/InnoSetup.Generated.cs b/src/Fallout.Common/Tools/InnoSetup/InnoSetup.Generated.cs index ffde34483..77b9068e0 100644 --- a/src/Fallout.Common/Tools/InnoSetup/InnoSetup.Generated.cs +++ b/src/Fallout.Common/Tools/InnoSetup/InnoSetup.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/InnoSetup/InnoSetup.json using Fallout.Common; -using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Common/Tools/Kubernetes/Kubernetes.Generated.cs b/src/Fallout.Common/Tools/Kubernetes/Kubernetes.Generated.cs index 52f20b3bd..123573a16 100644 --- a/src/Fallout.Common/Tools/Kubernetes/Kubernetes.Generated.cs +++ b/src/Fallout.Common/Tools/Kubernetes/Kubernetes.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/Kubernetes/Kubernetes.json using Fallout.Common; -using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Common/Tools/MSBuild/MSBuild.Generated.cs b/src/Fallout.Common/Tools/MSBuild/MSBuild.Generated.cs index 9c73c8db9..848b95f71 100644 --- a/src/Fallout.Common/Tools/MSBuild/MSBuild.Generated.cs +++ b/src/Fallout.Common/Tools/MSBuild/MSBuild.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/MSBuild/MSBuild.json using Fallout.Common; -using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Common/Tools/MSBuild/MSBuildTasks.cs b/src/Fallout.Common/Tools/MSBuild/MSBuildTasks.cs index 48be1de0d..7c50d6fd8 100644 --- a/src/Fallout.Common/Tools/MSBuild/MSBuildTasks.cs +++ b/src/Fallout.Common/Tools/MSBuild/MSBuildTasks.cs @@ -1,8 +1,8 @@ using System; using System.Linq; using System.Reflection; -using Fallout.Common.Utilities; using Fallout.Application.Tooling; +using Fallout.Kernel; namespace Fallout.Application.Tools.MSBuild; diff --git a/src/Fallout.Common/Tools/MSBuild/MSBuildToolPathResolver.cs b/src/Fallout.Common/Tools/MSBuild/MSBuildToolPathResolver.cs index c0937a840..23281647a 100644 --- a/src/Fallout.Common/Tools/MSBuild/MSBuildToolPathResolver.cs +++ b/src/Fallout.Common/Tools/MSBuild/MSBuildToolPathResolver.cs @@ -3,8 +3,8 @@ using System.Diagnostics; using System.IO; using System.Linq; -using Fallout.Common.Utilities; using Fallout.Common; +using Fallout.Kernel; namespace Fallout.Application.Tools.MSBuild; diff --git a/src/Fallout.Common/Tools/MSpec/MSpec.Generated.cs b/src/Fallout.Common/Tools/MSpec/MSpec.Generated.cs index f131b53da..a40ceaf3a 100644 --- a/src/Fallout.Common/Tools/MSpec/MSpec.Generated.cs +++ b/src/Fallout.Common/Tools/MSpec/MSpec.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/MSpec/MSpec.json using Fallout.Common; -using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Common/Tools/MakeNsis/MakeNSIS.Generated.cs b/src/Fallout.Common/Tools/MakeNsis/MakeNSIS.Generated.cs index 75c05c157..1e20668b0 100644 --- a/src/Fallout.Common/Tools/MakeNsis/MakeNSIS.Generated.cs +++ b/src/Fallout.Common/Tools/MakeNsis/MakeNSIS.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/MakeNsis/MakeNSIS.json using Fallout.Common; -using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Common/Tools/Mastodon/Mastodon.Generated.cs b/src/Fallout.Common/Tools/Mastodon/Mastodon.Generated.cs index b0bdc20f9..b40fdd025 100644 --- a/src/Fallout.Common/Tools/Mastodon/Mastodon.Generated.cs +++ b/src/Fallout.Common/Tools/Mastodon/Mastodon.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/Mastodon/Mastodon.json using Fallout.Common; -using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Common/Tools/Mastodon/MastodonTasks.cs b/src/Fallout.Common/Tools/Mastodon/MastodonTasks.cs index 81251a2c7..a252c4419 100644 --- a/src/Fallout.Common/Tools/Mastodon/MastodonTasks.cs +++ b/src/Fallout.Common/Tools/Mastodon/MastodonTasks.cs @@ -3,9 +3,9 @@ using System.Linq; using System.Net.Http; using System.Threading.Tasks; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Net; using Fallout.Application.Tooling; +using Fallout.Kernel.Net; +using Fallout.Kernel; namespace Fallout.Application.Tools.Mastodon; diff --git a/src/Fallout.Common/Tools/MauiCheck/MauiCheck.Generated.cs b/src/Fallout.Common/Tools/MauiCheck/MauiCheck.Generated.cs index d22b5f8bd..00e04d022 100644 --- a/src/Fallout.Common/Tools/MauiCheck/MauiCheck.Generated.cs +++ b/src/Fallout.Common/Tools/MauiCheck/MauiCheck.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/MauiCheck/MauiCheck.json using Fallout.Common; -using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Common/Tools/MinVer/MinVer.Generated.cs b/src/Fallout.Common/Tools/MinVer/MinVer.Generated.cs index bf8fa3f64..cf025acd1 100644 --- a/src/Fallout.Common/Tools/MinVer/MinVer.Generated.cs +++ b/src/Fallout.Common/Tools/MinVer/MinVer.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/MinVer/MinVer.json using Fallout.Common; -using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Common/Tools/NSwag/NSwag.Generated.cs b/src/Fallout.Common/Tools/NSwag/NSwag.Generated.cs index 30658a262..3bef20861 100644 --- a/src/Fallout.Common/Tools/NSwag/NSwag.Generated.cs +++ b/src/Fallout.Common/Tools/NSwag/NSwag.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/NSwag/NSwag.json using Fallout.Common; -using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Common/Tools/NUnit/NUnit.Generated.cs b/src/Fallout.Common/Tools/NUnit/NUnit.Generated.cs index 8a614d7d3..994858ff5 100644 --- a/src/Fallout.Common/Tools/NUnit/NUnit.Generated.cs +++ b/src/Fallout.Common/Tools/NUnit/NUnit.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/NUnit/NUnit.json using Fallout.Common; -using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Common/Tools/NerdbankGitVersioning/NerdbankGitVersioning.Generated.cs b/src/Fallout.Common/Tools/NerdbankGitVersioning/NerdbankGitVersioning.Generated.cs index bb7ba5b45..cd01d5878 100644 --- a/src/Fallout.Common/Tools/NerdbankGitVersioning/NerdbankGitVersioning.Generated.cs +++ b/src/Fallout.Common/Tools/NerdbankGitVersioning/NerdbankGitVersioning.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/NerdbankGitVersioning/NerdbankGitVersioning.json using Fallout.Common; -using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Common/Tools/NerdbankGitVersioning/NerdbankGitVersioningTasks.cs b/src/Fallout.Common/Tools/NerdbankGitVersioning/NerdbankGitVersioningTasks.cs index d33f5fb49..d891dc30f 100644 --- a/src/Fallout.Common/Tools/NerdbankGitVersioning/NerdbankGitVersioningTasks.cs +++ b/src/Fallout.Common/Tools/NerdbankGitVersioning/NerdbankGitVersioningTasks.cs @@ -1,10 +1,10 @@ using System; using System.Collections.Generic; using System.Linq; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Collections; using Fallout.Application.Tooling; using Fallout.Infrastructure.Tooling; +using Fallout.Kernel.Collections; +using Fallout.Kernel; namespace Fallout.Application.Tools.NerdbankGitVersioning; diff --git a/src/Fallout.Common/Tools/Netlify/Netlify.Generated.cs b/src/Fallout.Common/Tools/Netlify/Netlify.Generated.cs index 6538e1c6b..e0bbd1b38 100644 --- a/src/Fallout.Common/Tools/Netlify/Netlify.Generated.cs +++ b/src/Fallout.Common/Tools/Netlify/Netlify.Generated.cs @@ -1,4 +1,3 @@ -using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Common/Tools/Netlify/NetlifyTasks.cs b/src/Fallout.Common/Tools/Netlify/NetlifyTasks.cs index d0de8eeb0..b373401f6 100644 --- a/src/Fallout.Common/Tools/Netlify/NetlifyTasks.cs +++ b/src/Fallout.Common/Tools/Netlify/NetlifyTasks.cs @@ -1,9 +1,9 @@ using System; using System.Collections.Generic; using System.Linq; -using Fallout.Common.Utilities; using Fallout.Application.Tooling; using Fallout.Infrastructure.Tooling; +using Fallout.Kernel; namespace Fallout.Application.Tools.Netlify; diff --git a/src/Fallout.Common/Tools/Npm/Npm.Generated.cs b/src/Fallout.Common/Tools/Npm/Npm.Generated.cs index c8559dc89..8b78fa94d 100644 --- a/src/Fallout.Common/Tools/Npm/Npm.Generated.cs +++ b/src/Fallout.Common/Tools/Npm/Npm.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/Npm/Npm.json using Fallout.Common; -using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Common/Tools/NuGet/NuGet.Generated.cs b/src/Fallout.Common/Tools/NuGet/NuGet.Generated.cs index eec07aad7..4242d6395 100644 --- a/src/Fallout.Common/Tools/NuGet/NuGet.Generated.cs +++ b/src/Fallout.Common/Tools/NuGet/NuGet.Generated.cs @@ -1,4 +1,3 @@ -using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Common/Tools/NuGetKeyVaultSignTool/NuGetKeyVaultSignTool.Generated.cs b/src/Fallout.Common/Tools/NuGetKeyVaultSignTool/NuGetKeyVaultSignTool.Generated.cs index a6fef12a6..531656217 100644 --- a/src/Fallout.Common/Tools/NuGetKeyVaultSignTool/NuGetKeyVaultSignTool.Generated.cs +++ b/src/Fallout.Common/Tools/NuGetKeyVaultSignTool/NuGetKeyVaultSignTool.Generated.cs @@ -1,4 +1,3 @@ -using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Common/Tools/OctoVersion/OctoVersion.Generated.cs b/src/Fallout.Common/Tools/OctoVersion/OctoVersion.Generated.cs index 80755f914..6afd03a5c 100644 --- a/src/Fallout.Common/Tools/OctoVersion/OctoVersion.Generated.cs +++ b/src/Fallout.Common/Tools/OctoVersion/OctoVersion.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/OctoVersion/OctoVersion.json using Fallout.Common; -using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Common/Tools/OctoVersion/OctoVersionAttribute.cs b/src/Fallout.Common/Tools/OctoVersion/OctoVersionAttribute.cs index 51d19eac3..b1deeea45 100644 --- a/src/Fallout.Common/Tools/OctoVersion/OctoVersionAttribute.cs +++ b/src/Fallout.Common/Tools/OctoVersion/OctoVersionAttribute.cs @@ -4,13 +4,13 @@ using Fallout.Common.CI.AppVeyor; using Fallout.Common.CI.AzurePipelines; using Fallout.Common.CI.TeamCity; -using Fallout.Common.IO; -using Fallout.Common.Utilities; using Fallout.Application.ValueInjection; using Fallout.Application.Git; using Fallout.Application; using Fallout.Application.Tooling; using Fallout.Common; +using Fallout.Kernel; +using Fallout.Kernel.IO; namespace Fallout.Application.Tools.OctoVersion; diff --git a/src/Fallout.Common/Tools/OctoVersion/OctoVersionTasks.cs b/src/Fallout.Common/Tools/OctoVersion/OctoVersionTasks.cs index 8449510ab..0b31f359b 100644 --- a/src/Fallout.Common/Tools/OctoVersion/OctoVersionTasks.cs +++ b/src/Fallout.Common/Tools/OctoVersion/OctoVersionTasks.cs @@ -1,9 +1,9 @@ using System; using System.Collections.Generic; -using Fallout.Common.IO; -using Fallout.Common.Utilities; using Fallout.Application.Tooling; using Fallout.Common; +using Fallout.Kernel.IO; +using Fallout.Kernel; namespace Fallout.Application.Tools.OctoVersion; diff --git a/src/Fallout.Common/Tools/Octopus/Octopus.Generated.cs b/src/Fallout.Common/Tools/Octopus/Octopus.Generated.cs index 0e5ef5c06..c083fbc2d 100644 --- a/src/Fallout.Common/Tools/Octopus/Octopus.Generated.cs +++ b/src/Fallout.Common/Tools/Octopus/Octopus.Generated.cs @@ -1,4 +1,3 @@ -using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Common/Tools/OpenCover/OpenCover.Generated.cs b/src/Fallout.Common/Tools/OpenCover/OpenCover.Generated.cs index 1fc245c04..a831d7d88 100644 --- a/src/Fallout.Common/Tools/OpenCover/OpenCover.Generated.cs +++ b/src/Fallout.Common/Tools/OpenCover/OpenCover.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/OpenCover/OpenCover.json using Fallout.Common; -using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Common/Tools/OpenCover/OpenCoverTasks.cs b/src/Fallout.Common/Tools/OpenCover/OpenCoverTasks.cs index e471cbbce..42ea2fbf2 100644 --- a/src/Fallout.Common/Tools/OpenCover/OpenCoverTasks.cs +++ b/src/Fallout.Common/Tools/OpenCover/OpenCoverTasks.cs @@ -1,5 +1,5 @@ -using Fallout.Common.Utilities; using Fallout.Application.Tooling; +using Fallout.Kernel; namespace Fallout.Application.Tools.OpenCover; diff --git a/src/Fallout.Common/Tools/Paket/Paket.Generated.cs b/src/Fallout.Common/Tools/Paket/Paket.Generated.cs index 9d48b0e41..125ba5544 100644 --- a/src/Fallout.Common/Tools/Paket/Paket.Generated.cs +++ b/src/Fallout.Common/Tools/Paket/Paket.Generated.cs @@ -1,4 +1,3 @@ -using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Common/Tools/PowerShell/PowerShell.Generated.cs b/src/Fallout.Common/Tools/PowerShell/PowerShell.Generated.cs index 997093827..c85dfe6cf 100644 --- a/src/Fallout.Common/Tools/PowerShell/PowerShell.Generated.cs +++ b/src/Fallout.Common/Tools/PowerShell/PowerShell.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/PowerShell/PowerShell.json using Fallout.Common; -using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Common/Tools/Pulumi/Pulumi.Generated.cs b/src/Fallout.Common/Tools/Pulumi/Pulumi.Generated.cs index 0c3058ff3..1b535b505 100644 --- a/src/Fallout.Common/Tools/Pulumi/Pulumi.Generated.cs +++ b/src/Fallout.Common/Tools/Pulumi/Pulumi.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/Pulumi/Pulumi.json using Fallout.Common; -using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Common/Tools/Pwsh/Pwsh.Generated.cs b/src/Fallout.Common/Tools/Pwsh/Pwsh.Generated.cs index 7e865c6e8..af64b0698 100644 --- a/src/Fallout.Common/Tools/Pwsh/Pwsh.Generated.cs +++ b/src/Fallout.Common/Tools/Pwsh/Pwsh.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/Pwsh/Pwsh.json using Fallout.Common; -using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Common/Tools/ReportGenerator/ReportGenerator.Generated.cs b/src/Fallout.Common/Tools/ReportGenerator/ReportGenerator.Generated.cs index c55ea90a3..97e7ac202 100644 --- a/src/Fallout.Common/Tools/ReportGenerator/ReportGenerator.Generated.cs +++ b/src/Fallout.Common/Tools/ReportGenerator/ReportGenerator.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/ReportGenerator/ReportGenerator.json using Fallout.Common; -using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Common/Tools/SignClient/SignClient.Generated.cs b/src/Fallout.Common/Tools/SignClient/SignClient.Generated.cs index 9530b71e0..ec1caf0c2 100644 --- a/src/Fallout.Common/Tools/SignClient/SignClient.Generated.cs +++ b/src/Fallout.Common/Tools/SignClient/SignClient.Generated.cs @@ -1,4 +1,3 @@ -using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Common/Tools/SignPath/SignPathTasks.cs b/src/Fallout.Common/Tools/SignPath/SignPathTasks.cs index 314dd7a39..dcea6e50b 100644 --- a/src/Fallout.Common/Tools/SignPath/SignPathTasks.cs +++ b/src/Fallout.Common/Tools/SignPath/SignPathTasks.cs @@ -8,12 +8,12 @@ using System.Text.Json.Nodes; using System.Threading.Tasks; using Fallout.Common.CI.AppVeyor; -using Fallout.Common.IO; -using Fallout.Common.Utilities; using Serilog; using static Fallout.Application.ControlFlow; using Fallout.Application; using Fallout.Common; +using Fallout.Kernel; +using Fallout.Kernel.IO; namespace Fallout.Application.Tools.SignPath; diff --git a/src/Fallout.Common/Tools/SignTool/SignTool.Generated.cs b/src/Fallout.Common/Tools/SignTool/SignTool.Generated.cs index ea8586d7b..4bfba6ee3 100644 --- a/src/Fallout.Common/Tools/SignTool/SignTool.Generated.cs +++ b/src/Fallout.Common/Tools/SignTool/SignTool.Generated.cs @@ -1,4 +1,3 @@ -using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Common/Tools/SignTool/SignToolTasks.cs b/src/Fallout.Common/Tools/SignTool/SignToolTasks.cs index aaadae1b5..f5b440cd0 100644 --- a/src/Fallout.Common/Tools/SignTool/SignToolTasks.cs +++ b/src/Fallout.Common/Tools/SignTool/SignToolTasks.cs @@ -1,8 +1,8 @@ using System; using System.Linq; -using Fallout.Common.IO; using Fallout.Application.Tooling; using Fallout.Common; +using Fallout.Kernel.IO; namespace Fallout.Application.Tools.SignTool; diff --git a/src/Fallout.Common/Tools/Slack/Slack.Generated.cs b/src/Fallout.Common/Tools/Slack/Slack.Generated.cs index 588887bc3..8d6b49998 100644 --- a/src/Fallout.Common/Tools/Slack/Slack.Generated.cs +++ b/src/Fallout.Common/Tools/Slack/Slack.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/Slack/Slack.json using Fallout.Common; -using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Common/Tools/Slack/SlackTasks.cs b/src/Fallout.Common/Tools/Slack/SlackTasks.cs index 31f6403a8..6d5873397 100644 --- a/src/Fallout.Common/Tools/Slack/SlackTasks.cs +++ b/src/Fallout.Common/Tools/Slack/SlackTasks.cs @@ -6,10 +6,10 @@ using System.Text.Json; using System.Text.Json.Serialization; using System.Threading.Tasks; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Net; using Fallout.Application.Tooling; using Fallout.Common; +using Fallout.Kernel.Net; +using Fallout.Kernel; namespace Fallout.Application.Tools.Slack; diff --git a/src/Fallout.Common/Tools/SonarScanner/SonarScanner.Generated.cs b/src/Fallout.Common/Tools/SonarScanner/SonarScanner.Generated.cs index 5abba4ded..58d654839 100644 --- a/src/Fallout.Common/Tools/SonarScanner/SonarScanner.Generated.cs +++ b/src/Fallout.Common/Tools/SonarScanner/SonarScanner.Generated.cs @@ -1,4 +1,3 @@ -using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Common/Tools/SpecFlow/SpecFlow.Generated.cs b/src/Fallout.Common/Tools/SpecFlow/SpecFlow.Generated.cs index 363cfc7b9..8dcf94c3e 100644 --- a/src/Fallout.Common/Tools/SpecFlow/SpecFlow.Generated.cs +++ b/src/Fallout.Common/Tools/SpecFlow/SpecFlow.Generated.cs @@ -1,4 +1,3 @@ -using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Common/Tools/Squirrel/Squirrel.Generated.cs b/src/Fallout.Common/Tools/Squirrel/Squirrel.Generated.cs index add1fd97e..85608e18c 100644 --- a/src/Fallout.Common/Tools/Squirrel/Squirrel.Generated.cs +++ b/src/Fallout.Common/Tools/Squirrel/Squirrel.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/Squirrel/Squirrel.json using Fallout.Common; -using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Common/Tools/StaticWebApps/StaticWebApps.Generated.cs b/src/Fallout.Common/Tools/StaticWebApps/StaticWebApps.Generated.cs index 08f499d60..7d0ab5c7a 100644 --- a/src/Fallout.Common/Tools/StaticWebApps/StaticWebApps.Generated.cs +++ b/src/Fallout.Common/Tools/StaticWebApps/StaticWebApps.Generated.cs @@ -1,4 +1,3 @@ -using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Common/Tools/Teams/Teams.Generated.cs b/src/Fallout.Common/Tools/Teams/Teams.Generated.cs index 7530c7e1a..9899be82f 100644 --- a/src/Fallout.Common/Tools/Teams/Teams.Generated.cs +++ b/src/Fallout.Common/Tools/Teams/Teams.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/Teams/Teams.json using Fallout.Common; -using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Common/Tools/Teams/TeamsTasks.cs b/src/Fallout.Common/Tools/Teams/TeamsTasks.cs index eb8b8fa21..6c18a001c 100644 --- a/src/Fallout.Common/Tools/Teams/TeamsTasks.cs +++ b/src/Fallout.Common/Tools/Teams/TeamsTasks.cs @@ -2,9 +2,9 @@ using System.Linq; using System.Net.Http; using System.Threading.Tasks; -using Fallout.Common.Utilities.Net; using Fallout.Application.Tooling; using Fallout.Common; +using Fallout.Kernel.Net; namespace Fallout.Application.Tools.Teams; diff --git a/src/Fallout.Common/Tools/TestCloud/TestCloud.Generated.cs b/src/Fallout.Common/Tools/TestCloud/TestCloud.Generated.cs index 3c058ed08..ff252fb5b 100644 --- a/src/Fallout.Common/Tools/TestCloud/TestCloud.Generated.cs +++ b/src/Fallout.Common/Tools/TestCloud/TestCloud.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/TestCloud/TestCloud.json using Fallout.Common; -using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Common/Tools/Twitter/TwitterTasks.cs b/src/Fallout.Common/Tools/Twitter/TwitterTasks.cs index 3cc00e77d..2670a6bee 100644 --- a/src/Fallout.Common/Tools/Twitter/TwitterTasks.cs +++ b/src/Fallout.Common/Tools/Twitter/TwitterTasks.cs @@ -8,9 +8,9 @@ using System.Text; using System.Text.Json.Nodes; using System.Threading.Tasks; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Collections; using Fallout.Common; +using Fallout.Kernel.Collections; +using Fallout.Kernel; namespace Fallout.Application.Tools.Twitter; diff --git a/src/Fallout.Common/Tools/Unity/Unity.Generated.cs b/src/Fallout.Common/Tools/Unity/Unity.Generated.cs index 32a389f64..61d352108 100644 --- a/src/Fallout.Common/Tools/Unity/Unity.Generated.cs +++ b/src/Fallout.Common/Tools/Unity/Unity.Generated.cs @@ -1,4 +1,3 @@ -using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Common/Tools/Unity/UnityTasks.cs b/src/Fallout.Common/Tools/Unity/UnityTasks.cs index 8966b37d7..2f538322b 100644 --- a/src/Fallout.Common/Tools/Unity/UnityTasks.cs +++ b/src/Fallout.Common/Tools/Unity/UnityTasks.cs @@ -3,15 +3,15 @@ using System.IO; using System.Linq; using System.Text; -using Fallout.Common.IO; -using Fallout.Common.Utilities; -using Fallout.Utilities.Text.Yaml; using Serilog; using Serilog.Events; using Fallout.Application; using Fallout.Application.Tools.Unity.Logging; using Fallout.Application.Tooling; using Fallout.Common; +using Fallout.Kernel.IO; +using Fallout.Kernel.Text.Yaml; +using Fallout.Kernel; namespace Fallout.Application.Tools.Unity; diff --git a/src/Fallout.Common/Tools/VSTest/VSTest.Generated.cs b/src/Fallout.Common/Tools/VSTest/VSTest.Generated.cs index a5233670b..033015dad 100644 --- a/src/Fallout.Common/Tools/VSTest/VSTest.Generated.cs +++ b/src/Fallout.Common/Tools/VSTest/VSTest.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/VSTest/VSTest.json using Fallout.Common; -using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Common/Tools/VSWhere/VSWhere.Generated.cs b/src/Fallout.Common/Tools/VSWhere/VSWhere.Generated.cs index a255c4f10..c24072ac1 100644 --- a/src/Fallout.Common/Tools/VSWhere/VSWhere.Generated.cs +++ b/src/Fallout.Common/Tools/VSWhere/VSWhere.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/VSWhere/VSWhere.json using Fallout.Common; -using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Common/Tools/WebConfigTransformRunner/WebConfigTransformRunner.Generated.cs b/src/Fallout.Common/Tools/WebConfigTransformRunner/WebConfigTransformRunner.Generated.cs index 873234ec8..c6638f254 100644 --- a/src/Fallout.Common/Tools/WebConfigTransformRunner/WebConfigTransformRunner.Generated.cs +++ b/src/Fallout.Common/Tools/WebConfigTransformRunner/WebConfigTransformRunner.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/WebConfigTransformRunner/WebConfigTransformRunner.json using Fallout.Common; -using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Common/Tools/Xunit/Xunit.Generated.cs b/src/Fallout.Common/Tools/Xunit/Xunit.Generated.cs index fa2b9aa42..b909eb3ce 100644 --- a/src/Fallout.Common/Tools/Xunit/Xunit.Generated.cs +++ b/src/Fallout.Common/Tools/Xunit/Xunit.Generated.cs @@ -1,7 +1,6 @@ // Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/Xunit/Xunit.json using Fallout.Common; -using Fallout.Common.Utilities.Collections; using System; using System.Collections.Generic; using System.Collections.ObjectModel; @@ -12,6 +11,7 @@ using System.Text; using System.Text.Json.Serialization; using Fallout.Application.Tooling; +using Fallout.Kernel.Collections; namespace Fallout.Application.Tools.Xunit; diff --git a/src/Fallout.Common/Utilities/TemplateUtility.cs b/src/Fallout.Common/Utilities/TemplateUtility.cs index 61af42723..613410e91 100644 --- a/src/Fallout.Common/Utilities/TemplateUtility.cs +++ b/src/Fallout.Common/Utilities/TemplateUtility.cs @@ -1,11 +1,12 @@ using System; using System.Collections.Generic; using System.Linq; -using Fallout.Common.IO; -using Fallout.Common.Utilities.Collections; using Serilog; +using Fallout.Kernel.Collections; +using Fallout.Kernel.IO; +using Fallout.Common; -namespace Fallout.Common.Utilities; +namespace Fallout.Kernel; public static class TemplateUtility { diff --git a/src/Fallout.Components/ICompile.cs b/src/Fallout.Components/ICompile.cs index 0f5aa1bd2..278a5f244 100644 --- a/src/Fallout.Components/ICompile.cs +++ b/src/Fallout.Components/ICompile.cs @@ -2,12 +2,12 @@ using System.Collections.Generic; using System.Linq; using Fallout.Solutions; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Collections; using static Fallout.Application.Tools.DotNet.DotNetTasks; using Fallout.Application; using Fallout.Application.Tools.DotNet; using Fallout.Application.Tooling; +using Fallout.Kernel; +using Fallout.Kernel.Collections; namespace Fallout.Application.Components; diff --git a/src/Fallout.Components/ICreateGitHubRelease.cs b/src/Fallout.Components/ICreateGitHubRelease.cs index 92a5b1d22..9fa776e89 100644 --- a/src/Fallout.Components/ICreateGitHubRelease.cs +++ b/src/Fallout.Components/ICreateGitHubRelease.cs @@ -6,11 +6,11 @@ using Fallout.Common; using Fallout.Common.ChangeLog; using Fallout.Common.CI.GitHubActions; -using Fallout.Common.IO; -using Fallout.Common.Utilities; using Octokit; using Fallout.Application; using Fallout.Application.Tools.GitHub; +using Fallout.Kernel.IO; +using Fallout.Kernel; namespace Fallout.Application.Components; diff --git a/src/Fallout.Components/IHasArtifacts.cs b/src/Fallout.Components/IHasArtifacts.cs index 802594dc2..1900a11a5 100644 --- a/src/Fallout.Components/IHasArtifacts.cs +++ b/src/Fallout.Components/IHasArtifacts.cs @@ -1,7 +1,7 @@ using System; using System.Linq; -using Fallout.Common.IO; using Fallout.Application; +using Fallout.Kernel.IO; namespace Fallout.Application.Components; diff --git a/src/Fallout.Components/IHasReports.cs b/src/Fallout.Components/IHasReports.cs index cd7be07ed..c3411fdb4 100644 --- a/src/Fallout.Components/IHasReports.cs +++ b/src/Fallout.Components/IHasReports.cs @@ -1,6 +1,6 @@ using System; using System.Linq; -using Fallout.Common.IO; +using Fallout.Kernel.IO; namespace Fallout.Application.Components; diff --git a/src/Fallout.Components/IPack.cs b/src/Fallout.Components/IPack.cs index 7099d72e6..415773ae1 100644 --- a/src/Fallout.Components/IPack.cs +++ b/src/Fallout.Components/IPack.cs @@ -1,12 +1,12 @@ using System; using System.Linq; -using Fallout.Common.IO; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Collections; using static Fallout.Application.Tools.DotNet.DotNetTasks; using Fallout.Application; using Fallout.Application.Tools.DotNet; using Fallout.Application.Tooling; +using Fallout.Kernel.IO; +using Fallout.Kernel.Collections; +using Fallout.Kernel; namespace Fallout.Application.Components; diff --git a/src/Fallout.Components/IPublish.cs b/src/Fallout.Components/IPublish.cs index 4704fe888..3e59d3b50 100644 --- a/src/Fallout.Components/IPublish.cs +++ b/src/Fallout.Components/IPublish.cs @@ -4,13 +4,12 @@ using System.Diagnostics.CodeAnalysis; using System.Linq; using Fallout.Common; -using Fallout.Common.IO; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Collections; using static Fallout.Application.Tools.DotNet.DotNetTasks; using Fallout.Application; using Fallout.Application.Tools.DotNet; using Fallout.Application.Tooling; +using Fallout.Kernel.IO; +using Fallout.Kernel; namespace Fallout.Application.Components; diff --git a/src/Fallout.Components/IReportCoverage.cs b/src/Fallout.Components/IReportCoverage.cs index 64e732e2e..cbf97762a 100644 --- a/src/Fallout.Components/IReportCoverage.cs +++ b/src/Fallout.Components/IReportCoverage.cs @@ -2,15 +2,15 @@ using System.IO; using System.Linq; using Fallout.Common.CI.AzurePipelines; -using Fallout.Common.IO; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Collections; using static Fallout.Application.Tools.Codecov.CodecovTasks; using static Fallout.Application.Tools.ReportGenerator.ReportGeneratorTasks; using Fallout.Application; using Fallout.Application.Tools.Codecov; using Fallout.Application.Tools.ReportGenerator; using Fallout.Application.Tooling; +using Fallout.Kernel.IO; +using Fallout.Kernel; +using Fallout.Kernel.Collections; namespace Fallout.Application.Components; diff --git a/src/Fallout.Components/ISignPackages.cs b/src/Fallout.Components/ISignPackages.cs index f1b7d183b..cc2ac668d 100644 --- a/src/Fallout.Components/ISignPackages.cs +++ b/src/Fallout.Components/ISignPackages.cs @@ -3,11 +3,11 @@ using System.IO; using System.Linq; using Fallout.Common.CI.AppVeyor; -using Fallout.Common.IO; -using Fallout.Common.Utilities.Collections; using static Fallout.Application.Tools.SignPath.SignPathTasks; using Fallout.Application; using Fallout.Application.Tools.SignPath; +using Fallout.Kernel.IO; +using Fallout.Kernel.Collections; namespace Fallout.Application.Components; diff --git a/src/Fallout.Components/ITest.cs b/src/Fallout.Components/ITest.cs index 710dc9fab..8c9a5133f 100644 --- a/src/Fallout.Components/ITest.cs +++ b/src/Fallout.Components/ITest.cs @@ -5,15 +5,15 @@ using Fallout.Common.CI.AzurePipelines; using Fallout.Common.CI.GitHubActions; using Fallout.Common.CI.TeamCity; -using Fallout.Common.IO; using Fallout.Solutions; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Collections; using static Fallout.Application.Tools.DotNet.DotNetTasks; using Fallout.Application; using Fallout.Application.Tools.DotNet; using Fallout.Application.Tooling; using Fallout.Application.Tools.Coverlet; +using Fallout.Kernel.IO; +using Fallout.Kernel.Collections; +using Fallout.Kernel; namespace Fallout.Application.Components; diff --git a/src/Fallout.MSBuildTasks/CodeGenerationTask.cs b/src/Fallout.MSBuildTasks/CodeGenerationTask.cs index 042b73cda..fb463af6f 100644 --- a/src/Fallout.MSBuildTasks/CodeGenerationTask.cs +++ b/src/Fallout.MSBuildTasks/CodeGenerationTask.cs @@ -3,8 +3,8 @@ using Microsoft.Build.Framework; using Fallout.CodeGeneration; using Fallout.CodeGeneration.Model; -using Fallout.Common.IO; -using Fallout.Common.Utilities.Collections; +using Fallout.Kernel.IO; +using Fallout.Kernel.Collections; namespace Fallout.MSBuildTasks; diff --git a/src/Fallout.MSBuildTasks/ContextAwareTask.cs b/src/Fallout.MSBuildTasks/ContextAwareTask.cs index a3dfb9f4d..a4bc76e11 100644 --- a/src/Fallout.MSBuildTasks/ContextAwareTask.cs +++ b/src/Fallout.MSBuildTasks/ContextAwareTask.cs @@ -7,7 +7,7 @@ using Fallout.Common; #if NETCOREAPP using System.Runtime.Loader; -using Fallout.Common.Utilities; +using Fallout.Kernel; #endif namespace Fallout.MSBuildTasks; diff --git a/src/Fallout.MSBuildTasks/EmbedPackagesForSelfContainedTask.cs b/src/Fallout.MSBuildTasks/EmbedPackagesForSelfContainedTask.cs index 8152e77f9..b9ef8809d 100644 --- a/src/Fallout.MSBuildTasks/EmbedPackagesForSelfContainedTask.cs +++ b/src/Fallout.MSBuildTasks/EmbedPackagesForSelfContainedTask.cs @@ -3,8 +3,8 @@ using System.Linq; using Microsoft.Build.Framework; using Microsoft.Build.Utilities; -using Fallout.Common.Utilities; using Fallout.Infrastructure.Tooling; +using Fallout.Kernel; namespace Fallout.MSBuildTasks; diff --git a/src/Fallout.MSBuildTasks/PackPackageToolsTask.cs b/src/Fallout.MSBuildTasks/PackPackageToolsTask.cs index 7ff299d9c..8882b0fd0 100644 --- a/src/Fallout.MSBuildTasks/PackPackageToolsTask.cs +++ b/src/Fallout.MSBuildTasks/PackPackageToolsTask.cs @@ -4,8 +4,9 @@ using System.Linq; using Microsoft.Build.Framework; using Microsoft.Build.Utilities; -using static Fallout.Common.IO.PathConstruction; +using static Fallout.Kernel.IO.PathConstruction; using Fallout.Infrastructure.Tooling; +using Fallout.Kernel.IO; namespace Fallout.MSBuildTasks; diff --git a/src/Fallout.ProjectModel/Project.Items.cs b/src/Fallout.ProjectModel/Project.Items.cs index faf415cb5..e9574c6e9 100644 --- a/src/Fallout.ProjectModel/Project.Items.cs +++ b/src/Fallout.ProjectModel/Project.Items.cs @@ -1,8 +1,8 @@ -using System.Collections.Generic; +using System.Collections.Generic; using System.Linq; -using Fallout.Common.Utilities; using Fallout.Common; +using Fallout.Kernel; namespace Fallout.Solutions; diff --git a/src/Fallout.ProjectModel/Project.Properties.cs b/src/Fallout.ProjectModel/Project.Properties.cs index 9132e5d61..c4a986b1d 100644 --- a/src/Fallout.ProjectModel/Project.Properties.cs +++ b/src/Fallout.ProjectModel/Project.Properties.cs @@ -1,6 +1,6 @@ -using Fallout.Common.Utilities; using Fallout.Common; +using Fallout.Kernel; namespace Fallout.Solutions; diff --git a/src/Fallout.ProjectModel/ProjectModelTasks.cs b/src/Fallout.ProjectModel/ProjectModelTasks.cs index 68736c69c..d26401d26 100644 --- a/src/Fallout.ProjectModel/ProjectModelTasks.cs +++ b/src/Fallout.ProjectModel/ProjectModelTasks.cs @@ -4,13 +4,13 @@ using System.Runtime.CompilerServices; using Microsoft.Build.Evaluation; using Microsoft.Build.Locator; -using Fallout.Common.IO; -using Fallout.Common.Utilities; using Serilog; #pragma warning disable CA2255 using Fallout.Common; using Fallout.Application.Tooling; +using Fallout.Kernel; +using Fallout.Kernel.IO; namespace Fallout.Solutions; diff --git a/src/Fallout.SourceGenerators/CodeAnalysisExtensions.cs b/src/Fallout.SourceGenerators/CodeAnalysisExtensions.cs index a00c38fff..ae332dbe8 100644 --- a/src/Fallout.SourceGenerators/CodeAnalysisExtensions.cs +++ b/src/Fallout.SourceGenerators/CodeAnalysisExtensions.cs @@ -1,8 +1,8 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using Microsoft.CodeAnalysis; -using Fallout.Common.Utilities.Collections; +using Fallout.Kernel.Collections; namespace Fallout.SourceGenerators; diff --git a/src/Fallout.SourceGenerators/StronglyTypedSolutionGenerator.cs b/src/Fallout.SourceGenerators/StronglyTypedSolutionGenerator.cs index 689f6ef9a..611c2d326 100644 --- a/src/Fallout.SourceGenerators/StronglyTypedSolutionGenerator.cs +++ b/src/Fallout.SourceGenerators/StronglyTypedSolutionGenerator.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.IO; using System.Linq; @@ -8,12 +8,12 @@ using Microsoft.CodeAnalysis.CSharp; using Microsoft.CodeAnalysis.CSharp.Syntax; using Fallout.Common; -using Fallout.Common.IO; using Fallout.Solutions; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Collections; using Scriban; using static Microsoft.CodeAnalysis.CSharp.SyntaxFactory; +using Fallout.Kernel.IO; +using Fallout.Kernel.Collections; +using Fallout.Kernel; namespace Fallout.SourceGenerators; @@ -56,7 +56,7 @@ public void Execute(GeneratorExecutionContext context) using Fallout.Persistence.Solution.Model; using Fallout.Solutions; - using Fallout.Common.IO; + using Fallout.Kernel.IO; using System.Runtime.CompilerServices; {declaration} diff --git a/src/Fallout.Tooling.Generator/CodeGenerator.cs b/src/Fallout.Tooling.Generator/CodeGenerator.cs index f37f81fd1..4df6c8eb5 100644 --- a/src/Fallout.Tooling.Generator/CodeGenerator.cs +++ b/src/Fallout.Tooling.Generator/CodeGenerator.cs @@ -1,13 +1,13 @@ -using System; +using System; using System.IO; using System.Linq; using Fallout.CodeGeneration.Generators; using Fallout.CodeGeneration.Model; using Fallout.Common; -using Fallout.Common.IO; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Collections; using Serilog; +using Fallout.Kernel.IO; +using Fallout.Kernel.Collections; +using Fallout.Kernel; namespace Fallout.CodeGeneration; diff --git a/src/Fallout.Tooling.Generator/Generators/DataClassExtensionGenerator.cs b/src/Fallout.Tooling.Generator/Generators/DataClassExtensionGenerator.cs index 86bd6cb56..d52da9655 100644 --- a/src/Fallout.Tooling.Generator/Generators/DataClassExtensionGenerator.cs +++ b/src/Fallout.Tooling.Generator/Generators/DataClassExtensionGenerator.cs @@ -1,9 +1,9 @@ -using System; +using System; using System.Linq; using Fallout.CodeGeneration.Model; using Fallout.CodeGeneration.Writers; -using Fallout.Common.Utilities; using Serilog; +using Fallout.Kernel; // ReSharper disable UnusedMethodReturnValue.Local diff --git a/src/Fallout.Tooling.Generator/Generators/DataClassGenerator.cs b/src/Fallout.Tooling.Generator/Generators/DataClassGenerator.cs index 8d5c8f0d6..383916c28 100644 --- a/src/Fallout.Tooling.Generator/Generators/DataClassGenerator.cs +++ b/src/Fallout.Tooling.Generator/Generators/DataClassGenerator.cs @@ -2,10 +2,10 @@ using System.Linq; using Fallout.CodeGeneration.Model; using Fallout.CodeGeneration.Writers; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Collections; using Serilog; using Fallout.Application.Tooling; +using Fallout.Kernel; +using Fallout.Kernel.Collections; // ReSharper disable UnusedMethodReturnValue.Local diff --git a/src/Fallout.Tooling.Generator/Generators/ModelExtensions.cs b/src/Fallout.Tooling.Generator/Generators/ModelExtensions.cs index 9968d1933..b29713254 100644 --- a/src/Fallout.Tooling.Generator/Generators/ModelExtensions.cs +++ b/src/Fallout.Tooling.Generator/Generators/ModelExtensions.cs @@ -3,7 +3,7 @@ using System.Text.RegularExpressions; using Fallout.CodeGeneration.Model; using Fallout.Common; -using Fallout.Common.Utilities; +using Fallout.Kernel; namespace Fallout.CodeGeneration.Generators; diff --git a/src/Fallout.Tooling.Generator/Generators/TaskGenerator.cs b/src/Fallout.Tooling.Generator/Generators/TaskGenerator.cs index 1c3ea9158..7e83c122a 100644 --- a/src/Fallout.Tooling.Generator/Generators/TaskGenerator.cs +++ b/src/Fallout.Tooling.Generator/Generators/TaskGenerator.cs @@ -2,8 +2,8 @@ using System.Linq; using Fallout.CodeGeneration.Model; using Fallout.CodeGeneration.Writers; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Collections; +using Fallout.Kernel; +using Fallout.Kernel.Collections; // ReSharper disable UnusedMethodReturnValue.Local diff --git a/src/Fallout.Tooling.Generator/Generators/ToolGenerator.cs b/src/Fallout.Tooling.Generator/Generators/ToolGenerator.cs index 2e6c95168..ae026ba28 100644 --- a/src/Fallout.Tooling.Generator/Generators/ToolGenerator.cs +++ b/src/Fallout.Tooling.Generator/Generators/ToolGenerator.cs @@ -4,7 +4,7 @@ using System.Linq; using Fallout.CodeGeneration.Model; using Fallout.CodeGeneration.Writers; -using Fallout.Common.Utilities.Collections; +using Fallout.Kernel.Collections; // ReSharper disable UnusedMethodReturnValue.Local @@ -61,7 +61,7 @@ private static IEnumerable GetNamespaceImports(Tool tool) "Fallout.Common", "Fallout.Common.Tooling", "Fallout.Common.Tools", - "Fallout.Common.Utilities.Collections", + "Fallout.Kernel.Collections", "System", "System.Collections.Generic", "System.Collections.ObjectModel", diff --git a/src/Fallout.Tooling.Generator/Generators/WriterExtensions.cs b/src/Fallout.Tooling.Generator/Generators/WriterExtensions.cs index 04da2350e..c3909d3f5 100644 --- a/src/Fallout.Tooling.Generator/Generators/WriterExtensions.cs +++ b/src/Fallout.Tooling.Generator/Generators/WriterExtensions.cs @@ -3,9 +3,9 @@ using System.Linq; using Fallout.CodeGeneration.Model; using Fallout.CodeGeneration.Writers; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Collections; using Serilog; +using Fallout.Kernel; +using Fallout.Kernel.Collections; namespace Fallout.CodeGeneration.Generators; diff --git a/src/Fallout.Tooling.Generator/ReferenceUpdater.cs b/src/Fallout.Tooling.Generator/ReferenceUpdater.cs index 7220a4aba..1ef63dbf3 100644 --- a/src/Fallout.Tooling.Generator/ReferenceUpdater.cs +++ b/src/Fallout.Tooling.Generator/ReferenceUpdater.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.IO; using System.Linq; @@ -8,8 +8,8 @@ using HtmlAgilityPack; using Fallout.CodeGeneration.Model; using Fallout.Common; -using Fallout.Common.Utilities.Net; using Serilog; +using Fallout.Kernel.Net; namespace Fallout.CodeGeneration; diff --git a/src/Fallout.Tooling.Generator/ToolSerializer.cs b/src/Fallout.Tooling.Generator/ToolSerializer.cs index 861e21c19..05b7ef70f 100644 --- a/src/Fallout.Tooling.Generator/ToolSerializer.cs +++ b/src/Fallout.Tooling.Generator/ToolSerializer.cs @@ -8,9 +8,9 @@ using System.Text.Json.Serialization; using System.Text.Json.Serialization.Metadata; using Fallout.CodeGeneration.Model; -using Fallout.Common.IO; -using Fallout.Common.Utilities; +using Fallout.Kernel; using Serilog; +using Fallout.Kernel.IO; namespace Fallout.CodeGeneration; diff --git a/src/Fallout.Tooling.Generator/Writers/ToolWriter.cs b/src/Fallout.Tooling.Generator/Writers/ToolWriter.cs index 7db2a3e28..47f4c60be 100644 --- a/src/Fallout.Tooling.Generator/Writers/ToolWriter.cs +++ b/src/Fallout.Tooling.Generator/Writers/ToolWriter.cs @@ -2,7 +2,7 @@ using System.IO; using System.Linq; using Fallout.CodeGeneration.Model; -using Fallout.Common.Utilities; +using Fallout.Kernel; namespace Fallout.CodeGeneration.Writers; diff --git a/src/Fallout.Tooling/ArgumentStringHandler.cs b/src/Fallout.Tooling/ArgumentStringHandler.cs index 97836342c..e9954047c 100644 --- a/src/Fallout.Tooling/ArgumentStringHandler.cs +++ b/src/Fallout.Tooling/ArgumentStringHandler.cs @@ -4,9 +4,9 @@ using System.Collections.Generic; using System.Linq; using System.Runtime.CompilerServices; -using Fallout.Common.IO; -using Fallout.Common.Utilities; using Fallout.Common; +using Fallout.Kernel; +using Fallout.Kernel.IO; namespace Fallout.Application.Tooling; diff --git a/src/Fallout.Tooling/Configure.cs b/src/Fallout.Tooling/Configure.cs index 591b00d8e..38ec3febc 100644 --- a/src/Fallout.Tooling/Configure.cs +++ b/src/Fallout.Tooling/Configure.cs @@ -2,7 +2,7 @@ using System.Collections.Concurrent; using System.Collections.Generic; using System.Linq; -using Fallout.Common.Utilities.Collections; +using Fallout.Kernel.Collections; namespace Fallout.Application.Tooling; diff --git a/src/Fallout.Tooling/DelegateHelper.cs b/src/Fallout.Tooling/DelegateHelper.cs index 3d47d82b1..7d1b6fa87 100644 --- a/src/Fallout.Tooling/DelegateHelper.cs +++ b/src/Fallout.Tooling/DelegateHelper.cs @@ -2,7 +2,7 @@ using System.Collections.Generic; using System.Linq; using System.Text.Json; -using Fallout.Common.Utilities; +using Fallout.Kernel; namespace Fallout.Application.Tooling; diff --git a/src/Fallout.Tooling/Enumeration.cs b/src/Fallout.Tooling/Enumeration.cs index d94f9145e..ab928f17b 100644 --- a/src/Fallout.Tooling/Enumeration.cs +++ b/src/Fallout.Tooling/Enumeration.cs @@ -4,8 +4,8 @@ using System.Globalization; using System.Linq; using System.Reflection; -using Fallout.Common.Utilities; using Fallout.Common; +using Fallout.Kernel; namespace Fallout.Application.Tooling; diff --git a/src/Fallout.Tooling/EnumerationJsonConverter.cs b/src/Fallout.Tooling/EnumerationJsonConverter.cs index b52b069c9..deba7c181 100644 --- a/src/Fallout.Tooling/EnumerationJsonConverter.cs +++ b/src/Fallout.Tooling/EnumerationJsonConverter.cs @@ -3,7 +3,7 @@ using System.Globalization; using System.Text.Json; using System.Text.Json.Serialization; -using Fallout.Common.Utilities; +using Fallout.Kernel; using Fallout.Common; namespace Fallout.Application.Tooling; diff --git a/src/Fallout.Tooling/NpmToolPathResolver.cs b/src/Fallout.Tooling/NpmToolPathResolver.cs index 39bce8cbc..c87a87ae0 100644 --- a/src/Fallout.Tooling/NpmToolPathResolver.cs +++ b/src/Fallout.Tooling/NpmToolPathResolver.cs @@ -1,8 +1,8 @@ using System; using System.Linq; -using Fallout.Common.IO; using Fallout.Common; using Fallout.Application.Tooling; +using Fallout.Kernel.IO; namespace Fallout.Infrastructure.Tooling; diff --git a/src/Fallout.Tooling/NuGetPackageResolver.cs b/src/Fallout.Tooling/NuGetPackageResolver.cs index 50dabff67..7800b1caa 100644 --- a/src/Fallout.Tooling/NuGetPackageResolver.cs +++ b/src/Fallout.Tooling/NuGetPackageResolver.cs @@ -6,10 +6,10 @@ using System.Xml.Linq; using NuGet.Packaging; using NuGet.Versioning; -using Fallout.Common.IO; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Collections; using Fallout.Common; +using Fallout.Kernel.IO; +using Fallout.Kernel; +using Fallout.Kernel.Collections; namespace Fallout.Infrastructure.Tooling; diff --git a/src/Fallout.Tooling/NuGetToolPathResolver.cs b/src/Fallout.Tooling/NuGetToolPathResolver.cs index 69d00aaa1..6ff72c0a5 100644 --- a/src/Fallout.Tooling/NuGetToolPathResolver.cs +++ b/src/Fallout.Tooling/NuGetToolPathResolver.cs @@ -4,9 +4,9 @@ using System.Linq; using System.Reflection; using System.Runtime.Versioning; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Collections; using Fallout.Common; +using Fallout.Kernel; +using Fallout.Kernel.Collections; namespace Fallout.Infrastructure.Tooling; diff --git a/src/Fallout.Tooling/NuGetVersionResolver.cs b/src/Fallout.Tooling/NuGetVersionResolver.cs index 9d4bbd775..247aa3118 100644 --- a/src/Fallout.Tooling/NuGetVersionResolver.cs +++ b/src/Fallout.Tooling/NuGetVersionResolver.cs @@ -2,7 +2,7 @@ using System.Net.Http; using System.Text.Json.Nodes; using System.Threading.Tasks; -using Fallout.Common.Utilities; +using Fallout.Kernel; using Fallout.Common; namespace Fallout.Infrastructure.Tooling; diff --git a/src/Fallout.Tooling/ObjectFromFieldConverter.cs b/src/Fallout.Tooling/ObjectFromFieldConverter.cs index 61b8e17c6..24eb495ff 100644 --- a/src/Fallout.Tooling/ObjectFromFieldConverter.cs +++ b/src/Fallout.Tooling/ObjectFromFieldConverter.cs @@ -3,8 +3,8 @@ using System.Reflection; using System.Text.Json; using System.Text.Json.Serialization; -using Fallout.Common.Utilities; using Fallout.Common; +using Fallout.Kernel; namespace Fallout.Application.Tooling; diff --git a/src/Fallout.Tooling/Options.cs b/src/Fallout.Tooling/Options.cs index d653fe718..460ba83a0 100644 --- a/src/Fallout.Tooling/Options.cs +++ b/src/Fallout.Tooling/Options.cs @@ -7,9 +7,9 @@ using System.Text.Json; using System.Text.Json.Nodes; using System.Text.Json.Serialization; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Collections; using Fallout.Common; +using Fallout.Kernel; +using Fallout.Kernel.Collections; namespace Fallout.Application.Tooling; diff --git a/src/Fallout.Tooling/ProcessException.cs b/src/Fallout.Tooling/ProcessException.cs index 8cba74220..96a33823f 100644 --- a/src/Fallout.Tooling/ProcessException.cs +++ b/src/Fallout.Tooling/ProcessException.cs @@ -3,10 +3,10 @@ using System.Linq; using System.Runtime.Serialization; using System.Text; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Collections; using Serilog; using Serilog.Events; +using Fallout.Kernel; +using Fallout.Kernel.Collections; namespace Fallout.Application.Tooling; diff --git a/src/Fallout.Tooling/ProcessExtensions.cs b/src/Fallout.Tooling/ProcessExtensions.cs index b45851fbe..bdf33f90d 100644 --- a/src/Fallout.Tooling/ProcessExtensions.cs +++ b/src/Fallout.Tooling/ProcessExtensions.cs @@ -3,8 +3,8 @@ using System.Linq; using System.Text.Json; using System.Text.Json.Nodes; -using Fallout.Common.Utilities; using Fallout.Common; +using Fallout.Kernel; namespace Fallout.Application.Tooling; diff --git a/src/Fallout.Tooling/ProcessTasks.cs b/src/Fallout.Tooling/ProcessTasks.cs index d112c9098..c96634306 100644 --- a/src/Fallout.Tooling/ProcessTasks.cs +++ b/src/Fallout.Tooling/ProcessTasks.cs @@ -5,12 +5,12 @@ using System.IO; using System.Linq; using System.Text; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Collections; using Serilog; using Serilog.Events; using Fallout.Application.Tooling; using Fallout.Common; +using Fallout.Kernel; +using Fallout.Kernel.Collections; namespace Fallout.Infrastructure.Tooling; diff --git a/src/Fallout.Tooling/ToolOptions.Arguments.cs b/src/Fallout.Tooling/ToolOptions.Arguments.cs index 3c4be01b3..d6eaa0057 100644 --- a/src/Fallout.Tooling/ToolOptions.Arguments.cs +++ b/src/Fallout.Tooling/ToolOptions.Arguments.cs @@ -4,9 +4,9 @@ using System.Reflection; using System.Text.Json; using System.Text.Json.Nodes; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Collections; using Fallout.Common; +using Fallout.Kernel.Collections; +using Fallout.Kernel; namespace Fallout.Application.Tooling; diff --git a/src/Fallout.Tooling/ToolOptions.Logger.cs b/src/Fallout.Tooling/ToolOptions.Logger.cs index 87616efc1..20a439475 100644 --- a/src/Fallout.Tooling/ToolOptions.Logger.cs +++ b/src/Fallout.Tooling/ToolOptions.Logger.cs @@ -1,7 +1,7 @@ using System; using System.Reflection; -using Fallout.Common.Utilities; using Fallout.Common; +using Fallout.Kernel; namespace Fallout.Application.Tooling; diff --git a/src/Fallout.Tooling/ToolOptions.Secrets.cs b/src/Fallout.Tooling/ToolOptions.Secrets.cs index 0c3bce2ce..55e33a02b 100644 --- a/src/Fallout.Tooling/ToolOptions.Secrets.cs +++ b/src/Fallout.Tooling/ToolOptions.Secrets.cs @@ -1,8 +1,8 @@ using System.Collections.Generic; using System.Linq; using System.Reflection; -using Fallout.Common.Utilities; using Fallout.Common; +using Fallout.Kernel; namespace Fallout.Application.Tooling; diff --git a/src/Fallout.Tooling/ToolOptions.cs b/src/Fallout.Tooling/ToolOptions.cs index 8e65826d4..23b7414d2 100644 --- a/src/Fallout.Tooling/ToolOptions.cs +++ b/src/Fallout.Tooling/ToolOptions.cs @@ -2,8 +2,8 @@ using System.Collections.Generic; using System.Linq; using System.Reflection; -using Fallout.Common.Utilities; using Fallout.Common; +using Fallout.Kernel; namespace Fallout.Application.Tooling; diff --git a/src/Fallout.Tooling/ToolPathResolver.cs b/src/Fallout.Tooling/ToolPathResolver.cs index 27c7d3d64..d7766e4e5 100644 --- a/src/Fallout.Tooling/ToolPathResolver.cs +++ b/src/Fallout.Tooling/ToolPathResolver.cs @@ -1,9 +1,9 @@ using System; using System.IO; using System.Linq; -using Fallout.Common.Utilities; using Fallout.Application.Tooling; using Fallout.Common; +using Fallout.Kernel; namespace Fallout.Infrastructure.Tooling; diff --git a/src/Fallout.Tooling/ToolTasks.Logger.cs b/src/Fallout.Tooling/ToolTasks.Logger.cs index 6e42d7ce6..c55a5d372 100644 --- a/src/Fallout.Tooling/ToolTasks.Logger.cs +++ b/src/Fallout.Tooling/ToolTasks.Logger.cs @@ -2,9 +2,9 @@ using System.Linq; using System.Reflection; using System.Text.RegularExpressions; -using Fallout.Common.Utilities; using Serilog; using Serilog.Events; +using Fallout.Kernel; namespace Fallout.Application.Tooling; diff --git a/src/Fallout.Tooling/ToolTasks.Run.cs b/src/Fallout.Tooling/ToolTasks.Run.cs index 7baf92d29..e04c06e00 100644 --- a/src/Fallout.Tooling/ToolTasks.Run.cs +++ b/src/Fallout.Tooling/ToolTasks.Run.cs @@ -1,8 +1,8 @@ using System; using System.Collections.Generic; using System.Linq; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Collections; +using Fallout.Kernel; +using Fallout.Kernel.Collections; namespace Fallout.Application.Tooling; diff --git a/src/Fallout.Tooling/ToolTasks.ToolPath.cs b/src/Fallout.Tooling/ToolTasks.ToolPath.cs index c1bb6828c..ee6c207b8 100644 --- a/src/Fallout.Tooling/ToolTasks.ToolPath.cs +++ b/src/Fallout.Tooling/ToolTasks.ToolPath.cs @@ -1,7 +1,7 @@ using System; using System.Reflection; -using Fallout.Common.Utilities; using Fallout.Common; +using Fallout.Kernel; namespace Fallout.Application.Tooling; diff --git a/src/Fallout.Tooling/ToolingExtensions.cs b/src/Fallout.Tooling/ToolingExtensions.cs index b08689440..57ff506fe 100644 --- a/src/Fallout.Tooling/ToolingExtensions.cs +++ b/src/Fallout.Tooling/ToolingExtensions.cs @@ -1,12 +1,12 @@ using System; using System.Linq; -using Fallout.Common.IO; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Collections; using Serilog; using Serilog.Events; using Fallout.Common; using Fallout.Application.Tooling; +using Fallout.Kernel.IO; +using Fallout.Kernel.Collections; +using Fallout.Kernel; namespace Fallout.Infrastructure.Tooling; diff --git a/src/Fallout.Tooling/ToolingServices.cs b/src/Fallout.Tooling/ToolingServices.cs index b391f115e..118fa3cc8 100644 --- a/src/Fallout.Tooling/ToolingServices.cs +++ b/src/Fallout.Tooling/ToolingServices.cs @@ -1,7 +1,7 @@ using System; using System.Collections.Generic; using System.Threading.Tasks; -using Fallout.Common.IO; +using Fallout.Kernel.IO; namespace Fallout.Application.Tooling; diff --git a/src/Fallout.Tooling/ToolingServicesRegistration.cs b/src/Fallout.Tooling/ToolingServicesRegistration.cs index b56d61acc..f318eaf18 100644 --- a/src/Fallout.Tooling/ToolingServicesRegistration.cs +++ b/src/Fallout.Tooling/ToolingServicesRegistration.cs @@ -3,7 +3,7 @@ using System.Runtime.CompilerServices; using System.Threading.Tasks; using Fallout.Application.Tooling; -using Fallout.Common.IO; +using Fallout.Kernel.IO; namespace Fallout.Infrastructure.Tooling; diff --git a/src/Fallout.Utilities.IO.Compression/CompressionExtensions.cs b/src/Fallout.Utilities.IO.Compression/CompressionExtensions.cs index 85c69b524..acfb01c8f 100644 --- a/src/Fallout.Utilities.IO.Compression/CompressionExtensions.cs +++ b/src/Fallout.Utilities.IO.Compression/CompressionExtensions.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.IO; using System.IO.Compression; @@ -7,9 +7,10 @@ using ICSharpCode.SharpZipLib.GZip; using ICSharpCode.SharpZipLib.Tar; using ICSharpCode.SharpZipLib.Zip; -using Fallout.Common.Utilities.Collections; +using Fallout.Kernel.Collections; +using Fallout.Common; -namespace Fallout.Common.IO; +namespace Fallout.Kernel.IO; public static class CompressionExtensions { diff --git a/src/Fallout.Utilities.IO.Globbing/Globbing.cs b/src/Fallout.Utilities.IO.Globbing/Globbing.cs index c80710f10..278fe9744 100644 --- a/src/Fallout.Utilities.IO.Globbing/Globbing.cs +++ b/src/Fallout.Utilities.IO.Globbing/Globbing.cs @@ -1,12 +1,13 @@ -using System; +using System; using System.Collections.Generic; using System.IO; using System.Linq; using GlobExpressions; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Collections; +using Fallout.Kernel.Collections; +using Fallout.Kernel; +using Fallout.Common; -namespace Fallout.Common.IO; +namespace Fallout.Kernel.IO; public static class Globbing { diff --git a/src/Fallout.Utilities.IO.Globbing/GlobbingCaseSensitivity.cs b/src/Fallout.Utilities.IO.Globbing/GlobbingCaseSensitivity.cs index fe8829bc4..dbc7cdc25 100644 --- a/src/Fallout.Utilities.IO.Globbing/GlobbingCaseSensitivity.cs +++ b/src/Fallout.Utilities.IO.Globbing/GlobbingCaseSensitivity.cs @@ -1,7 +1,7 @@ using System; using System.Linq; -namespace Fallout.Common.IO; +namespace Fallout.Kernel.IO; /// /// Indicates the case sensitivity used for globbing. diff --git a/src/Fallout.Utilities.Net/HttpClient.Request.cs b/src/Fallout.Utilities.Net/HttpClient.Request.cs index 62e75fd9d..25b28b2e9 100644 --- a/src/Fallout.Utilities.Net/HttpClient.Request.cs +++ b/src/Fallout.Utilities.Net/HttpClient.Request.cs @@ -1,8 +1,8 @@ -using System; +using System; using System.Linq; using System.Net.Http; -namespace Fallout.Common.Utilities.Net; +namespace Fallout.Kernel.Net; public static partial class HttpClientExtensions { diff --git a/src/Fallout.Utilities.Net/HttpRequest.Authentication.cs b/src/Fallout.Utilities.Net/HttpRequest.Authentication.cs index 9d000161a..f01ab8c65 100644 --- a/src/Fallout.Utilities.Net/HttpRequest.Authentication.cs +++ b/src/Fallout.Utilities.Net/HttpRequest.Authentication.cs @@ -1,9 +1,9 @@ -using System; +using System; using System.Linq; using System.Net.Http.Headers; using System.Text; -namespace Fallout.Common.Utilities.Net; +namespace Fallout.Kernel.Net; public static partial class HttpRequestExtensions { diff --git a/src/Fallout.Utilities.Net/HttpRequest.Content.cs b/src/Fallout.Utilities.Net/HttpRequest.Content.cs index d666ff822..d5cc5dcb1 100644 --- a/src/Fallout.Utilities.Net/HttpRequest.Content.cs +++ b/src/Fallout.Utilities.Net/HttpRequest.Content.cs @@ -6,7 +6,7 @@ using System.Text; using System.Text.Json; -namespace Fallout.Common.Utilities.Net; +namespace Fallout.Kernel.Net; public static partial class HttpRequestExtensions { diff --git a/src/Fallout.Utilities.Net/HttpRequest.Response.cs b/src/Fallout.Utilities.Net/HttpRequest.Response.cs index 21f7e98c0..5a8c0ec8c 100644 --- a/src/Fallout.Utilities.Net/HttpRequest.Response.cs +++ b/src/Fallout.Utilities.Net/HttpRequest.Response.cs @@ -1,8 +1,8 @@ -using System.Net.Http; +using System.Net.Http; using System.Threading; using System.Threading.Tasks; -namespace Fallout.Common.Utilities.Net; +namespace Fallout.Kernel.Net; public static partial class HttpRequestExtensions { diff --git a/src/Fallout.Utilities.Net/HttpResponse.Assert.cs b/src/Fallout.Utilities.Net/HttpResponse.Assert.cs index 4c6f51ece..cd635d68d 100644 --- a/src/Fallout.Utilities.Net/HttpResponse.Assert.cs +++ b/src/Fallout.Utilities.Net/HttpResponse.Assert.cs @@ -1,10 +1,10 @@ -using System; +using System; using System.Linq; using System.Net; using System.Net.Http; using System.Runtime.Serialization; -namespace Fallout.Common.Utilities.Net; +namespace Fallout.Kernel.Net; public static partial class HttpResponseExtensions { diff --git a/src/Fallout.Utilities.Net/HttpResponse.Body.cs b/src/Fallout.Utilities.Net/HttpResponse.Body.cs index cc5a7f2a1..1bdc9d7ce 100644 --- a/src/Fallout.Utilities.Net/HttpResponse.Body.cs +++ b/src/Fallout.Utilities.Net/HttpResponse.Body.cs @@ -2,9 +2,9 @@ using System.Text.Json; using System.Text.Json.Nodes; using System.Threading.Tasks; -using Fallout.Common.IO; +using Fallout.Kernel.IO; -namespace Fallout.Common.Utilities.Net; +namespace Fallout.Kernel.Net; public static partial class HttpResponseExtensions { diff --git a/src/Fallout.Utilities.Text.Json/JsonExtensions.cs b/src/Fallout.Utilities.Text.Json/JsonExtensions.cs index bda118acf..c84f1ec3b 100644 --- a/src/Fallout.Utilities.Text.Json/JsonExtensions.cs +++ b/src/Fallout.Utilities.Text.Json/JsonExtensions.cs @@ -2,9 +2,9 @@ using System.Text.Json; using System.Text.Json.Nodes; using System.Text.Json.Serialization; -using Fallout.Common.IO; +using Fallout.Kernel.IO; -namespace Fallout.Common.Utilities; +namespace Fallout.Kernel; public static class JsonExtensions { diff --git a/src/Fallout.Utilities.Text.Json/JsonObject.GetChildren.cs b/src/Fallout.Utilities.Text.Json/JsonObject.GetChildren.cs index 1e7674b04..f01c517e7 100644 --- a/src/Fallout.Utilities.Text.Json/JsonObject.GetChildren.cs +++ b/src/Fallout.Utilities.Text.Json/JsonObject.GetChildren.cs @@ -2,7 +2,7 @@ using System.Linq; using System.Text.Json.Nodes; -namespace Fallout.Common.Utilities; +namespace Fallout.Kernel; public static partial class JsonNodeExtensions { diff --git a/src/Fallout.Utilities.Text.Json/JsonObject.GetPropertyValue.cs b/src/Fallout.Utilities.Text.Json/JsonObject.GetPropertyValue.cs index 5d0cd438d..5ff2c1ecb 100644 --- a/src/Fallout.Utilities.Text.Json/JsonObject.GetPropertyValue.cs +++ b/src/Fallout.Utilities.Text.Json/JsonObject.GetPropertyValue.cs @@ -1,6 +1,7 @@ using System.Text.Json.Nodes; +using Fallout.Common; -namespace Fallout.Common.Utilities; +namespace Fallout.Kernel; public static partial class JsonNodeExtensions { diff --git a/src/Fallout.Utilities.Text.Yaml/YamlExtensions.cs b/src/Fallout.Utilities.Text.Yaml/YamlExtensions.cs index c144590b3..813d65471 100644 --- a/src/Fallout.Utilities.Text.Yaml/YamlExtensions.cs +++ b/src/Fallout.Utilities.Text.Yaml/YamlExtensions.cs @@ -1,9 +1,9 @@ using System; -using Fallout.Common.IO; using YamlDotNet.Serialization; using YamlDotNet.Serialization.NamingConventions; +using Fallout.Kernel.IO; -namespace Fallout.Utilities.Text.Yaml; +namespace Fallout.Kernel.Text.Yaml; public static class YamlExtensions { diff --git a/src/Fallout.Utilities/ArgumentParser.cs b/src/Fallout.Utilities/ArgumentParser.cs index 9880831a4..3ab39aaf7 100644 --- a/src/Fallout.Utilities/ArgumentParser.cs +++ b/src/Fallout.Utilities/ArgumentParser.cs @@ -1,8 +1,8 @@ using System; using System.Collections.Generic; using System.Linq; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Collections; +using Fallout.Kernel; +using Fallout.Kernel.Collections; namespace Fallout.Common; diff --git a/src/Fallout.Utilities/Collections/Array.Deconstruct.cs b/src/Fallout.Utilities/Collections/Array.Deconstruct.cs index 17252c509..bda2c5d14 100644 --- a/src/Fallout.Utilities/Collections/Array.Deconstruct.cs +++ b/src/Fallout.Utilities/Collections/Array.Deconstruct.cs @@ -1,7 +1,7 @@ -using System; +using System; using System.Linq; -namespace Fallout.Common.Utilities.Collections; +namespace Fallout.Kernel.Collections; public static class ArrayExtensions { diff --git a/src/Fallout.Utilities/Collections/Dictionary.AddDictionary.cs b/src/Fallout.Utilities/Collections/Dictionary.AddDictionary.cs index cd3a62757..fa77dbe25 100644 --- a/src/Fallout.Utilities/Collections/Dictionary.AddDictionary.cs +++ b/src/Fallout.Utilities/Collections/Dictionary.AddDictionary.cs @@ -1,7 +1,7 @@ using System.Collections.Generic; using System.Collections.ObjectModel; -namespace Fallout.Common.Utilities.Collections; +namespace Fallout.Kernel.Collections; public static partial class DictionaryExtensions { diff --git a/src/Fallout.Utilities/Collections/Dictionary.AddKeyValue.cs b/src/Fallout.Utilities/Collections/Dictionary.AddKeyValue.cs index 5b47676b4..bbc4c5da2 100644 --- a/src/Fallout.Utilities/Collections/Dictionary.AddKeyValue.cs +++ b/src/Fallout.Utilities/Collections/Dictionary.AddKeyValue.cs @@ -1,8 +1,8 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; -namespace Fallout.Common.Utilities.Collections; +namespace Fallout.Kernel.Collections; public static partial class DictionaryExtensions { diff --git a/src/Fallout.Utilities/Collections/Dictionary.AsReadOnly.cs b/src/Fallout.Utilities/Collections/Dictionary.AsReadOnly.cs index df64d800c..72e913209 100644 --- a/src/Fallout.Utilities/Collections/Dictionary.AsReadOnly.cs +++ b/src/Fallout.Utilities/Collections/Dictionary.AsReadOnly.cs @@ -1,11 +1,11 @@ -#if NETSTANDARD2_0 +#if NETSTANDARD2_0 using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; -namespace Fallout.Common.Utilities.Collections; +namespace Fallout.Kernel.Collections; public static partial class DictionaryExtensions { diff --git a/src/Fallout.Utilities/Collections/Dictionary.Deconstruct.cs b/src/Fallout.Utilities/Collections/Dictionary.Deconstruct.cs index 6174d8662..69a8c6640 100644 --- a/src/Fallout.Utilities/Collections/Dictionary.Deconstruct.cs +++ b/src/Fallout.Utilities/Collections/Dictionary.Deconstruct.cs @@ -1,6 +1,6 @@ using System.Collections.Generic; -namespace Fallout.Common.Utilities.Collections; +namespace Fallout.Kernel.Collections; public static partial class DictionaryExtensions { diff --git a/src/Fallout.Utilities/Collections/Dictionary.GetOrDefault.cs b/src/Fallout.Utilities/Collections/Dictionary.GetOrDefault.cs index 82d545718..b11a9db20 100644 --- a/src/Fallout.Utilities/Collections/Dictionary.GetOrDefault.cs +++ b/src/Fallout.Utilities/Collections/Dictionary.GetOrDefault.cs @@ -1,11 +1,11 @@ -#if NETSTANDARD2_0 +#if NETSTANDARD2_0 using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; -namespace Fallout.Common.Utilities.Collections; +namespace Fallout.Kernel.Collections; [DebuggerStepThrough] [DebuggerNonUserCode] diff --git a/src/Fallout.Utilities/Collections/Dictionary.SetKeyValue.cs b/src/Fallout.Utilities/Collections/Dictionary.SetKeyValue.cs index ee539df87..a98cd0042 100644 --- a/src/Fallout.Utilities/Collections/Dictionary.SetKeyValue.cs +++ b/src/Fallout.Utilities/Collections/Dictionary.SetKeyValue.cs @@ -1,8 +1,8 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; -namespace Fallout.Common.Utilities.Collections; +namespace Fallout.Kernel.Collections; public static partial class DictionaryExtensions { diff --git a/src/Fallout.Utilities/Collections/Dictionary.ToGeneric.cs b/src/Fallout.Utilities/Collections/Dictionary.ToGeneric.cs index ddb67bd03..a8a188222 100644 --- a/src/Fallout.Utilities/Collections/Dictionary.ToGeneric.cs +++ b/src/Fallout.Utilities/Collections/Dictionary.ToGeneric.cs @@ -1,9 +1,10 @@ -using System; +using System; using System.Collections; using System.Collections.Generic; using System.Linq; +using Fallout.Common; -namespace Fallout.Common.Utilities.Collections; +namespace Fallout.Kernel.Collections; public static partial class DictionaryExtensions { diff --git a/src/Fallout.Utilities/Collections/Enumerable.AsEnumerable.cs b/src/Fallout.Utilities/Collections/Enumerable.AsEnumerable.cs index eec6fb0c2..74f954905 100644 --- a/src/Fallout.Utilities/Collections/Enumerable.AsEnumerable.cs +++ b/src/Fallout.Utilities/Collections/Enumerable.AsEnumerable.cs @@ -1,8 +1,8 @@ -using System.Collections; +using System.Collections; using System.Collections.Generic; using System.Linq; -namespace Fallout.Common.Utilities.Collections; +namespace Fallout.Kernel.Collections; public static partial class EnumerableExtensions { diff --git a/src/Fallout.Utilities/Collections/Enumerable.Concat.cs b/src/Fallout.Utilities/Collections/Enumerable.Concat.cs index 947b78494..8a0be1b85 100644 --- a/src/Fallout.Utilities/Collections/Enumerable.Concat.cs +++ b/src/Fallout.Utilities/Collections/Enumerable.Concat.cs @@ -1,10 +1,10 @@ -using System; +using System; using System.Collections.Generic; using System.Diagnostics; using System.Diagnostics.CodeAnalysis; using System.Linq; -namespace Fallout.Common.Utilities.Collections; +namespace Fallout.Kernel.Collections; [SuppressMessage("ReSharper", "MissingXmlDoc")] [DebuggerNonUserCode] diff --git a/src/Fallout.Utilities/Collections/Enumerable.Distinct.cs b/src/Fallout.Utilities/Collections/Enumerable.Distinct.cs index 4e313e871..c43f40f27 100644 --- a/src/Fallout.Utilities/Collections/Enumerable.Distinct.cs +++ b/src/Fallout.Utilities/Collections/Enumerable.Distinct.cs @@ -1,8 +1,8 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; -namespace Fallout.Common.Utilities.Collections; +namespace Fallout.Kernel.Collections; public static partial class EnumerableExtensions { diff --git a/src/Fallout.Utilities/Collections/Enumerable.Emptiness.cs b/src/Fallout.Utilities/Collections/Enumerable.Emptiness.cs index 8da151ea9..32b2bf359 100644 --- a/src/Fallout.Utilities/Collections/Enumerable.Emptiness.cs +++ b/src/Fallout.Utilities/Collections/Enumerable.Emptiness.cs @@ -1,7 +1,7 @@ -using System.Collections.Generic; +using System.Collections.Generic; using System.Linq; -namespace Fallout.Common.Utilities.Collections; +namespace Fallout.Kernel.Collections; public static partial class EnumerableExtensions { diff --git a/src/Fallout.Utilities/Collections/Enumerable.ForEach.cs b/src/Fallout.Utilities/Collections/Enumerable.ForEach.cs index a83dac1fe..1b245f8cb 100644 --- a/src/Fallout.Utilities/Collections/Enumerable.ForEach.cs +++ b/src/Fallout.Utilities/Collections/Enumerable.ForEach.cs @@ -1,8 +1,8 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; -namespace Fallout.Common.Utilities.Collections; +namespace Fallout.Kernel.Collections; public static partial class EnumerableExtensions { diff --git a/src/Fallout.Utilities/Collections/Enumerable.Random.cs b/src/Fallout.Utilities/Collections/Enumerable.Random.cs index a06b9cd8c..39af0d301 100644 --- a/src/Fallout.Utilities/Collections/Enumerable.Random.cs +++ b/src/Fallout.Utilities/Collections/Enumerable.Random.cs @@ -2,7 +2,7 @@ using System.Collections.Generic; using System.Linq; -namespace Fallout.Common.Utilities.Collections; +namespace Fallout.Kernel.Collections; partial class EnumerableExtensions { diff --git a/src/Fallout.Utilities/Collections/Enumerable.Sequence.cs b/src/Fallout.Utilities/Collections/Enumerable.Sequence.cs index 718418fb7..e8799972e 100644 --- a/src/Fallout.Utilities/Collections/Enumerable.Sequence.cs +++ b/src/Fallout.Utilities/Collections/Enumerable.Sequence.cs @@ -1,7 +1,7 @@ -using System.Collections.Generic; +using System.Collections.Generic; using System.Linq; -namespace Fallout.Common.Utilities.Collections; +namespace Fallout.Kernel.Collections; public static partial class EnumerableExtensions { diff --git a/src/Fallout.Utilities/Collections/Enumerable.SingleOrDefaultOrError.cs b/src/Fallout.Utilities/Collections/Enumerable.SingleOrDefaultOrError.cs index b23e9f75f..7ece6c538 100644 --- a/src/Fallout.Utilities/Collections/Enumerable.SingleOrDefaultOrError.cs +++ b/src/Fallout.Utilities/Collections/Enumerable.SingleOrDefaultOrError.cs @@ -1,8 +1,8 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; -namespace Fallout.Common.Utilities.Collections; +namespace Fallout.Kernel.Collections; public static partial class EnumerableExtensions { diff --git a/src/Fallout.Utilities/Collections/Enumerable.TakeUntil.cs b/src/Fallout.Utilities/Collections/Enumerable.TakeUntil.cs index 4574eaea7..e670b7f41 100644 --- a/src/Fallout.Utilities/Collections/Enumerable.TakeUntil.cs +++ b/src/Fallout.Utilities/Collections/Enumerable.TakeUntil.cs @@ -1,8 +1,8 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; -namespace Fallout.Common.Utilities.Collections; +namespace Fallout.Kernel.Collections; public static partial class EnumerableExtensions { diff --git a/src/Fallout.Utilities/Collections/Enumerable.ToDictionary.cs b/src/Fallout.Utilities/Collections/Enumerable.ToDictionary.cs index 0ff9935dd..f720613ff 100644 --- a/src/Fallout.Utilities/Collections/Enumerable.ToDictionary.cs +++ b/src/Fallout.Utilities/Collections/Enumerable.ToDictionary.cs @@ -1,8 +1,10 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; +using Fallout.Kernel; +using Fallout.Common; -namespace Fallout.Common.Utilities.Collections; +namespace Fallout.Kernel.Collections; public static partial class EnumerableExtensions { diff --git a/src/Fallout.Utilities/Collections/Enumerable.ToEmptyIfNull.cs b/src/Fallout.Utilities/Collections/Enumerable.ToEmptyIfNull.cs index 867d17d0c..c4f7adda1 100644 --- a/src/Fallout.Utilities/Collections/Enumerable.ToEmptyIfNull.cs +++ b/src/Fallout.Utilities/Collections/Enumerable.ToEmptyIfNull.cs @@ -1,6 +1,6 @@ -using System.Collections.Generic; +using System.Collections.Generic; -namespace Fallout.Common.Utilities.Collections; +namespace Fallout.Kernel.Collections; public static partial class EnumerableExtensions { diff --git a/src/Fallout.Utilities/Collections/Enumerable.ToLookupTable.cs b/src/Fallout.Utilities/Collections/Enumerable.ToLookupTable.cs index f153d1d64..9a55cc881 100644 --- a/src/Fallout.Utilities/Collections/Enumerable.ToLookupTable.cs +++ b/src/Fallout.Utilities/Collections/Enumerable.ToLookupTable.cs @@ -1,8 +1,8 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; -namespace Fallout.Common.Utilities.Collections; +namespace Fallout.Kernel.Collections; public static partial class EnumerableExtensions { diff --git a/src/Fallout.Utilities/Collections/Enumerable.TopologicalSort.cs b/src/Fallout.Utilities/Collections/Enumerable.TopologicalSort.cs index b4bc26522..8412bbbc4 100644 --- a/src/Fallout.Utilities/Collections/Enumerable.TopologicalSort.cs +++ b/src/Fallout.Utilities/Collections/Enumerable.TopologicalSort.cs @@ -1,8 +1,8 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; -namespace Fallout.Common.Utilities.Collections; +namespace Fallout.Kernel.Collections; public static partial class EnumerableExtensions { diff --git a/src/Fallout.Utilities/Collections/Enumerable.WhereNotNull.cs b/src/Fallout.Utilities/Collections/Enumerable.WhereNotNull.cs index cf61e5d0c..8bccb41c2 100644 --- a/src/Fallout.Utilities/Collections/Enumerable.WhereNotNull.cs +++ b/src/Fallout.Utilities/Collections/Enumerable.WhereNotNull.cs @@ -1,8 +1,8 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; -namespace Fallout.Common.Utilities.Collections; +namespace Fallout.Kernel.Collections; public static partial class EnumerableExtensions { diff --git a/src/Fallout.Utilities/Collections/Lookup.ToLookupTable.cs b/src/Fallout.Utilities/Collections/Lookup.ToLookupTable.cs index 748d37053..6d5dd06eb 100644 --- a/src/Fallout.Utilities/Collections/Lookup.ToLookupTable.cs +++ b/src/Fallout.Utilities/Collections/Lookup.ToLookupTable.cs @@ -1,8 +1,8 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; -namespace Fallout.Common.Utilities.Collections; +namespace Fallout.Kernel.Collections; public static class LookupExtensions { diff --git a/src/Fallout.Utilities/Collections/LookupTable.cs b/src/Fallout.Utilities/Collections/LookupTable.cs index 49e0be619..6610cac2f 100644 --- a/src/Fallout.Utilities/Collections/LookupTable.cs +++ b/src/Fallout.Utilities/Collections/LookupTable.cs @@ -1,9 +1,10 @@ -using System; +using System; using System.Collections; using System.Collections.Generic; using System.Linq; +using Fallout.Common; -namespace Fallout.Common.Utilities.Collections; +namespace Fallout.Kernel.Collections; [Serializable] public class LookupTable(Dictionary> dictionary) : ILookup diff --git a/src/Fallout.Utilities/Collections/Object.DescendantsAndSelf.cs b/src/Fallout.Utilities/Collections/Object.DescendantsAndSelf.cs index 95b70cb79..01b03a21c 100644 --- a/src/Fallout.Utilities/Collections/Object.DescendantsAndSelf.cs +++ b/src/Fallout.Utilities/Collections/Object.DescendantsAndSelf.cs @@ -1,8 +1,8 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; -namespace Fallout.Common.Utilities.Collections; +namespace Fallout.Kernel.Collections; public static partial class EnumerableExtensions { diff --git a/src/Fallout.Utilities/Collections/Object.ToPropertyDictionary.cs b/src/Fallout.Utilities/Collections/Object.ToPropertyDictionary.cs index 039ae8cd3..102996477 100644 --- a/src/Fallout.Utilities/Collections/Object.ToPropertyDictionary.cs +++ b/src/Fallout.Utilities/Collections/Object.ToPropertyDictionary.cs @@ -3,7 +3,7 @@ using System.Linq; using System.Reflection; -namespace Fallout.Common.Utilities.Collections; +namespace Fallout.Kernel.Collections; partial class EnumerableExtensions { diff --git a/src/Fallout.Utilities/DelegateDisposable.cs b/src/Fallout.Utilities/DelegateDisposable.cs index 2431cc6ba..46ff2a990 100644 --- a/src/Fallout.Utilities/DelegateDisposable.cs +++ b/src/Fallout.Utilities/DelegateDisposable.cs @@ -2,7 +2,7 @@ using System.Linq; using System.Linq.Expressions; -namespace Fallout.Common.Utilities; +namespace Fallout.Kernel; /// /// Represents an that executes a delegate upon . diff --git a/src/Fallout.Utilities/Disposable.CombineWith.cs b/src/Fallout.Utilities/Disposable.CombineWith.cs index 196c80754..bed695c0a 100644 --- a/src/Fallout.Utilities/Disposable.CombineWith.cs +++ b/src/Fallout.Utilities/Disposable.CombineWith.cs @@ -1,7 +1,7 @@ using System; using System.Linq; -namespace Fallout.Common.Utilities; +namespace Fallout.Kernel; public static class DisposableExtensions { diff --git a/src/Fallout.Utilities/EnvironmentInfo.Arguments.cs b/src/Fallout.Utilities/EnvironmentInfo.Arguments.cs index 9092c5c94..629fdc1b7 100644 --- a/src/Fallout.Utilities/EnvironmentInfo.Arguments.cs +++ b/src/Fallout.Utilities/EnvironmentInfo.Arguments.cs @@ -1,8 +1,8 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; -using Fallout.Common.Utilities; +using Fallout.Kernel; namespace Fallout.Common; diff --git a/src/Fallout.Utilities/EnvironmentInfo.Platform.cs b/src/Fallout.Utilities/EnvironmentInfo.Platform.cs index 639b26ee1..27caada84 100644 --- a/src/Fallout.Utilities/EnvironmentInfo.Platform.cs +++ b/src/Fallout.Utilities/EnvironmentInfo.Platform.cs @@ -1,10 +1,10 @@ -using System; +using System; using System.IO; using System.Linq; using System.Reflection; using System.Runtime.InteropServices; using System.Runtime.Versioning; -using Fallout.Common.Utilities; +using Fallout.Kernel; namespace Fallout.Common; diff --git a/src/Fallout.Utilities/EnvironmentInfo.SpecialFolder.cs b/src/Fallout.Utilities/EnvironmentInfo.SpecialFolder.cs index e2d0a3ecc..ddaf40fb3 100644 --- a/src/Fallout.Utilities/EnvironmentInfo.SpecialFolder.cs +++ b/src/Fallout.Utilities/EnvironmentInfo.SpecialFolder.cs @@ -1,7 +1,7 @@ -using System; +using System; using System.Linq; -using Fallout.Common.IO; -using Fallout.Common.Utilities; +using Fallout.Kernel.IO; +using Fallout.Kernel; namespace Fallout.Common; diff --git a/src/Fallout.Utilities/EnvironmentInfo.Variables.cs b/src/Fallout.Utilities/EnvironmentInfo.Variables.cs index f3a7a7358..68a83d71d 100644 --- a/src/Fallout.Utilities/EnvironmentInfo.Variables.cs +++ b/src/Fallout.Utilities/EnvironmentInfo.Variables.cs @@ -1,11 +1,11 @@ -using System; +using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Diagnostics; using System.Linq; using System.Text.RegularExpressions; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Collections; +using Fallout.Kernel.Collections; +using Fallout.Kernel; namespace Fallout.Common; diff --git a/src/Fallout.Utilities/EnvironmentInfo.cs b/src/Fallout.Utilities/EnvironmentInfo.cs index 3a6d5eb0b..fc04c1171 100644 --- a/src/Fallout.Utilities/EnvironmentInfo.cs +++ b/src/Fallout.Utilities/EnvironmentInfo.cs @@ -1,7 +1,7 @@ -using System; +using System; using System.Linq; -using Fallout.Common.IO; -using Fallout.Common.Utilities; +using Fallout.Kernel.IO; +using Fallout.Kernel; namespace Fallout.Common; diff --git a/src/Fallout.Utilities/Exception.Unwrap.cs b/src/Fallout.Utilities/Exception.Unwrap.cs index 98a1d04fe..cd45ce48e 100644 --- a/src/Fallout.Utilities/Exception.Unwrap.cs +++ b/src/Fallout.Utilities/Exception.Unwrap.cs @@ -2,7 +2,7 @@ using System.Diagnostics; using System.Reflection; -namespace Fallout.Common.Utilities; +namespace Fallout.Kernel; [DebuggerNonUserCode] [DebuggerStepThrough] diff --git a/src/Fallout.Utilities/IO/AbsolutePath.Children.cs b/src/Fallout.Utilities/IO/AbsolutePath.Children.cs index ef2316aea..d80aed733 100644 --- a/src/Fallout.Utilities/IO/AbsolutePath.Children.cs +++ b/src/Fallout.Utilities/IO/AbsolutePath.Children.cs @@ -1,10 +1,11 @@ -using System; +using System; using System.Collections.Generic; using System.IO; using System.Linq; -using Fallout.Common.Utilities.Collections; +using Fallout.Kernel.Collections; +using Fallout.Common; -namespace Fallout.Common.IO; +namespace Fallout.Kernel.IO; partial class AbsolutePathExtensions { diff --git a/src/Fallout.Utilities/IO/AbsolutePath.Create.cs b/src/Fallout.Utilities/IO/AbsolutePath.Create.cs index 35e2fa466..2a9c2786e 100644 --- a/src/Fallout.Utilities/IO/AbsolutePath.Create.cs +++ b/src/Fallout.Utilities/IO/AbsolutePath.Create.cs @@ -1,8 +1,8 @@ -using System; +using System; using System.IO; using System.Linq; -namespace Fallout.Common.IO; +namespace Fallout.Kernel.IO; public static partial class AbsolutePathExtensions { diff --git a/src/Fallout.Utilities/IO/AbsolutePath.Delete.cs b/src/Fallout.Utilities/IO/AbsolutePath.Delete.cs index 5f69bbb6c..890c81de8 100644 --- a/src/Fallout.Utilities/IO/AbsolutePath.Delete.cs +++ b/src/Fallout.Utilities/IO/AbsolutePath.Delete.cs @@ -1,8 +1,8 @@ -using System.Collections.Generic; +using System.Collections.Generic; using System.IO; -using Fallout.Common.Utilities.Collections; +using Fallout.Kernel.Collections; -namespace Fallout.Common.IO; +namespace Fallout.Kernel.IO; partial class AbsolutePathExtensions { diff --git a/src/Fallout.Utilities/IO/AbsolutePath.Exists.cs b/src/Fallout.Utilities/IO/AbsolutePath.Exists.cs index b6b5abf31..66bfc6e85 100644 --- a/src/Fallout.Utilities/IO/AbsolutePath.Exists.cs +++ b/src/Fallout.Utilities/IO/AbsolutePath.Exists.cs @@ -1,11 +1,12 @@ -using System; +using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Runtime.CompilerServices; -using Fallout.Common.Utilities; +using Fallout.Kernel; +using Fallout.Common; -namespace Fallout.Common.IO; +namespace Fallout.Kernel.IO; public static partial class AbsolutePathExtensions { diff --git a/src/Fallout.Utilities/IO/AbsolutePath.Extension.cs b/src/Fallout.Utilities/IO/AbsolutePath.Extension.cs index b73ee3d22..06b144eb1 100644 --- a/src/Fallout.Utilities/IO/AbsolutePath.Extension.cs +++ b/src/Fallout.Utilities/IO/AbsolutePath.Extension.cs @@ -1,8 +1,8 @@ -using System.IO; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Collections; +using System.IO; +using Fallout.Kernel; +using Fallout.Kernel.Collections; -namespace Fallout.Common.IO; +namespace Fallout.Kernel.IO; partial class AbsolutePathExtensions { diff --git a/src/Fallout.Utilities/IO/AbsolutePath.Find.cs b/src/Fallout.Utilities/IO/AbsolutePath.Find.cs index 9664c0c98..6719ca96c 100644 --- a/src/Fallout.Utilities/IO/AbsolutePath.Find.cs +++ b/src/Fallout.Utilities/IO/AbsolutePath.Find.cs @@ -1,8 +1,9 @@ -using System; +using System; using System.Linq; -using Fallout.Common.Utilities.Collections; +using Fallout.Kernel.Collections; +using Fallout.Common; -namespace Fallout.Common.IO; +namespace Fallout.Kernel.IO; partial class AbsolutePathExtensions { diff --git a/src/Fallout.Utilities/IO/AbsolutePath.Hash.cs b/src/Fallout.Utilities/IO/AbsolutePath.Hash.cs index aebe9c4da..018f9f0e1 100644 --- a/src/Fallout.Utilities/IO/AbsolutePath.Hash.cs +++ b/src/Fallout.Utilities/IO/AbsolutePath.Hash.cs @@ -1,11 +1,12 @@ -using System; +using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Security.Cryptography; using System.Text; +using Fallout.Common; -namespace Fallout.Common.IO; +namespace Fallout.Kernel.IO; partial class AbsolutePathExtensions { diff --git a/src/Fallout.Utilities/IO/AbsolutePath.Info.cs b/src/Fallout.Utilities/IO/AbsolutePath.Info.cs index 113eb96db..766951a50 100644 --- a/src/Fallout.Utilities/IO/AbsolutePath.Info.cs +++ b/src/Fallout.Utilities/IO/AbsolutePath.Info.cs @@ -1,6 +1,6 @@ -using System.IO; +using System.IO; -namespace Fallout.Common.IO; +namespace Fallout.Kernel.IO; partial class AbsolutePathExtensions { diff --git a/src/Fallout.Utilities/IO/AbsolutePath.Misc.cs b/src/Fallout.Utilities/IO/AbsolutePath.Misc.cs index c68ffdf36..fb29d588d 100644 --- a/src/Fallout.Utilities/IO/AbsolutePath.Misc.cs +++ b/src/Fallout.Utilities/IO/AbsolutePath.Misc.cs @@ -1,8 +1,8 @@ -using System; +using System; using System.IO; using System.Linq; -namespace Fallout.Common.IO; +namespace Fallout.Kernel.IO; partial class AbsolutePathExtensions { diff --git a/src/Fallout.Utilities/IO/AbsolutePath.MoveCopy.cs b/src/Fallout.Utilities/IO/AbsolutePath.MoveCopy.cs index 829c7e524..64cbee0bb 100644 --- a/src/Fallout.Utilities/IO/AbsolutePath.MoveCopy.cs +++ b/src/Fallout.Utilities/IO/AbsolutePath.MoveCopy.cs @@ -1,9 +1,10 @@ -using System; +using System; using System.IO; using System.Linq; -using Fallout.Common.Utilities.Collections; +using Fallout.Kernel.Collections; +using Fallout.Common; -namespace Fallout.Common.IO; +namespace Fallout.Kernel.IO; [Flags] public enum ExistsPolicy diff --git a/src/Fallout.Utilities/IO/AbsolutePath.ReadWrite.cs b/src/Fallout.Utilities/IO/AbsolutePath.ReadWrite.cs index d23b71f68..2655e6119 100644 --- a/src/Fallout.Utilities/IO/AbsolutePath.ReadWrite.cs +++ b/src/Fallout.Utilities/IO/AbsolutePath.ReadWrite.cs @@ -1,11 +1,12 @@ -using System; +using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; -using Fallout.Common.Utilities; +using Fallout.Kernel; +using Fallout.Common; -namespace Fallout.Common.IO; +namespace Fallout.Kernel.IO; partial class AbsolutePathExtensions { diff --git a/src/Fallout.Utilities/IO/AbsolutePath.Time.cs b/src/Fallout.Utilities/IO/AbsolutePath.Time.cs index a962509bb..f742a830a 100644 --- a/src/Fallout.Utilities/IO/AbsolutePath.Time.cs +++ b/src/Fallout.Utilities/IO/AbsolutePath.Time.cs @@ -1,8 +1,9 @@ -using System; +using System; using System.IO; using System.Linq; +using Fallout.Common; -namespace Fallout.Common.IO; +namespace Fallout.Kernel.IO; partial class AbsolutePathExtensions { diff --git a/src/Fallout.Utilities/IO/AbsolutePath.cs b/src/Fallout.Utilities/IO/AbsolutePath.cs index c95fd5136..6abc4049d 100644 --- a/src/Fallout.Utilities/IO/AbsolutePath.cs +++ b/src/Fallout.Utilities/IO/AbsolutePath.cs @@ -5,10 +5,11 @@ using System.Globalization; using System.IO; using System.Linq; -using Fallout.Common.Utilities; -using static Fallout.Common.IO.PathConstruction; +using static Fallout.Kernel.IO.PathConstruction; +using Fallout.Kernel; +using Fallout.Common; -namespace Fallout.Common.IO; +namespace Fallout.Kernel.IO; /// /// Represents an absolute path without distinction between files and directories. diff --git a/src/Fallout.Utilities/IO/IAbsolutePathHolder.cs b/src/Fallout.Utilities/IO/IAbsolutePathHolder.cs index 3a92d9f1f..572cacbf6 100644 --- a/src/Fallout.Utilities/IO/IAbsolutePathHolder.cs +++ b/src/Fallout.Utilities/IO/IAbsolutePathHolder.cs @@ -1,7 +1,7 @@ using System; using System.Linq; -namespace Fallout.Common.IO; +namespace Fallout.Kernel.IO; public interface IAbsolutePathHolder { diff --git a/src/Fallout.Utilities/IO/PathConstruction.cs b/src/Fallout.Utilities/IO/PathConstruction.cs index 6761ff189..e89c1f958 100644 --- a/src/Fallout.Utilities/IO/PathConstruction.cs +++ b/src/Fallout.Utilities/IO/PathConstruction.cs @@ -1,12 +1,13 @@ -using System; +using System; using System.IO; using System.Linq; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Collections; +using Fallout.Kernel; +using Fallout.Kernel.Collections; +using Fallout.Common; // ReSharper disable ArrangeMethodOrOperatorBody -namespace Fallout.Common.IO; +namespace Fallout.Kernel.IO; /// ///

Provides an abstraction for generating Windows/Unix/UNC-compliant diff --git a/src/Fallout.Utilities/IO/RelativePath.cs b/src/Fallout.Utilities/IO/RelativePath.cs index 3ac4af348..57086a635 100644 --- a/src/Fallout.Utilities/IO/RelativePath.cs +++ b/src/Fallout.Utilities/IO/RelativePath.cs @@ -1,9 +1,10 @@ using System; using System.Diagnostics; using System.Linq; -using static Fallout.Common.IO.PathConstruction; +using static Fallout.Kernel.IO.PathConstruction; +using Fallout.Common; -namespace Fallout.Common.IO; +namespace Fallout.Kernel.IO; ///

/// Represents a relative path with the separator of the current operating system. diff --git a/src/Fallout.Utilities/IO/UnixRelativePath.cs b/src/Fallout.Utilities/IO/UnixRelativePath.cs index b1561a0a0..348bb20a2 100644 --- a/src/Fallout.Utilities/IO/UnixRelativePath.cs +++ b/src/Fallout.Utilities/IO/UnixRelativePath.cs @@ -1,8 +1,8 @@ using System; using System.Linq; -using static Fallout.Common.IO.PathConstruction; +using static Fallout.Kernel.IO.PathConstruction; -namespace Fallout.Common.IO; +namespace Fallout.Kernel.IO; /// /// Represents a relative path with the UNIX separator (forward slash). diff --git a/src/Fallout.Utilities/IO/WinRelativePath.cs b/src/Fallout.Utilities/IO/WinRelativePath.cs index 45330a634..a9db7147f 100644 --- a/src/Fallout.Utilities/IO/WinRelativePath.cs +++ b/src/Fallout.Utilities/IO/WinRelativePath.cs @@ -1,8 +1,8 @@ using System; using System.Linq; -using static Fallout.Common.IO.PathConstruction; +using static Fallout.Kernel.IO.PathConstruction; -namespace Fallout.Common.IO; +namespace Fallout.Kernel.IO; /// /// Represents a relative path with the Windows separator (backward slash). diff --git a/src/Fallout.Utilities/Lazy.cs b/src/Fallout.Utilities/Lazy.cs index f5f69da89..da31fc9cc 100644 --- a/src/Fallout.Utilities/Lazy.cs +++ b/src/Fallout.Utilities/Lazy.cs @@ -1,8 +1,8 @@ -using System; +using System; using System.Diagnostics; using System.Linq; -namespace Fallout.Common.Utilities; +namespace Fallout.Kernel; [DebuggerNonUserCode] [DebuggerStepThrough] diff --git a/src/Fallout.Utilities/Object.Apply.cs b/src/Fallout.Utilities/Object.Apply.cs index 18ef3f025..dd017aa11 100644 --- a/src/Fallout.Utilities/Object.Apply.cs +++ b/src/Fallout.Utilities/Object.Apply.cs @@ -1,7 +1,7 @@ using System; using System.Linq; -namespace Fallout.Common.Utilities; +namespace Fallout.Kernel; partial class ObjectExtensions { diff --git a/src/Fallout.Utilities/Object.Clone.cs b/src/Fallout.Utilities/Object.Clone.cs index 5b42508cf..74fbad892 100644 --- a/src/Fallout.Utilities/Object.Clone.cs +++ b/src/Fallout.Utilities/Object.Clone.cs @@ -4,7 +4,7 @@ using System.Linq; using System.Runtime.Serialization; -namespace Fallout.Common.Utilities; +namespace Fallout.Kernel; [DebuggerNonUserCode] [DebuggerStepThrough] diff --git a/src/Fallout.Utilities/Object.When.cs b/src/Fallout.Utilities/Object.When.cs index 7f9c0df29..acd946fe0 100644 --- a/src/Fallout.Utilities/Object.When.cs +++ b/src/Fallout.Utilities/Object.When.cs @@ -1,7 +1,7 @@ -using System; +using System; using System.Linq; -namespace Fallout.Common.Utilities; +namespace Fallout.Kernel; partial class ObjectExtensions { diff --git a/src/Fallout.Utilities/Reflection/Assembly.Versioning.cs b/src/Fallout.Utilities/Reflection/Assembly.Versioning.cs index dca95e18e..e77d19dbc 100644 --- a/src/Fallout.Utilities/Reflection/Assembly.Versioning.cs +++ b/src/Fallout.Utilities/Reflection/Assembly.Versioning.cs @@ -1,8 +1,9 @@ using System; using System.Linq; using System.Reflection; +using Fallout.Common; -namespace Fallout.Common.Utilities; +namespace Fallout.Kernel; public static class AssemblyExtensions { diff --git a/src/Fallout.Utilities/Reflection/ReflectionUtility.Conversion.cs b/src/Fallout.Utilities/Reflection/ReflectionUtility.Conversion.cs index 0e689e788..723fcf43b 100644 --- a/src/Fallout.Utilities/Reflection/ReflectionUtility.Conversion.cs +++ b/src/Fallout.Utilities/Reflection/ReflectionUtility.Conversion.cs @@ -1,10 +1,11 @@ -using System; +using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; -using Fallout.Common.Utilities.Collections; +using Fallout.Kernel.Collections; +using Fallout.Common; -namespace Fallout.Common.Utilities; +namespace Fallout.Kernel; public static partial class ReflectionUtility { diff --git a/src/Fallout.Utilities/Reflection/ReflectionUtility.DisplayText.cs b/src/Fallout.Utilities/Reflection/ReflectionUtility.DisplayText.cs index 1bc409fd5..622e5e0e2 100644 --- a/src/Fallout.Utilities/Reflection/ReflectionUtility.DisplayText.cs +++ b/src/Fallout.Utilities/Reflection/ReflectionUtility.DisplayText.cs @@ -1,11 +1,11 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Reflection; using System.Runtime.CompilerServices; -using Fallout.Common.Utilities.Collections; +using Fallout.Kernel.Collections; -namespace Fallout.Common.Utilities; +namespace Fallout.Kernel; public static partial class ReflectionUtility { diff --git a/src/Fallout.Utilities/Reflection/ReflectionUtility.Expressions.cs b/src/Fallout.Utilities/Reflection/ReflectionUtility.Expressions.cs index 102e6ed0e..2028bdd66 100644 --- a/src/Fallout.Utilities/Reflection/ReflectionUtility.Expressions.cs +++ b/src/Fallout.Utilities/Reflection/ReflectionUtility.Expressions.cs @@ -1,10 +1,10 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; using System.Reflection; -namespace Fallout.Common.Utilities; +namespace Fallout.Kernel; public static partial class ReflectionUtility { diff --git a/src/Fallout.Utilities/Reflection/ReflectionUtility.Invocation.cs b/src/Fallout.Utilities/Reflection/ReflectionUtility.Invocation.cs index c8c8c59ce..98aea0c85 100644 --- a/src/Fallout.Utilities/Reflection/ReflectionUtility.Invocation.cs +++ b/src/Fallout.Utilities/Reflection/ReflectionUtility.Invocation.cs @@ -1,10 +1,11 @@ -using System; +using System; using System.Linq; using System.Linq.Expressions; using System.Reflection; -using Fallout.Common.Utilities.Collections; +using Fallout.Kernel.Collections; +using Fallout.Common; -namespace Fallout.Common.Utilities; +namespace Fallout.Kernel; public static partial class ReflectionUtility { diff --git a/src/Fallout.Utilities/Reflection/ReflectionUtility.cs b/src/Fallout.Utilities/Reflection/ReflectionUtility.cs index 46ddb1b55..fc28f9df2 100644 --- a/src/Fallout.Utilities/Reflection/ReflectionUtility.cs +++ b/src/Fallout.Utilities/Reflection/ReflectionUtility.cs @@ -3,9 +3,10 @@ using System.Linq; using System.Reflection; using System.Runtime.CompilerServices; -using Fallout.Common.Utilities.Collections; +using Fallout.Kernel.Collections; +using Fallout.Common; -namespace Fallout.Common.Utilities; +namespace Fallout.Kernel; public static partial class ReflectionUtility { diff --git a/src/Fallout.Utilities/Reflection/ResourceUtility.cs b/src/Fallout.Utilities/Reflection/ResourceUtility.cs index ddb8c2584..1cd1118ff 100644 --- a/src/Fallout.Utilities/Reflection/ResourceUtility.cs +++ b/src/Fallout.Utilities/Reflection/ResourceUtility.cs @@ -3,9 +3,10 @@ using System.IO; using System.Linq; using System.Reflection; -using Fallout.Common.Utilities.Collections; +using Fallout.Kernel.Collections; +using Fallout.Common; -namespace Fallout.Common.Utilities; +namespace Fallout.Kernel; public static class ResourceUtility { diff --git a/src/Fallout.Utilities/Security/EncryptionUtility.cs b/src/Fallout.Utilities/Security/EncryptionUtility.cs index f5978a29f..a4206093b 100644 --- a/src/Fallout.Utilities/Security/EncryptionUtility.cs +++ b/src/Fallout.Utilities/Security/EncryptionUtility.cs @@ -4,8 +4,9 @@ using System.IO; using System.Security.Cryptography; using System.Text; +using Fallout.Common; -namespace Fallout.Common.Utilities; +namespace Fallout.Kernel; /// /// Symmetric encryption for the fallout :secrets flow. Two ciphertext formats are recognised: diff --git a/src/Fallout.Utilities/Task.WaitAll.cs b/src/Fallout.Utilities/Task.WaitAll.cs index 3c88a60ca..982b6b934 100644 --- a/src/Fallout.Utilities/Task.WaitAll.cs +++ b/src/Fallout.Utilities/Task.WaitAll.cs @@ -1,10 +1,10 @@ -using System; +using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Threading.Tasks; -namespace Fallout.Common.Utilities; +namespace Fallout.Kernel; [DebuggerNonUserCode] [DebuggerStepThrough] diff --git a/src/Fallout.Utilities/Text/String.Capitalize.cs b/src/Fallout.Utilities/Text/String.Capitalize.cs index a7504e9af..57abf924d 100644 --- a/src/Fallout.Utilities/Text/String.Capitalize.cs +++ b/src/Fallout.Utilities/Text/String.Capitalize.cs @@ -1,7 +1,7 @@ using System.Diagnostics; using System.Globalization; -namespace Fallout.Common.Utilities; +namespace Fallout.Kernel; [DebuggerNonUserCode] [DebuggerStepThrough] diff --git a/src/Fallout.Utilities/Text/String.Emptiness.cs b/src/Fallout.Utilities/Text/String.Emptiness.cs index af6abbb26..63efd37f6 100644 --- a/src/Fallout.Utilities/Text/String.Emptiness.cs +++ b/src/Fallout.Utilities/Text/String.Emptiness.cs @@ -1,5 +1,5 @@ -namespace Fallout.Common.Utilities; +namespace Fallout.Kernel; public static partial class StringExtensions { diff --git a/src/Fallout.Utilities/Text/String.Escape.cs b/src/Fallout.Utilities/Text/String.Escape.cs index 84da36d33..d48cfa1e8 100644 --- a/src/Fallout.Utilities/Text/String.Escape.cs +++ b/src/Fallout.Utilities/Text/String.Escape.cs @@ -1,7 +1,8 @@ using System; using System.Linq; +using Fallout.Common; -namespace Fallout.Common.Utilities; +namespace Fallout.Kernel; public static partial class StringExtensions { diff --git a/src/Fallout.Utilities/Text/String.GetHash.cs b/src/Fallout.Utilities/Text/String.GetHash.cs index 477a7e0ea..e8135d192 100644 --- a/src/Fallout.Utilities/Text/String.GetHash.cs +++ b/src/Fallout.Utilities/Text/String.GetHash.cs @@ -3,7 +3,7 @@ using System.Security.Cryptography; using System.Text; -namespace Fallout.Common.Utilities; +namespace Fallout.Kernel; public static partial class StringExtensions { diff --git a/src/Fallout.Utilities/Text/String.Indent.cs b/src/Fallout.Utilities/Text/String.Indent.cs index 4fd5c7da1..9753b774b 100644 --- a/src/Fallout.Utilities/Text/String.Indent.cs +++ b/src/Fallout.Utilities/Text/String.Indent.cs @@ -1,5 +1,5 @@ -namespace Fallout.Common.Utilities; +namespace Fallout.Kernel; public static partial class StringExtensions { diff --git a/src/Fallout.Utilities/Text/String.IndexOf.cs b/src/Fallout.Utilities/Text/String.IndexOf.cs index 4314d4206..e4b3f79c3 100644 --- a/src/Fallout.Utilities/Text/String.IndexOf.cs +++ b/src/Fallout.Utilities/Text/String.IndexOf.cs @@ -1,6 +1,6 @@ -using System.Text.RegularExpressions; +using System.Text.RegularExpressions; -namespace Fallout.Common.Utilities; +namespace Fallout.Kernel; public static partial class StringExtensions { diff --git a/src/Fallout.Utilities/Text/String.Join.cs b/src/Fallout.Utilities/Text/String.Join.cs index 2e5c9b17d..b4c4199d9 100644 --- a/src/Fallout.Utilities/Text/String.Join.cs +++ b/src/Fallout.Utilities/Text/String.Join.cs @@ -1,8 +1,9 @@ using System; using System.Collections.Generic; using System.Linq; +using Fallout.Common; -namespace Fallout.Common.Utilities; +namespace Fallout.Kernel; public static partial class StringExtensions { diff --git a/src/Fallout.Utilities/Text/String.KnownWords.cs b/src/Fallout.Utilities/Text/String.KnownWords.cs index 62bff0920..796bc0f66 100644 --- a/src/Fallout.Utilities/Text/String.KnownWords.cs +++ b/src/Fallout.Utilities/Text/String.KnownWords.cs @@ -1,4 +1,4 @@ -namespace Fallout.Common.Utilities; +namespace Fallout.Kernel; public static partial class StringExtensions { diff --git a/src/Fallout.Utilities/Text/String.PrependAppend.cs b/src/Fallout.Utilities/Text/String.PrependAppend.cs index 7c4c44304..c57123aa1 100644 --- a/src/Fallout.Utilities/Text/String.PrependAppend.cs +++ b/src/Fallout.Utilities/Text/String.PrependAppend.cs @@ -1,7 +1,7 @@ using System; using System.Linq; -namespace Fallout.Common.Utilities; +namespace Fallout.Kernel; public static partial class StringExtensions { diff --git a/src/Fallout.Utilities/Text/String.Quoting.cs b/src/Fallout.Utilities/Text/String.Quoting.cs index c34040ccb..e32ccc968 100644 --- a/src/Fallout.Utilities/Text/String.Quoting.cs +++ b/src/Fallout.Utilities/Text/String.Quoting.cs @@ -1,7 +1,7 @@ using System; using System.Linq; -namespace Fallout.Common.Utilities; +namespace Fallout.Kernel; public static partial class StringExtensions { diff --git a/src/Fallout.Utilities/Text/String.Repeat.cs b/src/Fallout.Utilities/Text/String.Repeat.cs index 31c5b60a5..b347075f5 100644 --- a/src/Fallout.Utilities/Text/String.Repeat.cs +++ b/src/Fallout.Utilities/Text/String.Repeat.cs @@ -1,5 +1,5 @@ - -namespace Fallout.Common.Utilities; + +namespace Fallout.Kernel; public static partial class StringExtensions { diff --git a/src/Fallout.Utilities/Text/String.Replace.cs b/src/Fallout.Utilities/Text/String.Replace.cs index 6fa3db28d..3ab13230d 100644 --- a/src/Fallout.Utilities/Text/String.Replace.cs +++ b/src/Fallout.Utilities/Text/String.Replace.cs @@ -3,7 +3,7 @@ using System.Linq; using System.Text.RegularExpressions; -namespace Fallout.Common.Utilities; +namespace Fallout.Kernel; public static partial class StringExtensions { diff --git a/src/Fallout.Utilities/Text/String.Split.cs b/src/Fallout.Utilities/Text/String.Split.cs index 8b7e5877f..2fdfebff9 100644 --- a/src/Fallout.Utilities/Text/String.Split.cs +++ b/src/Fallout.Utilities/Text/String.Split.cs @@ -2,7 +2,7 @@ using System.Collections.Generic; using System.Linq; -namespace Fallout.Common.Utilities; +namespace Fallout.Kernel; public static partial class StringExtensions { diff --git a/src/Fallout.Utilities/Text/String.StartsEndsContains.cs b/src/Fallout.Utilities/Text/String.StartsEndsContains.cs index 94c65c23f..dbe38b009 100644 --- a/src/Fallout.Utilities/Text/String.StartsEndsContains.cs +++ b/src/Fallout.Utilities/Text/String.StartsEndsContains.cs @@ -2,7 +2,7 @@ using System.Collections.Generic; using System.Linq; -namespace Fallout.Common.Utilities; +namespace Fallout.Kernel; public static partial class StringExtensions { diff --git a/src/Fallout.Utilities/Text/String.Trim.cs b/src/Fallout.Utilities/Text/String.Trim.cs index b72b53c13..dfa74d3ec 100644 --- a/src/Fallout.Utilities/Text/String.Trim.cs +++ b/src/Fallout.Utilities/Text/String.Trim.cs @@ -1,7 +1,7 @@ using System; using System.Linq; -namespace Fallout.Common.Utilities; +namespace Fallout.Kernel; public static partial class StringExtensions { diff --git a/src/Fallout.Utilities/Text/String.Truncate.cs b/src/Fallout.Utilities/Text/String.Truncate.cs index 7270b5acc..7828e8fca 100644 --- a/src/Fallout.Utilities/Text/String.Truncate.cs +++ b/src/Fallout.Utilities/Text/String.Truncate.cs @@ -1,7 +1,7 @@ using System; using System.Linq; -namespace Fallout.Common.Utilities; +namespace Fallout.Kernel; partial class StringExtensions { diff --git a/src/Fallout.Utilities/Text/Xml/XElement.GetAttributeValue.cs b/src/Fallout.Utilities/Text/Xml/XElement.GetAttributeValue.cs index 947306a76..5b4192015 100644 --- a/src/Fallout.Utilities/Text/Xml/XElement.GetAttributeValue.cs +++ b/src/Fallout.Utilities/Text/Xml/XElement.GetAttributeValue.cs @@ -1,8 +1,9 @@ -using System; +using System; using System.Linq; using System.Xml.Linq; +using Fallout.Common; -namespace Fallout.Common.Utilities; +namespace Fallout.Kernel; public static partial class XElementExtensions { diff --git a/src/Fallout.Utilities/Text/Xml/XNode.XPathEvaluateValue.cs b/src/Fallout.Utilities/Text/Xml/XNode.XPathEvaluateValue.cs index 38b68371d..0ddda4bf0 100644 --- a/src/Fallout.Utilities/Text/Xml/XNode.XPathEvaluateValue.cs +++ b/src/Fallout.Utilities/Text/Xml/XNode.XPathEvaluateValue.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections; using System.Collections.Generic; using System.Linq; @@ -6,7 +6,7 @@ using System.Xml.Linq; using System.Xml.XPath; -namespace Fallout.Common.Utilities; +namespace Fallout.Kernel; public static partial class XNodeExtensions { diff --git a/src/Fallout.Utilities/Text/Xml/XmlExtensions.cs b/src/Fallout.Utilities/Text/Xml/XmlExtensions.cs index a99ba8a9d..324c20be0 100644 --- a/src/Fallout.Utilities/Text/Xml/XmlExtensions.cs +++ b/src/Fallout.Utilities/Text/Xml/XmlExtensions.cs @@ -1,9 +1,10 @@ using System; using System.Xml.Linq; using System.Xml.Serialization; -using Fallout.Common.IO; +using Fallout.Kernel.IO; +using Fallout.Common; -namespace Fallout.Common.Utilities; +namespace Fallout.Kernel; public static class XmlExtensions { diff --git a/src/Fallout.Utilities/Url.WithUtmValues.cs b/src/Fallout.Utilities/Url.WithUtmValues.cs index 937d55da5..3fa0cc991 100644 --- a/src/Fallout.Utilities/Url.WithUtmValues.cs +++ b/src/Fallout.Utilities/Url.WithUtmValues.cs @@ -1,9 +1,10 @@ -using System; +using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; +using Fallout.Common; -namespace Fallout.Common.Utilities; +namespace Fallout.Kernel; [DebuggerNonUserCode] [DebuggerStepThrough] diff --git a/src/Persistence/Fallout.Solution/Model.cs b/src/Persistence/Fallout.Solution/Model.cs index cdc84fe94..410a830b2 100644 --- a/src/Persistence/Fallout.Solution/Model.cs +++ b/src/Persistence/Fallout.Solution/Model.cs @@ -7,8 +7,8 @@ using Fallout.Persistence.Solution.Model; using Fallout.Persistence.Solution.Serializer; using Fallout.Common; -using Fallout.Common.IO; -using Fallout.Common.Utilities; +using Fallout.Kernel.IO; +using Fallout.Kernel; namespace Fallout.Solutions; diff --git a/src/Persistence/Fallout.Solution/SolutionModelExtensions.cs b/src/Persistence/Fallout.Solution/SolutionModelExtensions.cs index 015634ee0..70d7e2884 100644 --- a/src/Persistence/Fallout.Solution/SolutionModelExtensions.cs +++ b/src/Persistence/Fallout.Solution/SolutionModelExtensions.cs @@ -1,8 +1,8 @@ using System.Threading; using Fallout.Persistence.Solution.Serializer; using Fallout.Common; -using Fallout.Common.IO; -using Fallout.Common.Utilities; +using Fallout.Kernel.IO; +using Fallout.Kernel; namespace Fallout.Solutions; diff --git a/src/Shims/Nuke.Common/Utilities/DelegateDisposable.cs b/src/Shims/Nuke.Common/Utilities/DelegateDisposable.cs index 4bbe9b7a7..09c6c80eb 100644 --- a/src/Shims/Nuke.Common/Utilities/DelegateDisposable.cs +++ b/src/Shims/Nuke.Common/Utilities/DelegateDisposable.cs @@ -6,17 +6,18 @@ using System; using System.Linq.Expressions; +using Fallout.Kernel; namespace Nuke.Common.Utilities; public static class DelegateDisposable { public static IDisposable CreateBracket(Action setup = null, Action cleanup = null) - => global::Fallout.Common.Utilities.DelegateDisposable.CreateBracket(setup, cleanup); + => global::Fallout.Kernel.DelegateDisposable.CreateBracket(setup, cleanup); public static IDisposable CreateBracket(Func setup, Action cleanup) - => global::Fallout.Common.Utilities.DelegateDisposable.CreateBracket(setup, cleanup); + => global::Fallout.Kernel.DelegateDisposable.CreateBracket(setup, cleanup); public static IDisposable SetAndRestore(Expression> memberProvider, T value) - => global::Fallout.Common.Utilities.DelegateDisposable.SetAndRestore(memberProvider, value); + => global::Fallout.Kernel.DelegateDisposable.SetAndRestore(memberProvider, value); } diff --git a/tests/Consumers/Fallout.Consumer.Local/Build.cs b/tests/Consumers/Fallout.Consumer.Local/Build.cs index bc22f662b..405888583 100644 --- a/tests/Consumers/Fallout.Consumer.Local/Build.cs +++ b/tests/Consumers/Fallout.Consumer.Local/Build.cs @@ -1,4 +1,3 @@ -using Fallout.Common.IO; using Fallout.Solutions; // was Fallout.Common.ProjectModel; — renamed in #254 (persistence layering + namespace cleanup) using Fallout.Application; diff --git a/tests/Fallout.Build.Tests/BuildExecutorTest.cs b/tests/Fallout.Build.Tests/BuildExecutorTest.cs index d8c9e5a67..6d70716ff 100644 --- a/tests/Fallout.Build.Tests/BuildExecutorTest.cs +++ b/tests/Fallout.Build.Tests/BuildExecutorTest.cs @@ -2,10 +2,10 @@ using System.Linq; using FluentAssertions; using Fallout.Domain.Execution; -using Fallout.Common.Utilities.Collections; using Xunit; using Fallout.Application.Execution; using Fallout.Application; +using Fallout.Kernel.Collections; namespace Fallout.Common.Tests.Execution; diff --git a/tests/Fallout.Build.Tests/CompletionUtilityTest.cs b/tests/Fallout.Build.Tests/CompletionUtilityTest.cs index 6a60cd592..5f8f70ba6 100644 --- a/tests/Fallout.Build.Tests/CompletionUtilityTest.cs +++ b/tests/Fallout.Build.Tests/CompletionUtilityTest.cs @@ -4,11 +4,11 @@ using System.Text.Json; using System.Threading.Tasks; using FluentAssertions; -using Fallout.Common.IO; -using Fallout.Common.Utilities; +using Fallout.Kernel; using VerifyTests; using VerifyXunit; using Xunit; +using Fallout.Kernel.IO; namespace Fallout.Common.Tests; diff --git a/tests/Fallout.Build.Tests/HostInitializer.cs b/tests/Fallout.Build.Tests/HostInitializer.cs index 4a08d758b..dfad46556 100644 --- a/tests/Fallout.Build.Tests/HostInitializer.cs +++ b/tests/Fallout.Build.Tests/HostInitializer.cs @@ -1,8 +1,8 @@ using System; using System.Linq; using System.Runtime.CompilerServices; -using Fallout.Common.Utilities; using Fallout.Application; +using Fallout.Kernel; namespace Fallout.Common.Tests; diff --git a/tests/Fallout.Build.Tests/ParameterServiceTest.cs b/tests/Fallout.Build.Tests/ParameterServiceTest.cs index 5d73a5e62..02559e71a 100644 --- a/tests/Fallout.Build.Tests/ParameterServiceTest.cs +++ b/tests/Fallout.Build.Tests/ParameterServiceTest.cs @@ -2,11 +2,11 @@ using System.Collections.Generic; using System.Linq; using FluentAssertions; -using Fallout.Common.IO; -using Fallout.Common.Utilities.Collections; using Xunit; -using static Fallout.Common.Utilities.ReflectionUtility; +using static Fallout.Kernel.ReflectionUtility; using Fallout.Application; +using Fallout.Kernel; +using Fallout.Kernel.IO; namespace Fallout.Common.Tests; diff --git a/tests/Fallout.Build.Tests/SchemaUtilityTest.cs b/tests/Fallout.Build.Tests/SchemaUtilityTest.cs index 184d6e58b..309e45202 100644 --- a/tests/Fallout.Build.Tests/SchemaUtilityTest.cs +++ b/tests/Fallout.Build.Tests/SchemaUtilityTest.cs @@ -2,13 +2,13 @@ using System.ComponentModel; using System.Linq; using System.Threading.Tasks; -using Fallout.Common.IO; -using Fallout.Common.Utilities; +using Fallout.Kernel; using VerifyXunit; using Xunit; using Fallout.Application.Execution; using Fallout.Application; using Fallout.Application.Tooling; +using Fallout.Kernel.IO; #pragma warning disable CS0169 // Field is never used diff --git a/tests/Fallout.Cli.Tests/BuildProjectResolverTests.cs b/tests/Fallout.Cli.Tests/BuildProjectResolverTests.cs index 21d2a120d..b466a6c85 100644 --- a/tests/Fallout.Cli.Tests/BuildProjectResolverTests.cs +++ b/tests/Fallout.Cli.Tests/BuildProjectResolverTests.cs @@ -1,9 +1,9 @@ using System; using System.IO; -using Fallout.Common.IO; -using Fallout.Common.Utilities; +using Fallout.Kernel; using FluentAssertions; using Xunit; +using Fallout.Kernel.IO; namespace Fallout.Cli.Tests; diff --git a/tests/Fallout.Cli.Tests/CakeConversionTests.cs b/tests/Fallout.Cli.Tests/CakeConversionTests.cs index 8357034f7..1cb97efaf 100644 --- a/tests/Fallout.Cli.Tests/CakeConversionTests.cs +++ b/tests/Fallout.Cli.Tests/CakeConversionTests.cs @@ -1,12 +1,12 @@ -using System.Collections.Generic; +using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using FluentAssertions; using NuGet.Versioning; using Fallout.Common; -using Fallout.Common.IO; using VerifyXunit; using Xunit; +using Fallout.Kernel.IO; namespace Fallout.Cli.Tests; diff --git a/tests/Fallout.Cli.Tests/UpdateSolutionFileContentTests.cs b/tests/Fallout.Cli.Tests/UpdateSolutionFileContentTests.cs index 0663a166b..595c64264 100644 --- a/tests/Fallout.Cli.Tests/UpdateSolutionFileContentTests.cs +++ b/tests/Fallout.Cli.Tests/UpdateSolutionFileContentTests.cs @@ -1,9 +1,9 @@ using System; using System.Linq; using System.Threading.Tasks; -using Fallout.Common.Utilities; using VerifyXunit; using Xunit; +using Fallout.Kernel; namespace Fallout.Cli.Tests; diff --git a/tests/Fallout.Cli.Tests/cake-scripts/default-target.verified.cs b/tests/Fallout.Cli.Tests/cake-scripts/default-target.verified.cs index 9859485a1..2a66805ee 100644 --- a/tests/Fallout.Cli.Tests/cake-scripts/default-target.verified.cs +++ b/tests/Fallout.Cli.Tests/cake-scripts/default-target.verified.cs @@ -7,28 +7,28 @@ using System.Xml; using Fallout.Common; using Fallout.Common.Execution; -using Fallout.Common.IO; +using Fallout.Kernel.IO; using Fallout.Solutions; using Fallout.Common.Tooling; using Fallout.Common.Tools.DotNet; using Fallout.Common.Tools.GitVersion; using Fallout.Common.Tools.SignTool; -using Fallout.Common.Utilities.Collections; +using Fallout.Kernel.Collections; using Fallout.Application; using Fallout.Application.Tools.DotNet; using Fallout.Application.Tools.MSBuild; using Fallout.Application.Tools.SignTool; using Fallout.Application.Tools.NuGet; -using Fallout.Common.IO; -using Fallout.Common.IO; +using Fallout.Kernel.IO; +using Fallout.Kernel.IO; using Fallout.Common; using static Fallout.Application.ControlFlow; using static Fallout.Application.Tools.DotNet.DotNetTasks; using static Fallout.Application.Tools.MSBuild.MSBuildTasks; using static Fallout.Application.Tools.SignTool.SignToolTasks; using static Fallout.Application.Tools.NuGet.NuGetTasks; -using static Fallout.Common.IO.TextTasks; -using static Fallout.Common.IO.XmlTasks; +using static Fallout.Kernel.IO.TextTasks; +using static Fallout.Kernel.IO.XmlTasks; using static Fallout.Common.EnvironmentInfo; class Build : FalloutBuild diff --git a/tests/Fallout.Cli.Tests/cake-scripts/globbing.verified.cs b/tests/Fallout.Cli.Tests/cake-scripts/globbing.verified.cs index 848a52de1..d1f5694ad 100644 --- a/tests/Fallout.Cli.Tests/cake-scripts/globbing.verified.cs +++ b/tests/Fallout.Cli.Tests/cake-scripts/globbing.verified.cs @@ -7,28 +7,28 @@ using System.Xml; using Fallout.Common; using Fallout.Common.Execution; -using Fallout.Common.IO; +using Fallout.Kernel.IO; using Fallout.Solutions; using Fallout.Common.Tooling; using Fallout.Common.Tools.DotNet; using Fallout.Common.Tools.GitVersion; using Fallout.Common.Tools.SignTool; -using Fallout.Common.Utilities.Collections; +using Fallout.Kernel.Collections; using Fallout.Application; using Fallout.Application.Tools.DotNet; using Fallout.Application.Tools.MSBuild; using Fallout.Application.Tools.SignTool; using Fallout.Application.Tools.NuGet; -using Fallout.Common.IO; -using Fallout.Common.IO; +using Fallout.Kernel.IO; +using Fallout.Kernel.IO; using Fallout.Common; using static Fallout.Application.ControlFlow; using static Fallout.Application.Tools.DotNet.DotNetTasks; using static Fallout.Application.Tools.MSBuild.MSBuildTasks; using static Fallout.Application.Tools.SignTool.SignToolTasks; using static Fallout.Application.Tools.NuGet.NuGetTasks; -using static Fallout.Common.IO.TextTasks; -using static Fallout.Common.IO.XmlTasks; +using static Fallout.Kernel.IO.TextTasks; +using static Fallout.Kernel.IO.XmlTasks; using static Fallout.Common.EnvironmentInfo; class Build : FalloutBuild diff --git a/tests/Fallout.Cli.Tests/cake-scripts/parameters.verified.cs b/tests/Fallout.Cli.Tests/cake-scripts/parameters.verified.cs index 80a223e9a..c57c9f861 100644 --- a/tests/Fallout.Cli.Tests/cake-scripts/parameters.verified.cs +++ b/tests/Fallout.Cli.Tests/cake-scripts/parameters.verified.cs @@ -7,28 +7,28 @@ using System.Xml; using Fallout.Common; using Fallout.Common.Execution; -using Fallout.Common.IO; +using Fallout.Kernel.IO; using Fallout.Solutions; using Fallout.Common.Tooling; using Fallout.Common.Tools.DotNet; using Fallout.Common.Tools.GitVersion; using Fallout.Common.Tools.SignTool; -using Fallout.Common.Utilities.Collections; +using Fallout.Kernel.Collections; using Fallout.Application; using Fallout.Application.Tools.DotNet; using Fallout.Application.Tools.MSBuild; using Fallout.Application.Tools.SignTool; using Fallout.Application.Tools.NuGet; -using Fallout.Common.IO; -using Fallout.Common.IO; +using Fallout.Kernel.IO; +using Fallout.Kernel.IO; using Fallout.Common; using static Fallout.Application.ControlFlow; using static Fallout.Application.Tools.DotNet.DotNetTasks; using static Fallout.Application.Tools.MSBuild.MSBuildTasks; using static Fallout.Application.Tools.SignTool.SignToolTasks; using static Fallout.Application.Tools.NuGet.NuGetTasks; -using static Fallout.Common.IO.TextTasks; -using static Fallout.Common.IO.XmlTasks; +using static Fallout.Kernel.IO.TextTasks; +using static Fallout.Kernel.IO.XmlTasks; using static Fallout.Common.EnvironmentInfo; class Build : FalloutBuild diff --git a/tests/Fallout.Cli.Tests/cake-scripts/paths.verified.cs b/tests/Fallout.Cli.Tests/cake-scripts/paths.verified.cs index e94247972..2005d20ad 100644 --- a/tests/Fallout.Cli.Tests/cake-scripts/paths.verified.cs +++ b/tests/Fallout.Cli.Tests/cake-scripts/paths.verified.cs @@ -7,28 +7,28 @@ using System.Xml; using Fallout.Common; using Fallout.Common.Execution; -using Fallout.Common.IO; +using Fallout.Kernel.IO; using Fallout.Solutions; using Fallout.Common.Tooling; using Fallout.Common.Tools.DotNet; using Fallout.Common.Tools.GitVersion; using Fallout.Common.Tools.SignTool; -using Fallout.Common.Utilities.Collections; +using Fallout.Kernel.Collections; using Fallout.Application; using Fallout.Application.Tools.DotNet; using Fallout.Application.Tools.MSBuild; using Fallout.Application.Tools.SignTool; using Fallout.Application.Tools.NuGet; -using Fallout.Common.IO; -using Fallout.Common.IO; +using Fallout.Kernel.IO; +using Fallout.Kernel.IO; using Fallout.Common; using static Fallout.Application.ControlFlow; using static Fallout.Application.Tools.DotNet.DotNetTasks; using static Fallout.Application.Tools.MSBuild.MSBuildTasks; using static Fallout.Application.Tools.SignTool.SignToolTasks; using static Fallout.Application.Tools.NuGet.NuGetTasks; -using static Fallout.Common.IO.TextTasks; -using static Fallout.Common.IO.XmlTasks; +using static Fallout.Kernel.IO.TextTasks; +using static Fallout.Kernel.IO.XmlTasks; using static Fallout.Common.EnvironmentInfo; class Build : FalloutBuild diff --git a/tests/Fallout.Cli.Tests/cake-scripts/references.verified.cs b/tests/Fallout.Cli.Tests/cake-scripts/references.verified.cs index 7dc851b08..85f24701a 100644 --- a/tests/Fallout.Cli.Tests/cake-scripts/references.verified.cs +++ b/tests/Fallout.Cli.Tests/cake-scripts/references.verified.cs @@ -7,28 +7,28 @@ using System.Xml; using Fallout.Common; using Fallout.Common.Execution; -using Fallout.Common.IO; +using Fallout.Kernel.IO; using Fallout.Solutions; using Fallout.Common.Tooling; using Fallout.Common.Tools.DotNet; using Fallout.Common.Tools.GitVersion; using Fallout.Common.Tools.SignTool; -using Fallout.Common.Utilities.Collections; +using Fallout.Kernel.Collections; using Fallout.Application; using Fallout.Application.Tools.DotNet; using Fallout.Application.Tools.MSBuild; using Fallout.Application.Tools.SignTool; using Fallout.Application.Tools.NuGet; -using Fallout.Common.IO; -using Fallout.Common.IO; +using Fallout.Kernel.IO; +using Fallout.Kernel.IO; using Fallout.Common; using static Fallout.Application.ControlFlow; using static Fallout.Application.Tools.DotNet.DotNetTasks; using static Fallout.Application.Tools.MSBuild.MSBuildTasks; using static Fallout.Application.Tools.SignTool.SignToolTasks; using static Fallout.Application.Tools.NuGet.NuGetTasks; -using static Fallout.Common.IO.TextTasks; -using static Fallout.Common.IO.XmlTasks; +using static Fallout.Kernel.IO.TextTasks; +using static Fallout.Kernel.IO.XmlTasks; using static Fallout.Common.EnvironmentInfo; class Build : FalloutBuild diff --git a/tests/Fallout.Cli.Tests/cake-scripts/targets.verified.cs b/tests/Fallout.Cli.Tests/cake-scripts/targets.verified.cs index 0881b0e1a..2a8dec940 100644 --- a/tests/Fallout.Cli.Tests/cake-scripts/targets.verified.cs +++ b/tests/Fallout.Cli.Tests/cake-scripts/targets.verified.cs @@ -7,28 +7,28 @@ using System.Xml; using Fallout.Common; using Fallout.Common.Execution; -using Fallout.Common.IO; +using Fallout.Kernel.IO; using Fallout.Solutions; using Fallout.Common.Tooling; using Fallout.Common.Tools.DotNet; using Fallout.Common.Tools.GitVersion; using Fallout.Common.Tools.SignTool; -using Fallout.Common.Utilities.Collections; +using Fallout.Kernel.Collections; using Fallout.Application; using Fallout.Application.Tools.DotNet; using Fallout.Application.Tools.MSBuild; using Fallout.Application.Tools.SignTool; using Fallout.Application.Tools.NuGet; -using Fallout.Common.IO; -using Fallout.Common.IO; +using Fallout.Kernel.IO; +using Fallout.Kernel.IO; using Fallout.Common; using static Fallout.Application.ControlFlow; using static Fallout.Application.Tools.DotNet.DotNetTasks; using static Fallout.Application.Tools.MSBuild.MSBuildTasks; using static Fallout.Application.Tools.SignTool.SignToolTasks; using static Fallout.Application.Tools.NuGet.NuGetTasks; -using static Fallout.Common.IO.TextTasks; -using static Fallout.Common.IO.XmlTasks; +using static Fallout.Kernel.IO.TextTasks; +using static Fallout.Kernel.IO.XmlTasks; using static Fallout.Common.EnvironmentInfo; class Build : FalloutBuild diff --git a/tests/Fallout.Cli.Tests/cake-scripts/tool-invocation.verified.cs b/tests/Fallout.Cli.Tests/cake-scripts/tool-invocation.verified.cs index 17ffac631..a54c27b8c 100644 --- a/tests/Fallout.Cli.Tests/cake-scripts/tool-invocation.verified.cs +++ b/tests/Fallout.Cli.Tests/cake-scripts/tool-invocation.verified.cs @@ -7,28 +7,28 @@ using System.Xml; using Fallout.Common; using Fallout.Common.Execution; -using Fallout.Common.IO; +using Fallout.Kernel.IO; using Fallout.Solutions; using Fallout.Common.Tooling; using Fallout.Common.Tools.DotNet; using Fallout.Common.Tools.GitVersion; using Fallout.Common.Tools.SignTool; -using Fallout.Common.Utilities.Collections; +using Fallout.Kernel.Collections; using Fallout.Application; using Fallout.Application.Tools.DotNet; using Fallout.Application.Tools.MSBuild; using Fallout.Application.Tools.SignTool; using Fallout.Application.Tools.NuGet; -using Fallout.Common.IO; -using Fallout.Common.IO; +using Fallout.Kernel.IO; +using Fallout.Kernel.IO; using Fallout.Common; using static Fallout.Application.ControlFlow; using static Fallout.Application.Tools.DotNet.DotNetTasks; using static Fallout.Application.Tools.MSBuild.MSBuildTasks; using static Fallout.Application.Tools.SignTool.SignToolTasks; using static Fallout.Application.Tools.NuGet.NuGetTasks; -using static Fallout.Common.IO.TextTasks; -using static Fallout.Common.IO.XmlTasks; +using static Fallout.Kernel.IO.TextTasks; +using static Fallout.Kernel.IO.XmlTasks; using static Fallout.Common.EnvironmentInfo; class Build : FalloutBuild diff --git a/tests/Fallout.Common.Tests/CI/ConfigurationGenerationTest.cs b/tests/Fallout.Common.Tests/CI/ConfigurationGenerationTest.cs index 7d0bd9f06..140a588a3 100644 --- a/tests/Fallout.Common.Tests/CI/ConfigurationGenerationTest.cs +++ b/tests/Fallout.Common.Tests/CI/ConfigurationGenerationTest.cs @@ -8,13 +8,13 @@ using Fallout.Common.CI.AzurePipelines; using Fallout.Common.CI.GitHubActions; using Fallout.Common.CI.TeamCity; -using Fallout.Common.IO; using VerifyXunit; using Xunit; using Fallout.Application.Execution; using Fallout.Application.CI; using Fallout.Application; using Fallout.Application.Tooling; +using Fallout.Kernel.IO; namespace Fallout.Common.Tests.CI; diff --git a/tests/Fallout.Common.Tests/ChangelogTasksTest.cs b/tests/Fallout.Common.Tests/ChangelogTasksTest.cs index 07e7e718a..034601174 100644 --- a/tests/Fallout.Common.Tests/ChangelogTasksTest.cs +++ b/tests/Fallout.Common.Tests/ChangelogTasksTest.cs @@ -1,12 +1,12 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using FluentAssertions; using Fallout.Common.ChangeLog; -using Fallout.Common.IO; using VerifyXunit; using Xunit; +using Fallout.Kernel.IO; // ReSharper disable ReturnValueOfPureMethodIsNotUsed diff --git a/tests/Fallout.Common.Tests/GitHubTasksTest.cs b/tests/Fallout.Common.Tests/GitHubTasksTest.cs index b60ecdfe9..9c4cad0c2 100644 --- a/tests/Fallout.Common.Tests/GitHubTasksTest.cs +++ b/tests/Fallout.Common.Tests/GitHubTasksTest.cs @@ -1,10 +1,10 @@ using System; using System.Linq; using FluentAssertions; -using Fallout.Common.IO; using Xunit; using Fallout.Application.Git; using Fallout.Application.Tools.GitHub; +using Fallout.Kernel.IO; namespace Fallout.Common.Tests; diff --git a/tests/Fallout.Common.Tests/GitVersionParseTest.cs b/tests/Fallout.Common.Tests/GitVersionParseTest.cs index b036e5e4e..17eb850df 100644 --- a/tests/Fallout.Common.Tests/GitVersionParseTest.cs +++ b/tests/Fallout.Common.Tests/GitVersionParseTest.cs @@ -4,9 +4,9 @@ // https://github.com/ChrisonSimtian/Fallout/blob/main/LICENSE using FluentAssertions; -using Fallout.Common.Utilities; using Xunit; using Fallout.Application.Tools.GitVersion; +using Fallout.Kernel; namespace Fallout.Common.Tests; diff --git a/tests/Fallout.Common.Tests/SettingsTest.cs b/tests/Fallout.Common.Tests/SettingsTest.cs index 3c7cb8b94..6c2c7084d 100644 --- a/tests/Fallout.Common.Tests/SettingsTest.cs +++ b/tests/Fallout.Common.Tests/SettingsTest.cs @@ -4,8 +4,6 @@ using System.Threading.Tasks; using System.Text.Json; using FluentAssertions; -using Fallout.Common.IO; -using Fallout.Common.Utilities; using VerifyXunit; using Xunit; using Fallout.Application.Tools.DotNet; @@ -17,6 +15,8 @@ using Fallout.Application.Tools.Docker; using Fallout.Application.Tools.Discord; using Fallout.Application.Tools.Kubernetes; +using Fallout.Kernel.IO; +using Fallout.Kernel; namespace Fallout.Common.Tests; diff --git a/tests/Fallout.Migrate.Analyzers.Tests/AnalyzerTestHarness.cs b/tests/Fallout.Migrate.Analyzers.Tests/AnalyzerTestHarness.cs index a91a0b964..738e45471 100644 --- a/tests/Fallout.Migrate.Analyzers.Tests/AnalyzerTestHarness.cs +++ b/tests/Fallout.Migrate.Analyzers.Tests/AnalyzerTestHarness.cs @@ -20,7 +20,7 @@ internal static class AnalyzerTestHarness // reference Fallout.* to fire" guard. Without this every test would silently // pass because the guard short-circuits. public static readonly MetadataReference FalloutMarkerReference = - MetadataReference.CreateFromFile(typeof(global::Fallout.Common.Utilities.CompletionUtility).Assembly.Location); + MetadataReference.CreateFromFile(typeof(global::Fallout.Kernel.CompletionUtility).Assembly.Location); } internal sealed class AnalyzerTest : CSharpAnalyzerTest diff --git a/tests/Fallout.ProjectModel.Tests/ProjectModelTest.cs b/tests/Fallout.ProjectModel.Tests/ProjectModelTest.cs index a769b2fe0..3a34f9115 100644 --- a/tests/Fallout.ProjectModel.Tests/ProjectModelTest.cs +++ b/tests/Fallout.ProjectModel.Tests/ProjectModelTest.cs @@ -1,9 +1,9 @@ -using System; +using System; using System.Linq; using FluentAssertions; -using Fallout.Common.IO; using Fallout.Solutions; using Xunit; +using Fallout.Kernel.IO; namespace Fallout.Common.Tests; diff --git a/tests/Fallout.Solution.Tests/SolutionTest.cs b/tests/Fallout.Solution.Tests/SolutionTest.cs index b1530e0a0..9bd6ba18d 100644 --- a/tests/Fallout.Solution.Tests/SolutionTest.cs +++ b/tests/Fallout.Solution.Tests/SolutionTest.cs @@ -1,10 +1,10 @@ -using System; +using System; using System.Linq; using FluentAssertions; -using Fallout.Common.IO; using Fallout.Solutions; -using Fallout.Common.Utilities; +using Fallout.Kernel; using Xunit; +using Fallout.Kernel.IO; namespace Fallout.Common.Tests; diff --git a/tests/Fallout.SourceGenerators.Tests/StronglyTypedSolutionGeneratorTest.Test#Solution.g.verified.cs b/tests/Fallout.SourceGenerators.Tests/StronglyTypedSolutionGeneratorTest.Test#Solution.g.verified.cs index 9eff38332..19cf21e1f 100644 --- a/tests/Fallout.SourceGenerators.Tests/StronglyTypedSolutionGeneratorTest.Test#Solution.g.verified.cs +++ b/tests/Fallout.SourceGenerators.Tests/StronglyTypedSolutionGeneratorTest.Test#Solution.g.verified.cs @@ -3,7 +3,7 @@ using Fallout.Persistence.Solution.Model; using Fallout.Solutions; -using Fallout.Common.IO; +using Fallout.Kernel.IO; using System.Runtime.CompilerServices; internal class Solution(SolutionModel model, AbsolutePath path) : Fallout.Solutions.Solution(model, path) diff --git a/tests/Fallout.Tooling.Tests/ArgumentStringHandlerTest.cs b/tests/Fallout.Tooling.Tests/ArgumentStringHandlerTest.cs index ae8f206b3..730483238 100644 --- a/tests/Fallout.Tooling.Tests/ArgumentStringHandlerTest.cs +++ b/tests/Fallout.Tooling.Tests/ArgumentStringHandlerTest.cs @@ -1,7 +1,7 @@ using FluentAssertions; -using Fallout.Common.IO; using Xunit; using Fallout.Application.Tooling; +using Fallout.Kernel.IO; // ReSharper disable StringLiteralAsInterpolationArgument diff --git a/tests/Fallout.Tooling.Tests/NuGetPackageResolverTest.cs b/tests/Fallout.Tooling.Tests/NuGetPackageResolverTest.cs index 64ada1706..5c12c3431 100644 --- a/tests/Fallout.Tooling.Tests/NuGetPackageResolverTest.cs +++ b/tests/Fallout.Tooling.Tests/NuGetPackageResolverTest.cs @@ -1,8 +1,8 @@ using System.Threading.Tasks; using FluentAssertions; -using Fallout.Common.IO; using Xunit; using Fallout.Infrastructure.Tooling; +using Fallout.Kernel.IO; namespace Fallout.Common.Tests; diff --git a/tests/Fallout.Tooling.Tests/OptionsTest.cs b/tests/Fallout.Tooling.Tests/OptionsTest.cs index bb37069c9..a40326368 100644 --- a/tests/Fallout.Tooling.Tests/OptionsTest.cs +++ b/tests/Fallout.Tooling.Tests/OptionsTest.cs @@ -6,11 +6,11 @@ using System.Threading.Tasks; using System.Text.Json; using FluentAssertions; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Collections; +using Fallout.Kernel; using VerifyXunit; using Xunit; using Fallout.Application.Tooling; +using Fallout.Kernel.Collections; namespace Fallout.Common.Tests; diff --git a/tests/Fallout.Tooling.Tests/ToolOptionsArgumentsTest.cs b/tests/Fallout.Tooling.Tests/ToolOptionsArgumentsTest.cs index 2e559ceb6..b2c1a0bb9 100644 --- a/tests/Fallout.Tooling.Tests/ToolOptionsArgumentsTest.cs +++ b/tests/Fallout.Tooling.Tests/ToolOptionsArgumentsTest.cs @@ -6,10 +6,10 @@ using System.Text.Json; using System.Text.Json.Nodes; using FluentAssertions; -using Fallout.Common.Utilities; -using Fallout.Common.Utilities.Collections; +using Fallout.Kernel; using Xunit; using Fallout.Application.Tooling; +using Fallout.Kernel.Collections; namespace Fallout.Common.Tests; diff --git a/tests/Fallout.Tooling.Tests/ToolTasksToolPathTest.cs b/tests/Fallout.Tooling.Tests/ToolTasksToolPathTest.cs index 3d108d1a4..af19d78c5 100644 --- a/tests/Fallout.Tooling.Tests/ToolTasksToolPathTest.cs +++ b/tests/Fallout.Tooling.Tests/ToolTasksToolPathTest.cs @@ -5,6 +5,7 @@ using Xunit; using Fallout.Infrastructure.Tooling; using Fallout.Application.Tooling; +using Fallout.Kernel.IO; namespace Fallout.Common.Tests; diff --git a/tests/Fallout.Utilities.Tests/Collections/DictionaryExtensionsTest.cs b/tests/Fallout.Utilities.Tests/Collections/DictionaryExtensionsTest.cs index d6390fa29..61c709af1 100644 --- a/tests/Fallout.Utilities.Tests/Collections/DictionaryExtensionsTest.cs +++ b/tests/Fallout.Utilities.Tests/Collections/DictionaryExtensionsTest.cs @@ -1,10 +1,10 @@ -using System; +using System; using System.Collections; using System.Collections.Generic; using System.Linq; using FluentAssertions; -using Fallout.Common.Utilities.Collections; using Xunit; +using Fallout.Kernel.Collections; namespace Fallout.Common.Tests; diff --git a/tests/Fallout.Utilities.Tests/Collections/EnumerableExtensionsTest.cs b/tests/Fallout.Utilities.Tests/Collections/EnumerableExtensionsTest.cs index ac15f80ce..ed300b8e2 100644 --- a/tests/Fallout.Utilities.Tests/Collections/EnumerableExtensionsTest.cs +++ b/tests/Fallout.Utilities.Tests/Collections/EnumerableExtensionsTest.cs @@ -1,8 +1,8 @@ -using System; +using System; using System.Linq; using FluentAssertions; -using Fallout.Common.Utilities.Collections; using Xunit; +using Fallout.Kernel.Collections; namespace Fallout.Common.Tests; diff --git a/tests/Fallout.Utilities.Tests/Collections/LookupTableTest.cs b/tests/Fallout.Utilities.Tests/Collections/LookupTableTest.cs index c5db832b7..1a344db2f 100644 --- a/tests/Fallout.Utilities.Tests/Collections/LookupTableTest.cs +++ b/tests/Fallout.Utilities.Tests/Collections/LookupTableTest.cs @@ -1,8 +1,8 @@ -using System; +using System; using System.Linq; using FluentAssertions; -using Fallout.Common.Utilities.Collections; using Xunit; +using Fallout.Kernel.Collections; // ReSharper disable ArgumentsStyleLiteral diff --git a/tests/Fallout.Utilities.Tests/EncryptionUtilityTest.cs b/tests/Fallout.Utilities.Tests/EncryptionUtilityTest.cs index 54897de9d..484649205 100644 --- a/tests/Fallout.Utilities.Tests/EncryptionUtilityTest.cs +++ b/tests/Fallout.Utilities.Tests/EncryptionUtilityTest.cs @@ -1,7 +1,7 @@ using System; -using Fallout.Common.Utilities; using FluentAssertions; using Xunit; +using Fallout.Kernel; namespace Fallout.Common.Tests; diff --git a/tests/Fallout.Utilities.Tests/EnvironmentInfoTest.cs b/tests/Fallout.Utilities.Tests/EnvironmentInfoTest.cs index 106d678fa..2485f21a2 100644 --- a/tests/Fallout.Utilities.Tests/EnvironmentInfoTest.cs +++ b/tests/Fallout.Utilities.Tests/EnvironmentInfoTest.cs @@ -1,8 +1,8 @@ -using System; +using System; using System.Linq; using FluentAssertions; -using Fallout.Common.IO; using Xunit; +using Fallout.Kernel.IO; namespace Fallout.Common.Tests; diff --git a/tests/Fallout.Utilities.Tests/IO/CompressionTasksTest.cs b/tests/Fallout.Utilities.Tests/IO/CompressionTasksTest.cs index 067a5d673..437216ee3 100644 --- a/tests/Fallout.Utilities.Tests/IO/CompressionTasksTest.cs +++ b/tests/Fallout.Utilities.Tests/IO/CompressionTasksTest.cs @@ -2,9 +2,9 @@ using System.IO; using System.Linq; using FluentAssertions; -using Fallout.Common.IO; using Xunit; using Xunit.Abstractions; +using Fallout.Kernel.IO; namespace Fallout.Common.Tests; diff --git a/tests/Fallout.Utilities.Tests/IO/FileSystemDependentTest.cs b/tests/Fallout.Utilities.Tests/IO/FileSystemDependentTest.cs index 45574baa9..c9f5df274 100644 --- a/tests/Fallout.Utilities.Tests/IO/FileSystemDependentTest.cs +++ b/tests/Fallout.Utilities.Tests/IO/FileSystemDependentTest.cs @@ -3,8 +3,8 @@ using System.Linq; using System.Reflection; using Fallout.Common; -using Fallout.Common.IO; using Xunit.Abstractions; +using Fallout.Kernel.IO; namespace Fallout.Common.Tests; diff --git a/tests/Fallout.Utilities.Tests/IO/MoveCopyTest.cs b/tests/Fallout.Utilities.Tests/IO/MoveCopyTest.cs index c09230be5..2e9b2d472 100644 --- a/tests/Fallout.Utilities.Tests/IO/MoveCopyTest.cs +++ b/tests/Fallout.Utilities.Tests/IO/MoveCopyTest.cs @@ -1,10 +1,10 @@ -using System; +using System; using System.Linq; using FluentAssertions; -using Fallout.Common.IO; -using Fallout.Common.Utilities.Collections; using Xunit; using Xunit.Abstractions; +using Fallout.Kernel.IO; +using Fallout.Kernel.Collections; namespace Fallout.Common.Tests; diff --git a/tests/Fallout.Utilities.Tests/IO/PathConstructionTest.cs b/tests/Fallout.Utilities.Tests/IO/PathConstructionTest.cs index b70d78a88..eb51f29dd 100644 --- a/tests/Fallout.Utilities.Tests/IO/PathConstructionTest.cs +++ b/tests/Fallout.Utilities.Tests/IO/PathConstructionTest.cs @@ -1,9 +1,9 @@ using System; using System.Linq; using FluentAssertions; -using Fallout.Common.IO; using Xunit; -using static Fallout.Common.IO.PathConstruction; +using static Fallout.Kernel.IO.PathConstruction; +using Fallout.Kernel.IO; namespace Fallout.Common.Tests; diff --git a/tests/Fallout.Utilities.Tests/Reflection/ReflectionUtilityTest.cs b/tests/Fallout.Utilities.Tests/Reflection/ReflectionUtilityTest.cs index 7f77235a6..97b8abb07 100644 --- a/tests/Fallout.Utilities.Tests/Reflection/ReflectionUtilityTest.cs +++ b/tests/Fallout.Utilities.Tests/Reflection/ReflectionUtilityTest.cs @@ -2,9 +2,9 @@ using System.Collections.Generic; using System.Globalization; using FluentAssertions; -using Fallout.Common.IO; -using Fallout.Common.Utilities; using Xunit; +using Fallout.Kernel; +using Fallout.Kernel.IO; namespace Fallout.Common.Tests.Execution; diff --git a/tests/Fallout.Utilities.Tests/Text/SerializationTest.cs b/tests/Fallout.Utilities.Tests/Text/SerializationTest.cs index d0e621a51..5773951b0 100644 --- a/tests/Fallout.Utilities.Tests/Text/SerializationTest.cs +++ b/tests/Fallout.Utilities.Tests/Text/SerializationTest.cs @@ -1,11 +1,10 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using FluentAssertions; -using Fallout.Common.IO; -using Fallout.Common.Utilities; -using Fallout.Utilities.Text.Yaml; using Xunit; +using Fallout.Kernel; +using Fallout.Kernel.Text.Yaml; namespace Fallout.Common.Tests; diff --git a/tests/Fallout.Utilities.Tests/Text/StringExtensionsTest.cs b/tests/Fallout.Utilities.Tests/Text/StringExtensionsTest.cs index ee79563bb..738f1e91d 100644 --- a/tests/Fallout.Utilities.Tests/Text/StringExtensionsTest.cs +++ b/tests/Fallout.Utilities.Tests/Text/StringExtensionsTest.cs @@ -1,8 +1,8 @@ -using System; +using System; using System.Linq; using FluentAssertions; -using Fallout.Common.Utilities; using Xunit; +using Fallout.Kernel; namespace Fallout.Common.Tests; diff --git a/tests/Nuke.Common.Shim.Tests/SampleConsumerBuild.cs b/tests/Nuke.Common.Shim.Tests/SampleConsumerBuild.cs index a3a29f117..0454fabf4 100644 --- a/tests/Nuke.Common.Shim.Tests/SampleConsumerBuild.cs +++ b/tests/Nuke.Common.Shim.Tests/SampleConsumerBuild.cs @@ -16,6 +16,7 @@ using Nuke.Common.ProjectModel; using Nuke.Common.Utilities; using Fallout.Application.Git; +using Fallout.Kernel.IO; namespace Nuke.Common.Shim.Tests; @@ -23,7 +24,7 @@ namespace Nuke.Common.Shim.Tests; // uses the canonical Fallout types via `Fallout.Common.Target` (shim doesn't // bridge delegates; that's `fallout-migrate`'s job). The [GlobbingOptions(...)] // attribute resolves through the shim now that the canonical is un-sealed. -[GlobbingOptions(Fallout.Common.IO.GlobbingCaseSensitivity.CaseInsensitive)] +[GlobbingOptions(Fallout.Kernel.IO.GlobbingCaseSensitivity.CaseInsensitive)] public abstract class SampleConsumerBuild : NukeBuild, INukeBuild { [Parameter("Configuration to build")] readonly string Configuration; diff --git a/tools/OnionRewriter/Program.cs b/tools/OnionRewriter/Program.cs index 9c7ac0590..c66ca5ef6 100644 --- a/tools/OnionRewriter/Program.cs +++ b/tools/OnionRewriter/Program.cs @@ -23,28 +23,27 @@ static class Runner // across rings type-by-type uses `TypeOverrides` (full-name → target ns), which beats the prefix rule. record struct Rule(string Old, string New, string[] SourceAssemblies); - // Step 4b — Tool vocabulary → Application; the impure executor that shares Fallout.Common.Tooling → - // Infrastructure (user-chosen "true homes": ToolTasks(App) → ProcessTasks(Infra) is a tracked onion - // violation until the resolver/process ports land). Tools.* and the Tooling vocabulary fold into the - // Application ring; the 13 executor types below are carved out by name. + // Step 5a — Fallout.Kernel: the shared utility/IO layer (pure helpers, collections, reflection, string, + // AbsolutePath + filesystem ops, EnvironmentInfo, globbing, net, compression) moves to Fallout.Kernel.*, + // the innermost shared ring. Wholesale namespace move (no per-type split) — gate-safe since Kernel is + // inner. Pushing the genuinely-EXTERNAL adapters (HTTP/FTP/compression) further out to Infrastructure is + // deferred: the Application ring uses them pervasively, so it needs the same ports call as the + // filesystem API. SourceAssemblies = every project declaring these namespaces. (Physical project rename + // Fallout.Utilities → Fallout.Kernel rides the deferred project-rename step, as with 4a/4b.) + static readonly string[] KernelSources = + [ + "Fallout.Utilities", "Fallout.Common", "Fallout.Utilities.Net", "Fallout.Utilities.Text.Json", + "Fallout.Utilities.IO.Compression", "Fallout.Utilities.IO.Globbing", "Fallout.Utilities.Text.Yaml", + ]; static readonly Rule[] Rules = [ - new("Fallout.Common.Tools", "Fallout.Application.Tools", ["Fallout.Common"]), - new("Fallout.Common.Tooling", "Fallout.Application.Tooling", ["Fallout.Tooling", "Fallout.Common"]), + new("Fallout.Common.Utilities", "Fallout.Kernel", KernelSources), + new("Fallout.Common.IO", "Fallout.Kernel.IO", KernelSources), + new("Fallout.Utilities.Text.Yaml", "Fallout.Kernel.Text.Yaml", KernelSources), ]; - // Impure executor types (process start, filesystem/HTTP tool & package resolution) that live in the - // Fallout.Common.Tooling namespace alongside the vocabulary — carved to Infrastructure by full name. - // Ports (IProcess, IProcessRunner), the exception type, attributes, and the rest stay vocabulary → - // Application; Infrastructure depending on Application is the correct (inward) onion direction. - const string InfraTooling = "Fallout.Infrastructure.Tooling"; - static readonly Dictionary TypeOverrides = new[] - { - "ProcessTasks", "SystemProcessRunner", "Process2", "ProcessExtensions", "ToolExecutor", - "ToolPathResolver", "NuGetToolPathResolver", "NpmToolPathResolver", - "NuGetVersionResolver", "NpmVersionResolver", "NuGetPackageResolver", "PaketPackageResolver", - "ToolingExtensions", - }.ToDictionary(n => $"Fallout.Common.Tooling.{n}", _ => InfraTooling); + // No per-type splits in 5a (wholesale namespace moves). + static readonly Dictionary TypeOverrides = new(); static bool Matches(Rule r, string ns) => ns == r.Old || ns.StartsWith(r.Old + "."); static bool IsMovable(string ns) => Rules.Any(r => Matches(r, ns)); From 930978470a80fde21b1c838b5345a5a15b9b3a80 Mon Sep 17 00:00:00 2001 From: Chrison Simtian Date: Mon, 1 Jun 2026 02:12:06 +1200 Subject: [PATCH 17/46] =?UTF-8?q?refactor(arch)!:=20CI=20providers=20?= =?UTF-8?q?=E2=86=92=20Infrastructure=20via=20Application.CI=20ports=20(on?= =?UTF-8?q?ion=20step=205b)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Move the concrete CI host providers (AppVeyor, AzurePipelines, TeamCity, GitHubActions, GitLab, TravisCI, Jenkins, Bitrise, Bitbucket, Bamboo, SpaceAutomation) and their config generators from Fallout.Common.CI.* to Fallout.Infrastructure.CI.*. The Application ring uses provider-SPECIFIC capabilities (PublishTestResults, PushArtifact, SetBuildNumber, UpdateBuildNumber, Token, …), so a generic host abstraction can't capture them. Instead, per-provider ports in Fallout.Application.CI — IAppVeyor/IAzurePipelines/ITeamCity/IGitHubActions — plus a CiHost accessor that casts the detected Host.Instance to the port (null when not running on that host). No registration needed: Host.Instance is the existing detection seam, and the providers (subclasses of Host) implement the ports. Components (ITest/IReportCoverage/ISignPackages/ICreateGitHubRelease) and version/coverage attributes now call CiHost.X instead of X.Instance, so the Application ring keeps no dependency on Fallout.Infrastructure.* — the fitness gate still passes. The two enums the ports expose move to Fallout.Application.CI as vocabulary. Nuke.Common CI host shims repointed to the new namespace. (The generic CI host abstraction — ADR-0005 IBuildHost/IBuildReporter, #341 — stays a separate additive effort.) Tooling: OnionRewriter rules retargeted for 5b (CI → Infrastructure.CI, enums overridden to Application.CI). Lesson #13: alias-qualified `global::Ns.Type` refs aren't rewritten (Left includes `global::`) — hit in the shims, mopped up. Full suite green; Application-ring fitness gate green. Co-Authored-By: Claude Opus 4.8 --- CHANGELOG.md | 1 + build/Build.CI.GitHubActions.cs | 2 +- build/Build.cs | 2 +- docs/spikes/0003-onion-infrastructure-ring.md | 3 +- .../CI/AppVeyor/AppVeyor.Theming.cs | 2 +- src/Fallout.Common/CI/AppVeyor/AppVeyor.cs | 5 +- .../CI/AppVeyor/AppVeyorAttribute.cs | 4 +- .../CI/AppVeyor/AppVeyorImage.cs | 2 +- .../CI/AppVeyor/AppVeyorSecretAttribute.cs | 4 +- .../CI/AppVeyor/AppVeyorService.cs | 2 +- .../Configuration/AppVeyorBranches.cs | 2 +- .../Configuration/AppVeyorConfiguration.cs | 3 +- .../AppVeyorCustomWriterExtensions.cs | 2 +- .../AzurePipelines/AzurePipelines.Theming.cs | 2 +- .../CI/AzurePipelines/AzurePipelines.cs | 5 +- .../AzurePipelines/AzurePipelinesAttribute.cs | 5 +- .../AzurePipelinesBuildReason.cs | 4 +- .../AzurePipelinesCachePaths.cs | 4 +- .../AzurePipelinesCodeCoverageToolType.cs | 4 +- .../CI/AzurePipelines/AzurePipelinesImage.cs | 2 +- .../AzurePipelines/AzurePipelinesIssueType.cs | 4 +- .../AzurePipelines/AzurePipelinesJobStatus.cs | 4 +- .../AzurePipelinesRepositoryType.cs | 4 +- .../AzurePipelinesTestResultsType.cs | 2 +- .../AzurePipelineCheckoutStep.cs | 2 +- .../Configuration/AzurePipelinesCacheStep.cs | 3 +- .../Configuration/AzurePipelinesCmdStep.cs | 2 +- .../AzurePipelinesConfiguration.cs | 2 +- .../AzurePipelinesCustomWriterExtensions.cs | 2 +- .../AzurePipelinesDownloadStep.cs | 2 +- .../Configuration/AzurePipelinesJob.cs | 3 +- .../AzurePipelinesPublishStep.cs | 2 +- .../Configuration/AzurePipelinesStage.cs | 3 +- .../Configuration/AzurePipelinesStep.cs | 2 +- .../AzurePipelinesVcsPushTrigger.cs | 2 +- src/Fallout.Common/CI/Bamboo/Bamboo.cs | 3 +- src/Fallout.Common/CI/Bitbucket/Bitbucket.cs | 3 +- src/Fallout.Common/CI/Bitrise/Bitrise.cs | 3 +- src/Fallout.Common/CI/CiHostPorts.cs | 58 +++++++++++++++++++ .../GitHubActionsArtifactStep.cs | 2 +- .../Configuration/GitHubActionsCacheStep.cs | 2 +- .../GitHubActionsCheckoutStep.cs | 3 +- .../GitHubActionsConfiguration.cs | 3 +- .../GitHubActionsDetailedTrigger.cs | 2 +- .../Configuration/GitHubActionsJob.cs | 3 +- .../Configuration/GitHubActionsRunStep.cs | 2 +- .../GitHubActionsScheduledTrigger.cs | 2 +- .../Configuration/GitHubActionsStep.cs | 2 +- .../Configuration/GitHubActionsVcsTrigger.cs | 3 +- .../GitHubActionsWorkflowDispatchTrigger.cs | 2 +- .../CI/GitHubActions/GitHubActions.Client.cs | 2 +- .../CI/GitHubActions/GitHubActions.Theming.cs | 2 +- .../CI/GitHubActions/GitHubActions.cs | 5 +- .../GitHubActions/GitHubActionsAttribute.cs | 5 +- .../CI/GitHubActions/GitHubActionsImage.cs | 2 +- .../GitHubActions/GitHubActionsPermissions.cs | 2 +- .../GitHubActions/GitHubActionsSubmodules.cs | 2 +- .../CI/GitHubActions/GitHubActionsTrigger.cs | 2 +- .../CI/GitLab/GitLab.Theming.cs | 2 +- src/Fallout.Common/CI/GitLab/GitLab.cs | 3 +- .../CI/GitLab/GitLabProjectVisibility.cs | 4 +- src/Fallout.Common/CI/Jenkins/Jenkins.cs | 3 +- .../SpaceAutomationConfiguration.cs | 2 +- .../Configuration/SpaceAutomationContainer.cs | 2 +- .../SpaceAutomationCronScheduleTrigger.cs | 2 +- .../SpaceAutomationCustomWriterExtensions.cs | 2 +- .../SpaceAutomationPushTrigger.cs | 2 +- .../Configuration/SpaceAutomationResources.cs | 2 +- .../Configuration/SpaceAutomationTrigger.cs | 2 +- .../SpaceAutomation.Theming.cs | 2 +- .../CI/SpaceAutomation/SpaceAutomation.cs | 3 +- .../SpaceAutomationAttribute.cs | 4 +- .../TeamCityArtifactDependency.cs | 2 +- .../Configuration/TeamCityBuildType.cs | 2 +- .../Configuration/TeamCityBuildTypeVcsRoot.cs | 2 +- .../Configuration/TeamCityConfiguration.cs | 2 +- .../TeamCityConfigurationParameter.cs | 2 +- .../TeamCityCustomWriterExtensions.cs | 2 +- .../Configuration/TeamCityDependency.cs | 2 +- .../TeamCityDependencyFailureAction.cs | 2 +- .../TeamCityFinishBuildTrigger.cs | 2 +- .../TeamCityKeyValueParameter.cs | 2 +- .../Configuration/TeamCityParameter.cs | 2 +- .../Configuration/TeamCityParameterDisplay.cs | 2 +- .../Configuration/TeamCityParameterType.cs | 2 +- .../TeamCity/Configuration/TeamCityProject.cs | 2 +- .../Configuration/TeamCityScheduledTrigger.cs | 2 +- .../TeamCitySnapshotDependency.cs | 2 +- .../TeamCity/Configuration/TeamCityTrigger.cs | 2 +- .../TeamCity/Configuration/TeamCityVcsRoot.cs | 2 +- .../Configuration/TeamCityVcsTrigger.cs | 2 +- .../TeamCity/DotNetBuildSettingsExtensions.cs | 3 +- .../TeamCity/DotNetTestSettingsExtensions.cs | 3 +- .../CI/TeamCity/MSBuildSettingsExtensions.cs | 3 +- .../CI/TeamCity/TeamCity.Theming.cs | 2 +- src/Fallout.Common/CI/TeamCity/TeamCity.cs | 5 +- .../CI/TeamCity/TeamCityAttribute.cs | 5 +- .../CI/TeamCity/TeamCityImportTool.cs | 4 +- .../CI/TeamCity/TeamCityImportType.cs | 4 +- .../TeamCity/TeamCityNoDataPublishedAction.cs | 2 +- .../CI/TeamCity/TeamCityStatus.cs | 2 +- .../CI/TeamCity/TeamCityTokenAttribute.cs | 4 +- .../CI/TravisCI/TravisCI.Theming.cs | 2 +- src/Fallout.Common/CI/TravisCI/TravisCI.cs | 3 +- .../CI/TravisCI/TravisCIEventType.cs | 4 +- .../TeamCitySetDotCoverHomePathAttribute.cs | 4 +- .../Tools/GitVersion/GitVersionAttribute.cs | 14 ++--- .../Tools/MinVer/MinVerAttribute.cs | 10 ++-- .../NerdbankGitVersioningAttribute.cs | 10 ++-- .../Tools/OctoVersion/OctoVersionAttribute.cs | 10 ++-- .../Tools/SignPath/SignPathTasks.cs | 12 ++-- .../ICreateGitHubRelease.cs | 4 +- src/Fallout.Components/IReportCoverage.cs | 4 +- src/Fallout.Components/ISignPackages.cs | 4 +- src/Fallout.Components/ITest.cs | 14 ++--- src/Shims/Nuke.Common/CI/AppVeyor/AppVeyor.cs | 9 +-- .../CI/AzurePipelines/AzurePipelines.cs | 5 +- src/Shims/Nuke.Common/CI/Bamboo/Bamboo.cs | 5 +- .../Nuke.Common/CI/Bitbucket/Bitbucket.cs | 5 +- src/Shims/Nuke.Common/CI/Bitrise/Bitrise.cs | 5 +- .../CI/GitHubActions/GitHubActions.cs | 5 +- src/Shims/Nuke.Common/CI/GitLab/GitLab.cs | 5 +- src/Shims/Nuke.Common/CI/Jenkins/Jenkins.cs | 5 +- src/Shims/Nuke.Common/CI/TeamCity/TeamCity.cs | 5 +- src/Shims/Nuke.Common/CI/TravisCI/TravisCI.cs | 5 +- .../CI/ConfigurationGenerationTest.cs | 8 +-- .../CI/TestAppVeyorAttribute.cs | 2 +- .../CI/TestAzurePipelinesAttribute.cs | 2 +- .../CI/TestGitHubActionsAttribute.cs | 2 +- .../CI/TestSpaceAutomationAttribute.cs | 4 +- .../CI/TestTeamCityAttribute.cs | 2 +- tests/Fallout.Common.Tests/CITest.cs | 14 ++--- tools/OnionRewriter/Program.cs | 30 +++++----- 133 files changed, 309 insertions(+), 228 deletions(-) create mode 100644 src/Fallout.Common/CI/CiHostPorts.cs diff --git a/CHANGELOG.md b/CHANGELOG.md index f265b9bb5..84fad1f71 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - **Step 4b (tool vocabulary → Application; executor → Infrastructure)**: the tool wrappers `Fallout.Common.Tools.*` (60+ wrappers) and the tool vocabulary they build on (`ToolTasks`, `ToolOptions`, `Output`, `Configure`, the `IProcess`/`IProcessRunner` ports, requirement/attribute types) move to **`Fallout.Application.Tools.*`** / **`Fallout.Application.Tooling`**. The impure executor that shared the `Fallout.Common.Tooling` namespace — `ProcessTasks`, `SystemProcessRunner`, `Process2`, `ProcessExtensions`, `ToolExecutor`, and the tool/package/version resolvers — moves to **`Fallout.Infrastructure.Tooling`**. Native consumers rewrite `using Fallout.Common.Tools.*;` → `using Fallout.Application.Tools.*;` and `using Fallout.Common.Tooling;` → `using Fallout.Application.Tooling;` (plus `using Fallout.Infrastructure.Tooling;` where they touch the executor directly). The `Nuke.Common.Tools`/`…Tooling` shim aliases lapse (the generator only mirrors the `Fallout.Common.*` prefix), pending the deferred migration/shim redesign. Assembly/project files (`Fallout.Common`, `Fallout.Tooling`) are unchanged; only namespaces moved. - **Step 4b-follow-up (port inversion + Application-ring fitness gate)**: the impure tool-execution services now sit behind ports in `Fallout.Application.Tooling` — **`IProcessExecutor`**, **`IToolPathResolver`**, **`IToolVersionResolver`**, resolved via the new **`ToolingServices`** locator; Infrastructure registers thin adapters into it through a module initializer. The Application ring (tool wrappers, `ToolTasks`, `ToolResolver`, requirement/version attributes, build orchestration) no longer references `Fallout.Infrastructure.*`. `ProcessExtensions` (pure `IProcess`/`Output` helpers — `AssertWaitForExit`, `StdToJson`, …) was reclassified from Infrastructure back to `Fallout.Application.Tooling`. A NetArchTest fitness test (new `Fallout.Architecture.Tests`) asserts `Fallout.Application.*` ⊥ `Fallout.Infrastructure.*` and guards it. (Catch-all `Fallout.Common.*` code outside the Application ring — e.g. CI host adapters, single-file/path-check attributes — still reaches Infrastructure and is addressed when those namespaces get a ring in step 5.) - **Step 5a (the `Fallout.Kernel` ring)**: the shared utility/IO layer — pure helpers (collections, string/text, reflection, `Assert`-adjacent guards, crypto, JSON/YAML), the `AbsolutePath`/`RelativePath` value types **and their fluent filesystem operations** (`.ReadAllText`/`.GlobFiles`/`.CreateDirectory`/…), plus HTTP/compression helpers — moves from `Fallout.Common.Utilities*` / `Fallout.Common.IO` to **`Fallout.Kernel`** / **`Fallout.Kernel.IO`** / **`Fallout.Kernel.Collections`** / **`Fallout.Kernel.Net`**, the innermost shared ring that the Domain/Application/Infrastructure rings build on. Native consumers rewrite `using Fallout.Common.Utilities;` → `using Fallout.Kernel;` (and `.Collections`/`.Net`) and `using Fallout.Common.IO;` → `using Fallout.Kernel.IO;`. **Filesystem is treated as a kernel-level capability** (like the BCL `File`/`Directory`): the fluent `AbsolutePath` API is used pervasively across the Application ring, so routing it through ports would be impractical and anti-ergonomic — it stays in Kernel rather than moving to Infrastructure. Pushing the genuinely-external adapters (HTTP/FTP, compression) further out to Infrastructure is deferred for the same reason (they need the same ports decision). The `Fallout.Utilities` assembly/project keeps its filename until the later mechanical rename to `Fallout.Kernel`; a few root-`Fallout.Common` guards (`Assert`, `NotNull`, `EnvironmentInfo`) remain in the dissolving catch-all for now and fold into Kernel later. + - **Step 5b (CI host providers → Infrastructure)**: the concrete CI provider classes (`AppVeyor`, `AzurePipelines`, `TeamCity`, `GitHubActions`, `GitLab`, `TravisCI`, …) and their config generators move from `Fallout.Common.CI.*` to **`Fallout.Infrastructure.CI.*`**. The Application ring reaches the provider-specific capabilities it needs (publish test results/coverage, push artifacts, set/update the build number, read the token, …) through new **ports in `Fallout.Application.CI`** — `IAppVeyor`/`IAzurePipelines`/`ITeamCity`/`IGitHubActions` plus a **`CiHost`** accessor that casts the detected `Host.Instance` to the port (no registration needed — `Host.Instance` is the existing detection seam). Components and version/coverage attributes rewrite `AzurePipelines.Instance?.X` → `CiHost.AzurePipelines?.X`, so the Application ring stays free of `Fallout.Infrastructure.*` (the fitness gate still passes). The two enums the ports expose (`AzurePipelinesTestResultsType`, `AzurePipelinesCodeCoverageToolType`) move to `Fallout.Application.CI` as vocabulary. The `Nuke.Common.CI.*` transition-shim host accessors are repointed to the new Infrastructure namespace. (The generic CI host abstraction — ADR-0005 `IBuildHost`/`IBuildReporter`, [#341] — remains a separate, additive effort.) - **Adopted calendar versioning (`YYYY.MINOR.PATCH`) + dual-pace channel model; retired the v11 numbering** ([ADR-0004](docs/adr/0004-calendar-versioning-and-dual-pace-channels.md)). Fallout now ships on calendar versions (`2026.0.0`, `2026.1.0`, …) — mechanically valid SemVer with the major equal to the calendar year. **Breaking changes are batched to the yearly major cut**; mid-year stable releases (`release/YYYY`) are strictly non-breaking. `main` becomes the published **edge** channel (date-stamped prereleases to GitHub Packages); the slow/stable track lives on `release/YYYY`. Opt-in unstable APIs are marked `[Experimental("FALLOUT0xx")]`. - **Migration / impact**: the `11.0.x` packages never shipped a clean stable release (all unlisted), so this strands no stable consumers. The headline content previously slated for "v11" now ships as **`2026.0.0`**. Any tooling pinned to a `[11.0,12.0)`-style range should retarget the `2026.x` line. - **Legacy unaffected**: the `release/v10` line stays on semver `10.x` and continues to receive security/critical fixes — v10 consumers do nothing. diff --git a/build/Build.CI.GitHubActions.cs b/build/Build.CI.GitHubActions.cs index 54a278aeb..b6160ba19 100644 --- a/build/Build.CI.GitHubActions.cs +++ b/build/Build.CI.GitHubActions.cs @@ -1,5 +1,5 @@ -using Fallout.Common.CI.GitHubActions; using Fallout.Application.Components; +using Fallout.Infrastructure.CI.GitHubActions; // Cross-platform (macOS/Windows) full Test+Pack is gated to RELEASE INTENT // (#318/#326): it runs only on a PR into a production branch (release/YYYY, diff --git a/build/Build.cs b/build/Build.cs index e3b53386f..48f07fd25 100644 --- a/build/Build.cs +++ b/build/Build.cs @@ -3,7 +3,6 @@ using System.Linq; using NuGet.Packaging; using Fallout.Common; -using Fallout.Common.CI.GitHubActions; using Fallout.Solutions; using static Fallout.Application.ControlFlow; using static Fallout.Application.Tools.DotNet.DotNetTasks; @@ -18,6 +17,7 @@ using Fallout.Application.Tools.GitHub; using Fallout.Kernel.IO; using Fallout.Kernel; +using Fallout.Infrastructure.CI.GitHubActions; [DotNetVerbosityMapping] [ShutdownDotNetAfterServerBuild] diff --git a/docs/spikes/0003-onion-infrastructure-ring.md b/docs/spikes/0003-onion-infrastructure-ring.md index 8b1f78fd0..a08eb47ce 100644 --- a/docs/spikes/0003-onion-infrastructure-ring.md +++ b/docs/spikes/0003-onion-infrastructure-ring.md @@ -1,6 +1,6 @@ # Spike 0003 — Onion realignment: the Infrastructure ring (steps 3–5) -- **Status:** In progress — step 3, 4a, 4b + inversion done; **step 5a (`Fallout.Kernel` ring) done** (shared utilities/IO/path-value-types → `Fallout.Kernel.*` namespaces, green). Remaining: 5b CI→Infra, 5c ProjectModel/Solution→Infra; then the deferred project-FILE renames (incl. `Fallout.Utilities`→`Fallout.Kernel` assembly) + `Nuke.*` shim/migration redesign. On branch `spike/onion-kernel` (stacked on `spike/onion-infrastructure`). +- **Status:** In progress — step 3, 4a, 4b + inversion, 5a done; **step 5b (CI providers → Infrastructure, via `Fallout.Application.CI` ports + `CiHost`) done** (green, gate passes). Remaining: 5c ProjectModel/Solution→Infra; then the deferred project-FILE renames (incl. `Fallout.Utilities`→`Fallout.Kernel` assembly) + `Nuke.*` shim/migration redesign. On branch `spike/onion-kernel` (stacked on `spike/onion-infrastructure`). - **Date:** 2026-05-31 (updated 2026-06-01) - **Decision record:** [ADR-0006](../adr/0006-onion-layering-and-namespace-realignment.md) - **Channel:** `experimental` (branch `spike/onion-infrastructure`) @@ -74,6 +74,7 @@ These edge cases each cost a build cycle on the Application ring — the general 8. **Classify moved types by their OUTERMOST enclosing type, not the symbol's own name** (found on 4a): a *nested* type's `ContainingNamespace` is the enclosing namespace, so a `{ns}.{Name}` lookup in the moved-set (top-level names only) misses it → it's misclassified as *residual*, which for a source file adds a `using` of the very namespace the move evacuates (dangling → CS0246). Fix: walk `ContainingType` to the top, key the moved-set check on that. Belt-and-suspenders: never add a residual `using` for a namespace not in `surviving`. 9. **Per-type overrides split one namespace across rings** (4b): `Fallout.Common.Tooling` holds both vocabulary (→Application) and executor (→Infrastructure). Prefix rules can't split a namespace, so the mapping became per-TYPE: `targetNs(type)` (override map beats prefix rule) replaced the per-namespace `mapNs`. Namespace *declarations* map by the moved types they declare (`MapDecl` — first moved type wins; blocks are single-ring since each type is its own file). 10. **Lost-ancestor usings** (4b — generalises #6 to non-movable parents): a file in `A.B.C` implicitly sees `A.B`/`A` with no `using`. Moving it to `X.Y.Z` severs that — e.g. `Fallout.Common.Tooling.*` files used `EnvironmentInfo`/`NotNull`/`Assert` from the **`Fallout.Common` root** with no import; after the move they need an explicit `using Fallout.Common;`. Fix: for a source file whose namespace changes, add a `using` for each strict ancestor of the old namespace that is (a) not an ancestor of the new namespace and (b) actually used. **This is the one that costs a whole build cycle if missed** (~160 CS0103/CS1061). +13. **Alias-qualified names (`global::Ns.Type`) aren't rewritten** (5b): `VisitQualifiedName` compares `node.Left.ToString()` to the symbol's plain namespace, but `global::Fallout.Common.CI.X.X` has Left = `global::Fallout.Common.CI.X` (with the `global::` alias), so the exact match fails and the ref is left stale. Hit in the Nuke.Common CI host shims (hand-written `global::Fallout.Common.CI.

.

` aliases). Fix: strip a leading `global::` before the comparison; for now mopped up by hand. (5b shape: provider classes → Infrastructure.CI, but the Application ring uses provider-SPECIFIC APIs — so per-provider ports `IAppVeyor`/… + a `CiHost` accessor casting `Host.Instance`, rather than one fat IBuildHost; no module-init needed since Host.Instance is the existing detection seam.) 12. **The rewriter can silently miss files when a project fails to fully load** (5a): MSBuildWorkspace didn't analyse a handful of files (Fallout.Tooling/Build.Shared edge cases), leaving ~28 stale refs to a fully-evacuated namespace. A blunt repo-wide `sed` to mop them up OVER-REACHED — it (a) rewrote package-consumer projects (`Consumer.NuGet`) that must keep the *published* namespaces, and (b) rewrote the **Migrate tool's** test-fixture expectations (the `Nuke.*`→`Fallout.Common.*` rebrand contract is separate from the onion moves and deferred), and (c) doesn't do the lost-ancestor `using` fix (§10), so a file whose own namespace changed lost access to `Fallout.Common`-root guards. Lesson: mop up residuals only in genuine source/consumer files, skip package consumers + Migrate fixtures, and re-add `using Fallout.Common;` where a moved file used root guards. Better: fix the workspace-load gap so the rewriter doesn't miss them. 11. **Rewrite crefs too** (4b): doc-comment `` names live in structured trivia — neither the prescan nor the rewriter descends there by default, so cref imports dangle and FQN crefs in the *generated* tool wrappers go stale (~7,600 CS1574/CS1580, non-fatal but review-blocking). Fix: prescan with `descendIntoTrivia: true` (so cref-only type refs still get their `using`), and give the `SyntaxFixer` `visitIntoStructuredTrivia: true` (so qualified cref names remap like any other qualified name). diff --git a/src/Fallout.Common/CI/AppVeyor/AppVeyor.Theming.cs b/src/Fallout.Common/CI/AppVeyor/AppVeyor.Theming.cs index 39ec10ca8..911c3d396 100644 --- a/src/Fallout.Common/CI/AppVeyor/AppVeyor.Theming.cs +++ b/src/Fallout.Common/CI/AppVeyor/AppVeyor.Theming.cs @@ -2,7 +2,7 @@ using Serilog.Sinks.SystemConsole.Themes; using Fallout.Application.Execution.Theming; -namespace Fallout.Common.CI.AppVeyor; +namespace Fallout.Infrastructure.CI.AppVeyor; public partial class AppVeyor { diff --git a/src/Fallout.Common/CI/AppVeyor/AppVeyor.cs b/src/Fallout.Common/CI/AppVeyor/AppVeyor.cs index e31e49c59..0076f50a3 100644 --- a/src/Fallout.Common/CI/AppVeyor/AppVeyor.cs +++ b/src/Fallout.Common/CI/AppVeyor/AppVeyor.cs @@ -6,8 +6,9 @@ using Fallout.Application.CI; using Fallout.Application.Tooling; using Fallout.Kernel; +using Fallout.Common; -namespace Fallout.Common.CI.AppVeyor; +namespace Fallout.Infrastructure.CI.AppVeyor; // // [Headers("Accept: application/json")] // public interface IAppVeyorRestClient @@ -28,7 +29,7 @@ public enum AppVeyorMessageCategory /// Interface according to the official website. ///

[ExcludeFromCodeCoverage] -public partial class AppVeyor : Host, IBuildServer +public partial class AppVeyor : Host, IBuildServer, IAppVeyor { public new static AppVeyor Instance => Host.Instance as AppVeyor; diff --git a/src/Fallout.Common/CI/AppVeyor/AppVeyorAttribute.cs b/src/Fallout.Common/CI/AppVeyor/AppVeyorAttribute.cs index f659dbcef..8a05fd65a 100644 --- a/src/Fallout.Common/CI/AppVeyor/AppVeyorAttribute.cs +++ b/src/Fallout.Common/CI/AppVeyor/AppVeyorAttribute.cs @@ -3,14 +3,14 @@ using System.IO; using System.Linq; using System.Reflection; -using Fallout.Common.CI.AppVeyor.Configuration; using Fallout.Application.CI; using Fallout.Application.Utilities; using Fallout.Application.Execution; using Fallout.Kernel.Collections; using Fallout.Kernel.IO; +using Fallout.Infrastructure.CI.AppVeyor.Configuration; -namespace Fallout.Common.CI.AppVeyor; +namespace Fallout.Infrastructure.CI.AppVeyor; /// /// Interface according to the official website. diff --git a/src/Fallout.Common/CI/AppVeyor/AppVeyorImage.cs b/src/Fallout.Common/CI/AppVeyor/AppVeyorImage.cs index 3033ce36e..2c71600d7 100644 --- a/src/Fallout.Common/CI/AppVeyor/AppVeyorImage.cs +++ b/src/Fallout.Common/CI/AppVeyor/AppVeyorImage.cs @@ -2,7 +2,7 @@ using System.Linq; using Fallout.Application.Tooling; -namespace Fallout.Common.CI.AppVeyor; +namespace Fallout.Infrastructure.CI.AppVeyor; /// /// See Build environment diff --git a/src/Fallout.Common/CI/AppVeyor/AppVeyorSecretAttribute.cs b/src/Fallout.Common/CI/AppVeyor/AppVeyorSecretAttribute.cs index 830fffd42..aa4a79224 100644 --- a/src/Fallout.Common/CI/AppVeyor/AppVeyorSecretAttribute.cs +++ b/src/Fallout.Common/CI/AppVeyor/AppVeyorSecretAttribute.cs @@ -1,7 +1,7 @@ -using System; +using System; using System.Linq; -namespace Fallout.Common.CI.AppVeyor; +namespace Fallout.Infrastructure.CI.AppVeyor; [AttributeUsage(AttributeTargets.Class, AllowMultiple = true)] public class AppVeyorSecretAttribute : Attribute diff --git a/src/Fallout.Common/CI/AppVeyor/AppVeyorService.cs b/src/Fallout.Common/CI/AppVeyor/AppVeyorService.cs index 2bfd3551f..4f797f9c3 100644 --- a/src/Fallout.Common/CI/AppVeyor/AppVeyorService.cs +++ b/src/Fallout.Common/CI/AppVeyor/AppVeyorService.cs @@ -1,7 +1,7 @@ using System; using System.Linq; -namespace Fallout.Common.CI.AppVeyor; +namespace Fallout.Infrastructure.CI.AppVeyor; /// /// diff --git a/src/Fallout.Common/CI/AppVeyor/Configuration/AppVeyorBranches.cs b/src/Fallout.Common/CI/AppVeyor/Configuration/AppVeyorBranches.cs index 5197e2a28..81d6c0160 100644 --- a/src/Fallout.Common/CI/AppVeyor/Configuration/AppVeyorBranches.cs +++ b/src/Fallout.Common/CI/AppVeyor/Configuration/AppVeyorBranches.cs @@ -4,7 +4,7 @@ using Fallout.Application.Utilities; using Fallout.Kernel.Collections; -namespace Fallout.Common.CI.AppVeyor.Configuration; +namespace Fallout.Infrastructure.CI.AppVeyor.Configuration; public class AppVeyorBranches : ConfigurationEntity { diff --git a/src/Fallout.Common/CI/AppVeyor/Configuration/AppVeyorConfiguration.cs b/src/Fallout.Common/CI/AppVeyor/Configuration/AppVeyorConfiguration.cs index ae239f5a2..d2b8f609c 100644 --- a/src/Fallout.Common/CI/AppVeyor/Configuration/AppVeyorConfiguration.cs +++ b/src/Fallout.Common/CI/AppVeyor/Configuration/AppVeyorConfiguration.cs @@ -6,8 +6,9 @@ using Fallout.Application.Tooling; using Fallout.Kernel.Collections; using Fallout.Kernel; +using Fallout.Infrastructure.CI.AppVeyor; -namespace Fallout.Common.CI.AppVeyor.Configuration; +namespace Fallout.Infrastructure.CI.AppVeyor.Configuration; public class AppVeyorConfiguration : ConfigurationEntity { diff --git a/src/Fallout.Common/CI/AppVeyor/Configuration/AppVeyorCustomWriterExtensions.cs b/src/Fallout.Common/CI/AppVeyor/Configuration/AppVeyorCustomWriterExtensions.cs index dc43e1c6e..360a53363 100644 --- a/src/Fallout.Common/CI/AppVeyor/Configuration/AppVeyorCustomWriterExtensions.cs +++ b/src/Fallout.Common/CI/AppVeyor/Configuration/AppVeyorCustomWriterExtensions.cs @@ -3,7 +3,7 @@ using Fallout.Application.Utilities; using Fallout.Kernel; -namespace Fallout.Common.CI.AppVeyor.Configuration; +namespace Fallout.Infrastructure.CI.AppVeyor.Configuration; public static class AppVeyorCustomWriterExtensions { diff --git a/src/Fallout.Common/CI/AzurePipelines/AzurePipelines.Theming.cs b/src/Fallout.Common/CI/AzurePipelines/AzurePipelines.Theming.cs index 2f5a70531..d6f1a9fc1 100644 --- a/src/Fallout.Common/CI/AzurePipelines/AzurePipelines.Theming.cs +++ b/src/Fallout.Common/CI/AzurePipelines/AzurePipelines.Theming.cs @@ -4,7 +4,7 @@ using Fallout.Application.Execution.Theming; using Fallout.Kernel; -namespace Fallout.Common.CI.AzurePipelines; +namespace Fallout.Infrastructure.CI.AzurePipelines; public partial class AzurePipelines { diff --git a/src/Fallout.Common/CI/AzurePipelines/AzurePipelines.cs b/src/Fallout.Common/CI/AzurePipelines/AzurePipelines.cs index 64a026da6..2eab66b76 100644 --- a/src/Fallout.Common/CI/AzurePipelines/AzurePipelines.cs +++ b/src/Fallout.Common/CI/AzurePipelines/AzurePipelines.cs @@ -6,15 +6,16 @@ using Fallout.Application.CI; using Fallout.Kernel.Collections; using Fallout.Kernel; +using Fallout.Common; -namespace Fallout.Common.CI.AzurePipelines; +namespace Fallout.Infrastructure.CI.AzurePipelines; /// /// Interface according to the official website. /// Azure Pipeline Tasks Documentation /// [ExcludeFromCodeCoverage] -public partial class AzurePipelines : Host, IBuildServer +public partial class AzurePipelines : Host, IBuildServer, IAzurePipelines { public new static AzurePipelines Instance => Host.Instance as AzurePipelines; diff --git a/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesAttribute.cs b/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesAttribute.cs index 8ec90c2e4..f8695c4c3 100644 --- a/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesAttribute.cs +++ b/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesAttribute.cs @@ -2,7 +2,6 @@ using System.Collections.Generic; using System.IO; using System.Linq; -using Fallout.Common.CI.AzurePipelines.Configuration; using static Fallout.Kernel.IO.PathConstruction; using Fallout.Application.CI; using Fallout.Application.Utilities; @@ -11,8 +10,10 @@ using Fallout.Kernel.IO; using Fallout.Kernel.Collections; using Fallout.Kernel; +using Fallout.Infrastructure.CI.AzurePipelines.Configuration; +using Fallout.Common; -namespace Fallout.Common.CI.AzurePipelines; +namespace Fallout.Infrastructure.CI.AzurePipelines; [AttributeUsage(AttributeTargets.Class, AllowMultiple = true)] public class AzurePipelinesAttribute : ChainedConfigurationAttributeBase diff --git a/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesBuildReason.cs b/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesBuildReason.cs index c94bd07e4..d73518023 100644 --- a/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesBuildReason.cs +++ b/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesBuildReason.cs @@ -1,7 +1,7 @@ -using System; +using System; using System.Linq; -namespace Fallout.Common.CI.AzurePipelines; +namespace Fallout.Infrastructure.CI.AzurePipelines; public enum AzurePipelinesBuildReason { diff --git a/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesCachePaths.cs b/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesCachePaths.cs index e6908b071..0f3e1b210 100644 --- a/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesCachePaths.cs +++ b/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesCachePaths.cs @@ -1,7 +1,7 @@ -using System; +using System; using System.Linq; -namespace Fallout.Common.CI.AzurePipelines; +namespace Fallout.Infrastructure.CI.AzurePipelines; // https://docs.microsoft.com/en-us/azure/devops/pipelines/release/caching?view=azure-devops public static class AzurePipelinesCachePaths diff --git a/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesCodeCoverageToolType.cs b/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesCodeCoverageToolType.cs index bc9da2406..8c9685880 100644 --- a/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesCodeCoverageToolType.cs +++ b/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesCodeCoverageToolType.cs @@ -1,7 +1,7 @@ -using System; +using System; using System.Linq; -namespace Fallout.Common.CI.AzurePipelines; +namespace Fallout.Application.CI; public enum AzurePipelinesCodeCoverageToolType { diff --git a/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesImage.cs b/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesImage.cs index bb42aa7df..635f65aa5 100644 --- a/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesImage.cs +++ b/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesImage.cs @@ -2,7 +2,7 @@ using System.Linq; using Fallout.Application.Tooling; -namespace Fallout.Common.CI.AzurePipelines; +namespace Fallout.Infrastructure.CI.AzurePipelines; /// /// See Microsoft-hosted agents diff --git a/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesIssueType.cs b/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesIssueType.cs index 750b376a8..345388e99 100644 --- a/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesIssueType.cs +++ b/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesIssueType.cs @@ -1,7 +1,7 @@ -using System; +using System; using System.Linq; -namespace Fallout.Common.CI.AzurePipelines; +namespace Fallout.Infrastructure.CI.AzurePipelines; public enum AzurePipelinesIssueType { diff --git a/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesJobStatus.cs b/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesJobStatus.cs index 5ce6581d9..e7ef10a1c 100644 --- a/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesJobStatus.cs +++ b/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesJobStatus.cs @@ -1,7 +1,7 @@ -using System; +using System; using System.Linq; -namespace Fallout.Common.CI.AzurePipelines; +namespace Fallout.Infrastructure.CI.AzurePipelines; public enum AzurePipelinesJobStatus { diff --git a/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesRepositoryType.cs b/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesRepositoryType.cs index 498dbada3..1bec24f2b 100644 --- a/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesRepositoryType.cs +++ b/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesRepositoryType.cs @@ -1,7 +1,7 @@ -using System; +using System; using System.Linq; -namespace Fallout.Common.CI.AzurePipelines; +namespace Fallout.Infrastructure.CI.AzurePipelines; public enum AzurePipelinesRepositoryType { diff --git a/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesTestResultsType.cs b/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesTestResultsType.cs index 5c206ee22..056fb6ab9 100644 --- a/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesTestResultsType.cs +++ b/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesTestResultsType.cs @@ -1,7 +1,7 @@ using System; using System.Linq; -namespace Fallout.Common.CI.AzurePipelines; +namespace Fallout.Application.CI; public enum AzurePipelinesTestResultsType { diff --git a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelineCheckoutStep.cs b/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelineCheckoutStep.cs index f7b91f414..3b256daa6 100644 --- a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelineCheckoutStep.cs +++ b/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelineCheckoutStep.cs @@ -1,6 +1,6 @@ using Fallout.Application.Utilities; -namespace Fallout.Common.CI.AzurePipelines.Configuration; +namespace Fallout.Infrastructure.CI.AzurePipelines.Configuration; // https://docs.microsoft.com/en-us/azure/devops/pipelines/repos/pipeline-options-for-git?view=azure-devops&tabs=yaml#checkout-submodules public class AzurePipelineCheckoutStep : AzurePipelinesStep diff --git a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesCacheStep.cs b/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesCacheStep.cs index 02cababc3..19a03e961 100644 --- a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesCacheStep.cs +++ b/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesCacheStep.cs @@ -3,8 +3,9 @@ using Fallout.Application.Utilities; using Fallout.Application.Tooling; using Fallout.Kernel; +using Fallout.Infrastructure.CI.AzurePipelines; -namespace Fallout.Common.CI.AzurePipelines.Configuration; +namespace Fallout.Infrastructure.CI.AzurePipelines.Configuration; // https://docs.microsoft.com/en-us/azure/devops/pipelines/release/caching public class AzurePipelinesCacheStep : AzurePipelinesStep diff --git a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesCmdStep.cs b/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesCmdStep.cs index 7d5a4651a..0650d01cb 100644 --- a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesCmdStep.cs +++ b/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesCmdStep.cs @@ -5,7 +5,7 @@ using Fallout.Kernel; using Fallout.Kernel.Collections; -namespace Fallout.Common.CI.AzurePipelines.Configuration; +namespace Fallout.Infrastructure.CI.AzurePipelines.Configuration; public class AzurePipelinesCmdStep : AzurePipelinesStep { diff --git a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesConfiguration.cs b/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesConfiguration.cs index 924b713f0..3ee18257a 100644 --- a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesConfiguration.cs +++ b/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesConfiguration.cs @@ -2,7 +2,7 @@ using Fallout.Application.Utilities; using Fallout.Kernel.Collections; -namespace Fallout.Common.CI.AzurePipelines.Configuration; +namespace Fallout.Infrastructure.CI.AzurePipelines.Configuration; public class AzurePipelinesConfiguration : ConfigurationEntity { diff --git a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesCustomWriterExtensions.cs b/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesCustomWriterExtensions.cs index d38f858d4..6f5efcaec 100644 --- a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesCustomWriterExtensions.cs +++ b/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesCustomWriterExtensions.cs @@ -3,7 +3,7 @@ using Fallout.Application.Utilities; using Fallout.Kernel; -namespace Fallout.Common.CI.AzurePipelines.Configuration; +namespace Fallout.Infrastructure.CI.AzurePipelines.Configuration; public static class AzurePipelinesCustomWriterExtensions { diff --git a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesDownloadStep.cs b/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesDownloadStep.cs index f7cafd348..a40f3032a 100644 --- a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesDownloadStep.cs +++ b/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesDownloadStep.cs @@ -3,7 +3,7 @@ using Fallout.Application.Utilities; using Fallout.Kernel; -namespace Fallout.Common.CI.AzurePipelines.Configuration; +namespace Fallout.Infrastructure.CI.AzurePipelines.Configuration; public class AzurePipelinesDownloadStep : AzurePipelinesStep { diff --git a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesJob.cs b/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesJob.cs index a1874495d..1764033ed 100644 --- a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesJob.cs +++ b/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesJob.cs @@ -5,8 +5,9 @@ using Fallout.Application.Tooling; using Fallout.Kernel; using Fallout.Kernel.Collections; +using Fallout.Infrastructure.CI.AzurePipelines; -namespace Fallout.Common.CI.AzurePipelines.Configuration; +namespace Fallout.Infrastructure.CI.AzurePipelines.Configuration; public class AzurePipelinesJob : ConfigurationEntity { diff --git a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesPublishStep.cs b/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesPublishStep.cs index 8dcd04ca9..36c8ae90a 100644 --- a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesPublishStep.cs +++ b/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesPublishStep.cs @@ -3,7 +3,7 @@ using Fallout.Application.Utilities; using Fallout.Kernel; -namespace Fallout.Common.CI.AzurePipelines.Configuration; +namespace Fallout.Infrastructure.CI.AzurePipelines.Configuration; public class AzurePipelinesPublishStep : AzurePipelinesStep { diff --git a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesStage.cs b/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesStage.cs index b28bbc14c..785e855dc 100644 --- a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesStage.cs +++ b/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesStage.cs @@ -5,8 +5,9 @@ using Fallout.Application.Tooling; using Fallout.Kernel; using Fallout.Kernel.Collections; +using Fallout.Infrastructure.CI.AzurePipelines; -namespace Fallout.Common.CI.AzurePipelines.Configuration; +namespace Fallout.Infrastructure.CI.AzurePipelines.Configuration; public class AzurePipelinesStage : ConfigurationEntity { diff --git a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesStep.cs b/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesStep.cs index dde174943..1e1670332 100644 --- a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesStep.cs +++ b/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesStep.cs @@ -2,7 +2,7 @@ using System.Linq; using Fallout.Application.CI; -namespace Fallout.Common.CI.AzurePipelines.Configuration; +namespace Fallout.Infrastructure.CI.AzurePipelines.Configuration; public abstract class AzurePipelinesStep : ConfigurationEntity { diff --git a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesVcsPushTrigger.cs b/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesVcsPushTrigger.cs index e3a08bb4c..65759b619 100644 --- a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesVcsPushTrigger.cs +++ b/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesVcsPushTrigger.cs @@ -3,7 +3,7 @@ using Fallout.Application.Utilities; using Fallout.Kernel.Collections; -namespace Fallout.Common.CI.AzurePipelines.Configuration; +namespace Fallout.Infrastructure.CI.AzurePipelines.Configuration; public class AzurePipelinesVcsPushTrigger : ConfigurationEntity { diff --git a/src/Fallout.Common/CI/Bamboo/Bamboo.cs b/src/Fallout.Common/CI/Bamboo/Bamboo.cs index 8afb45267..a51252275 100644 --- a/src/Fallout.Common/CI/Bamboo/Bamboo.cs +++ b/src/Fallout.Common/CI/Bamboo/Bamboo.cs @@ -2,8 +2,9 @@ using System.Diagnostics.CodeAnalysis; using Fallout.Application.CI; using Fallout.Application; +using Fallout.Common; -namespace Fallout.Common.CI.Bamboo; +namespace Fallout.Infrastructure.CI.Bamboo; /// /// Interface according to the official website. diff --git a/src/Fallout.Common/CI/Bitbucket/Bitbucket.cs b/src/Fallout.Common/CI/Bitbucket/Bitbucket.cs index b311a1b41..a3551e25a 100644 --- a/src/Fallout.Common/CI/Bitbucket/Bitbucket.cs +++ b/src/Fallout.Common/CI/Bitbucket/Bitbucket.cs @@ -3,8 +3,9 @@ using System.Linq; using Fallout.Application.CI; using Fallout.Application; +using Fallout.Common; -namespace Fallout.Common.CI.Bitbucket; +namespace Fallout.Infrastructure.CI.Bitbucket; /// /// Interface according to the official website. diff --git a/src/Fallout.Common/CI/Bitrise/Bitrise.cs b/src/Fallout.Common/CI/Bitrise/Bitrise.cs index c51d488c0..681d197c5 100644 --- a/src/Fallout.Common/CI/Bitrise/Bitrise.cs +++ b/src/Fallout.Common/CI/Bitrise/Bitrise.cs @@ -3,8 +3,9 @@ using System.Linq; using Fallout.Application; using Fallout.Application.CI; +using Fallout.Common; -namespace Fallout.Common.CI.Bitrise; +namespace Fallout.Infrastructure.CI.Bitrise; /// /// Interface according to the official website. diff --git a/src/Fallout.Common/CI/CiHostPorts.cs b/src/Fallout.Common/CI/CiHostPorts.cs new file mode 100644 index 000000000..cc0547ee8 --- /dev/null +++ b/src/Fallout.Common/CI/CiHostPorts.cs @@ -0,0 +1,58 @@ +using System.Collections.Generic; +using Fallout.Application; + +namespace Fallout.Application.CI; + +// Application-ring ports for the CI host providers (ADR-0006). Build components and version/coverage +// attributes need provider-specific capabilities (publish test results, push artifacts, set the build +// number, …) but must not depend on the concrete provider classes, which live in the outer +// Fallout.Infrastructure.CI ring. Each provider (AppVeyor, AzurePipelines, TeamCity, GitHubActions — +// subclasses of Host) implements the matching port; the Application ring reaches the current one through +// CiHost, which casts the already-detected Host.Instance to the port (null when not running on that host). +// No registration needed: Host.Instance is the existing detection seam. + +public interface IAppVeyor +{ + string AccountName { get; } + string ProjectSlug { get; } + int BuildId { get; } + int BuildNumber { get; } + string BuildVersion { get; } + string JobId { get; } + void UpdateBuildVersion(string version); + void PushArtifact(string path, string name = null); +} + +public interface IAzurePipelines +{ + string StageDisplayName { get; } + void UpdateBuildNumber(string buildNumber); + void PublishCodeCoverage(AzurePipelinesCodeCoverageToolType coverageTool, string summaryFile, string reportDirectory, params string[] additionalCodeCoverageFiles); + void PublishTestResults(string title, AzurePipelinesTestResultsType type, IEnumerable files, bool? mergeResults = null, string platform = null, string configuration = null, bool? publishRunAttachments = null); +} + +public interface ITeamCity +{ + IReadOnlyDictionary ConfigurationProperties { get; } + bool IsPullRequest { get; } + void SetBuildNumber(string number); + void SetConfigurationParameter(string name, string value); +} + +public interface IGitHubActions +{ + string Token { get; } +} + +/// +/// Typed access to the current CI host as an Application-ring port (null when not running on that host). +/// Casts the detected to the port — the concrete provider lives in +/// Fallout.Infrastructure.CI and implements it. +/// +public static class CiHost +{ + public static IAppVeyor AppVeyor => Host.Instance as IAppVeyor; + public static IAzurePipelines AzurePipelines => Host.Instance as IAzurePipelines; + public static ITeamCity TeamCity => Host.Instance as ITeamCity; + public static IGitHubActions GitHubActions => Host.Instance as IGitHubActions; +} diff --git a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsArtifactStep.cs b/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsArtifactStep.cs index 13c4c94d3..a1d71ea7a 100644 --- a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsArtifactStep.cs +++ b/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsArtifactStep.cs @@ -3,7 +3,7 @@ using Fallout.Application.Utilities; using Fallout.Kernel; -namespace Fallout.Common.CI.GitHubActions.Configuration; +namespace Fallout.Infrastructure.CI.GitHubActions.Configuration; public class GitHubActionsArtifactStep : GitHubActionsStep { diff --git a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsCacheStep.cs b/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsCacheStep.cs index d06b6ce80..e919f5b0a 100644 --- a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsCacheStep.cs +++ b/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsCacheStep.cs @@ -4,7 +4,7 @@ using Fallout.Kernel; using Fallout.Kernel.Collections; -namespace Fallout.Common.CI.GitHubActions.Configuration; +namespace Fallout.Infrastructure.CI.GitHubActions.Configuration; // https://github.com/actions/cache public class GitHubActionsCacheStep : GitHubActionsStep diff --git a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsCheckoutStep.cs b/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsCheckoutStep.cs index ae57b6d6c..5f6f303f5 100644 --- a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsCheckoutStep.cs +++ b/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsCheckoutStep.cs @@ -2,8 +2,9 @@ using System.Linq; using Fallout.Application.Utilities; using Fallout.Kernel; +using Fallout.Infrastructure.CI.GitHubActions; -namespace Fallout.Common.CI.GitHubActions.Configuration; +namespace Fallout.Infrastructure.CI.GitHubActions.Configuration; public class GitHubActionsCheckoutStep : GitHubActionsStep { diff --git a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsConfiguration.cs b/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsConfiguration.cs index a5cada116..32abfe64e 100644 --- a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsConfiguration.cs +++ b/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsConfiguration.cs @@ -4,8 +4,9 @@ using Fallout.Application.Tooling; using Fallout.Kernel; using Fallout.Kernel.Collections; +using Fallout.Infrastructure.CI.GitHubActions; -namespace Fallout.Common.CI.GitHubActions.Configuration; +namespace Fallout.Infrastructure.CI.GitHubActions.Configuration; public class GitHubActionsConfiguration : ConfigurationEntity { diff --git a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsDetailedTrigger.cs b/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsDetailedTrigger.cs index de6fb629f..5e7e18127 100644 --- a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsDetailedTrigger.cs +++ b/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsDetailedTrigger.cs @@ -2,7 +2,7 @@ using System.Linq; using Fallout.Application.CI; -namespace Fallout.Common.CI.GitHubActions.Configuration; +namespace Fallout.Infrastructure.CI.GitHubActions.Configuration; public abstract class GitHubActionsDetailedTrigger : ConfigurationEntity { diff --git a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsJob.cs b/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsJob.cs index 3d2203ce5..5f3d577d9 100644 --- a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsJob.cs +++ b/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsJob.cs @@ -5,8 +5,9 @@ using Fallout.Application.Tooling; using Fallout.Kernel; using Fallout.Kernel.Collections; +using Fallout.Infrastructure.CI.GitHubActions; -namespace Fallout.Common.CI.GitHubActions.Configuration; +namespace Fallout.Infrastructure.CI.GitHubActions.Configuration; public class GitHubActionsJob : ConfigurationEntity { diff --git a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsRunStep.cs b/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsRunStep.cs index 8b6adbf96..d800d72be 100644 --- a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsRunStep.cs +++ b/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsRunStep.cs @@ -3,7 +3,7 @@ using Fallout.Kernel; using Fallout.Kernel.Collections; -namespace Fallout.Common.CI.GitHubActions.Configuration; +namespace Fallout.Infrastructure.CI.GitHubActions.Configuration; public class GitHubActionsRunStep : GitHubActionsStep { diff --git a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsScheduledTrigger.cs b/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsScheduledTrigger.cs index ac52bbb37..a5632efe9 100644 --- a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsScheduledTrigger.cs +++ b/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsScheduledTrigger.cs @@ -2,7 +2,7 @@ using System.Linq; using Fallout.Application.Utilities; -namespace Fallout.Common.CI.GitHubActions.Configuration; +namespace Fallout.Infrastructure.CI.GitHubActions.Configuration; public class GitHubActionsScheduledTrigger : GitHubActionsDetailedTrigger { diff --git a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsStep.cs b/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsStep.cs index 447700cec..2076fb3ae 100644 --- a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsStep.cs +++ b/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsStep.cs @@ -2,7 +2,7 @@ using System.Linq; using Fallout.Application.CI; -namespace Fallout.Common.CI.GitHubActions.Configuration; +namespace Fallout.Infrastructure.CI.GitHubActions.Configuration; public abstract class GitHubActionsStep : ConfigurationEntity { diff --git a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsVcsTrigger.cs b/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsVcsTrigger.cs index 9992b6dab..b67178b82 100644 --- a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsVcsTrigger.cs +++ b/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsVcsTrigger.cs @@ -4,8 +4,9 @@ using Fallout.Application.Tooling; using Fallout.Kernel; using Fallout.Kernel.Collections; +using Fallout.Infrastructure.CI.GitHubActions; -namespace Fallout.Common.CI.GitHubActions.Configuration; +namespace Fallout.Infrastructure.CI.GitHubActions.Configuration; public class GitHubActionsVcsTrigger : GitHubActionsDetailedTrigger { diff --git a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsWorkflowDispatchTrigger.cs b/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsWorkflowDispatchTrigger.cs index 0f5690d33..89500c51c 100644 --- a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsWorkflowDispatchTrigger.cs +++ b/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsWorkflowDispatchTrigger.cs @@ -4,7 +4,7 @@ using Fallout.Kernel; using Fallout.Kernel.Collections; -namespace Fallout.Common.CI.GitHubActions.Configuration; +namespace Fallout.Infrastructure.CI.GitHubActions.Configuration; public class GitHubActionsWorkflowDispatchTrigger : GitHubActionsDetailedTrigger { diff --git a/src/Fallout.Common/CI/GitHubActions/GitHubActions.Client.cs b/src/Fallout.Common/CI/GitHubActions/GitHubActions.Client.cs index 339d81d3c..8d790ee8a 100644 --- a/src/Fallout.Common/CI/GitHubActions/GitHubActions.Client.cs +++ b/src/Fallout.Common/CI/GitHubActions/GitHubActions.Client.cs @@ -5,7 +5,7 @@ using Fallout.Kernel.Net; using Fallout.Kernel; -namespace Fallout.Common.CI.GitHubActions; +namespace Fallout.Infrastructure.CI.GitHubActions; public partial class GitHubActions { diff --git a/src/Fallout.Common/CI/GitHubActions/GitHubActions.Theming.cs b/src/Fallout.Common/CI/GitHubActions/GitHubActions.Theming.cs index 1bcf0ac48..2c95bea07 100644 --- a/src/Fallout.Common/CI/GitHubActions/GitHubActions.Theming.cs +++ b/src/Fallout.Common/CI/GitHubActions/GitHubActions.Theming.cs @@ -2,7 +2,7 @@ using Fallout.Application.Execution.Theming; using Fallout.Kernel; -namespace Fallout.Common.CI.GitHubActions; +namespace Fallout.Infrastructure.CI.GitHubActions; public partial class GitHubActions { diff --git a/src/Fallout.Common/CI/GitHubActions/GitHubActions.cs b/src/Fallout.Common/CI/GitHubActions/GitHubActions.cs index 654431531..59688bf36 100644 --- a/src/Fallout.Common/CI/GitHubActions/GitHubActions.cs +++ b/src/Fallout.Common/CI/GitHubActions/GitHubActions.cs @@ -12,14 +12,15 @@ using Fallout.Application.Tooling; using Fallout.Kernel; using Fallout.Kernel.IO; +using Fallout.Common; -namespace Fallout.Common.CI.GitHubActions; +namespace Fallout.Infrastructure.CI.GitHubActions; /// /// Interface according to the official website. /// [ExcludeFromCodeCoverage] -public partial class GitHubActions : Host, IBuildServer +public partial class GitHubActions : Host, IBuildServer, IGitHubActions { internal static bool IsRunningGitHubActions => EnvironmentInfo.HasVariable("GITHUB_ACTIONS"); diff --git a/src/Fallout.Common/CI/GitHubActions/GitHubActionsAttribute.cs b/src/Fallout.Common/CI/GitHubActions/GitHubActionsAttribute.cs index 55693fd1f..aa2b4fda3 100644 --- a/src/Fallout.Common/CI/GitHubActions/GitHubActionsAttribute.cs +++ b/src/Fallout.Common/CI/GitHubActions/GitHubActionsAttribute.cs @@ -2,7 +2,6 @@ using System.Collections.Generic; using System.IO; using System.Linq; -using Fallout.Common.CI.GitHubActions.Configuration; using Fallout.Application.CI; using Fallout.Application.Utilities; using Fallout.Application.Execution; @@ -10,8 +9,10 @@ using Fallout.Kernel.Collections; using Fallout.Kernel.IO; using Fallout.Kernel; +using Fallout.Infrastructure.CI.GitHubActions.Configuration; +using Fallout.Common; -namespace Fallout.Common.CI.GitHubActions; +namespace Fallout.Infrastructure.CI.GitHubActions; /// /// Interface according to the official website. diff --git a/src/Fallout.Common/CI/GitHubActions/GitHubActionsImage.cs b/src/Fallout.Common/CI/GitHubActions/GitHubActionsImage.cs index 9e6c8011d..7050b0aba 100644 --- a/src/Fallout.Common/CI/GitHubActions/GitHubActionsImage.cs +++ b/src/Fallout.Common/CI/GitHubActions/GitHubActionsImage.cs @@ -2,7 +2,7 @@ using System.Linq; using Fallout.Application.Tooling; -namespace Fallout.Common.CI.GitHubActions; +namespace Fallout.Infrastructure.CI.GitHubActions; /// /// See Virtual environments for GitHub Actions diff --git a/src/Fallout.Common/CI/GitHubActions/GitHubActionsPermissions.cs b/src/Fallout.Common/CI/GitHubActions/GitHubActionsPermissions.cs index 54c48b83b..7fa3cb855 100644 --- a/src/Fallout.Common/CI/GitHubActions/GitHubActionsPermissions.cs +++ b/src/Fallout.Common/CI/GitHubActions/GitHubActionsPermissions.cs @@ -2,7 +2,7 @@ using System.Linq; using Fallout.Application.Tooling; -namespace Fallout.Common.CI.GitHubActions; +namespace Fallout.Infrastructure.CI.GitHubActions; public enum GitHubActionsPermissions { diff --git a/src/Fallout.Common/CI/GitHubActions/GitHubActionsSubmodules.cs b/src/Fallout.Common/CI/GitHubActions/GitHubActionsSubmodules.cs index 7ce5a1594..8ee22fa59 100644 --- a/src/Fallout.Common/CI/GitHubActions/GitHubActionsSubmodules.cs +++ b/src/Fallout.Common/CI/GitHubActions/GitHubActionsSubmodules.cs @@ -1,7 +1,7 @@ using System; using System.Linq; -namespace Fallout.Common.CI.GitHubActions; +namespace Fallout.Infrastructure.CI.GitHubActions; public enum GitHubActionsSubmodules { diff --git a/src/Fallout.Common/CI/GitHubActions/GitHubActionsTrigger.cs b/src/Fallout.Common/CI/GitHubActions/GitHubActionsTrigger.cs index b1e8c2e8b..636c72ce7 100644 --- a/src/Fallout.Common/CI/GitHubActions/GitHubActionsTrigger.cs +++ b/src/Fallout.Common/CI/GitHubActions/GitHubActionsTrigger.cs @@ -2,7 +2,7 @@ using System.Linq; using Fallout.Application.Tooling; -namespace Fallout.Common.CI.GitHubActions; +namespace Fallout.Infrastructure.CI.GitHubActions; public enum GitHubActionsTrigger { diff --git a/src/Fallout.Common/CI/GitLab/GitLab.Theming.cs b/src/Fallout.Common/CI/GitLab/GitLab.Theming.cs index 696aa7af2..59f2589c9 100644 --- a/src/Fallout.Common/CI/GitLab/GitLab.Theming.cs +++ b/src/Fallout.Common/CI/GitLab/GitLab.Theming.cs @@ -2,7 +2,7 @@ using Fallout.Application.Execution.Theming; using Fallout.Kernel; -namespace Fallout.Common.CI.GitLab; +namespace Fallout.Infrastructure.CI.GitLab; public partial class GitLab { diff --git a/src/Fallout.Common/CI/GitLab/GitLab.cs b/src/Fallout.Common/CI/GitLab/GitLab.cs index 52ff49c81..24484f1f1 100644 --- a/src/Fallout.Common/CI/GitLab/GitLab.cs +++ b/src/Fallout.Common/CI/GitLab/GitLab.cs @@ -4,8 +4,9 @@ using Fallout.Application.CI; using Fallout.Application; using Fallout.Kernel; +using Fallout.Common; -namespace Fallout.Common.CI.GitLab; +namespace Fallout.Infrastructure.CI.GitLab; /// /// Interface according to the official website. diff --git a/src/Fallout.Common/CI/GitLab/GitLabProjectVisibility.cs b/src/Fallout.Common/CI/GitLab/GitLabProjectVisibility.cs index 3d7ff8827..e58206a36 100644 --- a/src/Fallout.Common/CI/GitLab/GitLabProjectVisibility.cs +++ b/src/Fallout.Common/CI/GitLab/GitLabProjectVisibility.cs @@ -1,7 +1,7 @@ -using System; +using System; using System.Linq; -namespace Fallout.Common.CI.GitLab; +namespace Fallout.Infrastructure.CI.GitLab; public enum GitLabProjectVisibility { diff --git a/src/Fallout.Common/CI/Jenkins/Jenkins.cs b/src/Fallout.Common/CI/Jenkins/Jenkins.cs index 486f32cd5..45f616634 100644 --- a/src/Fallout.Common/CI/Jenkins/Jenkins.cs +++ b/src/Fallout.Common/CI/Jenkins/Jenkins.cs @@ -3,8 +3,9 @@ using System.Linq; using Fallout.Application.CI; using Fallout.Application; +using Fallout.Common; -namespace Fallout.Common.CI.Jenkins; +namespace Fallout.Infrastructure.CI.Jenkins; /// /// Interface according to the official website. diff --git a/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationConfiguration.cs b/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationConfiguration.cs index 48d1ae97c..b48b7301e 100644 --- a/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationConfiguration.cs +++ b/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationConfiguration.cs @@ -4,7 +4,7 @@ using Fallout.Kernel; using Fallout.Kernel.Collections; -namespace Fallout.Common.CI.SpaceAutomation.Configuration; +namespace Fallout.Infrastructure.CI.SpaceAutomation.Configuration; public class SpaceAutomationConfiguration : ConfigurationEntity { diff --git a/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationContainer.cs b/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationContainer.cs index ca7b513f3..b2ce23877 100644 --- a/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationContainer.cs +++ b/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationContainer.cs @@ -6,7 +6,7 @@ using Fallout.Kernel; using Fallout.Kernel.Collections; -namespace Fallout.Common.CI.SpaceAutomation.Configuration; +namespace Fallout.Infrastructure.CI.SpaceAutomation.Configuration; public class SpaceAutomationContainer : ConfigurationEntity { diff --git a/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationCronScheduleTrigger.cs b/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationCronScheduleTrigger.cs index 6d74c638c..a82cee67e 100644 --- a/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationCronScheduleTrigger.cs +++ b/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationCronScheduleTrigger.cs @@ -3,7 +3,7 @@ using Fallout.Application.Utilities; using Fallout.Kernel; -namespace Fallout.Common.CI.SpaceAutomation.Configuration; +namespace Fallout.Infrastructure.CI.SpaceAutomation.Configuration; public class SpaceAutomationCronScheduleTrigger : SpaceAutomationTrigger { diff --git a/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationCustomWriterExtensions.cs b/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationCustomWriterExtensions.cs index eb6e2a0ad..6b3e5f11d 100644 --- a/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationCustomWriterExtensions.cs +++ b/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationCustomWriterExtensions.cs @@ -3,7 +3,7 @@ using Fallout.Application.Utilities; using Fallout.Kernel; -namespace Fallout.Common.CI.SpaceAutomation.Configuration; +namespace Fallout.Infrastructure.CI.SpaceAutomation.Configuration; public static class SpaceAutomationCustomWriterExtensions { diff --git a/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationPushTrigger.cs b/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationPushTrigger.cs index baa9294b3..1729280f1 100644 --- a/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationPushTrigger.cs +++ b/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationPushTrigger.cs @@ -4,7 +4,7 @@ using Fallout.Kernel; using Fallout.Kernel.Collections; -namespace Fallout.Common.CI.SpaceAutomation.Configuration; +namespace Fallout.Infrastructure.CI.SpaceAutomation.Configuration; public class SpaceAutomationPushTrigger : SpaceAutomationTrigger { diff --git a/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationResources.cs b/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationResources.cs index 0c933aacb..35859051b 100644 --- a/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationResources.cs +++ b/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationResources.cs @@ -3,7 +3,7 @@ using Fallout.Application.CI; using Fallout.Application.Utilities; -namespace Fallout.Common.CI.SpaceAutomation.Configuration; +namespace Fallout.Infrastructure.CI.SpaceAutomation.Configuration; public class SpaceAutomationResources : ConfigurationEntity { diff --git a/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationTrigger.cs b/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationTrigger.cs index 892f42d5b..b457d4afb 100644 --- a/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationTrigger.cs +++ b/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationTrigger.cs @@ -2,7 +2,7 @@ using System.Linq; using Fallout.Application.CI; -namespace Fallout.Common.CI.SpaceAutomation.Configuration; +namespace Fallout.Infrastructure.CI.SpaceAutomation.Configuration; public abstract class SpaceAutomationTrigger : ConfigurationEntity { diff --git a/src/Fallout.Common/CI/SpaceAutomation/SpaceAutomation.Theming.cs b/src/Fallout.Common/CI/SpaceAutomation/SpaceAutomation.Theming.cs index 01dd5d88d..84425c2d4 100644 --- a/src/Fallout.Common/CI/SpaceAutomation/SpaceAutomation.Theming.cs +++ b/src/Fallout.Common/CI/SpaceAutomation/SpaceAutomation.Theming.cs @@ -1,6 +1,6 @@ using Fallout.Application.Execution; -namespace Fallout.Common.CI.SpaceAutomation; +namespace Fallout.Infrastructure.CI.SpaceAutomation; public partial class SpaceAutomation { diff --git a/src/Fallout.Common/CI/SpaceAutomation/SpaceAutomation.cs b/src/Fallout.Common/CI/SpaceAutomation/SpaceAutomation.cs index 026aa34fc..10c4461cc 100644 --- a/src/Fallout.Common/CI/SpaceAutomation/SpaceAutomation.cs +++ b/src/Fallout.Common/CI/SpaceAutomation/SpaceAutomation.cs @@ -3,8 +3,9 @@ using System.Linq; using Fallout.Application.CI; using Fallout.Application; +using Fallout.Common; -namespace Fallout.Common.CI.SpaceAutomation; +namespace Fallout.Infrastructure.CI.SpaceAutomation; /// /// Interface according to the official website. diff --git a/src/Fallout.Common/CI/SpaceAutomation/SpaceAutomationAttribute.cs b/src/Fallout.Common/CI/SpaceAutomation/SpaceAutomationAttribute.cs index ec618b4bc..73ef7ae23 100644 --- a/src/Fallout.Common/CI/SpaceAutomation/SpaceAutomationAttribute.cs +++ b/src/Fallout.Common/CI/SpaceAutomation/SpaceAutomationAttribute.cs @@ -2,14 +2,14 @@ using System.Collections.Generic; using System.IO; using System.Linq; -using Fallout.Common.CI.SpaceAutomation.Configuration; using Fallout.Application.CI; using Fallout.Application.Utilities; using Fallout.Application.Execution; using Fallout.Kernel.IO; using Fallout.Kernel; +using Fallout.Infrastructure.CI.SpaceAutomation.Configuration; -namespace Fallout.Common.CI.SpaceAutomation; +namespace Fallout.Infrastructure.CI.SpaceAutomation; [AttributeUsage(AttributeTargets.Class, AllowMultiple = true)] public class SpaceAutomationAttribute : ConfigurationAttributeBase diff --git a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityArtifactDependency.cs b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityArtifactDependency.cs index aafe1c949..53face862 100644 --- a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityArtifactDependency.cs +++ b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityArtifactDependency.cs @@ -2,7 +2,7 @@ using System.Linq; using Fallout.Application.Utilities; -namespace Fallout.Common.CI.TeamCity.Configuration; +namespace Fallout.Infrastructure.CI.TeamCity.Configuration; public class TeamCityArtifactDependency : TeamCityDependency { diff --git a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityBuildType.cs b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityBuildType.cs index 6e215127f..0eb1b4b74 100644 --- a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityBuildType.cs +++ b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityBuildType.cs @@ -4,7 +4,7 @@ using Fallout.Application.Utilities; using Fallout.Kernel; -namespace Fallout.Common.CI.TeamCity.Configuration; +namespace Fallout.Infrastructure.CI.TeamCity.Configuration; public class TeamCityBuildType : ConfigurationEntity { diff --git a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityBuildTypeVcsRoot.cs b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityBuildTypeVcsRoot.cs index f82dbd266..6714c2734 100644 --- a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityBuildTypeVcsRoot.cs +++ b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityBuildTypeVcsRoot.cs @@ -3,7 +3,7 @@ using Fallout.Application.CI; using Fallout.Application.Utilities; -namespace Fallout.Common.CI.TeamCity.Configuration; +namespace Fallout.Infrastructure.CI.TeamCity.Configuration; public class TeamCityBuildTypeVcsRoot : ConfigurationEntity { diff --git a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityConfiguration.cs b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityConfiguration.cs index 2b3ecf2cd..3e6c29094 100644 --- a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityConfiguration.cs +++ b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityConfiguration.cs @@ -5,7 +5,7 @@ using Fallout.Kernel; using Fallout.Kernel.Collections; -namespace Fallout.Common.CI.TeamCity.Configuration; +namespace Fallout.Infrastructure.CI.TeamCity.Configuration; public class TeamCityConfiguration : ConfigurationEntity { diff --git a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityConfigurationParameter.cs b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityConfigurationParameter.cs index c2adcadb1..435ada31f 100644 --- a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityConfigurationParameter.cs +++ b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityConfigurationParameter.cs @@ -4,7 +4,7 @@ using Fallout.Application.Utilities; using Fallout.Kernel; -namespace Fallout.Common.CI.TeamCity.Configuration; +namespace Fallout.Infrastructure.CI.TeamCity.Configuration; public class TeamCityConfigurationParameter : TeamCityParameter { diff --git a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityCustomWriterExtensions.cs b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityCustomWriterExtensions.cs index d8051c701..469b04b80 100644 --- a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityCustomWriterExtensions.cs +++ b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityCustomWriterExtensions.cs @@ -3,7 +3,7 @@ using Fallout.Application.Utilities; using Fallout.Kernel; -namespace Fallout.Common.CI.TeamCity.Configuration; +namespace Fallout.Infrastructure.CI.TeamCity.Configuration; public static class TeamCityCustomWriterExtensions { diff --git a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityDependency.cs b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityDependency.cs index b083466a1..9b7b3bbf4 100644 --- a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityDependency.cs +++ b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityDependency.cs @@ -2,7 +2,7 @@ using System.Linq; using Fallout.Application.CI; -namespace Fallout.Common.CI.TeamCity.Configuration; +namespace Fallout.Infrastructure.CI.TeamCity.Configuration; public abstract class TeamCityDependency : ConfigurationEntity { diff --git a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityDependencyFailureAction.cs b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityDependencyFailureAction.cs index dfe57f1f2..4ddecedde 100644 --- a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityDependencyFailureAction.cs +++ b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityDependencyFailureAction.cs @@ -1,7 +1,7 @@ using System; using System.Linq; -namespace Fallout.Common.CI.TeamCity.Configuration; +namespace Fallout.Infrastructure.CI.TeamCity.Configuration; public enum TeamCityDependencyFailureAction { diff --git a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityFinishBuildTrigger.cs b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityFinishBuildTrigger.cs index cc6e7ec39..328b4dbee 100644 --- a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityFinishBuildTrigger.cs +++ b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityFinishBuildTrigger.cs @@ -3,7 +3,7 @@ using Fallout.Application.Utilities; using Fallout.Kernel; -namespace Fallout.Common.CI.TeamCity.Configuration; +namespace Fallout.Infrastructure.CI.TeamCity.Configuration; public class TeamCityFinishBuildTrigger : TeamCityTrigger { diff --git a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityKeyValueParameter.cs b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityKeyValueParameter.cs index 88321d0f3..c02b64e3c 100644 --- a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityKeyValueParameter.cs +++ b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityKeyValueParameter.cs @@ -3,7 +3,7 @@ using Fallout.Application.Utilities; using Fallout.Kernel; -namespace Fallout.Common.CI.TeamCity.Configuration; +namespace Fallout.Infrastructure.CI.TeamCity.Configuration; public class TeamCityKeyValueParameter : TeamCityParameter { diff --git a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityParameter.cs b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityParameter.cs index 17392b694..96079cea3 100644 --- a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityParameter.cs +++ b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityParameter.cs @@ -2,7 +2,7 @@ using System.Linq; using Fallout.Application.CI; -namespace Fallout.Common.CI.TeamCity.Configuration; +namespace Fallout.Infrastructure.CI.TeamCity.Configuration; public abstract class TeamCityParameter : ConfigurationEntity { diff --git a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityParameterDisplay.cs b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityParameterDisplay.cs index 24929f333..0b0cfd236 100644 --- a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityParameterDisplay.cs +++ b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityParameterDisplay.cs @@ -1,7 +1,7 @@ using System; using System.Linq; -namespace Fallout.Common.CI.TeamCity.Configuration; +namespace Fallout.Infrastructure.CI.TeamCity.Configuration; public enum TeamCityParameterDisplay { diff --git a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityParameterType.cs b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityParameterType.cs index 940f2c943..7351da2a6 100644 --- a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityParameterType.cs +++ b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityParameterType.cs @@ -1,7 +1,7 @@ using System; using System.Linq; -namespace Fallout.Common.CI.TeamCity.Configuration; +namespace Fallout.Infrastructure.CI.TeamCity.Configuration; public enum TeamCityParameterType { diff --git a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityProject.cs b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityProject.cs index 510e13aa8..52b1079de 100644 --- a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityProject.cs +++ b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityProject.cs @@ -4,7 +4,7 @@ using Fallout.Application.Utilities; using Fallout.Kernel; -namespace Fallout.Common.CI.TeamCity.Configuration; +namespace Fallout.Infrastructure.CI.TeamCity.Configuration; public class TeamCityProject : ConfigurationEntity { diff --git a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityScheduledTrigger.cs b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityScheduledTrigger.cs index 947b46876..6f1cea28d 100644 --- a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityScheduledTrigger.cs +++ b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityScheduledTrigger.cs @@ -2,7 +2,7 @@ using System.Linq; using Fallout.Application.Utilities; -namespace Fallout.Common.CI.TeamCity.Configuration; +namespace Fallout.Infrastructure.CI.TeamCity.Configuration; public class TeamCityScheduledTrigger : TeamCityTrigger { diff --git a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCitySnapshotDependency.cs b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCitySnapshotDependency.cs index e0508ccf2..0655d56e0 100644 --- a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCitySnapshotDependency.cs +++ b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCitySnapshotDependency.cs @@ -3,7 +3,7 @@ using Fallout.Application.Utilities; using Fallout.Kernel; -namespace Fallout.Common.CI.TeamCity.Configuration; +namespace Fallout.Infrastructure.CI.TeamCity.Configuration; public class TeamCitySnapshotDependency : TeamCityDependency { diff --git a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityTrigger.cs b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityTrigger.cs index 8bda89b82..c0dc272e1 100644 --- a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityTrigger.cs +++ b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityTrigger.cs @@ -2,7 +2,7 @@ using System.Linq; using Fallout.Application.CI; -namespace Fallout.Common.CI.TeamCity.Configuration; +namespace Fallout.Infrastructure.CI.TeamCity.Configuration; public abstract class TeamCityTrigger : ConfigurationEntity { diff --git a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityVcsRoot.cs b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityVcsRoot.cs index 44eb80217..e4e16b4f4 100644 --- a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityVcsRoot.cs +++ b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityVcsRoot.cs @@ -3,7 +3,7 @@ using Fallout.Application.CI; using Fallout.Application.Utilities; -namespace Fallout.Common.CI.TeamCity.Configuration; +namespace Fallout.Infrastructure.CI.TeamCity.Configuration; public class TeamCityVcsRoot : ConfigurationEntity { diff --git a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityVcsTrigger.cs b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityVcsTrigger.cs index 55e5f6342..0e11ceed2 100644 --- a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityVcsTrigger.cs +++ b/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityVcsTrigger.cs @@ -2,7 +2,7 @@ using System.Linq; using Fallout.Application.Utilities; -namespace Fallout.Common.CI.TeamCity.Configuration; +namespace Fallout.Infrastructure.CI.TeamCity.Configuration; public class TeamCityVcsTrigger : TeamCityTrigger { diff --git a/src/Fallout.Common/CI/TeamCity/DotNetBuildSettingsExtensions.cs b/src/Fallout.Common/CI/TeamCity/DotNetBuildSettingsExtensions.cs index 1b6f36ba1..db22ee6d3 100644 --- a/src/Fallout.Common/CI/TeamCity/DotNetBuildSettingsExtensions.cs +++ b/src/Fallout.Common/CI/TeamCity/DotNetBuildSettingsExtensions.cs @@ -3,8 +3,9 @@ using Fallout.Application.Tools.DotNet; using Fallout.Infrastructure.Tooling; using Fallout.Kernel.IO; +using Fallout.Common; -namespace Fallout.Common.CI.TeamCity; +namespace Fallout.Infrastructure.CI.TeamCity; public static class DotNetBuildSettingsExtensions { diff --git a/src/Fallout.Common/CI/TeamCity/DotNetTestSettingsExtensions.cs b/src/Fallout.Common/CI/TeamCity/DotNetTestSettingsExtensions.cs index 1a565e31d..010f54bee 100644 --- a/src/Fallout.Common/CI/TeamCity/DotNetTestSettingsExtensions.cs +++ b/src/Fallout.Common/CI/TeamCity/DotNetTestSettingsExtensions.cs @@ -3,8 +3,9 @@ using Fallout.Application.Tools.DotNet; using Fallout.Infrastructure.Tooling; using Fallout.Kernel.IO; +using Fallout.Common; -namespace Fallout.Common.CI.TeamCity; +namespace Fallout.Infrastructure.CI.TeamCity; public static class DotNetTestSettingsExtensions { diff --git a/src/Fallout.Common/CI/TeamCity/MSBuildSettingsExtensions.cs b/src/Fallout.Common/CI/TeamCity/MSBuildSettingsExtensions.cs index 1ae9ddc13..21a2567ce 100644 --- a/src/Fallout.Common/CI/TeamCity/MSBuildSettingsExtensions.cs +++ b/src/Fallout.Common/CI/TeamCity/MSBuildSettingsExtensions.cs @@ -1,8 +1,9 @@ using System; using System.Linq; using Fallout.Application.Tools.MSBuild; +using Fallout.Common; -namespace Fallout.Common.CI.TeamCity; +namespace Fallout.Infrastructure.CI.TeamCity; public static class MSBuildSettingsExtensions { diff --git a/src/Fallout.Common/CI/TeamCity/TeamCity.Theming.cs b/src/Fallout.Common/CI/TeamCity/TeamCity.Theming.cs index 50e880f29..9ed73072b 100644 --- a/src/Fallout.Common/CI/TeamCity/TeamCity.Theming.cs +++ b/src/Fallout.Common/CI/TeamCity/TeamCity.Theming.cs @@ -3,7 +3,7 @@ using Fallout.Application.Execution; using Fallout.Kernel; -namespace Fallout.Common.CI.TeamCity; +namespace Fallout.Infrastructure.CI.TeamCity; public partial class TeamCity { diff --git a/src/Fallout.Common/CI/TeamCity/TeamCity.cs b/src/Fallout.Common/CI/TeamCity/TeamCity.cs index 546361705..7a65a125c 100644 --- a/src/Fallout.Common/CI/TeamCity/TeamCity.cs +++ b/src/Fallout.Common/CI/TeamCity/TeamCity.cs @@ -11,14 +11,15 @@ using Fallout.Kernel.IO; using Fallout.Kernel; using Fallout.Kernel.Collections; +using Fallout.Common; -namespace Fallout.Common.CI.TeamCity; +namespace Fallout.Infrastructure.CI.TeamCity; /// /// Interface according to the official website. /// [ExcludeFromCodeCoverage] -public partial class TeamCity : Host, IBuildServer +public partial class TeamCity : Host, IBuildServer, ITeamCity { public new static TeamCity Instance => Host.Instance as TeamCity; diff --git a/src/Fallout.Common/CI/TeamCity/TeamCityAttribute.cs b/src/Fallout.Common/CI/TeamCity/TeamCityAttribute.cs index 606e75e76..27b252f47 100644 --- a/src/Fallout.Common/CI/TeamCity/TeamCityAttribute.cs +++ b/src/Fallout.Common/CI/TeamCity/TeamCityAttribute.cs @@ -5,7 +5,6 @@ using System.Linq; using System.Linq.Expressions; using System.Reflection; -using Fallout.Common.CI.TeamCity.Configuration; using Fallout.Solutions; using static Fallout.Kernel.IO.PathConstruction; using Fallout.Application.CI; @@ -16,8 +15,10 @@ using Fallout.Kernel.IO; using Fallout.Kernel.Collections; using Fallout.Kernel; +using Fallout.Infrastructure.CI.TeamCity.Configuration; +using Fallout.Common; -namespace Fallout.Common.CI.TeamCity; +namespace Fallout.Infrastructure.CI.TeamCity; public class TeamCityAttribute : ChainedConfigurationAttributeBase { diff --git a/src/Fallout.Common/CI/TeamCity/TeamCityImportTool.cs b/src/Fallout.Common/CI/TeamCity/TeamCityImportTool.cs index 967f97e28..da96972b8 100644 --- a/src/Fallout.Common/CI/TeamCity/TeamCityImportTool.cs +++ b/src/Fallout.Common/CI/TeamCity/TeamCityImportTool.cs @@ -1,7 +1,7 @@ -using System; +using System; using System.Linq; -namespace Fallout.Common.CI.TeamCity; +namespace Fallout.Infrastructure.CI.TeamCity; public enum TeamCityImportTool { diff --git a/src/Fallout.Common/CI/TeamCity/TeamCityImportType.cs b/src/Fallout.Common/CI/TeamCity/TeamCityImportType.cs index b7d119c28..bb3dec46b 100644 --- a/src/Fallout.Common/CI/TeamCity/TeamCityImportType.cs +++ b/src/Fallout.Common/CI/TeamCity/TeamCityImportType.cs @@ -1,7 +1,7 @@ -using System; +using System; using System.Linq; -namespace Fallout.Common.CI.TeamCity; +namespace Fallout.Infrastructure.CI.TeamCity; public enum TeamCityImportType { diff --git a/src/Fallout.Common/CI/TeamCity/TeamCityNoDataPublishedAction.cs b/src/Fallout.Common/CI/TeamCity/TeamCityNoDataPublishedAction.cs index 1d193fa68..22bde0a92 100644 --- a/src/Fallout.Common/CI/TeamCity/TeamCityNoDataPublishedAction.cs +++ b/src/Fallout.Common/CI/TeamCity/TeamCityNoDataPublishedAction.cs @@ -1,7 +1,7 @@ using System; using System.Linq; -namespace Fallout.Common.CI.TeamCity; +namespace Fallout.Infrastructure.CI.TeamCity; public enum TeamCityNoDataPublishedAction { diff --git a/src/Fallout.Common/CI/TeamCity/TeamCityStatus.cs b/src/Fallout.Common/CI/TeamCity/TeamCityStatus.cs index 69155e424..026900e32 100644 --- a/src/Fallout.Common/CI/TeamCity/TeamCityStatus.cs +++ b/src/Fallout.Common/CI/TeamCity/TeamCityStatus.cs @@ -2,7 +2,7 @@ using System.Diagnostics.CodeAnalysis; using System.Linq; -namespace Fallout.Common.CI.TeamCity; +namespace Fallout.Infrastructure.CI.TeamCity; [SuppressMessage("ReSharper", "InconsistentNaming")] public enum TeamCityStatus diff --git a/src/Fallout.Common/CI/TeamCity/TeamCityTokenAttribute.cs b/src/Fallout.Common/CI/TeamCity/TeamCityTokenAttribute.cs index 397569868..dda909c07 100644 --- a/src/Fallout.Common/CI/TeamCity/TeamCityTokenAttribute.cs +++ b/src/Fallout.Common/CI/TeamCity/TeamCityTokenAttribute.cs @@ -1,7 +1,7 @@ -using System; +using System; using System.Linq; -namespace Fallout.Common.CI.TeamCity; +namespace Fallout.Infrastructure.CI.TeamCity; [AttributeUsage(AttributeTargets.Class, AllowMultiple = true)] public class TeamCityTokenAttribute : Attribute diff --git a/src/Fallout.Common/CI/TravisCI/TravisCI.Theming.cs b/src/Fallout.Common/CI/TravisCI/TravisCI.Theming.cs index a46e66682..9e9739806 100644 --- a/src/Fallout.Common/CI/TravisCI/TravisCI.Theming.cs +++ b/src/Fallout.Common/CI/TravisCI/TravisCI.Theming.cs @@ -1,7 +1,7 @@ using System; using Fallout.Kernel; -namespace Fallout.Common.CI.TravisCI; +namespace Fallout.Infrastructure.CI.TravisCI; public partial class TravisCI { diff --git a/src/Fallout.Common/CI/TravisCI/TravisCI.cs b/src/Fallout.Common/CI/TravisCI/TravisCI.cs index 342438f95..e6f8e7268 100644 --- a/src/Fallout.Common/CI/TravisCI/TravisCI.cs +++ b/src/Fallout.Common/CI/TravisCI/TravisCI.cs @@ -3,8 +3,9 @@ using System.Linq; using Fallout.Application; using Fallout.Application.CI; +using Fallout.Common; -namespace Fallout.Common.CI.TravisCI; +namespace Fallout.Infrastructure.CI.TravisCI; /// /// Interface according to the official website. diff --git a/src/Fallout.Common/CI/TravisCI/TravisCIEventType.cs b/src/Fallout.Common/CI/TravisCI/TravisCIEventType.cs index e5cb6e562..f40c79b1b 100644 --- a/src/Fallout.Common/CI/TravisCI/TravisCIEventType.cs +++ b/src/Fallout.Common/CI/TravisCI/TravisCIEventType.cs @@ -1,9 +1,9 @@ -using System; +using System; using System.Linq; // ReSharper disable InconsistentNaming -namespace Fallout.Common.CI.TravisCI; +namespace Fallout.Infrastructure.CI.TravisCI; public enum TravisCIEventType { diff --git a/src/Fallout.Common/Tools/DotCover/TeamCitySetDotCoverHomePathAttribute.cs b/src/Fallout.Common/Tools/DotCover/TeamCitySetDotCoverHomePathAttribute.cs index 194476ed8..fe5a7c91e 100644 --- a/src/Fallout.Common/Tools/DotCover/TeamCitySetDotCoverHomePathAttribute.cs +++ b/src/Fallout.Common/Tools/DotCover/TeamCitySetDotCoverHomePathAttribute.cs @@ -1,9 +1,9 @@ using System; using System.Collections.Generic; using System.Linq; -using Fallout.Common.CI.TeamCity; using Fallout.Application.Execution; +using Fallout.Application.CI; namespace Fallout.Application.Tools.DotCover; public class TeamCitySetDotCoverHomePathAttribute : BuildExtensionAttributeBase, IOnBuildInitialized @@ -12,6 +12,6 @@ public void OnBuildInitialized( IReadOnlyCollection executableTargets, IReadOnlyCollection executionPlan) { - TeamCity.Instance?.SetConfigurationParameter("teamcity.dotCover.home", DotCoverTasks.DotCoverPath); + CiHost.TeamCity?.SetConfigurationParameter("teamcity.dotCover.home", DotCoverTasks.DotCoverPath); } } diff --git a/src/Fallout.Common/Tools/GitVersion/GitVersionAttribute.cs b/src/Fallout.Common/Tools/GitVersion/GitVersionAttribute.cs index e1a740c23..103461d61 100644 --- a/src/Fallout.Common/Tools/GitVersion/GitVersionAttribute.cs +++ b/src/Fallout.Common/Tools/GitVersion/GitVersionAttribute.cs @@ -1,9 +1,6 @@ using System; using System.Linq; using System.Reflection; -using Fallout.Common.CI.AppVeyor; -using Fallout.Common.CI.AzurePipelines; -using Fallout.Common.CI.TeamCity; using Serilog; using static Fallout.Application.ControlFlow; using Fallout.Application; @@ -13,6 +10,7 @@ using Fallout.Common; using Fallout.Kernel; +using Fallout.Application.CI; namespace Fallout.Application.Tools.GitVersion; /// @@ -46,17 +44,17 @@ public override object GetValue(MemberInfo member, object instance) .SetNoCache(NoCache) .DisableProcessOutputLogging() .SetUpdateAssemblyInfo(UpdateAssemblyInfo) - .When(TeamCity.Instance is { IsPullRequest: true } && !EnvironmentInfo.Variables.ContainsKey("Git_Branch"), _ => _ + .When(CiHost.TeamCity is { IsPullRequest: true } && !EnvironmentInfo.Variables.ContainsKey("Git_Branch"), _ => _ .AddProcessEnvironmentVariable( "Git_Branch", - TeamCity.Instance.ConfigurationProperties.Single(x => x.Key.StartsWith("teamcity.build.vcs.branch")).Value))) + CiHost.TeamCity.ConfigurationProperties.Single(x => x.Key.StartsWith("teamcity.build.vcs.branch")).Value))) .Result; if (UpdateBuildNumber) { - AzurePipelines.Instance?.UpdateBuildNumber(gitVersion.FullSemVer); - TeamCity.Instance?.SetBuildNumber(gitVersion.FullSemVer); - AppVeyor.Instance?.UpdateBuildVersion($"{gitVersion.FullSemVer}.build.{AppVeyor.Instance.BuildNumber}"); + CiHost.AzurePipelines?.UpdateBuildNumber(gitVersion.FullSemVer); + CiHost.TeamCity?.SetBuildNumber(gitVersion.FullSemVer); + CiHost.AppVeyor?.UpdateBuildVersion($"{gitVersion.FullSemVer}.build.{CiHost.AppVeyor.BuildNumber}"); } return gitVersion; diff --git a/src/Fallout.Common/Tools/MinVer/MinVerAttribute.cs b/src/Fallout.Common/Tools/MinVer/MinVerAttribute.cs index d4229632f..2bfda4bc8 100644 --- a/src/Fallout.Common/Tools/MinVer/MinVerAttribute.cs +++ b/src/Fallout.Common/Tools/MinVer/MinVerAttribute.cs @@ -1,12 +1,10 @@ using System; using System.Linq; using System.Reflection; -using Fallout.Common.CI.AppVeyor; -using Fallout.Common.CI.AzurePipelines; -using Fallout.Common.CI.TeamCity; using Fallout.Application.ValueInjection; using Fallout.Application.Tooling; +using Fallout.Application.CI; namespace Fallout.Application.Tools.MinVer; /// @@ -26,9 +24,9 @@ public override object GetValue(MemberInfo member, object instance) if (UpdateBuildNumber) { - AzurePipelines.Instance?.UpdateBuildNumber(version.Version); - TeamCity.Instance?.SetBuildNumber(version.Version); - AppVeyor.Instance?.UpdateBuildVersion(version.Version); + CiHost.AzurePipelines?.UpdateBuildNumber(version.Version); + CiHost.TeamCity?.SetBuildNumber(version.Version); + CiHost.AppVeyor?.UpdateBuildVersion(version.Version); } return version; diff --git a/src/Fallout.Common/Tools/NerdbankGitVersioning/NerdbankGitVersioningAttribute.cs b/src/Fallout.Common/Tools/NerdbankGitVersioning/NerdbankGitVersioningAttribute.cs index c15391fd0..650525815 100644 --- a/src/Fallout.Common/Tools/NerdbankGitVersioning/NerdbankGitVersioningAttribute.cs +++ b/src/Fallout.Common/Tools/NerdbankGitVersioning/NerdbankGitVersioningAttribute.cs @@ -1,11 +1,9 @@ using System; using System.Reflection; -using Fallout.Common.CI.AppVeyor; -using Fallout.Common.CI.AzurePipelines; -using Fallout.Common.CI.TeamCity; using Fallout.Application.ValueInjection; using Fallout.Application.Tooling; +using Fallout.Application.CI; namespace Fallout.Application.Tools.NerdbankGitVersioning; /// @@ -24,9 +22,9 @@ public override object GetValue(MemberInfo member, object instance) if (UpdateBuildNumber) { - AzurePipelines.Instance?.UpdateBuildNumber(version.SemVer2); - TeamCity.Instance?.SetBuildNumber(version.SemVer2); - AppVeyor.Instance?.UpdateBuildVersion($"{version.SemVer2}.build.{AppVeyor.Instance.BuildNumber}"); + CiHost.AzurePipelines?.UpdateBuildNumber(version.SemVer2); + CiHost.TeamCity?.SetBuildNumber(version.SemVer2); + CiHost.AppVeyor?.UpdateBuildVersion($"{version.SemVer2}.build.{CiHost.AppVeyor.BuildNumber}"); } return version; diff --git a/src/Fallout.Common/Tools/OctoVersion/OctoVersionAttribute.cs b/src/Fallout.Common/Tools/OctoVersion/OctoVersionAttribute.cs index b1deeea45..9f275186b 100644 --- a/src/Fallout.Common/Tools/OctoVersion/OctoVersionAttribute.cs +++ b/src/Fallout.Common/Tools/OctoVersion/OctoVersionAttribute.cs @@ -1,9 +1,6 @@ using System; using System.Linq; using System.Reflection; -using Fallout.Common.CI.AppVeyor; -using Fallout.Common.CI.AzurePipelines; -using Fallout.Common.CI.TeamCity; using Fallout.Application.ValueInjection; using Fallout.Application.Git; using Fallout.Application; @@ -12,6 +9,7 @@ using Fallout.Kernel; using Fallout.Kernel.IO; +using Fallout.Application.CI; namespace Fallout.Application.Tools.OctoVersion; /// @@ -150,9 +148,9 @@ public override object GetValue(MemberInfo member, object instance) if (UpdateBuildNumber) { - AzurePipelines.Instance?.UpdateBuildNumber(version.FullSemVer); - TeamCity.Instance?.SetBuildNumber(version.FullSemVer); - AppVeyor.Instance?.UpdateBuildVersion(version.FullSemVer); + CiHost.AzurePipelines?.UpdateBuildNumber(version.FullSemVer); + CiHost.TeamCity?.SetBuildNumber(version.FullSemVer); + CiHost.AppVeyor?.UpdateBuildVersion(version.FullSemVer); } return version; diff --git a/src/Fallout.Common/Tools/SignPath/SignPathTasks.cs b/src/Fallout.Common/Tools/SignPath/SignPathTasks.cs index dcea6e50b..156c51ce2 100644 --- a/src/Fallout.Common/Tools/SignPath/SignPathTasks.cs +++ b/src/Fallout.Common/Tools/SignPath/SignPathTasks.cs @@ -7,7 +7,6 @@ using System.Text; using System.Text.Json.Nodes; using System.Threading.Tasks; -using Fallout.Common.CI.AppVeyor; using Serilog; using static Fallout.Application.ControlFlow; using Fallout.Application; @@ -15,6 +14,7 @@ using Fallout.Kernel; using Fallout.Kernel.IO; +using Fallout.Application.CI; namespace Fallout.Application.Tools.SignPath; public static class SignPathTasks @@ -58,11 +58,11 @@ public static async Task GetSigningRequestUrlViaAppVeyor( var contentType = "application/json"; var content = new { - AppVeyor.Instance.AccountName, - AppVeyor.Instance.ProjectSlug, - AppVeyor.Instance.BuildVersion, - AppVeyor.Instance.BuildId, - AppVeyor.Instance.JobId + CiHost.AppVeyor.AccountName, + CiHost.AppVeyor.ProjectSlug, + CiHost.AppVeyor.BuildVersion, + CiHost.AppVeyor.BuildId, + CiHost.AppVeyor.JobId }; using var httpClient = CreateAuthorizedHttpClient(authToken, DefaultHttpClientTimeout); diff --git a/src/Fallout.Components/ICreateGitHubRelease.cs b/src/Fallout.Components/ICreateGitHubRelease.cs index 9fa776e89..f0fc070ed 100644 --- a/src/Fallout.Components/ICreateGitHubRelease.cs +++ b/src/Fallout.Components/ICreateGitHubRelease.cs @@ -5,13 +5,13 @@ using System.Threading.Tasks; using Fallout.Common; using Fallout.Common.ChangeLog; -using Fallout.Common.CI.GitHubActions; using Octokit; using Fallout.Application; using Fallout.Application.Tools.GitHub; using Fallout.Kernel.IO; using Fallout.Kernel; +using Fallout.Application.CI; namespace Fallout.Application.Components; [ParameterPrefix(GitHubRelease)] @@ -19,7 +19,7 @@ public interface ICreateGitHubRelease : IHasGitRepository, IHasChangelog { public const string GitHubRelease = nameof(GitHubRelease); - [Parameter] [Secret] string GitHubToken => TryGetValue(() => GitHubToken) ?? GitHubActions.Instance?.Token; + [Parameter] [Secret] string GitHubToken => TryGetValue(() => GitHubToken) ?? CiHost.GitHubActions?.Token; string Name { get; } bool Prerelease => false; diff --git a/src/Fallout.Components/IReportCoverage.cs b/src/Fallout.Components/IReportCoverage.cs index cbf97762a..eb476c470 100644 --- a/src/Fallout.Components/IReportCoverage.cs +++ b/src/Fallout.Components/IReportCoverage.cs @@ -1,7 +1,6 @@ using System; using System.IO; using System.Linq; -using Fallout.Common.CI.AzurePipelines; using static Fallout.Application.Tools.Codecov.CodecovTasks; using static Fallout.Application.Tools.ReportGenerator.ReportGeneratorTasks; using Fallout.Application; @@ -12,6 +11,7 @@ using Fallout.Kernel; using Fallout.Kernel.Collections; +using Fallout.Application.CI; namespace Fallout.Application.Components; public interface IReportCoverage : ITest, IHasReports, IHasGitRepository @@ -72,7 +72,7 @@ public interface IReportCoverage : ITest, IHasReports, IHasGitRepository void UploadCoverageData() { TestResultDirectory.GlobFiles("*.xml").ForEach(x => - AzurePipelines.Instance?.PublishCodeCoverage( + CiHost.AzurePipelines?.PublishCodeCoverage( AzurePipelinesCodeCoverageToolType.Cobertura, x, CoverageReportDirectory)); diff --git a/src/Fallout.Components/ISignPackages.cs b/src/Fallout.Components/ISignPackages.cs index cc2ac668d..8a88fa97c 100644 --- a/src/Fallout.Components/ISignPackages.cs +++ b/src/Fallout.Components/ISignPackages.cs @@ -2,13 +2,13 @@ using System.Collections.Generic; using System.IO; using System.Linq; -using Fallout.Common.CI.AppVeyor; using static Fallout.Application.Tools.SignPath.SignPathTasks; using Fallout.Application; using Fallout.Application.Tools.SignPath; using Fallout.Kernel.IO; using Fallout.Kernel.Collections; +using Fallout.Application.CI; namespace Fallout.Application.Components; /// @@ -63,7 +63,7 @@ public record SignPathSettings( IEnumerable SignPathPackages { get; } bool SignPathReplacePackages => true; - private AppVeyor AppVeyor => AppVeyor.Instance; + private IAppVeyor AppVeyor => CiHost.AppVeyor; Target SignPackages => _ => _ .TryDependsOn() diff --git a/src/Fallout.Components/ITest.cs b/src/Fallout.Components/ITest.cs index 8c9a5133f..4b2b666da 100644 --- a/src/Fallout.Components/ITest.cs +++ b/src/Fallout.Components/ITest.cs @@ -2,9 +2,6 @@ using System.Collections.Generic; using System.IO; using System.Linq; -using Fallout.Common.CI.AzurePipelines; -using Fallout.Common.CI.GitHubActions; -using Fallout.Common.CI.TeamCity; using Fallout.Solutions; using static Fallout.Application.Tools.DotNet.DotNetTasks; using Fallout.Application; @@ -15,6 +12,7 @@ using Fallout.Kernel.Collections; using Fallout.Kernel; +using Fallout.Application.CI; namespace Fallout.Application.Components; public interface ITest : ICompile, IHasArtifacts @@ -50,9 +48,9 @@ public interface ITest : ICompile, IHasArtifacts void ReportTestResults() { TestResultDirectory.GlobFiles("*.trx").ForEach(x => - AzurePipelines.Instance?.PublishTestResults( + CiHost.AzurePipelines?.PublishTestResults( type: AzurePipelinesTestResultsType.VSTest, - title: $"{Path.GetFileNameWithoutExtension(x)} ({AzurePipelines.Instance.StageDisplayName})", + title: $"{Path.GetFileNameWithoutExtension(x)} ({CiHost.AzurePipelines.StageDisplayName})", files: new string[] { x })); } @@ -87,7 +85,7 @@ IEnumerable GetOutcomes(AbsolutePath file) .EnableCollectCoverage() .SetCoverletOutputFormat(CoverletOutputFormat.cobertura) .SetExcludeByFile("*.Generated.cs") - .When(TeamCity.Instance is not null, _ => _ + .When(CiHost.TeamCity is not null, _ => _ .SetCoverletOutputFormat($"\\\"{CoverletOutputFormat.cobertura},{CoverletOutputFormat.teamcity}\\\"")) .When(IsServerBuild, _ => _ .EnableUseSourceLink())); @@ -95,10 +93,10 @@ IEnumerable GetOutcomes(AbsolutePath file) sealed Configure TestProjectSettingsBase => (_, v) => _ .SetProjectFile(v) // https://github.com/Tyrrrz/GitHubActionsTestLogger - .When(GitHubActions.Instance is not null && v.HasPackageReference("GitHubActionsTestLogger"), _ => _ + .When(CiHost.GitHubActions is not null && v.HasPackageReference("GitHubActionsTestLogger"), _ => _ .AddLoggers("GitHubActions;report-warnings=false")) // https://github.com/JetBrains/TeamCity.VSTest.TestAdapter - .When(TeamCity.Instance is not null && v.HasPackageReference("TeamCity.VSTest.TestAdapter"), _ => _ + .When(CiHost.TeamCity is not null && v.HasPackageReference("TeamCity.VSTest.TestAdapter"), _ => _ .AddLoggers("TeamCity") // https://github.com/xunit/visualstudio.xunit/pull/108 .AddRunSetting("RunConfiguration.NoAutoReporters", bool.TrueString)) diff --git a/src/Shims/Nuke.Common/CI/AppVeyor/AppVeyor.cs b/src/Shims/Nuke.Common/CI/AppVeyor/AppVeyor.cs index dcb0a5a9b..7bce6d69d 100644 --- a/src/Shims/Nuke.Common/CI/AppVeyor/AppVeyor.cs +++ b/src/Shims/Nuke.Common/CI/AppVeyor/AppVeyor.cs @@ -1,3 +1,4 @@ +using Fallout.Infrastructure.CI.AppVeyor; // Hand-written transition shim for the framework-injected CI host singleton. // The TransitionShimGenerator can't bridge these because consumers receive // canonical-typed instances from Host.Instance (which can't be cast to a shim @@ -10,12 +11,12 @@ namespace Nuke.Common.CI.AppVeyor; public static class AppVeyor { - public static global::Fallout.Common.CI.AppVeyor.AppVeyor Instance - => global::Fallout.Common.CI.AppVeyor.AppVeyor.Instance; + public static global::Fallout.Infrastructure.CI.AppVeyor.AppVeyor Instance + => global::Fallout.Infrastructure.CI.AppVeyor.AppVeyor.Instance; public static int MessageLimit { - get => global::Fallout.Common.CI.AppVeyor.AppVeyor.MessageLimit; - set => global::Fallout.Common.CI.AppVeyor.AppVeyor.MessageLimit = value; + get => global::Fallout.Infrastructure.CI.AppVeyor.AppVeyor.MessageLimit; + set => global::Fallout.Infrastructure.CI.AppVeyor.AppVeyor.MessageLimit = value; } } diff --git a/src/Shims/Nuke.Common/CI/AzurePipelines/AzurePipelines.cs b/src/Shims/Nuke.Common/CI/AzurePipelines/AzurePipelines.cs index e84165af5..33d6bd0fb 100644 --- a/src/Shims/Nuke.Common/CI/AzurePipelines/AzurePipelines.cs +++ b/src/Shims/Nuke.Common/CI/AzurePipelines/AzurePipelines.cs @@ -1,3 +1,4 @@ +using Fallout.Infrastructure.CI.AzurePipelines; // Hand-written transition shim for the framework-injected CI host singleton. // See src/Shims/Nuke.Common/CI/AppVeyor/AppVeyor.cs for the rationale shared // across all CI host shims. @@ -6,6 +7,6 @@ namespace Nuke.Common.CI.AzurePipelines; public static class AzurePipelines { - public static global::Fallout.Common.CI.AzurePipelines.AzurePipelines Instance - => global::Fallout.Common.CI.AzurePipelines.AzurePipelines.Instance; + public static global::Fallout.Infrastructure.CI.AzurePipelines.AzurePipelines Instance + => global::Fallout.Infrastructure.CI.AzurePipelines.AzurePipelines.Instance; } diff --git a/src/Shims/Nuke.Common/CI/Bamboo/Bamboo.cs b/src/Shims/Nuke.Common/CI/Bamboo/Bamboo.cs index b13fa265c..3af8a4199 100644 --- a/src/Shims/Nuke.Common/CI/Bamboo/Bamboo.cs +++ b/src/Shims/Nuke.Common/CI/Bamboo/Bamboo.cs @@ -1,3 +1,4 @@ +using Fallout.Infrastructure.CI.Bamboo; // Hand-written transition shim for the framework-injected CI host singleton. // See src/Shims/Nuke.Common/CI/AppVeyor/AppVeyor.cs for the rationale shared // across all CI host shims. @@ -6,6 +7,6 @@ namespace Nuke.Common.CI.Bamboo; public static class Bamboo { - public static global::Fallout.Common.CI.Bamboo.Bamboo Instance - => global::Fallout.Common.CI.Bamboo.Bamboo.Instance; + public static global::Fallout.Infrastructure.CI.Bamboo.Bamboo Instance + => global::Fallout.Infrastructure.CI.Bamboo.Bamboo.Instance; } diff --git a/src/Shims/Nuke.Common/CI/Bitbucket/Bitbucket.cs b/src/Shims/Nuke.Common/CI/Bitbucket/Bitbucket.cs index 0a9aeef82..b7ad5eefa 100644 --- a/src/Shims/Nuke.Common/CI/Bitbucket/Bitbucket.cs +++ b/src/Shims/Nuke.Common/CI/Bitbucket/Bitbucket.cs @@ -1,3 +1,4 @@ +using Fallout.Infrastructure.CI.Bitbucket; // Hand-written transition shim for the framework-injected CI host singleton. // See src/Shims/Nuke.Common/CI/AppVeyor/AppVeyor.cs for the rationale shared // across all CI host shims. @@ -6,6 +7,6 @@ namespace Nuke.Common.CI.Bitbucket; public static class Bitbucket { - public static global::Fallout.Common.CI.Bitbucket.Bitbucket Instance - => global::Fallout.Common.CI.Bitbucket.Bitbucket.Instance; + public static global::Fallout.Infrastructure.CI.Bitbucket.Bitbucket Instance + => global::Fallout.Infrastructure.CI.Bitbucket.Bitbucket.Instance; } diff --git a/src/Shims/Nuke.Common/CI/Bitrise/Bitrise.cs b/src/Shims/Nuke.Common/CI/Bitrise/Bitrise.cs index 91b4c8773..a24b4b0a4 100644 --- a/src/Shims/Nuke.Common/CI/Bitrise/Bitrise.cs +++ b/src/Shims/Nuke.Common/CI/Bitrise/Bitrise.cs @@ -1,3 +1,4 @@ +using Fallout.Infrastructure.CI.Bitrise; // Hand-written transition shim for the framework-injected CI host singleton. // See src/Shims/Nuke.Common/CI/AppVeyor/AppVeyor.cs for the rationale shared // across all CI host shims. @@ -6,6 +7,6 @@ namespace Nuke.Common.CI.Bitrise; public static class Bitrise { - public static global::Fallout.Common.CI.Bitrise.Bitrise Instance - => global::Fallout.Common.CI.Bitrise.Bitrise.Instance; + public static global::Fallout.Infrastructure.CI.Bitrise.Bitrise Instance + => global::Fallout.Infrastructure.CI.Bitrise.Bitrise.Instance; } diff --git a/src/Shims/Nuke.Common/CI/GitHubActions/GitHubActions.cs b/src/Shims/Nuke.Common/CI/GitHubActions/GitHubActions.cs index a6fa845e7..e3790ebd7 100644 --- a/src/Shims/Nuke.Common/CI/GitHubActions/GitHubActions.cs +++ b/src/Shims/Nuke.Common/CI/GitHubActions/GitHubActions.cs @@ -1,3 +1,4 @@ +using Fallout.Infrastructure.CI.GitHubActions; // Hand-written transition shim for the framework-injected CI host singleton. // See src/Shims/Nuke.Common/CI/AppVeyor/AppVeyor.cs for the rationale shared // across all CI host shims. @@ -6,6 +7,6 @@ namespace Nuke.Common.CI.GitHubActions; public static class GitHubActions { - public static global::Fallout.Common.CI.GitHubActions.GitHubActions Instance - => global::Fallout.Common.CI.GitHubActions.GitHubActions.Instance; + public static global::Fallout.Infrastructure.CI.GitHubActions.GitHubActions Instance + => global::Fallout.Infrastructure.CI.GitHubActions.GitHubActions.Instance; } diff --git a/src/Shims/Nuke.Common/CI/GitLab/GitLab.cs b/src/Shims/Nuke.Common/CI/GitLab/GitLab.cs index c21b46478..e710796ab 100644 --- a/src/Shims/Nuke.Common/CI/GitLab/GitLab.cs +++ b/src/Shims/Nuke.Common/CI/GitLab/GitLab.cs @@ -1,3 +1,4 @@ +using Fallout.Infrastructure.CI.GitLab; // Hand-written transition shim for the framework-injected CI host singleton. // See src/Shims/Nuke.Common/CI/AppVeyor/AppVeyor.cs for the rationale shared // across all CI host shims. @@ -6,6 +7,6 @@ namespace Nuke.Common.CI.GitLab; public static class GitLab { - public static global::Fallout.Common.CI.GitLab.GitLab Instance - => global::Fallout.Common.CI.GitLab.GitLab.Instance; + public static global::Fallout.Infrastructure.CI.GitLab.GitLab Instance + => global::Fallout.Infrastructure.CI.GitLab.GitLab.Instance; } diff --git a/src/Shims/Nuke.Common/CI/Jenkins/Jenkins.cs b/src/Shims/Nuke.Common/CI/Jenkins/Jenkins.cs index 645cdee85..c2f3aaddf 100644 --- a/src/Shims/Nuke.Common/CI/Jenkins/Jenkins.cs +++ b/src/Shims/Nuke.Common/CI/Jenkins/Jenkins.cs @@ -1,3 +1,4 @@ +using Fallout.Infrastructure.CI.Jenkins; // Hand-written transition shim for the framework-injected CI host singleton. // See src/Shims/Nuke.Common/CI/AppVeyor/AppVeyor.cs for the rationale shared // across all CI host shims. @@ -6,6 +7,6 @@ namespace Nuke.Common.CI.Jenkins; public static class Jenkins { - public static global::Fallout.Common.CI.Jenkins.Jenkins Instance - => global::Fallout.Common.CI.Jenkins.Jenkins.Instance; + public static global::Fallout.Infrastructure.CI.Jenkins.Jenkins Instance + => global::Fallout.Infrastructure.CI.Jenkins.Jenkins.Instance; } diff --git a/src/Shims/Nuke.Common/CI/TeamCity/TeamCity.cs b/src/Shims/Nuke.Common/CI/TeamCity/TeamCity.cs index 9a80ef75b..e6d6dbcae 100644 --- a/src/Shims/Nuke.Common/CI/TeamCity/TeamCity.cs +++ b/src/Shims/Nuke.Common/CI/TeamCity/TeamCity.cs @@ -1,3 +1,4 @@ +using Fallout.Infrastructure.CI.TeamCity; // Hand-written transition shim for the framework-injected CI host singleton. // See src/Shims/Nuke.Common/CI/AppVeyor/AppVeyor.cs for the rationale shared // across all CI host shims. @@ -6,6 +7,6 @@ namespace Nuke.Common.CI.TeamCity; public static class TeamCity { - public static global::Fallout.Common.CI.TeamCity.TeamCity Instance - => global::Fallout.Common.CI.TeamCity.TeamCity.Instance; + public static global::Fallout.Infrastructure.CI.TeamCity.TeamCity Instance + => global::Fallout.Infrastructure.CI.TeamCity.TeamCity.Instance; } diff --git a/src/Shims/Nuke.Common/CI/TravisCI/TravisCI.cs b/src/Shims/Nuke.Common/CI/TravisCI/TravisCI.cs index 59928cf63..6a3187fdb 100644 --- a/src/Shims/Nuke.Common/CI/TravisCI/TravisCI.cs +++ b/src/Shims/Nuke.Common/CI/TravisCI/TravisCI.cs @@ -1,3 +1,4 @@ +using Fallout.Infrastructure.CI.TravisCI; // Hand-written transition shim for the framework-injected CI host singleton. // See src/Shims/Nuke.Common/CI/AppVeyor/AppVeyor.cs for the rationale shared // across all CI host shims. @@ -6,6 +7,6 @@ namespace Nuke.Common.CI.TravisCI; public static class TravisCI { - public static global::Fallout.Common.CI.TravisCI.TravisCI Instance - => global::Fallout.Common.CI.TravisCI.TravisCI.Instance; + public static global::Fallout.Infrastructure.CI.TravisCI.TravisCI Instance + => global::Fallout.Infrastructure.CI.TravisCI.TravisCI.Instance; } diff --git a/tests/Fallout.Common.Tests/CI/ConfigurationGenerationTest.cs b/tests/Fallout.Common.Tests/CI/ConfigurationGenerationTest.cs index 140a588a3..e6a96b97f 100644 --- a/tests/Fallout.Common.Tests/CI/ConfigurationGenerationTest.cs +++ b/tests/Fallout.Common.Tests/CI/ConfigurationGenerationTest.cs @@ -4,10 +4,6 @@ using System.IO; using System.Linq; using System.Threading.Tasks; -using Fallout.Common.CI.AppVeyor; -using Fallout.Common.CI.AzurePipelines; -using Fallout.Common.CI.GitHubActions; -using Fallout.Common.CI.TeamCity; using VerifyXunit; using Xunit; using Fallout.Application.Execution; @@ -15,6 +11,10 @@ using Fallout.Application; using Fallout.Application.Tooling; using Fallout.Kernel.IO; +using Fallout.Infrastructure.CI.AppVeyor; +using Fallout.Infrastructure.CI.TeamCity; +using Fallout.Infrastructure.CI.AzurePipelines; +using Fallout.Infrastructure.CI.GitHubActions; namespace Fallout.Common.Tests.CI; diff --git a/tests/Fallout.Common.Tests/CI/TestAppVeyorAttribute.cs b/tests/Fallout.Common.Tests/CI/TestAppVeyorAttribute.cs index 4f85207a9..37e87c722 100644 --- a/tests/Fallout.Common.Tests/CI/TestAppVeyorAttribute.cs +++ b/tests/Fallout.Common.Tests/CI/TestAppVeyorAttribute.cs @@ -1,7 +1,7 @@ using System; using System.IO; using System.Linq; -using Fallout.Common.CI.AppVeyor; +using Fallout.Infrastructure.CI.AppVeyor; namespace Fallout.Common.Tests.CI; diff --git a/tests/Fallout.Common.Tests/CI/TestAzurePipelinesAttribute.cs b/tests/Fallout.Common.Tests/CI/TestAzurePipelinesAttribute.cs index be6589670..faed18394 100644 --- a/tests/Fallout.Common.Tests/CI/TestAzurePipelinesAttribute.cs +++ b/tests/Fallout.Common.Tests/CI/TestAzurePipelinesAttribute.cs @@ -1,7 +1,7 @@ using System; using System.IO; using System.Linq; -using Fallout.Common.CI.AzurePipelines; +using Fallout.Infrastructure.CI.AzurePipelines; namespace Fallout.Common.Tests.CI; diff --git a/tests/Fallout.Common.Tests/CI/TestGitHubActionsAttribute.cs b/tests/Fallout.Common.Tests/CI/TestGitHubActionsAttribute.cs index b699aa89f..c663cae67 100644 --- a/tests/Fallout.Common.Tests/CI/TestGitHubActionsAttribute.cs +++ b/tests/Fallout.Common.Tests/CI/TestGitHubActionsAttribute.cs @@ -1,7 +1,7 @@ using System; using System.IO; using System.Linq; -using Fallout.Common.CI.GitHubActions; +using Fallout.Infrastructure.CI.GitHubActions; namespace Fallout.Common.Tests.CI; diff --git a/tests/Fallout.Common.Tests/CI/TestSpaceAutomationAttribute.cs b/tests/Fallout.Common.Tests/CI/TestSpaceAutomationAttribute.cs index 6b76fac5b..d495e383b 100644 --- a/tests/Fallout.Common.Tests/CI/TestSpaceAutomationAttribute.cs +++ b/tests/Fallout.Common.Tests/CI/TestSpaceAutomationAttribute.cs @@ -1,7 +1,7 @@ -using System; +using System; using System.IO; using System.Linq; -using Fallout.Common.CI.SpaceAutomation; +using Fallout.Infrastructure.CI.SpaceAutomation; namespace Fallout.Common.Tests.CI; diff --git a/tests/Fallout.Common.Tests/CI/TestTeamCityAttribute.cs b/tests/Fallout.Common.Tests/CI/TestTeamCityAttribute.cs index ea166fec0..626a89669 100644 --- a/tests/Fallout.Common.Tests/CI/TestTeamCityAttribute.cs +++ b/tests/Fallout.Common.Tests/CI/TestTeamCityAttribute.cs @@ -1,7 +1,7 @@ using System; using System.IO; using System.Linq; -using Fallout.Common.CI.TeamCity; +using Fallout.Infrastructure.CI.TeamCity; namespace Fallout.Common.Tests.CI; diff --git a/tests/Fallout.Common.Tests/CITest.cs b/tests/Fallout.Common.Tests/CITest.cs index 44aa6c78d..c0fb35356 100644 --- a/tests/Fallout.Common.Tests/CITest.cs +++ b/tests/Fallout.Common.Tests/CITest.cs @@ -4,15 +4,15 @@ using System.Linq; using System.Reflection; using FluentAssertions; -using Fallout.Common.CI.AppVeyor; -using Fallout.Common.CI.AzurePipelines; -using Fallout.Common.CI.Bitrise; -using Fallout.Common.CI.GitLab; -using Fallout.Common.CI.Jenkins; -using Fallout.Common.CI.TeamCity; -using Fallout.Common.CI.TravisCI; using Xunit; using Fallout.Application.CI; +using Fallout.Infrastructure.CI.AppVeyor; +using Fallout.Infrastructure.CI.Bitrise; +using Fallout.Infrastructure.CI.TeamCity; +using Fallout.Infrastructure.CI.AzurePipelines; +using Fallout.Infrastructure.CI.Jenkins; +using Fallout.Infrastructure.CI.TravisCI; +using Fallout.Infrastructure.CI.GitLab; namespace Fallout.Common.Tests; diff --git a/tools/OnionRewriter/Program.cs b/tools/OnionRewriter/Program.cs index c66ca5ef6..69213a634 100644 --- a/tools/OnionRewriter/Program.cs +++ b/tools/OnionRewriter/Program.cs @@ -23,27 +23,23 @@ static class Runner // across rings type-by-type uses `TypeOverrides` (full-name → target ns), which beats the prefix rule. record struct Rule(string Old, string New, string[] SourceAssemblies); - // Step 5a — Fallout.Kernel: the shared utility/IO layer (pure helpers, collections, reflection, string, - // AbsolutePath + filesystem ops, EnvironmentInfo, globbing, net, compression) moves to Fallout.Kernel.*, - // the innermost shared ring. Wholesale namespace move (no per-type split) — gate-safe since Kernel is - // inner. Pushing the genuinely-EXTERNAL adapters (HTTP/FTP/compression) further out to Infrastructure is - // deferred: the Application ring uses them pervasively, so it needs the same ports call as the - // filesystem API. SourceAssemblies = every project declaring these namespaces. (Physical project rename - // Fallout.Utilities → Fallout.Kernel rides the deferred project-rename step, as with 4a/4b.) - static readonly string[] KernelSources = - [ - "Fallout.Utilities", "Fallout.Common", "Fallout.Utilities.Net", "Fallout.Utilities.Text.Json", - "Fallout.Utilities.IO.Compression", "Fallout.Utilities.IO.Globbing", "Fallout.Utilities.Text.Yaml", - ]; + // Step 5b — CI host providers → Infrastructure. The concrete CI provider classes (AppVeyor, + // AzurePipelines, TeamCity, GitHubActions, … : Host) and their config generators move from + // Fallout.Common.CI.* to Fallout.Infrastructure.CI.*. The Application ring reaches the provider-specific + // capabilities it needs through ports (IAppVeyor/IAzurePipelines/ITeamCity/IGitHubActions + CiHost) that + // were added in Fallout.Application.CI; consumers were already rewritten to CiHost, so this move doesn't + // add any Infrastructure using to the Application ring (gate stays green). The two enums the port methods + // expose are vocabulary → Fallout.Application.CI (per-type override). static readonly Rule[] Rules = [ - new("Fallout.Common.Utilities", "Fallout.Kernel", KernelSources), - new("Fallout.Common.IO", "Fallout.Kernel.IO", KernelSources), - new("Fallout.Utilities.Text.Yaml", "Fallout.Kernel.Text.Yaml", KernelSources), + new("Fallout.Common.CI", "Fallout.Infrastructure.CI", ["Fallout.Common"]), ]; - // No per-type splits in 5a (wholesale namespace moves). - static readonly Dictionary TypeOverrides = new(); + static readonly Dictionary TypeOverrides = new() + { + ["Fallout.Common.CI.AzurePipelines.AzurePipelinesTestResultsType"] = "Fallout.Application.CI", + ["Fallout.Common.CI.AzurePipelines.AzurePipelinesCodeCoverageToolType"] = "Fallout.Application.CI", + }; static bool Matches(Rule r, string ns) => ns == r.Old || ns.StartsWith(r.Old + "."); static bool IsMovable(string ns) => Rules.Any(r => Matches(r, ns)); From b64c26dec95c0ebf308ef40137d6a317f913a696 Mon Sep 17 00:00:00 2001 From: Chrison Simtian Date: Mon, 1 Jun 2026 02:19:46 +1200 Subject: [PATCH 18/46] =?UTF-8?q?docs(spike):=20refine=205c=20plan=20?= =?UTF-8?q?=E2=80=94=20ProjectModelTasks=20needs=20a=20port,=20not=20a=20n?= =?UTF-8?q?amespace=20move?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.8 --- docs/spikes/0003-onion-infrastructure-ring.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/spikes/0003-onion-infrastructure-ring.md b/docs/spikes/0003-onion-infrastructure-ring.md index a08eb47ce..174d3c684 100644 --- a/docs/spikes/0003-onion-infrastructure-ring.md +++ b/docs/spikes/0003-onion-infrastructure-ring.md @@ -44,7 +44,7 @@ Catch-all `Fallout.Common.*` code outside the Application ring (CI host adapters - **To Infrastructure**: `Fallout.Utilities.Net` (HTTP), `Fallout.Utilities.IO.Compression`, and `Common.IO`'s `HttpTasks`/`FtpTasks`. The `Common.IO` namespace thus SPLITS per-type (filesystem→Kernel, Http/Ftp→Infra) — needs the rewriter's per-type overrides again. - **Caveats**: `AbsolutePathExtensions` is one partial class across ~11 files — it must move WHOLE (can't span assemblies), so it goes entirely to Kernel (fine, since filesystem=Kernel). **This is the first step that creates a NEW PROJECT / relocates files** (vs. the namespace-only moves of 4a/4b) — likely realized by renaming the existing `Fallout.Utilities` project → `Fallout.Kernel` and consolidating the IO bits, which overlaps the "project-file renames" deferred work. `Fallout.Domain` will gain a dependency on `Fallout.Kernel` (Kernel is innermost-shared). No back-references found from Utilities/IO into Domain/App/Infra (clean to move). - **5b — CI adapters**: `Fallout.Common.CI.` → `Fallout.Infrastructure.CI.*`. -- **5c — ProjectModel/Solution**: `Fallout.Solutions` namespace → `Fallout.Infrastructure.*`. +- **5c — ProjectModel/Solution** (NOT a clean move — needs ports like 4b/5b): decision is model→Application, parser→Infrastructure, BUT `ProjectModelTasks`/`ProjectExtensions` (MSBuild loading) are called by ~5 Application-ring files (`Host.Activation`, `CIAttribute`, `ExecutableTargetFactory`, `Telemetry`), so they need an `IProjectModel`-style port (impl→Infrastructure) rather than a namespace move. `Solution`/`Project` model (vocabulary, pervasive) → `Fallout.Application.*`; `SolutionAttribute` (Fallout.Common) is the `[Solution]` injection vocab → Application; vendored `Fallout.Persistence.Solution.Serializer.*` → Infrastructure (or leave as a self-contained tree). Own focused follow-up. - **5d — impure IO executors**: filesystem/glob/compression execution → `Fallout.Infrastructure.*`. 5. **I/O adapters → Infrastructure** — CI host adapters (`Fallout.Common.CI.`) → `Fallout.Infrastructure.CI.*`; `Fallout.Common.IO` + the `Fallout.Utilities.IO/.Net/.Compression/.Globbing` I/O bits → `Fallout.Infrastructure.*`; the `ProcessTasks`/`ToolExecutor` executor side → `Fallout.Infrastructure`; `Fallout.ProjectModel`/`Fallout.Solution` → `Fallout.Infrastructure.*`. From 06e345c167a4569afb537f34dcd5505b33b29d35 Mon Sep 17 00:00:00 2001 From: Chrison Simtian Date: Mon, 1 Jun 2026 12:09:21 +1200 Subject: [PATCH 19/46] =?UTF-8?q?docs(spike):=20resolve=20onion=205d=20?= =?UTF-8?q?=E2=80=94=20external=20IO=20stays=20in=20Kernel=20(no=20moves)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Extends the 5a "filesystem is kernel-level" ruling to the rest of the fluent external-IO vocabulary. Investigation found every external-IO category the original plan earmarked for Infrastructure (HTTP fluent client, compression .ZipTo()/.UnZipTo(), HttpTasks/FtpTasks, glob) is consumed by gated Application-ring code, so none can move cleanly and all would otherwise need 5c-style ports. They're thin BCL-ergonomic layers, not genuine adapters — kept in Kernel; gate stays green. - spike 0003: mark 5d resolved-by-decision; correct the step-5 summary - ADR-0006: add Amendment reversing the "IO/Net/compression are genuinely infrastructure" default for the fluent vocabulary Co-Authored-By: Claude Opus 4.8 (1M context) --- .../0006-onion-layering-and-namespace-realignment.md | 7 +++++++ docs/spikes/0003-onion-infrastructure-ring.md | 11 ++++++++--- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/docs/adr/0006-onion-layering-and-namespace-realignment.md b/docs/adr/0006-onion-layering-and-namespace-realignment.md index f4553cd68..68ea04339 100644 --- a/docs/adr/0006-onion-layering-and-namespace-realignment.md +++ b/docs/adr/0006-onion-layering-and-namespace-realignment.md @@ -85,6 +85,13 @@ Migration/shim strategy is redesigned after step 5, before the cut (deferred, ab - **Minimal — fix only the internal mismatches.** Smallest break. **Not chosen** — leaves the catch-all and doesn't achieve the onion goal. - **Defer to "after shim sunset" (status quo per rebrand-plan).** **Not chosen** — see "Why now"; the work is wanted this year. +## Amendments + +- **2026-06-01 — `Fallout.Kernel` + filesystem/external-IO is kernel-level (resolves the "Utilities as Infrastructure vs shared kernel" judgment call above, and amends the layer table's IO/Net/compression/globbing → Infrastructure entry).** During the Infrastructure ring (spike 0003 steps 5a/5d), the open default in *Judgment calls* — "IO/Net/compression are genuinely infrastructure" — was **reversed for the fluent vocabulary**. A new innermost shared ring **`Fallout.Kernel`** (Domain/Application/Infrastructure all depend on it; Domain stays zero-dep otherwise) holds the pure helpers **and** the fluent IO vocabulary: + - **Filesystem is a kernel-level capability** (like the BCL's `File`/`Directory`): `AbsolutePath` + all its fluent ops (`.ReadAllText`/`.GlobFiles`/`.CreateDirectory`/`.ZipTo`/…) stay in Kernel. Rationale: the fluent API is used pervasively across the Application ring; routing it through an `IFileSystem` port would be hundreds of call sites that kill the ergonomics, and placing it in Infrastructure would fail the Application-ring fitness gate. + - **The same reasoning extends to the rest of external-IO *vocabulary* (5d):** the fluent HTTP client (`HttpClient.CreateRequest(...).Send()` extensions over the BCL `HttpClient`), compression (`.ZipTo()`/`.UnZipTo()` — themselves `AbsolutePath` extensions), and glob all stay in Kernel. Every one is consumed by *gated* Application-ring code (tool wrappers, `Components`, version-resolver attributes), so a clean move would break the gate, and they are thin ergonomic layers over BCL capabilities — not genuine external adapters worth a port. `HttpTasks`/`FtpTasks` (download-URL-to-file) are the one coarse "network task" category; kept in Kernel for now, with an optional `IHttpDownload`-style port → Infrastructure left as deferred future work (not required for the gate). + - **What still goes to Infrastructure** is unchanged: process/tool execution (4b), CI host adapters (5b), tool-path/package resolvers (4b), and project/solution readers (5c, via ports). The seam is *genuine external side-effecting adapters behind Application-owned ports*, not "anything in a namespace called IO/Net." + ## References - Current-state map: see the structural survey summarized in the spike. diff --git a/docs/spikes/0003-onion-infrastructure-ring.md b/docs/spikes/0003-onion-infrastructure-ring.md index 174d3c684..c5fad941a 100644 --- a/docs/spikes/0003-onion-infrastructure-ring.md +++ b/docs/spikes/0003-onion-infrastructure-ring.md @@ -1,6 +1,6 @@ # Spike 0003 — Onion realignment: the Infrastructure ring (steps 3–5) -- **Status:** In progress — step 3, 4a, 4b + inversion, 5a done; **step 5b (CI providers → Infrastructure, via `Fallout.Application.CI` ports + `CiHost`) done** (green, gate passes). Remaining: 5c ProjectModel/Solution→Infra; then the deferred project-FILE renames (incl. `Fallout.Utilities`→`Fallout.Kernel` assembly) + `Nuke.*` shim/migration redesign. On branch `spike/onion-kernel` (stacked on `spike/onion-infrastructure`). +- **Status:** In progress — step 3, 4a, 4b + inversion, 5a, 5b done; **step 5d (external IO) resolved by decision — kept in Kernel, no code moves** (gate green). Remaining: 5c ProjectModel/Solution→Infra (needs ports); then the deferred project-FILE renames (incl. `Fallout.Utilities`→`Fallout.Kernel` assembly) + `Nuke.*` shim/migration redesign. On branch `spike/onion-kernel` (stacked on `spike/onion-infrastructure`). - **Date:** 2026-05-31 (updated 2026-06-01) - **Decision record:** [ADR-0006](../adr/0006-onion-layering-and-namespace-realignment.md) - **Channel:** `experimental` (branch `spike/onion-infrastructure`) @@ -45,8 +45,13 @@ Catch-all `Fallout.Common.*` code outside the Application ring (CI host adapters - **Caveats**: `AbsolutePathExtensions` is one partial class across ~11 files — it must move WHOLE (can't span assemblies), so it goes entirely to Kernel (fine, since filesystem=Kernel). **This is the first step that creates a NEW PROJECT / relocates files** (vs. the namespace-only moves of 4a/4b) — likely realized by renaming the existing `Fallout.Utilities` project → `Fallout.Kernel` and consolidating the IO bits, which overlaps the "project-file renames" deferred work. `Fallout.Domain` will gain a dependency on `Fallout.Kernel` (Kernel is innermost-shared). No back-references found from Utilities/IO into Domain/App/Infra (clean to move). - **5b — CI adapters**: `Fallout.Common.CI.` → `Fallout.Infrastructure.CI.*`. - **5c — ProjectModel/Solution** (NOT a clean move — needs ports like 4b/5b): decision is model→Application, parser→Infrastructure, BUT `ProjectModelTasks`/`ProjectExtensions` (MSBuild loading) are called by ~5 Application-ring files (`Host.Activation`, `CIAttribute`, `ExecutableTargetFactory`, `Telemetry`), so they need an `IProjectModel`-style port (impl→Infrastructure) rather than a namespace move. `Solution`/`Project` model (vocabulary, pervasive) → `Fallout.Application.*`; `SolutionAttribute` (Fallout.Common) is the `[Solution]` injection vocab → Application; vendored `Fallout.Persistence.Solution.Serializer.*` → Infrastructure (or leave as a self-contained tree). Own focused follow-up. -- **5d — impure IO executors**: filesystem/glob/compression execution → `Fallout.Infrastructure.*`. -5. **I/O adapters → Infrastructure** — CI host adapters (`Fallout.Common.CI.`) → `Fallout.Infrastructure.CI.*`; `Fallout.Common.IO` + the `Fallout.Utilities.IO/.Net/.Compression/.Globbing` I/O bits → `Fallout.Infrastructure.*`; the `ProcessTasks`/`ToolExecutor` executor side → `Fallout.Infrastructure`; `Fallout.ProjectModel`/`Fallout.Solution` → `Fallout.Infrastructure.*`. +- **5d — external IO** ✅ RESOLVED BY DECISION (maintainer, 2026-06-01): **kept in Kernel — no code moves.** Extends the 5a "filesystem is kernel-level" ruling to the rest of the external-IO *fluent vocabulary*. Investigation found every external-IO category the original plan earmarked for Infrastructure is consumed by **gated Application-ring** code, so none can move cleanly and all would otherwise need 5c-style ports: + - **HTTP fluent client** (`Fallout.Kernel.Net` — `HttpClient.CreateRequest(...).Send()` extensions over the BCL `HttpClient`) ← `Fallout.Application.Tools.*` (Slack/Discord/Teams/Mastodon/Gitter). A thin BCL-ergonomic layer, structurally identical to the filesystem-over-BCL case → **stays in Kernel.** + - **Compression** (`.ZipTo()`/`.UnZipTo()`, `Fallout.Kernel.IO`) ← `Fallout.Application.Components/ISignPackages`. These are **`AbsolutePath` extension methods** — part of the very fluent `AbsolutePath` API 5a already kept in Kernel; porting them kills the same ergonomics → **stays in Kernel.** + - **`HttpTasks`/`FtpTasks`** (download-URL-to-file, `Fallout.Kernel.IO`) ← `Fallout.Application.Tooling` (`LatestMaven`/`LatestMyGet` version-resolver attrs) + `Fallout.Common.Execution` (catch-all). The one genuinely-coarse "network task" category → **kept in Kernel for now**; a small `IHttpDownload`-style port → Infrastructure remains *optional* future work if we want strict external-IO purity, but it is not required for the gate and is deferred. + - **Glob** (`.GlobFiles`, `Fallout.Kernel.Globbing`) — already part of the fluent `AbsolutePath` API, kernel-level by 5a. No change. + - Net effect: 5d moves nothing; `Fallout.Utilities.Net`/`Fallout.Utilities.IO.Compression`/`Fallout.Utilities.Globbing` remain Kernel-ring assemblies (their project-FILE consolidation into the `Fallout.Kernel` project is the deferred rename work, not a ring crossing). Gate (`Application ⊥ Infrastructure`) stays green. +5. **I/O adapters → Infrastructure** (original framing; superseded in part) — CI host adapters (`Fallout.Common.CI.`) → `Fallout.Infrastructure.CI.*` ✅ (5b); the `ProcessTasks`/`ToolExecutor` executor side → `Fallout.Infrastructure` ✅ (4b); `Fallout.ProjectModel`/`Fallout.Solution` → `Fallout.Infrastructure.*` (5c, via ports). **NOT moving:** `Fallout.Common.IO` + `Fallout.Utilities.IO/.Net/.Compression/.Globbing` — these are the fluent external-IO vocabulary and stay in Kernel (5a + 5d decisions), *not* Infrastructure. ### Design decisions already made (don't relitigate) - **Layer names**: explicit onion (`Fallout.Domain`/`.Application`/`.Infrastructure`, `Fallout.Cli` root). Public tool/CI API lives under `.Infrastructure` (accepted; ease consumer ergonomics later with template global usings). From a03e6dbdc25b17487285da2967f2006bb91c0211 Mon Sep 17 00:00:00 2001 From: Chrison Simtian Date: Mon, 1 Jun 2026 12:42:01 +1200 Subject: [PATCH 20/46] =?UTF-8?q?refactor(arch):=20onion=205c=20phase=20A?= =?UTF-8?q?=20=E2=80=94=20Fallout-owned=20Solution=20model=20(POCO=20tree)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reshape the Solution/Project/SolutionFolder/SolutionItem model from live wrappers over the vendored SolutionModel into a populated POCO tree with parent links + an opaque object Handle (carries the serializer model for Save without the inner ring naming vendored types). Public surface preserved. Translation walker lives in ReadSolution for now (still in the model project, still vendored-coupled — extracted to the Infrastructure adapter in phase B). The strongly-typed solution generator is coupled to the model ctor (it emits Solution subclasses), so update its template in lockstep: drop the vendored `using`, emit `(AbsolutePath, object handle)` ctor, ctor-less folder subclass. Namespaces unchanged (Fallout.Solutions) — no ring move yet. Build + Solution/ProjectModel/generator tests + dogfood build green. Co-Authored-By: Claude Opus 4.8 (1M context) --- .../StronglyTypedSolutionGenerator.cs | 5 +- src/Persistence/Fallout.Solution/Model.cs | 84 ++++++++++++------- .../SolutionModelExtensions.cs | 49 ++++++++++- ...nGeneratorTest.Test#Solution.g.verified.cs | 5 +- 4 files changed, 107 insertions(+), 36 deletions(-) diff --git a/src/Fallout.SourceGenerators/StronglyTypedSolutionGenerator.cs b/src/Fallout.SourceGenerators/StronglyTypedSolutionGenerator.cs index 611c2d326..095645134 100644 --- a/src/Fallout.SourceGenerators/StronglyTypedSolutionGenerator.cs +++ b/src/Fallout.SourceGenerators/StronglyTypedSolutionGenerator.cs @@ -54,7 +54,6 @@ public void Execute(GeneratorExecutionContext context) context.AddSource(hintName, $""" // - using Fallout.Persistence.Solution.Model; using Fallout.Solutions; using Fallout.Kernel.IO; using System.Runtime.CompilerServices; @@ -95,9 +94,9 @@ string GetDeclaration(IProjectContainer container, string folderName = null) // lang=csharp var template = Template.Parse(""" {{~ if is_solution ~}} - internal class {{ name }}(SolutionModel model, AbsolutePath path) : Fallout.Solutions.Solution(model, path) + internal class {{ name }}(AbsolutePath path, object handle) : Fallout.Solutions.Solution(path, handle) {{~ else ~}} - internal class {{ name }}(SolutionFolderModel model, Fallout.Solutions.Solution solution) : Fallout.Solutions.SolutionFolder(model, solution) + internal class {{ name }} : Fallout.Solutions.SolutionFolder {{~ end ~}} { {{~ for project in projects ~}} diff --git a/src/Persistence/Fallout.Solution/Model.cs b/src/Persistence/Fallout.Solution/Model.cs index 410a830b2..a1a3c7125 100644 --- a/src/Persistence/Fallout.Solution/Model.cs +++ b/src/Persistence/Fallout.Solution/Model.cs @@ -1,10 +1,8 @@ using System; -using System.Collections.Concurrent; using System.Collections.Generic; using System.Linq; using System.Text.RegularExpressions; using System.Threading; -using Fallout.Persistence.Solution.Model; using Fallout.Persistence.Solution.Serializer; using Fallout.Common; using Fallout.Kernel.IO; @@ -35,32 +33,37 @@ public static Project GetProject(this IProjectContainer container, string name) } } -public class Solution(SolutionModel model, AbsolutePath path = null) : IProjectContainer, IAbsolutePathHolder +public class Solution : IProjectContainer, IAbsolutePathHolder { - private ConcurrentDictionary wrappers { get; } = new(); + private readonly List _allProjects = new(); + private readonly List _allSolutionFolders = new(); - internal T GetOrCreate(object model) + /// + /// Constructs an (empty) solution. The project/folder tree is populated by the + /// reader (); the + /// is an opaque carrier for the underlying serializer + /// model so the solution can be saved back without the inner ring naming the + /// concrete (vendored) model type. + /// + protected internal Solution(AbsolutePath path = null, object handle = null) { - lock (wrappers) - { - return (T)wrappers.GetOrAdd(model, x => x switch - { - SolutionProjectModel project => new Project(project, this), - SolutionFolderModel folder => new SolutionFolder(folder, this), - _ => throw new ArgumentOutOfRangeException(nameof(x), x, null) - }); - } + Path = path; + Handle = handle; } - public SolutionModel GetModel() => model; + /// The opaque serializer model this solution was read from (null if constructed in-memory). + internal object Handle { get; } - public AbsolutePath Path { get; set; } = path; + internal void AddProject(Project project) => _allProjects.Add(project); + internal void AddSolutionFolder(SolutionFolder folder) => _allSolutionFolders.Add(folder); + + public AbsolutePath Path { get; set; } public string Name => Path?.NameWithoutExtension; public string FileName => Path?.Name; public AbsolutePath Directory => Path?.Parent; - public IReadOnlyCollection AllProjects => model.SolutionProjects.Select(GetOrCreate).ToList(); - public IReadOnlyCollection AllSolutionFolders => model.SolutionFolders.Select(GetOrCreate).ToList(); + public IReadOnlyCollection AllProjects => _allProjects; + public IReadOnlyCollection AllSolutionFolders => _allSolutionFolders; IProjectContainer IProjectContainer.Parent => null; public IReadOnlyCollection Projects => AllProjects.Where(x => x.Parent == this).ToList(); @@ -81,35 +84,58 @@ public IEnumerable GetAllProjects(string wildcardPattern) public void Save(AbsolutePath path = null) { Path = (path ?? Path).NotNull(); + var model = (Persistence.Solution.Model.SolutionModel)Handle.NotNull( + "Solution was not read from a file and cannot be saved."); var serializer = SolutionSerializers.GetSerializerByMoniker(Path).NotNull(); AsyncHelper.RunSync(() => serializer.SaveAsync(Path, model, CancellationToken.None)); } } -public class SolutionItem(SolutionItemModel model, Solution solution) +public class SolutionItem { - public string Name => model.ActualDisplayName; + private protected SolutionItem(string name, Solution solution) + { + Name = name; + Solution = solution; + } + + public string Name { get; } - public Solution Solution => solution; - public IProjectContainer Parent => (IProjectContainer)model.Parent?.Apply(solution.GetOrCreate) ?? solution; + public Solution Solution { get; } + public IProjectContainer Parent { get; internal set; } - public override string ToString() => model.ActualDisplayName; + public override string ToString() => Name; } -public class SolutionFolder(SolutionFolderModel model, Solution solution) : SolutionItem(model, solution), IProjectContainer +public class SolutionFolder : SolutionItem, IProjectContainer { - public SolutionFolderModel GetModel() => model; + internal SolutionFolder(string name, Solution solution) + : base(name, solution) + { + } + + // Vestigial: strongly-typed folder subclasses (generated, in consumer assemblies) are + // reached via Unsafe.As and never actually constructed, but their declarations still + // need an accessible (cross-assembly => protected) base ctor to compile. + protected SolutionFolder() + : base(name: null, solution: null) + { + } public IReadOnlyCollection Projects => Solution.AllProjects.Where(x => x.Parent == this).ToList(); public IReadOnlyCollection SolutionFolders => Solution.AllSolutionFolders.Where(x => x.Parent == this).ToList(); } -public class Project(SolutionProjectModel model, Solution solution) : SolutionItem(model, solution), IAbsolutePathHolder +public class Project : SolutionItem, IAbsolutePathHolder { - public SolutionProjectModel GetModel() => model; + internal Project(string name, string relativePath, Solution solution) + : base(name, solution) + { + RelativePath = relativePath; + } - public string RelativePath => model.FilePath; - public AbsolutePath Path => Solution.Directory.NotNull() / model.FilePath; + public string RelativePath { get; } + public AbsolutePath Path => Solution.Directory.NotNull() / RelativePath; public string FileName => System.IO.Path.GetFileName(RelativePath); public AbsolutePath Directory => Path?.Parent; diff --git a/src/Persistence/Fallout.Solution/SolutionModelExtensions.cs b/src/Persistence/Fallout.Solution/SolutionModelExtensions.cs index 70d7e2884..60b7a21c1 100644 --- a/src/Persistence/Fallout.Solution/SolutionModelExtensions.cs +++ b/src/Persistence/Fallout.Solution/SolutionModelExtensions.cs @@ -1,4 +1,7 @@ +using System.Collections.Generic; +using System.Reflection; using System.Threading; +using Fallout.Persistence.Solution.Model; using Fallout.Persistence.Solution.Serializer; using Fallout.Common; using Fallout.Kernel.IO; @@ -18,6 +21,50 @@ public static Solution ReadSolution(this AbsolutePath path) { var serializer = SolutionSerializers.GetSerializerByMoniker(path).NotNull(); var model = AsyncHelper.RunSync(() => serializer.OpenAsync(path, CancellationToken.None)); - return typeof(T).CreateInstance(model, path); + + var solution = CreateSolution(path, model); + Populate(solution, model); + return solution; + } + + private static T CreateSolution(AbsolutePath path, SolutionModel model) + where T : Solution + { + // The (AbsolutePath, object) constructor is non-public on Solution and on the + // generated strongly-typed subclasses, so bind explicitly to non-public ctors. + return (T)System.Activator.CreateInstance( + typeof(T), + BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic, + binder: null, + args: [path, model], + culture: null); + } + + /// + /// Walks the underlying serializer model and builds the Fallout solution tree + /// (projects + folders + parent links). The Fallout model holds no reference to + /// the vendored types beyond the opaque handle. + /// + private static void Populate(Solution solution, SolutionModel model) + { + var folders = new Dictionary(); + foreach (var folderModel in model.SolutionFolders) + folders[folderModel] = new SolutionFolder(folderModel.ActualDisplayName, solution); + + foreach (var folderModel in model.SolutionFolders) + { + var folder = folders[folderModel]; + folder.Parent = folderModel.Parent != null ? folders[folderModel.Parent] : solution; + solution.AddSolutionFolder(folder); + } + + foreach (var projectModel in model.SolutionProjects) + { + var project = new Project(projectModel.ActualDisplayName, projectModel.FilePath, solution) + { + Parent = projectModel.Parent != null ? folders[projectModel.Parent] : solution, + }; + solution.AddProject(project); + } } } diff --git a/tests/Fallout.SourceGenerators.Tests/StronglyTypedSolutionGeneratorTest.Test#Solution.g.verified.cs b/tests/Fallout.SourceGenerators.Tests/StronglyTypedSolutionGeneratorTest.Test#Solution.g.verified.cs index 19cf21e1f..31ef9d94c 100644 --- a/tests/Fallout.SourceGenerators.Tests/StronglyTypedSolutionGeneratorTest.Test#Solution.g.verified.cs +++ b/tests/Fallout.SourceGenerators.Tests/StronglyTypedSolutionGeneratorTest.Test#Solution.g.verified.cs @@ -1,12 +1,11 @@ //HintName: Solution.g.cs // -using Fallout.Persistence.Solution.Model; using Fallout.Solutions; using Fallout.Kernel.IO; using System.Runtime.CompilerServices; -internal class Solution(SolutionModel model, AbsolutePath path) : Fallout.Solutions.Solution(model, path) +internal class Solution(AbsolutePath path, object handle) : Fallout.Solutions.Solution(path, handle) { public Fallout.Solutions.Project _build => this.GetProject("_build"); public Fallout.Solutions.Project Fallout_Architecture_Tests => this.GetProject("Fallout.Architecture.Tests"); @@ -53,7 +52,7 @@ internal class Solution(SolutionModel model, AbsolutePath path) : Fallout.Soluti public _misc misc => Unsafe.As<_misc>(this.GetSolutionFolder("misc")); - internal class _misc(SolutionFolderModel model, Fallout.Solutions.Solution solution) : Fallout.Solutions.SolutionFolder(model, solution) + internal class _misc : Fallout.Solutions.SolutionFolder { From 7ec248326ed5b13eded6a3d07862b34b56ee1605 Mon Sep 17 00:00:00 2001 From: Chrison Simtian Date: Mon, 1 Jun 2026 12:51:03 +1200 Subject: [PATCH 21/46] =?UTF-8?q?refactor(arch):=20onion=205c=20phase=20B?= =?UTF-8?q?=20=E2=80=94=20ISolutionSerializer=20+=20IProjectEditor=20ports?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Invert the impure solution/project I/O behind Application-ring ports (ADR-0006), mirroring the 4b ToolingServices pattern: - ISolutionSerializer + IProjectEditor + SolutionServices locator added to the model project. The serializer adapter (vendored .sln/.slnx + the vendored→Fallout translation walker + opaque-handle save) is co-hosted with the model and self-registers via a [ModuleInitializer] (+ ns2.0 polyfill) — co-hosted like ToolingServices so registration is guaranteed on assembly load. - Model.cs + SolutionModelExtensions now route through the port and no longer reference any vendored type — the inner model is pure. - ProjectEditorAdapter (Microsoft.Build) in Fallout.ProjectModel implements IProjectEditor (GetProperty/SetProperty/HasPackageReference) + module-init. HasPackageReference moves from the Infra ProjectExtensions to a port-backed Application extension (its only framework-ring caller is Components/ITest); the rest of the MSBuild ProjectExtensions stay Infra (consumers/tests reference them directly). - Telemetry.CheckAwareness (dead code, telemetry disabled) rewired through IProjectEditor, dropping Fallout.Build's Microsoft.Build coupling. - Drop now-dead Fallout.Build/Fallout.Common → Fallout.ProjectModel refs; add explicit ProjectModel refs to the Cli composition root + the dogfood build (consumer of the MSBuild GetTargetFrameworks extension). Namespaces unchanged (Fallout.Solutions) — ring move is phase C. Full build + Solution/ProjectModel/generator/gate tests green. Co-Authored-By: Claude Opus 4.8 (1M context) --- build/_build.csproj | 3 + src/Fallout.Build/Fallout.Build.csproj | 1 - src/Fallout.Build/Telemetry/Telemetry.cs | 11 +-- src/Fallout.Cli/Fallout.Cli.csproj | 3 + src/Fallout.Common/Fallout.Common.csproj | 1 - src/Fallout.ProjectModel/Project.Misc.cs | 8 -- .../ProjectEditorAdapter.cs | 55 +++++++++++ src/Persistence/Fallout.Solution/Model.cs | 7 +- .../ModuleInitializerPolyfill.cs | 13 +++ .../ProjectQueryExtensions.cs | 16 ++++ .../SolutionModelExtensions.cs | 57 +---------- .../SolutionSerializerAdapter.cs | 96 +++++++++++++++++++ .../Fallout.Solution/SolutionServices.cs | 55 +++++++++++ 13 files changed, 249 insertions(+), 77 deletions(-) create mode 100644 src/Fallout.ProjectModel/ProjectEditorAdapter.cs create mode 100644 src/Persistence/Fallout.Solution/ModuleInitializerPolyfill.cs create mode 100644 src/Persistence/Fallout.Solution/ProjectQueryExtensions.cs create mode 100644 src/Persistence/Fallout.Solution/SolutionSerializerAdapter.cs create mode 100644 src/Persistence/Fallout.Solution/SolutionServices.cs diff --git a/build/_build.csproj b/build/_build.csproj index cee68e3d4..4b3bf3012 100644 --- a/build/_build.csproj +++ b/build/_build.csproj @@ -67,6 +67,9 @@ + + diff --git a/src/Fallout.Build/Fallout.Build.csproj b/src/Fallout.Build/Fallout.Build.csproj index 530b59d60..6bd490467 100644 --- a/src/Fallout.Build/Fallout.Build.csproj +++ b/src/Fallout.Build/Fallout.Build.csproj @@ -7,7 +7,6 @@ - diff --git a/src/Fallout.Build/Telemetry/Telemetry.cs b/src/Fallout.Build/Telemetry/Telemetry.cs index 047c4f30c..5c5e68f87 100644 --- a/src/Fallout.Build/Telemetry/Telemetry.cs +++ b/src/Fallout.Build/Telemetry/Telemetry.cs @@ -63,10 +63,9 @@ AbsolutePath GetCookieFile(string name, int version) return CurrentVersion; } - var project = ProjectModelTasks.ParseProject(FalloutBuild.BuildProjectFile); - var property = project.Properties.SingleOrDefault(x => x.Name.EqualsOrdinalIgnoreCase(VersionPropertyName)) - ?? project.Properties.SingleOrDefault(x => x.Name.EqualsOrdinalIgnoreCase(LegacyVersionPropertyName)); - if (property?.EvaluatedValue != CurrentVersion.ToString()) + var versionProperty = SolutionServices.Projects.GetProperty( + FalloutBuild.BuildProjectFile, VersionPropertyName, LegacyVersionPropertyName); + if (versionProperty != CurrentVersion.ToString()) { if (FalloutBuild.IsServerBuild) { @@ -75,8 +74,8 @@ AbsolutePath GetCookieFile(string name, int version) } PrintDisclosure($"set the {VersionPropertyName.SingleQuote()} property"); - project.SetProperty(VersionPropertyName, CurrentVersion.ToString()); - project.Save(); + SolutionServices.Projects.SetProperty( + FalloutBuild.BuildProjectFile, VersionPropertyName, CurrentVersion.ToString()); } for (var version = CurrentVersion; version > 0; version--) diff --git a/src/Fallout.Cli/Fallout.Cli.csproj b/src/Fallout.Cli/Fallout.Cli.csproj index d24af569d..2f30c932c 100644 --- a/src/Fallout.Cli/Fallout.Cli.csproj +++ b/src/Fallout.Cli/Fallout.Cli.csproj @@ -11,6 +11,9 @@ + + diff --git a/src/Fallout.Common/Fallout.Common.csproj b/src/Fallout.Common/Fallout.Common.csproj index b0c922b14..6614a17ec 100644 --- a/src/Fallout.Common/Fallout.Common.csproj +++ b/src/Fallout.Common/Fallout.Common.csproj @@ -12,7 +12,6 @@ - diff --git a/src/Fallout.ProjectModel/Project.Misc.cs b/src/Fallout.ProjectModel/Project.Misc.cs index 8a834a3ed..8f27bf97d 100644 --- a/src/Fallout.ProjectModel/Project.Misc.cs +++ b/src/Fallout.ProjectModel/Project.Misc.cs @@ -39,14 +39,6 @@ public static string GetOutputType(this Project project) return msbuildProject.GetProperty("OutputType").EvaluatedValue; } - /// - /// Indicates whether the project references a package ID. - /// - public static bool HasPackageReference(this Project project, string packageId) - { - return project.GetItems("PackageReference").Contains(packageId); - } - /// /// Returns the version of the referenced package ID. /// diff --git a/src/Fallout.ProjectModel/ProjectEditorAdapter.cs b/src/Fallout.ProjectModel/ProjectEditorAdapter.cs new file mode 100644 index 000000000..7d134d3d3 --- /dev/null +++ b/src/Fallout.ProjectModel/ProjectEditorAdapter.cs @@ -0,0 +1,55 @@ +using System.Linq; +using System.Runtime.CompilerServices; +using Fallout.Common; +using Fallout.Kernel; +using Fallout.Kernel.IO; + +namespace Fallout.Solutions; + +// Infrastructure adapter for the IProjectEditor port (ADR-0006, step 5c). Owns the Microsoft.Build +// evaluation used to read/edit MSBuild project files, keeping the Application ring (e.g. Telemetry) free +// of any Microsoft.Build dependency. Registered into SolutionServices via a module initializer; the CLI +// composition root / MSBuild bootstrapping pulls this assembly in. + +internal sealed class ProjectEditorAdapter : IProjectEditor +{ + public string GetProperty(AbsolutePath projectFile, params string[] propertyNames) + { + ProjectModelTasks.Initialize(); + var project = ProjectModelTasks.ParseProject(projectFile); + foreach (var name in propertyNames) + { + var property = project.Properties.FirstOrDefault(x => x.Name.EqualsOrdinalIgnoreCase(name)); + if (property != null) + return property.EvaluatedValue; + } + + return null; + } + + public void SetProperty(AbsolutePath projectFile, string name, string value) + { + ProjectModelTasks.Initialize(); + var project = ProjectModelTasks.ParseProject(projectFile); + project.SetProperty(name, value); + project.Save(); + } + + public bool HasPackageReference(AbsolutePath projectFile, string packageId) + { + ProjectModelTasks.Initialize(); + var project = ProjectModelTasks.ParseProject(projectFile); + return project.GetItems("PackageReference").Any(x => x.EvaluatedInclude == packageId); + } +} + +internal static class ProjectEditorRegistration +{ +#pragma warning disable CA2255 + [ModuleInitializer] +#pragma warning restore CA2255 + internal static void Register() + { + SolutionServices.Projects ??= new ProjectEditorAdapter(); + } +} diff --git a/src/Persistence/Fallout.Solution/Model.cs b/src/Persistence/Fallout.Solution/Model.cs index a1a3c7125..b9af92c18 100644 --- a/src/Persistence/Fallout.Solution/Model.cs +++ b/src/Persistence/Fallout.Solution/Model.cs @@ -2,8 +2,6 @@ using System.Collections.Generic; using System.Linq; using System.Text.RegularExpressions; -using System.Threading; -using Fallout.Persistence.Solution.Serializer; using Fallout.Common; using Fallout.Kernel.IO; using Fallout.Kernel; @@ -84,10 +82,7 @@ public IEnumerable GetAllProjects(string wildcardPattern) public void Save(AbsolutePath path = null) { Path = (path ?? Path).NotNull(); - var model = (Persistence.Solution.Model.SolutionModel)Handle.NotNull( - "Solution was not read from a file and cannot be saved."); - var serializer = SolutionSerializers.GetSerializerByMoniker(Path).NotNull(); - AsyncHelper.RunSync(() => serializer.SaveAsync(Path, model, CancellationToken.None)); + SolutionServices.Serializer.Save(this, Path); } } diff --git a/src/Persistence/Fallout.Solution/ModuleInitializerPolyfill.cs b/src/Persistence/Fallout.Solution/ModuleInitializerPolyfill.cs new file mode 100644 index 000000000..9226f1dcc --- /dev/null +++ b/src/Persistence/Fallout.Solution/ModuleInitializerPolyfill.cs @@ -0,0 +1,13 @@ +// ModuleInitializerAttribute ships in the BCL only on .NET 5+. Fallout.Solution also targets +// netstandard2.0, so polyfill it there (internal) to let SolutionSerializerRegistration use +// [ModuleInitializer] across both target frameworks. Standard, well-known shim — the C# compiler +// recognises any matching type. +#if !NET5_0_OR_GREATER +namespace System.Runtime.CompilerServices +{ + [System.AttributeUsage(System.AttributeTargets.Method, Inherited = false)] + internal sealed class ModuleInitializerAttribute : System.Attribute + { + } +} +#endif diff --git a/src/Persistence/Fallout.Solution/ProjectQueryExtensions.cs b/src/Persistence/Fallout.Solution/ProjectQueryExtensions.cs new file mode 100644 index 000000000..a884401a8 --- /dev/null +++ b/src/Persistence/Fallout.Solution/ProjectQueryExtensions.cs @@ -0,0 +1,16 @@ +using Fallout.Kernel.IO; + +namespace Fallout.Solutions; + +// Application-ring conveniences over a Project that need impure MSBuild evaluation. They route through the +// IProjectEditor port (implemented in Fallout.ProjectModel) so the inner ring stays free of Microsoft.Build. +// The richer query surface (GetTargetFrameworks/GetItems/GetProperty/...) lives on the Infrastructure-side +// ProjectExtensions and is for consumers/tests that can reference the outer ring directly. +public static class ProjectQueryExtensions +{ + /// Indicates whether the project references the given package ID (a PackageReference item). + public static bool HasPackageReference(this Project project, string packageId) + { + return SolutionServices.Projects.HasPackageReference(project.Path, packageId); + } +} diff --git a/src/Persistence/Fallout.Solution/SolutionModelExtensions.cs b/src/Persistence/Fallout.Solution/SolutionModelExtensions.cs index 60b7a21c1..a0fc9fec7 100644 --- a/src/Persistence/Fallout.Solution/SolutionModelExtensions.cs +++ b/src/Persistence/Fallout.Solution/SolutionModelExtensions.cs @@ -1,11 +1,4 @@ -using System.Collections.Generic; -using System.Reflection; -using System.Threading; -using Fallout.Persistence.Solution.Model; -using Fallout.Persistence.Solution.Serializer; -using Fallout.Common; using Fallout.Kernel.IO; -using Fallout.Kernel; namespace Fallout.Solutions; @@ -13,58 +6,12 @@ public static class SolutionModelExtensions { public static Solution ReadSolution(this AbsolutePath path) { - return path.ReadSolution(); + return SolutionServices.Serializer.Open(path); } public static Solution ReadSolution(this AbsolutePath path) where T : Solution { - var serializer = SolutionSerializers.GetSerializerByMoniker(path).NotNull(); - var model = AsyncHelper.RunSync(() => serializer.OpenAsync(path, CancellationToken.None)); - - var solution = CreateSolution(path, model); - Populate(solution, model); - return solution; - } - - private static T CreateSolution(AbsolutePath path, SolutionModel model) - where T : Solution - { - // The (AbsolutePath, object) constructor is non-public on Solution and on the - // generated strongly-typed subclasses, so bind explicitly to non-public ctors. - return (T)System.Activator.CreateInstance( - typeof(T), - BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic, - binder: null, - args: [path, model], - culture: null); - } - - /// - /// Walks the underlying serializer model and builds the Fallout solution tree - /// (projects + folders + parent links). The Fallout model holds no reference to - /// the vendored types beyond the opaque handle. - /// - private static void Populate(Solution solution, SolutionModel model) - { - var folders = new Dictionary(); - foreach (var folderModel in model.SolutionFolders) - folders[folderModel] = new SolutionFolder(folderModel.ActualDisplayName, solution); - - foreach (var folderModel in model.SolutionFolders) - { - var folder = folders[folderModel]; - folder.Parent = folderModel.Parent != null ? folders[folderModel.Parent] : solution; - solution.AddSolutionFolder(folder); - } - - foreach (var projectModel in model.SolutionProjects) - { - var project = new Project(projectModel.ActualDisplayName, projectModel.FilePath, solution) - { - Parent = projectModel.Parent != null ? folders[projectModel.Parent] : solution, - }; - solution.AddProject(project); - } + return SolutionServices.Serializer.Open(path); } } diff --git a/src/Persistence/Fallout.Solution/SolutionSerializerAdapter.cs b/src/Persistence/Fallout.Solution/SolutionSerializerAdapter.cs new file mode 100644 index 000000000..80e0a4bdf --- /dev/null +++ b/src/Persistence/Fallout.Solution/SolutionSerializerAdapter.cs @@ -0,0 +1,96 @@ +using System.Collections.Generic; +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Threading; +using Fallout.Persistence.Solution.Model; +using Fallout.Persistence.Solution.Serializer; +using Fallout.Common; +using Fallout.Kernel.IO; +using Fallout.Kernel; + +namespace Fallout.Solutions; + +// Infrastructure adapter for the ISolutionSerializer port (ADR-0006, step 5c). It owns the only references +// to the vendored, format-specific serializers (legacy .sln = SlnV12, XML .slnx = SlnXml — selected by +// moniker) and translates the vendored SolutionModel into the Fallout-owned Solution tree. The Fallout +// model never names a vendored type; the round-trip-fidelity carrier is the opaque Solution.Handle, which +// only this adapter casts back. Co-hosted with the model + port (like ToolingServices) so the module +// initializer always runs once this assembly loads. + +internal sealed class SolutionSerializerAdapter : ISolutionSerializer +{ + public Solution Open(AbsolutePath path) => Open(path); + + public T Open(AbsolutePath path) + where T : Solution + { + var serializer = SolutionSerializers.GetSerializerByMoniker(path).NotNull(); + var model = AsyncHelper.RunSync(() => serializer.OpenAsync(path, CancellationToken.None)); + + var solution = Create(path, model); + Populate(solution, model); + return solution; + } + + public void Save(Solution solution, AbsolutePath path) + { + var model = (SolutionModel)solution.Handle.NotNull( + "Solution was not read from a file and cannot be saved."); + var serializer = SolutionSerializers.GetSerializerByMoniker(path).NotNull(); + AsyncHelper.RunSync(() => serializer.SaveAsync(path, model, CancellationToken.None)); + } + + private static T Create(AbsolutePath path, SolutionModel model) + where T : Solution + { + // The (AbsolutePath, object) constructor is non-public on Solution and on the generated + // strongly-typed subclasses, so bind explicitly to non-public ctors. + return (T)System.Activator.CreateInstance( + typeof(T), + BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic, + binder: null, + args: [path, model], + culture: null); + } + + /// + /// Walks the vendored serializer model and builds the Fallout solution tree (projects + folders + + /// parent links). After this the Fallout model holds no reference to the vendored types beyond the + /// opaque . + /// + private static void Populate(Solution solution, SolutionModel model) + { + var folders = new Dictionary(); + foreach (var folderModel in model.SolutionFolders) + folders[folderModel] = new SolutionFolder(folderModel.ActualDisplayName, solution); + + foreach (var folderModel in model.SolutionFolders) + { + var folder = folders[folderModel]; + folder.Parent = folderModel.Parent != null ? folders[folderModel.Parent] : solution; + solution.AddSolutionFolder(folder); + } + + foreach (var projectModel in model.SolutionProjects) + { + var project = new Project(projectModel.ActualDisplayName, projectModel.FilePath, solution) + { + Parent = projectModel.Parent != null ? folders[projectModel.Parent] : solution, + }; + solution.AddProject(project); + } + } +} + +internal static class SolutionSerializerRegistration +{ + // CA2255: the module initializer is the intended wiring point — registers the Infrastructure adapter + // into the Application-ring SolutionServices when this assembly loads, before any model code runs. +#pragma warning disable CA2255 + [ModuleInitializer] +#pragma warning restore CA2255 + internal static void Register() + { + SolutionServices.Serializer ??= new SolutionSerializerAdapter(); + } +} diff --git a/src/Persistence/Fallout.Solution/SolutionServices.cs b/src/Persistence/Fallout.Solution/SolutionServices.cs new file mode 100644 index 000000000..d0fdc6ee5 --- /dev/null +++ b/src/Persistence/Fallout.Solution/SolutionServices.cs @@ -0,0 +1,55 @@ +using Fallout.Kernel.IO; + +namespace Fallout.Solutions; + +// Ports for the impure solution/project I/O (ADR-0006, onion realignment step 5c). The Application ring +// (the Solution/Project model, [Solution] injection, build orchestration) depends only on these +// abstractions; the concrete adapters — the vendored .sln/.slnx serializers and the MSBuild project +// evaluator — live behind them and register into SolutionServices via module initializers. This is the +// inversion that keeps the model free of any concrete persistence/MSBuild dependency (the format-specific +// implementations are the "outside" of the onion; the abstract concept is here, inside). + +/// +/// Reads/writes a across the supported file formats (legacy .sln and the +/// XML .slnx). The concrete, format-specific serializers live in the Infrastructure adapter. +/// +public interface ISolutionSerializer +{ + /// Reads a solution file into the Fallout model. + Solution Open(AbsolutePath path); + + /// Reads a solution file into a strongly-typed solution subclass. + T Open(AbsolutePath path) where T : Solution; + + /// Writes a previously-read solution back to . + void Save(Solution solution, AbsolutePath path); +} + +/// +/// Reads/edits MSBuild project files (property evaluation + mutation). The concrete implementation lives in +/// Fallout.ProjectModel (the Microsoft.Build evaluator) — the impure "outside" of the onion. +/// +public interface IProjectEditor +{ + /// Evaluated value of the first of that is set, or null. + string GetProperty(AbsolutePath projectFile, params string[] propertyNames); + + /// Sets to on the project and saves it. + void SetProperty(AbsolutePath projectFile, string name, string value); + + /// Indicates whether the project references the given package ID (a PackageReference item). + bool HasPackageReference(AbsolutePath projectFile, string packageId); +} + +/// +/// Service locator holding the registered Infrastructure adapters for the solution/project ports. The +/// solution serializer is registered by a module initializer co-hosted in this assembly (so it is always +/// set once the model assembly loads). The project editor is registered from Fallout.ProjectModel when +/// that assembly loads (the CLI composition root / MSBuild bootstrapping pulls it in). Tests may swap +/// implementations directly. +/// +public static class SolutionServices +{ + public static ISolutionSerializer Serializer { get; set; } + public static IProjectEditor Projects { get; set; } +} From c8c861bc6f4cfa85315b4d67008cf92837bfda34 Mon Sep 17 00:00:00 2001 From: Chrison Simtian Date: Mon, 1 Jun 2026 13:02:57 +1200 Subject: [PATCH 22/46] =?UTF-8?q?refactor(arch)!:=20onion=205c=20phase=20C?= =?UTF-8?q?-E=20=E2=80=94=20ProjectModel/Solution=20=E2=86=92=20rings=20(n?= =?UTF-8?q?amespace=20move)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Move the Fallout.Solutions namespace (declared across Fallout.Solution, Fallout.ProjectModel, Fallout.Common) onto the onion rings via OnionRewriter, splitting it three ways: • model + ports + [Solution] vocabulary → Fallout.Application.Solutions (the abstract concept, inner ring) • vendored .sln/.slnx serializer adapter → Fallout.Infrastructure.Solutions • Microsoft.Build evaluator (ProjectModelTasks/ProjectExtensions) → Fallout.Infrastructure.ProjectModel Realised with per-type overrides + a multi-assembly rule (18 moved types, ~47 files). After phase B the model already routes I/O through the ports, so the move adds no Infrastructure dependency to the Application ring. Companion edits the semantic rewriter can't make (string literals): • generator template + attribute-detection string → Application.Solutions • ShimMarker: mirror both new namespaces → Nuke.Common.ProjectModel • cake ClassRewriter using-list + project template + generator test snippets → Application.Solutions • re-accepted 8 namespace-churned Verify snapshots (generator + cake) Fitness gate now loads Fallout.Application.Solutions and stays green (Application ⊥ Infrastructure). The strongly-typed-solution generator's compile-time ReadSolution works unchanged — the serializer adapter is co-hosted in the model assembly the generator already bundles, so its [ModuleInitializer] fires. Full suite (14 projects) + dogfood ./build.sh Compile green (runtime [Solution] injection through the port verified). Co-Authored-By: Claude Opus 4.8 (1M context) --- build/Build.GlobalSolution.cs | 4 +- build/Build.cs | 9 +- src/Fallout.Build/Telemetry/Telemetry.cs | 2 +- src/Fallout.Cli/Program.AddPackage.cs | 2 +- src/Fallout.Cli/Program.Cake.cs | 2 +- src/Fallout.Cli/Program.Update.cs | 3 +- src/Fallout.Cli/ProjectUpdater.cs | 2 +- .../Rewriting/Cake/ClassRewriter.cs | 2 +- .../Attributes/SolutionAttribute.cs | 2 +- .../CI/TeamCity/TeamCityAttribute.cs | 1 - src/Fallout.Components/ICompile.cs | 2 +- src/Fallout.Components/IHasSolution.cs | 2 +- src/Fallout.Components/ITest.cs | 2 +- .../Project.GetMSBuildProject.cs | 3 +- src/Fallout.ProjectModel/Project.Items.cs | 3 +- src/Fallout.ProjectModel/Project.Misc.cs | 5 +- .../Project.Properties.cs | 3 +- .../ProjectEditorAdapter.cs | 3 +- src/Fallout.ProjectModel/ProjectModelTasks.cs | 2 +- .../StronglyTypedSolutionGenerator.cs | 12 +-- src/Persistence/Fallout.Solution/Model.cs | 2 +- .../ProjectQueryExtensions.cs | 2 +- .../SolutionModelExtensions.cs | 2 +- .../SolutionSerializerAdapter.cs | 3 +- .../Fallout.Solution/SolutionServices.cs | 2 +- src/Shims/Nuke.Common/ShimMarker.cs | 16 ++-- .../Consumers/Fallout.Consumer.Local/Build.cs | 2 +- .../ApplicationRingFitnessTests.cs | 7 +- .../cake-scripts/default-target.verified.cs | 2 +- .../cake-scripts/globbing.verified.cs | 2 +- .../cake-scripts/parameters.verified.cs | 2 +- .../cake-scripts/paths.verified.cs | 2 +- .../cake-scripts/references.verified.cs | 2 +- .../cake-scripts/targets.verified.cs | 2 +- .../cake-scripts/tool-invocation.verified.cs | 2 +- .../Fallout.ProjectModel.Tests/ModuleInit.cs | 2 +- .../ProjectModelTest.cs | 3 +- tests/Fallout.Solution.Tests/SolutionTest.cs | 2 +- ...nGeneratorTest.Test#Solution.g.verified.cs | 90 +++++++++---------- .../StronglyTypedSolutionGeneratorTest.cs | 8 +- .../SampleConsumerBuild.cs | 5 +- tools/OnionRewriter/Program.cs | 28 +++--- 42 files changed, 139 insertions(+), 115 deletions(-) diff --git a/build/Build.GlobalSolution.cs b/build/Build.GlobalSolution.cs index ae2da54ac..d59836861 100644 --- a/build/Build.GlobalSolution.cs +++ b/build/Build.GlobalSolution.cs @@ -2,7 +2,6 @@ using System.Collections.Generic; using System.IO; using System.Linq; -using Fallout.Solutions; using Fallout.Kernel; using static Fallout.Application.ControlFlow; using static Fallout.Application.Tools.Git.GitTasks; @@ -12,6 +11,7 @@ using Fallout.Application.Tools.GitHub; using Fallout.Kernel.IO; using Fallout.Kernel.Text.Yaml; +using Fallout.Application.Solutions; partial class Build { @@ -21,7 +21,7 @@ partial class Build AbsolutePath ExternalRepositoriesDirectory => RootDirectory / "external"; AbsolutePath ExternalRepositoriesFile => ExternalRepositoriesDirectory / "repositories.yml"; - IEnumerable ExternalSolutions + IEnumerable ExternalSolutions => ExternalRepositories .Select(x => ExternalRepositoriesDirectory / x.GetGitHubName()) .Select(x => x.GlobFiles("*.sln").Single()) diff --git a/build/Build.cs b/build/Build.cs index 48f07fd25..ea494aae6 100644 --- a/build/Build.cs +++ b/build/Build.cs @@ -3,7 +3,6 @@ using System.Linq; using NuGet.Packaging; using Fallout.Common; -using Fallout.Solutions; using static Fallout.Application.ControlFlow; using static Fallout.Application.Tools.DotNet.DotNetTasks; using Fallout.Application; @@ -18,6 +17,8 @@ using Fallout.Kernel.IO; using Fallout.Kernel; using Fallout.Infrastructure.CI.GitHubActions; +using Fallout.Application.Solutions; +using Fallout.Infrastructure.ProjectModel; [DotNetVerbosityMapping] [ShutdownDotNetAfterServerBuild] @@ -41,7 +42,7 @@ partial class Build GitRepository GitRepository => From().GitRepository; [Solution(GenerateProjects = true)] readonly Solution Solution; - Fallout.Solutions.Solution IHasSolution.Solution => Solution; + Fallout.Application.Solutions.Solution IHasSolution.Solution => Solution; AbsolutePath OutputDirectory => RootDirectory / "output"; AbsolutePath SourceDirectory => RootDirectory / "source"; @@ -98,12 +99,12 @@ private static int ParseMajor(string informationalVersion) .When(!ScheduledTargets.Contains(((IPublish)this).Publish) && !ScheduledTargets.Contains(Install), _ => _ .ClearProperties()); - IEnumerable<(Fallout.Solutions.Project Project, string Framework)> ICompile.PublishConfigurations => + IEnumerable<(Fallout.Application.Solutions.Project Project, string Framework)> ICompile.PublishConfigurations => from project in new[] { Solution.Fallout_Cli, Solution.Fallout_MSBuildTasks } from framework in project.GetTargetFrameworks() select (project, framework); - IEnumerable ITest.TestProjects => Partition.GetCurrent(Solution.GetAllProjects("*.Tests")); + IEnumerable ITest.TestProjects => Partition.GetCurrent(Solution.GetAllProjects("*.Tests")); [Parameter] public int TestDegreeOfParallelism { get; } = 1; diff --git a/src/Fallout.Build/Telemetry/Telemetry.cs b/src/Fallout.Build/Telemetry/Telemetry.cs index 5c5e68f87..65272976c 100644 --- a/src/Fallout.Build/Telemetry/Telemetry.cs +++ b/src/Fallout.Build/Telemetry/Telemetry.cs @@ -2,12 +2,12 @@ using System.Linq; using System.Reflection; using System.Threading; -using Fallout.Solutions; using static Fallout.Application.ControlFlow; using Fallout.Application; using Fallout.Common; using Fallout.Kernel; using Fallout.Kernel.IO; +using Fallout.Application.Solutions; namespace Fallout.Application.Execution; diff --git a/src/Fallout.Cli/Program.AddPackage.cs b/src/Fallout.Cli/Program.AddPackage.cs index a8beb7e0d..35877d9b7 100644 --- a/src/Fallout.Cli/Program.AddPackage.cs +++ b/src/Fallout.Cli/Program.AddPackage.cs @@ -1,12 +1,12 @@ using System; using System.Linq; using Fallout.Common; -using Fallout.Solutions; using Fallout.Application.Execution; using Fallout.Application; using Fallout.Infrastructure.Tooling; using Fallout.Application.Tools.DotNet; using Fallout.Kernel.IO; +using Fallout.Infrastructure.ProjectModel; namespace Fallout.Cli; diff --git a/src/Fallout.Cli/Program.Cake.cs b/src/Fallout.Cli/Program.Cake.cs index e32b1d054..6ad4a1dd3 100644 --- a/src/Fallout.Cli/Program.Cake.cs +++ b/src/Fallout.Cli/Program.Cake.cs @@ -4,7 +4,6 @@ using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp; using Fallout.Common; -using Fallout.Solutions; using Fallout.Cli.Rewriting.Cake; using static Fallout.Common.Constants; using static Fallout.Common.EnvironmentInfo; @@ -13,6 +12,7 @@ using Fallout.Infrastructure.Tooling; using Fallout.Kernel.IO; using Fallout.Kernel; +using Fallout.Infrastructure.ProjectModel; namespace Fallout.Cli; diff --git a/src/Fallout.Cli/Program.Update.cs b/src/Fallout.Cli/Program.Update.cs index 4da1fb631..e2180a169 100644 --- a/src/Fallout.Cli/Program.Update.cs +++ b/src/Fallout.Cli/Program.Update.cs @@ -3,13 +3,14 @@ using System.Linq; using System.Text.Json.Nodes; using Fallout.Common; -using Fallout.Solutions; using static Fallout.Common.Constants; using Fallout.Application.Execution; using Fallout.Application; using Fallout.Application.Tools.DotNet; using Fallout.Kernel.IO; using Fallout.Kernel; +using Fallout.Infrastructure.ProjectModel; +using Fallout.Application.Solutions; namespace Fallout.Cli; diff --git a/src/Fallout.Cli/ProjectUpdater.cs b/src/Fallout.Cli/ProjectUpdater.cs index 04fcfa3b1..1dc70ffaa 100644 --- a/src/Fallout.Cli/ProjectUpdater.cs +++ b/src/Fallout.Cli/ProjectUpdater.cs @@ -2,9 +2,9 @@ using System.Linq; using NuGet.Versioning; using Fallout.Common; -using Fallout.Solutions; using Fallout.Infrastructure.Tooling; using Fallout.Kernel; +using Fallout.Infrastructure.ProjectModel; namespace Fallout.Cli; diff --git a/src/Fallout.Cli/Rewriting/Cake/ClassRewriter.cs b/src/Fallout.Cli/Rewriting/Cake/ClassRewriter.cs index 785a81252..21d49772f 100644 --- a/src/Fallout.Cli/Rewriting/Cake/ClassRewriter.cs +++ b/src/Fallout.Cli/Rewriting/Cake/ClassRewriter.cs @@ -32,7 +32,7 @@ internal class ClassRewriter : SafeSyntaxRewriter "Fallout.Common", "Fallout.Common.Execution", "Fallout.Kernel.IO", - "Fallout.Solutions", + "Fallout.Application.Solutions", "Fallout.Common.Tooling", "Fallout.Common.Tools.DotNet", "Fallout.Common.Tools.GitVersion", diff --git a/src/Fallout.Common/Attributes/SolutionAttribute.cs b/src/Fallout.Common/Attributes/SolutionAttribute.cs index 52f16990e..e8914833e 100644 --- a/src/Fallout.Common/Attributes/SolutionAttribute.cs +++ b/src/Fallout.Common/Attributes/SolutionAttribute.cs @@ -8,7 +8,7 @@ using Fallout.Kernel.IO; using Fallout.Kernel; -namespace Fallout.Solutions; +namespace Fallout.Application.Solutions; /// /// Injects an instance of . The solution path is resolved in the following order: diff --git a/src/Fallout.Common/CI/TeamCity/TeamCityAttribute.cs b/src/Fallout.Common/CI/TeamCity/TeamCityAttribute.cs index 27b252f47..cc457771c 100644 --- a/src/Fallout.Common/CI/TeamCity/TeamCityAttribute.cs +++ b/src/Fallout.Common/CI/TeamCity/TeamCityAttribute.cs @@ -5,7 +5,6 @@ using System.Linq; using System.Linq.Expressions; using System.Reflection; -using Fallout.Solutions; using static Fallout.Kernel.IO.PathConstruction; using Fallout.Application.CI; using Fallout.Application.Utilities; diff --git a/src/Fallout.Components/ICompile.cs b/src/Fallout.Components/ICompile.cs index 278a5f244..1f936ba74 100644 --- a/src/Fallout.Components/ICompile.cs +++ b/src/Fallout.Components/ICompile.cs @@ -1,13 +1,13 @@ using System; using System.Collections.Generic; using System.Linq; -using Fallout.Solutions; using static Fallout.Application.Tools.DotNet.DotNetTasks; using Fallout.Application; using Fallout.Application.Tools.DotNet; using Fallout.Application.Tooling; using Fallout.Kernel; using Fallout.Kernel.Collections; +using Fallout.Application.Solutions; namespace Fallout.Application.Components; diff --git a/src/Fallout.Components/IHasSolution.cs b/src/Fallout.Components/IHasSolution.cs index 2bee32a54..013158d79 100644 --- a/src/Fallout.Components/IHasSolution.cs +++ b/src/Fallout.Components/IHasSolution.cs @@ -1,7 +1,7 @@ using System; using System.Linq; -using Fallout.Solutions; using Fallout.Application; +using Fallout.Application.Solutions; namespace Fallout.Application.Components; diff --git a/src/Fallout.Components/ITest.cs b/src/Fallout.Components/ITest.cs index 4b2b666da..2c5ada7da 100644 --- a/src/Fallout.Components/ITest.cs +++ b/src/Fallout.Components/ITest.cs @@ -2,7 +2,6 @@ using System.Collections.Generic; using System.IO; using System.Linq; -using Fallout.Solutions; using static Fallout.Application.Tools.DotNet.DotNetTasks; using Fallout.Application; using Fallout.Application.Tools.DotNet; @@ -13,6 +12,7 @@ using Fallout.Kernel; using Fallout.Application.CI; +using Fallout.Application.Solutions; namespace Fallout.Application.Components; public interface ITest : ICompile, IHasArtifacts diff --git a/src/Fallout.ProjectModel/Project.GetMSBuildProject.cs b/src/Fallout.ProjectModel/Project.GetMSBuildProject.cs index f37b8b3a4..362e870ac 100644 --- a/src/Fallout.ProjectModel/Project.GetMSBuildProject.cs +++ b/src/Fallout.ProjectModel/Project.GetMSBuildProject.cs @@ -1,6 +1,7 @@ using Fallout.Common; +using Fallout.Application.Solutions; -namespace Fallout.Solutions; +namespace Fallout.Infrastructure.ProjectModel; public static partial class ProjectExtensions { diff --git a/src/Fallout.ProjectModel/Project.Items.cs b/src/Fallout.ProjectModel/Project.Items.cs index e9574c6e9..b7b40c63c 100644 --- a/src/Fallout.ProjectModel/Project.Items.cs +++ b/src/Fallout.ProjectModel/Project.Items.cs @@ -3,8 +3,9 @@ using Fallout.Common; using Fallout.Kernel; +using Fallout.Application.Solutions; -namespace Fallout.Solutions; +namespace Fallout.Infrastructure.ProjectModel; public static partial class ProjectExtensions { diff --git a/src/Fallout.ProjectModel/Project.Misc.cs b/src/Fallout.ProjectModel/Project.Misc.cs index 8f27bf97d..9d95db0f1 100644 --- a/src/Fallout.ProjectModel/Project.Misc.cs +++ b/src/Fallout.ProjectModel/Project.Misc.cs @@ -1,10 +1,11 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using Fallout.Common; +using Fallout.Application.Solutions; -namespace Fallout.Solutions; +namespace Fallout.Infrastructure.ProjectModel; public static partial class ProjectExtensions { diff --git a/src/Fallout.ProjectModel/Project.Properties.cs b/src/Fallout.ProjectModel/Project.Properties.cs index c4a986b1d..213c880b7 100644 --- a/src/Fallout.ProjectModel/Project.Properties.cs +++ b/src/Fallout.ProjectModel/Project.Properties.cs @@ -1,8 +1,9 @@ using Fallout.Common; using Fallout.Kernel; +using Fallout.Application.Solutions; -namespace Fallout.Solutions; +namespace Fallout.Infrastructure.ProjectModel; public static partial class ProjectExtensions { diff --git a/src/Fallout.ProjectModel/ProjectEditorAdapter.cs b/src/Fallout.ProjectModel/ProjectEditorAdapter.cs index 7d134d3d3..ed051954b 100644 --- a/src/Fallout.ProjectModel/ProjectEditorAdapter.cs +++ b/src/Fallout.ProjectModel/ProjectEditorAdapter.cs @@ -3,8 +3,9 @@ using Fallout.Common; using Fallout.Kernel; using Fallout.Kernel.IO; +using Fallout.Application.Solutions; -namespace Fallout.Solutions; +namespace Fallout.Infrastructure.ProjectModel; // Infrastructure adapter for the IProjectEditor port (ADR-0006, step 5c). Owns the Microsoft.Build // evaluation used to read/edit MSBuild project files, keeping the Application ring (e.g. Telemetry) free diff --git a/src/Fallout.ProjectModel/ProjectModelTasks.cs b/src/Fallout.ProjectModel/ProjectModelTasks.cs index d26401d26..65a8561fb 100644 --- a/src/Fallout.ProjectModel/ProjectModelTasks.cs +++ b/src/Fallout.ProjectModel/ProjectModelTasks.cs @@ -12,7 +12,7 @@ using Fallout.Kernel; using Fallout.Kernel.IO; -namespace Fallout.Solutions; +namespace Fallout.Infrastructure.ProjectModel; public static class ProjectModelTasks { diff --git a/src/Fallout.SourceGenerators/StronglyTypedSolutionGenerator.cs b/src/Fallout.SourceGenerators/StronglyTypedSolutionGenerator.cs index 095645134..47ab83008 100644 --- a/src/Fallout.SourceGenerators/StronglyTypedSolutionGenerator.cs +++ b/src/Fallout.SourceGenerators/StronglyTypedSolutionGenerator.cs @@ -8,12 +8,12 @@ using Microsoft.CodeAnalysis.CSharp; using Microsoft.CodeAnalysis.CSharp.Syntax; using Fallout.Common; -using Fallout.Solutions; using Scriban; using static Microsoft.CodeAnalysis.CSharp.SyntaxFactory; using Fallout.Kernel.IO; using Fallout.Kernel.Collections; using Fallout.Kernel; +using Fallout.Application.Solutions; namespace Fallout.SourceGenerators; @@ -31,7 +31,7 @@ public void Execute(GeneratorExecutionContext context) var allTypes = context.Compilation.Assembly.GlobalNamespace.GetAllTypes(); var members = allTypes.SelectMany(x => x.GetMembers()) .Where(x => x is IPropertySymbol or IFieldSymbol) - .Select(x => (Member: x, AttributeData: x.GetAttributeData("global::Fallout.Solutions.SolutionAttribute"))) + .Select(x => (Member: x, AttributeData: x.GetAttributeData("global::Fallout.Application.Solutions.SolutionAttribute"))) .Where(x => x.AttributeData?.NamedArguments.SingleOrDefault(x => x.Key == "GenerateProjects").Value.Value as bool? ?? false) .ToList(); if (members.Count == 0) @@ -54,7 +54,7 @@ public void Execute(GeneratorExecutionContext context) context.AddSource(hintName, $""" // - using Fallout.Solutions; + using Fallout.Application.Solutions; using Fallout.Kernel.IO; using System.Runtime.CompilerServices; @@ -94,13 +94,13 @@ string GetDeclaration(IProjectContainer container, string folderName = null) // lang=csharp var template = Template.Parse(""" {{~ if is_solution ~}} - internal class {{ name }}(AbsolutePath path, object handle) : Fallout.Solutions.Solution(path, handle) + internal class {{ name }}(AbsolutePath path, object handle) : Fallout.Application.Solutions.Solution(path, handle) {{~ else ~}} - internal class {{ name }} : Fallout.Solutions.SolutionFolder + internal class {{ name }} : Fallout.Application.Solutions.SolutionFolder {{~ end ~}} { {{~ for project in projects ~}} - public Fallout.Solutions.Project {{ project.escaped_name }} => this.GetProject("{{ project.name }}"); + public Fallout.Application.Solutions.Project {{ project.escaped_name }} => this.GetProject("{{ project.name }}"); {{~ end ~}} {{~ for folder in folders ~}} diff --git a/src/Persistence/Fallout.Solution/Model.cs b/src/Persistence/Fallout.Solution/Model.cs index b9af92c18..b53a28350 100644 --- a/src/Persistence/Fallout.Solution/Model.cs +++ b/src/Persistence/Fallout.Solution/Model.cs @@ -6,7 +6,7 @@ using Fallout.Kernel.IO; using Fallout.Kernel; -namespace Fallout.Solutions; +namespace Fallout.Application.Solutions; public interface IProjectContainer { diff --git a/src/Persistence/Fallout.Solution/ProjectQueryExtensions.cs b/src/Persistence/Fallout.Solution/ProjectQueryExtensions.cs index a884401a8..f09b98be7 100644 --- a/src/Persistence/Fallout.Solution/ProjectQueryExtensions.cs +++ b/src/Persistence/Fallout.Solution/ProjectQueryExtensions.cs @@ -1,6 +1,6 @@ using Fallout.Kernel.IO; -namespace Fallout.Solutions; +namespace Fallout.Application.Solutions; // Application-ring conveniences over a Project that need impure MSBuild evaluation. They route through the // IProjectEditor port (implemented in Fallout.ProjectModel) so the inner ring stays free of Microsoft.Build. diff --git a/src/Persistence/Fallout.Solution/SolutionModelExtensions.cs b/src/Persistence/Fallout.Solution/SolutionModelExtensions.cs index a0fc9fec7..b2a4a0dad 100644 --- a/src/Persistence/Fallout.Solution/SolutionModelExtensions.cs +++ b/src/Persistence/Fallout.Solution/SolutionModelExtensions.cs @@ -1,6 +1,6 @@ using Fallout.Kernel.IO; -namespace Fallout.Solutions; +namespace Fallout.Application.Solutions; public static class SolutionModelExtensions { diff --git a/src/Persistence/Fallout.Solution/SolutionSerializerAdapter.cs b/src/Persistence/Fallout.Solution/SolutionSerializerAdapter.cs index 80e0a4bdf..031035af6 100644 --- a/src/Persistence/Fallout.Solution/SolutionSerializerAdapter.cs +++ b/src/Persistence/Fallout.Solution/SolutionSerializerAdapter.cs @@ -7,8 +7,9 @@ using Fallout.Common; using Fallout.Kernel.IO; using Fallout.Kernel; +using Fallout.Application.Solutions; -namespace Fallout.Solutions; +namespace Fallout.Infrastructure.Solutions; // Infrastructure adapter for the ISolutionSerializer port (ADR-0006, step 5c). It owns the only references // to the vendored, format-specific serializers (legacy .sln = SlnV12, XML .slnx = SlnXml — selected by diff --git a/src/Persistence/Fallout.Solution/SolutionServices.cs b/src/Persistence/Fallout.Solution/SolutionServices.cs index d0fdc6ee5..70729c204 100644 --- a/src/Persistence/Fallout.Solution/SolutionServices.cs +++ b/src/Persistence/Fallout.Solution/SolutionServices.cs @@ -1,6 +1,6 @@ using Fallout.Kernel.IO; -namespace Fallout.Solutions; +namespace Fallout.Application.Solutions; // Ports for the impure solution/project I/O (ADR-0006, onion realignment step 5c). The Application ring // (the Solution/Project model, [Solution] injection, build orchestration) depends only on these diff --git a/src/Shims/Nuke.Common/ShimMarker.cs b/src/Shims/Nuke.Common/ShimMarker.cs index 0f314f14e..c23affe2c 100644 --- a/src/Shims/Nuke.Common/ShimMarker.cs +++ b/src/Shims/Nuke.Common/ShimMarker.cs @@ -9,11 +9,15 @@ fromNamespacePrefix: "Fallout.Common", toNamespacePrefix: "Nuke.Common")] -// The solution-handling types moved from Fallout.Common.ProjectModel to the -// dedicated Fallout.Solutions namespace in v11 (see #248 and the broader -// onion-layering work). For NUKE-era consumers, mirror them into the legacy -// Nuke.Common.ProjectModel namespace so existing `using Nuke.Common.ProjectModel;` -// + `[Solution] readonly Solution Solution;` keep compiling. +// The solution-handling types moved from Fallout.Common.ProjectModel to the dedicated Fallout.Solutions +// namespace in v11 (see #248), then split across the onion rings in the 2026 line (ADR-0006, step 5c): +// the Solution/Project model + [Solution] vocabulary → Fallout.Application.Solutions, and the MSBuild +// project evaluator (ProjectModelTasks/ProjectExtensions) → Fallout.Infrastructure.ProjectModel. NUKE's +// Nuke.Common.ProjectModel held both, so mirror both new namespaces back into it for NUKE-era consumers: +// `using Nuke.Common.ProjectModel;` + `[Solution] readonly Solution Solution;` keep compiling. [assembly: Fallout.Migrate.Shims.ShimAllPublicTypesUnder( - fromNamespacePrefix: "Fallout.Solutions", + fromNamespacePrefix: "Fallout.Application.Solutions", + toNamespacePrefix: "Nuke.Common.ProjectModel")] +[assembly: Fallout.Migrate.Shims.ShimAllPublicTypesUnder( + fromNamespacePrefix: "Fallout.Infrastructure.ProjectModel", toNamespacePrefix: "Nuke.Common.ProjectModel")] diff --git a/tests/Consumers/Fallout.Consumer.Local/Build.cs b/tests/Consumers/Fallout.Consumer.Local/Build.cs index 405888583..d94dce3d1 100644 --- a/tests/Consumers/Fallout.Consumer.Local/Build.cs +++ b/tests/Consumers/Fallout.Consumer.Local/Build.cs @@ -1,5 +1,5 @@ -using Fallout.Solutions; // was Fallout.Common.ProjectModel; — renamed in #254 (persistence layering + namespace cleanup) using Fallout.Application; +using Fallout.Application.Solutions; class Build : FalloutBuild { diff --git a/tests/Fallout.Architecture.Tests/ApplicationRingFitnessTests.cs b/tests/Fallout.Architecture.Tests/ApplicationRingFitnessTests.cs index 60db46832..ff2a85da0 100644 --- a/tests/Fallout.Architecture.Tests/ApplicationRingFitnessTests.cs +++ b/tests/Fallout.Architecture.Tests/ApplicationRingFitnessTests.cs @@ -16,13 +16,16 @@ namespace Fallout.Architecture.Tests; /// public class ApplicationRingFitnessTests { - // Application-ring types are spread across three assemblies: Fallout.Build (root/Execution/CI/Utilities), - // Fallout.Tooling (Application.Tooling vocabulary + ports), and Fallout.Common (Application.Tools.*). + // Application-ring types are spread across four assemblies: Fallout.Build (root/Execution/CI/Utilities), + // Fallout.Tooling (Application.Tooling vocabulary + ports), Fallout.Common (Application.Tools.*), and + // Fallout.Solution (Application.Solutions model + ports — step 5c; the co-hosted Infrastructure.Solutions + // serializer adapter lives in the same assembly but is filtered out by the namespace clause below). private static readonly Assembly[] ApplicationAssemblies = [ typeof(global::Fallout.Application.FalloutBuild).Assembly, typeof(global::Fallout.Application.Tooling.ToolTasks).Assembly, typeof(global::Fallout.Application.Tools.DotNet.DotNetTasks).Assembly, + typeof(global::Fallout.Application.Solutions.Solution).Assembly, ]; [Fact] diff --git a/tests/Fallout.Cli.Tests/cake-scripts/default-target.verified.cs b/tests/Fallout.Cli.Tests/cake-scripts/default-target.verified.cs index 2a66805ee..4345fc02c 100644 --- a/tests/Fallout.Cli.Tests/cake-scripts/default-target.verified.cs +++ b/tests/Fallout.Cli.Tests/cake-scripts/default-target.verified.cs @@ -8,7 +8,7 @@ using Fallout.Common; using Fallout.Common.Execution; using Fallout.Kernel.IO; -using Fallout.Solutions; +using Fallout.Application.Solutions; using Fallout.Common.Tooling; using Fallout.Common.Tools.DotNet; using Fallout.Common.Tools.GitVersion; diff --git a/tests/Fallout.Cli.Tests/cake-scripts/globbing.verified.cs b/tests/Fallout.Cli.Tests/cake-scripts/globbing.verified.cs index d1f5694ad..781bbaf19 100644 --- a/tests/Fallout.Cli.Tests/cake-scripts/globbing.verified.cs +++ b/tests/Fallout.Cli.Tests/cake-scripts/globbing.verified.cs @@ -8,7 +8,7 @@ using Fallout.Common; using Fallout.Common.Execution; using Fallout.Kernel.IO; -using Fallout.Solutions; +using Fallout.Application.Solutions; using Fallout.Common.Tooling; using Fallout.Common.Tools.DotNet; using Fallout.Common.Tools.GitVersion; diff --git a/tests/Fallout.Cli.Tests/cake-scripts/parameters.verified.cs b/tests/Fallout.Cli.Tests/cake-scripts/parameters.verified.cs index c57c9f861..5b72664d1 100644 --- a/tests/Fallout.Cli.Tests/cake-scripts/parameters.verified.cs +++ b/tests/Fallout.Cli.Tests/cake-scripts/parameters.verified.cs @@ -8,7 +8,7 @@ using Fallout.Common; using Fallout.Common.Execution; using Fallout.Kernel.IO; -using Fallout.Solutions; +using Fallout.Application.Solutions; using Fallout.Common.Tooling; using Fallout.Common.Tools.DotNet; using Fallout.Common.Tools.GitVersion; diff --git a/tests/Fallout.Cli.Tests/cake-scripts/paths.verified.cs b/tests/Fallout.Cli.Tests/cake-scripts/paths.verified.cs index 2005d20ad..250c8424a 100644 --- a/tests/Fallout.Cli.Tests/cake-scripts/paths.verified.cs +++ b/tests/Fallout.Cli.Tests/cake-scripts/paths.verified.cs @@ -8,7 +8,7 @@ using Fallout.Common; using Fallout.Common.Execution; using Fallout.Kernel.IO; -using Fallout.Solutions; +using Fallout.Application.Solutions; using Fallout.Common.Tooling; using Fallout.Common.Tools.DotNet; using Fallout.Common.Tools.GitVersion; diff --git a/tests/Fallout.Cli.Tests/cake-scripts/references.verified.cs b/tests/Fallout.Cli.Tests/cake-scripts/references.verified.cs index 85f24701a..85c40b867 100644 --- a/tests/Fallout.Cli.Tests/cake-scripts/references.verified.cs +++ b/tests/Fallout.Cli.Tests/cake-scripts/references.verified.cs @@ -8,7 +8,7 @@ using Fallout.Common; using Fallout.Common.Execution; using Fallout.Kernel.IO; -using Fallout.Solutions; +using Fallout.Application.Solutions; using Fallout.Common.Tooling; using Fallout.Common.Tools.DotNet; using Fallout.Common.Tools.GitVersion; diff --git a/tests/Fallout.Cli.Tests/cake-scripts/targets.verified.cs b/tests/Fallout.Cli.Tests/cake-scripts/targets.verified.cs index 2a8dec940..4752d15c8 100644 --- a/tests/Fallout.Cli.Tests/cake-scripts/targets.verified.cs +++ b/tests/Fallout.Cli.Tests/cake-scripts/targets.verified.cs @@ -8,7 +8,7 @@ using Fallout.Common; using Fallout.Common.Execution; using Fallout.Kernel.IO; -using Fallout.Solutions; +using Fallout.Application.Solutions; using Fallout.Common.Tooling; using Fallout.Common.Tools.DotNet; using Fallout.Common.Tools.GitVersion; diff --git a/tests/Fallout.Cli.Tests/cake-scripts/tool-invocation.verified.cs b/tests/Fallout.Cli.Tests/cake-scripts/tool-invocation.verified.cs index a54c27b8c..77a6debc8 100644 --- a/tests/Fallout.Cli.Tests/cake-scripts/tool-invocation.verified.cs +++ b/tests/Fallout.Cli.Tests/cake-scripts/tool-invocation.verified.cs @@ -8,7 +8,7 @@ using Fallout.Common; using Fallout.Common.Execution; using Fallout.Kernel.IO; -using Fallout.Solutions; +using Fallout.Application.Solutions; using Fallout.Common.Tooling; using Fallout.Common.Tools.DotNet; using Fallout.Common.Tools.GitVersion; diff --git a/tests/Fallout.ProjectModel.Tests/ModuleInit.cs b/tests/Fallout.ProjectModel.Tests/ModuleInit.cs index b0e969fe6..a2015d92e 100644 --- a/tests/Fallout.ProjectModel.Tests/ModuleInit.cs +++ b/tests/Fallout.ProjectModel.Tests/ModuleInit.cs @@ -1,5 +1,5 @@ using System.Runtime.CompilerServices; -using Fallout.Solutions; +using Fallout.Infrastructure.ProjectModel; namespace Fallout.Common.Tests; diff --git a/tests/Fallout.ProjectModel.Tests/ProjectModelTest.cs b/tests/Fallout.ProjectModel.Tests/ProjectModelTest.cs index 3a34f9115..274844d3e 100644 --- a/tests/Fallout.ProjectModel.Tests/ProjectModelTest.cs +++ b/tests/Fallout.ProjectModel.Tests/ProjectModelTest.cs @@ -1,9 +1,10 @@ using System; using System.Linq; using FluentAssertions; -using Fallout.Solutions; using Xunit; using Fallout.Kernel.IO; +using Fallout.Application.Solutions; +using Fallout.Infrastructure.ProjectModel; namespace Fallout.Common.Tests; diff --git a/tests/Fallout.Solution.Tests/SolutionTest.cs b/tests/Fallout.Solution.Tests/SolutionTest.cs index 9bd6ba18d..c0a9cb98e 100644 --- a/tests/Fallout.Solution.Tests/SolutionTest.cs +++ b/tests/Fallout.Solution.Tests/SolutionTest.cs @@ -1,10 +1,10 @@ using System; using System.Linq; using FluentAssertions; -using Fallout.Solutions; using Fallout.Kernel; using Xunit; using Fallout.Kernel.IO; +using Fallout.Application.Solutions; namespace Fallout.Common.Tests; diff --git a/tests/Fallout.SourceGenerators.Tests/StronglyTypedSolutionGeneratorTest.Test#Solution.g.verified.cs b/tests/Fallout.SourceGenerators.Tests/StronglyTypedSolutionGeneratorTest.Test#Solution.g.verified.cs index 31ef9d94c..d448597a7 100644 --- a/tests/Fallout.SourceGenerators.Tests/StronglyTypedSolutionGeneratorTest.Test#Solution.g.verified.cs +++ b/tests/Fallout.SourceGenerators.Tests/StronglyTypedSolutionGeneratorTest.Test#Solution.g.verified.cs @@ -1,58 +1,58 @@ //HintName: Solution.g.cs // -using Fallout.Solutions; +using Fallout.Application.Solutions; using Fallout.Kernel.IO; using System.Runtime.CompilerServices; -internal class Solution(AbsolutePath path, object handle) : Fallout.Solutions.Solution(path, handle) +internal class Solution(AbsolutePath path, object handle) : Fallout.Application.Solutions.Solution(path, handle) { - public Fallout.Solutions.Project _build => this.GetProject("_build"); - public Fallout.Solutions.Project Fallout_Architecture_Tests => this.GetProject("Fallout.Architecture.Tests"); - public Fallout.Solutions.Project Fallout_Build => this.GetProject("Fallout.Build"); - public Fallout.Solutions.Project Fallout_Build_Shared => this.GetProject("Fallout.Build.Shared"); - public Fallout.Solutions.Project Fallout_Build_Tests => this.GetProject("Fallout.Build.Tests"); - public Fallout.Solutions.Project Fallout_Cli => this.GetProject("Fallout.Cli"); - public Fallout.Solutions.Project Fallout_Cli_Tests => this.GetProject("Fallout.Cli.Tests"); - public Fallout.Solutions.Project Fallout_Common => this.GetProject("Fallout.Common"); - public Fallout.Solutions.Project Fallout_Common_Tests => this.GetProject("Fallout.Common.Tests"); - public Fallout.Solutions.Project Fallout_Components => this.GetProject("Fallout.Components"); - public Fallout.Solutions.Project Fallout_Components_Tests => this.GetProject("Fallout.Components.Tests"); - public Fallout.Solutions.Project Fallout_Consumer_Local => this.GetProject("Fallout.Consumer.Local"); - public Fallout.Solutions.Project Fallout_Consumer_NuGet => this.GetProject("Fallout.Consumer.NuGet"); - public Fallout.Solutions.Project Fallout_Domain => this.GetProject("Fallout.Domain"); - public Fallout.Solutions.Project Fallout_Domain_Tests => this.GetProject("Fallout.Domain.Tests"); - public Fallout.Solutions.Project Fallout_Migrate => this.GetProject("Fallout.Migrate"); - public Fallout.Solutions.Project Fallout_Migrate_Analyzers => this.GetProject("Fallout.Migrate.Analyzers"); - public Fallout.Solutions.Project Fallout_Migrate_Analyzers_Tests => this.GetProject("Fallout.Migrate.Analyzers.Tests"); - public Fallout.Solutions.Project Fallout_Migrate_Tests => this.GetProject("Fallout.Migrate.Tests"); - public Fallout.Solutions.Project Fallout_MSBuildTasks => this.GetProject("Fallout.MSBuildTasks"); - public Fallout.Solutions.Project Fallout_Persistence_Solution => this.GetProject("Fallout.Persistence.Solution"); - public Fallout.Solutions.Project Fallout_Persistence_Solution_Benchmarks => this.GetProject("Fallout.Persistence.Solution.Benchmarks"); - public Fallout.Solutions.Project Fallout_ProjectModel => this.GetProject("Fallout.ProjectModel"); - public Fallout.Solutions.Project Fallout_ProjectModel_Tests => this.GetProject("Fallout.ProjectModel.Tests"); - public Fallout.Solutions.Project Fallout_Solution => this.GetProject("Fallout.Solution"); - public Fallout.Solutions.Project Fallout_Solution_Tests => this.GetProject("Fallout.Solution.Tests"); - public Fallout.Solutions.Project Fallout_SourceGenerators => this.GetProject("Fallout.SourceGenerators"); - public Fallout.Solutions.Project Fallout_SourceGenerators_Tests => this.GetProject("Fallout.SourceGenerators.Tests"); - public Fallout.Solutions.Project Fallout_Tooling => this.GetProject("Fallout.Tooling"); - public Fallout.Solutions.Project Fallout_Tooling_Generator => this.GetProject("Fallout.Tooling.Generator"); - public Fallout.Solutions.Project Fallout_Tooling_Tests => this.GetProject("Fallout.Tooling.Tests"); - public Fallout.Solutions.Project Fallout_Utilities => this.GetProject("Fallout.Utilities"); - public Fallout.Solutions.Project Fallout_Utilities_IO_Compression => this.GetProject("Fallout.Utilities.IO.Compression"); - public Fallout.Solutions.Project Fallout_Utilities_IO_Globbing => this.GetProject("Fallout.Utilities.IO.Globbing"); - public Fallout.Solutions.Project Fallout_Utilities_Net => this.GetProject("Fallout.Utilities.Net"); - public Fallout.Solutions.Project Fallout_Utilities_Tests => this.GetProject("Fallout.Utilities.Tests"); - public Fallout.Solutions.Project Fallout_Utilities_Text_Json => this.GetProject("Fallout.Utilities.Text.Json"); - public Fallout.Solutions.Project Fallout_Utilities_Text_Yaml => this.GetProject("Fallout.Utilities.Text.Yaml"); - public Fallout.Solutions.Project Nuke_Build => this.GetProject("Nuke.Build"); - public Fallout.Solutions.Project Nuke_Common => this.GetProject("Nuke.Common"); - public Fallout.Solutions.Project Nuke_Components => this.GetProject("Nuke.Components"); - public Fallout.Solutions.Project Nuke_Components_Shim_Tests => this.GetProject("Nuke.Components.Shim.Tests"); + public Fallout.Application.Solutions.Project _build => this.GetProject("_build"); + public Fallout.Application.Solutions.Project Fallout_Architecture_Tests => this.GetProject("Fallout.Architecture.Tests"); + public Fallout.Application.Solutions.Project Fallout_Build => this.GetProject("Fallout.Build"); + public Fallout.Application.Solutions.Project Fallout_Build_Shared => this.GetProject("Fallout.Build.Shared"); + public Fallout.Application.Solutions.Project Fallout_Build_Tests => this.GetProject("Fallout.Build.Tests"); + public Fallout.Application.Solutions.Project Fallout_Cli => this.GetProject("Fallout.Cli"); + public Fallout.Application.Solutions.Project Fallout_Cli_Tests => this.GetProject("Fallout.Cli.Tests"); + public Fallout.Application.Solutions.Project Fallout_Common => this.GetProject("Fallout.Common"); + public Fallout.Application.Solutions.Project Fallout_Common_Tests => this.GetProject("Fallout.Common.Tests"); + public Fallout.Application.Solutions.Project Fallout_Components => this.GetProject("Fallout.Components"); + public Fallout.Application.Solutions.Project Fallout_Components_Tests => this.GetProject("Fallout.Components.Tests"); + public Fallout.Application.Solutions.Project Fallout_Consumer_Local => this.GetProject("Fallout.Consumer.Local"); + public Fallout.Application.Solutions.Project Fallout_Consumer_NuGet => this.GetProject("Fallout.Consumer.NuGet"); + public Fallout.Application.Solutions.Project Fallout_Domain => this.GetProject("Fallout.Domain"); + public Fallout.Application.Solutions.Project Fallout_Domain_Tests => this.GetProject("Fallout.Domain.Tests"); + public Fallout.Application.Solutions.Project Fallout_Migrate => this.GetProject("Fallout.Migrate"); + public Fallout.Application.Solutions.Project Fallout_Migrate_Analyzers => this.GetProject("Fallout.Migrate.Analyzers"); + public Fallout.Application.Solutions.Project Fallout_Migrate_Analyzers_Tests => this.GetProject("Fallout.Migrate.Analyzers.Tests"); + public Fallout.Application.Solutions.Project Fallout_Migrate_Tests => this.GetProject("Fallout.Migrate.Tests"); + public Fallout.Application.Solutions.Project Fallout_MSBuildTasks => this.GetProject("Fallout.MSBuildTasks"); + public Fallout.Application.Solutions.Project Fallout_Persistence_Solution => this.GetProject("Fallout.Persistence.Solution"); + public Fallout.Application.Solutions.Project Fallout_Persistence_Solution_Benchmarks => this.GetProject("Fallout.Persistence.Solution.Benchmarks"); + public Fallout.Application.Solutions.Project Fallout_ProjectModel => this.GetProject("Fallout.ProjectModel"); + public Fallout.Application.Solutions.Project Fallout_ProjectModel_Tests => this.GetProject("Fallout.ProjectModel.Tests"); + public Fallout.Application.Solutions.Project Fallout_Solution => this.GetProject("Fallout.Solution"); + public Fallout.Application.Solutions.Project Fallout_Solution_Tests => this.GetProject("Fallout.Solution.Tests"); + public Fallout.Application.Solutions.Project Fallout_SourceGenerators => this.GetProject("Fallout.SourceGenerators"); + public Fallout.Application.Solutions.Project Fallout_SourceGenerators_Tests => this.GetProject("Fallout.SourceGenerators.Tests"); + public Fallout.Application.Solutions.Project Fallout_Tooling => this.GetProject("Fallout.Tooling"); + public Fallout.Application.Solutions.Project Fallout_Tooling_Generator => this.GetProject("Fallout.Tooling.Generator"); + public Fallout.Application.Solutions.Project Fallout_Tooling_Tests => this.GetProject("Fallout.Tooling.Tests"); + public Fallout.Application.Solutions.Project Fallout_Utilities => this.GetProject("Fallout.Utilities"); + public Fallout.Application.Solutions.Project Fallout_Utilities_IO_Compression => this.GetProject("Fallout.Utilities.IO.Compression"); + public Fallout.Application.Solutions.Project Fallout_Utilities_IO_Globbing => this.GetProject("Fallout.Utilities.IO.Globbing"); + public Fallout.Application.Solutions.Project Fallout_Utilities_Net => this.GetProject("Fallout.Utilities.Net"); + public Fallout.Application.Solutions.Project Fallout_Utilities_Tests => this.GetProject("Fallout.Utilities.Tests"); + public Fallout.Application.Solutions.Project Fallout_Utilities_Text_Json => this.GetProject("Fallout.Utilities.Text.Json"); + public Fallout.Application.Solutions.Project Fallout_Utilities_Text_Yaml => this.GetProject("Fallout.Utilities.Text.Yaml"); + public Fallout.Application.Solutions.Project Nuke_Build => this.GetProject("Nuke.Build"); + public Fallout.Application.Solutions.Project Nuke_Common => this.GetProject("Nuke.Common"); + public Fallout.Application.Solutions.Project Nuke_Components => this.GetProject("Nuke.Components"); + public Fallout.Application.Solutions.Project Nuke_Components_Shim_Tests => this.GetProject("Nuke.Components.Shim.Tests"); public _misc misc => Unsafe.As<_misc>(this.GetSolutionFolder("misc")); - internal class _misc : Fallout.Solutions.SolutionFolder + internal class _misc : Fallout.Application.Solutions.SolutionFolder { diff --git a/tests/Fallout.SourceGenerators.Tests/StronglyTypedSolutionGeneratorTest.cs b/tests/Fallout.SourceGenerators.Tests/StronglyTypedSolutionGeneratorTest.cs index 65b531f46..8533f96d0 100644 --- a/tests/Fallout.SourceGenerators.Tests/StronglyTypedSolutionGeneratorTest.cs +++ b/tests/Fallout.SourceGenerators.Tests/StronglyTypedSolutionGeneratorTest.cs @@ -4,10 +4,10 @@ using FluentAssertions; using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp; -using Fallout.Solutions; using VerifyXunit; using Xunit; using Fallout.Application; +using Fallout.Application.Solutions; namespace Fallout.SourceGenerators.Tests; @@ -18,7 +18,7 @@ public Task Test() { var inputCompilation = CreateCompilation(""" using Fallout.Common; - using Fallout.Solutions; + using Fallout.Application.Solutions; partial class Build : FalloutBuild { [Solution(GenerateProjects = true)] @@ -38,7 +38,7 @@ public void TestDisabled() var inputCompilation = CreateCompilation(""" using Fallout.Common; - using Fallout.Solutions; + using Fallout.Application.Solutions; partial class Build : FalloutBuild { @@ -62,7 +62,7 @@ public void TestUnspecified() var inputCompilation = CreateCompilation(""" using Fallout.Common; - using Fallout.Solutions; + using Fallout.Application.Solutions; partial class Build : FalloutBuild { diff --git a/tests/Nuke.Common.Shim.Tests/SampleConsumerBuild.cs b/tests/Nuke.Common.Shim.Tests/SampleConsumerBuild.cs index 0454fabf4..0a58caae7 100644 --- a/tests/Nuke.Common.Shim.Tests/SampleConsumerBuild.cs +++ b/tests/Nuke.Common.Shim.Tests/SampleConsumerBuild.cs @@ -17,6 +17,7 @@ using Nuke.Common.Utilities; using Fallout.Application.Git; using Fallout.Kernel.IO; +using Fallout.Application.Solutions; namespace Nuke.Common.Shim.Tests; @@ -30,8 +31,8 @@ public abstract class SampleConsumerBuild : NukeBuild, INukeBuild [Parameter("Configuration to build")] readonly string Configuration; [Parameter] readonly bool RunTests; [Secret] readonly string NuGetApiKey; - [Solution] readonly Fallout.Solutions.Solution Solution; - [Solution("path/to/explicit.slnx")] readonly Fallout.Solutions.Solution ExplicitSolution; + [Solution] readonly Fallout.Application.Solutions.Solution Solution; + [Solution("path/to/explicit.slnx")] readonly Fallout.Application.Solutions.Solution ExplicitSolution; [GitRepository] readonly Fallout.Application.Git.GitRepository GitRepository; // CI-host shims expose only the static `Instance` accessor. Consumers can diff --git a/tools/OnionRewriter/Program.cs b/tools/OnionRewriter/Program.cs index 69213a634..8601b1003 100644 --- a/tools/OnionRewriter/Program.cs +++ b/tools/OnionRewriter/Program.cs @@ -23,22 +23,30 @@ static class Runner // across rings type-by-type uses `TypeOverrides` (full-name → target ns), which beats the prefix rule. record struct Rule(string Old, string New, string[] SourceAssemblies); - // Step 5b — CI host providers → Infrastructure. The concrete CI provider classes (AppVeyor, - // AzurePipelines, TeamCity, GitHubActions, … : Host) and their config generators move from - // Fallout.Common.CI.* to Fallout.Infrastructure.CI.*. The Application ring reaches the provider-specific - // capabilities it needs through ports (IAppVeyor/IAzurePipelines/ITeamCity/IGitHubActions + CiHost) that - // were added in Fallout.Application.CI; consumers were already rewritten to CiHost, so this move doesn't - // add any Infrastructure using to the Application ring (gate stays green). The two enums the port methods - // expose are vocabulary → Fallout.Application.CI (per-type override). + // Step 5c — ProjectModel/Solution → ports (ADR-0006). The single Fallout.Solutions namespace is declared + // across three assemblies and splits THREE ways: + // • the Fallout-owned model + ports + [Solution] vocabulary → Fallout.Application.Solutions (the abstract + // concept, inner ring): default rule below. + // • the vendored .sln/.slnx serializer adapter (Fallout.Solution asm) → Fallout.Infrastructure.Solutions. + // • the Microsoft.Build evaluator (Fallout.ProjectModel asm) → Fallout.Infrastructure.ProjectModel. + // The two Infrastructure destinations are per-type overrides (they beat the default prefix rule). After + // phase B the model already routes solution/project I/O through the ports, so this move adds no + // Infrastructure dependency to the Application ring (gate stays green). static readonly Rule[] Rules = [ - new("Fallout.Common.CI", "Fallout.Infrastructure.CI", ["Fallout.Common"]), + new("Fallout.Solutions", "Fallout.Application.Solutions", ["Fallout.Solution", "Fallout.ProjectModel", "Fallout.Common"]), ]; static readonly Dictionary TypeOverrides = new() { - ["Fallout.Common.CI.AzurePipelines.AzurePipelinesTestResultsType"] = "Fallout.Application.CI", - ["Fallout.Common.CI.AzurePipelines.AzurePipelinesCodeCoverageToolType"] = "Fallout.Application.CI", + // Serializer adapter (concrete .sln/.slnx, vendored) → Infrastructure.Solutions. + ["Fallout.Solutions.SolutionSerializerAdapter"] = "Fallout.Infrastructure.Solutions", + ["Fallout.Solutions.SolutionSerializerRegistration"] = "Fallout.Infrastructure.Solutions", + // MSBuild evaluator → Infrastructure.ProjectModel. + ["Fallout.Solutions.ProjectModelTasks"] = "Fallout.Infrastructure.ProjectModel", + ["Fallout.Solutions.ProjectExtensions"] = "Fallout.Infrastructure.ProjectModel", + ["Fallout.Solutions.ProjectEditorAdapter"] = "Fallout.Infrastructure.ProjectModel", + ["Fallout.Solutions.ProjectEditorRegistration"] = "Fallout.Infrastructure.ProjectModel", }; static bool Matches(Rule r, string ns) => ns == r.Old || ns.StartsWith(r.Old + "."); From b028bc0ffc0ab3301aa0db044aed52728dfdcbc8 Mon Sep 17 00:00:00 2001 From: Chrison Simtian Date: Mon, 1 Jun 2026 13:04:02 +1200 Subject: [PATCH 23/46] =?UTF-8?q?docs(spike):=20record=20onion=205c=20done?= =?UTF-8?q?=20=E2=80=94=20ProjectModel/Solution=20full-onion=20realization?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Mark 5c complete in spike 0003: Fallout-owned POCO model + opaque handle, ISolutionSerializer/IProjectEditor ports, co-hosted adapters, the vendored-entanglement + false-positive findings, and the pre-existing ClassRewriter/template stale-namespace debt found but left out of scope. All substantive ring moves are now landed. Co-Authored-By: Claude Opus 4.8 (1M context) --- docs/spikes/0003-onion-infrastructure-ring.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/docs/spikes/0003-onion-infrastructure-ring.md b/docs/spikes/0003-onion-infrastructure-ring.md index c5fad941a..4e443ad53 100644 --- a/docs/spikes/0003-onion-infrastructure-ring.md +++ b/docs/spikes/0003-onion-infrastructure-ring.md @@ -1,6 +1,6 @@ # Spike 0003 — Onion realignment: the Infrastructure ring (steps 3–5) -- **Status:** In progress — step 3, 4a, 4b + inversion, 5a, 5b done; **step 5d (external IO) resolved by decision — kept in Kernel, no code moves** (gate green). Remaining: 5c ProjectModel/Solution→Infra (needs ports); then the deferred project-FILE renames (incl. `Fallout.Utilities`→`Fallout.Kernel` assembly) + `Nuke.*` shim/migration redesign. On branch `spike/onion-kernel` (stacked on `spike/onion-infrastructure`). +- **Status:** In progress — step 3, 4a, 4b + inversion, 5a, 5b, **5c done** (full onion: Fallout-owned model + ports); **step 5d (external IO) resolved by decision — kept in Kernel, no code moves** (gate green). All substantive ring moves are now landed. Remaining: the deferred project-FILE renames (incl. `Fallout.Utilities`→`Fallout.Kernel` assembly) + `Nuke.*` shim/migration redesign. On branch `spike/onion-kernel` (stacked on `spike/onion-infrastructure`). - **Date:** 2026-05-31 (updated 2026-06-01) - **Decision record:** [ADR-0006](../adr/0006-onion-layering-and-namespace-realignment.md) - **Channel:** `experimental` (branch `spike/onion-infrastructure`) @@ -44,7 +44,11 @@ Catch-all `Fallout.Common.*` code outside the Application ring (CI host adapters - **To Infrastructure**: `Fallout.Utilities.Net` (HTTP), `Fallout.Utilities.IO.Compression`, and `Common.IO`'s `HttpTasks`/`FtpTasks`. The `Common.IO` namespace thus SPLITS per-type (filesystem→Kernel, Http/Ftp→Infra) — needs the rewriter's per-type overrides again. - **Caveats**: `AbsolutePathExtensions` is one partial class across ~11 files — it must move WHOLE (can't span assemblies), so it goes entirely to Kernel (fine, since filesystem=Kernel). **This is the first step that creates a NEW PROJECT / relocates files** (vs. the namespace-only moves of 4a/4b) — likely realized by renaming the existing `Fallout.Utilities` project → `Fallout.Kernel` and consolidating the IO bits, which overlaps the "project-file renames" deferred work. `Fallout.Domain` will gain a dependency on `Fallout.Kernel` (Kernel is innermost-shared). No back-references found from Utilities/IO into Domain/App/Infra (clean to move). - **5b — CI adapters**: `Fallout.Common.CI.` → `Fallout.Infrastructure.CI.*`. -- **5c — ProjectModel/Solution** (NOT a clean move — needs ports like 4b/5b): decision is model→Application, parser→Infrastructure, BUT `ProjectModelTasks`/`ProjectExtensions` (MSBuild loading) are called by ~5 Application-ring files (`Host.Activation`, `CIAttribute`, `ExecutableTargetFactory`, `Telemetry`), so they need an `IProjectModel`-style port (impl→Infrastructure) rather than a namespace move. `Solution`/`Project` model (vocabulary, pervasive) → `Fallout.Application.*`; `SolutionAttribute` (Fallout.Common) is the `[Solution]` injection vocab → Application; vendored `Fallout.Persistence.Solution.Serializer.*` → Infrastructure (or leave as a self-contained tree). Own focused follow-up. +- **5c — ProjectModel/Solution** ✅ DONE (full onion; commits 9548a948 phase A, c6a3cb5d phase B, fea66fa3 phase C–E). **Maintainer chose the most faithful realization: a Fallout-OWNED model + ports in the inner ring, concrete impls outside.** Reality differed from the original guess in two ways: (1) the earlier "~5 Application callers" of the MSBuild surface were almost all FALSE POSITIVES (Reflection/JSON `.GetProperty`); the only gated callers were `Telemetry.CheckAwareness` (dead code, telemetry disabled) and `Components/ITest.HasPackageReference`. (2) The vendored `Fallout.Persistence.Solution` `.Model` ↔ `.Serializer` are MUTUALLY entangled (bidirectional via `ISerializerModelExtension`), so the lib can't be split — the whole vendored tree is reached only through the Infrastructure adapter. + - **Shape**: `Solution`/`Project`/`SolutionFolder`/`SolutionItem`/`IProjectContainer`/`SolutionAttribute`/`ReadSolution`/ports → `Fallout.Application.Solutions`. The model is a Fallout-owned **POCO tree** (was a live wrapper over the vendored `SolutionModel`); it holds an **opaque `object Handle`** carrying the vendored model for `Save` round-trip fidelity without naming a vendored type (so the gate passes; `Solution.Save`/`GetModel` have zero consumers anyway). Two ports — `ISolutionSerializer` (open/save across .sln/.slnx) + `IProjectEditor` (MSBuild get/set property + HasPackageReference). Serializer adapter + vendored→Fallout translation walker → `Fallout.Infrastructure.Solutions`; MSBuild evaluator (`ProjectModelTasks`/`ProjectExtensions`/`ProjectEditorAdapter`) → `Fallout.Infrastructure.ProjectModel`. + - **Co-hosting (deviation from the written plan, deliberate)**: adapters co-hosted with the model in the existing project files (like `Fallout.Tooling`) rather than a new `Fallout.Infrastructure.Solutions` project — guarantees the `[ModuleInitializer]` registration runs (no separate-assembly load-ordering bug) AND makes the build-time source generator's compile-time `ReadSolution` work unchanged (the generator already bundles the model DLL). Physical project-file split stays deferred with the other renames. The gate enforces the ring boundary by NAMESPACE regardless of project. + - **Consumer cost** (per ADR-0006's accepted "public API under Infrastructure"): the MSBuild project-query extensions (`GetTargetFrameworks` etc.) no longer flow transitively — the Cli composition root + the dogfood build now reference `Fallout.ProjectModel` directly. + - **Pre-existing debt found, NOT fixed (out of 5c scope)**: `src/Fallout.Cli/Rewriting/Cake/ClassRewriter.cs`'s hard-coded `using` list + `src/Fallout.Cli/templates/Build.cs` still carry stale `Fallout.Common.*` namespaces from steps 4a/4b/5b (the semantic rewriter never touches string literals / embedded-resource templates). The cake-migration output + `dotnet fallout` template are therefore emitting dead namespaces — a separate cleanup. - **5d — external IO** ✅ RESOLVED BY DECISION (maintainer, 2026-06-01): **kept in Kernel — no code moves.** Extends the 5a "filesystem is kernel-level" ruling to the rest of the external-IO *fluent vocabulary*. Investigation found every external-IO category the original plan earmarked for Infrastructure is consumed by **gated Application-ring** code, so none can move cleanly and all would otherwise need 5c-style ports: - **HTTP fluent client** (`Fallout.Kernel.Net` — `HttpClient.CreateRequest(...).Send()` extensions over the BCL `HttpClient`) ← `Fallout.Application.Tools.*` (Slack/Discord/Teams/Mastodon/Gitter). A thin BCL-ergonomic layer, structurally identical to the filesystem-over-BCL case → **stays in Kernel.** - **Compression** (`.ZipTo()`/`.UnZipTo()`, `Fallout.Kernel.IO`) ← `Fallout.Application.Components/ISignPackages`. These are **`AbsolutePath` extension methods** — part of the very fluent `AbsolutePath` API 5a already kept in Kernel; porting them kills the same ergonomics → **stays in Kernel.** From c61ac95a58c82b1a5250a28592628d6ec7811008 Mon Sep 17 00:00:00 2001 From: Chrison Simtian Date: Mon, 1 Jun 2026 13:14:03 +1200 Subject: [PATCH 24/46] fix(cli): refresh stale onion namespaces in cake migration + project template MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The cake migration's hard-coded using list (ClassRewriter.NamespaceImports) and the `dotnet fallout :setup` Build.cs template still emitted pre-onion Fallout.Common.* namespaces removed in steps 4a/4b/5b/5c — so migrated and freshly-scaffolded builds referenced dead namespaces (CS0246). - ClassRewriter: map dead Fallout.Common.{Execution,Tooling,Tools.GitVersion} → Fallout.Application.*; drop entries already contributed by the static imports (Fallout.Common, Kernel.IO, Tools.DotNet, Tools.SignTool); add .Distinct() so the emitted using list has no duplicates (the static-import namespaces previously double-added Kernel.IO). - Template Build.cs: map dead Fallout.Common.{CI,Tooling,Tools.*} + Fallout.Solutions → their Fallout.Application.* homes. Kept the namespaces that genuinely still live under Fallout.Common (root, .Execution, .Git attribute, .ChangeLog, EnvironmentInfo) — Git/ChangeLog were only partially migrated by earlier steps. - Re-accepted the 7 cake-migration Verify snapshots. Out of scope (pre-existing, noted): the template still references the removed [CheckBuildProjectConfigurations] attribute, and the GitRepository class vs [GitRepository] attribute are split across Application.Git/Common.Git from an incomplete earlier move — separate follow-ups, not namespace staleness. Co-Authored-By: Claude Opus 4.8 (1M context) --- .../Rewriting/Cake/ClassRewriter.cs | 15 +++++++------- src/Fallout.Cli/templates/Build.cs | 20 +++++++++---------- .../cake-scripts/default-target.verified.cs | 11 +++------- .../cake-scripts/globbing.verified.cs | 11 +++------- .../cake-scripts/parameters.verified.cs | 11 +++------- .../cake-scripts/paths.verified.cs | 11 +++------- .../cake-scripts/references.verified.cs | 11 +++------- .../cake-scripts/targets.verified.cs | 11 +++------- .../cake-scripts/tool-invocation.verified.cs | 11 +++------- 9 files changed, 39 insertions(+), 73 deletions(-) diff --git a/src/Fallout.Cli/Rewriting/Cake/ClassRewriter.cs b/src/Fallout.Cli/Rewriting/Cake/ClassRewriter.cs index 21d49772f..4499d7154 100644 --- a/src/Fallout.Cli/Rewriting/Cake/ClassRewriter.cs +++ b/src/Fallout.Cli/Rewriting/Cake/ClassRewriter.cs @@ -29,14 +29,14 @@ internal class ClassRewriter : SafeSyntaxRewriter "System.Linq.Expressions", "System.Security.Cryptography.X509Certificates", "System.Xml", - "Fallout.Common", - "Fallout.Common.Execution", - "Fallout.Kernel.IO", + // Onion-realigned namespaces (ADR-0006). The tool/build/solution vocabulary moved to the + // Fallout.Application.* ring; pure helpers to Fallout.Kernel.*. Namespaces already contributed by + // StaticClassImports below (Fallout.Application + .Tools.DotNet/.MSBuild/.SignTool/.NuGet, + // Fallout.Kernel.IO, Fallout.Common via EnvironmentInfo) are intentionally NOT repeated here. + "Fallout.Application.Execution", "Fallout.Application.Solutions", - "Fallout.Common.Tooling", - "Fallout.Common.Tools.DotNet", - "Fallout.Common.Tools.GitVersion", - "Fallout.Common.Tools.SignTool", + "Fallout.Application.Tooling", + "Fallout.Application.Tools.GitVersion", "Fallout.Kernel.Collections", }; @@ -89,6 +89,7 @@ public override SyntaxNode VisitCompilationUnit(CompilationUnitSyntax node) var namespaceUsings = NamespaceImports .Concat(staticTypes.Select(x => x.Namespace)) + .Distinct() .Select(IdentifierName) .Select(UsingDirective); diff --git a/src/Fallout.Cli/templates/Build.cs b/src/Fallout.Cli/templates/Build.cs index 24775c783..8b6492a51 100644 --- a/src/Fallout.Cli/templates/Build.cs +++ b/src/Fallout.Cli/templates/Build.cs @@ -1,23 +1,23 @@ using System; using System.Linq; using Fallout.Common; -using Fallout.Common.CI; +using Fallout.Application.CI; using Fallout.Common.Execution; using Fallout.Common.Git; // GIT using Fallout.Kernel.IO; -using Fallout.Solutions; -using Fallout.Common.Tooling; -using Fallout.Common.Tools.DotNet; // DOTNET -using Fallout.Common.Tools.GitVersion; // GITVERSION -using Fallout.Common.Tools.MSBuild; // MSBUILD -using Fallout.Common.Tools.NuGet; // NUGET && MSBUILD +using Fallout.Application.Solutions; +using Fallout.Application.Tooling; +using Fallout.Application.Tools.DotNet; // DOTNET +using Fallout.Application.Tools.GitVersion; // GITVERSION +using Fallout.Application.Tools.MSBuild; // MSBUILD +using Fallout.Application.Tools.NuGet; // NUGET && MSBUILD using Fallout.Kernel.Collections; using static Fallout.Common.ChangeLog.ChangelogTasks; // CHANGELOG using static Fallout.Common.EnvironmentInfo; using static Fallout.Kernel.IO.PathConstruction; -using static Fallout.Common.Tools.DotNet.DotNetTasks; // DOTNET -using static Fallout.Common.Tools.MSBuild.MSBuildTasks; // MSBUILD -using static Fallout.Common.Tools.NuGet.NuGetTasks; // NUGET && MSBUILD +using static Fallout.Application.Tools.DotNet.DotNetTasks; // DOTNET +using static Fallout.Application.Tools.MSBuild.MSBuildTasks; // MSBUILD +using static Fallout.Application.Tools.NuGet.NuGetTasks; // NUGET && MSBUILD [CheckBuildProjectConfigurations] // SOLUTION_FILE [ShutdownDotNetAfterServerBuild] // DOTNET diff --git a/tests/Fallout.Cli.Tests/cake-scripts/default-target.verified.cs b/tests/Fallout.Cli.Tests/cake-scripts/default-target.verified.cs index 4345fc02c..e4a199223 100644 --- a/tests/Fallout.Cli.Tests/cake-scripts/default-target.verified.cs +++ b/tests/Fallout.Cli.Tests/cake-scripts/default-target.verified.cs @@ -5,14 +5,10 @@ using System.Linq.Expressions; using System.Security.Cryptography.X509Certificates; using System.Xml; -using Fallout.Common; -using Fallout.Common.Execution; -using Fallout.Kernel.IO; +using Fallout.Application.Execution; using Fallout.Application.Solutions; -using Fallout.Common.Tooling; -using Fallout.Common.Tools.DotNet; -using Fallout.Common.Tools.GitVersion; -using Fallout.Common.Tools.SignTool; +using Fallout.Application.Tooling; +using Fallout.Application.Tools.GitVersion; using Fallout.Kernel.Collections; using Fallout.Application; using Fallout.Application.Tools.DotNet; @@ -20,7 +16,6 @@ using Fallout.Application.Tools.SignTool; using Fallout.Application.Tools.NuGet; using Fallout.Kernel.IO; -using Fallout.Kernel.IO; using Fallout.Common; using static Fallout.Application.ControlFlow; using static Fallout.Application.Tools.DotNet.DotNetTasks; diff --git a/tests/Fallout.Cli.Tests/cake-scripts/globbing.verified.cs b/tests/Fallout.Cli.Tests/cake-scripts/globbing.verified.cs index 781bbaf19..1dd3ed5eb 100644 --- a/tests/Fallout.Cli.Tests/cake-scripts/globbing.verified.cs +++ b/tests/Fallout.Cli.Tests/cake-scripts/globbing.verified.cs @@ -5,14 +5,10 @@ using System.Linq.Expressions; using System.Security.Cryptography.X509Certificates; using System.Xml; -using Fallout.Common; -using Fallout.Common.Execution; -using Fallout.Kernel.IO; +using Fallout.Application.Execution; using Fallout.Application.Solutions; -using Fallout.Common.Tooling; -using Fallout.Common.Tools.DotNet; -using Fallout.Common.Tools.GitVersion; -using Fallout.Common.Tools.SignTool; +using Fallout.Application.Tooling; +using Fallout.Application.Tools.GitVersion; using Fallout.Kernel.Collections; using Fallout.Application; using Fallout.Application.Tools.DotNet; @@ -20,7 +16,6 @@ using Fallout.Application.Tools.SignTool; using Fallout.Application.Tools.NuGet; using Fallout.Kernel.IO; -using Fallout.Kernel.IO; using Fallout.Common; using static Fallout.Application.ControlFlow; using static Fallout.Application.Tools.DotNet.DotNetTasks; diff --git a/tests/Fallout.Cli.Tests/cake-scripts/parameters.verified.cs b/tests/Fallout.Cli.Tests/cake-scripts/parameters.verified.cs index 5b72664d1..6b6b3a1ec 100644 --- a/tests/Fallout.Cli.Tests/cake-scripts/parameters.verified.cs +++ b/tests/Fallout.Cli.Tests/cake-scripts/parameters.verified.cs @@ -5,14 +5,10 @@ using System.Linq.Expressions; using System.Security.Cryptography.X509Certificates; using System.Xml; -using Fallout.Common; -using Fallout.Common.Execution; -using Fallout.Kernel.IO; +using Fallout.Application.Execution; using Fallout.Application.Solutions; -using Fallout.Common.Tooling; -using Fallout.Common.Tools.DotNet; -using Fallout.Common.Tools.GitVersion; -using Fallout.Common.Tools.SignTool; +using Fallout.Application.Tooling; +using Fallout.Application.Tools.GitVersion; using Fallout.Kernel.Collections; using Fallout.Application; using Fallout.Application.Tools.DotNet; @@ -20,7 +16,6 @@ using Fallout.Application.Tools.SignTool; using Fallout.Application.Tools.NuGet; using Fallout.Kernel.IO; -using Fallout.Kernel.IO; using Fallout.Common; using static Fallout.Application.ControlFlow; using static Fallout.Application.Tools.DotNet.DotNetTasks; diff --git a/tests/Fallout.Cli.Tests/cake-scripts/paths.verified.cs b/tests/Fallout.Cli.Tests/cake-scripts/paths.verified.cs index 250c8424a..0005b1532 100644 --- a/tests/Fallout.Cli.Tests/cake-scripts/paths.verified.cs +++ b/tests/Fallout.Cli.Tests/cake-scripts/paths.verified.cs @@ -5,14 +5,10 @@ using System.Linq.Expressions; using System.Security.Cryptography.X509Certificates; using System.Xml; -using Fallout.Common; -using Fallout.Common.Execution; -using Fallout.Kernel.IO; +using Fallout.Application.Execution; using Fallout.Application.Solutions; -using Fallout.Common.Tooling; -using Fallout.Common.Tools.DotNet; -using Fallout.Common.Tools.GitVersion; -using Fallout.Common.Tools.SignTool; +using Fallout.Application.Tooling; +using Fallout.Application.Tools.GitVersion; using Fallout.Kernel.Collections; using Fallout.Application; using Fallout.Application.Tools.DotNet; @@ -20,7 +16,6 @@ using Fallout.Application.Tools.SignTool; using Fallout.Application.Tools.NuGet; using Fallout.Kernel.IO; -using Fallout.Kernel.IO; using Fallout.Common; using static Fallout.Application.ControlFlow; using static Fallout.Application.Tools.DotNet.DotNetTasks; diff --git a/tests/Fallout.Cli.Tests/cake-scripts/references.verified.cs b/tests/Fallout.Cli.Tests/cake-scripts/references.verified.cs index 85c40b867..f84ba8448 100644 --- a/tests/Fallout.Cli.Tests/cake-scripts/references.verified.cs +++ b/tests/Fallout.Cli.Tests/cake-scripts/references.verified.cs @@ -5,14 +5,10 @@ using System.Linq.Expressions; using System.Security.Cryptography.X509Certificates; using System.Xml; -using Fallout.Common; -using Fallout.Common.Execution; -using Fallout.Kernel.IO; +using Fallout.Application.Execution; using Fallout.Application.Solutions; -using Fallout.Common.Tooling; -using Fallout.Common.Tools.DotNet; -using Fallout.Common.Tools.GitVersion; -using Fallout.Common.Tools.SignTool; +using Fallout.Application.Tooling; +using Fallout.Application.Tools.GitVersion; using Fallout.Kernel.Collections; using Fallout.Application; using Fallout.Application.Tools.DotNet; @@ -20,7 +16,6 @@ using Fallout.Application.Tools.SignTool; using Fallout.Application.Tools.NuGet; using Fallout.Kernel.IO; -using Fallout.Kernel.IO; using Fallout.Common; using static Fallout.Application.ControlFlow; using static Fallout.Application.Tools.DotNet.DotNetTasks; diff --git a/tests/Fallout.Cli.Tests/cake-scripts/targets.verified.cs b/tests/Fallout.Cli.Tests/cake-scripts/targets.verified.cs index 4752d15c8..9e74a4887 100644 --- a/tests/Fallout.Cli.Tests/cake-scripts/targets.verified.cs +++ b/tests/Fallout.Cli.Tests/cake-scripts/targets.verified.cs @@ -5,14 +5,10 @@ using System.Linq.Expressions; using System.Security.Cryptography.X509Certificates; using System.Xml; -using Fallout.Common; -using Fallout.Common.Execution; -using Fallout.Kernel.IO; +using Fallout.Application.Execution; using Fallout.Application.Solutions; -using Fallout.Common.Tooling; -using Fallout.Common.Tools.DotNet; -using Fallout.Common.Tools.GitVersion; -using Fallout.Common.Tools.SignTool; +using Fallout.Application.Tooling; +using Fallout.Application.Tools.GitVersion; using Fallout.Kernel.Collections; using Fallout.Application; using Fallout.Application.Tools.DotNet; @@ -20,7 +16,6 @@ using Fallout.Application.Tools.SignTool; using Fallout.Application.Tools.NuGet; using Fallout.Kernel.IO; -using Fallout.Kernel.IO; using Fallout.Common; using static Fallout.Application.ControlFlow; using static Fallout.Application.Tools.DotNet.DotNetTasks; diff --git a/tests/Fallout.Cli.Tests/cake-scripts/tool-invocation.verified.cs b/tests/Fallout.Cli.Tests/cake-scripts/tool-invocation.verified.cs index 77a6debc8..6a93e2c92 100644 --- a/tests/Fallout.Cli.Tests/cake-scripts/tool-invocation.verified.cs +++ b/tests/Fallout.Cli.Tests/cake-scripts/tool-invocation.verified.cs @@ -5,14 +5,10 @@ using System.Linq.Expressions; using System.Security.Cryptography.X509Certificates; using System.Xml; -using Fallout.Common; -using Fallout.Common.Execution; -using Fallout.Kernel.IO; +using Fallout.Application.Execution; using Fallout.Application.Solutions; -using Fallout.Common.Tooling; -using Fallout.Common.Tools.DotNet; -using Fallout.Common.Tools.GitVersion; -using Fallout.Common.Tools.SignTool; +using Fallout.Application.Tooling; +using Fallout.Application.Tools.GitVersion; using Fallout.Kernel.Collections; using Fallout.Application; using Fallout.Application.Tools.DotNet; @@ -20,7 +16,6 @@ using Fallout.Application.Tools.SignTool; using Fallout.Application.Tools.NuGet; using Fallout.Kernel.IO; -using Fallout.Kernel.IO; using Fallout.Common; using static Fallout.Application.ControlFlow; using static Fallout.Application.Tools.DotNet.DotNetTasks; From 47633190d212523c69ddad94d1fd9f185d78ce56 Mon Sep 17 00:00:00 2001 From: Chrison Simtian Date: Mon, 1 Jun 2026 13:32:40 +1200 Subject: [PATCH 25/46] =?UTF-8?q?refactor(arch)!:=20finish=20Git=20+=20Cha?= =?UTF-8?q?ngeLog=20onion=20moves=20=E2=86=92=20Application?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Stragglers from the earlier rings: GitRepositoryAttribute was still in Fallout.Common.Git while the GitRepository model already lived in Fallout.Application.Git, and the changelog helpers were still in Fallout.Common.ChangeLog. Move both into the Application ring via OnionRewriter (pass 1): • Fallout.Common.Git → Fallout.Application.Git (attribute joins the model) • Fallout.Common.ChangeLog → Fallout.Application.ChangeLog Update the dotnet-fallout template's two Git/ChangeLog usings to match. No shim-marker changes — the Application ring's Nuke.* shim story is the deferred redesign, so this just brings Git/ChangeLog in line with it. Full suite green. Co-Authored-By: Claude Opus 4.8 (1M context) --- src/Fallout.Cli/templates/Build.cs | 4 ++-- .../Attributes/GitRepositoryAttribute.cs | 2 +- src/Fallout.Common/ChangeLog/ChangeLog.cs | 2 +- .../ChangeLog/ChangeLogTasks.cs | 3 ++- src/Fallout.Common/ChangeLog/ReleaseNotes.cs | 3 ++- .../ICreateGitHubRelease.cs | 2 +- src/Fallout.Components/IHasChangelog.cs | 3 ++- src/Fallout.Components/IHasGitRepository.cs | 1 - .../ChangelogTasksTest.cs | 2 +- tools/OnionRewriter/Program.cs | 20 ++++++++----------- 10 files changed, 20 insertions(+), 22 deletions(-) diff --git a/src/Fallout.Cli/templates/Build.cs b/src/Fallout.Cli/templates/Build.cs index 8b6492a51..299cefc1a 100644 --- a/src/Fallout.Cli/templates/Build.cs +++ b/src/Fallout.Cli/templates/Build.cs @@ -3,7 +3,7 @@ using Fallout.Common; using Fallout.Application.CI; using Fallout.Common.Execution; -using Fallout.Common.Git; // GIT +using Fallout.Application.Git; // GIT using Fallout.Kernel.IO; using Fallout.Application.Solutions; using Fallout.Application.Tooling; @@ -12,7 +12,7 @@ using Fallout.Application.Tools.MSBuild; // MSBUILD using Fallout.Application.Tools.NuGet; // NUGET && MSBUILD using Fallout.Kernel.Collections; -using static Fallout.Common.ChangeLog.ChangelogTasks; // CHANGELOG +using static Fallout.Application.ChangeLog.ChangelogTasks; // CHANGELOG using static Fallout.Common.EnvironmentInfo; using static Fallout.Kernel.IO.PathConstruction; using static Fallout.Application.Tools.DotNet.DotNetTasks; // DOTNET diff --git a/src/Fallout.Common/Attributes/GitRepositoryAttribute.cs b/src/Fallout.Common/Attributes/GitRepositoryAttribute.cs index beb70d71f..ee275ec78 100644 --- a/src/Fallout.Common/Attributes/GitRepositoryAttribute.cs +++ b/src/Fallout.Common/Attributes/GitRepositoryAttribute.cs @@ -4,7 +4,7 @@ using Fallout.Application.ValueInjection; using Fallout.Application.Git; -namespace Fallout.Common.Git; +namespace Fallout.Application.Git; /// /// Injects an instance of based on the local repository. diff --git a/src/Fallout.Common/ChangeLog/ChangeLog.cs b/src/Fallout.Common/ChangeLog/ChangeLog.cs index e23aa7ce3..63b08a59f 100644 --- a/src/Fallout.Common/ChangeLog/ChangeLog.cs +++ b/src/Fallout.Common/ChangeLog/ChangeLog.cs @@ -3,7 +3,7 @@ using NuGet.Versioning; using Fallout.Kernel.IO; -namespace Fallout.Common.ChangeLog; +namespace Fallout.Application.ChangeLog; public class ChangeLog { diff --git a/src/Fallout.Common/ChangeLog/ChangeLogTasks.cs b/src/Fallout.Common/ChangeLog/ChangeLogTasks.cs index a95cc8cd2..c8d399a66 100644 --- a/src/Fallout.Common/ChangeLog/ChangeLogTasks.cs +++ b/src/Fallout.Common/ChangeLog/ChangeLogTasks.cs @@ -9,9 +9,10 @@ using Fallout.Application.Tools.GitHub; using Fallout.Kernel; using Fallout.Kernel.IO; +using Fallout.Common; // ReSharper disable ArgumentsStyleLiteral -namespace Fallout.Common.ChangeLog; +namespace Fallout.Application.ChangeLog; public static class ChangelogTasks { diff --git a/src/Fallout.Common/ChangeLog/ReleaseNotes.cs b/src/Fallout.Common/ChangeLog/ReleaseNotes.cs index 6d9cb0f48..33165067b 100644 --- a/src/Fallout.Common/ChangeLog/ReleaseNotes.cs +++ b/src/Fallout.Common/ChangeLog/ReleaseNotes.cs @@ -2,8 +2,9 @@ using System.Collections.Generic; using System.Linq; using NuGet.Versioning; +using Fallout.Common; -namespace Fallout.Common.ChangeLog; +namespace Fallout.Application.ChangeLog; public class ReleaseNotes { diff --git a/src/Fallout.Components/ICreateGitHubRelease.cs b/src/Fallout.Components/ICreateGitHubRelease.cs index f0fc070ed..66d696e3e 100644 --- a/src/Fallout.Components/ICreateGitHubRelease.cs +++ b/src/Fallout.Components/ICreateGitHubRelease.cs @@ -4,7 +4,6 @@ using System.Linq; using System.Threading.Tasks; using Fallout.Common; -using Fallout.Common.ChangeLog; using Octokit; using Fallout.Application; using Fallout.Application.Tools.GitHub; @@ -12,6 +11,7 @@ using Fallout.Kernel; using Fallout.Application.CI; +using Fallout.Application.ChangeLog; namespace Fallout.Application.Components; [ParameterPrefix(GitHubRelease)] diff --git a/src/Fallout.Components/IHasChangelog.cs b/src/Fallout.Components/IHasChangelog.cs index 0fd2d67c0..14f0f1177 100644 --- a/src/Fallout.Components/IHasChangelog.cs +++ b/src/Fallout.Components/IHasChangelog.cs @@ -1,7 +1,8 @@ using System; using System.Linq; -using static Fallout.Common.ChangeLog.ChangelogTasks; +using static Fallout.Application.ChangeLog.ChangelogTasks; using Fallout.Application; +using Fallout.Application.ChangeLog; namespace Fallout.Application.Components; diff --git a/src/Fallout.Components/IHasGitRepository.cs b/src/Fallout.Components/IHasGitRepository.cs index 2fac78e1c..4fb1ade8e 100644 --- a/src/Fallout.Components/IHasGitRepository.cs +++ b/src/Fallout.Components/IHasGitRepository.cs @@ -1,6 +1,5 @@ using System; using System.Linq; -using Fallout.Common.Git; using Fallout.Application; using Fallout.Application.Git; diff --git a/tests/Fallout.Common.Tests/ChangelogTasksTest.cs b/tests/Fallout.Common.Tests/ChangelogTasksTest.cs index 034601174..bf4b12fa1 100644 --- a/tests/Fallout.Common.Tests/ChangelogTasksTest.cs +++ b/tests/Fallout.Common.Tests/ChangelogTasksTest.cs @@ -3,10 +3,10 @@ using System.Linq; using System.Threading.Tasks; using FluentAssertions; -using Fallout.Common.ChangeLog; using VerifyXunit; using Xunit; using Fallout.Kernel.IO; +using Fallout.Application.ChangeLog; // ReSharper disable ReturnValueOfPureMethodIsNotUsed diff --git a/tools/OnionRewriter/Program.cs b/tools/OnionRewriter/Program.cs index 8601b1003..9e19cdfca 100644 --- a/tools/OnionRewriter/Program.cs +++ b/tools/OnionRewriter/Program.cs @@ -32,22 +32,18 @@ record struct Rule(string Old, string New, string[] SourceAssemblies); // The two Infrastructure destinations are per-type overrides (they beat the default prefix rule). After // phase B the model already routes solution/project I/O through the ports, so this move adds no // Infrastructure dependency to the Application ring (gate stays green). + // Finish partial onion moves (stragglers from steps 2/4b/5a). PASS 1 — Git + ChangeLog build + // vocabulary → Application. GitRepositoryAttribute (still in Fallout.Common.Git) joins the GitRepository + // model already in Fallout.Application.Git; the changelog helpers → Fallout.Application.ChangeLog. Source + // assembly is Fallout.Common, and only these sub-namespaces move (the Fallout.Common root is untouched + // here — that's pass 2's job, run separately so the surviving-namespace scan stays correct). static readonly Rule[] Rules = [ - new("Fallout.Solutions", "Fallout.Application.Solutions", ["Fallout.Solution", "Fallout.ProjectModel", "Fallout.Common"]), + new("Fallout.Common.Git", "Fallout.Application.Git", ["Fallout.Common"]), + new("Fallout.Common.ChangeLog", "Fallout.Application.ChangeLog", ["Fallout.Common"]), ]; - static readonly Dictionary TypeOverrides = new() - { - // Serializer adapter (concrete .sln/.slnx, vendored) → Infrastructure.Solutions. - ["Fallout.Solutions.SolutionSerializerAdapter"] = "Fallout.Infrastructure.Solutions", - ["Fallout.Solutions.SolutionSerializerRegistration"] = "Fallout.Infrastructure.Solutions", - // MSBuild evaluator → Infrastructure.ProjectModel. - ["Fallout.Solutions.ProjectModelTasks"] = "Fallout.Infrastructure.ProjectModel", - ["Fallout.Solutions.ProjectExtensions"] = "Fallout.Infrastructure.ProjectModel", - ["Fallout.Solutions.ProjectEditorAdapter"] = "Fallout.Infrastructure.ProjectModel", - ["Fallout.Solutions.ProjectEditorRegistration"] = "Fallout.Infrastructure.ProjectModel", - }; + static readonly Dictionary TypeOverrides = new(); static bool Matches(Rule r, string ns) => ns == r.Old || ns.StartsWith(r.Old + "."); static bool IsMovable(string ns) => Rules.Any(r => Matches(r, ns)); From f839844a72ff253d226426226ae39608e6de6041 Mon Sep 17 00:00:00 2001 From: Chrison Simtian Date: Mon, 1 Jun 2026 13:41:12 +1200 Subject: [PATCH 26/46] =?UTF-8?q?refactor(arch)!:=20finish=205a=20Kernel?= =?UTF-8?q?=20stragglers=20=E2=80=94=20Assert/EnvironmentInfo/etc=20?= =?UTF-8?q?=E2=86=92=20Fallout.Kernel?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Four pure-utility types in the Fallout.Utilities (Kernel) project were left in the Fallout.Common namespace when step 5a moved everything else to Fallout.Kernel (the lesson-#12 workspace-load gap): EnvironmentInfo (5 files), Assert, AsyncHelper, ArgumentParser. Move them to Fallout.Kernel via OnionRewriter (pass 2, source assembly = Fallout.Utilities only so the surviving-namespace scan still sees Fallout.Common alive in the Fallout.Common project and keeps live `using Fallout.Common;` directives). ~180 files of reference churn (Assert/.NotNull() is pervasive). Two rewriter blind-spots fixed by hand: - Fallout.ProjectModel files carried `using Fallout.Common;` that only ever resolved because Fallout.Utilities declared those Common-namespace types; ProjectModel doesn't reference the Fallout.Common assembly, so the using dangled (CS0234) once they moved. The rewriter can't see assembly-ref graphs — replaced/dropped the stale usings (Kernel was already imported). - CITest.cs gained `using Fallout.Kernel;` (for .NotNull()), colliding Fallout.Kernel.Assert with Xunit.Assert — aliased the bare name to Xunit's. Companion edits: template + cake ClassRewriter EnvironmentInfo import → Fallout.Kernel; re-accepted 7 cake snapshots. Full suite + dogfood ./build.sh Compile green. Co-Authored-By: Claude Opus 4.8 (1M context) --- build/Build.Contributors.cs | 1 - build/Build.PublicApi.cs | 1 - build/Build.RunTargetInDockerTest.cs | 1 - build/Build.cs | 1 - .../ArgumentsFromGitCommitMessageAttribute.cs | 1 - .../Attributes/VerbosityMappingAttribute.cs | 2 +- src/Fallout.Build/CICD/CIAttribute.cs | 1 - .../CICD/ChainedConfigurationAttributeBase.cs | 2 +- .../GenerateBuildServerConfigurationsAttribute.cs | 2 +- src/Fallout.Build/ControlFlow.cs | 1 - .../Execution/DelegateRequirementService.cs | 1 - .../Execution/ExecutableTargetFactory.cs | 1 - src/Fallout.Build/Execution/ExecutionPlanner.cs | 1 - .../Extensibility/ValueInjectionAttributeBase.cs | 1 - .../HandleReSharperSurrogateArgumentsAttribute.cs | 1 + .../HandleVisualStudioDebuggingAttribute.cs | 1 + .../Execution/ParameterService.Statics.cs | 1 - src/Fallout.Build/Execution/TargetDefinition.cs | 1 - .../Execution/ToolRequirementService.cs | 1 - .../Execution/ValueInjectionUtility.cs | 1 - src/Fallout.Build/Host.Activation.cs | 1 - src/Fallout.Build/Host.cs | 1 - src/Fallout.Build/RequiresAttribute.cs | 2 +- src/Fallout.Build/Telemetry/Telemetry.Events.cs | 1 - src/Fallout.Build/Utilities/ConsoleUtility.cs | 1 - src/Fallout.Build/VCS/GitRepository.cs | 1 - src/Fallout.Cli/Program.AddPackage.cs | 2 +- src/Fallout.Cli/Program.Cake.cs | 2 +- src/Fallout.Cli/Program.GetConfiguration.cs | 1 - src/Fallout.Cli/Program.Navigation.cs | 1 + src/Fallout.Cli/Program.Setup.cs | 2 +- src/Fallout.Cli/Program.Trigger.cs | 1 - .../Rewriting/Cake/AbsolutePathRewriter.cs | 1 - src/Fallout.Cli/Rewriting/Cake/ClassRewriter.cs | 4 ++-- .../Rewriting/Cake/FormattingRewriter.cs | 2 +- .../Rewriting/Cake/IdentifierNameRewriter.cs | 2 +- .../Rewriting/Cake/InvocationRewriter.cs | 2 +- .../Rewriting/Cake/MemberAccessRewriter.cs | 2 +- .../Rewriting/Cake/RegularFieldRewriter.cs | 2 +- .../Rewriting/Cake/TargetDefinitionRewriter.cs | 2 +- .../Rewriting/Cake/ToolInvocationRewriter.cs | 2 +- src/Fallout.Cli/templates/Build.cs | 2 +- .../Attributes/FileSystemGlobbingAttributeBase.cs | 1 - .../Attributes/LatestGitHubReleaseAttribute.cs | 1 - .../Attributes/LocalPathAttribute.cs | 2 +- .../Attributes/NuGetPackageAttribute.cs | 2 +- src/Fallout.Common/CI/AppVeyor/AppVeyor.cs | 1 - .../CI/AzurePipelines/AzurePipelines.cs | 1 - .../CI/AzurePipelines/AzurePipelinesAttribute.cs | 1 - src/Fallout.Common/CI/Bamboo/Bamboo.cs | 2 +- src/Fallout.Common/CI/Bitbucket/Bitbucket.cs | 2 +- src/Fallout.Common/CI/Bitrise/Bitrise.cs | 2 +- .../CI/GitHubActions/GitHubActions.cs | 1 - .../CI/GitHubActions/GitHubActionsAttribute.cs | 1 - src/Fallout.Common/CI/GitLab/GitLab.cs | 1 - src/Fallout.Common/CI/Jenkins/Jenkins.cs | 2 +- .../CI/SpaceAutomation/SpaceAutomation.cs | 2 +- .../CI/TeamCity/DotNetBuildSettingsExtensions.cs | 2 +- .../CI/TeamCity/DotNetTestSettingsExtensions.cs | 2 +- .../CI/TeamCity/MSBuildSettingsExtensions.cs | 2 +- src/Fallout.Common/CI/TeamCity/TeamCity.cs | 1 - .../CI/TeamCity/TeamCityAttribute.cs | 1 - src/Fallout.Common/CI/TravisCI/TravisCI.cs | 2 +- src/Fallout.Common/ChangeLog/ChangeLogTasks.cs | 1 - src/Fallout.Common/ChangeLog/ReleaseNotes.cs | 2 +- src/Fallout.Common/IO/HttpTasks.cs | 2 +- src/Fallout.Common/IO/XmlTasks.cs | 2 +- .../Tools/AzureKeyVault/AzureKeyVault.cs | 1 - .../AzureKeyVault/AzureKeyVaultAttributeBase.cs | 2 +- .../Tools/AzureKeyVault/AzureKeyVaultTasks.cs | 2 +- src/Fallout.Common/Tools/Codecov/CodecovTasks.cs | 2 +- src/Fallout.Common/Tools/DotCover/DotCoverTasks.cs | 1 - src/Fallout.Common/Tools/GitHub/GitHubTasks.cs | 1 - .../Tools/GitVersion/GitVersionAttribute.cs | 1 - .../Tools/MSBuild/MSBuildToolPathResolver.cs | 1 - src/Fallout.Common/Tools/MSpec/MSpecTasks.cs | 2 +- .../Tools/OctoVersion/OctoVersionAttribute.cs | 1 - .../Tools/OctoVersion/OctoVersionTasks.cs | 1 - .../Tools/PowerShell/PowerShellTasks.cs | 2 +- src/Fallout.Common/Tools/SignPath/SignPathTasks.cs | 1 - src/Fallout.Common/Tools/SignTool/SignToolTasks.cs | 2 +- src/Fallout.Common/Tools/Slack/SlackTasks.cs | 1 - src/Fallout.Common/Tools/Teams/TeamsTasks.cs | 2 +- src/Fallout.Common/Tools/Twitter/TwitterTasks.cs | 1 - .../Tools/Unity/Logging/FileWatcher.cs | 2 +- src/Fallout.Common/Tools/Unity/UnityTasks.cs | 1 - src/Fallout.Common/Tools/Xunit/XunitTasks.cs | 2 +- src/Fallout.Common/Utilities/TemplateUtility.cs | 1 - src/Fallout.Components/ICreateGitHubRelease.cs | 1 - src/Fallout.Components/IPublish.cs | 1 - src/Fallout.MSBuildTasks/ContextAwareTask.cs | 2 +- .../Project.GetMSBuildProject.cs | 2 +- src/Fallout.ProjectModel/Project.Items.cs | 1 - src/Fallout.ProjectModel/Project.Misc.cs | 2 +- src/Fallout.ProjectModel/Project.Properties.cs | 1 - src/Fallout.ProjectModel/ProjectEditorAdapter.cs | 1 - src/Fallout.ProjectModel/ProjectModelTasks.cs | 1 - src/Fallout.Tooling.Generator/CodeGenerator.cs | 1 - .../Generators/ModelExtensions.cs | 1 - .../Generators/StringExtensions.cs | 2 +- src/Fallout.Tooling.Generator/ReferenceUpdater.cs | 2 +- src/Fallout.Tooling/ArgumentStringHandler.cs | 1 - src/Fallout.Tooling/Enumeration.cs | 1 - src/Fallout.Tooling/EnumerationJsonConverter.cs | 1 - src/Fallout.Tooling/NpmToolPathResolver.cs | 2 +- src/Fallout.Tooling/NuGetPackageResolver.cs | 1 - src/Fallout.Tooling/NuGetToolPathResolver.cs | 1 - src/Fallout.Tooling/NuGetVersionResolver.cs | 1 - src/Fallout.Tooling/ObjectFromFieldConverter.cs | 1 - src/Fallout.Tooling/Options.cs | 1 - src/Fallout.Tooling/PaketPackageResolver.cs | 2 +- src/Fallout.Tooling/ProcessExtensions.cs | 1 - src/Fallout.Tooling/ProcessTasks.cs | 1 - src/Fallout.Tooling/ToolOptions.Arguments.cs | 1 - src/Fallout.Tooling/ToolOptions.Logger.cs | 1 - src/Fallout.Tooling/ToolOptions.Secrets.cs | 1 - src/Fallout.Tooling/ToolOptions.cs | 1 - src/Fallout.Tooling/ToolPathResolver.cs | 1 - src/Fallout.Tooling/ToolResolver.cs | 2 +- src/Fallout.Tooling/ToolTasks.ToolPath.cs | 1 - src/Fallout.Tooling/ToolingExtensions.cs | 1 - .../CompressionExtensions.cs | 2 +- src/Fallout.Utilities.IO.Globbing/Globbing.cs | 1 - .../JsonObject.GetPropertyValue.cs | 1 - src/Fallout.Utilities/ArgumentParser.cs | 2 +- src/Fallout.Utilities/Assert.cs | 4 ++-- src/Fallout.Utilities/AsyncHelper.cs | 4 ++-- .../Collections/Dictionary.ToGeneric.cs | 2 +- .../Collections/Enumerable.ToDictionary.cs | 1 - src/Fallout.Utilities/Collections/LookupTable.cs | 2 +- src/Fallout.Utilities/EnvironmentInfo.Arguments.cs | 2 +- src/Fallout.Utilities/EnvironmentInfo.Platform.cs | 2 +- .../EnvironmentInfo.SpecialFolder.cs | 2 +- src/Fallout.Utilities/EnvironmentInfo.Variables.cs | 2 +- src/Fallout.Utilities/EnvironmentInfo.cs | 2 +- src/Fallout.Utilities/IO/AbsolutePath.Children.cs | 2 +- src/Fallout.Utilities/IO/AbsolutePath.Exists.cs | 1 - src/Fallout.Utilities/IO/AbsolutePath.Find.cs | 2 +- src/Fallout.Utilities/IO/AbsolutePath.Hash.cs | 2 +- src/Fallout.Utilities/IO/AbsolutePath.MoveCopy.cs | 2 +- src/Fallout.Utilities/IO/AbsolutePath.ReadWrite.cs | 1 - src/Fallout.Utilities/IO/AbsolutePath.Time.cs | 2 +- src/Fallout.Utilities/IO/AbsolutePath.cs | 1 - src/Fallout.Utilities/IO/PathConstruction.cs | 1 - src/Fallout.Utilities/IO/RelativePath.cs | 2 +- .../Reflection/Assembly.Versioning.cs | 1 - .../Reflection/ReflectionUtility.Conversion.cs | 1 - .../Reflection/ReflectionUtility.Invocation.cs | 1 - .../Reflection/ReflectionUtility.cs | 1 - .../Reflection/ResourceUtility.cs | 1 - .../Security/EncryptionUtility.cs | 1 - src/Fallout.Utilities/Text/String.Escape.cs | 1 - src/Fallout.Utilities/Text/String.Join.cs | 1 - .../Text/Xml/XElement.GetAttributeValue.cs | 1 - src/Fallout.Utilities/Text/Xml/XmlExtensions.cs | 1 - src/Fallout.Utilities/Url.WithUtmValues.cs | 1 - src/Persistence/Fallout.Solution/Model.cs | 1 - .../Fallout.Solution/SolutionSerializerAdapter.cs | 1 - .../DefaultInterfaceExecutionTest.cs | 1 + tests/Fallout.Build.Tests/GitRepositoryTest.cs | 1 + tests/Fallout.Cli.Tests/CakeConversionTests.cs | 1 + .../cake-scripts/default-target.verified.cs | 4 ++-- .../cake-scripts/globbing.verified.cs | 4 ++-- .../cake-scripts/parameters.verified.cs | 4 ++-- .../cake-scripts/paths.verified.cs | 4 ++-- .../cake-scripts/references.verified.cs | 4 ++-- .../cake-scripts/targets.verified.cs | 4 ++-- .../cake-scripts/tool-invocation.verified.cs | 4 ++-- .../CI/ConfigurationGenerationTest.cs | 1 + tests/Fallout.Common.Tests/CITest.cs | 4 ++++ tests/Fallout.Common.Tests/ChangelogTasksTest.cs | 1 + tests/Fallout.Common.Tests/GitHubTasksTest.cs | 1 + .../Fallout.ProjectModel.Tests/ProjectModelTest.cs | 1 + .../NuGetPackageResolverTest.cs | 1 + .../Fallout.Tooling.Tests/ToolTasksToolPathTest.cs | 1 + .../Fallout.Utilities.Tests/ArgumentParserTest.cs | 1 + .../Fallout.Utilities.Tests/EnvironmentInfoTest.cs | 1 + .../IO/FileSystemDependentTest.cs | 1 + .../IO/PathConstructionTest.cs | 1 + tools/OnionRewriter/Program.cs | 14 +++++++------- 180 files changed, 108 insertions(+), 179 deletions(-) diff --git a/build/Build.Contributors.cs b/build/Build.Contributors.cs index 02ed4562e..aad2ae16b 100644 --- a/build/Build.Contributors.cs +++ b/build/Build.Contributors.cs @@ -1,6 +1,5 @@ using System.Linq; using System.Text; -using Fallout.Common; using static Fallout.Application.Tools.Git.GitTasks; using Fallout.Application; using Fallout.Application.Tools.Git; diff --git a/build/Build.PublicApi.cs b/build/Build.PublicApi.cs index 35613d423..6504ae02b 100644 --- a/build/Build.PublicApi.cs +++ b/build/Build.PublicApi.cs @@ -2,7 +2,6 @@ using System.Linq; using System.Reflection; using System.Text; -using Fallout.Common; using Fallout.Application; using Fallout.Kernel.IO; using Fallout.Kernel.Collections; diff --git a/build/Build.RunTargetInDockerTest.cs b/build/Build.RunTargetInDockerTest.cs index 847b568b7..e99232e05 100644 --- a/build/Build.RunTargetInDockerTest.cs +++ b/build/Build.RunTargetInDockerTest.cs @@ -1,5 +1,4 @@ using System; -using Fallout.Common; using Serilog; using Fallout.Application; using Fallout.Application.Tools.Docker; diff --git a/build/Build.cs b/build/Build.cs index ea494aae6..7d26211c4 100644 --- a/build/Build.cs +++ b/build/Build.cs @@ -2,7 +2,6 @@ using System.Collections.Generic; using System.Linq; using NuGet.Packaging; -using Fallout.Common; using static Fallout.Application.ControlFlow; using static Fallout.Application.Tools.DotNet.DotNetTasks; using Fallout.Application; diff --git a/src/Fallout.Build/Attributes/ArgumentsFromGitCommitMessageAttribute.cs b/src/Fallout.Build/Attributes/ArgumentsFromGitCommitMessageAttribute.cs index b780fe383..43a11ccce 100644 --- a/src/Fallout.Build/Attributes/ArgumentsFromGitCommitMessageAttribute.cs +++ b/src/Fallout.Build/Attributes/ArgumentsFromGitCommitMessageAttribute.cs @@ -4,7 +4,6 @@ using Fallout.Application.CI; using Fallout.Application.Git; using Fallout.Application; -using Fallout.Common; using Fallout.Application.Tooling; using Fallout.Kernel; diff --git a/src/Fallout.Build/Attributes/VerbosityMappingAttribute.cs b/src/Fallout.Build/Attributes/VerbosityMappingAttribute.cs index 008aaaca1..b06da5ca5 100644 --- a/src/Fallout.Build/Attributes/VerbosityMappingAttribute.cs +++ b/src/Fallout.Build/Attributes/VerbosityMappingAttribute.cs @@ -3,8 +3,8 @@ using System.Linq; using Fallout.Application.Execution; using Fallout.Application; -using Fallout.Common; using Fallout.Kernel.Collections; +using Fallout.Kernel; namespace Fallout.Application.Tooling; diff --git a/src/Fallout.Build/CICD/CIAttribute.cs b/src/Fallout.Build/CICD/CIAttribute.cs index e57efeea0..fcc6dc134 100644 --- a/src/Fallout.Build/CICD/CIAttribute.cs +++ b/src/Fallout.Build/CICD/CIAttribute.cs @@ -3,7 +3,6 @@ using System.Reflection; using Fallout.Application.ValueInjection; using Fallout.Application; -using Fallout.Common; using Fallout.Kernel; namespace Fallout.Application.CI; diff --git a/src/Fallout.Build/CICD/ChainedConfigurationAttributeBase.cs b/src/Fallout.Build/CICD/ChainedConfigurationAttributeBase.cs index 710208da9..529f54ed9 100644 --- a/src/Fallout.Build/CICD/ChainedConfigurationAttributeBase.cs +++ b/src/Fallout.Build/CICD/ChainedConfigurationAttributeBase.cs @@ -2,8 +2,8 @@ using System.Collections.Generic; using System.Linq; using Fallout.Application.Execution; -using Fallout.Common; using Fallout.Kernel.Collections; +using Fallout.Kernel; namespace Fallout.Application.CI; diff --git a/src/Fallout.Build/CICD/GenerateBuildServerConfigurationsAttribute.cs b/src/Fallout.Build/CICD/GenerateBuildServerConfigurationsAttribute.cs index fa930c7c8..f7801e874 100644 --- a/src/Fallout.Build/CICD/GenerateBuildServerConfigurationsAttribute.cs +++ b/src/Fallout.Build/CICD/GenerateBuildServerConfigurationsAttribute.cs @@ -4,8 +4,8 @@ using static Fallout.Application.CI.BuildServerConfigurationGeneration; using Fallout.Application.Execution; using Fallout.Application; -using Fallout.Common; using Fallout.Kernel.Collections; +using Fallout.Kernel; namespace Fallout.Application.CI; diff --git a/src/Fallout.Build/ControlFlow.cs b/src/Fallout.Build/ControlFlow.cs index fa010e313..15ba3a30a 100644 --- a/src/Fallout.Build/ControlFlow.cs +++ b/src/Fallout.Build/ControlFlow.cs @@ -4,7 +4,6 @@ using System.Linq; using System.Threading.Tasks; using Serilog; -using Fallout.Common; using Fallout.Kernel; #pragma warning disable CS0618 diff --git a/src/Fallout.Build/Execution/DelegateRequirementService.cs b/src/Fallout.Build/Execution/DelegateRequirementService.cs index 622d0ff94..abb9d5aa0 100644 --- a/src/Fallout.Build/Execution/DelegateRequirementService.cs +++ b/src/Fallout.Build/Execution/DelegateRequirementService.cs @@ -6,7 +6,6 @@ using Fallout.Application; using Fallout.Application.ValueInjection; using Fallout.Application.Utilities; -using Fallout.Common; using Fallout.Kernel; namespace Fallout.Application.Execution; diff --git a/src/Fallout.Build/Execution/ExecutableTargetFactory.cs b/src/Fallout.Build/Execution/ExecutableTargetFactory.cs index 9b97217e6..5f9bf5c00 100644 --- a/src/Fallout.Build/Execution/ExecutableTargetFactory.cs +++ b/src/Fallout.Build/Execution/ExecutableTargetFactory.cs @@ -4,7 +4,6 @@ using System.Linq.Expressions; using System.Reflection; using Fallout.Application; -using Fallout.Common; using Fallout.Kernel.Collections; using Fallout.Kernel; diff --git a/src/Fallout.Build/Execution/ExecutionPlanner.cs b/src/Fallout.Build/Execution/ExecutionPlanner.cs index f94039ace..9f5f9d190 100644 --- a/src/Fallout.Build/Execution/ExecutionPlanner.cs +++ b/src/Fallout.Build/Execution/ExecutionPlanner.cs @@ -4,7 +4,6 @@ using Fallout.Domain.Execution; using Fallout.Domain.Planning; using Fallout.Application; -using Fallout.Common; using Fallout.Kernel.Collections; using Fallout.Kernel; diff --git a/src/Fallout.Build/Execution/Extensibility/ValueInjectionAttributeBase.cs b/src/Fallout.Build/Execution/Extensibility/ValueInjectionAttributeBase.cs index 6b8ce3706..e243c7bdb 100644 --- a/src/Fallout.Build/Execution/Extensibility/ValueInjectionAttributeBase.cs +++ b/src/Fallout.Build/Execution/Extensibility/ValueInjectionAttributeBase.cs @@ -3,7 +3,6 @@ using System.Reflection; using Serilog; using Fallout.Application; -using Fallout.Common; using Fallout.Kernel; namespace Fallout.Application.ValueInjection; diff --git a/src/Fallout.Build/Execution/Extensions/HandleReSharperSurrogateArgumentsAttribute.cs b/src/Fallout.Build/Execution/Extensions/HandleReSharperSurrogateArgumentsAttribute.cs index 9817a059e..9263da048 100644 --- a/src/Fallout.Build/Execution/Extensions/HandleReSharperSurrogateArgumentsAttribute.cs +++ b/src/Fallout.Build/Execution/Extensions/HandleReSharperSurrogateArgumentsAttribute.cs @@ -5,6 +5,7 @@ using Serilog; using Fallout.Common; using Fallout.Kernel.IO; +using Fallout.Kernel; namespace Fallout.Application.Execution; diff --git a/src/Fallout.Build/Execution/Extensions/HandleVisualStudioDebuggingAttribute.cs b/src/Fallout.Build/Execution/Extensions/HandleVisualStudioDebuggingAttribute.cs index e7d15c8a7..fa001009a 100644 --- a/src/Fallout.Build/Execution/Extensions/HandleVisualStudioDebuggingAttribute.cs +++ b/src/Fallout.Build/Execution/Extensions/HandleVisualStudioDebuggingAttribute.cs @@ -6,6 +6,7 @@ using Fallout.Application; using Fallout.Common; using Fallout.Kernel.IO; +using Fallout.Kernel; namespace Fallout.Application.Execution; diff --git a/src/Fallout.Build/Execution/ParameterService.Statics.cs b/src/Fallout.Build/Execution/ParameterService.Statics.cs index 493479b31..328fd338a 100644 --- a/src/Fallout.Build/Execution/ParameterService.Statics.cs +++ b/src/Fallout.Build/Execution/ParameterService.Statics.cs @@ -2,7 +2,6 @@ using System.Linq; using System.Linq.Expressions; using System.Reflection; -using Fallout.Common; using Fallout.Kernel; namespace Fallout.Application; diff --git a/src/Fallout.Build/Execution/TargetDefinition.cs b/src/Fallout.Build/Execution/TargetDefinition.cs index 61a72f70a..cb370e2d6 100644 --- a/src/Fallout.Build/Execution/TargetDefinition.cs +++ b/src/Fallout.Build/Execution/TargetDefinition.cs @@ -6,7 +6,6 @@ using System.Threading.Tasks; using Fallout.Application; using Fallout.Application.Tooling; -using Fallout.Common; using Fallout.Kernel; using Fallout.Kernel.Collections; diff --git a/src/Fallout.Build/Execution/ToolRequirementService.cs b/src/Fallout.Build/Execution/ToolRequirementService.cs index fd11cc6b3..08627f12e 100644 --- a/src/Fallout.Build/Execution/ToolRequirementService.cs +++ b/src/Fallout.Build/Execution/ToolRequirementService.cs @@ -4,7 +4,6 @@ using System.Reflection; using Serilog; using Fallout.Application; -using Fallout.Common; using Fallout.Application.Tooling; using Fallout.Kernel.IO; using Fallout.Kernel; diff --git a/src/Fallout.Build/Execution/ValueInjectionUtility.cs b/src/Fallout.Build/Execution/ValueInjectionUtility.cs index a189c7aca..e841e80d0 100644 --- a/src/Fallout.Build/Execution/ValueInjectionUtility.cs +++ b/src/Fallout.Build/Execution/ValueInjectionUtility.cs @@ -4,7 +4,6 @@ using System.Linq.Expressions; using System.Reflection; using Fallout.Application; -using Fallout.Common; using Fallout.Kernel; using Fallout.Kernel.Collections; diff --git a/src/Fallout.Build/Host.Activation.cs b/src/Fallout.Build/Host.Activation.cs index 582cbebea..e8be38040 100644 --- a/src/Fallout.Build/Host.Activation.cs +++ b/src/Fallout.Build/Host.Activation.cs @@ -4,7 +4,6 @@ using System.Globalization; using System.Linq; using Fallout.Application.Execution; -using Fallout.Common; using Fallout.Kernel; namespace Fallout.Application; diff --git a/src/Fallout.Build/Host.cs b/src/Fallout.Build/Host.cs index 0e5668680..544eefd92 100644 --- a/src/Fallout.Build/Host.cs +++ b/src/Fallout.Build/Host.cs @@ -9,7 +9,6 @@ using Serilog.Sinks.SystemConsole.Themes; using Fallout.Application.Execution.Theming; using Fallout.Application.Execution; -using Fallout.Common; using Fallout.Kernel.Collections; using Fallout.Kernel; diff --git a/src/Fallout.Build/RequiresAttribute.cs b/src/Fallout.Build/RequiresAttribute.cs index 965f7251b..a3a85f2fb 100644 --- a/src/Fallout.Build/RequiresAttribute.cs +++ b/src/Fallout.Build/RequiresAttribute.cs @@ -1,8 +1,8 @@ using System; using System.Linq; using System.Reflection; -using Fallout.Common; using Fallout.Application.Tooling; +using Fallout.Kernel; namespace Fallout.Application; diff --git a/src/Fallout.Build/Telemetry/Telemetry.Events.cs b/src/Fallout.Build/Telemetry/Telemetry.Events.cs index 61bec1ca8..f77a6dce7 100644 --- a/src/Fallout.Build/Telemetry/Telemetry.Events.cs +++ b/src/Fallout.Build/Telemetry/Telemetry.Events.cs @@ -4,7 +4,6 @@ using Fallout.Domain.Execution; using Serilog; using Fallout.Application; -using Fallout.Common; using Fallout.Kernel.Collections; using Fallout.Kernel; diff --git a/src/Fallout.Build/Utilities/ConsoleUtility.cs b/src/Fallout.Build/Utilities/ConsoleUtility.cs index 077c28c3a..3de9fc692 100644 --- a/src/Fallout.Build/Utilities/ConsoleUtility.cs +++ b/src/Fallout.Build/Utilities/ConsoleUtility.cs @@ -3,7 +3,6 @@ using System.Linq; using System.Text; using Fallout.Application; -using Fallout.Common; using Fallout.Kernel; namespace Fallout.Application.Utilities; diff --git a/src/Fallout.Build/VCS/GitRepository.cs b/src/Fallout.Build/VCS/GitRepository.cs index 5db822aa6..bdf4004e2 100644 --- a/src/Fallout.Build/VCS/GitRepository.cs +++ b/src/Fallout.Build/VCS/GitRepository.cs @@ -4,7 +4,6 @@ using System.Text.RegularExpressions; using Fallout.Application; using Fallout.Application.CI; -using Fallout.Common; using Fallout.Kernel.IO; using Fallout.Kernel; diff --git a/src/Fallout.Cli/Program.AddPackage.cs b/src/Fallout.Cli/Program.AddPackage.cs index 35877d9b7..77d43bf5f 100644 --- a/src/Fallout.Cli/Program.AddPackage.cs +++ b/src/Fallout.Cli/Program.AddPackage.cs @@ -1,12 +1,12 @@ using System; using System.Linq; -using Fallout.Common; using Fallout.Application.Execution; using Fallout.Application; using Fallout.Infrastructure.Tooling; using Fallout.Application.Tools.DotNet; using Fallout.Kernel.IO; using Fallout.Infrastructure.ProjectModel; +using Fallout.Kernel; namespace Fallout.Cli; diff --git a/src/Fallout.Cli/Program.Cake.cs b/src/Fallout.Cli/Program.Cake.cs index 6ad4a1dd3..0a1ffb97d 100644 --- a/src/Fallout.Cli/Program.Cake.cs +++ b/src/Fallout.Cli/Program.Cake.cs @@ -6,7 +6,7 @@ using Fallout.Common; using Fallout.Cli.Rewriting.Cake; using static Fallout.Common.Constants; -using static Fallout.Common.EnvironmentInfo; +using static Fallout.Kernel.EnvironmentInfo; using Fallout.Application.Execution; using Fallout.Application; using Fallout.Infrastructure.Tooling; diff --git a/src/Fallout.Cli/Program.GetConfiguration.cs b/src/Fallout.Cli/Program.GetConfiguration.cs index c889bc361..d8cb5b8ec 100644 --- a/src/Fallout.Cli/Program.GetConfiguration.cs +++ b/src/Fallout.Cli/Program.GetConfiguration.cs @@ -2,7 +2,6 @@ using System.Collections.Generic; using System.IO; using System.Linq; -using Fallout.Common; using Fallout.Application; using Fallout.Kernel.IO; using Fallout.Kernel.Collections; diff --git a/src/Fallout.Cli/Program.Navigation.cs b/src/Fallout.Cli/Program.Navigation.cs index 3fd6c15cb..3714e8311 100644 --- a/src/Fallout.Cli/Program.Navigation.cs +++ b/src/Fallout.Cli/Program.Navigation.cs @@ -5,6 +5,7 @@ using Fallout.Common; using static Fallout.Common.Constants; using Fallout.Kernel.IO; +using Fallout.Kernel; namespace Fallout.Cli; diff --git a/src/Fallout.Cli/Program.Setup.cs b/src/Fallout.Cli/Program.Setup.cs index 55af7333c..e133094ba 100644 --- a/src/Fallout.Cli/Program.Setup.cs +++ b/src/Fallout.Cli/Program.Setup.cs @@ -7,7 +7,7 @@ using Fallout.Common; using Spectre.Console; using static Fallout.Common.Constants; -using static Fallout.Common.EnvironmentInfo; +using static Fallout.Kernel.EnvironmentInfo; using static Fallout.Infrastructure.Tooling.ProcessTasks; using static Fallout.Kernel.TemplateUtility; using Fallout.Application.Execution; diff --git a/src/Fallout.Cli/Program.Trigger.cs b/src/Fallout.Cli/Program.Trigger.cs index db1766a1c..89516fde0 100644 --- a/src/Fallout.Cli/Program.Trigger.cs +++ b/src/Fallout.Cli/Program.Trigger.cs @@ -1,6 +1,5 @@ using System; using System.Linq; -using Fallout.Common; using Fallout.Application.Git; using Fallout.Application.Tools.Git; using Fallout.Kernel.IO; diff --git a/src/Fallout.Cli/Rewriting/Cake/AbsolutePathRewriter.cs b/src/Fallout.Cli/Rewriting/Cake/AbsolutePathRewriter.cs index 47fa2452e..05b2be92f 100644 --- a/src/Fallout.Cli/Rewriting/Cake/AbsolutePathRewriter.cs +++ b/src/Fallout.Cli/Rewriting/Cake/AbsolutePathRewriter.cs @@ -4,7 +4,6 @@ using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp; using Microsoft.CodeAnalysis.CSharp.Syntax; -using Fallout.Common; using Fallout.Kernel.IO; using Fallout.Kernel; diff --git a/src/Fallout.Cli/Rewriting/Cake/ClassRewriter.cs b/src/Fallout.Cli/Rewriting/Cake/ClassRewriter.cs index 4499d7154..a753a61b8 100644 --- a/src/Fallout.Cli/Rewriting/Cake/ClassRewriter.cs +++ b/src/Fallout.Cli/Rewriting/Cake/ClassRewriter.cs @@ -3,7 +3,6 @@ using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp; using Microsoft.CodeAnalysis.CSharp.Syntax; -using Fallout.Common; using static Microsoft.CodeAnalysis.CSharp.SyntaxFactory; using Fallout.Application; using Fallout.Application.Tools.DotNet; @@ -11,6 +10,7 @@ using Fallout.Application.Tools.SignTool; using Fallout.Application.Tools.NuGet; using Fallout.Kernel.IO; +using Fallout.Kernel; namespace Fallout.Cli.Rewriting.Cake; @@ -32,7 +32,7 @@ internal class ClassRewriter : SafeSyntaxRewriter // Onion-realigned namespaces (ADR-0006). The tool/build/solution vocabulary moved to the // Fallout.Application.* ring; pure helpers to Fallout.Kernel.*. Namespaces already contributed by // StaticClassImports below (Fallout.Application + .Tools.DotNet/.MSBuild/.SignTool/.NuGet, - // Fallout.Kernel.IO, Fallout.Common via EnvironmentInfo) are intentionally NOT repeated here. + // Fallout.Kernel.IO, Fallout.Kernel via EnvironmentInfo) are intentionally NOT repeated here. "Fallout.Application.Execution", "Fallout.Application.Solutions", "Fallout.Application.Tooling", diff --git a/src/Fallout.Cli/Rewriting/Cake/FormattingRewriter.cs b/src/Fallout.Cli/Rewriting/Cake/FormattingRewriter.cs index a9da9b623..87e0e26f5 100644 --- a/src/Fallout.Cli/Rewriting/Cake/FormattingRewriter.cs +++ b/src/Fallout.Cli/Rewriting/Cake/FormattingRewriter.cs @@ -2,10 +2,10 @@ using System.Linq; using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp.Syntax; -using Fallout.Common; using static Microsoft.CodeAnalysis.CSharp.SyntaxFactory; using Fallout.Application; using Fallout.Kernel.Collections; +using Fallout.Kernel; namespace Fallout.Cli.Rewriting.Cake; diff --git a/src/Fallout.Cli/Rewriting/Cake/IdentifierNameRewriter.cs b/src/Fallout.Cli/Rewriting/Cake/IdentifierNameRewriter.cs index b45832815..ead2717f5 100644 --- a/src/Fallout.Cli/Rewriting/Cake/IdentifierNameRewriter.cs +++ b/src/Fallout.Cli/Rewriting/Cake/IdentifierNameRewriter.cs @@ -4,9 +4,9 @@ using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp; using Microsoft.CodeAnalysis.CSharp.Syntax; -using Fallout.Common; using Fallout.Application.Tools.DotNet; using Fallout.Application.Tools.MSBuild; +using Fallout.Kernel; namespace Fallout.Cli.Rewriting.Cake; diff --git a/src/Fallout.Cli/Rewriting/Cake/InvocationRewriter.cs b/src/Fallout.Cli/Rewriting/Cake/InvocationRewriter.cs index 28af1b579..8112ee584 100644 --- a/src/Fallout.Cli/Rewriting/Cake/InvocationRewriter.cs +++ b/src/Fallout.Cli/Rewriting/Cake/InvocationRewriter.cs @@ -3,10 +3,10 @@ using System.Linq; using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp.Syntax; -using Fallout.Common; using Serilog; using static Microsoft.CodeAnalysis.CSharp.SyntaxFactory; using Fallout.Application; +using Fallout.Kernel; namespace Fallout.Cli.Rewriting.Cake; diff --git a/src/Fallout.Cli/Rewriting/Cake/MemberAccessRewriter.cs b/src/Fallout.Cli/Rewriting/Cake/MemberAccessRewriter.cs index facc0245f..0475e4ae8 100644 --- a/src/Fallout.Cli/Rewriting/Cake/MemberAccessRewriter.cs +++ b/src/Fallout.Cli/Rewriting/Cake/MemberAccessRewriter.cs @@ -3,8 +3,8 @@ using System.Linq; using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp.Syntax; -using Fallout.Common; using static Microsoft.CodeAnalysis.CSharp.SyntaxFactory; +using Fallout.Kernel; namespace Fallout.Cli.Rewriting.Cake; diff --git a/src/Fallout.Cli/Rewriting/Cake/RegularFieldRewriter.cs b/src/Fallout.Cli/Rewriting/Cake/RegularFieldRewriter.cs index f701325c5..fc57733cc 100644 --- a/src/Fallout.Cli/Rewriting/Cake/RegularFieldRewriter.cs +++ b/src/Fallout.Cli/Rewriting/Cake/RegularFieldRewriter.cs @@ -2,7 +2,7 @@ using System.Linq; using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp.Syntax; -using Fallout.Common; +using Fallout.Kernel; namespace Fallout.Cli.Rewriting.Cake; diff --git a/src/Fallout.Cli/Rewriting/Cake/TargetDefinitionRewriter.cs b/src/Fallout.Cli/Rewriting/Cake/TargetDefinitionRewriter.cs index 1e91ff3e4..49942a24a 100644 --- a/src/Fallout.Cli/Rewriting/Cake/TargetDefinitionRewriter.cs +++ b/src/Fallout.Cli/Rewriting/Cake/TargetDefinitionRewriter.cs @@ -2,10 +2,10 @@ using System.Linq; using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp.Syntax; -using Fallout.Common; using static Microsoft.CodeAnalysis.CSharp.SyntaxFactory; using Fallout.Application; using Fallout.Kernel.Collections; +using Fallout.Kernel; namespace Fallout.Cli.Rewriting.Cake; diff --git a/src/Fallout.Cli/Rewriting/Cake/ToolInvocationRewriter.cs b/src/Fallout.Cli/Rewriting/Cake/ToolInvocationRewriter.cs index e745451f8..05d89ba76 100644 --- a/src/Fallout.Cli/Rewriting/Cake/ToolInvocationRewriter.cs +++ b/src/Fallout.Cli/Rewriting/Cake/ToolInvocationRewriter.cs @@ -4,13 +4,13 @@ using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp; using Microsoft.CodeAnalysis.CSharp.Syntax; -using Fallout.Common; using static Microsoft.CodeAnalysis.CSharp.SyntaxFactory; using Fallout.Application.Tools.DotNet; using Fallout.Application.Tools.SignTool; using Fallout.Application.Tools.NuGet; using Fallout.Application.Tools.MSBuild; using Fallout.Kernel.Collections; +using Fallout.Kernel; namespace Fallout.Cli.Rewriting.Cake; diff --git a/src/Fallout.Cli/templates/Build.cs b/src/Fallout.Cli/templates/Build.cs index 299cefc1a..fe2e26b3d 100644 --- a/src/Fallout.Cli/templates/Build.cs +++ b/src/Fallout.Cli/templates/Build.cs @@ -13,7 +13,7 @@ using Fallout.Application.Tools.NuGet; // NUGET && MSBUILD using Fallout.Kernel.Collections; using static Fallout.Application.ChangeLog.ChangelogTasks; // CHANGELOG -using static Fallout.Common.EnvironmentInfo; +using static Fallout.Kernel.EnvironmentInfo; using static Fallout.Kernel.IO.PathConstruction; using static Fallout.Application.Tools.DotNet.DotNetTasks; // DOTNET using static Fallout.Application.Tools.MSBuild.MSBuildTasks; // MSBUILD diff --git a/src/Fallout.Common/Attributes/FileSystemGlobbingAttributeBase.cs b/src/Fallout.Common/Attributes/FileSystemGlobbingAttributeBase.cs index bb418d015..932868c1a 100644 --- a/src/Fallout.Common/Attributes/FileSystemGlobbingAttributeBase.cs +++ b/src/Fallout.Common/Attributes/FileSystemGlobbingAttributeBase.cs @@ -5,7 +5,6 @@ using Fallout.Application; using Fallout.Kernel; using Fallout.Kernel.Collections; -using Fallout.Common; namespace Fallout.Kernel.IO; diff --git a/src/Fallout.Common/Attributes/LatestGitHubReleaseAttribute.cs b/src/Fallout.Common/Attributes/LatestGitHubReleaseAttribute.cs index 8ae25bb95..cb618ce47 100644 --- a/src/Fallout.Common/Attributes/LatestGitHubReleaseAttribute.cs +++ b/src/Fallout.Common/Attributes/LatestGitHubReleaseAttribute.cs @@ -6,7 +6,6 @@ using Fallout.Application.ValueInjection; using Fallout.Application.Git; using Fallout.Application.Tools.GitHub; -using Fallout.Common; using Fallout.Kernel; namespace Fallout.Application.Tooling; diff --git a/src/Fallout.Common/Attributes/LocalPathAttribute.cs b/src/Fallout.Common/Attributes/LocalPathAttribute.cs index 6c9d659d6..59da9e823 100644 --- a/src/Fallout.Common/Attributes/LocalPathAttribute.cs +++ b/src/Fallout.Common/Attributes/LocalPathAttribute.cs @@ -3,8 +3,8 @@ using System.Linq; using System.Reflection; using Fallout.Application.Tooling; -using Fallout.Common; using Fallout.Kernel.IO; +using Fallout.Kernel; namespace Fallout.Application.Tooling; diff --git a/src/Fallout.Common/Attributes/NuGetPackageAttribute.cs b/src/Fallout.Common/Attributes/NuGetPackageAttribute.cs index 712fd5be5..19dad9c6a 100644 --- a/src/Fallout.Common/Attributes/NuGetPackageAttribute.cs +++ b/src/Fallout.Common/Attributes/NuGetPackageAttribute.cs @@ -2,7 +2,7 @@ using System.Linq; using System.Reflection; using Fallout.Application.Tooling; -using Fallout.Common; +using Fallout.Kernel; namespace Fallout.Application.Tooling; diff --git a/src/Fallout.Common/CI/AppVeyor/AppVeyor.cs b/src/Fallout.Common/CI/AppVeyor/AppVeyor.cs index 0076f50a3..ce012bde4 100644 --- a/src/Fallout.Common/CI/AppVeyor/AppVeyor.cs +++ b/src/Fallout.Common/CI/AppVeyor/AppVeyor.cs @@ -6,7 +6,6 @@ using Fallout.Application.CI; using Fallout.Application.Tooling; using Fallout.Kernel; -using Fallout.Common; namespace Fallout.Infrastructure.CI.AppVeyor; // diff --git a/src/Fallout.Common/CI/AzurePipelines/AzurePipelines.cs b/src/Fallout.Common/CI/AzurePipelines/AzurePipelines.cs index 2eab66b76..18fee4853 100644 --- a/src/Fallout.Common/CI/AzurePipelines/AzurePipelines.cs +++ b/src/Fallout.Common/CI/AzurePipelines/AzurePipelines.cs @@ -6,7 +6,6 @@ using Fallout.Application.CI; using Fallout.Kernel.Collections; using Fallout.Kernel; -using Fallout.Common; namespace Fallout.Infrastructure.CI.AzurePipelines; diff --git a/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesAttribute.cs b/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesAttribute.cs index f8695c4c3..0537789a6 100644 --- a/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesAttribute.cs +++ b/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesAttribute.cs @@ -11,7 +11,6 @@ using Fallout.Kernel.Collections; using Fallout.Kernel; using Fallout.Infrastructure.CI.AzurePipelines.Configuration; -using Fallout.Common; namespace Fallout.Infrastructure.CI.AzurePipelines; diff --git a/src/Fallout.Common/CI/Bamboo/Bamboo.cs b/src/Fallout.Common/CI/Bamboo/Bamboo.cs index a51252275..d672b987b 100644 --- a/src/Fallout.Common/CI/Bamboo/Bamboo.cs +++ b/src/Fallout.Common/CI/Bamboo/Bamboo.cs @@ -2,7 +2,7 @@ using System.Diagnostics.CodeAnalysis; using Fallout.Application.CI; using Fallout.Application; -using Fallout.Common; +using Fallout.Kernel; namespace Fallout.Infrastructure.CI.Bamboo; diff --git a/src/Fallout.Common/CI/Bitbucket/Bitbucket.cs b/src/Fallout.Common/CI/Bitbucket/Bitbucket.cs index a3551e25a..01a613215 100644 --- a/src/Fallout.Common/CI/Bitbucket/Bitbucket.cs +++ b/src/Fallout.Common/CI/Bitbucket/Bitbucket.cs @@ -3,7 +3,7 @@ using System.Linq; using Fallout.Application.CI; using Fallout.Application; -using Fallout.Common; +using Fallout.Kernel; namespace Fallout.Infrastructure.CI.Bitbucket; diff --git a/src/Fallout.Common/CI/Bitrise/Bitrise.cs b/src/Fallout.Common/CI/Bitrise/Bitrise.cs index 681d197c5..b71f1a409 100644 --- a/src/Fallout.Common/CI/Bitrise/Bitrise.cs +++ b/src/Fallout.Common/CI/Bitrise/Bitrise.cs @@ -3,7 +3,7 @@ using System.Linq; using Fallout.Application; using Fallout.Application.CI; -using Fallout.Common; +using Fallout.Kernel; namespace Fallout.Infrastructure.CI.Bitrise; diff --git a/src/Fallout.Common/CI/GitHubActions/GitHubActions.cs b/src/Fallout.Common/CI/GitHubActions/GitHubActions.cs index 59688bf36..cc65014f3 100644 --- a/src/Fallout.Common/CI/GitHubActions/GitHubActions.cs +++ b/src/Fallout.Common/CI/GitHubActions/GitHubActions.cs @@ -12,7 +12,6 @@ using Fallout.Application.Tooling; using Fallout.Kernel; using Fallout.Kernel.IO; -using Fallout.Common; namespace Fallout.Infrastructure.CI.GitHubActions; diff --git a/src/Fallout.Common/CI/GitHubActions/GitHubActionsAttribute.cs b/src/Fallout.Common/CI/GitHubActions/GitHubActionsAttribute.cs index aa2b4fda3..82a2dbf42 100644 --- a/src/Fallout.Common/CI/GitHubActions/GitHubActionsAttribute.cs +++ b/src/Fallout.Common/CI/GitHubActions/GitHubActionsAttribute.cs @@ -10,7 +10,6 @@ using Fallout.Kernel.IO; using Fallout.Kernel; using Fallout.Infrastructure.CI.GitHubActions.Configuration; -using Fallout.Common; namespace Fallout.Infrastructure.CI.GitHubActions; diff --git a/src/Fallout.Common/CI/GitLab/GitLab.cs b/src/Fallout.Common/CI/GitLab/GitLab.cs index 24484f1f1..41add550c 100644 --- a/src/Fallout.Common/CI/GitLab/GitLab.cs +++ b/src/Fallout.Common/CI/GitLab/GitLab.cs @@ -4,7 +4,6 @@ using Fallout.Application.CI; using Fallout.Application; using Fallout.Kernel; -using Fallout.Common; namespace Fallout.Infrastructure.CI.GitLab; diff --git a/src/Fallout.Common/CI/Jenkins/Jenkins.cs b/src/Fallout.Common/CI/Jenkins/Jenkins.cs index 45f616634..5a340f49c 100644 --- a/src/Fallout.Common/CI/Jenkins/Jenkins.cs +++ b/src/Fallout.Common/CI/Jenkins/Jenkins.cs @@ -3,7 +3,7 @@ using System.Linq; using Fallout.Application.CI; using Fallout.Application; -using Fallout.Common; +using Fallout.Kernel; namespace Fallout.Infrastructure.CI.Jenkins; diff --git a/src/Fallout.Common/CI/SpaceAutomation/SpaceAutomation.cs b/src/Fallout.Common/CI/SpaceAutomation/SpaceAutomation.cs index 10c4461cc..66634e26d 100644 --- a/src/Fallout.Common/CI/SpaceAutomation/SpaceAutomation.cs +++ b/src/Fallout.Common/CI/SpaceAutomation/SpaceAutomation.cs @@ -3,7 +3,7 @@ using System.Linq; using Fallout.Application.CI; using Fallout.Application; -using Fallout.Common; +using Fallout.Kernel; namespace Fallout.Infrastructure.CI.SpaceAutomation; diff --git a/src/Fallout.Common/CI/TeamCity/DotNetBuildSettingsExtensions.cs b/src/Fallout.Common/CI/TeamCity/DotNetBuildSettingsExtensions.cs index db22ee6d3..b059f3c90 100644 --- a/src/Fallout.Common/CI/TeamCity/DotNetBuildSettingsExtensions.cs +++ b/src/Fallout.Common/CI/TeamCity/DotNetBuildSettingsExtensions.cs @@ -3,7 +3,7 @@ using Fallout.Application.Tools.DotNet; using Fallout.Infrastructure.Tooling; using Fallout.Kernel.IO; -using Fallout.Common; +using Fallout.Kernel; namespace Fallout.Infrastructure.CI.TeamCity; diff --git a/src/Fallout.Common/CI/TeamCity/DotNetTestSettingsExtensions.cs b/src/Fallout.Common/CI/TeamCity/DotNetTestSettingsExtensions.cs index 010f54bee..aeb960c1d 100644 --- a/src/Fallout.Common/CI/TeamCity/DotNetTestSettingsExtensions.cs +++ b/src/Fallout.Common/CI/TeamCity/DotNetTestSettingsExtensions.cs @@ -3,7 +3,7 @@ using Fallout.Application.Tools.DotNet; using Fallout.Infrastructure.Tooling; using Fallout.Kernel.IO; -using Fallout.Common; +using Fallout.Kernel; namespace Fallout.Infrastructure.CI.TeamCity; diff --git a/src/Fallout.Common/CI/TeamCity/MSBuildSettingsExtensions.cs b/src/Fallout.Common/CI/TeamCity/MSBuildSettingsExtensions.cs index 21a2567ce..047f598ea 100644 --- a/src/Fallout.Common/CI/TeamCity/MSBuildSettingsExtensions.cs +++ b/src/Fallout.Common/CI/TeamCity/MSBuildSettingsExtensions.cs @@ -1,7 +1,7 @@ using System; using System.Linq; using Fallout.Application.Tools.MSBuild; -using Fallout.Common; +using Fallout.Kernel; namespace Fallout.Infrastructure.CI.TeamCity; diff --git a/src/Fallout.Common/CI/TeamCity/TeamCity.cs b/src/Fallout.Common/CI/TeamCity/TeamCity.cs index 7a65a125c..7427a7025 100644 --- a/src/Fallout.Common/CI/TeamCity/TeamCity.cs +++ b/src/Fallout.Common/CI/TeamCity/TeamCity.cs @@ -11,7 +11,6 @@ using Fallout.Kernel.IO; using Fallout.Kernel; using Fallout.Kernel.Collections; -using Fallout.Common; namespace Fallout.Infrastructure.CI.TeamCity; diff --git a/src/Fallout.Common/CI/TeamCity/TeamCityAttribute.cs b/src/Fallout.Common/CI/TeamCity/TeamCityAttribute.cs index cc457771c..e48b1888e 100644 --- a/src/Fallout.Common/CI/TeamCity/TeamCityAttribute.cs +++ b/src/Fallout.Common/CI/TeamCity/TeamCityAttribute.cs @@ -15,7 +15,6 @@ using Fallout.Kernel.Collections; using Fallout.Kernel; using Fallout.Infrastructure.CI.TeamCity.Configuration; -using Fallout.Common; namespace Fallout.Infrastructure.CI.TeamCity; diff --git a/src/Fallout.Common/CI/TravisCI/TravisCI.cs b/src/Fallout.Common/CI/TravisCI/TravisCI.cs index e6f8e7268..fb90c67b1 100644 --- a/src/Fallout.Common/CI/TravisCI/TravisCI.cs +++ b/src/Fallout.Common/CI/TravisCI/TravisCI.cs @@ -3,7 +3,7 @@ using System.Linq; using Fallout.Application; using Fallout.Application.CI; -using Fallout.Common; +using Fallout.Kernel; namespace Fallout.Infrastructure.CI.TravisCI; diff --git a/src/Fallout.Common/ChangeLog/ChangeLogTasks.cs b/src/Fallout.Common/ChangeLog/ChangeLogTasks.cs index c8d399a66..e9041934a 100644 --- a/src/Fallout.Common/ChangeLog/ChangeLogTasks.cs +++ b/src/Fallout.Common/ChangeLog/ChangeLogTasks.cs @@ -9,7 +9,6 @@ using Fallout.Application.Tools.GitHub; using Fallout.Kernel; using Fallout.Kernel.IO; -using Fallout.Common; // ReSharper disable ArgumentsStyleLiteral namespace Fallout.Application.ChangeLog; diff --git a/src/Fallout.Common/ChangeLog/ReleaseNotes.cs b/src/Fallout.Common/ChangeLog/ReleaseNotes.cs index 33165067b..0cd1b8b2e 100644 --- a/src/Fallout.Common/ChangeLog/ReleaseNotes.cs +++ b/src/Fallout.Common/ChangeLog/ReleaseNotes.cs @@ -2,7 +2,7 @@ using System.Collections.Generic; using System.Linq; using NuGet.Versioning; -using Fallout.Common; +using Fallout.Kernel; namespace Fallout.Application.ChangeLog; diff --git a/src/Fallout.Common/IO/HttpTasks.cs b/src/Fallout.Common/IO/HttpTasks.cs index 48aef84ac..a64fde870 100644 --- a/src/Fallout.Common/IO/HttpTasks.cs +++ b/src/Fallout.Common/IO/HttpTasks.cs @@ -5,7 +5,7 @@ using System.Net.Http.Headers; using System.Threading.Tasks; using Fallout.Application.Tooling; -using Fallout.Common; +using Fallout.Kernel; namespace Fallout.Kernel.IO; diff --git a/src/Fallout.Common/IO/XmlTasks.cs b/src/Fallout.Common/IO/XmlTasks.cs index 86aa74b69..f1a3e73c8 100644 --- a/src/Fallout.Common/IO/XmlTasks.cs +++ b/src/Fallout.Common/IO/XmlTasks.cs @@ -6,7 +6,7 @@ using System.Xml; using System.Xml.Linq; using System.Xml.XPath; -using Fallout.Common; +using Fallout.Kernel; namespace Fallout.Kernel.IO; diff --git a/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVault.cs b/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVault.cs index a7ccfdfe2..ba29de6a1 100644 --- a/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVault.cs +++ b/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVault.cs @@ -5,7 +5,6 @@ using Azure.Security.KeyVault.Certificates; using Azure.Security.KeyVault.Keys; using Azure.Security.KeyVault.Secrets; -using Fallout.Common; using Fallout.Kernel; namespace Fallout.Application.Tools.AzureKeyVault diff --git a/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultAttributeBase.cs b/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultAttributeBase.cs index e4eac4482..7147b0fd1 100644 --- a/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultAttributeBase.cs +++ b/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultAttributeBase.cs @@ -3,7 +3,7 @@ using System.Reflection; using Fallout.Application; using Fallout.Application.ValueInjection; -using Fallout.Common; +using Fallout.Kernel; namespace Fallout.Application.Tools.AzureKeyVault { diff --git a/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultTasks.cs b/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultTasks.cs index 371912abd..d30f9a92f 100644 --- a/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultTasks.cs +++ b/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultTasks.cs @@ -1,6 +1,6 @@ using System; using System.Linq; -using Fallout.Common; +using Fallout.Kernel; namespace Fallout.Application.Tools.AzureKeyVault { diff --git a/src/Fallout.Common/Tools/Codecov/CodecovTasks.cs b/src/Fallout.Common/Tools/Codecov/CodecovTasks.cs index db864cfc6..51dece938 100644 --- a/src/Fallout.Common/Tools/Codecov/CodecovTasks.cs +++ b/src/Fallout.Common/Tools/Codecov/CodecovTasks.cs @@ -1,6 +1,6 @@ using System; using Fallout.Application.Tooling; -using Fallout.Common; +using Fallout.Kernel; namespace Fallout.Application.Tools.Codecov; diff --git a/src/Fallout.Common/Tools/DotCover/DotCoverTasks.cs b/src/Fallout.Common/Tools/DotCover/DotCoverTasks.cs index 7b27fca60..13dbe36f7 100644 --- a/src/Fallout.Common/Tools/DotCover/DotCoverTasks.cs +++ b/src/Fallout.Common/Tools/DotCover/DotCoverTasks.cs @@ -1,5 +1,4 @@ using Fallout.Application.Tooling; -using Fallout.Common; using Fallout.Kernel; namespace Fallout.Application.Tools.DotCover; diff --git a/src/Fallout.Common/Tools/GitHub/GitHubTasks.cs b/src/Fallout.Common/Tools/GitHub/GitHubTasks.cs index 46e26fa79..c51ad60c7 100644 --- a/src/Fallout.Common/Tools/GitHub/GitHubTasks.cs +++ b/src/Fallout.Common/Tools/GitHub/GitHubTasks.cs @@ -7,7 +7,6 @@ using static Fallout.Kernel.IO.PathConstruction; using Fallout.Application; using Fallout.Application.Git; -using Fallout.Common; using Fallout.Kernel.IO; using Fallout.Kernel; diff --git a/src/Fallout.Common/Tools/GitVersion/GitVersionAttribute.cs b/src/Fallout.Common/Tools/GitVersion/GitVersionAttribute.cs index 103461d61..5bc637878 100644 --- a/src/Fallout.Common/Tools/GitVersion/GitVersionAttribute.cs +++ b/src/Fallout.Common/Tools/GitVersion/GitVersionAttribute.cs @@ -7,7 +7,6 @@ using Fallout.Application.ValueInjection; using Fallout.Application.Git; using Fallout.Application.Tooling; -using Fallout.Common; using Fallout.Kernel; using Fallout.Application.CI; diff --git a/src/Fallout.Common/Tools/MSBuild/MSBuildToolPathResolver.cs b/src/Fallout.Common/Tools/MSBuild/MSBuildToolPathResolver.cs index 23281647a..b4d63cdca 100644 --- a/src/Fallout.Common/Tools/MSBuild/MSBuildToolPathResolver.cs +++ b/src/Fallout.Common/Tools/MSBuild/MSBuildToolPathResolver.cs @@ -3,7 +3,6 @@ using System.Diagnostics; using System.IO; using System.Linq; -using Fallout.Common; using Fallout.Kernel; namespace Fallout.Application.Tools.MSBuild; diff --git a/src/Fallout.Common/Tools/MSpec/MSpecTasks.cs b/src/Fallout.Common/Tools/MSpec/MSpecTasks.cs index f652aeac4..4e27830cb 100644 --- a/src/Fallout.Common/Tools/MSpec/MSpecTasks.cs +++ b/src/Fallout.Common/Tools/MSpec/MSpecTasks.cs @@ -1,7 +1,7 @@ using System; using System.Linq; using Fallout.Application.Tooling; -using Fallout.Common; +using Fallout.Kernel; namespace Fallout.Application.Tools.MSpec; diff --git a/src/Fallout.Common/Tools/OctoVersion/OctoVersionAttribute.cs b/src/Fallout.Common/Tools/OctoVersion/OctoVersionAttribute.cs index 9f275186b..4384e675e 100644 --- a/src/Fallout.Common/Tools/OctoVersion/OctoVersionAttribute.cs +++ b/src/Fallout.Common/Tools/OctoVersion/OctoVersionAttribute.cs @@ -5,7 +5,6 @@ using Fallout.Application.Git; using Fallout.Application; using Fallout.Application.Tooling; -using Fallout.Common; using Fallout.Kernel; using Fallout.Kernel.IO; diff --git a/src/Fallout.Common/Tools/OctoVersion/OctoVersionTasks.cs b/src/Fallout.Common/Tools/OctoVersion/OctoVersionTasks.cs index 0b31f359b..48af80726 100644 --- a/src/Fallout.Common/Tools/OctoVersion/OctoVersionTasks.cs +++ b/src/Fallout.Common/Tools/OctoVersion/OctoVersionTasks.cs @@ -1,7 +1,6 @@ using System; using System.Collections.Generic; using Fallout.Application.Tooling; -using Fallout.Common; using Fallout.Kernel.IO; using Fallout.Kernel; diff --git a/src/Fallout.Common/Tools/PowerShell/PowerShellTasks.cs b/src/Fallout.Common/Tools/PowerShell/PowerShellTasks.cs index d2213373e..5a6c3087d 100644 --- a/src/Fallout.Common/Tools/PowerShell/PowerShellTasks.cs +++ b/src/Fallout.Common/Tools/PowerShell/PowerShellTasks.cs @@ -1,6 +1,6 @@ using System; using Fallout.Application.Tooling; -using Fallout.Common; +using Fallout.Kernel; namespace Fallout.Application.Tools.PowerShell; diff --git a/src/Fallout.Common/Tools/SignPath/SignPathTasks.cs b/src/Fallout.Common/Tools/SignPath/SignPathTasks.cs index 156c51ce2..969fca728 100644 --- a/src/Fallout.Common/Tools/SignPath/SignPathTasks.cs +++ b/src/Fallout.Common/Tools/SignPath/SignPathTasks.cs @@ -10,7 +10,6 @@ using Serilog; using static Fallout.Application.ControlFlow; using Fallout.Application; -using Fallout.Common; using Fallout.Kernel; using Fallout.Kernel.IO; diff --git a/src/Fallout.Common/Tools/SignTool/SignToolTasks.cs b/src/Fallout.Common/Tools/SignTool/SignToolTasks.cs index f5b440cd0..10a8b6193 100644 --- a/src/Fallout.Common/Tools/SignTool/SignToolTasks.cs +++ b/src/Fallout.Common/Tools/SignTool/SignToolTasks.cs @@ -1,8 +1,8 @@ using System; using System.Linq; using Fallout.Application.Tooling; -using Fallout.Common; using Fallout.Kernel.IO; +using Fallout.Kernel; namespace Fallout.Application.Tools.SignTool; diff --git a/src/Fallout.Common/Tools/Slack/SlackTasks.cs b/src/Fallout.Common/Tools/Slack/SlackTasks.cs index 6d5873397..f91f5d260 100644 --- a/src/Fallout.Common/Tools/Slack/SlackTasks.cs +++ b/src/Fallout.Common/Tools/Slack/SlackTasks.cs @@ -7,7 +7,6 @@ using System.Text.Json.Serialization; using System.Threading.Tasks; using Fallout.Application.Tooling; -using Fallout.Common; using Fallout.Kernel.Net; using Fallout.Kernel; diff --git a/src/Fallout.Common/Tools/Teams/TeamsTasks.cs b/src/Fallout.Common/Tools/Teams/TeamsTasks.cs index 6c18a001c..62436101c 100644 --- a/src/Fallout.Common/Tools/Teams/TeamsTasks.cs +++ b/src/Fallout.Common/Tools/Teams/TeamsTasks.cs @@ -3,8 +3,8 @@ using System.Net.Http; using System.Threading.Tasks; using Fallout.Application.Tooling; -using Fallout.Common; using Fallout.Kernel.Net; +using Fallout.Kernel; namespace Fallout.Application.Tools.Teams; diff --git a/src/Fallout.Common/Tools/Twitter/TwitterTasks.cs b/src/Fallout.Common/Tools/Twitter/TwitterTasks.cs index 2670a6bee..047f1bfdd 100644 --- a/src/Fallout.Common/Tools/Twitter/TwitterTasks.cs +++ b/src/Fallout.Common/Tools/Twitter/TwitterTasks.cs @@ -8,7 +8,6 @@ using System.Text; using System.Text.Json.Nodes; using System.Threading.Tasks; -using Fallout.Common; using Fallout.Kernel.Collections; using Fallout.Kernel; diff --git a/src/Fallout.Common/Tools/Unity/Logging/FileWatcher.cs b/src/Fallout.Common/Tools/Unity/Logging/FileWatcher.cs index d64045039..4189f0583 100644 --- a/src/Fallout.Common/Tools/Unity/Logging/FileWatcher.cs +++ b/src/Fallout.Common/Tools/Unity/Logging/FileWatcher.cs @@ -3,7 +3,7 @@ using System.Linq; using System.Text; using System.Threading; -using Fallout.Common; +using Fallout.Kernel; namespace Fallout.Application.Tools.Unity.Logging; diff --git a/src/Fallout.Common/Tools/Unity/UnityTasks.cs b/src/Fallout.Common/Tools/Unity/UnityTasks.cs index 2f538322b..359d389d4 100644 --- a/src/Fallout.Common/Tools/Unity/UnityTasks.cs +++ b/src/Fallout.Common/Tools/Unity/UnityTasks.cs @@ -8,7 +8,6 @@ using Fallout.Application; using Fallout.Application.Tools.Unity.Logging; using Fallout.Application.Tooling; -using Fallout.Common; using Fallout.Kernel.IO; using Fallout.Kernel.Text.Yaml; using Fallout.Kernel; diff --git a/src/Fallout.Common/Tools/Xunit/XunitTasks.cs b/src/Fallout.Common/Tools/Xunit/XunitTasks.cs index 24311e96a..56b1988a9 100644 --- a/src/Fallout.Common/Tools/Xunit/XunitTasks.cs +++ b/src/Fallout.Common/Tools/Xunit/XunitTasks.cs @@ -1,7 +1,7 @@ using System; using System.Linq; using Fallout.Application.Tooling; -using Fallout.Common; +using Fallout.Kernel; namespace Fallout.Application.Tools.Xunit; diff --git a/src/Fallout.Common/Utilities/TemplateUtility.cs b/src/Fallout.Common/Utilities/TemplateUtility.cs index 613410e91..c1419075d 100644 --- a/src/Fallout.Common/Utilities/TemplateUtility.cs +++ b/src/Fallout.Common/Utilities/TemplateUtility.cs @@ -4,7 +4,6 @@ using Serilog; using Fallout.Kernel.Collections; using Fallout.Kernel.IO; -using Fallout.Common; namespace Fallout.Kernel; diff --git a/src/Fallout.Components/ICreateGitHubRelease.cs b/src/Fallout.Components/ICreateGitHubRelease.cs index 66d696e3e..c4043199e 100644 --- a/src/Fallout.Components/ICreateGitHubRelease.cs +++ b/src/Fallout.Components/ICreateGitHubRelease.cs @@ -3,7 +3,6 @@ using System.IO; using System.Linq; using System.Threading.Tasks; -using Fallout.Common; using Octokit; using Fallout.Application; using Fallout.Application.Tools.GitHub; diff --git a/src/Fallout.Components/IPublish.cs b/src/Fallout.Components/IPublish.cs index 3e59d3b50..2d5ce881b 100644 --- a/src/Fallout.Components/IPublish.cs +++ b/src/Fallout.Components/IPublish.cs @@ -3,7 +3,6 @@ using System.Collections.Generic; using System.Diagnostics.CodeAnalysis; using System.Linq; -using Fallout.Common; using static Fallout.Application.Tools.DotNet.DotNetTasks; using Fallout.Application; using Fallout.Application.Tools.DotNet; diff --git a/src/Fallout.MSBuildTasks/ContextAwareTask.cs b/src/Fallout.MSBuildTasks/ContextAwareTask.cs index a4bc76e11..7d3d33288 100644 --- a/src/Fallout.MSBuildTasks/ContextAwareTask.cs +++ b/src/Fallout.MSBuildTasks/ContextAwareTask.cs @@ -4,7 +4,7 @@ using System.Reflection; using Microsoft.Build.Framework; using Microsoft.Build.Utilities; -using Fallout.Common; +using Fallout.Kernel; #if NETCOREAPP using System.Runtime.Loader; using Fallout.Kernel; diff --git a/src/Fallout.ProjectModel/Project.GetMSBuildProject.cs b/src/Fallout.ProjectModel/Project.GetMSBuildProject.cs index 362e870ac..9b21fde1e 100644 --- a/src/Fallout.ProjectModel/Project.GetMSBuildProject.cs +++ b/src/Fallout.ProjectModel/Project.GetMSBuildProject.cs @@ -1,4 +1,4 @@ -using Fallout.Common; +using Fallout.Kernel; using Fallout.Application.Solutions; namespace Fallout.Infrastructure.ProjectModel; diff --git a/src/Fallout.ProjectModel/Project.Items.cs b/src/Fallout.ProjectModel/Project.Items.cs index b7b40c63c..e2859d128 100644 --- a/src/Fallout.ProjectModel/Project.Items.cs +++ b/src/Fallout.ProjectModel/Project.Items.cs @@ -1,7 +1,6 @@ using System.Collections.Generic; using System.Linq; -using Fallout.Common; using Fallout.Kernel; using Fallout.Application.Solutions; diff --git a/src/Fallout.ProjectModel/Project.Misc.cs b/src/Fallout.ProjectModel/Project.Misc.cs index 9d95db0f1..f1fe5d7c2 100644 --- a/src/Fallout.ProjectModel/Project.Misc.cs +++ b/src/Fallout.ProjectModel/Project.Misc.cs @@ -2,7 +2,7 @@ using System.Collections.Generic; using System.Linq; -using Fallout.Common; +using Fallout.Kernel; using Fallout.Application.Solutions; namespace Fallout.Infrastructure.ProjectModel; diff --git a/src/Fallout.ProjectModel/Project.Properties.cs b/src/Fallout.ProjectModel/Project.Properties.cs index 213c880b7..f26bbaa1b 100644 --- a/src/Fallout.ProjectModel/Project.Properties.cs +++ b/src/Fallout.ProjectModel/Project.Properties.cs @@ -1,5 +1,4 @@ -using Fallout.Common; using Fallout.Kernel; using Fallout.Application.Solutions; diff --git a/src/Fallout.ProjectModel/ProjectEditorAdapter.cs b/src/Fallout.ProjectModel/ProjectEditorAdapter.cs index ed051954b..e03b70360 100644 --- a/src/Fallout.ProjectModel/ProjectEditorAdapter.cs +++ b/src/Fallout.ProjectModel/ProjectEditorAdapter.cs @@ -1,6 +1,5 @@ using System.Linq; using System.Runtime.CompilerServices; -using Fallout.Common; using Fallout.Kernel; using Fallout.Kernel.IO; using Fallout.Application.Solutions; diff --git a/src/Fallout.ProjectModel/ProjectModelTasks.cs b/src/Fallout.ProjectModel/ProjectModelTasks.cs index 65a8561fb..d5f9e263a 100644 --- a/src/Fallout.ProjectModel/ProjectModelTasks.cs +++ b/src/Fallout.ProjectModel/ProjectModelTasks.cs @@ -7,7 +7,6 @@ using Serilog; #pragma warning disable CA2255 -using Fallout.Common; using Fallout.Application.Tooling; using Fallout.Kernel; using Fallout.Kernel.IO; diff --git a/src/Fallout.Tooling.Generator/CodeGenerator.cs b/src/Fallout.Tooling.Generator/CodeGenerator.cs index 4df6c8eb5..aabfda2c0 100644 --- a/src/Fallout.Tooling.Generator/CodeGenerator.cs +++ b/src/Fallout.Tooling.Generator/CodeGenerator.cs @@ -3,7 +3,6 @@ using System.Linq; using Fallout.CodeGeneration.Generators; using Fallout.CodeGeneration.Model; -using Fallout.Common; using Serilog; using Fallout.Kernel.IO; using Fallout.Kernel.Collections; diff --git a/src/Fallout.Tooling.Generator/Generators/ModelExtensions.cs b/src/Fallout.Tooling.Generator/Generators/ModelExtensions.cs index b29713254..52820e974 100644 --- a/src/Fallout.Tooling.Generator/Generators/ModelExtensions.cs +++ b/src/Fallout.Tooling.Generator/Generators/ModelExtensions.cs @@ -2,7 +2,6 @@ using System.Linq; using System.Text.RegularExpressions; using Fallout.CodeGeneration.Model; -using Fallout.Common; using Fallout.Kernel; namespace Fallout.CodeGeneration.Generators; diff --git a/src/Fallout.Tooling.Generator/Generators/StringExtensions.cs b/src/Fallout.Tooling.Generator/Generators/StringExtensions.cs index a63bfd7c0..9ff06b3f3 100644 --- a/src/Fallout.Tooling.Generator/Generators/StringExtensions.cs +++ b/src/Fallout.Tooling.Generator/Generators/StringExtensions.cs @@ -3,7 +3,7 @@ using System.Globalization; using System.Linq; using Humanizer; -using Fallout.Common; +using Fallout.Kernel; namespace Fallout.CodeGeneration.Generators; diff --git a/src/Fallout.Tooling.Generator/ReferenceUpdater.cs b/src/Fallout.Tooling.Generator/ReferenceUpdater.cs index 1ef63dbf3..8ca5303ee 100644 --- a/src/Fallout.Tooling.Generator/ReferenceUpdater.cs +++ b/src/Fallout.Tooling.Generator/ReferenceUpdater.cs @@ -7,9 +7,9 @@ using System.Threading.Tasks; using HtmlAgilityPack; using Fallout.CodeGeneration.Model; -using Fallout.Common; using Serilog; using Fallout.Kernel.Net; +using Fallout.Kernel; namespace Fallout.CodeGeneration; diff --git a/src/Fallout.Tooling/ArgumentStringHandler.cs b/src/Fallout.Tooling/ArgumentStringHandler.cs index e9954047c..f4a91f1c5 100644 --- a/src/Fallout.Tooling/ArgumentStringHandler.cs +++ b/src/Fallout.Tooling/ArgumentStringHandler.cs @@ -4,7 +4,6 @@ using System.Collections.Generic; using System.Linq; using System.Runtime.CompilerServices; -using Fallout.Common; using Fallout.Kernel; using Fallout.Kernel.IO; diff --git a/src/Fallout.Tooling/Enumeration.cs b/src/Fallout.Tooling/Enumeration.cs index ab928f17b..c4bd3847a 100644 --- a/src/Fallout.Tooling/Enumeration.cs +++ b/src/Fallout.Tooling/Enumeration.cs @@ -4,7 +4,6 @@ using System.Globalization; using System.Linq; using System.Reflection; -using Fallout.Common; using Fallout.Kernel; namespace Fallout.Application.Tooling; diff --git a/src/Fallout.Tooling/EnumerationJsonConverter.cs b/src/Fallout.Tooling/EnumerationJsonConverter.cs index deba7c181..3ff322b59 100644 --- a/src/Fallout.Tooling/EnumerationJsonConverter.cs +++ b/src/Fallout.Tooling/EnumerationJsonConverter.cs @@ -4,7 +4,6 @@ using System.Text.Json; using System.Text.Json.Serialization; using Fallout.Kernel; -using Fallout.Common; namespace Fallout.Application.Tooling; diff --git a/src/Fallout.Tooling/NpmToolPathResolver.cs b/src/Fallout.Tooling/NpmToolPathResolver.cs index c87a87ae0..34b406c25 100644 --- a/src/Fallout.Tooling/NpmToolPathResolver.cs +++ b/src/Fallout.Tooling/NpmToolPathResolver.cs @@ -1,8 +1,8 @@ using System; using System.Linq; -using Fallout.Common; using Fallout.Application.Tooling; using Fallout.Kernel.IO; +using Fallout.Kernel; namespace Fallout.Infrastructure.Tooling; diff --git a/src/Fallout.Tooling/NuGetPackageResolver.cs b/src/Fallout.Tooling/NuGetPackageResolver.cs index 7800b1caa..39d4361f9 100644 --- a/src/Fallout.Tooling/NuGetPackageResolver.cs +++ b/src/Fallout.Tooling/NuGetPackageResolver.cs @@ -6,7 +6,6 @@ using System.Xml.Linq; using NuGet.Packaging; using NuGet.Versioning; -using Fallout.Common; using Fallout.Kernel.IO; using Fallout.Kernel; using Fallout.Kernel.Collections; diff --git a/src/Fallout.Tooling/NuGetToolPathResolver.cs b/src/Fallout.Tooling/NuGetToolPathResolver.cs index 6ff72c0a5..8acfad788 100644 --- a/src/Fallout.Tooling/NuGetToolPathResolver.cs +++ b/src/Fallout.Tooling/NuGetToolPathResolver.cs @@ -4,7 +4,6 @@ using System.Linq; using System.Reflection; using System.Runtime.Versioning; -using Fallout.Common; using Fallout.Kernel; using Fallout.Kernel.Collections; diff --git a/src/Fallout.Tooling/NuGetVersionResolver.cs b/src/Fallout.Tooling/NuGetVersionResolver.cs index 247aa3118..81999958c 100644 --- a/src/Fallout.Tooling/NuGetVersionResolver.cs +++ b/src/Fallout.Tooling/NuGetVersionResolver.cs @@ -3,7 +3,6 @@ using System.Text.Json.Nodes; using System.Threading.Tasks; using Fallout.Kernel; -using Fallout.Common; namespace Fallout.Infrastructure.Tooling; diff --git a/src/Fallout.Tooling/ObjectFromFieldConverter.cs b/src/Fallout.Tooling/ObjectFromFieldConverter.cs index 24eb495ff..351989ac1 100644 --- a/src/Fallout.Tooling/ObjectFromFieldConverter.cs +++ b/src/Fallout.Tooling/ObjectFromFieldConverter.cs @@ -3,7 +3,6 @@ using System.Reflection; using System.Text.Json; using System.Text.Json.Serialization; -using Fallout.Common; using Fallout.Kernel; namespace Fallout.Application.Tooling; diff --git a/src/Fallout.Tooling/Options.cs b/src/Fallout.Tooling/Options.cs index 460ba83a0..116b1a035 100644 --- a/src/Fallout.Tooling/Options.cs +++ b/src/Fallout.Tooling/Options.cs @@ -7,7 +7,6 @@ using System.Text.Json; using System.Text.Json.Nodes; using System.Text.Json.Serialization; -using Fallout.Common; using Fallout.Kernel; using Fallout.Kernel.Collections; diff --git a/src/Fallout.Tooling/PaketPackageResolver.cs b/src/Fallout.Tooling/PaketPackageResolver.cs index 738771e1d..8ec018f70 100644 --- a/src/Fallout.Tooling/PaketPackageResolver.cs +++ b/src/Fallout.Tooling/PaketPackageResolver.cs @@ -1,7 +1,7 @@ using System; using System.IO; using System.Linq; -using Fallout.Common; +using Fallout.Kernel; namespace Fallout.Infrastructure.Tooling; diff --git a/src/Fallout.Tooling/ProcessExtensions.cs b/src/Fallout.Tooling/ProcessExtensions.cs index bdf33f90d..de9f5065d 100644 --- a/src/Fallout.Tooling/ProcessExtensions.cs +++ b/src/Fallout.Tooling/ProcessExtensions.cs @@ -3,7 +3,6 @@ using System.Linq; using System.Text.Json; using System.Text.Json.Nodes; -using Fallout.Common; using Fallout.Kernel; namespace Fallout.Application.Tooling; diff --git a/src/Fallout.Tooling/ProcessTasks.cs b/src/Fallout.Tooling/ProcessTasks.cs index c96634306..2bc26206e 100644 --- a/src/Fallout.Tooling/ProcessTasks.cs +++ b/src/Fallout.Tooling/ProcessTasks.cs @@ -8,7 +8,6 @@ using Serilog; using Serilog.Events; using Fallout.Application.Tooling; -using Fallout.Common; using Fallout.Kernel; using Fallout.Kernel.Collections; diff --git a/src/Fallout.Tooling/ToolOptions.Arguments.cs b/src/Fallout.Tooling/ToolOptions.Arguments.cs index d6eaa0057..302a60413 100644 --- a/src/Fallout.Tooling/ToolOptions.Arguments.cs +++ b/src/Fallout.Tooling/ToolOptions.Arguments.cs @@ -4,7 +4,6 @@ using System.Reflection; using System.Text.Json; using System.Text.Json.Nodes; -using Fallout.Common; using Fallout.Kernel.Collections; using Fallout.Kernel; diff --git a/src/Fallout.Tooling/ToolOptions.Logger.cs b/src/Fallout.Tooling/ToolOptions.Logger.cs index 20a439475..5a9fb3e46 100644 --- a/src/Fallout.Tooling/ToolOptions.Logger.cs +++ b/src/Fallout.Tooling/ToolOptions.Logger.cs @@ -1,6 +1,5 @@ using System; using System.Reflection; -using Fallout.Common; using Fallout.Kernel; namespace Fallout.Application.Tooling; diff --git a/src/Fallout.Tooling/ToolOptions.Secrets.cs b/src/Fallout.Tooling/ToolOptions.Secrets.cs index 55e33a02b..ad89f5f8e 100644 --- a/src/Fallout.Tooling/ToolOptions.Secrets.cs +++ b/src/Fallout.Tooling/ToolOptions.Secrets.cs @@ -1,7 +1,6 @@ using System.Collections.Generic; using System.Linq; using System.Reflection; -using Fallout.Common; using Fallout.Kernel; namespace Fallout.Application.Tooling; diff --git a/src/Fallout.Tooling/ToolOptions.cs b/src/Fallout.Tooling/ToolOptions.cs index 23b7414d2..02fabd151 100644 --- a/src/Fallout.Tooling/ToolOptions.cs +++ b/src/Fallout.Tooling/ToolOptions.cs @@ -2,7 +2,6 @@ using System.Collections.Generic; using System.Linq; using System.Reflection; -using Fallout.Common; using Fallout.Kernel; namespace Fallout.Application.Tooling; diff --git a/src/Fallout.Tooling/ToolPathResolver.cs b/src/Fallout.Tooling/ToolPathResolver.cs index d7766e4e5..f26b9209e 100644 --- a/src/Fallout.Tooling/ToolPathResolver.cs +++ b/src/Fallout.Tooling/ToolPathResolver.cs @@ -2,7 +2,6 @@ using System.IO; using System.Linq; using Fallout.Application.Tooling; -using Fallout.Common; using Fallout.Kernel; namespace Fallout.Infrastructure.Tooling; diff --git a/src/Fallout.Tooling/ToolResolver.cs b/src/Fallout.Tooling/ToolResolver.cs index 9c5cb8ad1..833c64aca 100644 --- a/src/Fallout.Tooling/ToolResolver.cs +++ b/src/Fallout.Tooling/ToolResolver.cs @@ -1,6 +1,6 @@ using System; using System.Linq; -using Fallout.Common; +using Fallout.Kernel; namespace Fallout.Application.Tooling; diff --git a/src/Fallout.Tooling/ToolTasks.ToolPath.cs b/src/Fallout.Tooling/ToolTasks.ToolPath.cs index ee6c207b8..8c6033d9a 100644 --- a/src/Fallout.Tooling/ToolTasks.ToolPath.cs +++ b/src/Fallout.Tooling/ToolTasks.ToolPath.cs @@ -1,6 +1,5 @@ using System; using System.Reflection; -using Fallout.Common; using Fallout.Kernel; namespace Fallout.Application.Tooling; diff --git a/src/Fallout.Tooling/ToolingExtensions.cs b/src/Fallout.Tooling/ToolingExtensions.cs index 57ff506fe..acf112a8e 100644 --- a/src/Fallout.Tooling/ToolingExtensions.cs +++ b/src/Fallout.Tooling/ToolingExtensions.cs @@ -2,7 +2,6 @@ using System.Linq; using Serilog; using Serilog.Events; -using Fallout.Common; using Fallout.Application.Tooling; using Fallout.Kernel.IO; using Fallout.Kernel.Collections; diff --git a/src/Fallout.Utilities.IO.Compression/CompressionExtensions.cs b/src/Fallout.Utilities.IO.Compression/CompressionExtensions.cs index acfb01c8f..6db7977d0 100644 --- a/src/Fallout.Utilities.IO.Compression/CompressionExtensions.cs +++ b/src/Fallout.Utilities.IO.Compression/CompressionExtensions.cs @@ -8,7 +8,7 @@ using ICSharpCode.SharpZipLib.Tar; using ICSharpCode.SharpZipLib.Zip; using Fallout.Kernel.Collections; -using Fallout.Common; +using Fallout.Kernel; namespace Fallout.Kernel.IO; diff --git a/src/Fallout.Utilities.IO.Globbing/Globbing.cs b/src/Fallout.Utilities.IO.Globbing/Globbing.cs index 278fe9744..c87edf2e6 100644 --- a/src/Fallout.Utilities.IO.Globbing/Globbing.cs +++ b/src/Fallout.Utilities.IO.Globbing/Globbing.cs @@ -5,7 +5,6 @@ using GlobExpressions; using Fallout.Kernel.Collections; using Fallout.Kernel; -using Fallout.Common; namespace Fallout.Kernel.IO; diff --git a/src/Fallout.Utilities.Text.Json/JsonObject.GetPropertyValue.cs b/src/Fallout.Utilities.Text.Json/JsonObject.GetPropertyValue.cs index 5ff2c1ecb..01804e4c7 100644 --- a/src/Fallout.Utilities.Text.Json/JsonObject.GetPropertyValue.cs +++ b/src/Fallout.Utilities.Text.Json/JsonObject.GetPropertyValue.cs @@ -1,5 +1,4 @@ using System.Text.Json.Nodes; -using Fallout.Common; namespace Fallout.Kernel; diff --git a/src/Fallout.Utilities/ArgumentParser.cs b/src/Fallout.Utilities/ArgumentParser.cs index 3ab39aaf7..ec3b76958 100644 --- a/src/Fallout.Utilities/ArgumentParser.cs +++ b/src/Fallout.Utilities/ArgumentParser.cs @@ -4,7 +4,7 @@ using Fallout.Kernel; using Fallout.Kernel.Collections; -namespace Fallout.Common; +namespace Fallout.Kernel; internal class ArgumentParser { diff --git a/src/Fallout.Utilities/Assert.cs b/src/Fallout.Utilities/Assert.cs index d8ce8016b..9fe85a0e0 100644 --- a/src/Fallout.Utilities/Assert.cs +++ b/src/Fallout.Utilities/Assert.cs @@ -1,10 +1,10 @@ -using System; +using System; using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Runtime.CompilerServices; -namespace Fallout.Common; +namespace Fallout.Kernel; /// /// Provides a collection of common assertion methods. diff --git a/src/Fallout.Utilities/AsyncHelper.cs b/src/Fallout.Utilities/AsyncHelper.cs index b93610205..eaa9f4f55 100644 --- a/src/Fallout.Utilities/AsyncHelper.cs +++ b/src/Fallout.Utilities/AsyncHelper.cs @@ -1,9 +1,9 @@ -using System; +using System; using System.Linq; using System.Threading; using System.Threading.Tasks; -namespace Fallout.Common; +namespace Fallout.Kernel; internal static class AsyncHelper { diff --git a/src/Fallout.Utilities/Collections/Dictionary.ToGeneric.cs b/src/Fallout.Utilities/Collections/Dictionary.ToGeneric.cs index a8a188222..8187cda0e 100644 --- a/src/Fallout.Utilities/Collections/Dictionary.ToGeneric.cs +++ b/src/Fallout.Utilities/Collections/Dictionary.ToGeneric.cs @@ -2,7 +2,7 @@ using System.Collections; using System.Collections.Generic; using System.Linq; -using Fallout.Common; +using Fallout.Kernel; namespace Fallout.Kernel.Collections; diff --git a/src/Fallout.Utilities/Collections/Enumerable.ToDictionary.cs b/src/Fallout.Utilities/Collections/Enumerable.ToDictionary.cs index f720613ff..feca28992 100644 --- a/src/Fallout.Utilities/Collections/Enumerable.ToDictionary.cs +++ b/src/Fallout.Utilities/Collections/Enumerable.ToDictionary.cs @@ -2,7 +2,6 @@ using System.Collections.Generic; using System.Linq; using Fallout.Kernel; -using Fallout.Common; namespace Fallout.Kernel.Collections; diff --git a/src/Fallout.Utilities/Collections/LookupTable.cs b/src/Fallout.Utilities/Collections/LookupTable.cs index 6610cac2f..2ede199c9 100644 --- a/src/Fallout.Utilities/Collections/LookupTable.cs +++ b/src/Fallout.Utilities/Collections/LookupTable.cs @@ -2,7 +2,7 @@ using System.Collections; using System.Collections.Generic; using System.Linq; -using Fallout.Common; +using Fallout.Kernel; namespace Fallout.Kernel.Collections; diff --git a/src/Fallout.Utilities/EnvironmentInfo.Arguments.cs b/src/Fallout.Utilities/EnvironmentInfo.Arguments.cs index 629fdc1b7..b34d5d90d 100644 --- a/src/Fallout.Utilities/EnvironmentInfo.Arguments.cs +++ b/src/Fallout.Utilities/EnvironmentInfo.Arguments.cs @@ -4,7 +4,7 @@ using System.Linq.Expressions; using Fallout.Kernel; -namespace Fallout.Common; +namespace Fallout.Kernel; public static partial class EnvironmentInfo { diff --git a/src/Fallout.Utilities/EnvironmentInfo.Platform.cs b/src/Fallout.Utilities/EnvironmentInfo.Platform.cs index 27caada84..98ccbe074 100644 --- a/src/Fallout.Utilities/EnvironmentInfo.Platform.cs +++ b/src/Fallout.Utilities/EnvironmentInfo.Platform.cs @@ -6,7 +6,7 @@ using System.Runtime.Versioning; using Fallout.Kernel; -namespace Fallout.Common; +namespace Fallout.Kernel; public enum PlatformFamily { diff --git a/src/Fallout.Utilities/EnvironmentInfo.SpecialFolder.cs b/src/Fallout.Utilities/EnvironmentInfo.SpecialFolder.cs index ddaf40fb3..65b67791f 100644 --- a/src/Fallout.Utilities/EnvironmentInfo.SpecialFolder.cs +++ b/src/Fallout.Utilities/EnvironmentInfo.SpecialFolder.cs @@ -3,7 +3,7 @@ using Fallout.Kernel.IO; using Fallout.Kernel; -namespace Fallout.Common; +namespace Fallout.Kernel; public enum SpecialFolders { diff --git a/src/Fallout.Utilities/EnvironmentInfo.Variables.cs b/src/Fallout.Utilities/EnvironmentInfo.Variables.cs index 68a83d71d..f374f09b5 100644 --- a/src/Fallout.Utilities/EnvironmentInfo.Variables.cs +++ b/src/Fallout.Utilities/EnvironmentInfo.Variables.cs @@ -7,7 +7,7 @@ using Fallout.Kernel.Collections; using Fallout.Kernel; -namespace Fallout.Common; +namespace Fallout.Kernel; [DebuggerNonUserCode] [DebuggerStepThrough] diff --git a/src/Fallout.Utilities/EnvironmentInfo.cs b/src/Fallout.Utilities/EnvironmentInfo.cs index fc04c1171..ae5bc496d 100644 --- a/src/Fallout.Utilities/EnvironmentInfo.cs +++ b/src/Fallout.Utilities/EnvironmentInfo.cs @@ -3,7 +3,7 @@ using Fallout.Kernel.IO; using Fallout.Kernel; -namespace Fallout.Common; +namespace Fallout.Kernel; /// /// Provides access to environment relevant information. diff --git a/src/Fallout.Utilities/IO/AbsolutePath.Children.cs b/src/Fallout.Utilities/IO/AbsolutePath.Children.cs index d80aed733..7eab1267d 100644 --- a/src/Fallout.Utilities/IO/AbsolutePath.Children.cs +++ b/src/Fallout.Utilities/IO/AbsolutePath.Children.cs @@ -3,7 +3,7 @@ using System.IO; using System.Linq; using Fallout.Kernel.Collections; -using Fallout.Common; +using Fallout.Kernel; namespace Fallout.Kernel.IO; diff --git a/src/Fallout.Utilities/IO/AbsolutePath.Exists.cs b/src/Fallout.Utilities/IO/AbsolutePath.Exists.cs index 66bfc6e85..8b931b449 100644 --- a/src/Fallout.Utilities/IO/AbsolutePath.Exists.cs +++ b/src/Fallout.Utilities/IO/AbsolutePath.Exists.cs @@ -4,7 +4,6 @@ using System.Linq; using System.Runtime.CompilerServices; using Fallout.Kernel; -using Fallout.Common; namespace Fallout.Kernel.IO; diff --git a/src/Fallout.Utilities/IO/AbsolutePath.Find.cs b/src/Fallout.Utilities/IO/AbsolutePath.Find.cs index 6719ca96c..281952b5e 100644 --- a/src/Fallout.Utilities/IO/AbsolutePath.Find.cs +++ b/src/Fallout.Utilities/IO/AbsolutePath.Find.cs @@ -1,7 +1,7 @@ using System; using System.Linq; using Fallout.Kernel.Collections; -using Fallout.Common; +using Fallout.Kernel; namespace Fallout.Kernel.IO; diff --git a/src/Fallout.Utilities/IO/AbsolutePath.Hash.cs b/src/Fallout.Utilities/IO/AbsolutePath.Hash.cs index 018f9f0e1..6a628cec3 100644 --- a/src/Fallout.Utilities/IO/AbsolutePath.Hash.cs +++ b/src/Fallout.Utilities/IO/AbsolutePath.Hash.cs @@ -4,7 +4,7 @@ using System.Linq; using System.Security.Cryptography; using System.Text; -using Fallout.Common; +using Fallout.Kernel; namespace Fallout.Kernel.IO; diff --git a/src/Fallout.Utilities/IO/AbsolutePath.MoveCopy.cs b/src/Fallout.Utilities/IO/AbsolutePath.MoveCopy.cs index 64cbee0bb..3c7062ce0 100644 --- a/src/Fallout.Utilities/IO/AbsolutePath.MoveCopy.cs +++ b/src/Fallout.Utilities/IO/AbsolutePath.MoveCopy.cs @@ -2,7 +2,7 @@ using System.IO; using System.Linq; using Fallout.Kernel.Collections; -using Fallout.Common; +using Fallout.Kernel; namespace Fallout.Kernel.IO; diff --git a/src/Fallout.Utilities/IO/AbsolutePath.ReadWrite.cs b/src/Fallout.Utilities/IO/AbsolutePath.ReadWrite.cs index 2655e6119..16fbb8e7d 100644 --- a/src/Fallout.Utilities/IO/AbsolutePath.ReadWrite.cs +++ b/src/Fallout.Utilities/IO/AbsolutePath.ReadWrite.cs @@ -4,7 +4,6 @@ using System.Linq; using System.Text; using Fallout.Kernel; -using Fallout.Common; namespace Fallout.Kernel.IO; diff --git a/src/Fallout.Utilities/IO/AbsolutePath.Time.cs b/src/Fallout.Utilities/IO/AbsolutePath.Time.cs index f742a830a..b8be962c4 100644 --- a/src/Fallout.Utilities/IO/AbsolutePath.Time.cs +++ b/src/Fallout.Utilities/IO/AbsolutePath.Time.cs @@ -1,7 +1,7 @@ using System; using System.IO; using System.Linq; -using Fallout.Common; +using Fallout.Kernel; namespace Fallout.Kernel.IO; diff --git a/src/Fallout.Utilities/IO/AbsolutePath.cs b/src/Fallout.Utilities/IO/AbsolutePath.cs index 6abc4049d..e15069136 100644 --- a/src/Fallout.Utilities/IO/AbsolutePath.cs +++ b/src/Fallout.Utilities/IO/AbsolutePath.cs @@ -7,7 +7,6 @@ using System.Linq; using static Fallout.Kernel.IO.PathConstruction; using Fallout.Kernel; -using Fallout.Common; namespace Fallout.Kernel.IO; diff --git a/src/Fallout.Utilities/IO/PathConstruction.cs b/src/Fallout.Utilities/IO/PathConstruction.cs index e89c1f958..73d099654 100644 --- a/src/Fallout.Utilities/IO/PathConstruction.cs +++ b/src/Fallout.Utilities/IO/PathConstruction.cs @@ -3,7 +3,6 @@ using System.Linq; using Fallout.Kernel; using Fallout.Kernel.Collections; -using Fallout.Common; // ReSharper disable ArrangeMethodOrOperatorBody diff --git a/src/Fallout.Utilities/IO/RelativePath.cs b/src/Fallout.Utilities/IO/RelativePath.cs index 57086a635..687724298 100644 --- a/src/Fallout.Utilities/IO/RelativePath.cs +++ b/src/Fallout.Utilities/IO/RelativePath.cs @@ -2,7 +2,7 @@ using System.Diagnostics; using System.Linq; using static Fallout.Kernel.IO.PathConstruction; -using Fallout.Common; +using Fallout.Kernel; namespace Fallout.Kernel.IO; diff --git a/src/Fallout.Utilities/Reflection/Assembly.Versioning.cs b/src/Fallout.Utilities/Reflection/Assembly.Versioning.cs index e77d19dbc..17248e653 100644 --- a/src/Fallout.Utilities/Reflection/Assembly.Versioning.cs +++ b/src/Fallout.Utilities/Reflection/Assembly.Versioning.cs @@ -1,7 +1,6 @@ using System; using System.Linq; using System.Reflection; -using Fallout.Common; namespace Fallout.Kernel; diff --git a/src/Fallout.Utilities/Reflection/ReflectionUtility.Conversion.cs b/src/Fallout.Utilities/Reflection/ReflectionUtility.Conversion.cs index 723fcf43b..c5b4c9ac4 100644 --- a/src/Fallout.Utilities/Reflection/ReflectionUtility.Conversion.cs +++ b/src/Fallout.Utilities/Reflection/ReflectionUtility.Conversion.cs @@ -3,7 +3,6 @@ using System.ComponentModel; using System.Linq; using Fallout.Kernel.Collections; -using Fallout.Common; namespace Fallout.Kernel; diff --git a/src/Fallout.Utilities/Reflection/ReflectionUtility.Invocation.cs b/src/Fallout.Utilities/Reflection/ReflectionUtility.Invocation.cs index 98aea0c85..1f73e7e28 100644 --- a/src/Fallout.Utilities/Reflection/ReflectionUtility.Invocation.cs +++ b/src/Fallout.Utilities/Reflection/ReflectionUtility.Invocation.cs @@ -3,7 +3,6 @@ using System.Linq.Expressions; using System.Reflection; using Fallout.Kernel.Collections; -using Fallout.Common; namespace Fallout.Kernel; diff --git a/src/Fallout.Utilities/Reflection/ReflectionUtility.cs b/src/Fallout.Utilities/Reflection/ReflectionUtility.cs index fc28f9df2..d3a5d7192 100644 --- a/src/Fallout.Utilities/Reflection/ReflectionUtility.cs +++ b/src/Fallout.Utilities/Reflection/ReflectionUtility.cs @@ -4,7 +4,6 @@ using System.Reflection; using System.Runtime.CompilerServices; using Fallout.Kernel.Collections; -using Fallout.Common; namespace Fallout.Kernel; diff --git a/src/Fallout.Utilities/Reflection/ResourceUtility.cs b/src/Fallout.Utilities/Reflection/ResourceUtility.cs index 1cd1118ff..1c244c4bb 100644 --- a/src/Fallout.Utilities/Reflection/ResourceUtility.cs +++ b/src/Fallout.Utilities/Reflection/ResourceUtility.cs @@ -4,7 +4,6 @@ using System.Linq; using System.Reflection; using Fallout.Kernel.Collections; -using Fallout.Common; namespace Fallout.Kernel; diff --git a/src/Fallout.Utilities/Security/EncryptionUtility.cs b/src/Fallout.Utilities/Security/EncryptionUtility.cs index a4206093b..b2db6116c 100644 --- a/src/Fallout.Utilities/Security/EncryptionUtility.cs +++ b/src/Fallout.Utilities/Security/EncryptionUtility.cs @@ -4,7 +4,6 @@ using System.IO; using System.Security.Cryptography; using System.Text; -using Fallout.Common; namespace Fallout.Kernel; diff --git a/src/Fallout.Utilities/Text/String.Escape.cs b/src/Fallout.Utilities/Text/String.Escape.cs index d48cfa1e8..9960102c7 100644 --- a/src/Fallout.Utilities/Text/String.Escape.cs +++ b/src/Fallout.Utilities/Text/String.Escape.cs @@ -1,6 +1,5 @@ using System; using System.Linq; -using Fallout.Common; namespace Fallout.Kernel; diff --git a/src/Fallout.Utilities/Text/String.Join.cs b/src/Fallout.Utilities/Text/String.Join.cs index b4c4199d9..3335f5323 100644 --- a/src/Fallout.Utilities/Text/String.Join.cs +++ b/src/Fallout.Utilities/Text/String.Join.cs @@ -1,7 +1,6 @@ using System; using System.Collections.Generic; using System.Linq; -using Fallout.Common; namespace Fallout.Kernel; diff --git a/src/Fallout.Utilities/Text/Xml/XElement.GetAttributeValue.cs b/src/Fallout.Utilities/Text/Xml/XElement.GetAttributeValue.cs index 5b4192015..70fbf1adf 100644 --- a/src/Fallout.Utilities/Text/Xml/XElement.GetAttributeValue.cs +++ b/src/Fallout.Utilities/Text/Xml/XElement.GetAttributeValue.cs @@ -1,7 +1,6 @@ using System; using System.Linq; using System.Xml.Linq; -using Fallout.Common; namespace Fallout.Kernel; diff --git a/src/Fallout.Utilities/Text/Xml/XmlExtensions.cs b/src/Fallout.Utilities/Text/Xml/XmlExtensions.cs index 324c20be0..d088e40d1 100644 --- a/src/Fallout.Utilities/Text/Xml/XmlExtensions.cs +++ b/src/Fallout.Utilities/Text/Xml/XmlExtensions.cs @@ -2,7 +2,6 @@ using System.Xml.Linq; using System.Xml.Serialization; using Fallout.Kernel.IO; -using Fallout.Common; namespace Fallout.Kernel; diff --git a/src/Fallout.Utilities/Url.WithUtmValues.cs b/src/Fallout.Utilities/Url.WithUtmValues.cs index 3fa0cc991..cfb754936 100644 --- a/src/Fallout.Utilities/Url.WithUtmValues.cs +++ b/src/Fallout.Utilities/Url.WithUtmValues.cs @@ -2,7 +2,6 @@ using System.Collections.Generic; using System.Diagnostics; using System.Linq; -using Fallout.Common; namespace Fallout.Kernel; diff --git a/src/Persistence/Fallout.Solution/Model.cs b/src/Persistence/Fallout.Solution/Model.cs index b53a28350..e1fa7231a 100644 --- a/src/Persistence/Fallout.Solution/Model.cs +++ b/src/Persistence/Fallout.Solution/Model.cs @@ -2,7 +2,6 @@ using System.Collections.Generic; using System.Linq; using System.Text.RegularExpressions; -using Fallout.Common; using Fallout.Kernel.IO; using Fallout.Kernel; diff --git a/src/Persistence/Fallout.Solution/SolutionSerializerAdapter.cs b/src/Persistence/Fallout.Solution/SolutionSerializerAdapter.cs index 031035af6..2a60357e0 100644 --- a/src/Persistence/Fallout.Solution/SolutionSerializerAdapter.cs +++ b/src/Persistence/Fallout.Solution/SolutionSerializerAdapter.cs @@ -4,7 +4,6 @@ using System.Threading; using Fallout.Persistence.Solution.Model; using Fallout.Persistence.Solution.Serializer; -using Fallout.Common; using Fallout.Kernel.IO; using Fallout.Kernel; using Fallout.Application.Solutions; diff --git a/tests/Fallout.Build.Tests/DefaultInterfaceExecutionTest.cs b/tests/Fallout.Build.Tests/DefaultInterfaceExecutionTest.cs index d3704cd8e..00a54bf77 100644 --- a/tests/Fallout.Build.Tests/DefaultInterfaceExecutionTest.cs +++ b/tests/Fallout.Build.Tests/DefaultInterfaceExecutionTest.cs @@ -5,6 +5,7 @@ using Xunit; using Fallout.Application.Execution; using Fallout.Application; +using Fallout.Kernel; namespace Fallout.Common.Tests.Execution; diff --git a/tests/Fallout.Build.Tests/GitRepositoryTest.cs b/tests/Fallout.Build.Tests/GitRepositoryTest.cs index f466bd75b..e01200cdf 100644 --- a/tests/Fallout.Build.Tests/GitRepositoryTest.cs +++ b/tests/Fallout.Build.Tests/GitRepositoryTest.cs @@ -4,6 +4,7 @@ using FluentAssertions; using Xunit; using Fallout.Application.Git; +using Fallout.Kernel; namespace Fallout.Common.Tests; diff --git a/tests/Fallout.Cli.Tests/CakeConversionTests.cs b/tests/Fallout.Cli.Tests/CakeConversionTests.cs index 1cb97efaf..ee9fedf8b 100644 --- a/tests/Fallout.Cli.Tests/CakeConversionTests.cs +++ b/tests/Fallout.Cli.Tests/CakeConversionTests.cs @@ -7,6 +7,7 @@ using VerifyXunit; using Xunit; using Fallout.Kernel.IO; +using Fallout.Kernel; namespace Fallout.Cli.Tests; diff --git a/tests/Fallout.Cli.Tests/cake-scripts/default-target.verified.cs b/tests/Fallout.Cli.Tests/cake-scripts/default-target.verified.cs index e4a199223..9829aa291 100644 --- a/tests/Fallout.Cli.Tests/cake-scripts/default-target.verified.cs +++ b/tests/Fallout.Cli.Tests/cake-scripts/default-target.verified.cs @@ -16,7 +16,7 @@ using Fallout.Application.Tools.SignTool; using Fallout.Application.Tools.NuGet; using Fallout.Kernel.IO; -using Fallout.Common; +using Fallout.Kernel; using static Fallout.Application.ControlFlow; using static Fallout.Application.Tools.DotNet.DotNetTasks; using static Fallout.Application.Tools.MSBuild.MSBuildTasks; @@ -24,7 +24,7 @@ using static Fallout.Application.Tools.NuGet.NuGetTasks; using static Fallout.Kernel.IO.TextTasks; using static Fallout.Kernel.IO.XmlTasks; -using static Fallout.Common.EnvironmentInfo; +using static Fallout.Kernel.EnvironmentInfo; class Build : FalloutBuild { diff --git a/tests/Fallout.Cli.Tests/cake-scripts/globbing.verified.cs b/tests/Fallout.Cli.Tests/cake-scripts/globbing.verified.cs index 1dd3ed5eb..0fd9597cb 100644 --- a/tests/Fallout.Cli.Tests/cake-scripts/globbing.verified.cs +++ b/tests/Fallout.Cli.Tests/cake-scripts/globbing.verified.cs @@ -16,7 +16,7 @@ using Fallout.Application.Tools.SignTool; using Fallout.Application.Tools.NuGet; using Fallout.Kernel.IO; -using Fallout.Common; +using Fallout.Kernel; using static Fallout.Application.ControlFlow; using static Fallout.Application.Tools.DotNet.DotNetTasks; using static Fallout.Application.Tools.MSBuild.MSBuildTasks; @@ -24,7 +24,7 @@ using static Fallout.Application.Tools.NuGet.NuGetTasks; using static Fallout.Kernel.IO.TextTasks; using static Fallout.Kernel.IO.XmlTasks; -using static Fallout.Common.EnvironmentInfo; +using static Fallout.Kernel.EnvironmentInfo; class Build : FalloutBuild { diff --git a/tests/Fallout.Cli.Tests/cake-scripts/parameters.verified.cs b/tests/Fallout.Cli.Tests/cake-scripts/parameters.verified.cs index 6b6b3a1ec..94f57a1e3 100644 --- a/tests/Fallout.Cli.Tests/cake-scripts/parameters.verified.cs +++ b/tests/Fallout.Cli.Tests/cake-scripts/parameters.verified.cs @@ -16,7 +16,7 @@ using Fallout.Application.Tools.SignTool; using Fallout.Application.Tools.NuGet; using Fallout.Kernel.IO; -using Fallout.Common; +using Fallout.Kernel; using static Fallout.Application.ControlFlow; using static Fallout.Application.Tools.DotNet.DotNetTasks; using static Fallout.Application.Tools.MSBuild.MSBuildTasks; @@ -24,7 +24,7 @@ using static Fallout.Application.Tools.NuGet.NuGetTasks; using static Fallout.Kernel.IO.TextTasks; using static Fallout.Kernel.IO.XmlTasks; -using static Fallout.Common.EnvironmentInfo; +using static Fallout.Kernel.EnvironmentInfo; class Build : FalloutBuild { diff --git a/tests/Fallout.Cli.Tests/cake-scripts/paths.verified.cs b/tests/Fallout.Cli.Tests/cake-scripts/paths.verified.cs index 0005b1532..a4585f65e 100644 --- a/tests/Fallout.Cli.Tests/cake-scripts/paths.verified.cs +++ b/tests/Fallout.Cli.Tests/cake-scripts/paths.verified.cs @@ -16,7 +16,7 @@ using Fallout.Application.Tools.SignTool; using Fallout.Application.Tools.NuGet; using Fallout.Kernel.IO; -using Fallout.Common; +using Fallout.Kernel; using static Fallout.Application.ControlFlow; using static Fallout.Application.Tools.DotNet.DotNetTasks; using static Fallout.Application.Tools.MSBuild.MSBuildTasks; @@ -24,7 +24,7 @@ using static Fallout.Application.Tools.NuGet.NuGetTasks; using static Fallout.Kernel.IO.TextTasks; using static Fallout.Kernel.IO.XmlTasks; -using static Fallout.Common.EnvironmentInfo; +using static Fallout.Kernel.EnvironmentInfo; class Build : FalloutBuild { diff --git a/tests/Fallout.Cli.Tests/cake-scripts/references.verified.cs b/tests/Fallout.Cli.Tests/cake-scripts/references.verified.cs index f84ba8448..f8dcea280 100644 --- a/tests/Fallout.Cli.Tests/cake-scripts/references.verified.cs +++ b/tests/Fallout.Cli.Tests/cake-scripts/references.verified.cs @@ -16,7 +16,7 @@ using Fallout.Application.Tools.SignTool; using Fallout.Application.Tools.NuGet; using Fallout.Kernel.IO; -using Fallout.Common; +using Fallout.Kernel; using static Fallout.Application.ControlFlow; using static Fallout.Application.Tools.DotNet.DotNetTasks; using static Fallout.Application.Tools.MSBuild.MSBuildTasks; @@ -24,7 +24,7 @@ using static Fallout.Application.Tools.NuGet.NuGetTasks; using static Fallout.Kernel.IO.TextTasks; using static Fallout.Kernel.IO.XmlTasks; -using static Fallout.Common.EnvironmentInfo; +using static Fallout.Kernel.EnvironmentInfo; class Build : FalloutBuild { diff --git a/tests/Fallout.Cli.Tests/cake-scripts/targets.verified.cs b/tests/Fallout.Cli.Tests/cake-scripts/targets.verified.cs index 9e74a4887..a2f5169c0 100644 --- a/tests/Fallout.Cli.Tests/cake-scripts/targets.verified.cs +++ b/tests/Fallout.Cli.Tests/cake-scripts/targets.verified.cs @@ -16,7 +16,7 @@ using Fallout.Application.Tools.SignTool; using Fallout.Application.Tools.NuGet; using Fallout.Kernel.IO; -using Fallout.Common; +using Fallout.Kernel; using static Fallout.Application.ControlFlow; using static Fallout.Application.Tools.DotNet.DotNetTasks; using static Fallout.Application.Tools.MSBuild.MSBuildTasks; @@ -24,7 +24,7 @@ using static Fallout.Application.Tools.NuGet.NuGetTasks; using static Fallout.Kernel.IO.TextTasks; using static Fallout.Kernel.IO.XmlTasks; -using static Fallout.Common.EnvironmentInfo; +using static Fallout.Kernel.EnvironmentInfo; class Build : FalloutBuild { diff --git a/tests/Fallout.Cli.Tests/cake-scripts/tool-invocation.verified.cs b/tests/Fallout.Cli.Tests/cake-scripts/tool-invocation.verified.cs index 6a93e2c92..f52997409 100644 --- a/tests/Fallout.Cli.Tests/cake-scripts/tool-invocation.verified.cs +++ b/tests/Fallout.Cli.Tests/cake-scripts/tool-invocation.verified.cs @@ -16,7 +16,7 @@ using Fallout.Application.Tools.SignTool; using Fallout.Application.Tools.NuGet; using Fallout.Kernel.IO; -using Fallout.Common; +using Fallout.Kernel; using static Fallout.Application.ControlFlow; using static Fallout.Application.Tools.DotNet.DotNetTasks; using static Fallout.Application.Tools.MSBuild.MSBuildTasks; @@ -24,7 +24,7 @@ using static Fallout.Application.Tools.NuGet.NuGetTasks; using static Fallout.Kernel.IO.TextTasks; using static Fallout.Kernel.IO.XmlTasks; -using static Fallout.Common.EnvironmentInfo; +using static Fallout.Kernel.EnvironmentInfo; class Build : FalloutBuild { diff --git a/tests/Fallout.Common.Tests/CI/ConfigurationGenerationTest.cs b/tests/Fallout.Common.Tests/CI/ConfigurationGenerationTest.cs index e6a96b97f..69d8b0468 100644 --- a/tests/Fallout.Common.Tests/CI/ConfigurationGenerationTest.cs +++ b/tests/Fallout.Common.Tests/CI/ConfigurationGenerationTest.cs @@ -15,6 +15,7 @@ using Fallout.Infrastructure.CI.TeamCity; using Fallout.Infrastructure.CI.AzurePipelines; using Fallout.Infrastructure.CI.GitHubActions; +using Fallout.Kernel; namespace Fallout.Common.Tests.CI; diff --git a/tests/Fallout.Common.Tests/CITest.cs b/tests/Fallout.Common.Tests/CITest.cs index c0fb35356..760d6c10e 100644 --- a/tests/Fallout.Common.Tests/CITest.cs +++ b/tests/Fallout.Common.Tests/CITest.cs @@ -13,6 +13,10 @@ using Fallout.Infrastructure.CI.Jenkins; using Fallout.Infrastructure.CI.TravisCI; using Fallout.Infrastructure.CI.GitLab; +using Fallout.Kernel; +// Fallout.Kernel now also defines an Assert (moved from Fallout.Common in the onion realignment), +// which collides by name with Xunit.Assert used throughout this test — bind the bare name to Xunit's. +using Assert = Xunit.Assert; namespace Fallout.Common.Tests; diff --git a/tests/Fallout.Common.Tests/ChangelogTasksTest.cs b/tests/Fallout.Common.Tests/ChangelogTasksTest.cs index bf4b12fa1..4452fa5c4 100644 --- a/tests/Fallout.Common.Tests/ChangelogTasksTest.cs +++ b/tests/Fallout.Common.Tests/ChangelogTasksTest.cs @@ -7,6 +7,7 @@ using Xunit; using Fallout.Kernel.IO; using Fallout.Application.ChangeLog; +using Fallout.Kernel; // ReSharper disable ReturnValueOfPureMethodIsNotUsed diff --git a/tests/Fallout.Common.Tests/GitHubTasksTest.cs b/tests/Fallout.Common.Tests/GitHubTasksTest.cs index 9c4cad0c2..121c5396b 100644 --- a/tests/Fallout.Common.Tests/GitHubTasksTest.cs +++ b/tests/Fallout.Common.Tests/GitHubTasksTest.cs @@ -5,6 +5,7 @@ using Fallout.Application.Git; using Fallout.Application.Tools.GitHub; using Fallout.Kernel.IO; +using Fallout.Kernel; namespace Fallout.Common.Tests; diff --git a/tests/Fallout.ProjectModel.Tests/ProjectModelTest.cs b/tests/Fallout.ProjectModel.Tests/ProjectModelTest.cs index 274844d3e..15dd6bd57 100644 --- a/tests/Fallout.ProjectModel.Tests/ProjectModelTest.cs +++ b/tests/Fallout.ProjectModel.Tests/ProjectModelTest.cs @@ -5,6 +5,7 @@ using Fallout.Kernel.IO; using Fallout.Application.Solutions; using Fallout.Infrastructure.ProjectModel; +using Fallout.Kernel; namespace Fallout.Common.Tests; diff --git a/tests/Fallout.Tooling.Tests/NuGetPackageResolverTest.cs b/tests/Fallout.Tooling.Tests/NuGetPackageResolverTest.cs index 5c12c3431..b4de0474b 100644 --- a/tests/Fallout.Tooling.Tests/NuGetPackageResolverTest.cs +++ b/tests/Fallout.Tooling.Tests/NuGetPackageResolverTest.cs @@ -3,6 +3,7 @@ using Xunit; using Fallout.Infrastructure.Tooling; using Fallout.Kernel.IO; +using Fallout.Kernel; namespace Fallout.Common.Tests; diff --git a/tests/Fallout.Tooling.Tests/ToolTasksToolPathTest.cs b/tests/Fallout.Tooling.Tests/ToolTasksToolPathTest.cs index af19d78c5..eee1c2bb9 100644 --- a/tests/Fallout.Tooling.Tests/ToolTasksToolPathTest.cs +++ b/tests/Fallout.Tooling.Tests/ToolTasksToolPathTest.cs @@ -6,6 +6,7 @@ using Fallout.Infrastructure.Tooling; using Fallout.Application.Tooling; using Fallout.Kernel.IO; +using Fallout.Kernel; namespace Fallout.Common.Tests; diff --git a/tests/Fallout.Utilities.Tests/ArgumentParserTest.cs b/tests/Fallout.Utilities.Tests/ArgumentParserTest.cs index 46612aeb9..b7f92ea22 100644 --- a/tests/Fallout.Utilities.Tests/ArgumentParserTest.cs +++ b/tests/Fallout.Utilities.Tests/ArgumentParserTest.cs @@ -2,6 +2,7 @@ using System.Linq; using FluentAssertions; using Xunit; +using Fallout.Kernel; namespace Fallout.Common.Tests; diff --git a/tests/Fallout.Utilities.Tests/EnvironmentInfoTest.cs b/tests/Fallout.Utilities.Tests/EnvironmentInfoTest.cs index 2485f21a2..d55a6bf6d 100644 --- a/tests/Fallout.Utilities.Tests/EnvironmentInfoTest.cs +++ b/tests/Fallout.Utilities.Tests/EnvironmentInfoTest.cs @@ -3,6 +3,7 @@ using FluentAssertions; using Xunit; using Fallout.Kernel.IO; +using Fallout.Kernel; namespace Fallout.Common.Tests; diff --git a/tests/Fallout.Utilities.Tests/IO/FileSystemDependentTest.cs b/tests/Fallout.Utilities.Tests/IO/FileSystemDependentTest.cs index c9f5df274..8536e9007 100644 --- a/tests/Fallout.Utilities.Tests/IO/FileSystemDependentTest.cs +++ b/tests/Fallout.Utilities.Tests/IO/FileSystemDependentTest.cs @@ -5,6 +5,7 @@ using Fallout.Common; using Xunit.Abstractions; using Fallout.Kernel.IO; +using Fallout.Kernel; namespace Fallout.Common.Tests; diff --git a/tests/Fallout.Utilities.Tests/IO/PathConstructionTest.cs b/tests/Fallout.Utilities.Tests/IO/PathConstructionTest.cs index eb51f29dd..66e0e74cb 100644 --- a/tests/Fallout.Utilities.Tests/IO/PathConstructionTest.cs +++ b/tests/Fallout.Utilities.Tests/IO/PathConstructionTest.cs @@ -4,6 +4,7 @@ using Xunit; using static Fallout.Kernel.IO.PathConstruction; using Fallout.Kernel.IO; +using Fallout.Kernel; namespace Fallout.Common.Tests; diff --git a/tools/OnionRewriter/Program.cs b/tools/OnionRewriter/Program.cs index 9e19cdfca..6cbce2ca1 100644 --- a/tools/OnionRewriter/Program.cs +++ b/tools/OnionRewriter/Program.cs @@ -32,15 +32,15 @@ record struct Rule(string Old, string New, string[] SourceAssemblies); // The two Infrastructure destinations are per-type overrides (they beat the default prefix rule). After // phase B the model already routes solution/project I/O through the ports, so this move adds no // Infrastructure dependency to the Application ring (gate stays green). - // Finish partial onion moves (stragglers from steps 2/4b/5a). PASS 1 — Git + ChangeLog build - // vocabulary → Application. GitRepositoryAttribute (still in Fallout.Common.Git) joins the GitRepository - // model already in Fallout.Application.Git; the changelog helpers → Fallout.Application.ChangeLog. Source - // assembly is Fallout.Common, and only these sub-namespaces move (the Fallout.Common root is untouched - // here — that's pass 2's job, run separately so the surviving-namespace scan stays correct). + // Finish partial onion moves (stragglers from step 5a). PASS 2 — pure utilities still stuck in the + // Fallout.Common namespace but physically in the Fallout.Utilities (Kernel) project: EnvironmentInfo, + // Assert, AsyncHelper, ArgumentParser. They belong in Fallout.Kernel (5a missed them — the lesson-#12 + // workspace-load gap). Source assembly is Fallout.Utilities ONLY: that keeps the Fallout.Common PROJECT + // dir OUT of the source set, so the surviving-namespace scan still sees Fallout.Common surviving there + // and does NOT drop live `using Fallout.Common;` directives. Run as its own pass (after pass 1). static readonly Rule[] Rules = [ - new("Fallout.Common.Git", "Fallout.Application.Git", ["Fallout.Common"]), - new("Fallout.Common.ChangeLog", "Fallout.Application.ChangeLog", ["Fallout.Common"]), + new("Fallout.Common", "Fallout.Kernel", ["Fallout.Utilities"]), ]; static readonly Dictionary TypeOverrides = new(); From c8313a2d6dd003c66beb8faf1367c7e8abf22092 Mon Sep 17 00:00:00 2001 From: Chrison Simtian Date: Mon, 1 Jun 2026 13:42:41 +1200 Subject: [PATCH 27/46] docs(spike): record Git/ChangeLog + Kernel-straggler cleanups; fix stale cref MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Record the finished partial onion moves in spike 0003, and fix a stale doc-comment cref (Fallout.Common.Git.GitRepository → Fallout.Application.Git.GitRepository — the class had already moved). Co-Authored-By: Claude Opus 4.8 (1M context) --- docs/spikes/0003-onion-infrastructure-ring.md | 5 +++++ .../GitHubActions/Configuration/GitHubActionsCheckoutStep.cs | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/docs/spikes/0003-onion-infrastructure-ring.md b/docs/spikes/0003-onion-infrastructure-ring.md index 4e443ad53..434c918cb 100644 --- a/docs/spikes/0003-onion-infrastructure-ring.md +++ b/docs/spikes/0003-onion-infrastructure-ring.md @@ -37,6 +37,11 @@ experimental Catch-all `Fallout.Common.*` code outside the Application ring (CI host adapters, `HandleSingleFileExecution`/`CheckPathEnvironmentVariable` attributes, `Fallout.Cli` composition root, `Fallout.MSBuildTasks`) still reaches Infrastructure — out of the gate's scope; folds in with step 5 as those namespaces get rings. +### Done (cont.) — straggler cleanup (2026-06-01) +**Finished partial onion moves left by earlier steps** (surfaced while cleaning the Cli cake-migration + project template). Two OnionRewriter passes: +- **Git + ChangeLog → Application** (commit cc9acf84): `GitRepositoryAttribute` (`Fallout.Common.Git`) joined the `GitRepository` model already in `Fallout.Application.Git`; changelog helpers `Fallout.Common.ChangeLog` → `Fallout.Application.ChangeLog`. No shim-marker change — the Application ring's `Nuke.*` shim story is the deferred redesign, so this just aligns Git/ChangeLog with it. +- **5a Kernel stragglers → `Fallout.Kernel`** (commit 58100f66): `EnvironmentInfo` (5 files), `Assert`, `AsyncHelper`, `ArgumentParser` were still in `namespace Fallout.Common` inside the `Fallout.Utilities` (Kernel) project — 5a missed them (lesson #12). Moved via a **separate pass with source assembly = `Fallout.Utilities` only**, so the surviving-namespace scan keeps the Fallout.Common project's surviving root types and doesn't drop live `using Fallout.Common;`. ~180 files of ref churn. Two rewriter blind-spots hand-fixed: (a) `Fallout.ProjectModel` files carried a `using Fallout.Common;` that only resolved because Utilities *declared* those Common types — once moved, the using dangled (CS0234) since ProjectModel doesn't reference the Fallout.Common assembly; the rewriter can't see assembly-ref graphs. (b) `CITest.cs` gained `using Fallout.Kernel;` (for `.NotNull()`), colliding `Fallout.Kernel.Assert` with `Xunit.Assert` → aliased to Xunit's. Full suite + dogfood green. + ### Remaining (this ring) — step 5, now sub-divided **Kernel decision (maintainer, 2026-06-01): a new `Fallout.Kernel`** — innermost shared ring below Application; Domain/Application/Infrastructure all depend on it. Pure shared value-types live here so the Application ring keeps compiling when IO moves outward (else the new fitness gate fails). Sub-steps: - **5a — `Fallout.Kernel`** ✅ DONE (namespace move; 437 files, green; gate still passes). The foundational move. **Filesystem-line decision (maintainer, 2026-06-01): filesystem IS a kernel-level capability** (like the BCL's `File`/`Directory`) — Kernel keeps `AbsolutePath` *and* its fluent file ops (`.ReadAllText`/`.GlobFiles`/`.CreateDirectory`/…); only the genuinely-EXTERNAL adapters go to Infrastructure (HTTP/FTP = `Fallout.Utilities.Net` + `Common.IO` Http/Ftp tasks; compression = `Fallout.Utilities.IO.Compression`). Rationale: the fluent `AbsolutePath` API is used pervasively across the Application ring; routing it through an `IFileSystem` port would be hundreds of call sites and kill the ergonomics, and putting it in Infrastructure would fail the new Application-ring fitness gate. diff --git a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsCheckoutStep.cs b/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsCheckoutStep.cs index 5f6f303f5..cf13bee58 100644 --- a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsCheckoutStep.cs +++ b/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsCheckoutStep.cs @@ -18,7 +18,7 @@ public class GitHubActionsCheckoutStep : GitHubActionsStep /// The git ref to check out. When unset, actions/checkout picks the default for the event /// (the merge SHA on pull_request triggers, which leaves HEAD detached). Set to /// ${{ github.head_ref }} on PR workflows that read .git/HEAD directly - /// (e.g. ) so the branch + /// (e.g. ) so the branch /// resolves correctly. When set, the generator also emits a repository: line that /// resolves to the PR head's repo for fork PRs and falls back to the current repo for push /// events — without it, fork PRs fail with "branch or tag could not be found" because the From dc8394c29959c75078d74797332efa3fbf38140b Mon Sep 17 00:00:00 2001 From: Chrison Simtian Date: Mon, 1 Jun 2026 13:50:46 +1200 Subject: [PATCH 28/46] =?UTF-8?q?refactor(arch)!:=20finish=20Execution=20+?= =?UTF-8?q?=20Gitter=20tail=20=E2=86=92=20Application=20(+=20port=20the=20?= =?UTF-8?q?exposed=20Infra=20dep)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Last of the partial onion stragglers: - Fallout.Common.Execution (CheckPathEnvironmentVariable + HandleSingleFileExecution build-extension attributes) → join Fallout.Application.Execution. - Fallout.Common.Gitter (GitterTasks) → Fallout.Application.Tools.Gitter, alongside its sibling notification tools (Slack/Discord/Teams/Mastodon). Moving the two attributes into the Application ring made the fitness gate catch a real Application→Infrastructure dependency that was previously invisible only because the attributes sat in Fallout.Common.Execution (the spike flagged this: they "still reach Infrastructure"). Both called ProcessTasks (Fallout.Infrastructure.Tooling) directly — rerouted through the IProcessExecutor port (ToolingServices.Process), the same 4b inversion the rest of the Application ring uses. Gate green again. Template: Fallout.Common.Execution using → Fallout.Application.Execution (now fully evacuated). Full suite + dogfood ./build.sh Compile green. Co-Authored-By: Claude Opus 4.8 (1M context) --- src/Fallout.Cli/templates/Build.cs | 2 +- .../CheckPathEnvironmentVariableAttribute.cs | 6 +++--- .../HandleSingleFileExecutionAttribute.cs | 8 ++++---- src/Fallout.Common/Gitter/GitterTasks.cs | 2 +- tools/OnionRewriter/Program.cs | 14 +++++++------- 5 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/Fallout.Cli/templates/Build.cs b/src/Fallout.Cli/templates/Build.cs index fe2e26b3d..ce22bf78e 100644 --- a/src/Fallout.Cli/templates/Build.cs +++ b/src/Fallout.Cli/templates/Build.cs @@ -2,7 +2,7 @@ using System.Linq; using Fallout.Common; using Fallout.Application.CI; -using Fallout.Common.Execution; +using Fallout.Application.Execution; using Fallout.Application.Git; // GIT using Fallout.Kernel.IO; using Fallout.Application.Solutions; diff --git a/src/Fallout.Common/Attributes/CheckPathEnvironmentVariableAttribute.cs b/src/Fallout.Common/Attributes/CheckPathEnvironmentVariableAttribute.cs index cd8b2ded8..148f08be4 100644 --- a/src/Fallout.Common/Attributes/CheckPathEnvironmentVariableAttribute.cs +++ b/src/Fallout.Common/Attributes/CheckPathEnvironmentVariableAttribute.cs @@ -2,9 +2,9 @@ using System.Collections.Generic; using System.Linq; using Fallout.Application.Execution; -using Fallout.Infrastructure.Tooling; +using Fallout.Application.Tooling; -namespace Fallout.Common.Execution; +namespace Fallout.Application.Execution; public class CheckPathEnvironmentVariableAttribute : BuildExtensionAttributeBase, IOnBuildInitialized { @@ -12,6 +12,6 @@ public void OnBuildInitialized( IReadOnlyCollection executableTargets, IReadOnlyCollection executionPlan) { - ProcessTasks.CheckPathEnvironmentVariable(); + ToolingServices.Process.CheckPathEnvironmentVariable(); } } diff --git a/src/Fallout.Common/Attributes/HandleSingleFileExecutionAttribute.cs b/src/Fallout.Common/Attributes/HandleSingleFileExecutionAttribute.cs index f4e98d636..cac7a742a 100644 --- a/src/Fallout.Common/Attributes/HandleSingleFileExecutionAttribute.cs +++ b/src/Fallout.Common/Attributes/HandleSingleFileExecutionAttribute.cs @@ -9,11 +9,11 @@ using Serilog; using Fallout.Application.Execution; using Fallout.Application.Tooling; -using Fallout.Infrastructure.Tooling; using Fallout.Kernel; using Fallout.Kernel.IO; +using Fallout.Common; -namespace Fallout.Common.Execution; +namespace Fallout.Application.Execution; public class HandleSingleFileExecutionAttribute : BuildExtensionAttributeBase, IOnBuildCreated { @@ -78,11 +78,11 @@ private void InstallDotNetRuntime() { if (EnvironmentInfo.IsLinux) { - ProcessTasks.StartShell($"chmod +x {ScriptFile.ToString().DoubleQuoteIfNeeded()}", logOutput: false) + ToolingServices.Process.StartShell($"chmod +x {ScriptFile.ToString().DoubleQuoteIfNeeded()}", logOutput: false) .AssertZeroExitCode(); } - ProcessTasks.StartShell( + ToolingServices.Process.StartShell( EnvironmentInfo.IsWin ? $"powershell {ScriptFile.ToString().DoubleQuoteIfNeeded()} -InstallDir {installLocation} -NoPath -Runtime dotnet " + (version != null ? $"-Version {version}" : "-Channel Current") diff --git a/src/Fallout.Common/Gitter/GitterTasks.cs b/src/Fallout.Common/Gitter/GitterTasks.cs index cb415ed25..b7a2e59fc 100644 --- a/src/Fallout.Common/Gitter/GitterTasks.cs +++ b/src/Fallout.Common/Gitter/GitterTasks.cs @@ -4,7 +4,7 @@ using System.Threading.Tasks; using Fallout.Kernel.Net; -namespace Fallout.Common.Gitter; +namespace Fallout.Application.Tools.Gitter; // //[Headers("Accept: application/json")] //public interface IGitterRestClient diff --git a/tools/OnionRewriter/Program.cs b/tools/OnionRewriter/Program.cs index 6cbce2ca1..1e325aa5d 100644 --- a/tools/OnionRewriter/Program.cs +++ b/tools/OnionRewriter/Program.cs @@ -32,15 +32,15 @@ record struct Rule(string Old, string New, string[] SourceAssemblies); // The two Infrastructure destinations are per-type overrides (they beat the default prefix rule). After // phase B the model already routes solution/project I/O through the ports, so this move adds no // Infrastructure dependency to the Application ring (gate stays green). - // Finish partial onion moves (stragglers from step 5a). PASS 2 — pure utilities still stuck in the - // Fallout.Common namespace but physically in the Fallout.Utilities (Kernel) project: EnvironmentInfo, - // Assert, AsyncHelper, ArgumentParser. They belong in Fallout.Kernel (5a missed them — the lesson-#12 - // workspace-load gap). Source assembly is Fallout.Utilities ONLY: that keeps the Fallout.Common PROJECT - // dir OUT of the source set, so the surviving-namespace scan still sees Fallout.Common surviving there - // and does NOT drop live `using Fallout.Common;` directives. Run as its own pass (after pass 1). + // Finish partial onion moves — the Execution + Gitter tail (stragglers from steps 2/4b). The two + // build-extension attributes still under Fallout.Common.Execution join the rest of the Execution + // vocabulary in Fallout.Application.Execution; the Gitter chat-notification tool joins its siblings + // (Slack/Discord/Teams/Mastodon) under Fallout.Application.Tools.*. Both are specific sub-namespaces of + // the Fallout.Common assembly (the Fallout.Common root is untouched), so no surviving-ns subtlety. static readonly Rule[] Rules = [ - new("Fallout.Common", "Fallout.Kernel", ["Fallout.Utilities"]), + new("Fallout.Common.Execution", "Fallout.Application.Execution", ["Fallout.Common"]), + new("Fallout.Common.Gitter", "Fallout.Application.Tools.Gitter", ["Fallout.Common"]), ]; static readonly Dictionary TypeOverrides = new(); From dc40cf63825309fc78da58a68095467f2c93bc1d Mon Sep 17 00:00:00 2001 From: Chrison Simtian Date: Mon, 1 Jun 2026 13:51:25 +1200 Subject: [PATCH 29/46] docs(spike): record Execution + Gitter tail completion Co-Authored-By: Claude Opus 4.8 (1M context) --- docs/spikes/0003-onion-infrastructure-ring.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/spikes/0003-onion-infrastructure-ring.md b/docs/spikes/0003-onion-infrastructure-ring.md index 434c918cb..67d55b6ae 100644 --- a/docs/spikes/0003-onion-infrastructure-ring.md +++ b/docs/spikes/0003-onion-infrastructure-ring.md @@ -41,6 +41,7 @@ Catch-all `Fallout.Common.*` code outside the Application ring (CI host adapters **Finished partial onion moves left by earlier steps** (surfaced while cleaning the Cli cake-migration + project template). Two OnionRewriter passes: - **Git + ChangeLog → Application** (commit cc9acf84): `GitRepositoryAttribute` (`Fallout.Common.Git`) joined the `GitRepository` model already in `Fallout.Application.Git`; changelog helpers `Fallout.Common.ChangeLog` → `Fallout.Application.ChangeLog`. No shim-marker change — the Application ring's `Nuke.*` shim story is the deferred redesign, so this just aligns Git/ChangeLog with it. - **5a Kernel stragglers → `Fallout.Kernel`** (commit 58100f66): `EnvironmentInfo` (5 files), `Assert`, `AsyncHelper`, `ArgumentParser` were still in `namespace Fallout.Common` inside the `Fallout.Utilities` (Kernel) project — 5a missed them (lesson #12). Moved via a **separate pass with source assembly = `Fallout.Utilities` only**, so the surviving-namespace scan keeps the Fallout.Common project's surviving root types and doesn't drop live `using Fallout.Common;`. ~180 files of ref churn. Two rewriter blind-spots hand-fixed: (a) `Fallout.ProjectModel` files carried a `using Fallout.Common;` that only resolved because Utilities *declared* those Common types — once moved, the using dangled (CS0234) since ProjectModel doesn't reference the Fallout.Common assembly; the rewriter can't see assembly-ref graphs. (b) `CITest.cs` gained `using Fallout.Kernel;` (for `.NotNull()`), colliding `Fallout.Kernel.Assert` with `Xunit.Assert` → aliased to Xunit's. Full suite + dogfood green. +- **Execution + Gitter tail → Application** (commit d38acb78): `Fallout.Common.Execution` (the `CheckPathEnvironmentVariable` + `HandleSingleFileExecution` build-extension attributes) → `Fallout.Application.Execution`; `Fallout.Common.Gitter` (`GitterTasks`) → `Fallout.Application.Tools.Gitter` (joins the sibling notification tools). **The fitness gate earned its keep here**: moving the two attributes into the Application namespace exposed a real Application→Infrastructure dependency that was previously invisible (they called `ProcessTasks` from `Fallout.Infrastructure.Tooling` directly — the spike had flagged they "still reach Infrastructure"). Rerouted through the `IProcessExecutor` port (`ToolingServices.Process`), the same 4b inversion the rest of the ring uses. After this, no `Fallout.Common.{Git,ChangeLog,Execution,Gitter}` references remain. (Still partial, not pursued: the `Fallout.Common` root retains a handful of catch-all types — `Constants`, `Configuration`, etc.) ### Remaining (this ring) — step 5, now sub-divided **Kernel decision (maintainer, 2026-06-01): a new `Fallout.Kernel`** — innermost shared ring below Application; Domain/Application/Infrastructure all depend on it. Pure shared value-types live here so the Application ring keeps compiling when IO moves outward (else the new fitness gate fails). Sub-steps: From b1e1744d1babf9b594bf5ed3a7e3e32843a386cb Mon Sep 17 00:00:00 2001 From: Chrison Simtian Date: Mon, 1 Jun 2026 14:43:14 +1200 Subject: [PATCH 30/46] =?UTF-8?q?refactor(arch)!:=20onion=20project=20rena?= =?UTF-8?q?mes=20phase=201=20=E2=80=94=20ring-pure=20projects=20=E2=86=92?= =?UTF-8?q?=20ring=20names?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit First phase of aligning project files with the (already onion-aligned) namespaces. Pure renames of the ring-pure projects (folders + .csproj + assembly + package IDs); no namespace edits, no file moves between projects: Fallout.Build → Fallout.Application Fallout.Components → Fallout.Application.Components Fallout.ProjectModel → Fallout.Infrastructure.ProjectModel Fallout.Utilities → Fallout.Kernel Fallout.Utilities.IO.Compression → Fallout.Kernel.IO.Compression Fallout.Utilities.IO.Globbing → Fallout.Kernel.IO.Globbing Fallout.Utilities.Net → Fallout.Kernel.Net Fallout.Utilities.Text.Json → Fallout.Kernel.Text.Json Fallout.Utilities.Text.Yaml → Fallout.Kernel.Text.Yaml Rewired ~71 files: all ProjectReferences, fallout.slnx, the SourceGenerators DLL-bundling paths (Fallout.Utilities.dll → Fallout.Kernel.dll), the shared AssemblyInfo.cs InternalsVisibleTo grants (Fallout.Build→Fallout.Application, Fallout.Utilities.IO.Globbing→Fallout.Kernel.IO.Globbing), and a hard-coded project-name lookup + the renamed-project accessors in the generator snapshot. Package IDs change (breaking) — rides the 2026 major. Mixed projects (Common/Tooling/Solution) split in later phases. Full suite + dogfood green. Co-Authored-By: Claude Opus 4.8 (1M context) --- .fallout/build.schema.json | 10 ++++++++++ AssemblyInfo.cs | 4 ++-- build/_build.csproj | 4 ++-- fallout.slnx | 18 +++++++++--------- .../Configuration.cs | 0 .../Fallout.Application.Components.csproj} | 0 .../ICompile.cs | 0 .../ICreateGitHubRelease.cs | 0 .../IGlobalTool.cs | 0 .../IHasArtifacts.cs | 0 .../IHasChangelog.cs | 0 .../IHasConfiguration.cs | 0 .../IHasGitRepository.cs | 0 .../IHasGitVersion.cs | 0 .../IHasNerdbankGitVersioning.cs | 0 .../IHasReports.cs | 0 .../IHasSolution.cs | 0 .../IHasTwitterCredentials.cs | 0 .../IPack.cs | 0 .../IPublish.cs | 0 .../IReportCoverage.cs | 0 .../IRestore.cs | 0 .../ISignPackages.cs | 0 .../ITest.cs | 0 .../PublishTarget.cs | 0 .../ArgumentsFromGitCommitMessageAttribute.cs | 0 .../DisableDefaultOutputAttribute.cs | 0 .../ShutdownDotNetAfterServerBuildAttribute.cs | 0 ...isualStudioEnvironmentVariablesAttribute.cs | 0 .../Attributes/VerbosityMappingAttribute.cs | 0 .../CICD/BuildServerConfigurationGeneration.cs | 0 ...rverConfigurationGenerationAttributeBase.cs | 0 .../CICD/CIAttribute.cs | 0 .../CICD/ChainedConfigurationAttributeBase.cs | 0 .../CICD/ConfigurationAttributeBase.cs | 0 .../CICD/ConfigurationEntity.cs | 0 .../CICD/CustomFileWriter.cs | 0 ...nerateBuildServerConfigurationsAttribute.cs | 0 .../CICD/IBuildServer.cs | 0 .../CICD/IConfigurationGenerator.cs | 0 ...ldServerConfigurationGenerationAttribute.cs | 0 .../CICD/NoConvertAttribute.cs | 0 .../CICD/Partition.cs | 0 .../CICD/PartitionAttribute.cs | 0 .../ControlFlow.cs | 0 .../Execution/BuildExecutor.cs | 0 .../Execution/BuildManager.cs | 0 .../Execution/DelegateRequirementService.cs | 0 .../Execution/ExecutableTarget.cs | 0 .../Execution/ExecutableTargetFactory.cs | 0 .../Execution/ExecutionPlanner.cs | 0 .../Execution/ExecutionStatus.cs | 0 .../BuildExtensionAttributeBase.cs | 0 .../ToolInjectionAttributeBase.cs | 0 .../ValueInjectionAttributeBase.cs | 0 .../ArgumentsFromParametersFileAttribute.cs | 0 .../Execution/Extensions/EventInvoker.cs | 0 .../Extensions/HandleHelpRequestsAttribute.cs | 0 .../Extensions/HandlePlanRequestsAttribute.cs | 0 ...ndleReSharperSurrogateArgumentsAttribute.cs | 0 .../HandleShellCompletionAttribute.cs | 0 .../HandleVisualStudioDebuggingAttribute.cs | 0 .../InjectNonParameterValuesAttribute.cs | 0 .../InjectParameterValuesAttribute.cs | 0 .../SerializeBuildServerStateAttribute.cs | 0 .../Execution/Extensions/TelemetryAttribute.cs | 0 .../Extensions/UpdateNotificationAttribute.cs | 0 .../Execution/Extensions/execution-plan.html | 0 .../Execution/ParameterService.Statics.cs | 0 .../Execution/ParameterService.cs | 0 .../Execution/TargetDefinition.cs | 0 .../Execution/TargetExecutionException.cs | 0 .../Execution/ToolRequirementService.cs | 0 .../Execution/ValueInjectionUtility.cs | 0 .../Fallout.Application.csproj} | 10 +++++----- .../FalloutBuild.Events.cs | 0 .../FalloutBuild.Interface.cs | 0 .../FalloutBuild.Output.cs | 0 .../FalloutBuild.Statics.cs | 0 .../FalloutBuild.cs | 0 .../Host.Activation.cs | 0 .../Host.Theming.cs | 0 .../Host.cs | 0 .../IFalloutBuild.cs | 0 .../ITargetDefinition.cs | 0 .../LogLevel.cs | 0 .../Logging.cs | 0 .../ParameterAttribute.cs | 0 .../RequiresAttribute.cs | 0 .../Target.cs | 0 .../Telemetry/Telemetry.Events.cs | 0 .../Telemetry/Telemetry.Properties.cs | 0 .../Telemetry/Telemetry.cs | 0 .../Terminal.cs | 0 .../Theming/AnsiConsoleHostTheme.cs | 0 .../Theming/IHostTheme.cs | 0 .../Theming/SystemConsoleHostTheme.cs | 0 .../Utilities/ConsoleUtility.cs | 0 .../Utilities/CredentialStore.cs | 0 .../Utilities/SchemaUtility.cs | 0 .../VCS/GitRepository.cs | 0 .../VCS/GitRepositoryExtensions.cs | 0 .../Verbosity.cs | 0 .../Fallout.Build.Shared.csproj | 2 +- src/Fallout.Cli/Fallout.Cli.csproj | 4 ++-- src/Fallout.Common/Fallout.Common.csproj | 12 ++++++------ ...Fallout.Infrastructure.ProjectModel.csproj} | 2 +- .../Project.GetMSBuildProject.cs | 0 .../Project.Items.cs | 0 .../Project.Misc.cs | 0 .../Project.Properties.cs | 0 .../ProjectEditorAdapter.cs | 0 .../ProjectModelTasks.cs | 0 .../CompressionExtensions.cs | 0 .../Fallout.Kernel.IO.Compression.csproj} | 2 +- .../Fallout.Kernel.IO.Globbing.csproj} | 2 +- .../Globbing.cs | 0 .../GlobbingCaseSensitivity.cs | 0 .../Fallout.Kernel.Net.csproj} | 2 +- .../HttpClient.Request.cs | 0 .../HttpRequest.Authentication.cs | 0 .../HttpRequest.Content.cs | 0 .../HttpRequest.Response.cs | 0 .../HttpResponse.Assert.cs | 0 .../HttpResponse.Body.cs | 0 .../Fallout.Kernel.Text.Json.csproj} | 2 +- .../JsonExtensions.cs | 0 .../JsonObject.GetChildren.cs | 0 .../JsonObject.GetPropertyValue.cs | 0 .../Fallout.Kernel.Text.Yaml.csproj} | 2 +- .../YamlExtensions.cs | 0 .../ArgumentParser.cs | 0 .../Assert.cs | 0 .../AsyncHelper.cs | 0 .../Collections/Array.Deconstruct.cs | 0 .../Collections/Dictionary.AddDictionary.cs | 0 .../Collections/Dictionary.AddKeyValue.cs | 0 .../Collections/Dictionary.AsReadOnly.cs | 0 .../Collections/Dictionary.Deconstruct.cs | 0 .../Collections/Dictionary.GetOrDefault.cs | 0 .../Collections/Dictionary.SetKeyValue.cs | 0 .../Collections/Dictionary.ToGeneric.cs | 0 .../Collections/Enumerable.AsEnumerable.cs | 0 .../Collections/Enumerable.Concat.cs | 0 .../Collections/Enumerable.Distinct.cs | 0 .../Collections/Enumerable.Emptiness.cs | 0 .../Collections/Enumerable.ForEach.cs | 0 .../Collections/Enumerable.Random.cs | 0 .../Collections/Enumerable.Sequence.cs | 0 .../Enumerable.SingleOrDefaultOrError.cs | 0 .../Collections/Enumerable.TakeUntil.cs | 0 .../Collections/Enumerable.ToDictionary.cs | 0 .../Collections/Enumerable.ToEmptyIfNull.cs | 0 .../Collections/Enumerable.ToLookupTable.cs | 0 .../Collections/Enumerable.TopologicalSort.cs | 0 .../Collections/Enumerable.WhereNotNull.cs | 0 .../Collections/Lookup.ToLookupTable.cs | 0 .../Collections/LookupTable.cs | 0 .../Collections/Object.DescendantsAndSelf.cs | 0 .../Collections/Object.ToPropertyDictionary.cs | 0 .../DelegateDisposable.cs | 0 .../Disposable.CombineWith.cs | 0 .../EnvironmentInfo.Arguments.cs | 0 .../EnvironmentInfo.Platform.cs | 0 .../EnvironmentInfo.SpecialFolder.cs | 0 .../EnvironmentInfo.Variables.cs | 0 .../EnvironmentInfo.cs | 0 .../Exception.Unwrap.cs | 0 .../Fallout.Kernel.csproj} | 0 .../IO/AbsolutePath.Children.cs | 0 .../IO/AbsolutePath.Create.cs | 0 .../IO/AbsolutePath.Delete.cs | 0 .../IO/AbsolutePath.Exists.cs | 0 .../IO/AbsolutePath.Extension.cs | 0 .../IO/AbsolutePath.Find.cs | 0 .../IO/AbsolutePath.Hash.cs | 0 .../IO/AbsolutePath.Info.cs | 0 .../IO/AbsolutePath.Misc.cs | 0 .../IO/AbsolutePath.MoveCopy.cs | 0 .../IO/AbsolutePath.ReadWrite.cs | 0 .../IO/AbsolutePath.Time.cs | 0 .../IO/AbsolutePath.cs | 0 .../IO/IAbsolutePathHolder.cs | 0 .../IO/PathConstruction.cs | 0 .../IO/RelativePath.cs | 0 .../IO/UnixRelativePath.cs | 0 .../IO/WinRelativePath.cs | 0 .../Lazy.cs | 0 .../Object.Apply.cs | 0 .../Object.Clone.cs | 0 .../Object.When.cs | 0 .../Reflection/Assembly.Versioning.cs | 0 .../Reflection/ReflectionUtility.Conversion.cs | 0 .../ReflectionUtility.DisplayText.cs | 0 .../ReflectionUtility.Expressions.cs | 0 .../Reflection/ReflectionUtility.Invocation.cs | 0 .../Reflection/ReflectionUtility.cs | 0 .../Reflection/ResourceUtility.cs | 0 .../Security/EncryptionUtility.cs | 0 .../Shims/CallerArgumentExpressionAttribute.cs | 0 ...ExcludeAssemblyFromCodeCoverageAttribute.cs | 0 .../Shims/IsExternalInit.cs | 0 .../Task.WaitAll.cs | 0 .../Text/String.Capitalize.cs | 0 .../Text/String.Emptiness.cs | 0 .../Text/String.Escape.cs | 0 .../Text/String.GetHash.cs | 0 .../Text/String.Indent.cs | 0 .../Text/String.IndexOf.cs | 0 .../Text/String.Join.cs | 0 .../Text/String.KnownWords.cs | 0 .../Text/String.PrependAppend.cs | 0 .../Text/String.Quoting.cs | 0 .../Text/String.Repeat.cs | 0 .../Text/String.Replace.cs | 0 .../Text/String.Split.cs | 0 .../Text/String.StartsEndsContains.cs | 0 .../Text/String.Trim.cs | 0 .../Text/String.Truncate.cs | 0 .../Text/Xml/XElement.GetAttributeValue.cs | 0 .../Text/Xml/XNode.XPathEvaluateValue.cs | 0 .../Text/Xml/XmlExtensions.cs | 0 .../Url.WithUtmValues.cs | 0 .../Fallout.SourceGenerators.csproj | 8 ++++---- .../Fallout.Tooling.Generator.csproj | 4 ++-- src/Fallout.Tooling/Fallout.Tooling.csproj | 4 ++-- .../Fallout.Solution/Fallout.Solution.csproj | 2 +- src/Shims/Nuke.Build/Nuke.Build.csproj | 2 +- src/Shims/Nuke.Common/Nuke.Common.csproj | 2 +- .../Nuke.Components/Nuke.Components.csproj | 2 +- .../Fallout.Consumer.Local.csproj | 4 ++-- .../Fallout.Architecture.Tests.csproj | 2 +- .../Fallout.Build.Tests.csproj | 2 +- .../Fallout.Components.Tests.csproj | 2 +- .../Fallout.ProjectModel.Tests.csproj | 2 +- .../ProjectModelTest.cs | 4 ++-- ...onGeneratorTest.Test#Solution.g.verified.cs | 18 +++++++++--------- .../Fallout.Utilities.Tests.csproj | 8 ++++---- 238 files changed, 76 insertions(+), 66 deletions(-) rename src/{Fallout.Components => Fallout.Application.Components}/Configuration.cs (100%) rename src/{Fallout.Components/Fallout.Components.csproj => Fallout.Application.Components/Fallout.Application.Components.csproj} (100%) rename src/{Fallout.Components => Fallout.Application.Components}/ICompile.cs (100%) rename src/{Fallout.Components => Fallout.Application.Components}/ICreateGitHubRelease.cs (100%) rename src/{Fallout.Components => Fallout.Application.Components}/IGlobalTool.cs (100%) rename src/{Fallout.Components => Fallout.Application.Components}/IHasArtifacts.cs (100%) rename src/{Fallout.Components => Fallout.Application.Components}/IHasChangelog.cs (100%) rename src/{Fallout.Components => Fallout.Application.Components}/IHasConfiguration.cs (100%) rename src/{Fallout.Components => Fallout.Application.Components}/IHasGitRepository.cs (100%) rename src/{Fallout.Components => Fallout.Application.Components}/IHasGitVersion.cs (100%) rename src/{Fallout.Components => Fallout.Application.Components}/IHasNerdbankGitVersioning.cs (100%) rename src/{Fallout.Components => Fallout.Application.Components}/IHasReports.cs (100%) rename src/{Fallout.Components => Fallout.Application.Components}/IHasSolution.cs (100%) rename src/{Fallout.Components => Fallout.Application.Components}/IHasTwitterCredentials.cs (100%) rename src/{Fallout.Components => Fallout.Application.Components}/IPack.cs (100%) rename src/{Fallout.Components => Fallout.Application.Components}/IPublish.cs (100%) rename src/{Fallout.Components => Fallout.Application.Components}/IReportCoverage.cs (100%) rename src/{Fallout.Components => Fallout.Application.Components}/IRestore.cs (100%) rename src/{Fallout.Components => Fallout.Application.Components}/ISignPackages.cs (100%) rename src/{Fallout.Components => Fallout.Application.Components}/ITest.cs (100%) rename src/{Fallout.Components => Fallout.Application.Components}/PublishTarget.cs (100%) rename src/{Fallout.Build => Fallout.Application}/Attributes/ArgumentsFromGitCommitMessageAttribute.cs (100%) rename src/{Fallout.Build => Fallout.Application}/Attributes/DisableDefaultOutputAttribute.cs (100%) rename src/{Fallout.Build => Fallout.Application}/Attributes/ShutdownDotNetAfterServerBuildAttribute.cs (100%) rename src/{Fallout.Build => Fallout.Application}/Attributes/UnsetVisualStudioEnvironmentVariablesAttribute.cs (100%) rename src/{Fallout.Build => Fallout.Application}/Attributes/VerbosityMappingAttribute.cs (100%) rename src/{Fallout.Build => Fallout.Application}/CICD/BuildServerConfigurationGeneration.cs (100%) rename src/{Fallout.Build => Fallout.Application}/CICD/BuildServerConfigurationGenerationAttributeBase.cs (100%) rename src/{Fallout.Build => Fallout.Application}/CICD/CIAttribute.cs (100%) rename src/{Fallout.Build => Fallout.Application}/CICD/ChainedConfigurationAttributeBase.cs (100%) rename src/{Fallout.Build => Fallout.Application}/CICD/ConfigurationAttributeBase.cs (100%) rename src/{Fallout.Build => Fallout.Application}/CICD/ConfigurationEntity.cs (100%) rename src/{Fallout.Build => Fallout.Application}/CICD/CustomFileWriter.cs (100%) rename src/{Fallout.Build => Fallout.Application}/CICD/GenerateBuildServerConfigurationsAttribute.cs (100%) rename src/{Fallout.Build => Fallout.Application}/CICD/IBuildServer.cs (100%) rename src/{Fallout.Build => Fallout.Application}/CICD/IConfigurationGenerator.cs (100%) rename src/{Fallout.Build => Fallout.Application}/CICD/InvokeBuildServerConfigurationGenerationAttribute.cs (100%) rename src/{Fallout.Build => Fallout.Application}/CICD/NoConvertAttribute.cs (100%) rename src/{Fallout.Build => Fallout.Application}/CICD/Partition.cs (100%) rename src/{Fallout.Build => Fallout.Application}/CICD/PartitionAttribute.cs (100%) rename src/{Fallout.Build => Fallout.Application}/ControlFlow.cs (100%) rename src/{Fallout.Build => Fallout.Application}/Execution/BuildExecutor.cs (100%) rename src/{Fallout.Build => Fallout.Application}/Execution/BuildManager.cs (100%) rename src/{Fallout.Build => Fallout.Application}/Execution/DelegateRequirementService.cs (100%) rename src/{Fallout.Build => Fallout.Application}/Execution/ExecutableTarget.cs (100%) rename src/{Fallout.Build => Fallout.Application}/Execution/ExecutableTargetFactory.cs (100%) rename src/{Fallout.Build => Fallout.Application}/Execution/ExecutionPlanner.cs (100%) rename src/{Fallout.Build => Fallout.Application}/Execution/ExecutionStatus.cs (100%) rename src/{Fallout.Build => Fallout.Application}/Execution/Extensibility/BuildExtensionAttributeBase.cs (100%) rename src/{Fallout.Build => Fallout.Application}/Execution/Extensibility/ToolInjectionAttributeBase.cs (100%) rename src/{Fallout.Build => Fallout.Application}/Execution/Extensibility/ValueInjectionAttributeBase.cs (100%) rename src/{Fallout.Build => Fallout.Application}/Execution/Extensions/ArgumentsFromParametersFileAttribute.cs (100%) rename src/{Fallout.Build => Fallout.Application}/Execution/Extensions/EventInvoker.cs (100%) rename src/{Fallout.Build => Fallout.Application}/Execution/Extensions/HandleHelpRequestsAttribute.cs (100%) rename src/{Fallout.Build => Fallout.Application}/Execution/Extensions/HandlePlanRequestsAttribute.cs (100%) rename src/{Fallout.Build => Fallout.Application}/Execution/Extensions/HandleReSharperSurrogateArgumentsAttribute.cs (100%) rename src/{Fallout.Build => Fallout.Application}/Execution/Extensions/HandleShellCompletionAttribute.cs (100%) rename src/{Fallout.Build => Fallout.Application}/Execution/Extensions/HandleVisualStudioDebuggingAttribute.cs (100%) rename src/{Fallout.Build => Fallout.Application}/Execution/Extensions/InjectNonParameterValuesAttribute.cs (100%) rename src/{Fallout.Build => Fallout.Application}/Execution/Extensions/InjectParameterValuesAttribute.cs (100%) rename src/{Fallout.Build => Fallout.Application}/Execution/Extensions/SerializeBuildServerStateAttribute.cs (100%) rename src/{Fallout.Build => Fallout.Application}/Execution/Extensions/TelemetryAttribute.cs (100%) rename src/{Fallout.Build => Fallout.Application}/Execution/Extensions/UpdateNotificationAttribute.cs (100%) rename src/{Fallout.Build => Fallout.Application}/Execution/Extensions/execution-plan.html (100%) rename src/{Fallout.Build => Fallout.Application}/Execution/ParameterService.Statics.cs (100%) rename src/{Fallout.Build => Fallout.Application}/Execution/ParameterService.cs (100%) rename src/{Fallout.Build => Fallout.Application}/Execution/TargetDefinition.cs (100%) rename src/{Fallout.Build => Fallout.Application}/Execution/TargetExecutionException.cs (100%) rename src/{Fallout.Build => Fallout.Application}/Execution/ToolRequirementService.cs (100%) rename src/{Fallout.Build => Fallout.Application}/Execution/ValueInjectionUtility.cs (100%) rename src/{Fallout.Build/Fallout.Build.csproj => Fallout.Application/Fallout.Application.csproj} (66%) rename src/{Fallout.Build => Fallout.Application}/FalloutBuild.Events.cs (100%) rename src/{Fallout.Build => Fallout.Application}/FalloutBuild.Interface.cs (100%) rename src/{Fallout.Build => Fallout.Application}/FalloutBuild.Output.cs (100%) rename src/{Fallout.Build => Fallout.Application}/FalloutBuild.Statics.cs (100%) rename src/{Fallout.Build => Fallout.Application}/FalloutBuild.cs (100%) rename src/{Fallout.Build => Fallout.Application}/Host.Activation.cs (100%) rename src/{Fallout.Build => Fallout.Application}/Host.Theming.cs (100%) rename src/{Fallout.Build => Fallout.Application}/Host.cs (100%) rename src/{Fallout.Build => Fallout.Application}/IFalloutBuild.cs (100%) rename src/{Fallout.Build => Fallout.Application}/ITargetDefinition.cs (100%) rename src/{Fallout.Build => Fallout.Application}/LogLevel.cs (100%) rename src/{Fallout.Build => Fallout.Application}/Logging.cs (100%) rename src/{Fallout.Build => Fallout.Application}/ParameterAttribute.cs (100%) rename src/{Fallout.Build => Fallout.Application}/RequiresAttribute.cs (100%) rename src/{Fallout.Build => Fallout.Application}/Target.cs (100%) rename src/{Fallout.Build => Fallout.Application}/Telemetry/Telemetry.Events.cs (100%) rename src/{Fallout.Build => Fallout.Application}/Telemetry/Telemetry.Properties.cs (100%) rename src/{Fallout.Build => Fallout.Application}/Telemetry/Telemetry.cs (100%) rename src/{Fallout.Build => Fallout.Application}/Terminal.cs (100%) rename src/{Fallout.Build => Fallout.Application}/Theming/AnsiConsoleHostTheme.cs (100%) rename src/{Fallout.Build => Fallout.Application}/Theming/IHostTheme.cs (100%) rename src/{Fallout.Build => Fallout.Application}/Theming/SystemConsoleHostTheme.cs (100%) rename src/{Fallout.Build => Fallout.Application}/Utilities/ConsoleUtility.cs (100%) rename src/{Fallout.Build => Fallout.Application}/Utilities/CredentialStore.cs (100%) rename src/{Fallout.Build => Fallout.Application}/Utilities/SchemaUtility.cs (100%) rename src/{Fallout.Build => Fallout.Application}/VCS/GitRepository.cs (100%) rename src/{Fallout.Build => Fallout.Application}/VCS/GitRepositoryExtensions.cs (100%) rename src/{Fallout.Build => Fallout.Application}/Verbosity.cs (100%) rename src/{Fallout.ProjectModel/Fallout.ProjectModel.csproj => Fallout.Infrastructure.ProjectModel/Fallout.Infrastructure.ProjectModel.csproj} (90%) rename src/{Fallout.ProjectModel => Fallout.Infrastructure.ProjectModel}/Project.GetMSBuildProject.cs (100%) rename src/{Fallout.ProjectModel => Fallout.Infrastructure.ProjectModel}/Project.Items.cs (100%) rename src/{Fallout.ProjectModel => Fallout.Infrastructure.ProjectModel}/Project.Misc.cs (100%) rename src/{Fallout.ProjectModel => Fallout.Infrastructure.ProjectModel}/Project.Properties.cs (100%) rename src/{Fallout.ProjectModel => Fallout.Infrastructure.ProjectModel}/ProjectEditorAdapter.cs (100%) rename src/{Fallout.ProjectModel => Fallout.Infrastructure.ProjectModel}/ProjectModelTasks.cs (100%) rename src/{Fallout.Utilities.IO.Compression => Fallout.Kernel.IO.Compression}/CompressionExtensions.cs (100%) rename src/{Fallout.Utilities.IO.Compression/Fallout.Utilities.IO.Compression.csproj => Fallout.Kernel.IO.Compression/Fallout.Kernel.IO.Compression.csproj} (75%) rename src/{Fallout.Utilities.IO.Globbing/Fallout.Utilities.IO.Globbing.csproj => Fallout.Kernel.IO.Globbing/Fallout.Kernel.IO.Globbing.csproj} (74%) rename src/{Fallout.Utilities.IO.Globbing => Fallout.Kernel.IO.Globbing}/Globbing.cs (100%) rename src/{Fallout.Utilities.IO.Globbing => Fallout.Kernel.IO.Globbing}/GlobbingCaseSensitivity.cs (100%) rename src/{Fallout.Utilities.Net/Fallout.Utilities.Net.csproj => Fallout.Kernel.Net/Fallout.Kernel.Net.csproj} (78%) rename src/{Fallout.Utilities.Net => Fallout.Kernel.Net}/HttpClient.Request.cs (100%) rename src/{Fallout.Utilities.Net => Fallout.Kernel.Net}/HttpRequest.Authentication.cs (100%) rename src/{Fallout.Utilities.Net => Fallout.Kernel.Net}/HttpRequest.Content.cs (100%) rename src/{Fallout.Utilities.Net => Fallout.Kernel.Net}/HttpRequest.Response.cs (100%) rename src/{Fallout.Utilities.Net => Fallout.Kernel.Net}/HttpResponse.Assert.cs (100%) rename src/{Fallout.Utilities.Net => Fallout.Kernel.Net}/HttpResponse.Body.cs (100%) rename src/{Fallout.Utilities.Text.Json/Fallout.Utilities.Text.Json.csproj => Fallout.Kernel.Text.Json/Fallout.Kernel.Text.Json.csproj} (75%) rename src/{Fallout.Utilities.Text.Json => Fallout.Kernel.Text.Json}/JsonExtensions.cs (100%) rename src/{Fallout.Utilities.Text.Json => Fallout.Kernel.Text.Json}/JsonObject.GetChildren.cs (100%) rename src/{Fallout.Utilities.Text.Json => Fallout.Kernel.Text.Json}/JsonObject.GetPropertyValue.cs (100%) rename src/{Fallout.Utilities.Text.Yaml/Fallout.Utilities.Text.Yaml.csproj => Fallout.Kernel.Text.Yaml/Fallout.Kernel.Text.Yaml.csproj} (75%) rename src/{Fallout.Utilities.Text.Yaml => Fallout.Kernel.Text.Yaml}/YamlExtensions.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/ArgumentParser.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/Assert.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/AsyncHelper.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/Collections/Array.Deconstruct.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/Collections/Dictionary.AddDictionary.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/Collections/Dictionary.AddKeyValue.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/Collections/Dictionary.AsReadOnly.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/Collections/Dictionary.Deconstruct.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/Collections/Dictionary.GetOrDefault.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/Collections/Dictionary.SetKeyValue.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/Collections/Dictionary.ToGeneric.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/Collections/Enumerable.AsEnumerable.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/Collections/Enumerable.Concat.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/Collections/Enumerable.Distinct.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/Collections/Enumerable.Emptiness.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/Collections/Enumerable.ForEach.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/Collections/Enumerable.Random.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/Collections/Enumerable.Sequence.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/Collections/Enumerable.SingleOrDefaultOrError.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/Collections/Enumerable.TakeUntil.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/Collections/Enumerable.ToDictionary.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/Collections/Enumerable.ToEmptyIfNull.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/Collections/Enumerable.ToLookupTable.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/Collections/Enumerable.TopologicalSort.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/Collections/Enumerable.WhereNotNull.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/Collections/Lookup.ToLookupTable.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/Collections/LookupTable.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/Collections/Object.DescendantsAndSelf.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/Collections/Object.ToPropertyDictionary.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/DelegateDisposable.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/Disposable.CombineWith.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/EnvironmentInfo.Arguments.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/EnvironmentInfo.Platform.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/EnvironmentInfo.SpecialFolder.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/EnvironmentInfo.Variables.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/EnvironmentInfo.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/Exception.Unwrap.cs (100%) rename src/{Fallout.Utilities/Fallout.Utilities.csproj => Fallout.Kernel/Fallout.Kernel.csproj} (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/IO/AbsolutePath.Children.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/IO/AbsolutePath.Create.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/IO/AbsolutePath.Delete.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/IO/AbsolutePath.Exists.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/IO/AbsolutePath.Extension.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/IO/AbsolutePath.Find.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/IO/AbsolutePath.Hash.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/IO/AbsolutePath.Info.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/IO/AbsolutePath.Misc.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/IO/AbsolutePath.MoveCopy.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/IO/AbsolutePath.ReadWrite.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/IO/AbsolutePath.Time.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/IO/AbsolutePath.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/IO/IAbsolutePathHolder.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/IO/PathConstruction.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/IO/RelativePath.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/IO/UnixRelativePath.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/IO/WinRelativePath.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/Lazy.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/Object.Apply.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/Object.Clone.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/Object.When.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/Reflection/Assembly.Versioning.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/Reflection/ReflectionUtility.Conversion.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/Reflection/ReflectionUtility.DisplayText.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/Reflection/ReflectionUtility.Expressions.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/Reflection/ReflectionUtility.Invocation.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/Reflection/ReflectionUtility.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/Reflection/ResourceUtility.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/Security/EncryptionUtility.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/Shims/CallerArgumentExpressionAttribute.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/Shims/ExcludeAssemblyFromCodeCoverageAttribute.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/Shims/IsExternalInit.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/Task.WaitAll.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/Text/String.Capitalize.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/Text/String.Emptiness.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/Text/String.Escape.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/Text/String.GetHash.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/Text/String.Indent.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/Text/String.IndexOf.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/Text/String.Join.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/Text/String.KnownWords.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/Text/String.PrependAppend.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/Text/String.Quoting.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/Text/String.Repeat.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/Text/String.Replace.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/Text/String.Split.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/Text/String.StartsEndsContains.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/Text/String.Trim.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/Text/String.Truncate.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/Text/Xml/XElement.GetAttributeValue.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/Text/Xml/XNode.XPathEvaluateValue.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/Text/Xml/XmlExtensions.cs (100%) rename src/{Fallout.Utilities => Fallout.Kernel}/Url.WithUtmValues.cs (100%) diff --git a/.fallout/build.schema.json b/.fallout/build.schema.json index 47c6a4f95..b91c1e655 100644 --- a/.fallout/build.schema.json +++ b/.fallout/build.schema.json @@ -148,6 +148,16 @@ "type": "string", "default": "Secrets must be entered via 'nuke :secrets [profile]'" }, + "NuGetSource": { + "type": "string" + }, + "PublishTo": { + "type": "array", + "description": "Publish only to these named targets (default: all configured PublishTargets)", + "items": { + "type": "string" + } + }, "Solution": { "type": "string", "description": "Path to a solution file that is automatically loaded" diff --git a/AssemblyInfo.cs b/AssemblyInfo.cs index c5e26e6d6..560359d67 100644 --- a/AssemblyInfo.cs +++ b/AssemblyInfo.cs @@ -1,6 +1,6 @@ using System.Runtime.CompilerServices; -[assembly: InternalsVisibleTo("Fallout.Build")] +[assembly: InternalsVisibleTo("Fallout.Application")] [assembly: InternalsVisibleTo("Fallout.Build.Shared")] [assembly: InternalsVisibleTo("Fallout.Build.Tests")] [assembly: InternalsVisibleTo("Fallout.Common")] @@ -15,7 +15,7 @@ [assembly: InternalsVisibleTo("Fallout.Persistence.Solution.Tests")] [assembly: InternalsVisibleTo("Fallout.Tooling")] [assembly: InternalsVisibleTo("Fallout.Tooling.Tests")] -[assembly: InternalsVisibleTo("Fallout.Utilities.IO.Globbing")] +[assembly: InternalsVisibleTo("Fallout.Kernel.IO.Globbing")] [assembly: InternalsVisibleTo("Fallout.Utilities.Tests")] // External extensions — kept as Nuke.* until those projects rebrand independently. diff --git a/build/_build.csproj b/build/_build.csproj index 4b3bf3012..d971fc38f 100644 --- a/build/_build.csproj +++ b/build/_build.csproj @@ -66,10 +66,10 @@ - + - + diff --git a/fallout.slnx b/fallout.slnx index 2ef5186a5..d1d99dba5 100644 --- a/fallout.slnx +++ b/fallout.slnx @@ -11,10 +11,10 @@ - + - + @@ -22,18 +22,18 @@ - + - - - - - - + + + + + + diff --git a/src/Fallout.Components/Configuration.cs b/src/Fallout.Application.Components/Configuration.cs similarity index 100% rename from src/Fallout.Components/Configuration.cs rename to src/Fallout.Application.Components/Configuration.cs diff --git a/src/Fallout.Components/Fallout.Components.csproj b/src/Fallout.Application.Components/Fallout.Application.Components.csproj similarity index 100% rename from src/Fallout.Components/Fallout.Components.csproj rename to src/Fallout.Application.Components/Fallout.Application.Components.csproj diff --git a/src/Fallout.Components/ICompile.cs b/src/Fallout.Application.Components/ICompile.cs similarity index 100% rename from src/Fallout.Components/ICompile.cs rename to src/Fallout.Application.Components/ICompile.cs diff --git a/src/Fallout.Components/ICreateGitHubRelease.cs b/src/Fallout.Application.Components/ICreateGitHubRelease.cs similarity index 100% rename from src/Fallout.Components/ICreateGitHubRelease.cs rename to src/Fallout.Application.Components/ICreateGitHubRelease.cs diff --git a/src/Fallout.Components/IGlobalTool.cs b/src/Fallout.Application.Components/IGlobalTool.cs similarity index 100% rename from src/Fallout.Components/IGlobalTool.cs rename to src/Fallout.Application.Components/IGlobalTool.cs diff --git a/src/Fallout.Components/IHasArtifacts.cs b/src/Fallout.Application.Components/IHasArtifacts.cs similarity index 100% rename from src/Fallout.Components/IHasArtifacts.cs rename to src/Fallout.Application.Components/IHasArtifacts.cs diff --git a/src/Fallout.Components/IHasChangelog.cs b/src/Fallout.Application.Components/IHasChangelog.cs similarity index 100% rename from src/Fallout.Components/IHasChangelog.cs rename to src/Fallout.Application.Components/IHasChangelog.cs diff --git a/src/Fallout.Components/IHasConfiguration.cs b/src/Fallout.Application.Components/IHasConfiguration.cs similarity index 100% rename from src/Fallout.Components/IHasConfiguration.cs rename to src/Fallout.Application.Components/IHasConfiguration.cs diff --git a/src/Fallout.Components/IHasGitRepository.cs b/src/Fallout.Application.Components/IHasGitRepository.cs similarity index 100% rename from src/Fallout.Components/IHasGitRepository.cs rename to src/Fallout.Application.Components/IHasGitRepository.cs diff --git a/src/Fallout.Components/IHasGitVersion.cs b/src/Fallout.Application.Components/IHasGitVersion.cs similarity index 100% rename from src/Fallout.Components/IHasGitVersion.cs rename to src/Fallout.Application.Components/IHasGitVersion.cs diff --git a/src/Fallout.Components/IHasNerdbankGitVersioning.cs b/src/Fallout.Application.Components/IHasNerdbankGitVersioning.cs similarity index 100% rename from src/Fallout.Components/IHasNerdbankGitVersioning.cs rename to src/Fallout.Application.Components/IHasNerdbankGitVersioning.cs diff --git a/src/Fallout.Components/IHasReports.cs b/src/Fallout.Application.Components/IHasReports.cs similarity index 100% rename from src/Fallout.Components/IHasReports.cs rename to src/Fallout.Application.Components/IHasReports.cs diff --git a/src/Fallout.Components/IHasSolution.cs b/src/Fallout.Application.Components/IHasSolution.cs similarity index 100% rename from src/Fallout.Components/IHasSolution.cs rename to src/Fallout.Application.Components/IHasSolution.cs diff --git a/src/Fallout.Components/IHasTwitterCredentials.cs b/src/Fallout.Application.Components/IHasTwitterCredentials.cs similarity index 100% rename from src/Fallout.Components/IHasTwitterCredentials.cs rename to src/Fallout.Application.Components/IHasTwitterCredentials.cs diff --git a/src/Fallout.Components/IPack.cs b/src/Fallout.Application.Components/IPack.cs similarity index 100% rename from src/Fallout.Components/IPack.cs rename to src/Fallout.Application.Components/IPack.cs diff --git a/src/Fallout.Components/IPublish.cs b/src/Fallout.Application.Components/IPublish.cs similarity index 100% rename from src/Fallout.Components/IPublish.cs rename to src/Fallout.Application.Components/IPublish.cs diff --git a/src/Fallout.Components/IReportCoverage.cs b/src/Fallout.Application.Components/IReportCoverage.cs similarity index 100% rename from src/Fallout.Components/IReportCoverage.cs rename to src/Fallout.Application.Components/IReportCoverage.cs diff --git a/src/Fallout.Components/IRestore.cs b/src/Fallout.Application.Components/IRestore.cs similarity index 100% rename from src/Fallout.Components/IRestore.cs rename to src/Fallout.Application.Components/IRestore.cs diff --git a/src/Fallout.Components/ISignPackages.cs b/src/Fallout.Application.Components/ISignPackages.cs similarity index 100% rename from src/Fallout.Components/ISignPackages.cs rename to src/Fallout.Application.Components/ISignPackages.cs diff --git a/src/Fallout.Components/ITest.cs b/src/Fallout.Application.Components/ITest.cs similarity index 100% rename from src/Fallout.Components/ITest.cs rename to src/Fallout.Application.Components/ITest.cs diff --git a/src/Fallout.Components/PublishTarget.cs b/src/Fallout.Application.Components/PublishTarget.cs similarity index 100% rename from src/Fallout.Components/PublishTarget.cs rename to src/Fallout.Application.Components/PublishTarget.cs diff --git a/src/Fallout.Build/Attributes/ArgumentsFromGitCommitMessageAttribute.cs b/src/Fallout.Application/Attributes/ArgumentsFromGitCommitMessageAttribute.cs similarity index 100% rename from src/Fallout.Build/Attributes/ArgumentsFromGitCommitMessageAttribute.cs rename to src/Fallout.Application/Attributes/ArgumentsFromGitCommitMessageAttribute.cs diff --git a/src/Fallout.Build/Attributes/DisableDefaultOutputAttribute.cs b/src/Fallout.Application/Attributes/DisableDefaultOutputAttribute.cs similarity index 100% rename from src/Fallout.Build/Attributes/DisableDefaultOutputAttribute.cs rename to src/Fallout.Application/Attributes/DisableDefaultOutputAttribute.cs diff --git a/src/Fallout.Build/Attributes/ShutdownDotNetAfterServerBuildAttribute.cs b/src/Fallout.Application/Attributes/ShutdownDotNetAfterServerBuildAttribute.cs similarity index 100% rename from src/Fallout.Build/Attributes/ShutdownDotNetAfterServerBuildAttribute.cs rename to src/Fallout.Application/Attributes/ShutdownDotNetAfterServerBuildAttribute.cs diff --git a/src/Fallout.Build/Attributes/UnsetVisualStudioEnvironmentVariablesAttribute.cs b/src/Fallout.Application/Attributes/UnsetVisualStudioEnvironmentVariablesAttribute.cs similarity index 100% rename from src/Fallout.Build/Attributes/UnsetVisualStudioEnvironmentVariablesAttribute.cs rename to src/Fallout.Application/Attributes/UnsetVisualStudioEnvironmentVariablesAttribute.cs diff --git a/src/Fallout.Build/Attributes/VerbosityMappingAttribute.cs b/src/Fallout.Application/Attributes/VerbosityMappingAttribute.cs similarity index 100% rename from src/Fallout.Build/Attributes/VerbosityMappingAttribute.cs rename to src/Fallout.Application/Attributes/VerbosityMappingAttribute.cs diff --git a/src/Fallout.Build/CICD/BuildServerConfigurationGeneration.cs b/src/Fallout.Application/CICD/BuildServerConfigurationGeneration.cs similarity index 100% rename from src/Fallout.Build/CICD/BuildServerConfigurationGeneration.cs rename to src/Fallout.Application/CICD/BuildServerConfigurationGeneration.cs diff --git a/src/Fallout.Build/CICD/BuildServerConfigurationGenerationAttributeBase.cs b/src/Fallout.Application/CICD/BuildServerConfigurationGenerationAttributeBase.cs similarity index 100% rename from src/Fallout.Build/CICD/BuildServerConfigurationGenerationAttributeBase.cs rename to src/Fallout.Application/CICD/BuildServerConfigurationGenerationAttributeBase.cs diff --git a/src/Fallout.Build/CICD/CIAttribute.cs b/src/Fallout.Application/CICD/CIAttribute.cs similarity index 100% rename from src/Fallout.Build/CICD/CIAttribute.cs rename to src/Fallout.Application/CICD/CIAttribute.cs diff --git a/src/Fallout.Build/CICD/ChainedConfigurationAttributeBase.cs b/src/Fallout.Application/CICD/ChainedConfigurationAttributeBase.cs similarity index 100% rename from src/Fallout.Build/CICD/ChainedConfigurationAttributeBase.cs rename to src/Fallout.Application/CICD/ChainedConfigurationAttributeBase.cs diff --git a/src/Fallout.Build/CICD/ConfigurationAttributeBase.cs b/src/Fallout.Application/CICD/ConfigurationAttributeBase.cs similarity index 100% rename from src/Fallout.Build/CICD/ConfigurationAttributeBase.cs rename to src/Fallout.Application/CICD/ConfigurationAttributeBase.cs diff --git a/src/Fallout.Build/CICD/ConfigurationEntity.cs b/src/Fallout.Application/CICD/ConfigurationEntity.cs similarity index 100% rename from src/Fallout.Build/CICD/ConfigurationEntity.cs rename to src/Fallout.Application/CICD/ConfigurationEntity.cs diff --git a/src/Fallout.Build/CICD/CustomFileWriter.cs b/src/Fallout.Application/CICD/CustomFileWriter.cs similarity index 100% rename from src/Fallout.Build/CICD/CustomFileWriter.cs rename to src/Fallout.Application/CICD/CustomFileWriter.cs diff --git a/src/Fallout.Build/CICD/GenerateBuildServerConfigurationsAttribute.cs b/src/Fallout.Application/CICD/GenerateBuildServerConfigurationsAttribute.cs similarity index 100% rename from src/Fallout.Build/CICD/GenerateBuildServerConfigurationsAttribute.cs rename to src/Fallout.Application/CICD/GenerateBuildServerConfigurationsAttribute.cs diff --git a/src/Fallout.Build/CICD/IBuildServer.cs b/src/Fallout.Application/CICD/IBuildServer.cs similarity index 100% rename from src/Fallout.Build/CICD/IBuildServer.cs rename to src/Fallout.Application/CICD/IBuildServer.cs diff --git a/src/Fallout.Build/CICD/IConfigurationGenerator.cs b/src/Fallout.Application/CICD/IConfigurationGenerator.cs similarity index 100% rename from src/Fallout.Build/CICD/IConfigurationGenerator.cs rename to src/Fallout.Application/CICD/IConfigurationGenerator.cs diff --git a/src/Fallout.Build/CICD/InvokeBuildServerConfigurationGenerationAttribute.cs b/src/Fallout.Application/CICD/InvokeBuildServerConfigurationGenerationAttribute.cs similarity index 100% rename from src/Fallout.Build/CICD/InvokeBuildServerConfigurationGenerationAttribute.cs rename to src/Fallout.Application/CICD/InvokeBuildServerConfigurationGenerationAttribute.cs diff --git a/src/Fallout.Build/CICD/NoConvertAttribute.cs b/src/Fallout.Application/CICD/NoConvertAttribute.cs similarity index 100% rename from src/Fallout.Build/CICD/NoConvertAttribute.cs rename to src/Fallout.Application/CICD/NoConvertAttribute.cs diff --git a/src/Fallout.Build/CICD/Partition.cs b/src/Fallout.Application/CICD/Partition.cs similarity index 100% rename from src/Fallout.Build/CICD/Partition.cs rename to src/Fallout.Application/CICD/Partition.cs diff --git a/src/Fallout.Build/CICD/PartitionAttribute.cs b/src/Fallout.Application/CICD/PartitionAttribute.cs similarity index 100% rename from src/Fallout.Build/CICD/PartitionAttribute.cs rename to src/Fallout.Application/CICD/PartitionAttribute.cs diff --git a/src/Fallout.Build/ControlFlow.cs b/src/Fallout.Application/ControlFlow.cs similarity index 100% rename from src/Fallout.Build/ControlFlow.cs rename to src/Fallout.Application/ControlFlow.cs diff --git a/src/Fallout.Build/Execution/BuildExecutor.cs b/src/Fallout.Application/Execution/BuildExecutor.cs similarity index 100% rename from src/Fallout.Build/Execution/BuildExecutor.cs rename to src/Fallout.Application/Execution/BuildExecutor.cs diff --git a/src/Fallout.Build/Execution/BuildManager.cs b/src/Fallout.Application/Execution/BuildManager.cs similarity index 100% rename from src/Fallout.Build/Execution/BuildManager.cs rename to src/Fallout.Application/Execution/BuildManager.cs diff --git a/src/Fallout.Build/Execution/DelegateRequirementService.cs b/src/Fallout.Application/Execution/DelegateRequirementService.cs similarity index 100% rename from src/Fallout.Build/Execution/DelegateRequirementService.cs rename to src/Fallout.Application/Execution/DelegateRequirementService.cs diff --git a/src/Fallout.Build/Execution/ExecutableTarget.cs b/src/Fallout.Application/Execution/ExecutableTarget.cs similarity index 100% rename from src/Fallout.Build/Execution/ExecutableTarget.cs rename to src/Fallout.Application/Execution/ExecutableTarget.cs diff --git a/src/Fallout.Build/Execution/ExecutableTargetFactory.cs b/src/Fallout.Application/Execution/ExecutableTargetFactory.cs similarity index 100% rename from src/Fallout.Build/Execution/ExecutableTargetFactory.cs rename to src/Fallout.Application/Execution/ExecutableTargetFactory.cs diff --git a/src/Fallout.Build/Execution/ExecutionPlanner.cs b/src/Fallout.Application/Execution/ExecutionPlanner.cs similarity index 100% rename from src/Fallout.Build/Execution/ExecutionPlanner.cs rename to src/Fallout.Application/Execution/ExecutionPlanner.cs diff --git a/src/Fallout.Build/Execution/ExecutionStatus.cs b/src/Fallout.Application/Execution/ExecutionStatus.cs similarity index 100% rename from src/Fallout.Build/Execution/ExecutionStatus.cs rename to src/Fallout.Application/Execution/ExecutionStatus.cs diff --git a/src/Fallout.Build/Execution/Extensibility/BuildExtensionAttributeBase.cs b/src/Fallout.Application/Execution/Extensibility/BuildExtensionAttributeBase.cs similarity index 100% rename from src/Fallout.Build/Execution/Extensibility/BuildExtensionAttributeBase.cs rename to src/Fallout.Application/Execution/Extensibility/BuildExtensionAttributeBase.cs diff --git a/src/Fallout.Build/Execution/Extensibility/ToolInjectionAttributeBase.cs b/src/Fallout.Application/Execution/Extensibility/ToolInjectionAttributeBase.cs similarity index 100% rename from src/Fallout.Build/Execution/Extensibility/ToolInjectionAttributeBase.cs rename to src/Fallout.Application/Execution/Extensibility/ToolInjectionAttributeBase.cs diff --git a/src/Fallout.Build/Execution/Extensibility/ValueInjectionAttributeBase.cs b/src/Fallout.Application/Execution/Extensibility/ValueInjectionAttributeBase.cs similarity index 100% rename from src/Fallout.Build/Execution/Extensibility/ValueInjectionAttributeBase.cs rename to src/Fallout.Application/Execution/Extensibility/ValueInjectionAttributeBase.cs diff --git a/src/Fallout.Build/Execution/Extensions/ArgumentsFromParametersFileAttribute.cs b/src/Fallout.Application/Execution/Extensions/ArgumentsFromParametersFileAttribute.cs similarity index 100% rename from src/Fallout.Build/Execution/Extensions/ArgumentsFromParametersFileAttribute.cs rename to src/Fallout.Application/Execution/Extensions/ArgumentsFromParametersFileAttribute.cs diff --git a/src/Fallout.Build/Execution/Extensions/EventInvoker.cs b/src/Fallout.Application/Execution/Extensions/EventInvoker.cs similarity index 100% rename from src/Fallout.Build/Execution/Extensions/EventInvoker.cs rename to src/Fallout.Application/Execution/Extensions/EventInvoker.cs diff --git a/src/Fallout.Build/Execution/Extensions/HandleHelpRequestsAttribute.cs b/src/Fallout.Application/Execution/Extensions/HandleHelpRequestsAttribute.cs similarity index 100% rename from src/Fallout.Build/Execution/Extensions/HandleHelpRequestsAttribute.cs rename to src/Fallout.Application/Execution/Extensions/HandleHelpRequestsAttribute.cs diff --git a/src/Fallout.Build/Execution/Extensions/HandlePlanRequestsAttribute.cs b/src/Fallout.Application/Execution/Extensions/HandlePlanRequestsAttribute.cs similarity index 100% rename from src/Fallout.Build/Execution/Extensions/HandlePlanRequestsAttribute.cs rename to src/Fallout.Application/Execution/Extensions/HandlePlanRequestsAttribute.cs diff --git a/src/Fallout.Build/Execution/Extensions/HandleReSharperSurrogateArgumentsAttribute.cs b/src/Fallout.Application/Execution/Extensions/HandleReSharperSurrogateArgumentsAttribute.cs similarity index 100% rename from src/Fallout.Build/Execution/Extensions/HandleReSharperSurrogateArgumentsAttribute.cs rename to src/Fallout.Application/Execution/Extensions/HandleReSharperSurrogateArgumentsAttribute.cs diff --git a/src/Fallout.Build/Execution/Extensions/HandleShellCompletionAttribute.cs b/src/Fallout.Application/Execution/Extensions/HandleShellCompletionAttribute.cs similarity index 100% rename from src/Fallout.Build/Execution/Extensions/HandleShellCompletionAttribute.cs rename to src/Fallout.Application/Execution/Extensions/HandleShellCompletionAttribute.cs diff --git a/src/Fallout.Build/Execution/Extensions/HandleVisualStudioDebuggingAttribute.cs b/src/Fallout.Application/Execution/Extensions/HandleVisualStudioDebuggingAttribute.cs similarity index 100% rename from src/Fallout.Build/Execution/Extensions/HandleVisualStudioDebuggingAttribute.cs rename to src/Fallout.Application/Execution/Extensions/HandleVisualStudioDebuggingAttribute.cs diff --git a/src/Fallout.Build/Execution/Extensions/InjectNonParameterValuesAttribute.cs b/src/Fallout.Application/Execution/Extensions/InjectNonParameterValuesAttribute.cs similarity index 100% rename from src/Fallout.Build/Execution/Extensions/InjectNonParameterValuesAttribute.cs rename to src/Fallout.Application/Execution/Extensions/InjectNonParameterValuesAttribute.cs diff --git a/src/Fallout.Build/Execution/Extensions/InjectParameterValuesAttribute.cs b/src/Fallout.Application/Execution/Extensions/InjectParameterValuesAttribute.cs similarity index 100% rename from src/Fallout.Build/Execution/Extensions/InjectParameterValuesAttribute.cs rename to src/Fallout.Application/Execution/Extensions/InjectParameterValuesAttribute.cs diff --git a/src/Fallout.Build/Execution/Extensions/SerializeBuildServerStateAttribute.cs b/src/Fallout.Application/Execution/Extensions/SerializeBuildServerStateAttribute.cs similarity index 100% rename from src/Fallout.Build/Execution/Extensions/SerializeBuildServerStateAttribute.cs rename to src/Fallout.Application/Execution/Extensions/SerializeBuildServerStateAttribute.cs diff --git a/src/Fallout.Build/Execution/Extensions/TelemetryAttribute.cs b/src/Fallout.Application/Execution/Extensions/TelemetryAttribute.cs similarity index 100% rename from src/Fallout.Build/Execution/Extensions/TelemetryAttribute.cs rename to src/Fallout.Application/Execution/Extensions/TelemetryAttribute.cs diff --git a/src/Fallout.Build/Execution/Extensions/UpdateNotificationAttribute.cs b/src/Fallout.Application/Execution/Extensions/UpdateNotificationAttribute.cs similarity index 100% rename from src/Fallout.Build/Execution/Extensions/UpdateNotificationAttribute.cs rename to src/Fallout.Application/Execution/Extensions/UpdateNotificationAttribute.cs diff --git a/src/Fallout.Build/Execution/Extensions/execution-plan.html b/src/Fallout.Application/Execution/Extensions/execution-plan.html similarity index 100% rename from src/Fallout.Build/Execution/Extensions/execution-plan.html rename to src/Fallout.Application/Execution/Extensions/execution-plan.html diff --git a/src/Fallout.Build/Execution/ParameterService.Statics.cs b/src/Fallout.Application/Execution/ParameterService.Statics.cs similarity index 100% rename from src/Fallout.Build/Execution/ParameterService.Statics.cs rename to src/Fallout.Application/Execution/ParameterService.Statics.cs diff --git a/src/Fallout.Build/Execution/ParameterService.cs b/src/Fallout.Application/Execution/ParameterService.cs similarity index 100% rename from src/Fallout.Build/Execution/ParameterService.cs rename to src/Fallout.Application/Execution/ParameterService.cs diff --git a/src/Fallout.Build/Execution/TargetDefinition.cs b/src/Fallout.Application/Execution/TargetDefinition.cs similarity index 100% rename from src/Fallout.Build/Execution/TargetDefinition.cs rename to src/Fallout.Application/Execution/TargetDefinition.cs diff --git a/src/Fallout.Build/Execution/TargetExecutionException.cs b/src/Fallout.Application/Execution/TargetExecutionException.cs similarity index 100% rename from src/Fallout.Build/Execution/TargetExecutionException.cs rename to src/Fallout.Application/Execution/TargetExecutionException.cs diff --git a/src/Fallout.Build/Execution/ToolRequirementService.cs b/src/Fallout.Application/Execution/ToolRequirementService.cs similarity index 100% rename from src/Fallout.Build/Execution/ToolRequirementService.cs rename to src/Fallout.Application/Execution/ToolRequirementService.cs diff --git a/src/Fallout.Build/Execution/ValueInjectionUtility.cs b/src/Fallout.Application/Execution/ValueInjectionUtility.cs similarity index 100% rename from src/Fallout.Build/Execution/ValueInjectionUtility.cs rename to src/Fallout.Application/Execution/ValueInjectionUtility.cs diff --git a/src/Fallout.Build/Fallout.Build.csproj b/src/Fallout.Application/Fallout.Application.csproj similarity index 66% rename from src/Fallout.Build/Fallout.Build.csproj rename to src/Fallout.Application/Fallout.Application.csproj index 6bd490467..a247556f4 100644 --- a/src/Fallout.Build/Fallout.Build.csproj +++ b/src/Fallout.Application/Fallout.Application.csproj @@ -9,11 +9,11 @@ - - - - - + + + + + diff --git a/src/Fallout.Build/FalloutBuild.Events.cs b/src/Fallout.Application/FalloutBuild.Events.cs similarity index 100% rename from src/Fallout.Build/FalloutBuild.Events.cs rename to src/Fallout.Application/FalloutBuild.Events.cs diff --git a/src/Fallout.Build/FalloutBuild.Interface.cs b/src/Fallout.Application/FalloutBuild.Interface.cs similarity index 100% rename from src/Fallout.Build/FalloutBuild.Interface.cs rename to src/Fallout.Application/FalloutBuild.Interface.cs diff --git a/src/Fallout.Build/FalloutBuild.Output.cs b/src/Fallout.Application/FalloutBuild.Output.cs similarity index 100% rename from src/Fallout.Build/FalloutBuild.Output.cs rename to src/Fallout.Application/FalloutBuild.Output.cs diff --git a/src/Fallout.Build/FalloutBuild.Statics.cs b/src/Fallout.Application/FalloutBuild.Statics.cs similarity index 100% rename from src/Fallout.Build/FalloutBuild.Statics.cs rename to src/Fallout.Application/FalloutBuild.Statics.cs diff --git a/src/Fallout.Build/FalloutBuild.cs b/src/Fallout.Application/FalloutBuild.cs similarity index 100% rename from src/Fallout.Build/FalloutBuild.cs rename to src/Fallout.Application/FalloutBuild.cs diff --git a/src/Fallout.Build/Host.Activation.cs b/src/Fallout.Application/Host.Activation.cs similarity index 100% rename from src/Fallout.Build/Host.Activation.cs rename to src/Fallout.Application/Host.Activation.cs diff --git a/src/Fallout.Build/Host.Theming.cs b/src/Fallout.Application/Host.Theming.cs similarity index 100% rename from src/Fallout.Build/Host.Theming.cs rename to src/Fallout.Application/Host.Theming.cs diff --git a/src/Fallout.Build/Host.cs b/src/Fallout.Application/Host.cs similarity index 100% rename from src/Fallout.Build/Host.cs rename to src/Fallout.Application/Host.cs diff --git a/src/Fallout.Build/IFalloutBuild.cs b/src/Fallout.Application/IFalloutBuild.cs similarity index 100% rename from src/Fallout.Build/IFalloutBuild.cs rename to src/Fallout.Application/IFalloutBuild.cs diff --git a/src/Fallout.Build/ITargetDefinition.cs b/src/Fallout.Application/ITargetDefinition.cs similarity index 100% rename from src/Fallout.Build/ITargetDefinition.cs rename to src/Fallout.Application/ITargetDefinition.cs diff --git a/src/Fallout.Build/LogLevel.cs b/src/Fallout.Application/LogLevel.cs similarity index 100% rename from src/Fallout.Build/LogLevel.cs rename to src/Fallout.Application/LogLevel.cs diff --git a/src/Fallout.Build/Logging.cs b/src/Fallout.Application/Logging.cs similarity index 100% rename from src/Fallout.Build/Logging.cs rename to src/Fallout.Application/Logging.cs diff --git a/src/Fallout.Build/ParameterAttribute.cs b/src/Fallout.Application/ParameterAttribute.cs similarity index 100% rename from src/Fallout.Build/ParameterAttribute.cs rename to src/Fallout.Application/ParameterAttribute.cs diff --git a/src/Fallout.Build/RequiresAttribute.cs b/src/Fallout.Application/RequiresAttribute.cs similarity index 100% rename from src/Fallout.Build/RequiresAttribute.cs rename to src/Fallout.Application/RequiresAttribute.cs diff --git a/src/Fallout.Build/Target.cs b/src/Fallout.Application/Target.cs similarity index 100% rename from src/Fallout.Build/Target.cs rename to src/Fallout.Application/Target.cs diff --git a/src/Fallout.Build/Telemetry/Telemetry.Events.cs b/src/Fallout.Application/Telemetry/Telemetry.Events.cs similarity index 100% rename from src/Fallout.Build/Telemetry/Telemetry.Events.cs rename to src/Fallout.Application/Telemetry/Telemetry.Events.cs diff --git a/src/Fallout.Build/Telemetry/Telemetry.Properties.cs b/src/Fallout.Application/Telemetry/Telemetry.Properties.cs similarity index 100% rename from src/Fallout.Build/Telemetry/Telemetry.Properties.cs rename to src/Fallout.Application/Telemetry/Telemetry.Properties.cs diff --git a/src/Fallout.Build/Telemetry/Telemetry.cs b/src/Fallout.Application/Telemetry/Telemetry.cs similarity index 100% rename from src/Fallout.Build/Telemetry/Telemetry.cs rename to src/Fallout.Application/Telemetry/Telemetry.cs diff --git a/src/Fallout.Build/Terminal.cs b/src/Fallout.Application/Terminal.cs similarity index 100% rename from src/Fallout.Build/Terminal.cs rename to src/Fallout.Application/Terminal.cs diff --git a/src/Fallout.Build/Theming/AnsiConsoleHostTheme.cs b/src/Fallout.Application/Theming/AnsiConsoleHostTheme.cs similarity index 100% rename from src/Fallout.Build/Theming/AnsiConsoleHostTheme.cs rename to src/Fallout.Application/Theming/AnsiConsoleHostTheme.cs diff --git a/src/Fallout.Build/Theming/IHostTheme.cs b/src/Fallout.Application/Theming/IHostTheme.cs similarity index 100% rename from src/Fallout.Build/Theming/IHostTheme.cs rename to src/Fallout.Application/Theming/IHostTheme.cs diff --git a/src/Fallout.Build/Theming/SystemConsoleHostTheme.cs b/src/Fallout.Application/Theming/SystemConsoleHostTheme.cs similarity index 100% rename from src/Fallout.Build/Theming/SystemConsoleHostTheme.cs rename to src/Fallout.Application/Theming/SystemConsoleHostTheme.cs diff --git a/src/Fallout.Build/Utilities/ConsoleUtility.cs b/src/Fallout.Application/Utilities/ConsoleUtility.cs similarity index 100% rename from src/Fallout.Build/Utilities/ConsoleUtility.cs rename to src/Fallout.Application/Utilities/ConsoleUtility.cs diff --git a/src/Fallout.Build/Utilities/CredentialStore.cs b/src/Fallout.Application/Utilities/CredentialStore.cs similarity index 100% rename from src/Fallout.Build/Utilities/CredentialStore.cs rename to src/Fallout.Application/Utilities/CredentialStore.cs diff --git a/src/Fallout.Build/Utilities/SchemaUtility.cs b/src/Fallout.Application/Utilities/SchemaUtility.cs similarity index 100% rename from src/Fallout.Build/Utilities/SchemaUtility.cs rename to src/Fallout.Application/Utilities/SchemaUtility.cs diff --git a/src/Fallout.Build/VCS/GitRepository.cs b/src/Fallout.Application/VCS/GitRepository.cs similarity index 100% rename from src/Fallout.Build/VCS/GitRepository.cs rename to src/Fallout.Application/VCS/GitRepository.cs diff --git a/src/Fallout.Build/VCS/GitRepositoryExtensions.cs b/src/Fallout.Application/VCS/GitRepositoryExtensions.cs similarity index 100% rename from src/Fallout.Build/VCS/GitRepositoryExtensions.cs rename to src/Fallout.Application/VCS/GitRepositoryExtensions.cs diff --git a/src/Fallout.Build/Verbosity.cs b/src/Fallout.Application/Verbosity.cs similarity index 100% rename from src/Fallout.Build/Verbosity.cs rename to src/Fallout.Application/Verbosity.cs diff --git a/src/Fallout.Build.Shared/Fallout.Build.Shared.csproj b/src/Fallout.Build.Shared/Fallout.Build.Shared.csproj index 9248a4c2d..644bb38ba 100644 --- a/src/Fallout.Build.Shared/Fallout.Build.Shared.csproj +++ b/src/Fallout.Build.Shared/Fallout.Build.Shared.csproj @@ -5,7 +5,7 @@ - + diff --git a/src/Fallout.Cli/Fallout.Cli.csproj b/src/Fallout.Cli/Fallout.Cli.csproj index 2f30c932c..01eb2580c 100644 --- a/src/Fallout.Cli/Fallout.Cli.csproj +++ b/src/Fallout.Cli/Fallout.Cli.csproj @@ -9,11 +9,11 @@ - + - + diff --git a/src/Fallout.Common/Fallout.Common.csproj b/src/Fallout.Common/Fallout.Common.csproj index 6614a17ec..a687659f8 100644 --- a/src/Fallout.Common/Fallout.Common.csproj +++ b/src/Fallout.Common/Fallout.Common.csproj @@ -10,15 +10,15 @@ - + - - - - - + + + + + diff --git a/src/Fallout.ProjectModel/Fallout.ProjectModel.csproj b/src/Fallout.Infrastructure.ProjectModel/Fallout.Infrastructure.ProjectModel.csproj similarity index 90% rename from src/Fallout.ProjectModel/Fallout.ProjectModel.csproj rename to src/Fallout.Infrastructure.ProjectModel/Fallout.Infrastructure.ProjectModel.csproj index 15af5755c..2ad4d68a4 100644 --- a/src/Fallout.ProjectModel/Fallout.ProjectModel.csproj +++ b/src/Fallout.Infrastructure.ProjectModel/Fallout.Infrastructure.ProjectModel.csproj @@ -7,7 +7,7 @@ - + diff --git a/src/Fallout.ProjectModel/Project.GetMSBuildProject.cs b/src/Fallout.Infrastructure.ProjectModel/Project.GetMSBuildProject.cs similarity index 100% rename from src/Fallout.ProjectModel/Project.GetMSBuildProject.cs rename to src/Fallout.Infrastructure.ProjectModel/Project.GetMSBuildProject.cs diff --git a/src/Fallout.ProjectModel/Project.Items.cs b/src/Fallout.Infrastructure.ProjectModel/Project.Items.cs similarity index 100% rename from src/Fallout.ProjectModel/Project.Items.cs rename to src/Fallout.Infrastructure.ProjectModel/Project.Items.cs diff --git a/src/Fallout.ProjectModel/Project.Misc.cs b/src/Fallout.Infrastructure.ProjectModel/Project.Misc.cs similarity index 100% rename from src/Fallout.ProjectModel/Project.Misc.cs rename to src/Fallout.Infrastructure.ProjectModel/Project.Misc.cs diff --git a/src/Fallout.ProjectModel/Project.Properties.cs b/src/Fallout.Infrastructure.ProjectModel/Project.Properties.cs similarity index 100% rename from src/Fallout.ProjectModel/Project.Properties.cs rename to src/Fallout.Infrastructure.ProjectModel/Project.Properties.cs diff --git a/src/Fallout.ProjectModel/ProjectEditorAdapter.cs b/src/Fallout.Infrastructure.ProjectModel/ProjectEditorAdapter.cs similarity index 100% rename from src/Fallout.ProjectModel/ProjectEditorAdapter.cs rename to src/Fallout.Infrastructure.ProjectModel/ProjectEditorAdapter.cs diff --git a/src/Fallout.ProjectModel/ProjectModelTasks.cs b/src/Fallout.Infrastructure.ProjectModel/ProjectModelTasks.cs similarity index 100% rename from src/Fallout.ProjectModel/ProjectModelTasks.cs rename to src/Fallout.Infrastructure.ProjectModel/ProjectModelTasks.cs diff --git a/src/Fallout.Utilities.IO.Compression/CompressionExtensions.cs b/src/Fallout.Kernel.IO.Compression/CompressionExtensions.cs similarity index 100% rename from src/Fallout.Utilities.IO.Compression/CompressionExtensions.cs rename to src/Fallout.Kernel.IO.Compression/CompressionExtensions.cs diff --git a/src/Fallout.Utilities.IO.Compression/Fallout.Utilities.IO.Compression.csproj b/src/Fallout.Kernel.IO.Compression/Fallout.Kernel.IO.Compression.csproj similarity index 75% rename from src/Fallout.Utilities.IO.Compression/Fallout.Utilities.IO.Compression.csproj rename to src/Fallout.Kernel.IO.Compression/Fallout.Kernel.IO.Compression.csproj index 456306f23..affe33d39 100644 --- a/src/Fallout.Utilities.IO.Compression/Fallout.Utilities.IO.Compression.csproj +++ b/src/Fallout.Kernel.IO.Compression/Fallout.Kernel.IO.Compression.csproj @@ -5,7 +5,7 @@ - + diff --git a/src/Fallout.Utilities.IO.Globbing/Fallout.Utilities.IO.Globbing.csproj b/src/Fallout.Kernel.IO.Globbing/Fallout.Kernel.IO.Globbing.csproj similarity index 74% rename from src/Fallout.Utilities.IO.Globbing/Fallout.Utilities.IO.Globbing.csproj rename to src/Fallout.Kernel.IO.Globbing/Fallout.Kernel.IO.Globbing.csproj index 5c5cf390c..678972fd9 100644 --- a/src/Fallout.Utilities.IO.Globbing/Fallout.Utilities.IO.Globbing.csproj +++ b/src/Fallout.Kernel.IO.Globbing/Fallout.Kernel.IO.Globbing.csproj @@ -5,7 +5,7 @@ - + diff --git a/src/Fallout.Utilities.IO.Globbing/Globbing.cs b/src/Fallout.Kernel.IO.Globbing/Globbing.cs similarity index 100% rename from src/Fallout.Utilities.IO.Globbing/Globbing.cs rename to src/Fallout.Kernel.IO.Globbing/Globbing.cs diff --git a/src/Fallout.Utilities.IO.Globbing/GlobbingCaseSensitivity.cs b/src/Fallout.Kernel.IO.Globbing/GlobbingCaseSensitivity.cs similarity index 100% rename from src/Fallout.Utilities.IO.Globbing/GlobbingCaseSensitivity.cs rename to src/Fallout.Kernel.IO.Globbing/GlobbingCaseSensitivity.cs diff --git a/src/Fallout.Utilities.Net/Fallout.Utilities.Net.csproj b/src/Fallout.Kernel.Net/Fallout.Kernel.Net.csproj similarity index 78% rename from src/Fallout.Utilities.Net/Fallout.Utilities.Net.csproj rename to src/Fallout.Kernel.Net/Fallout.Kernel.Net.csproj index 88b94ce7d..902511af6 100644 --- a/src/Fallout.Utilities.Net/Fallout.Utilities.Net.csproj +++ b/src/Fallout.Kernel.Net/Fallout.Kernel.Net.csproj @@ -5,7 +5,7 @@ - + diff --git a/src/Fallout.Utilities.Net/HttpClient.Request.cs b/src/Fallout.Kernel.Net/HttpClient.Request.cs similarity index 100% rename from src/Fallout.Utilities.Net/HttpClient.Request.cs rename to src/Fallout.Kernel.Net/HttpClient.Request.cs diff --git a/src/Fallout.Utilities.Net/HttpRequest.Authentication.cs b/src/Fallout.Kernel.Net/HttpRequest.Authentication.cs similarity index 100% rename from src/Fallout.Utilities.Net/HttpRequest.Authentication.cs rename to src/Fallout.Kernel.Net/HttpRequest.Authentication.cs diff --git a/src/Fallout.Utilities.Net/HttpRequest.Content.cs b/src/Fallout.Kernel.Net/HttpRequest.Content.cs similarity index 100% rename from src/Fallout.Utilities.Net/HttpRequest.Content.cs rename to src/Fallout.Kernel.Net/HttpRequest.Content.cs diff --git a/src/Fallout.Utilities.Net/HttpRequest.Response.cs b/src/Fallout.Kernel.Net/HttpRequest.Response.cs similarity index 100% rename from src/Fallout.Utilities.Net/HttpRequest.Response.cs rename to src/Fallout.Kernel.Net/HttpRequest.Response.cs diff --git a/src/Fallout.Utilities.Net/HttpResponse.Assert.cs b/src/Fallout.Kernel.Net/HttpResponse.Assert.cs similarity index 100% rename from src/Fallout.Utilities.Net/HttpResponse.Assert.cs rename to src/Fallout.Kernel.Net/HttpResponse.Assert.cs diff --git a/src/Fallout.Utilities.Net/HttpResponse.Body.cs b/src/Fallout.Kernel.Net/HttpResponse.Body.cs similarity index 100% rename from src/Fallout.Utilities.Net/HttpResponse.Body.cs rename to src/Fallout.Kernel.Net/HttpResponse.Body.cs diff --git a/src/Fallout.Utilities.Text.Json/Fallout.Utilities.Text.Json.csproj b/src/Fallout.Kernel.Text.Json/Fallout.Kernel.Text.Json.csproj similarity index 75% rename from src/Fallout.Utilities.Text.Json/Fallout.Utilities.Text.Json.csproj rename to src/Fallout.Kernel.Text.Json/Fallout.Kernel.Text.Json.csproj index 0d0bf0f4a..4cd3d31dd 100644 --- a/src/Fallout.Utilities.Text.Json/Fallout.Utilities.Text.Json.csproj +++ b/src/Fallout.Kernel.Text.Json/Fallout.Kernel.Text.Json.csproj @@ -5,7 +5,7 @@ - + diff --git a/src/Fallout.Utilities.Text.Json/JsonExtensions.cs b/src/Fallout.Kernel.Text.Json/JsonExtensions.cs similarity index 100% rename from src/Fallout.Utilities.Text.Json/JsonExtensions.cs rename to src/Fallout.Kernel.Text.Json/JsonExtensions.cs diff --git a/src/Fallout.Utilities.Text.Json/JsonObject.GetChildren.cs b/src/Fallout.Kernel.Text.Json/JsonObject.GetChildren.cs similarity index 100% rename from src/Fallout.Utilities.Text.Json/JsonObject.GetChildren.cs rename to src/Fallout.Kernel.Text.Json/JsonObject.GetChildren.cs diff --git a/src/Fallout.Utilities.Text.Json/JsonObject.GetPropertyValue.cs b/src/Fallout.Kernel.Text.Json/JsonObject.GetPropertyValue.cs similarity index 100% rename from src/Fallout.Utilities.Text.Json/JsonObject.GetPropertyValue.cs rename to src/Fallout.Kernel.Text.Json/JsonObject.GetPropertyValue.cs diff --git a/src/Fallout.Utilities.Text.Yaml/Fallout.Utilities.Text.Yaml.csproj b/src/Fallout.Kernel.Text.Yaml/Fallout.Kernel.Text.Yaml.csproj similarity index 75% rename from src/Fallout.Utilities.Text.Yaml/Fallout.Utilities.Text.Yaml.csproj rename to src/Fallout.Kernel.Text.Yaml/Fallout.Kernel.Text.Yaml.csproj index c0bb0d03b..e07995573 100644 --- a/src/Fallout.Utilities.Text.Yaml/Fallout.Utilities.Text.Yaml.csproj +++ b/src/Fallout.Kernel.Text.Yaml/Fallout.Kernel.Text.Yaml.csproj @@ -5,7 +5,7 @@ - + diff --git a/src/Fallout.Utilities.Text.Yaml/YamlExtensions.cs b/src/Fallout.Kernel.Text.Yaml/YamlExtensions.cs similarity index 100% rename from src/Fallout.Utilities.Text.Yaml/YamlExtensions.cs rename to src/Fallout.Kernel.Text.Yaml/YamlExtensions.cs diff --git a/src/Fallout.Utilities/ArgumentParser.cs b/src/Fallout.Kernel/ArgumentParser.cs similarity index 100% rename from src/Fallout.Utilities/ArgumentParser.cs rename to src/Fallout.Kernel/ArgumentParser.cs diff --git a/src/Fallout.Utilities/Assert.cs b/src/Fallout.Kernel/Assert.cs similarity index 100% rename from src/Fallout.Utilities/Assert.cs rename to src/Fallout.Kernel/Assert.cs diff --git a/src/Fallout.Utilities/AsyncHelper.cs b/src/Fallout.Kernel/AsyncHelper.cs similarity index 100% rename from src/Fallout.Utilities/AsyncHelper.cs rename to src/Fallout.Kernel/AsyncHelper.cs diff --git a/src/Fallout.Utilities/Collections/Array.Deconstruct.cs b/src/Fallout.Kernel/Collections/Array.Deconstruct.cs similarity index 100% rename from src/Fallout.Utilities/Collections/Array.Deconstruct.cs rename to src/Fallout.Kernel/Collections/Array.Deconstruct.cs diff --git a/src/Fallout.Utilities/Collections/Dictionary.AddDictionary.cs b/src/Fallout.Kernel/Collections/Dictionary.AddDictionary.cs similarity index 100% rename from src/Fallout.Utilities/Collections/Dictionary.AddDictionary.cs rename to src/Fallout.Kernel/Collections/Dictionary.AddDictionary.cs diff --git a/src/Fallout.Utilities/Collections/Dictionary.AddKeyValue.cs b/src/Fallout.Kernel/Collections/Dictionary.AddKeyValue.cs similarity index 100% rename from src/Fallout.Utilities/Collections/Dictionary.AddKeyValue.cs rename to src/Fallout.Kernel/Collections/Dictionary.AddKeyValue.cs diff --git a/src/Fallout.Utilities/Collections/Dictionary.AsReadOnly.cs b/src/Fallout.Kernel/Collections/Dictionary.AsReadOnly.cs similarity index 100% rename from src/Fallout.Utilities/Collections/Dictionary.AsReadOnly.cs rename to src/Fallout.Kernel/Collections/Dictionary.AsReadOnly.cs diff --git a/src/Fallout.Utilities/Collections/Dictionary.Deconstruct.cs b/src/Fallout.Kernel/Collections/Dictionary.Deconstruct.cs similarity index 100% rename from src/Fallout.Utilities/Collections/Dictionary.Deconstruct.cs rename to src/Fallout.Kernel/Collections/Dictionary.Deconstruct.cs diff --git a/src/Fallout.Utilities/Collections/Dictionary.GetOrDefault.cs b/src/Fallout.Kernel/Collections/Dictionary.GetOrDefault.cs similarity index 100% rename from src/Fallout.Utilities/Collections/Dictionary.GetOrDefault.cs rename to src/Fallout.Kernel/Collections/Dictionary.GetOrDefault.cs diff --git a/src/Fallout.Utilities/Collections/Dictionary.SetKeyValue.cs b/src/Fallout.Kernel/Collections/Dictionary.SetKeyValue.cs similarity index 100% rename from src/Fallout.Utilities/Collections/Dictionary.SetKeyValue.cs rename to src/Fallout.Kernel/Collections/Dictionary.SetKeyValue.cs diff --git a/src/Fallout.Utilities/Collections/Dictionary.ToGeneric.cs b/src/Fallout.Kernel/Collections/Dictionary.ToGeneric.cs similarity index 100% rename from src/Fallout.Utilities/Collections/Dictionary.ToGeneric.cs rename to src/Fallout.Kernel/Collections/Dictionary.ToGeneric.cs diff --git a/src/Fallout.Utilities/Collections/Enumerable.AsEnumerable.cs b/src/Fallout.Kernel/Collections/Enumerable.AsEnumerable.cs similarity index 100% rename from src/Fallout.Utilities/Collections/Enumerable.AsEnumerable.cs rename to src/Fallout.Kernel/Collections/Enumerable.AsEnumerable.cs diff --git a/src/Fallout.Utilities/Collections/Enumerable.Concat.cs b/src/Fallout.Kernel/Collections/Enumerable.Concat.cs similarity index 100% rename from src/Fallout.Utilities/Collections/Enumerable.Concat.cs rename to src/Fallout.Kernel/Collections/Enumerable.Concat.cs diff --git a/src/Fallout.Utilities/Collections/Enumerable.Distinct.cs b/src/Fallout.Kernel/Collections/Enumerable.Distinct.cs similarity index 100% rename from src/Fallout.Utilities/Collections/Enumerable.Distinct.cs rename to src/Fallout.Kernel/Collections/Enumerable.Distinct.cs diff --git a/src/Fallout.Utilities/Collections/Enumerable.Emptiness.cs b/src/Fallout.Kernel/Collections/Enumerable.Emptiness.cs similarity index 100% rename from src/Fallout.Utilities/Collections/Enumerable.Emptiness.cs rename to src/Fallout.Kernel/Collections/Enumerable.Emptiness.cs diff --git a/src/Fallout.Utilities/Collections/Enumerable.ForEach.cs b/src/Fallout.Kernel/Collections/Enumerable.ForEach.cs similarity index 100% rename from src/Fallout.Utilities/Collections/Enumerable.ForEach.cs rename to src/Fallout.Kernel/Collections/Enumerable.ForEach.cs diff --git a/src/Fallout.Utilities/Collections/Enumerable.Random.cs b/src/Fallout.Kernel/Collections/Enumerable.Random.cs similarity index 100% rename from src/Fallout.Utilities/Collections/Enumerable.Random.cs rename to src/Fallout.Kernel/Collections/Enumerable.Random.cs diff --git a/src/Fallout.Utilities/Collections/Enumerable.Sequence.cs b/src/Fallout.Kernel/Collections/Enumerable.Sequence.cs similarity index 100% rename from src/Fallout.Utilities/Collections/Enumerable.Sequence.cs rename to src/Fallout.Kernel/Collections/Enumerable.Sequence.cs diff --git a/src/Fallout.Utilities/Collections/Enumerable.SingleOrDefaultOrError.cs b/src/Fallout.Kernel/Collections/Enumerable.SingleOrDefaultOrError.cs similarity index 100% rename from src/Fallout.Utilities/Collections/Enumerable.SingleOrDefaultOrError.cs rename to src/Fallout.Kernel/Collections/Enumerable.SingleOrDefaultOrError.cs diff --git a/src/Fallout.Utilities/Collections/Enumerable.TakeUntil.cs b/src/Fallout.Kernel/Collections/Enumerable.TakeUntil.cs similarity index 100% rename from src/Fallout.Utilities/Collections/Enumerable.TakeUntil.cs rename to src/Fallout.Kernel/Collections/Enumerable.TakeUntil.cs diff --git a/src/Fallout.Utilities/Collections/Enumerable.ToDictionary.cs b/src/Fallout.Kernel/Collections/Enumerable.ToDictionary.cs similarity index 100% rename from src/Fallout.Utilities/Collections/Enumerable.ToDictionary.cs rename to src/Fallout.Kernel/Collections/Enumerable.ToDictionary.cs diff --git a/src/Fallout.Utilities/Collections/Enumerable.ToEmptyIfNull.cs b/src/Fallout.Kernel/Collections/Enumerable.ToEmptyIfNull.cs similarity index 100% rename from src/Fallout.Utilities/Collections/Enumerable.ToEmptyIfNull.cs rename to src/Fallout.Kernel/Collections/Enumerable.ToEmptyIfNull.cs diff --git a/src/Fallout.Utilities/Collections/Enumerable.ToLookupTable.cs b/src/Fallout.Kernel/Collections/Enumerable.ToLookupTable.cs similarity index 100% rename from src/Fallout.Utilities/Collections/Enumerable.ToLookupTable.cs rename to src/Fallout.Kernel/Collections/Enumerable.ToLookupTable.cs diff --git a/src/Fallout.Utilities/Collections/Enumerable.TopologicalSort.cs b/src/Fallout.Kernel/Collections/Enumerable.TopologicalSort.cs similarity index 100% rename from src/Fallout.Utilities/Collections/Enumerable.TopologicalSort.cs rename to src/Fallout.Kernel/Collections/Enumerable.TopologicalSort.cs diff --git a/src/Fallout.Utilities/Collections/Enumerable.WhereNotNull.cs b/src/Fallout.Kernel/Collections/Enumerable.WhereNotNull.cs similarity index 100% rename from src/Fallout.Utilities/Collections/Enumerable.WhereNotNull.cs rename to src/Fallout.Kernel/Collections/Enumerable.WhereNotNull.cs diff --git a/src/Fallout.Utilities/Collections/Lookup.ToLookupTable.cs b/src/Fallout.Kernel/Collections/Lookup.ToLookupTable.cs similarity index 100% rename from src/Fallout.Utilities/Collections/Lookup.ToLookupTable.cs rename to src/Fallout.Kernel/Collections/Lookup.ToLookupTable.cs diff --git a/src/Fallout.Utilities/Collections/LookupTable.cs b/src/Fallout.Kernel/Collections/LookupTable.cs similarity index 100% rename from src/Fallout.Utilities/Collections/LookupTable.cs rename to src/Fallout.Kernel/Collections/LookupTable.cs diff --git a/src/Fallout.Utilities/Collections/Object.DescendantsAndSelf.cs b/src/Fallout.Kernel/Collections/Object.DescendantsAndSelf.cs similarity index 100% rename from src/Fallout.Utilities/Collections/Object.DescendantsAndSelf.cs rename to src/Fallout.Kernel/Collections/Object.DescendantsAndSelf.cs diff --git a/src/Fallout.Utilities/Collections/Object.ToPropertyDictionary.cs b/src/Fallout.Kernel/Collections/Object.ToPropertyDictionary.cs similarity index 100% rename from src/Fallout.Utilities/Collections/Object.ToPropertyDictionary.cs rename to src/Fallout.Kernel/Collections/Object.ToPropertyDictionary.cs diff --git a/src/Fallout.Utilities/DelegateDisposable.cs b/src/Fallout.Kernel/DelegateDisposable.cs similarity index 100% rename from src/Fallout.Utilities/DelegateDisposable.cs rename to src/Fallout.Kernel/DelegateDisposable.cs diff --git a/src/Fallout.Utilities/Disposable.CombineWith.cs b/src/Fallout.Kernel/Disposable.CombineWith.cs similarity index 100% rename from src/Fallout.Utilities/Disposable.CombineWith.cs rename to src/Fallout.Kernel/Disposable.CombineWith.cs diff --git a/src/Fallout.Utilities/EnvironmentInfo.Arguments.cs b/src/Fallout.Kernel/EnvironmentInfo.Arguments.cs similarity index 100% rename from src/Fallout.Utilities/EnvironmentInfo.Arguments.cs rename to src/Fallout.Kernel/EnvironmentInfo.Arguments.cs diff --git a/src/Fallout.Utilities/EnvironmentInfo.Platform.cs b/src/Fallout.Kernel/EnvironmentInfo.Platform.cs similarity index 100% rename from src/Fallout.Utilities/EnvironmentInfo.Platform.cs rename to src/Fallout.Kernel/EnvironmentInfo.Platform.cs diff --git a/src/Fallout.Utilities/EnvironmentInfo.SpecialFolder.cs b/src/Fallout.Kernel/EnvironmentInfo.SpecialFolder.cs similarity index 100% rename from src/Fallout.Utilities/EnvironmentInfo.SpecialFolder.cs rename to src/Fallout.Kernel/EnvironmentInfo.SpecialFolder.cs diff --git a/src/Fallout.Utilities/EnvironmentInfo.Variables.cs b/src/Fallout.Kernel/EnvironmentInfo.Variables.cs similarity index 100% rename from src/Fallout.Utilities/EnvironmentInfo.Variables.cs rename to src/Fallout.Kernel/EnvironmentInfo.Variables.cs diff --git a/src/Fallout.Utilities/EnvironmentInfo.cs b/src/Fallout.Kernel/EnvironmentInfo.cs similarity index 100% rename from src/Fallout.Utilities/EnvironmentInfo.cs rename to src/Fallout.Kernel/EnvironmentInfo.cs diff --git a/src/Fallout.Utilities/Exception.Unwrap.cs b/src/Fallout.Kernel/Exception.Unwrap.cs similarity index 100% rename from src/Fallout.Utilities/Exception.Unwrap.cs rename to src/Fallout.Kernel/Exception.Unwrap.cs diff --git a/src/Fallout.Utilities/Fallout.Utilities.csproj b/src/Fallout.Kernel/Fallout.Kernel.csproj similarity index 100% rename from src/Fallout.Utilities/Fallout.Utilities.csproj rename to src/Fallout.Kernel/Fallout.Kernel.csproj diff --git a/src/Fallout.Utilities/IO/AbsolutePath.Children.cs b/src/Fallout.Kernel/IO/AbsolutePath.Children.cs similarity index 100% rename from src/Fallout.Utilities/IO/AbsolutePath.Children.cs rename to src/Fallout.Kernel/IO/AbsolutePath.Children.cs diff --git a/src/Fallout.Utilities/IO/AbsolutePath.Create.cs b/src/Fallout.Kernel/IO/AbsolutePath.Create.cs similarity index 100% rename from src/Fallout.Utilities/IO/AbsolutePath.Create.cs rename to src/Fallout.Kernel/IO/AbsolutePath.Create.cs diff --git a/src/Fallout.Utilities/IO/AbsolutePath.Delete.cs b/src/Fallout.Kernel/IO/AbsolutePath.Delete.cs similarity index 100% rename from src/Fallout.Utilities/IO/AbsolutePath.Delete.cs rename to src/Fallout.Kernel/IO/AbsolutePath.Delete.cs diff --git a/src/Fallout.Utilities/IO/AbsolutePath.Exists.cs b/src/Fallout.Kernel/IO/AbsolutePath.Exists.cs similarity index 100% rename from src/Fallout.Utilities/IO/AbsolutePath.Exists.cs rename to src/Fallout.Kernel/IO/AbsolutePath.Exists.cs diff --git a/src/Fallout.Utilities/IO/AbsolutePath.Extension.cs b/src/Fallout.Kernel/IO/AbsolutePath.Extension.cs similarity index 100% rename from src/Fallout.Utilities/IO/AbsolutePath.Extension.cs rename to src/Fallout.Kernel/IO/AbsolutePath.Extension.cs diff --git a/src/Fallout.Utilities/IO/AbsolutePath.Find.cs b/src/Fallout.Kernel/IO/AbsolutePath.Find.cs similarity index 100% rename from src/Fallout.Utilities/IO/AbsolutePath.Find.cs rename to src/Fallout.Kernel/IO/AbsolutePath.Find.cs diff --git a/src/Fallout.Utilities/IO/AbsolutePath.Hash.cs b/src/Fallout.Kernel/IO/AbsolutePath.Hash.cs similarity index 100% rename from src/Fallout.Utilities/IO/AbsolutePath.Hash.cs rename to src/Fallout.Kernel/IO/AbsolutePath.Hash.cs diff --git a/src/Fallout.Utilities/IO/AbsolutePath.Info.cs b/src/Fallout.Kernel/IO/AbsolutePath.Info.cs similarity index 100% rename from src/Fallout.Utilities/IO/AbsolutePath.Info.cs rename to src/Fallout.Kernel/IO/AbsolutePath.Info.cs diff --git a/src/Fallout.Utilities/IO/AbsolutePath.Misc.cs b/src/Fallout.Kernel/IO/AbsolutePath.Misc.cs similarity index 100% rename from src/Fallout.Utilities/IO/AbsolutePath.Misc.cs rename to src/Fallout.Kernel/IO/AbsolutePath.Misc.cs diff --git a/src/Fallout.Utilities/IO/AbsolutePath.MoveCopy.cs b/src/Fallout.Kernel/IO/AbsolutePath.MoveCopy.cs similarity index 100% rename from src/Fallout.Utilities/IO/AbsolutePath.MoveCopy.cs rename to src/Fallout.Kernel/IO/AbsolutePath.MoveCopy.cs diff --git a/src/Fallout.Utilities/IO/AbsolutePath.ReadWrite.cs b/src/Fallout.Kernel/IO/AbsolutePath.ReadWrite.cs similarity index 100% rename from src/Fallout.Utilities/IO/AbsolutePath.ReadWrite.cs rename to src/Fallout.Kernel/IO/AbsolutePath.ReadWrite.cs diff --git a/src/Fallout.Utilities/IO/AbsolutePath.Time.cs b/src/Fallout.Kernel/IO/AbsolutePath.Time.cs similarity index 100% rename from src/Fallout.Utilities/IO/AbsolutePath.Time.cs rename to src/Fallout.Kernel/IO/AbsolutePath.Time.cs diff --git a/src/Fallout.Utilities/IO/AbsolutePath.cs b/src/Fallout.Kernel/IO/AbsolutePath.cs similarity index 100% rename from src/Fallout.Utilities/IO/AbsolutePath.cs rename to src/Fallout.Kernel/IO/AbsolutePath.cs diff --git a/src/Fallout.Utilities/IO/IAbsolutePathHolder.cs b/src/Fallout.Kernel/IO/IAbsolutePathHolder.cs similarity index 100% rename from src/Fallout.Utilities/IO/IAbsolutePathHolder.cs rename to src/Fallout.Kernel/IO/IAbsolutePathHolder.cs diff --git a/src/Fallout.Utilities/IO/PathConstruction.cs b/src/Fallout.Kernel/IO/PathConstruction.cs similarity index 100% rename from src/Fallout.Utilities/IO/PathConstruction.cs rename to src/Fallout.Kernel/IO/PathConstruction.cs diff --git a/src/Fallout.Utilities/IO/RelativePath.cs b/src/Fallout.Kernel/IO/RelativePath.cs similarity index 100% rename from src/Fallout.Utilities/IO/RelativePath.cs rename to src/Fallout.Kernel/IO/RelativePath.cs diff --git a/src/Fallout.Utilities/IO/UnixRelativePath.cs b/src/Fallout.Kernel/IO/UnixRelativePath.cs similarity index 100% rename from src/Fallout.Utilities/IO/UnixRelativePath.cs rename to src/Fallout.Kernel/IO/UnixRelativePath.cs diff --git a/src/Fallout.Utilities/IO/WinRelativePath.cs b/src/Fallout.Kernel/IO/WinRelativePath.cs similarity index 100% rename from src/Fallout.Utilities/IO/WinRelativePath.cs rename to src/Fallout.Kernel/IO/WinRelativePath.cs diff --git a/src/Fallout.Utilities/Lazy.cs b/src/Fallout.Kernel/Lazy.cs similarity index 100% rename from src/Fallout.Utilities/Lazy.cs rename to src/Fallout.Kernel/Lazy.cs diff --git a/src/Fallout.Utilities/Object.Apply.cs b/src/Fallout.Kernel/Object.Apply.cs similarity index 100% rename from src/Fallout.Utilities/Object.Apply.cs rename to src/Fallout.Kernel/Object.Apply.cs diff --git a/src/Fallout.Utilities/Object.Clone.cs b/src/Fallout.Kernel/Object.Clone.cs similarity index 100% rename from src/Fallout.Utilities/Object.Clone.cs rename to src/Fallout.Kernel/Object.Clone.cs diff --git a/src/Fallout.Utilities/Object.When.cs b/src/Fallout.Kernel/Object.When.cs similarity index 100% rename from src/Fallout.Utilities/Object.When.cs rename to src/Fallout.Kernel/Object.When.cs diff --git a/src/Fallout.Utilities/Reflection/Assembly.Versioning.cs b/src/Fallout.Kernel/Reflection/Assembly.Versioning.cs similarity index 100% rename from src/Fallout.Utilities/Reflection/Assembly.Versioning.cs rename to src/Fallout.Kernel/Reflection/Assembly.Versioning.cs diff --git a/src/Fallout.Utilities/Reflection/ReflectionUtility.Conversion.cs b/src/Fallout.Kernel/Reflection/ReflectionUtility.Conversion.cs similarity index 100% rename from src/Fallout.Utilities/Reflection/ReflectionUtility.Conversion.cs rename to src/Fallout.Kernel/Reflection/ReflectionUtility.Conversion.cs diff --git a/src/Fallout.Utilities/Reflection/ReflectionUtility.DisplayText.cs b/src/Fallout.Kernel/Reflection/ReflectionUtility.DisplayText.cs similarity index 100% rename from src/Fallout.Utilities/Reflection/ReflectionUtility.DisplayText.cs rename to src/Fallout.Kernel/Reflection/ReflectionUtility.DisplayText.cs diff --git a/src/Fallout.Utilities/Reflection/ReflectionUtility.Expressions.cs b/src/Fallout.Kernel/Reflection/ReflectionUtility.Expressions.cs similarity index 100% rename from src/Fallout.Utilities/Reflection/ReflectionUtility.Expressions.cs rename to src/Fallout.Kernel/Reflection/ReflectionUtility.Expressions.cs diff --git a/src/Fallout.Utilities/Reflection/ReflectionUtility.Invocation.cs b/src/Fallout.Kernel/Reflection/ReflectionUtility.Invocation.cs similarity index 100% rename from src/Fallout.Utilities/Reflection/ReflectionUtility.Invocation.cs rename to src/Fallout.Kernel/Reflection/ReflectionUtility.Invocation.cs diff --git a/src/Fallout.Utilities/Reflection/ReflectionUtility.cs b/src/Fallout.Kernel/Reflection/ReflectionUtility.cs similarity index 100% rename from src/Fallout.Utilities/Reflection/ReflectionUtility.cs rename to src/Fallout.Kernel/Reflection/ReflectionUtility.cs diff --git a/src/Fallout.Utilities/Reflection/ResourceUtility.cs b/src/Fallout.Kernel/Reflection/ResourceUtility.cs similarity index 100% rename from src/Fallout.Utilities/Reflection/ResourceUtility.cs rename to src/Fallout.Kernel/Reflection/ResourceUtility.cs diff --git a/src/Fallout.Utilities/Security/EncryptionUtility.cs b/src/Fallout.Kernel/Security/EncryptionUtility.cs similarity index 100% rename from src/Fallout.Utilities/Security/EncryptionUtility.cs rename to src/Fallout.Kernel/Security/EncryptionUtility.cs diff --git a/src/Fallout.Utilities/Shims/CallerArgumentExpressionAttribute.cs b/src/Fallout.Kernel/Shims/CallerArgumentExpressionAttribute.cs similarity index 100% rename from src/Fallout.Utilities/Shims/CallerArgumentExpressionAttribute.cs rename to src/Fallout.Kernel/Shims/CallerArgumentExpressionAttribute.cs diff --git a/src/Fallout.Utilities/Shims/ExcludeAssemblyFromCodeCoverageAttribute.cs b/src/Fallout.Kernel/Shims/ExcludeAssemblyFromCodeCoverageAttribute.cs similarity index 100% rename from src/Fallout.Utilities/Shims/ExcludeAssemblyFromCodeCoverageAttribute.cs rename to src/Fallout.Kernel/Shims/ExcludeAssemblyFromCodeCoverageAttribute.cs diff --git a/src/Fallout.Utilities/Shims/IsExternalInit.cs b/src/Fallout.Kernel/Shims/IsExternalInit.cs similarity index 100% rename from src/Fallout.Utilities/Shims/IsExternalInit.cs rename to src/Fallout.Kernel/Shims/IsExternalInit.cs diff --git a/src/Fallout.Utilities/Task.WaitAll.cs b/src/Fallout.Kernel/Task.WaitAll.cs similarity index 100% rename from src/Fallout.Utilities/Task.WaitAll.cs rename to src/Fallout.Kernel/Task.WaitAll.cs diff --git a/src/Fallout.Utilities/Text/String.Capitalize.cs b/src/Fallout.Kernel/Text/String.Capitalize.cs similarity index 100% rename from src/Fallout.Utilities/Text/String.Capitalize.cs rename to src/Fallout.Kernel/Text/String.Capitalize.cs diff --git a/src/Fallout.Utilities/Text/String.Emptiness.cs b/src/Fallout.Kernel/Text/String.Emptiness.cs similarity index 100% rename from src/Fallout.Utilities/Text/String.Emptiness.cs rename to src/Fallout.Kernel/Text/String.Emptiness.cs diff --git a/src/Fallout.Utilities/Text/String.Escape.cs b/src/Fallout.Kernel/Text/String.Escape.cs similarity index 100% rename from src/Fallout.Utilities/Text/String.Escape.cs rename to src/Fallout.Kernel/Text/String.Escape.cs diff --git a/src/Fallout.Utilities/Text/String.GetHash.cs b/src/Fallout.Kernel/Text/String.GetHash.cs similarity index 100% rename from src/Fallout.Utilities/Text/String.GetHash.cs rename to src/Fallout.Kernel/Text/String.GetHash.cs diff --git a/src/Fallout.Utilities/Text/String.Indent.cs b/src/Fallout.Kernel/Text/String.Indent.cs similarity index 100% rename from src/Fallout.Utilities/Text/String.Indent.cs rename to src/Fallout.Kernel/Text/String.Indent.cs diff --git a/src/Fallout.Utilities/Text/String.IndexOf.cs b/src/Fallout.Kernel/Text/String.IndexOf.cs similarity index 100% rename from src/Fallout.Utilities/Text/String.IndexOf.cs rename to src/Fallout.Kernel/Text/String.IndexOf.cs diff --git a/src/Fallout.Utilities/Text/String.Join.cs b/src/Fallout.Kernel/Text/String.Join.cs similarity index 100% rename from src/Fallout.Utilities/Text/String.Join.cs rename to src/Fallout.Kernel/Text/String.Join.cs diff --git a/src/Fallout.Utilities/Text/String.KnownWords.cs b/src/Fallout.Kernel/Text/String.KnownWords.cs similarity index 100% rename from src/Fallout.Utilities/Text/String.KnownWords.cs rename to src/Fallout.Kernel/Text/String.KnownWords.cs diff --git a/src/Fallout.Utilities/Text/String.PrependAppend.cs b/src/Fallout.Kernel/Text/String.PrependAppend.cs similarity index 100% rename from src/Fallout.Utilities/Text/String.PrependAppend.cs rename to src/Fallout.Kernel/Text/String.PrependAppend.cs diff --git a/src/Fallout.Utilities/Text/String.Quoting.cs b/src/Fallout.Kernel/Text/String.Quoting.cs similarity index 100% rename from src/Fallout.Utilities/Text/String.Quoting.cs rename to src/Fallout.Kernel/Text/String.Quoting.cs diff --git a/src/Fallout.Utilities/Text/String.Repeat.cs b/src/Fallout.Kernel/Text/String.Repeat.cs similarity index 100% rename from src/Fallout.Utilities/Text/String.Repeat.cs rename to src/Fallout.Kernel/Text/String.Repeat.cs diff --git a/src/Fallout.Utilities/Text/String.Replace.cs b/src/Fallout.Kernel/Text/String.Replace.cs similarity index 100% rename from src/Fallout.Utilities/Text/String.Replace.cs rename to src/Fallout.Kernel/Text/String.Replace.cs diff --git a/src/Fallout.Utilities/Text/String.Split.cs b/src/Fallout.Kernel/Text/String.Split.cs similarity index 100% rename from src/Fallout.Utilities/Text/String.Split.cs rename to src/Fallout.Kernel/Text/String.Split.cs diff --git a/src/Fallout.Utilities/Text/String.StartsEndsContains.cs b/src/Fallout.Kernel/Text/String.StartsEndsContains.cs similarity index 100% rename from src/Fallout.Utilities/Text/String.StartsEndsContains.cs rename to src/Fallout.Kernel/Text/String.StartsEndsContains.cs diff --git a/src/Fallout.Utilities/Text/String.Trim.cs b/src/Fallout.Kernel/Text/String.Trim.cs similarity index 100% rename from src/Fallout.Utilities/Text/String.Trim.cs rename to src/Fallout.Kernel/Text/String.Trim.cs diff --git a/src/Fallout.Utilities/Text/String.Truncate.cs b/src/Fallout.Kernel/Text/String.Truncate.cs similarity index 100% rename from src/Fallout.Utilities/Text/String.Truncate.cs rename to src/Fallout.Kernel/Text/String.Truncate.cs diff --git a/src/Fallout.Utilities/Text/Xml/XElement.GetAttributeValue.cs b/src/Fallout.Kernel/Text/Xml/XElement.GetAttributeValue.cs similarity index 100% rename from src/Fallout.Utilities/Text/Xml/XElement.GetAttributeValue.cs rename to src/Fallout.Kernel/Text/Xml/XElement.GetAttributeValue.cs diff --git a/src/Fallout.Utilities/Text/Xml/XNode.XPathEvaluateValue.cs b/src/Fallout.Kernel/Text/Xml/XNode.XPathEvaluateValue.cs similarity index 100% rename from src/Fallout.Utilities/Text/Xml/XNode.XPathEvaluateValue.cs rename to src/Fallout.Kernel/Text/Xml/XNode.XPathEvaluateValue.cs diff --git a/src/Fallout.Utilities/Text/Xml/XmlExtensions.cs b/src/Fallout.Kernel/Text/Xml/XmlExtensions.cs similarity index 100% rename from src/Fallout.Utilities/Text/Xml/XmlExtensions.cs rename to src/Fallout.Kernel/Text/Xml/XmlExtensions.cs diff --git a/src/Fallout.Utilities/Url.WithUtmValues.cs b/src/Fallout.Kernel/Url.WithUtmValues.cs similarity index 100% rename from src/Fallout.Utilities/Url.WithUtmValues.cs rename to src/Fallout.Kernel/Url.WithUtmValues.cs diff --git a/src/Fallout.SourceGenerators/Fallout.SourceGenerators.csproj b/src/Fallout.SourceGenerators/Fallout.SourceGenerators.csproj index 4bb79c6b1..ae3f53cb7 100644 --- a/src/Fallout.SourceGenerators/Fallout.SourceGenerators.csproj +++ b/src/Fallout.SourceGenerators/Fallout.SourceGenerators.csproj @@ -14,8 +14,8 @@ - - + + @@ -41,8 +41,8 @@ - - + + diff --git a/src/Fallout.Tooling.Generator/Fallout.Tooling.Generator.csproj b/src/Fallout.Tooling.Generator/Fallout.Tooling.Generator.csproj index 8f9534c6c..3544d0d58 100644 --- a/src/Fallout.Tooling.Generator/Fallout.Tooling.Generator.csproj +++ b/src/Fallout.Tooling.Generator/Fallout.Tooling.Generator.csproj @@ -15,8 +15,8 @@ - - + + diff --git a/src/Fallout.Tooling/Fallout.Tooling.csproj b/src/Fallout.Tooling/Fallout.Tooling.csproj index 2200aa636..4d3529357 100644 --- a/src/Fallout.Tooling/Fallout.Tooling.csproj +++ b/src/Fallout.Tooling/Fallout.Tooling.csproj @@ -5,8 +5,8 @@ - - + + diff --git a/src/Persistence/Fallout.Solution/Fallout.Solution.csproj b/src/Persistence/Fallout.Solution/Fallout.Solution.csproj index b41b02c0c..5ca823ef9 100644 --- a/src/Persistence/Fallout.Solution/Fallout.Solution.csproj +++ b/src/Persistence/Fallout.Solution/Fallout.Solution.csproj @@ -16,7 +16,7 @@ - + diff --git a/src/Shims/Nuke.Build/Nuke.Build.csproj b/src/Shims/Nuke.Build/Nuke.Build.csproj index 2db4b8b3b..6775a0295 100644 --- a/src/Shims/Nuke.Build/Nuke.Build.csproj +++ b/src/Shims/Nuke.Build/Nuke.Build.csproj @@ -21,7 +21,7 @@ - + diff --git a/src/Shims/Nuke.Common/Nuke.Common.csproj b/src/Shims/Nuke.Common/Nuke.Common.csproj index e7bc3bf19..58d077a30 100644 --- a/src/Shims/Nuke.Common/Nuke.Common.csproj +++ b/src/Shims/Nuke.Common/Nuke.Common.csproj @@ -28,7 +28,7 @@ - + diff --git a/src/Shims/Nuke.Components/Nuke.Components.csproj b/src/Shims/Nuke.Components/Nuke.Components.csproj index 0bb08b6c8..a19802a69 100644 --- a/src/Shims/Nuke.Components/Nuke.Components.csproj +++ b/src/Shims/Nuke.Components/Nuke.Components.csproj @@ -19,7 +19,7 @@ - + diff --git a/tests/Consumers/Fallout.Consumer.Local/Fallout.Consumer.Local.csproj b/tests/Consumers/Fallout.Consumer.Local/Fallout.Consumer.Local.csproj index 36fd6cf99..d4eb14ff8 100644 --- a/tests/Consumers/Fallout.Consumer.Local/Fallout.Consumer.Local.csproj +++ b/tests/Consumers/Fallout.Consumer.Local/Fallout.Consumer.Local.csproj @@ -19,9 +19,9 @@ --> - + - + diff --git a/tests/Fallout.Architecture.Tests/Fallout.Architecture.Tests.csproj b/tests/Fallout.Architecture.Tests/Fallout.Architecture.Tests.csproj index d44603904..a2df2a8dd 100644 --- a/tests/Fallout.Architecture.Tests/Fallout.Architecture.Tests.csproj +++ b/tests/Fallout.Architecture.Tests/Fallout.Architecture.Tests.csproj @@ -10,7 +10,7 @@ - + diff --git a/tests/Fallout.Build.Tests/Fallout.Build.Tests.csproj b/tests/Fallout.Build.Tests/Fallout.Build.Tests.csproj index 3c5ebf829..6ac69597e 100644 --- a/tests/Fallout.Build.Tests/Fallout.Build.Tests.csproj +++ b/tests/Fallout.Build.Tests/Fallout.Build.Tests.csproj @@ -5,7 +5,7 @@ - + diff --git a/tests/Fallout.Components.Tests/Fallout.Components.Tests.csproj b/tests/Fallout.Components.Tests/Fallout.Components.Tests.csproj index 35c626099..d8560cf02 100644 --- a/tests/Fallout.Components.Tests/Fallout.Components.Tests.csproj +++ b/tests/Fallout.Components.Tests/Fallout.Components.Tests.csproj @@ -5,7 +5,7 @@ - + diff --git a/tests/Fallout.ProjectModel.Tests/Fallout.ProjectModel.Tests.csproj b/tests/Fallout.ProjectModel.Tests/Fallout.ProjectModel.Tests.csproj index a661671cd..d1e8fd8b9 100644 --- a/tests/Fallout.ProjectModel.Tests/Fallout.ProjectModel.Tests.csproj +++ b/tests/Fallout.ProjectModel.Tests/Fallout.ProjectModel.Tests.csproj @@ -6,7 +6,7 @@ - + diff --git a/tests/Fallout.ProjectModel.Tests/ProjectModelTest.cs b/tests/Fallout.ProjectModel.Tests/ProjectModelTest.cs index 15dd6bd57..9f56bcf7b 100644 --- a/tests/Fallout.ProjectModel.Tests/ProjectModelTest.cs +++ b/tests/Fallout.ProjectModel.Tests/ProjectModelTest.cs @@ -19,7 +19,7 @@ public class ProjectModelTest public void ProjectTest() { var solution = SolutionFile.ReadSolution(); - var project = solution.Projects.Single(x => x.Name == "Fallout.ProjectModel"); + var project = solution.Projects.Single(x => x.Name == "Fallout.Infrastructure.ProjectModel"); var action = new Action(() => project.GetMSBuildProject()); action.Should().NotThrow(); @@ -34,7 +34,7 @@ public void ProjectTest() public void MSBuildProjectTest() { var solution = SolutionFile.ReadSolution(); - var project = solution.Projects.Single(x => x.Name == "Fallout.ProjectModel"); + var project = solution.Projects.Single(x => x.Name == "Fallout.Infrastructure.ProjectModel"); var msbuildProject = project.GetMSBuildProject(targetFramework: "net8.0"); diff --git a/tests/Fallout.SourceGenerators.Tests/StronglyTypedSolutionGeneratorTest.Test#Solution.g.verified.cs b/tests/Fallout.SourceGenerators.Tests/StronglyTypedSolutionGeneratorTest.Test#Solution.g.verified.cs index d448597a7..e2dee566c 100644 --- a/tests/Fallout.SourceGenerators.Tests/StronglyTypedSolutionGeneratorTest.Test#Solution.g.verified.cs +++ b/tests/Fallout.SourceGenerators.Tests/StronglyTypedSolutionGeneratorTest.Test#Solution.g.verified.cs @@ -8,20 +8,27 @@ internal class Solution(AbsolutePath path, object handle) : Fallout.Application.Solutions.Solution(path, handle) { public Fallout.Application.Solutions.Project _build => this.GetProject("_build"); + public Fallout.Application.Solutions.Project Fallout_Application => this.GetProject("Fallout.Application"); + public Fallout.Application.Solutions.Project Fallout_Application_Components => this.GetProject("Fallout.Application.Components"); public Fallout.Application.Solutions.Project Fallout_Architecture_Tests => this.GetProject("Fallout.Architecture.Tests"); - public Fallout.Application.Solutions.Project Fallout_Build => this.GetProject("Fallout.Build"); public Fallout.Application.Solutions.Project Fallout_Build_Shared => this.GetProject("Fallout.Build.Shared"); public Fallout.Application.Solutions.Project Fallout_Build_Tests => this.GetProject("Fallout.Build.Tests"); public Fallout.Application.Solutions.Project Fallout_Cli => this.GetProject("Fallout.Cli"); public Fallout.Application.Solutions.Project Fallout_Cli_Tests => this.GetProject("Fallout.Cli.Tests"); public Fallout.Application.Solutions.Project Fallout_Common => this.GetProject("Fallout.Common"); public Fallout.Application.Solutions.Project Fallout_Common_Tests => this.GetProject("Fallout.Common.Tests"); - public Fallout.Application.Solutions.Project Fallout_Components => this.GetProject("Fallout.Components"); public Fallout.Application.Solutions.Project Fallout_Components_Tests => this.GetProject("Fallout.Components.Tests"); public Fallout.Application.Solutions.Project Fallout_Consumer_Local => this.GetProject("Fallout.Consumer.Local"); public Fallout.Application.Solutions.Project Fallout_Consumer_NuGet => this.GetProject("Fallout.Consumer.NuGet"); public Fallout.Application.Solutions.Project Fallout_Domain => this.GetProject("Fallout.Domain"); public Fallout.Application.Solutions.Project Fallout_Domain_Tests => this.GetProject("Fallout.Domain.Tests"); + public Fallout.Application.Solutions.Project Fallout_Infrastructure_ProjectModel => this.GetProject("Fallout.Infrastructure.ProjectModel"); + public Fallout.Application.Solutions.Project Fallout_Kernel => this.GetProject("Fallout.Kernel"); + public Fallout.Application.Solutions.Project Fallout_Kernel_IO_Compression => this.GetProject("Fallout.Kernel.IO.Compression"); + public Fallout.Application.Solutions.Project Fallout_Kernel_IO_Globbing => this.GetProject("Fallout.Kernel.IO.Globbing"); + public Fallout.Application.Solutions.Project Fallout_Kernel_Net => this.GetProject("Fallout.Kernel.Net"); + public Fallout.Application.Solutions.Project Fallout_Kernel_Text_Json => this.GetProject("Fallout.Kernel.Text.Json"); + public Fallout.Application.Solutions.Project Fallout_Kernel_Text_Yaml => this.GetProject("Fallout.Kernel.Text.Yaml"); public Fallout.Application.Solutions.Project Fallout_Migrate => this.GetProject("Fallout.Migrate"); public Fallout.Application.Solutions.Project Fallout_Migrate_Analyzers => this.GetProject("Fallout.Migrate.Analyzers"); public Fallout.Application.Solutions.Project Fallout_Migrate_Analyzers_Tests => this.GetProject("Fallout.Migrate.Analyzers.Tests"); @@ -29,7 +36,6 @@ internal class Solution(AbsolutePath path, object handle) : Fallout.Application. public Fallout.Application.Solutions.Project Fallout_MSBuildTasks => this.GetProject("Fallout.MSBuildTasks"); public Fallout.Application.Solutions.Project Fallout_Persistence_Solution => this.GetProject("Fallout.Persistence.Solution"); public Fallout.Application.Solutions.Project Fallout_Persistence_Solution_Benchmarks => this.GetProject("Fallout.Persistence.Solution.Benchmarks"); - public Fallout.Application.Solutions.Project Fallout_ProjectModel => this.GetProject("Fallout.ProjectModel"); public Fallout.Application.Solutions.Project Fallout_ProjectModel_Tests => this.GetProject("Fallout.ProjectModel.Tests"); public Fallout.Application.Solutions.Project Fallout_Solution => this.GetProject("Fallout.Solution"); public Fallout.Application.Solutions.Project Fallout_Solution_Tests => this.GetProject("Fallout.Solution.Tests"); @@ -38,13 +44,7 @@ internal class Solution(AbsolutePath path, object handle) : Fallout.Application. public Fallout.Application.Solutions.Project Fallout_Tooling => this.GetProject("Fallout.Tooling"); public Fallout.Application.Solutions.Project Fallout_Tooling_Generator => this.GetProject("Fallout.Tooling.Generator"); public Fallout.Application.Solutions.Project Fallout_Tooling_Tests => this.GetProject("Fallout.Tooling.Tests"); - public Fallout.Application.Solutions.Project Fallout_Utilities => this.GetProject("Fallout.Utilities"); - public Fallout.Application.Solutions.Project Fallout_Utilities_IO_Compression => this.GetProject("Fallout.Utilities.IO.Compression"); - public Fallout.Application.Solutions.Project Fallout_Utilities_IO_Globbing => this.GetProject("Fallout.Utilities.IO.Globbing"); - public Fallout.Application.Solutions.Project Fallout_Utilities_Net => this.GetProject("Fallout.Utilities.Net"); public Fallout.Application.Solutions.Project Fallout_Utilities_Tests => this.GetProject("Fallout.Utilities.Tests"); - public Fallout.Application.Solutions.Project Fallout_Utilities_Text_Json => this.GetProject("Fallout.Utilities.Text.Json"); - public Fallout.Application.Solutions.Project Fallout_Utilities_Text_Yaml => this.GetProject("Fallout.Utilities.Text.Yaml"); public Fallout.Application.Solutions.Project Nuke_Build => this.GetProject("Nuke.Build"); public Fallout.Application.Solutions.Project Nuke_Common => this.GetProject("Nuke.Common"); public Fallout.Application.Solutions.Project Nuke_Components => this.GetProject("Nuke.Components"); diff --git a/tests/Fallout.Utilities.Tests/Fallout.Utilities.Tests.csproj b/tests/Fallout.Utilities.Tests/Fallout.Utilities.Tests.csproj index d5d81feb4..15419a547 100644 --- a/tests/Fallout.Utilities.Tests/Fallout.Utilities.Tests.csproj +++ b/tests/Fallout.Utilities.Tests/Fallout.Utilities.Tests.csproj @@ -6,10 +6,10 @@ - - - - + + + + From 0b093b03759699b4bedac3f1bc34d6395acf1fe5 Mon Sep 17 00:00:00 2001 From: Chrison Simtian Date: Mon, 1 Jun 2026 15:02:21 +1200 Subject: [PATCH 31/46] =?UTF-8?q?refactor(arch)!:=20onion=20phase=202=20?= =?UTF-8?q?=E2=80=94=20split=20Fallout.Tooling=20into=20ring-pure=20assemb?= =?UTF-8?q?lies?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Split the mixed Fallout.Tooling project into: Fallout.Application.Tooling — tool vocabulary + ports (ToolingServices, ToolTasks, ToolOptions, ToolResolver, IProcess*) netstandard2.0;net10.0 (consumed by the Fallout.Tooling.Generator Roslyn generator) Fallout.Infrastructure.Tooling — executors + resolvers (ProcessTasks, ToolExecutor, *Resolver, the module-init registration) — net10.0 Rewired all consumers (App ring → Application.Tooling; CI/MSBuildTasks/Cli → Infrastructure.Tooling), the slnx, the AssemblyInfo IVT grants, removed 6 stale `using Fallout.Infrastructure.Tooling;` directives from Application-ring files (no real Infra dependency — confirmed by the gate), and dropped net472 from MSBuildTasks (it now references the net10.0-only Infra.Tooling). CRITICAL FIX (BuildManager.Initialize): the assembly force-loader used Assembly.Load, which loads metadata but does NOT run a [ModuleInitializer] (that fires lazily on first type use). Pre-split this was masked — build code uses ToolingServices, co-hosted with its registration. Post-split the registration moved to Fallout.Infrastructure.Tooling, whose types nothing references directly, so it never ran → ToolingServices.* stayed null → swallowed NRE at build-finish (CI-config drift check). Now the force-loader calls RuntimeHelpers.RunModuleConstructor on each Fallout.* assembly, making split-adapter registration deterministic (also covers the Solution/ProjectModel splits to come). Caught via dogfood ./build.sh + a stash A/B against phase 1. Full suite + gate + dogfood (zero NREs) green. Co-Authored-By: Claude Opus 4.8 (1M context) --- AssemblyInfo.cs | 3 ++- fallout.slnx | 3 ++- .../ArgumentStringHandler.cs | 0 .../Configure.cs | 0 .../DelegateHelper.cs | 0 .../Enumeration.cs | 0 .../EnumerationJsonConverter.cs | 0 .../Fallout.Application.Tooling.csproj} | 4 +++- .../IProcess.cs | 0 .../IProcessRunner.cs | 4 ++-- .../ObjectFromFieldConverter.cs | 0 .../Options.Apply.cs | 0 .../Options.Combinatorial.cs | 0 .../Options.Modify.cs | 0 .../Options.When.cs | 0 .../Options.cs | 0 .../Output.cs | 0 .../OutputType.cs | 0 .../ProcessException.cs | 0 .../ProcessExtensions.cs | 0 .../Tool.cs | 0 .../ToolOptions.Arguments.cs | 0 .../ToolOptions.ExitHandler.cs | 0 .../ToolOptions.Logger.cs | 0 .../ToolOptions.Properties.Dropin.cs | 0 .../ToolOptions.Properties.cs | 0 .../ToolOptions.Secrets.cs | 0 .../ToolOptions.cs | 0 .../ToolRequirement.cs | 0 .../ToolResolver.cs | 0 .../ToolTasks.ExitHandler.cs | 1 - .../ToolTasks.Logger.cs | 0 .../ToolTasks.Run.cs | 0 .../ToolTasks.ToolPath.cs | 0 .../ToolTasks.cs | 0 .../ToolingServices.cs | 0 .../Execution/BuildManager.cs | 12 +++++++++++- .../Fallout.Application.csproj | 6 +++++- .../Telemetry/Telemetry.Properties.cs | 1 - src/Fallout.Cli/Fallout.Cli.csproj | 5 +++++ src/Fallout.Common/Fallout.Common.csproj | 7 ++++++- .../Tools/GitVersion/GitVersionTasks.cs | 1 - .../NerdbankGitVersioningTasks.cs | 1 - .../Tools/Netlify/NetlifyTasks.cs | 1 - .../Tools/VSWhere/VSWhereTasks.cs | 1 - .../Fallout.Infrastructure.ProjectModel.csproj | 6 +++++- .../Fallout.Infrastructure.Tooling.csproj | 18 ++++++++++++++++++ .../ModuleInitializerPolyfill.cs | 0 .../NpmToolPathResolver.cs | 0 .../NpmVersionResolver.cs | 0 .../NuGetPackageResolver.cs | 0 .../NuGetToolPathResolver.cs | 0 .../NuGetVersionResolver.cs | 0 .../PaketPackageResolver.cs | 0 .../Process2.cs | 0 .../ProcessTasks.cs | 0 .../SystemProcessRunner.cs | 0 .../ToolExecutor.cs | 0 .../ToolPathResolver.cs | 0 .../ToolingExtensions.cs | 0 .../ToolingServicesRegistration.cs | 0 .../Fallout.MSBuildTasks.csproj | 8 ++++++-- .../Fallout.Tooling.Generator.csproj | 6 +++++- .../Fallout.Architecture.Tests.csproj | 6 +++++- ...onGeneratorTest.Test#Solution.g.verified.cs | 3 ++- .../Fallout.Tooling.Tests.csproj | 7 ++++++- 66 files changed, 83 insertions(+), 21 deletions(-) rename src/{Fallout.Tooling => Fallout.Application.Tooling}/ArgumentStringHandler.cs (100%) rename src/{Fallout.Tooling => Fallout.Application.Tooling}/Configure.cs (100%) rename src/{Fallout.Tooling => Fallout.Application.Tooling}/DelegateHelper.cs (100%) rename src/{Fallout.Tooling => Fallout.Application.Tooling}/Enumeration.cs (100%) rename src/{Fallout.Tooling => Fallout.Application.Tooling}/EnumerationJsonConverter.cs (100%) rename src/{Fallout.Tooling/Fallout.Tooling.csproj => Fallout.Application.Tooling/Fallout.Application.Tooling.csproj} (61%) rename src/{Fallout.Tooling => Fallout.Application.Tooling}/IProcess.cs (100%) rename src/{Fallout.Tooling => Fallout.Application.Tooling}/IProcessRunner.cs (79%) rename src/{Fallout.Tooling => Fallout.Application.Tooling}/ObjectFromFieldConverter.cs (100%) rename src/{Fallout.Tooling => Fallout.Application.Tooling}/Options.Apply.cs (100%) rename src/{Fallout.Tooling => Fallout.Application.Tooling}/Options.Combinatorial.cs (100%) rename src/{Fallout.Tooling => Fallout.Application.Tooling}/Options.Modify.cs (100%) rename src/{Fallout.Tooling => Fallout.Application.Tooling}/Options.When.cs (100%) rename src/{Fallout.Tooling => Fallout.Application.Tooling}/Options.cs (100%) rename src/{Fallout.Tooling => Fallout.Application.Tooling}/Output.cs (100%) rename src/{Fallout.Tooling => Fallout.Application.Tooling}/OutputType.cs (100%) rename src/{Fallout.Tooling => Fallout.Application.Tooling}/ProcessException.cs (100%) rename src/{Fallout.Tooling => Fallout.Application.Tooling}/ProcessExtensions.cs (100%) rename src/{Fallout.Tooling => Fallout.Application.Tooling}/Tool.cs (100%) rename src/{Fallout.Tooling => Fallout.Application.Tooling}/ToolOptions.Arguments.cs (100%) rename src/{Fallout.Tooling => Fallout.Application.Tooling}/ToolOptions.ExitHandler.cs (100%) rename src/{Fallout.Tooling => Fallout.Application.Tooling}/ToolOptions.Logger.cs (100%) rename src/{Fallout.Tooling => Fallout.Application.Tooling}/ToolOptions.Properties.Dropin.cs (100%) rename src/{Fallout.Tooling => Fallout.Application.Tooling}/ToolOptions.Properties.cs (100%) rename src/{Fallout.Tooling => Fallout.Application.Tooling}/ToolOptions.Secrets.cs (100%) rename src/{Fallout.Tooling => Fallout.Application.Tooling}/ToolOptions.cs (100%) rename src/{Fallout.Tooling => Fallout.Application.Tooling}/ToolRequirement.cs (100%) rename src/{Fallout.Tooling => Fallout.Application.Tooling}/ToolResolver.cs (100%) rename src/{Fallout.Tooling => Fallout.Application.Tooling}/ToolTasks.ExitHandler.cs (95%) rename src/{Fallout.Tooling => Fallout.Application.Tooling}/ToolTasks.Logger.cs (100%) rename src/{Fallout.Tooling => Fallout.Application.Tooling}/ToolTasks.Run.cs (100%) rename src/{Fallout.Tooling => Fallout.Application.Tooling}/ToolTasks.ToolPath.cs (100%) rename src/{Fallout.Tooling => Fallout.Application.Tooling}/ToolTasks.cs (100%) rename src/{Fallout.Tooling => Fallout.Application.Tooling}/ToolingServices.cs (100%) create mode 100644 src/Fallout.Infrastructure.Tooling/Fallout.Infrastructure.Tooling.csproj rename src/{Fallout.Tooling => Fallout.Infrastructure.Tooling}/ModuleInitializerPolyfill.cs (100%) rename src/{Fallout.Tooling => Fallout.Infrastructure.Tooling}/NpmToolPathResolver.cs (100%) rename src/{Fallout.Tooling => Fallout.Infrastructure.Tooling}/NpmVersionResolver.cs (100%) rename src/{Fallout.Tooling => Fallout.Infrastructure.Tooling}/NuGetPackageResolver.cs (100%) rename src/{Fallout.Tooling => Fallout.Infrastructure.Tooling}/NuGetToolPathResolver.cs (100%) rename src/{Fallout.Tooling => Fallout.Infrastructure.Tooling}/NuGetVersionResolver.cs (100%) rename src/{Fallout.Tooling => Fallout.Infrastructure.Tooling}/PaketPackageResolver.cs (100%) rename src/{Fallout.Tooling => Fallout.Infrastructure.Tooling}/Process2.cs (100%) rename src/{Fallout.Tooling => Fallout.Infrastructure.Tooling}/ProcessTasks.cs (100%) rename src/{Fallout.Tooling => Fallout.Infrastructure.Tooling}/SystemProcessRunner.cs (100%) rename src/{Fallout.Tooling => Fallout.Infrastructure.Tooling}/ToolExecutor.cs (100%) rename src/{Fallout.Tooling => Fallout.Infrastructure.Tooling}/ToolPathResolver.cs (100%) rename src/{Fallout.Tooling => Fallout.Infrastructure.Tooling}/ToolingExtensions.cs (100%) rename src/{Fallout.Tooling => Fallout.Infrastructure.Tooling}/ToolingServicesRegistration.cs (100%) diff --git a/AssemblyInfo.cs b/AssemblyInfo.cs index 560359d67..478191a78 100644 --- a/AssemblyInfo.cs +++ b/AssemblyInfo.cs @@ -13,7 +13,8 @@ [assembly: InternalsVisibleTo("Fallout.Solution.Tests")] [assembly: InternalsVisibleTo("Fallout.Persistence.Solution")] [assembly: InternalsVisibleTo("Fallout.Persistence.Solution.Tests")] -[assembly: InternalsVisibleTo("Fallout.Tooling")] +[assembly: InternalsVisibleTo("Fallout.Application.Tooling")] +[assembly: InternalsVisibleTo("Fallout.Infrastructure.Tooling")] [assembly: InternalsVisibleTo("Fallout.Tooling.Tests")] [assembly: InternalsVisibleTo("Fallout.Kernel.IO.Globbing")] [assembly: InternalsVisibleTo("Fallout.Utilities.Tests")] diff --git a/fallout.slnx b/fallout.slnx index d1d99dba5..58d1f3e32 100644 --- a/fallout.slnx +++ b/fallout.slnx @@ -27,7 +27,8 @@ - + + diff --git a/src/Fallout.Tooling/ArgumentStringHandler.cs b/src/Fallout.Application.Tooling/ArgumentStringHandler.cs similarity index 100% rename from src/Fallout.Tooling/ArgumentStringHandler.cs rename to src/Fallout.Application.Tooling/ArgumentStringHandler.cs diff --git a/src/Fallout.Tooling/Configure.cs b/src/Fallout.Application.Tooling/Configure.cs similarity index 100% rename from src/Fallout.Tooling/Configure.cs rename to src/Fallout.Application.Tooling/Configure.cs diff --git a/src/Fallout.Tooling/DelegateHelper.cs b/src/Fallout.Application.Tooling/DelegateHelper.cs similarity index 100% rename from src/Fallout.Tooling/DelegateHelper.cs rename to src/Fallout.Application.Tooling/DelegateHelper.cs diff --git a/src/Fallout.Tooling/Enumeration.cs b/src/Fallout.Application.Tooling/Enumeration.cs similarity index 100% rename from src/Fallout.Tooling/Enumeration.cs rename to src/Fallout.Application.Tooling/Enumeration.cs diff --git a/src/Fallout.Tooling/EnumerationJsonConverter.cs b/src/Fallout.Application.Tooling/EnumerationJsonConverter.cs similarity index 100% rename from src/Fallout.Tooling/EnumerationJsonConverter.cs rename to src/Fallout.Application.Tooling/EnumerationJsonConverter.cs diff --git a/src/Fallout.Tooling/Fallout.Tooling.csproj b/src/Fallout.Application.Tooling/Fallout.Application.Tooling.csproj similarity index 61% rename from src/Fallout.Tooling/Fallout.Tooling.csproj rename to src/Fallout.Application.Tooling/Fallout.Application.Tooling.csproj index 4d3529357..1d172f446 100644 --- a/src/Fallout.Tooling/Fallout.Tooling.csproj +++ b/src/Fallout.Application.Tooling/Fallout.Application.Tooling.csproj @@ -1,7 +1,9 @@ - net10.0;netstandard2.0 + + netstandard2.0;net10.0 diff --git a/src/Fallout.Tooling/IProcess.cs b/src/Fallout.Application.Tooling/IProcess.cs similarity index 100% rename from src/Fallout.Tooling/IProcess.cs rename to src/Fallout.Application.Tooling/IProcess.cs diff --git a/src/Fallout.Tooling/IProcessRunner.cs b/src/Fallout.Application.Tooling/IProcessRunner.cs similarity index 79% rename from src/Fallout.Tooling/IProcessRunner.cs rename to src/Fallout.Application.Tooling/IProcessRunner.cs index 78f8c2ffc..458871d3b 100644 --- a/src/Fallout.Tooling/IProcessRunner.cs +++ b/src/Fallout.Application.Tooling/IProcessRunner.cs @@ -1,6 +1,5 @@ using System; using System.Diagnostics; -using Fallout.Infrastructure.Tooling; namespace Fallout.Application.Tooling; @@ -8,7 +7,8 @@ namespace Fallout.Application.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 . +/// runner via ProcessTasks.Runner. The default adapter is SystemProcessRunner (both in the +/// outer Fallout.Infrastructure.Tooling ring). /// public interface IProcessRunner { diff --git a/src/Fallout.Tooling/ObjectFromFieldConverter.cs b/src/Fallout.Application.Tooling/ObjectFromFieldConverter.cs similarity index 100% rename from src/Fallout.Tooling/ObjectFromFieldConverter.cs rename to src/Fallout.Application.Tooling/ObjectFromFieldConverter.cs diff --git a/src/Fallout.Tooling/Options.Apply.cs b/src/Fallout.Application.Tooling/Options.Apply.cs similarity index 100% rename from src/Fallout.Tooling/Options.Apply.cs rename to src/Fallout.Application.Tooling/Options.Apply.cs diff --git a/src/Fallout.Tooling/Options.Combinatorial.cs b/src/Fallout.Application.Tooling/Options.Combinatorial.cs similarity index 100% rename from src/Fallout.Tooling/Options.Combinatorial.cs rename to src/Fallout.Application.Tooling/Options.Combinatorial.cs diff --git a/src/Fallout.Tooling/Options.Modify.cs b/src/Fallout.Application.Tooling/Options.Modify.cs similarity index 100% rename from src/Fallout.Tooling/Options.Modify.cs rename to src/Fallout.Application.Tooling/Options.Modify.cs diff --git a/src/Fallout.Tooling/Options.When.cs b/src/Fallout.Application.Tooling/Options.When.cs similarity index 100% rename from src/Fallout.Tooling/Options.When.cs rename to src/Fallout.Application.Tooling/Options.When.cs diff --git a/src/Fallout.Tooling/Options.cs b/src/Fallout.Application.Tooling/Options.cs similarity index 100% rename from src/Fallout.Tooling/Options.cs rename to src/Fallout.Application.Tooling/Options.cs diff --git a/src/Fallout.Tooling/Output.cs b/src/Fallout.Application.Tooling/Output.cs similarity index 100% rename from src/Fallout.Tooling/Output.cs rename to src/Fallout.Application.Tooling/Output.cs diff --git a/src/Fallout.Tooling/OutputType.cs b/src/Fallout.Application.Tooling/OutputType.cs similarity index 100% rename from src/Fallout.Tooling/OutputType.cs rename to src/Fallout.Application.Tooling/OutputType.cs diff --git a/src/Fallout.Tooling/ProcessException.cs b/src/Fallout.Application.Tooling/ProcessException.cs similarity index 100% rename from src/Fallout.Tooling/ProcessException.cs rename to src/Fallout.Application.Tooling/ProcessException.cs diff --git a/src/Fallout.Tooling/ProcessExtensions.cs b/src/Fallout.Application.Tooling/ProcessExtensions.cs similarity index 100% rename from src/Fallout.Tooling/ProcessExtensions.cs rename to src/Fallout.Application.Tooling/ProcessExtensions.cs diff --git a/src/Fallout.Tooling/Tool.cs b/src/Fallout.Application.Tooling/Tool.cs similarity index 100% rename from src/Fallout.Tooling/Tool.cs rename to src/Fallout.Application.Tooling/Tool.cs diff --git a/src/Fallout.Tooling/ToolOptions.Arguments.cs b/src/Fallout.Application.Tooling/ToolOptions.Arguments.cs similarity index 100% rename from src/Fallout.Tooling/ToolOptions.Arguments.cs rename to src/Fallout.Application.Tooling/ToolOptions.Arguments.cs diff --git a/src/Fallout.Tooling/ToolOptions.ExitHandler.cs b/src/Fallout.Application.Tooling/ToolOptions.ExitHandler.cs similarity index 100% rename from src/Fallout.Tooling/ToolOptions.ExitHandler.cs rename to src/Fallout.Application.Tooling/ToolOptions.ExitHandler.cs diff --git a/src/Fallout.Tooling/ToolOptions.Logger.cs b/src/Fallout.Application.Tooling/ToolOptions.Logger.cs similarity index 100% rename from src/Fallout.Tooling/ToolOptions.Logger.cs rename to src/Fallout.Application.Tooling/ToolOptions.Logger.cs diff --git a/src/Fallout.Tooling/ToolOptions.Properties.Dropin.cs b/src/Fallout.Application.Tooling/ToolOptions.Properties.Dropin.cs similarity index 100% rename from src/Fallout.Tooling/ToolOptions.Properties.Dropin.cs rename to src/Fallout.Application.Tooling/ToolOptions.Properties.Dropin.cs diff --git a/src/Fallout.Tooling/ToolOptions.Properties.cs b/src/Fallout.Application.Tooling/ToolOptions.Properties.cs similarity index 100% rename from src/Fallout.Tooling/ToolOptions.Properties.cs rename to src/Fallout.Application.Tooling/ToolOptions.Properties.cs diff --git a/src/Fallout.Tooling/ToolOptions.Secrets.cs b/src/Fallout.Application.Tooling/ToolOptions.Secrets.cs similarity index 100% rename from src/Fallout.Tooling/ToolOptions.Secrets.cs rename to src/Fallout.Application.Tooling/ToolOptions.Secrets.cs diff --git a/src/Fallout.Tooling/ToolOptions.cs b/src/Fallout.Application.Tooling/ToolOptions.cs similarity index 100% rename from src/Fallout.Tooling/ToolOptions.cs rename to src/Fallout.Application.Tooling/ToolOptions.cs diff --git a/src/Fallout.Tooling/ToolRequirement.cs b/src/Fallout.Application.Tooling/ToolRequirement.cs similarity index 100% rename from src/Fallout.Tooling/ToolRequirement.cs rename to src/Fallout.Application.Tooling/ToolRequirement.cs diff --git a/src/Fallout.Tooling/ToolResolver.cs b/src/Fallout.Application.Tooling/ToolResolver.cs similarity index 100% rename from src/Fallout.Tooling/ToolResolver.cs rename to src/Fallout.Application.Tooling/ToolResolver.cs diff --git a/src/Fallout.Tooling/ToolTasks.ExitHandler.cs b/src/Fallout.Application.Tooling/ToolTasks.ExitHandler.cs similarity index 95% rename from src/Fallout.Tooling/ToolTasks.ExitHandler.cs rename to src/Fallout.Application.Tooling/ToolTasks.ExitHandler.cs index 2c3fe85ac..90bfa2ccf 100644 --- a/src/Fallout.Tooling/ToolTasks.ExitHandler.cs +++ b/src/Fallout.Application.Tooling/ToolTasks.ExitHandler.cs @@ -1,6 +1,5 @@ using System; using System.Linq; -using Fallout.Infrastructure.Tooling; namespace Fallout.Application.Tooling; diff --git a/src/Fallout.Tooling/ToolTasks.Logger.cs b/src/Fallout.Application.Tooling/ToolTasks.Logger.cs similarity index 100% rename from src/Fallout.Tooling/ToolTasks.Logger.cs rename to src/Fallout.Application.Tooling/ToolTasks.Logger.cs diff --git a/src/Fallout.Tooling/ToolTasks.Run.cs b/src/Fallout.Application.Tooling/ToolTasks.Run.cs similarity index 100% rename from src/Fallout.Tooling/ToolTasks.Run.cs rename to src/Fallout.Application.Tooling/ToolTasks.Run.cs diff --git a/src/Fallout.Tooling/ToolTasks.ToolPath.cs b/src/Fallout.Application.Tooling/ToolTasks.ToolPath.cs similarity index 100% rename from src/Fallout.Tooling/ToolTasks.ToolPath.cs rename to src/Fallout.Application.Tooling/ToolTasks.ToolPath.cs diff --git a/src/Fallout.Tooling/ToolTasks.cs b/src/Fallout.Application.Tooling/ToolTasks.cs similarity index 100% rename from src/Fallout.Tooling/ToolTasks.cs rename to src/Fallout.Application.Tooling/ToolTasks.cs diff --git a/src/Fallout.Tooling/ToolingServices.cs b/src/Fallout.Application.Tooling/ToolingServices.cs similarity index 100% rename from src/Fallout.Tooling/ToolingServices.cs rename to src/Fallout.Application.Tooling/ToolingServices.cs diff --git a/src/Fallout.Application/Execution/BuildManager.cs b/src/Fallout.Application/Execution/BuildManager.cs index 93e1997fd..bf1e1188a 100644 --- a/src/Fallout.Application/Execution/BuildManager.cs +++ b/src/Fallout.Application/Execution/BuildManager.cs @@ -30,9 +30,19 @@ public static event Action CancellationHandler [ModuleInitializer] public static void Initialize() { + // Force-load every Fallout.* assembly AND run its module initializer. Assembly.Load alone only + // loads metadata — a [ModuleInitializer] runs lazily on first *use* of a type in that assembly. + // That mattered once the onion split moved the port-registration module initializers (e.g. + // Fallout.Infrastructure.Tooling's ToolingServicesRegistration) into assemblies whose types no + // outer code references directly: nothing would trigger them, leaving ToolingServices.* null. + // RunModuleConstructor makes registration deterministic regardless of assembly boundaries. DependencyContext.Default?.GetRuntimeAssemblyNames(string.Empty) .Where(x => x.FullName.StartsWith("Fallout.")) - .ForEach(x => AppDomain.CurrentDomain.Load(x)); + .ForEach(x => + { + var assembly = AppDomain.CurrentDomain.Load(x); + RuntimeHelpers.RunModuleConstructor(assembly.ManifestModule.ModuleHandle); + }); } public static int Execute(Expression>[] defaultTargetExpressions) diff --git a/src/Fallout.Application/Fallout.Application.csproj b/src/Fallout.Application/Fallout.Application.csproj index a247556f4..27697ab63 100644 --- a/src/Fallout.Application/Fallout.Application.csproj +++ b/src/Fallout.Application/Fallout.Application.csproj @@ -8,7 +8,6 @@ - @@ -28,4 +27,9 @@ + + + + + diff --git a/src/Fallout.Application/Telemetry/Telemetry.Properties.cs b/src/Fallout.Application/Telemetry/Telemetry.Properties.cs index 31882b400..98012ae94 100644 --- a/src/Fallout.Application/Telemetry/Telemetry.Properties.cs +++ b/src/Fallout.Application/Telemetry/Telemetry.Properties.cs @@ -10,7 +10,6 @@ using Fallout.Application.CI; using Fallout.Common; using Fallout.Application.Tooling; -using Fallout.Infrastructure.Tooling; using Fallout.Kernel; using Fallout.Kernel.Collections; diff --git a/src/Fallout.Cli/Fallout.Cli.csproj b/src/Fallout.Cli/Fallout.Cli.csproj index 01eb2580c..83a88220d 100644 --- a/src/Fallout.Cli/Fallout.Cli.csproj +++ b/src/Fallout.Cli/Fallout.Cli.csproj @@ -32,4 +32,9 @@ + + + + + diff --git a/src/Fallout.Common/Fallout.Common.csproj b/src/Fallout.Common/Fallout.Common.csproj index a687659f8..3079d870e 100644 --- a/src/Fallout.Common/Fallout.Common.csproj +++ b/src/Fallout.Common/Fallout.Common.csproj @@ -13,7 +13,6 @@ - @@ -39,4 +38,10 @@ + + + + + + diff --git a/src/Fallout.Common/Tools/GitVersion/GitVersionTasks.cs b/src/Fallout.Common/Tools/GitVersion/GitVersionTasks.cs index de8175e5d..3127f7306 100644 --- a/src/Fallout.Common/Tools/GitVersion/GitVersionTasks.cs +++ b/src/Fallout.Common/Tools/GitVersion/GitVersionTasks.cs @@ -3,7 +3,6 @@ using System.Linq; using System.Text.Json.Serialization; using Fallout.Application.Tooling; -using Fallout.Infrastructure.Tooling; using Fallout.Kernel.Collections; using Fallout.Kernel; diff --git a/src/Fallout.Common/Tools/NerdbankGitVersioning/NerdbankGitVersioningTasks.cs b/src/Fallout.Common/Tools/NerdbankGitVersioning/NerdbankGitVersioningTasks.cs index d891dc30f..6e129c922 100644 --- a/src/Fallout.Common/Tools/NerdbankGitVersioning/NerdbankGitVersioningTasks.cs +++ b/src/Fallout.Common/Tools/NerdbankGitVersioning/NerdbankGitVersioningTasks.cs @@ -2,7 +2,6 @@ using System.Collections.Generic; using System.Linq; using Fallout.Application.Tooling; -using Fallout.Infrastructure.Tooling; using Fallout.Kernel.Collections; using Fallout.Kernel; diff --git a/src/Fallout.Common/Tools/Netlify/NetlifyTasks.cs b/src/Fallout.Common/Tools/Netlify/NetlifyTasks.cs index b373401f6..6d2315c6c 100644 --- a/src/Fallout.Common/Tools/Netlify/NetlifyTasks.cs +++ b/src/Fallout.Common/Tools/Netlify/NetlifyTasks.cs @@ -2,7 +2,6 @@ using System.Collections.Generic; using System.Linq; using Fallout.Application.Tooling; -using Fallout.Infrastructure.Tooling; using Fallout.Kernel; namespace Fallout.Application.Tools.Netlify; diff --git a/src/Fallout.Common/Tools/VSWhere/VSWhereTasks.cs b/src/Fallout.Common/Tools/VSWhere/VSWhereTasks.cs index e569dfd90..d7787f749 100644 --- a/src/Fallout.Common/Tools/VSWhere/VSWhereTasks.cs +++ b/src/Fallout.Common/Tools/VSWhere/VSWhereTasks.cs @@ -2,7 +2,6 @@ using System.Collections.Generic; using System.Linq; using Fallout.Application.Tooling; -using Fallout.Infrastructure.Tooling; namespace Fallout.Application.Tools.VSWhere; diff --git a/src/Fallout.Infrastructure.ProjectModel/Fallout.Infrastructure.ProjectModel.csproj b/src/Fallout.Infrastructure.ProjectModel/Fallout.Infrastructure.ProjectModel.csproj index 2ad4d68a4..78bb84488 100644 --- a/src/Fallout.Infrastructure.ProjectModel/Fallout.Infrastructure.ProjectModel.csproj +++ b/src/Fallout.Infrastructure.ProjectModel/Fallout.Infrastructure.ProjectModel.csproj @@ -6,7 +6,6 @@ - @@ -18,4 +17,9 @@ + + + + + diff --git a/src/Fallout.Infrastructure.Tooling/Fallout.Infrastructure.Tooling.csproj b/src/Fallout.Infrastructure.Tooling/Fallout.Infrastructure.Tooling.csproj new file mode 100644 index 000000000..95ecd620b --- /dev/null +++ b/src/Fallout.Infrastructure.Tooling/Fallout.Infrastructure.Tooling.csproj @@ -0,0 +1,18 @@ + + + + + net10.0 + + + + + + + + + + + + + diff --git a/src/Fallout.Tooling/ModuleInitializerPolyfill.cs b/src/Fallout.Infrastructure.Tooling/ModuleInitializerPolyfill.cs similarity index 100% rename from src/Fallout.Tooling/ModuleInitializerPolyfill.cs rename to src/Fallout.Infrastructure.Tooling/ModuleInitializerPolyfill.cs diff --git a/src/Fallout.Tooling/NpmToolPathResolver.cs b/src/Fallout.Infrastructure.Tooling/NpmToolPathResolver.cs similarity index 100% rename from src/Fallout.Tooling/NpmToolPathResolver.cs rename to src/Fallout.Infrastructure.Tooling/NpmToolPathResolver.cs diff --git a/src/Fallout.Tooling/NpmVersionResolver.cs b/src/Fallout.Infrastructure.Tooling/NpmVersionResolver.cs similarity index 100% rename from src/Fallout.Tooling/NpmVersionResolver.cs rename to src/Fallout.Infrastructure.Tooling/NpmVersionResolver.cs diff --git a/src/Fallout.Tooling/NuGetPackageResolver.cs b/src/Fallout.Infrastructure.Tooling/NuGetPackageResolver.cs similarity index 100% rename from src/Fallout.Tooling/NuGetPackageResolver.cs rename to src/Fallout.Infrastructure.Tooling/NuGetPackageResolver.cs diff --git a/src/Fallout.Tooling/NuGetToolPathResolver.cs b/src/Fallout.Infrastructure.Tooling/NuGetToolPathResolver.cs similarity index 100% rename from src/Fallout.Tooling/NuGetToolPathResolver.cs rename to src/Fallout.Infrastructure.Tooling/NuGetToolPathResolver.cs diff --git a/src/Fallout.Tooling/NuGetVersionResolver.cs b/src/Fallout.Infrastructure.Tooling/NuGetVersionResolver.cs similarity index 100% rename from src/Fallout.Tooling/NuGetVersionResolver.cs rename to src/Fallout.Infrastructure.Tooling/NuGetVersionResolver.cs diff --git a/src/Fallout.Tooling/PaketPackageResolver.cs b/src/Fallout.Infrastructure.Tooling/PaketPackageResolver.cs similarity index 100% rename from src/Fallout.Tooling/PaketPackageResolver.cs rename to src/Fallout.Infrastructure.Tooling/PaketPackageResolver.cs diff --git a/src/Fallout.Tooling/Process2.cs b/src/Fallout.Infrastructure.Tooling/Process2.cs similarity index 100% rename from src/Fallout.Tooling/Process2.cs rename to src/Fallout.Infrastructure.Tooling/Process2.cs diff --git a/src/Fallout.Tooling/ProcessTasks.cs b/src/Fallout.Infrastructure.Tooling/ProcessTasks.cs similarity index 100% rename from src/Fallout.Tooling/ProcessTasks.cs rename to src/Fallout.Infrastructure.Tooling/ProcessTasks.cs diff --git a/src/Fallout.Tooling/SystemProcessRunner.cs b/src/Fallout.Infrastructure.Tooling/SystemProcessRunner.cs similarity index 100% rename from src/Fallout.Tooling/SystemProcessRunner.cs rename to src/Fallout.Infrastructure.Tooling/SystemProcessRunner.cs diff --git a/src/Fallout.Tooling/ToolExecutor.cs b/src/Fallout.Infrastructure.Tooling/ToolExecutor.cs similarity index 100% rename from src/Fallout.Tooling/ToolExecutor.cs rename to src/Fallout.Infrastructure.Tooling/ToolExecutor.cs diff --git a/src/Fallout.Tooling/ToolPathResolver.cs b/src/Fallout.Infrastructure.Tooling/ToolPathResolver.cs similarity index 100% rename from src/Fallout.Tooling/ToolPathResolver.cs rename to src/Fallout.Infrastructure.Tooling/ToolPathResolver.cs diff --git a/src/Fallout.Tooling/ToolingExtensions.cs b/src/Fallout.Infrastructure.Tooling/ToolingExtensions.cs similarity index 100% rename from src/Fallout.Tooling/ToolingExtensions.cs rename to src/Fallout.Infrastructure.Tooling/ToolingExtensions.cs diff --git a/src/Fallout.Tooling/ToolingServicesRegistration.cs b/src/Fallout.Infrastructure.Tooling/ToolingServicesRegistration.cs similarity index 100% rename from src/Fallout.Tooling/ToolingServicesRegistration.cs rename to src/Fallout.Infrastructure.Tooling/ToolingServicesRegistration.cs diff --git a/src/Fallout.MSBuildTasks/Fallout.MSBuildTasks.csproj b/src/Fallout.MSBuildTasks/Fallout.MSBuildTasks.csproj index 4a9ebce16..f1df506e6 100644 --- a/src/Fallout.MSBuildTasks/Fallout.MSBuildTasks.csproj +++ b/src/Fallout.MSBuildTasks/Fallout.MSBuildTasks.csproj @@ -2,11 +2,10 @@ false - net10.0;net472 + net10.0 - @@ -40,4 +39,9 @@ + + + + + diff --git a/src/Fallout.Tooling.Generator/Fallout.Tooling.Generator.csproj b/src/Fallout.Tooling.Generator/Fallout.Tooling.Generator.csproj index 3544d0d58..dca50ed31 100644 --- a/src/Fallout.Tooling.Generator/Fallout.Tooling.Generator.csproj +++ b/src/Fallout.Tooling.Generator/Fallout.Tooling.Generator.csproj @@ -14,7 +14,6 @@ - @@ -23,4 +22,9 @@ + + + + + diff --git a/tests/Fallout.Architecture.Tests/Fallout.Architecture.Tests.csproj b/tests/Fallout.Architecture.Tests/Fallout.Architecture.Tests.csproj index a2df2a8dd..8792c8299 100644 --- a/tests/Fallout.Architecture.Tests/Fallout.Architecture.Tests.csproj +++ b/tests/Fallout.Architecture.Tests/Fallout.Architecture.Tests.csproj @@ -12,7 +12,11 @@ - + + + + + diff --git a/tests/Fallout.SourceGenerators.Tests/StronglyTypedSolutionGeneratorTest.Test#Solution.g.verified.cs b/tests/Fallout.SourceGenerators.Tests/StronglyTypedSolutionGeneratorTest.Test#Solution.g.verified.cs index e2dee566c..1c516e6cc 100644 --- a/tests/Fallout.SourceGenerators.Tests/StronglyTypedSolutionGeneratorTest.Test#Solution.g.verified.cs +++ b/tests/Fallout.SourceGenerators.Tests/StronglyTypedSolutionGeneratorTest.Test#Solution.g.verified.cs @@ -10,6 +10,7 @@ internal class Solution(AbsolutePath path, object handle) : Fallout.Application. public Fallout.Application.Solutions.Project _build => this.GetProject("_build"); public Fallout.Application.Solutions.Project Fallout_Application => this.GetProject("Fallout.Application"); public Fallout.Application.Solutions.Project Fallout_Application_Components => this.GetProject("Fallout.Application.Components"); + public Fallout.Application.Solutions.Project Fallout_Application_Tooling => this.GetProject("Fallout.Application.Tooling"); public Fallout.Application.Solutions.Project Fallout_Architecture_Tests => this.GetProject("Fallout.Architecture.Tests"); public Fallout.Application.Solutions.Project Fallout_Build_Shared => this.GetProject("Fallout.Build.Shared"); public Fallout.Application.Solutions.Project Fallout_Build_Tests => this.GetProject("Fallout.Build.Tests"); @@ -23,6 +24,7 @@ internal class Solution(AbsolutePath path, object handle) : Fallout.Application. public Fallout.Application.Solutions.Project Fallout_Domain => this.GetProject("Fallout.Domain"); public Fallout.Application.Solutions.Project Fallout_Domain_Tests => this.GetProject("Fallout.Domain.Tests"); public Fallout.Application.Solutions.Project Fallout_Infrastructure_ProjectModel => this.GetProject("Fallout.Infrastructure.ProjectModel"); + public Fallout.Application.Solutions.Project Fallout_Infrastructure_Tooling => this.GetProject("Fallout.Infrastructure.Tooling"); public Fallout.Application.Solutions.Project Fallout_Kernel => this.GetProject("Fallout.Kernel"); public Fallout.Application.Solutions.Project Fallout_Kernel_IO_Compression => this.GetProject("Fallout.Kernel.IO.Compression"); public Fallout.Application.Solutions.Project Fallout_Kernel_IO_Globbing => this.GetProject("Fallout.Kernel.IO.Globbing"); @@ -41,7 +43,6 @@ internal class Solution(AbsolutePath path, object handle) : Fallout.Application. public Fallout.Application.Solutions.Project Fallout_Solution_Tests => this.GetProject("Fallout.Solution.Tests"); public Fallout.Application.Solutions.Project Fallout_SourceGenerators => this.GetProject("Fallout.SourceGenerators"); public Fallout.Application.Solutions.Project Fallout_SourceGenerators_Tests => this.GetProject("Fallout.SourceGenerators.Tests"); - public Fallout.Application.Solutions.Project Fallout_Tooling => this.GetProject("Fallout.Tooling"); public Fallout.Application.Solutions.Project Fallout_Tooling_Generator => this.GetProject("Fallout.Tooling.Generator"); public Fallout.Application.Solutions.Project Fallout_Tooling_Tests => this.GetProject("Fallout.Tooling.Tests"); public Fallout.Application.Solutions.Project Fallout_Utilities_Tests => this.GetProject("Fallout.Utilities.Tests"); diff --git a/tests/Fallout.Tooling.Tests/Fallout.Tooling.Tests.csproj b/tests/Fallout.Tooling.Tests/Fallout.Tooling.Tests.csproj index 4ce477b8c..2fb51a062 100644 --- a/tests/Fallout.Tooling.Tests/Fallout.Tooling.Tests.csproj +++ b/tests/Fallout.Tooling.Tests/Fallout.Tooling.Tests.csproj @@ -6,11 +6,16 @@ - + + + + + + From cebb7af892bf486f5cbf7f348b0232ccc8dbb518 Mon Sep 17 00:00:00 2001 From: Chrison Simtian Date: Mon, 1 Jun 2026 15:16:04 +1200 Subject: [PATCH 32/46] =?UTF-8?q?refactor(arch)!:=20onion=20phase=203=20?= =?UTF-8?q?=E2=80=94=20split=20Fallout.Solution=20into=20ring-pure=20assem?= =?UTF-8?q?blies?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Split src/Persistence/Fallout.Solution into: Fallout.Application.Solutions — Solution/Project model + ports (SolutionServices, ReadSolution) — ns2.0;net10.0 Fallout.Infrastructure.Solutions — the .sln/.slnx serializer adapter + registration — ns2.0;net10.0 Both at src/ top level; the vendored Fallout.Persistence.Solution stays. Source generator: reads solutions at compile time, but a Roslyn host can't run the adapter's module initializer to populate the SolutionServices locator. Added Fallout.Infrastructure.Solutions.SolutionReader (a public direct entry into the adapter) and pointed the generator at it — bypassing the runtime locator (the generator is build-time tooling, not a ring). Wiring: rewired all consumers (model → Application.Solutions); Cli + _build (composition roots) reference Infrastructure.Solutions so its registration is force-loaded for runtime [Solution] injection; moved the vendored InternalsVisibleTo + the shared AssemblyInfo IVT grants to the split names; updated the SourceGenerators DLL-bundling. Test hosts (Solution.Tests, ProjectModel.Tests) get a [ModuleInitializer] that RunModuleConstructor's the adapter assembly (same reason as the generator — no BuildManager force-load in a test host). Full suite + gate + dogfood (zero NREs, [Solution] injection works) green. Co-Authored-By: Claude Opus 4.8 (1M context) --- AssemblyInfo.cs | 3 ++- build/_build.csproj | 5 ++++ fallout.slnx | 3 ++- .../Fallout.Application.Solutions.csproj | 14 +++++++++++ .../Model.cs | 0 .../ProjectQueryExtensions.cs | 0 .../SolutionModelExtensions.cs | 0 .../SolutionServices.cs | 0 .../Fallout.Application.csproj | 6 ++++- src/Fallout.Cli/Fallout.Cli.csproj | 5 ++++ src/Fallout.Common/Fallout.Common.csproj | 6 ++++- ...Fallout.Infrastructure.ProjectModel.csproj | 6 ++++- .../Fallout.Infrastructure.Solutions.csproj | 16 +++++++++++++ .../ModuleInitializerPolyfill.cs | 0 .../SolutionReader.cs | 15 ++++++++++++ .../SolutionSerializerAdapter.cs | 0 .../Fallout.SourceGenerators.csproj | 10 ++++++-- .../StronglyTypedSolutionGenerator.cs | 3 ++- .../Fallout.Persistence.Solution.csproj | 2 +- .../Fallout.Solution/Fallout.Solution.csproj | 23 ------------------- ...out.Persistence.Solution.Benchmarks.csproj | 7 +++++- .../Fallout.Consumer.Local.csproj | 7 +++++- .../Fallout.ProjectModel.Tests.csproj | 5 ++++ .../Fallout.ProjectModel.Tests/ModuleInit.cs | 7 ++++++ .../Fallout.Solution.Tests.csproj | 7 +++++- tests/Fallout.Solution.Tests/ModuleInit.cs | 15 ++++++++++++ ...nGeneratorTest.Test#Solution.g.verified.cs | 3 ++- 27 files changed, 132 insertions(+), 36 deletions(-) create mode 100644 src/Fallout.Application.Solutions/Fallout.Application.Solutions.csproj rename src/{Persistence/Fallout.Solution => Fallout.Application.Solutions}/Model.cs (100%) rename src/{Persistence/Fallout.Solution => Fallout.Application.Solutions}/ProjectQueryExtensions.cs (100%) rename src/{Persistence/Fallout.Solution => Fallout.Application.Solutions}/SolutionModelExtensions.cs (100%) rename src/{Persistence/Fallout.Solution => Fallout.Application.Solutions}/SolutionServices.cs (100%) create mode 100644 src/Fallout.Infrastructure.Solutions/Fallout.Infrastructure.Solutions.csproj rename src/{Persistence/Fallout.Solution => Fallout.Infrastructure.Solutions}/ModuleInitializerPolyfill.cs (100%) create mode 100644 src/Fallout.Infrastructure.Solutions/SolutionReader.cs rename src/{Persistence/Fallout.Solution => Fallout.Infrastructure.Solutions}/SolutionSerializerAdapter.cs (100%) delete mode 100644 src/Persistence/Fallout.Solution/Fallout.Solution.csproj create mode 100644 tests/Fallout.Solution.Tests/ModuleInit.cs diff --git a/AssemblyInfo.cs b/AssemblyInfo.cs index 478191a78..41b4a1c33 100644 --- a/AssemblyInfo.cs +++ b/AssemblyInfo.cs @@ -9,7 +9,8 @@ [assembly: InternalsVisibleTo("Fallout.Cli.Tests")] [assembly: InternalsVisibleTo("Fallout.ProjectModel.Tests")] [assembly: InternalsVisibleTo("Fallout.SourceGenerators")] -[assembly: InternalsVisibleTo("Fallout.Solution")] +[assembly: InternalsVisibleTo("Fallout.Application.Solutions")] +[assembly: InternalsVisibleTo("Fallout.Infrastructure.Solutions")] [assembly: InternalsVisibleTo("Fallout.Solution.Tests")] [assembly: InternalsVisibleTo("Fallout.Persistence.Solution")] [assembly: InternalsVisibleTo("Fallout.Persistence.Solution.Tests")] diff --git a/build/_build.csproj b/build/_build.csproj index d971fc38f..47ce4ee31 100644 --- a/build/_build.csproj +++ b/build/_build.csproj @@ -76,4 +76,9 @@ + + + + + diff --git a/fallout.slnx b/fallout.slnx index 58d1f3e32..8357fe101 100644 --- a/fallout.slnx +++ b/fallout.slnx @@ -24,8 +24,9 @@ - + + diff --git a/src/Fallout.Application.Solutions/Fallout.Application.Solutions.csproj b/src/Fallout.Application.Solutions/Fallout.Application.Solutions.csproj new file mode 100644 index 000000000..4e500af97 --- /dev/null +++ b/src/Fallout.Application.Solutions/Fallout.Application.Solutions.csproj @@ -0,0 +1,14 @@ + + + + + netstandard2.0;net10.0 + Fallout's public API (model + ports) for working with .NET solution files. + + + + + + + diff --git a/src/Persistence/Fallout.Solution/Model.cs b/src/Fallout.Application.Solutions/Model.cs similarity index 100% rename from src/Persistence/Fallout.Solution/Model.cs rename to src/Fallout.Application.Solutions/Model.cs diff --git a/src/Persistence/Fallout.Solution/ProjectQueryExtensions.cs b/src/Fallout.Application.Solutions/ProjectQueryExtensions.cs similarity index 100% rename from src/Persistence/Fallout.Solution/ProjectQueryExtensions.cs rename to src/Fallout.Application.Solutions/ProjectQueryExtensions.cs diff --git a/src/Persistence/Fallout.Solution/SolutionModelExtensions.cs b/src/Fallout.Application.Solutions/SolutionModelExtensions.cs similarity index 100% rename from src/Persistence/Fallout.Solution/SolutionModelExtensions.cs rename to src/Fallout.Application.Solutions/SolutionModelExtensions.cs diff --git a/src/Persistence/Fallout.Solution/SolutionServices.cs b/src/Fallout.Application.Solutions/SolutionServices.cs similarity index 100% rename from src/Persistence/Fallout.Solution/SolutionServices.cs rename to src/Fallout.Application.Solutions/SolutionServices.cs diff --git a/src/Fallout.Application/Fallout.Application.csproj b/src/Fallout.Application/Fallout.Application.csproj index 27697ab63..5c13f8753 100644 --- a/src/Fallout.Application/Fallout.Application.csproj +++ b/src/Fallout.Application/Fallout.Application.csproj @@ -7,7 +7,6 @@ - @@ -32,4 +31,9 @@ + + + + + diff --git a/src/Fallout.Cli/Fallout.Cli.csproj b/src/Fallout.Cli/Fallout.Cli.csproj index 83a88220d..e64c55bbb 100644 --- a/src/Fallout.Cli/Fallout.Cli.csproj +++ b/src/Fallout.Cli/Fallout.Cli.csproj @@ -37,4 +37,9 @@ + + + + + diff --git a/src/Fallout.Common/Fallout.Common.csproj b/src/Fallout.Common/Fallout.Common.csproj index 3079d870e..901e4029c 100644 --- a/src/Fallout.Common/Fallout.Common.csproj +++ b/src/Fallout.Common/Fallout.Common.csproj @@ -12,7 +12,6 @@ - @@ -44,4 +43,9 @@ + + + + + diff --git a/src/Fallout.Infrastructure.ProjectModel/Fallout.Infrastructure.ProjectModel.csproj b/src/Fallout.Infrastructure.ProjectModel/Fallout.Infrastructure.ProjectModel.csproj index 78bb84488..9a7c18be8 100644 --- a/src/Fallout.Infrastructure.ProjectModel/Fallout.Infrastructure.ProjectModel.csproj +++ b/src/Fallout.Infrastructure.ProjectModel/Fallout.Infrastructure.ProjectModel.csproj @@ -5,7 +5,6 @@ - @@ -22,4 +21,9 @@ + + + + + diff --git a/src/Fallout.Infrastructure.Solutions/Fallout.Infrastructure.Solutions.csproj b/src/Fallout.Infrastructure.Solutions/Fallout.Infrastructure.Solutions.csproj new file mode 100644 index 000000000..a777172ba --- /dev/null +++ b/src/Fallout.Infrastructure.Solutions/Fallout.Infrastructure.Solutions.csproj @@ -0,0 +1,16 @@ + + + + + netstandard2.0;net10.0 + Concrete .sln/.slnx serializer adapter behind Fallout.Application.Solutions' ports. + + + + + + + + + diff --git a/src/Persistence/Fallout.Solution/ModuleInitializerPolyfill.cs b/src/Fallout.Infrastructure.Solutions/ModuleInitializerPolyfill.cs similarity index 100% rename from src/Persistence/Fallout.Solution/ModuleInitializerPolyfill.cs rename to src/Fallout.Infrastructure.Solutions/ModuleInitializerPolyfill.cs diff --git a/src/Fallout.Infrastructure.Solutions/SolutionReader.cs b/src/Fallout.Infrastructure.Solutions/SolutionReader.cs new file mode 100644 index 000000000..69ddd661c --- /dev/null +++ b/src/Fallout.Infrastructure.Solutions/SolutionReader.cs @@ -0,0 +1,15 @@ +using Fallout.Application.Solutions; +using Fallout.Kernel.IO; + +namespace Fallout.Infrastructure.Solutions; + +/// +/// Direct entry into the solution serializer for build-time tooling (the strongly-typed-solution source +/// generator). It bypasses the runtime locator: a Roslyn generator host +/// can't run this assembly's module initializer to register the adapter, so it calls the adapter directly. +/// Runtime build code keeps using AbsolutePath.ReadSolution() (port-based). +/// +public static class SolutionReader +{ + public static Solution Read(AbsolutePath path) => new SolutionSerializerAdapter().Open(path); +} diff --git a/src/Persistence/Fallout.Solution/SolutionSerializerAdapter.cs b/src/Fallout.Infrastructure.Solutions/SolutionSerializerAdapter.cs similarity index 100% rename from src/Persistence/Fallout.Solution/SolutionSerializerAdapter.cs rename to src/Fallout.Infrastructure.Solutions/SolutionSerializerAdapter.cs diff --git a/src/Fallout.SourceGenerators/Fallout.SourceGenerators.csproj b/src/Fallout.SourceGenerators/Fallout.SourceGenerators.csproj index ae3f53cb7..a56d70a05 100644 --- a/src/Fallout.SourceGenerators/Fallout.SourceGenerators.csproj +++ b/src/Fallout.SourceGenerators/Fallout.SourceGenerators.csproj @@ -13,7 +13,6 @@ - - - netstandard2.0;net10.0 - Fallout.Solutions - Fallout's public API for working with .NET solution files. - - - - - - - - diff --git a/tests/Benchmarks/Fallout.Persistence.Solution.Benchmarks/Fallout.Persistence.Solution.Benchmarks.csproj b/tests/Benchmarks/Fallout.Persistence.Solution.Benchmarks/Fallout.Persistence.Solution.Benchmarks.csproj index dd8c70687..b207ca252 100644 --- a/tests/Benchmarks/Fallout.Persistence.Solution.Benchmarks/Fallout.Persistence.Solution.Benchmarks.csproj +++ b/tests/Benchmarks/Fallout.Persistence.Solution.Benchmarks/Fallout.Persistence.Solution.Benchmarks.csproj @@ -15,8 +15,13 @@ - + + + + + + diff --git a/tests/Consumers/Fallout.Consumer.Local/Fallout.Consumer.Local.csproj b/tests/Consumers/Fallout.Consumer.Local/Fallout.Consumer.Local.csproj index d4eb14ff8..61909873e 100644 --- a/tests/Consumers/Fallout.Consumer.Local/Fallout.Consumer.Local.csproj +++ b/tests/Consumers/Fallout.Consumer.Local/Fallout.Consumer.Local.csproj @@ -20,8 +20,13 @@ - + + + + + + diff --git a/tests/Fallout.ProjectModel.Tests/Fallout.ProjectModel.Tests.csproj b/tests/Fallout.ProjectModel.Tests/Fallout.ProjectModel.Tests.csproj index d1e8fd8b9..333664e34 100644 --- a/tests/Fallout.ProjectModel.Tests/Fallout.ProjectModel.Tests.csproj +++ b/tests/Fallout.ProjectModel.Tests/Fallout.ProjectModel.Tests.csproj @@ -9,4 +9,9 @@ + + + + + diff --git a/tests/Fallout.ProjectModel.Tests/ModuleInit.cs b/tests/Fallout.ProjectModel.Tests/ModuleInit.cs index a2015d92e..5d0552548 100644 --- a/tests/Fallout.ProjectModel.Tests/ModuleInit.cs +++ b/tests/Fallout.ProjectModel.Tests/ModuleInit.cs @@ -1,10 +1,17 @@ using System.Runtime.CompilerServices; using Fallout.Infrastructure.ProjectModel; +using Fallout.Infrastructure.Solutions; namespace Fallout.Common.Tests; internal static class ModuleInit { + // These tests also call AbsolutePath.ReadSolution(), which needs SolutionServices.Serializer registered + // from Fallout.Infrastructure.Solutions' module initializer — force it (see Solution.Tests/ModuleInit). + [ModuleInitializer] + public static void EnsureSolutionSerializerRegistered() + => RuntimeHelpers.RunModuleConstructor(typeof(SolutionReader).Module.ModuleHandle); + // Microsoft.Build is excluded from runtime output (ExcludeAssets="runtime") and resolved // at runtime via the AssemblyResolve handler that ProjectModelTasks installs from its own // [ModuleInitializer]. If a test method declares a local of a Microsoft.Build type, the diff --git a/tests/Fallout.Solution.Tests/Fallout.Solution.Tests.csproj b/tests/Fallout.Solution.Tests/Fallout.Solution.Tests.csproj index b4e8a2f3c..2d42aa893 100644 --- a/tests/Fallout.Solution.Tests/Fallout.Solution.Tests.csproj +++ b/tests/Fallout.Solution.Tests/Fallout.Solution.Tests.csproj @@ -6,7 +6,12 @@ - + + + + + + diff --git a/tests/Fallout.Solution.Tests/ModuleInit.cs b/tests/Fallout.Solution.Tests/ModuleInit.cs new file mode 100644 index 000000000..0bf0dbd75 --- /dev/null +++ b/tests/Fallout.Solution.Tests/ModuleInit.cs @@ -0,0 +1,15 @@ +using System.Runtime.CompilerServices; +using Fallout.Infrastructure.Solutions; + +namespace Fallout.Common.Tests; + +internal static class ModuleInit +{ + // The solution serializer adapter registers SolutionServices.Serializer from a [ModuleInitializer] in + // Fallout.Infrastructure.Solutions, which only fires on first use of a type in that assembly. The build + // runtime force-runs it (BuildManager), but a test host doesn't — so explicitly run the adapter + // assembly's module constructor before any test calls AbsolutePath.ReadSolution(). + [ModuleInitializer] + public static void EnsureSolutionSerializerRegistered() + => RuntimeHelpers.RunModuleConstructor(typeof(SolutionReader).Module.ModuleHandle); +} diff --git a/tests/Fallout.SourceGenerators.Tests/StronglyTypedSolutionGeneratorTest.Test#Solution.g.verified.cs b/tests/Fallout.SourceGenerators.Tests/StronglyTypedSolutionGeneratorTest.Test#Solution.g.verified.cs index 1c516e6cc..4d84f504f 100644 --- a/tests/Fallout.SourceGenerators.Tests/StronglyTypedSolutionGeneratorTest.Test#Solution.g.verified.cs +++ b/tests/Fallout.SourceGenerators.Tests/StronglyTypedSolutionGeneratorTest.Test#Solution.g.verified.cs @@ -10,6 +10,7 @@ internal class Solution(AbsolutePath path, object handle) : Fallout.Application. public Fallout.Application.Solutions.Project _build => this.GetProject("_build"); public Fallout.Application.Solutions.Project Fallout_Application => this.GetProject("Fallout.Application"); public Fallout.Application.Solutions.Project Fallout_Application_Components => this.GetProject("Fallout.Application.Components"); + public Fallout.Application.Solutions.Project Fallout_Application_Solutions => this.GetProject("Fallout.Application.Solutions"); public Fallout.Application.Solutions.Project Fallout_Application_Tooling => this.GetProject("Fallout.Application.Tooling"); public Fallout.Application.Solutions.Project Fallout_Architecture_Tests => this.GetProject("Fallout.Architecture.Tests"); public Fallout.Application.Solutions.Project Fallout_Build_Shared => this.GetProject("Fallout.Build.Shared"); @@ -24,6 +25,7 @@ internal class Solution(AbsolutePath path, object handle) : Fallout.Application. public Fallout.Application.Solutions.Project Fallout_Domain => this.GetProject("Fallout.Domain"); public Fallout.Application.Solutions.Project Fallout_Domain_Tests => this.GetProject("Fallout.Domain.Tests"); public Fallout.Application.Solutions.Project Fallout_Infrastructure_ProjectModel => this.GetProject("Fallout.Infrastructure.ProjectModel"); + public Fallout.Application.Solutions.Project Fallout_Infrastructure_Solutions => this.GetProject("Fallout.Infrastructure.Solutions"); public Fallout.Application.Solutions.Project Fallout_Infrastructure_Tooling => this.GetProject("Fallout.Infrastructure.Tooling"); public Fallout.Application.Solutions.Project Fallout_Kernel => this.GetProject("Fallout.Kernel"); public Fallout.Application.Solutions.Project Fallout_Kernel_IO_Compression => this.GetProject("Fallout.Kernel.IO.Compression"); @@ -39,7 +41,6 @@ internal class Solution(AbsolutePath path, object handle) : Fallout.Application. public Fallout.Application.Solutions.Project Fallout_Persistence_Solution => this.GetProject("Fallout.Persistence.Solution"); public Fallout.Application.Solutions.Project Fallout_Persistence_Solution_Benchmarks => this.GetProject("Fallout.Persistence.Solution.Benchmarks"); public Fallout.Application.Solutions.Project Fallout_ProjectModel_Tests => this.GetProject("Fallout.ProjectModel.Tests"); - public Fallout.Application.Solutions.Project Fallout_Solution => this.GetProject("Fallout.Solution"); public Fallout.Application.Solutions.Project Fallout_Solution_Tests => this.GetProject("Fallout.Solution.Tests"); public Fallout.Application.Solutions.Project Fallout_SourceGenerators => this.GetProject("Fallout.SourceGenerators"); public Fallout.Application.Solutions.Project Fallout_SourceGenerators_Tests => this.GetProject("Fallout.SourceGenerators.Tests"); From 287b22662cfccffe9c124a12577d2781031b39c2 Mon Sep 17 00:00:00 2001 From: Chrison Simtian Date: Mon, 1 Jun 2026 20:26:57 +1200 Subject: [PATCH 33/46] =?UTF-8?q?refactor(arch)!:=20onion=20phase=204=20?= =?UTF-8?q?=E2=80=94=20dissolve=20Fallout.Common=20into=20ring-pure=20asse?= =?UTF-8?q?mblies=20+=20Fallout=20meta?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The 249-file Fallout.Common catch-all is gone. Its files fan out by ring: Tools/* + Gitter/ → Fallout.Application.Tools (new; tool wrappers) CI/* (providers) → Fallout.Infrastructure.CI (new; Host-detected adapters) CI/CiHostPorts + 2 enums → Fallout.Application (Application.CI) ChangeLog, Git/Execution/Solution/Tooling attrs, HttpTasks, FtpTasks, TemplateUtility, globbing attrs → Fallout.Application GitHub-coupled bits (LatestGitHubRelease, ChangeLogTasks) → Fallout.Application.Tools TextTasks, XmlTasks → Fallout.Kernel (genuinely pure) New consumer-facing meta-package **Fallout** (no code): references every ring + carries the MSBuild integration (Fallout.props/.targets, renamed from Fallout.Common.*), the MSBuildTasks publish output, and the source-generator analyzer — the packaging-anchor role Fallout.Common held. Cli, the Nuke.Common shim, and consumers now reference Fallout; ring-internal consumers reference the specific ring projects. Placement was dependency-driven, not namespace-driven: injection/extension attributes (SolutionAttribute, [Latest*], [GitRepository], globbing attrs) and ControlFlow/Configure/Serilog-coupled IO (FtpTasks, HttpTasks, TemplateUtility) must live in Fallout.Application despite their Kernel.IO/Application.Tooling/etc. namespaces, because their base classes live there and the leaf ring projects are referenced BY Fallout.Application (placing them in the leaves would cycle). Residual noted: a handful of Kernel.IO-namespace files sit in the Application assembly (FtpTasks/HttpTasks/globbing attrs) — a namespace-vs-assembly cleanup for later, ring-safe (no Infra dependency, gate green). Wired all refs + slnx (+Fallout +Application.Tools +Infrastructure.CI), AssemblyInfo IVT grants, _build props/targets import → Fallout.props/.targets, and _build's direct refs. Full suite + gate + dogfood (zero NREs) green. Co-Authored-By: Claude Opus 4.8 (1M context) --- AssemblyInfo.cs | 3 +- build/_build.csproj | 11 +++- fallout.slnx | 4 +- .../Fallout.Application.Components.csproj | 3 +- .../AzureKeyVault/AzureKeyVault.cs | 0 .../AzureKeyVault/AzureKeyVaultAttribute.cs | 0 .../AzureKeyVaultAttributeBase.cs | 0 .../AzureKeyVault/AzureKeyVaultCertificate.cs | 0 .../AzureKeyVaultCertificateAttribute.cs | 0 .../AzureKeyVaultConfigurationAttribute.cs | 0 .../AzureKeyVault/AzureKeyVaultKey.cs | 0 .../AzureKeyVaultKeyAttribute.cs | 0 .../AzureKeyVaultSecretAttribute.cs | 0 .../AzureKeyVault/AzureKeyVaultTasks.cs | 0 .../AzureSignTool/AzureSignTool.Generated.cs | 0 .../AzureSignTool/AzureSignTool.json | 0 .../BenchmarkDotNet.Generated.cs | 0 .../BenchmarkDotNet/BenchmarkDotNet.json | 0 .../Boots/Boots.Generated.cs | 0 .../Boots/Boots.json | 0 .../ChangeLogTasks.cs | 0 .../Chocolatey/Chocolatey.Generated.cs | 0 .../Chocolatey/Chocolatey.json | 0 .../CodeMetrics/CodeMetrics.Generated.cs | 0 .../CodeMetrics/CodeMetrics.json | 0 .../Codecov/Codecov.Generated.cs | 0 .../Codecov/Codecov.json | 0 .../Codecov/CodecovTasks.cs | 0 .../CorFlags/CorFlags.Generated.cs | 0 .../CorFlags/CorFlags.json | 0 .../CorFlags/CorFlagsSettings.cs | 0 .../CoverallsNet/CoverallsNet.Generated.cs | 0 .../CoverallsNet/CoverallsNet.json | 0 .../Coverlet/Coverlet.Generated.cs | 0 .../Coverlet/Coverlet.json | 0 .../Coverlet/CoverletSettingsExtensions.cs | 0 .../Discord/Discord.Generated.cs | 0 .../Discord/Discord.json | 0 .../Discord/DiscordTasks.cs | 0 .../DocFX/DocFX.Generated.cs | 0 .../DocFX/DocFX.json | 0 .../DocFX/DocFXTasks.cs | 0 .../Docker/Docker.Generated.cs | 0 .../Docker/Docker.json | 0 .../DockerTargetDefinitionExtensions.cs | 0 .../Docker/DockerTasks.cs | 0 .../DotCover/DotCover.Generated.cs | 0 .../DotCover/DotCover.json | 0 .../DotCover/DotCoverTasks.cs | 0 .../TeamCitySetDotCoverHomePathAttribute.cs | 0 .../DotMemoryUnit/DotMemoryUnit.Generated.cs | 0 .../DotMemoryUnit/DotMemoryUnit.json | 0 .../DotNet/DotNet.Generated.cs | 0 .../DotNet/DotNet.json | 0 .../DotNet/DotNetRuntimeIdentifier.cs | 0 .../DotNet/DotNetTasks.cs | 0 .../DotnetPackaging.Generated.cs | 0 .../DotnetPackaging/DotnetPackaging.json | 0 .../EntityFramework.Generated.cs | 0 .../EntityFramework/EntityFramework.json | 0 .../Fallout.Application.Tools.csproj | 25 +++++++++ .../Fixie/Fixie.Generated.cs | 0 .../Fixie/Fixie.json | 0 .../Git/Git.Generated.cs | 0 .../Git/Git.json | 0 .../Git/GitTasks.cs | 0 .../GitHub/GitHubTasks.cs | 0 .../GitLink/GitLink.Generated.cs | 0 .../GitLink/GitLink.json | 0 .../GitReleaseManager.Generated.cs | 0 .../GitReleaseManager/GitReleaseManager.json | 0 .../GitVersion/GitVersion.Generated.cs | 0 .../GitVersion/GitVersion.json | 0 .../GitVersion/GitVersionAttribute.cs | 0 .../GitVersion/GitVersionTasks.cs | 0 .../GitVersion/NumberToStringJsonConverter.cs | 0 .../Gitter/GitterTasks.cs | 0 .../Helm/Helm.Generated.cs | 0 .../Helm/Helm.json | 0 .../ILRepack/ILRepack.Generated.cs | 0 .../ILRepack/ILRepack.json | 0 .../InnoSetup/InnoSetup.Generated.cs | 0 .../InnoSetup/InnoSetup.json | 0 .../InnoSetup/InnoSetupSettings.cs | 0 .../Kubernetes/Kubernetes.Generated.cs | 0 .../Kubernetes/Kubernetes.json | 0 .../LatestGitHubReleaseAttribute.cs | 0 .../MSBuild/MSBuild.Generated.cs | 0 .../MSBuild/MSBuild.json | 0 .../MSBuild/MSBuildPlatform.cs | 0 .../MSBuild/MSBuildProject.cs | 0 .../MSBuild/MSBuildSettingsExtensions.cs | 0 .../MSBuild/MSBuildTasks.cs | 0 .../MSBuild/MSBuildToolPathResolver.cs | 0 .../MSBuild/MSBuildVersion.cs | 0 .../MSpec/MSpec.Generated.cs | 0 .../MSpec/MSpec.json | 0 .../MSpec/MSpecTasks.cs | 0 .../MakeNsis/MakeNSIS.Generated.cs | 0 .../MakeNsis/MakeNSIS.json | 0 .../Mastodon/Mastodon.Generated.cs | 0 .../Mastodon/Mastodon.json | 0 .../Mastodon/MastodonTasks.cs | 0 .../MauiCheck/MauiCheck.Generated.cs | 0 .../MauiCheck/MauiCheck.json | 0 .../MinVer/MinVer.Generated.cs | 0 .../MinVer/MinVer.json | 0 .../MinVer/MinVerAttribute.cs | 0 .../MinVer/MinVerTasks.cs | 0 .../NSwag/NSwag.Generated.cs | 0 .../NSwag/NSwag.json | 0 .../NUnit/NUnit.Generated.cs | 0 .../NUnit/NUnit.json | 0 .../NUnit/NUnitTasks.cs | 0 .../NerdbankGitVersioning.Generated.cs | 0 .../NerdbankGitVersioning.json | 0 .../NerdbankGitVersioningAttribute.cs | 0 .../NerdbankGitVersioningTasks.cs | 0 .../Netlify/Netlify.Generated.cs | 0 .../Netlify/Netlify.json | 0 .../Netlify/NetlifyTasks.cs | 0 .../Npm/Npm.Generated.cs | 0 .../Npm/Npm.json | 0 .../Npm/NpmTasks.cs | 0 .../NuGet/NuGet.Generated.cs | 0 .../NuGet/NuGet.json | 0 .../NuGetKeyVaultSignTool.Generated.cs | 0 .../NuGetKeyVaultSignTool.json | 0 .../OctoVersion/OctoVersion.Generated.cs | 0 .../OctoVersion/OctoVersion.json | 0 .../OctoVersion/OctoVersionAttribute.cs | 0 .../OctoVersion/OctoVersionTasks.cs | 0 .../Octopus/Octopus.Generated.cs | 0 .../Octopus/Octopus.json | 0 .../OpenCover/OpenCover.Generated.cs | 0 .../OpenCover/OpenCover.json | 0 .../OpenCover/OpenCoverTasks.cs | 0 .../Paket/Paket.Generated.cs | 0 .../Paket/Paket.json | 0 .../PowerShell/PowerShell.Generated.cs | 0 .../PowerShell/PowerShell.json | 0 .../PowerShell/PowerShellTasks.cs | 0 .../Pulumi/Pulumi.Generated.cs | 0 .../Pulumi/Pulumi.json | 0 .../Pulumi/PulumiTasks.cs | 0 .../Pwsh/Pwsh.Generated.cs | 0 .../Pwsh/Pwsh.json | 0 .../ReportGenerator.Generated.cs | 0 .../ReportGenerator/ReportGenerator.json | 0 .../ReportGenerator/ReportGeneratorTasks.cs | 0 .../SignClient/SignClient.Generated.cs | 0 .../SignClient/SignClient.json | 0 .../SignPath/SignPathTasks.cs | 0 .../SignTool/SignTool.Generated.cs | 0 .../SignTool/SignTool.json | 0 .../SignTool/SignToolTasks.cs | 0 .../Slack/Slack.Generated.cs | 0 .../Slack/Slack.json | 0 .../Slack/SlackTasks.cs | 0 .../SonarScanner/SonarScanner.Generated.cs | 0 .../SonarScanner/SonarScanner.json | 0 .../SpecFlow/SpecFlow.Generated.cs | 0 .../SpecFlow/SpecFlow.json | 0 .../Squirrel/Squirrel.Generated.cs | 0 .../Squirrel/Squirrel.json | 0 .../StaticWebApps/StaticWebApps.Generated.cs | 0 .../StaticWebApps/StaticWebApps.json | 0 .../Teams/Teams.Extensions.cs | 0 .../Teams/Teams.Generated.cs | 0 .../Teams/Teams.json | 0 .../Teams/TeamsTasks.cs | 0 .../TestCloud/TestCloud.Generated.cs | 0 .../TestCloud/TestCloud.json | 0 .../Twitter/TwitterTasks.cs | 0 .../Unity/Logging/BlockMatcher.cs | 0 .../Unity/Logging/FileWatcher.cs | 0 .../Unity/Logging/LineMatcher.cs | 0 .../Unity/Logging/LogParser.cs | 0 .../Unity/Logging/MatchType.cs | 0 .../Unity/Logging/MatchedBlock.cs | 0 .../Unity/Logging/UnityLogLevel.cs | 0 .../Unity/Unity.Generated.cs | 0 .../Unity/Unity.json | 0 .../Unity/UnityTasks.cs | 0 .../VSTest/VSTest.Generated.cs | 0 .../VSTest/VSTest.json | 0 .../VSWhere/VSWhere.Generated.cs | 0 .../VSWhere/VSWhere.json | 0 .../VSWhere/VSWhereTasks.cs | 0 .../WebConfigTransformRunner.Generated.cs | 0 .../WebConfigTransformRunner.json | 0 .../Xunit/Xunit.Generated.cs | 0 .../Xunit/Xunit.json | 0 .../Xunit/Xunit2SettingsExtensions.cs | 0 .../Xunit/XunitTasks.cs | 0 .../CheckPathEnvironmentVariableAttribute.cs | 0 .../FileSystemGlobbingAttributeBase.cs | 0 .../Attributes/GitRepositoryAttribute.cs | 0 .../Attributes/GlobbingOptionsAttribute.cs | 0 .../HandleSingleFileExecutionAttribute.cs | 0 .../Attributes/LatestMavenVersionAttribute.cs | 0 .../Attributes/LatestMyGetVersionAttribute.cs | 0 .../Attributes/LatestNpmVersionAttribute.cs | 0 .../Attributes/LatestNuGetVersionAttribute.cs | 0 .../Attributes/LocalPathAttribute.cs | 0 .../Attributes/NpmPackageAttribute.cs | 0 .../Attributes/NuGetPackageAttribute.cs | 0 .../Attributes/PathVariableAttribute.cs | 0 .../Attributes/SolutionAttribute.cs | 0 .../AzurePipelinesCodeCoverageToolType.cs | 0 .../AzurePipelinesTestResultsType.cs | 0 .../CI/CiHostPorts.cs | 0 .../ChangeLog/ChangeLog.cs | 0 .../ChangeLog/ReleaseNotes.cs | 0 .../Fallout.Application.csproj | 5 ++ .../IO/FtpTasks.cs | 0 .../IO/HttpTasks.cs | 2 +- .../Utilities/TemplateUtility.cs | 0 src/Fallout.Cli/Fallout.Cli.csproj | 6 +- .../AppVeyor/AppVeyor.Theming.cs | 0 .../AppVeyor/AppVeyor.cs | 0 .../AppVeyor/AppVeyorAttribute.cs | 0 .../AppVeyor/AppVeyorImage.cs | 0 .../AppVeyor/AppVeyorSecretAttribute.cs | 0 .../AppVeyor/AppVeyorService.cs | 0 .../Configuration/AppVeyorBranches.cs | 0 .../Configuration/AppVeyorConfiguration.cs | 0 .../AppVeyorCustomWriterExtensions.cs | 0 .../AzurePipelines/AzurePipelines.Theming.cs | 0 .../AzurePipelines/AzurePipelines.cs | 0 .../AzurePipelines/AzurePipelinesAttribute.cs | 0 .../AzurePipelinesBuildReason.cs | 0 .../AzurePipelinesCachePaths.cs | 0 .../AzurePipelines/AzurePipelinesImage.cs | 0 .../AzurePipelines/AzurePipelinesIssueType.cs | 0 .../AzurePipelines/AzurePipelinesJobStatus.cs | 0 .../AzurePipelinesRepositoryType.cs | 0 .../AzurePipelineCheckoutStep.cs | 0 .../Configuration/AzurePipelinesCacheStep.cs | 0 .../Configuration/AzurePipelinesCmdStep.cs | 0 .../AzurePipelinesConfiguration.cs | 0 .../AzurePipelinesCustomWriterExtensions.cs | 0 .../AzurePipelinesDownloadStep.cs | 0 .../Configuration/AzurePipelinesJob.cs | 0 .../AzurePipelinesPublishStep.cs | 0 .../Configuration/AzurePipelinesStage.cs | 0 .../Configuration/AzurePipelinesStep.cs | 0 .../AzurePipelinesVcsPushTrigger.cs | 0 .../Bamboo/Bamboo.cs | 0 .../Bitbucket/Bitbucket.cs | 0 .../Bitrise/Bitrise.cs | 0 .../Fallout.Infrastructure.CI.csproj | 21 +++++++ .../GitHubActionsArtifactStep.cs | 0 .../Configuration/GitHubActionsCacheStep.cs | 0 .../GitHubActionsCheckoutStep.cs | 0 .../GitHubActionsConfiguration.cs | 0 .../GitHubActionsDetailedTrigger.cs | 0 .../Configuration/GitHubActionsJob.cs | 0 .../Configuration/GitHubActionsRunStep.cs | 0 .../GitHubActionsScheduledTrigger.cs | 0 .../Configuration/GitHubActionsStep.cs | 0 .../Configuration/GitHubActionsVcsTrigger.cs | 0 .../GitHubActionsWorkflowDispatchTrigger.cs | 0 .../GitHubActions/GitHubActions.Client.cs | 0 .../GitHubActions/GitHubActions.Theming.cs | 0 .../GitHubActions/GitHubActions.cs | 0 .../GitHubActions/GitHubActionsAttribute.cs | 0 .../GitHubActions/GitHubActionsImage.cs | 0 .../GitHubActions/GitHubActionsPermissions.cs | 0 .../GitHubActions/GitHubActionsSubmodules.cs | 0 .../GitHubActions/GitHubActionsTrigger.cs | 0 .../GitLab/GitLab.Theming.cs | 0 .../GitLab/GitLab.cs | 0 .../GitLab/GitLabProjectVisibility.cs | 0 .../Jenkins/Jenkins.cs | 0 .../SpaceAutomationConfiguration.cs | 0 .../Configuration/SpaceAutomationContainer.cs | 0 .../SpaceAutomationCronScheduleTrigger.cs | 0 .../SpaceAutomationCustomWriterExtensions.cs | 0 .../SpaceAutomationPushTrigger.cs | 0 .../Configuration/SpaceAutomationResources.cs | 0 .../Configuration/SpaceAutomationTrigger.cs | 0 .../SpaceAutomation.Theming.cs | 0 .../SpaceAutomation/SpaceAutomation.cs | 0 .../SpaceAutomationAttribute.cs | 0 .../TeamCityArtifactDependency.cs | 0 .../Configuration/TeamCityBuildType.cs | 0 .../Configuration/TeamCityBuildTypeVcsRoot.cs | 0 .../Configuration/TeamCityConfiguration.cs | 0 .../TeamCityConfigurationParameter.cs | 0 .../TeamCityCustomWriterExtensions.cs | 0 .../Configuration/TeamCityDependency.cs | 0 .../TeamCityDependencyFailureAction.cs | 0 .../TeamCityFinishBuildTrigger.cs | 0 .../TeamCityKeyValueParameter.cs | 0 .../Configuration/TeamCityParameter.cs | 0 .../Configuration/TeamCityParameterDisplay.cs | 0 .../Configuration/TeamCityParameterType.cs | 0 .../TeamCity/Configuration/TeamCityProject.cs | 0 .../Configuration/TeamCityScheduledTrigger.cs | 0 .../TeamCitySnapshotDependency.cs | 0 .../TeamCity/Configuration/TeamCityTrigger.cs | 0 .../TeamCity/Configuration/TeamCityVcsRoot.cs | 0 .../Configuration/TeamCityVcsTrigger.cs | 0 .../TeamCity/Configuration/pom.xml | 0 .../TeamCity/DotNetBuildSettingsExtensions.cs | 0 .../TeamCity/DotNetTestSettingsExtensions.cs | 0 .../TeamCity/MSBuildSettingsExtensions.cs | 0 .../TeamCity/TeamCity.Theming.cs | 0 .../TeamCity/TeamCity.cs | 0 .../TeamCity/TeamCityAttribute.cs | 0 .../TeamCity/TeamCityImportTool.cs | 0 .../TeamCity/TeamCityImportType.cs | 0 .../TeamCity/TeamCityNoDataPublishedAction.cs | 0 .../TeamCity/TeamCityStatus.cs | 0 .../TeamCity/TeamCityTokenAttribute.cs | 0 .../TravisCI/TravisCI.Theming.cs | 0 .../TravisCI/TravisCI.cs | 0 .../TravisCI/TravisCIEventType.cs | 0 .../IO/TextTasks.cs | 0 .../IO/XmlTasks.cs | 0 .../Fallout.csproj} | 56 +++++++++---------- .../Fallout.props} | 0 .../Fallout.targets} | 0 src/Shims/Nuke.Common/Nuke.Common.csproj | 10 ++-- .../Fallout.Consumer.Local.csproj | 6 +- .../Fallout.Architecture.Tests.csproj | 6 +- .../Fallout.Cli.Tests.csproj | 6 +- .../Fallout.Common.Tests.csproj | 4 +- .../Fallout.SourceGenerators.Tests.csproj | 7 ++- ...nGeneratorTest.Test#Solution.g.verified.cs | 4 +- 331 files changed, 132 insertions(+), 47 deletions(-) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/AzureKeyVault/AzureKeyVault.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/AzureKeyVault/AzureKeyVaultAttribute.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/AzureKeyVault/AzureKeyVaultAttributeBase.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/AzureKeyVault/AzureKeyVaultCertificate.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/AzureKeyVault/AzureKeyVaultCertificateAttribute.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/AzureKeyVault/AzureKeyVaultConfigurationAttribute.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/AzureKeyVault/AzureKeyVaultKey.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/AzureKeyVault/AzureKeyVaultKeyAttribute.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/AzureKeyVault/AzureKeyVaultSecretAttribute.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/AzureKeyVault/AzureKeyVaultTasks.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/AzureSignTool/AzureSignTool.Generated.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/AzureSignTool/AzureSignTool.json (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/BenchmarkDotNet/BenchmarkDotNet.Generated.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/BenchmarkDotNet/BenchmarkDotNet.json (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/Boots/Boots.Generated.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/Boots/Boots.json (100%) rename src/{Fallout.Common/ChangeLog => Fallout.Application.Tools}/ChangeLogTasks.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/Chocolatey/Chocolatey.Generated.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/Chocolatey/Chocolatey.json (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/CodeMetrics/CodeMetrics.Generated.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/CodeMetrics/CodeMetrics.json (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/Codecov/Codecov.Generated.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/Codecov/Codecov.json (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/Codecov/CodecovTasks.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/CorFlags/CorFlags.Generated.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/CorFlags/CorFlags.json (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/CorFlags/CorFlagsSettings.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/CoverallsNet/CoverallsNet.Generated.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/CoverallsNet/CoverallsNet.json (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/Coverlet/Coverlet.Generated.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/Coverlet/Coverlet.json (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/Coverlet/CoverletSettingsExtensions.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/Discord/Discord.Generated.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/Discord/Discord.json (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/Discord/DiscordTasks.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/DocFX/DocFX.Generated.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/DocFX/DocFX.json (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/DocFX/DocFXTasks.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/Docker/Docker.Generated.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/Docker/Docker.json (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/Docker/DockerTargetDefinitionExtensions.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/Docker/DockerTasks.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/DotCover/DotCover.Generated.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/DotCover/DotCover.json (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/DotCover/DotCoverTasks.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/DotCover/TeamCitySetDotCoverHomePathAttribute.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/DotMemoryUnit/DotMemoryUnit.Generated.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/DotMemoryUnit/DotMemoryUnit.json (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/DotNet/DotNet.Generated.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/DotNet/DotNet.json (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/DotNet/DotNetRuntimeIdentifier.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/DotNet/DotNetTasks.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/DotnetPackaging/DotnetPackaging.Generated.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/DotnetPackaging/DotnetPackaging.json (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/EntityFramework/EntityFramework.Generated.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/EntityFramework/EntityFramework.json (100%) create mode 100644 src/Fallout.Application.Tools/Fallout.Application.Tools.csproj rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/Fixie/Fixie.Generated.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/Fixie/Fixie.json (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/Git/Git.Generated.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/Git/Git.json (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/Git/GitTasks.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/GitHub/GitHubTasks.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/GitLink/GitLink.Generated.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/GitLink/GitLink.json (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/GitReleaseManager/GitReleaseManager.Generated.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/GitReleaseManager/GitReleaseManager.json (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/GitVersion/GitVersion.Generated.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/GitVersion/GitVersion.json (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/GitVersion/GitVersionAttribute.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/GitVersion/GitVersionTasks.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/GitVersion/NumberToStringJsonConverter.cs (100%) rename src/{Fallout.Common => Fallout.Application.Tools}/Gitter/GitterTasks.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/Helm/Helm.Generated.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/Helm/Helm.json (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/ILRepack/ILRepack.Generated.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/ILRepack/ILRepack.json (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/InnoSetup/InnoSetup.Generated.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/InnoSetup/InnoSetup.json (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/InnoSetup/InnoSetupSettings.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/Kubernetes/Kubernetes.Generated.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/Kubernetes/Kubernetes.json (100%) rename src/{Fallout.Common/Attributes => Fallout.Application.Tools}/LatestGitHubReleaseAttribute.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/MSBuild/MSBuild.Generated.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/MSBuild/MSBuild.json (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/MSBuild/MSBuildPlatform.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/MSBuild/MSBuildProject.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/MSBuild/MSBuildSettingsExtensions.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/MSBuild/MSBuildTasks.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/MSBuild/MSBuildToolPathResolver.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/MSBuild/MSBuildVersion.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/MSpec/MSpec.Generated.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/MSpec/MSpec.json (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/MSpec/MSpecTasks.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/MakeNsis/MakeNSIS.Generated.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/MakeNsis/MakeNSIS.json (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/Mastodon/Mastodon.Generated.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/Mastodon/Mastodon.json (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/Mastodon/MastodonTasks.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/MauiCheck/MauiCheck.Generated.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/MauiCheck/MauiCheck.json (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/MinVer/MinVer.Generated.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/MinVer/MinVer.json (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/MinVer/MinVerAttribute.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/MinVer/MinVerTasks.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/NSwag/NSwag.Generated.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/NSwag/NSwag.json (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/NUnit/NUnit.Generated.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/NUnit/NUnit.json (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/NUnit/NUnitTasks.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/NerdbankGitVersioning/NerdbankGitVersioning.Generated.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/NerdbankGitVersioning/NerdbankGitVersioning.json (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/NerdbankGitVersioning/NerdbankGitVersioningAttribute.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/NerdbankGitVersioning/NerdbankGitVersioningTasks.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/Netlify/Netlify.Generated.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/Netlify/Netlify.json (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/Netlify/NetlifyTasks.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/Npm/Npm.Generated.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/Npm/Npm.json (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/Npm/NpmTasks.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/NuGet/NuGet.Generated.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/NuGet/NuGet.json (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/NuGetKeyVaultSignTool/NuGetKeyVaultSignTool.Generated.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/NuGetKeyVaultSignTool/NuGetKeyVaultSignTool.json (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/OctoVersion/OctoVersion.Generated.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/OctoVersion/OctoVersion.json (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/OctoVersion/OctoVersionAttribute.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/OctoVersion/OctoVersionTasks.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/Octopus/Octopus.Generated.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/Octopus/Octopus.json (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/OpenCover/OpenCover.Generated.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/OpenCover/OpenCover.json (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/OpenCover/OpenCoverTasks.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/Paket/Paket.Generated.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/Paket/Paket.json (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/PowerShell/PowerShell.Generated.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/PowerShell/PowerShell.json (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/PowerShell/PowerShellTasks.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/Pulumi/Pulumi.Generated.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/Pulumi/Pulumi.json (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/Pulumi/PulumiTasks.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/Pwsh/Pwsh.Generated.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/Pwsh/Pwsh.json (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/ReportGenerator/ReportGenerator.Generated.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/ReportGenerator/ReportGenerator.json (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/ReportGenerator/ReportGeneratorTasks.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/SignClient/SignClient.Generated.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/SignClient/SignClient.json (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/SignPath/SignPathTasks.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/SignTool/SignTool.Generated.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/SignTool/SignTool.json (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/SignTool/SignToolTasks.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/Slack/Slack.Generated.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/Slack/Slack.json (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/Slack/SlackTasks.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/SonarScanner/SonarScanner.Generated.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/SonarScanner/SonarScanner.json (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/SpecFlow/SpecFlow.Generated.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/SpecFlow/SpecFlow.json (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/Squirrel/Squirrel.Generated.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/Squirrel/Squirrel.json (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/StaticWebApps/StaticWebApps.Generated.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/StaticWebApps/StaticWebApps.json (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/Teams/Teams.Extensions.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/Teams/Teams.Generated.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/Teams/Teams.json (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/Teams/TeamsTasks.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/TestCloud/TestCloud.Generated.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/TestCloud/TestCloud.json (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/Twitter/TwitterTasks.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/Unity/Logging/BlockMatcher.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/Unity/Logging/FileWatcher.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/Unity/Logging/LineMatcher.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/Unity/Logging/LogParser.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/Unity/Logging/MatchType.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/Unity/Logging/MatchedBlock.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/Unity/Logging/UnityLogLevel.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/Unity/Unity.Generated.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/Unity/Unity.json (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/Unity/UnityTasks.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/VSTest/VSTest.Generated.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/VSTest/VSTest.json (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/VSWhere/VSWhere.Generated.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/VSWhere/VSWhere.json (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/VSWhere/VSWhereTasks.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/WebConfigTransformRunner/WebConfigTransformRunner.Generated.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/WebConfigTransformRunner/WebConfigTransformRunner.json (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/Xunit/Xunit.Generated.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/Xunit/Xunit.json (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/Xunit/Xunit2SettingsExtensions.cs (100%) rename src/{Fallout.Common/Tools => Fallout.Application.Tools}/Xunit/XunitTasks.cs (100%) rename src/{Fallout.Common => Fallout.Application}/Attributes/CheckPathEnvironmentVariableAttribute.cs (100%) rename src/{Fallout.Common => Fallout.Application}/Attributes/FileSystemGlobbingAttributeBase.cs (100%) rename src/{Fallout.Common => Fallout.Application}/Attributes/GitRepositoryAttribute.cs (100%) rename src/{Fallout.Common => Fallout.Application}/Attributes/GlobbingOptionsAttribute.cs (100%) rename src/{Fallout.Common => Fallout.Application}/Attributes/HandleSingleFileExecutionAttribute.cs (100%) rename src/{Fallout.Common => Fallout.Application}/Attributes/LatestMavenVersionAttribute.cs (100%) rename src/{Fallout.Common => Fallout.Application}/Attributes/LatestMyGetVersionAttribute.cs (100%) rename src/{Fallout.Common => Fallout.Application}/Attributes/LatestNpmVersionAttribute.cs (100%) rename src/{Fallout.Common => Fallout.Application}/Attributes/LatestNuGetVersionAttribute.cs (100%) rename src/{Fallout.Common => Fallout.Application}/Attributes/LocalPathAttribute.cs (100%) rename src/{Fallout.Common => Fallout.Application}/Attributes/NpmPackageAttribute.cs (100%) rename src/{Fallout.Common => Fallout.Application}/Attributes/NuGetPackageAttribute.cs (100%) rename src/{Fallout.Common => Fallout.Application}/Attributes/PathVariableAttribute.cs (100%) rename src/{Fallout.Common => Fallout.Application}/Attributes/SolutionAttribute.cs (100%) rename src/{Fallout.Common => Fallout.Application}/CI/AzurePipelines/AzurePipelinesCodeCoverageToolType.cs (100%) rename src/{Fallout.Common => Fallout.Application}/CI/AzurePipelines/AzurePipelinesTestResultsType.cs (100%) rename src/{Fallout.Common => Fallout.Application}/CI/CiHostPorts.cs (100%) rename src/{Fallout.Common => Fallout.Application}/ChangeLog/ChangeLog.cs (100%) rename src/{Fallout.Common => Fallout.Application}/ChangeLog/ReleaseNotes.cs (100%) rename src/{Fallout.Common => Fallout.Application}/IO/FtpTasks.cs (100%) rename src/{Fallout.Common => Fallout.Application}/IO/HttpTasks.cs (100%) rename src/{Fallout.Common => Fallout.Application}/Utilities/TemplateUtility.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/AppVeyor/AppVeyor.Theming.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/AppVeyor/AppVeyor.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/AppVeyor/AppVeyorAttribute.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/AppVeyor/AppVeyorImage.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/AppVeyor/AppVeyorSecretAttribute.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/AppVeyor/AppVeyorService.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/AppVeyor/Configuration/AppVeyorBranches.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/AppVeyor/Configuration/AppVeyorConfiguration.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/AppVeyor/Configuration/AppVeyorCustomWriterExtensions.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/AzurePipelines/AzurePipelines.Theming.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/AzurePipelines/AzurePipelines.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/AzurePipelines/AzurePipelinesAttribute.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/AzurePipelines/AzurePipelinesBuildReason.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/AzurePipelines/AzurePipelinesCachePaths.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/AzurePipelines/AzurePipelinesImage.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/AzurePipelines/AzurePipelinesIssueType.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/AzurePipelines/AzurePipelinesJobStatus.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/AzurePipelines/AzurePipelinesRepositoryType.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/AzurePipelines/Configuration/AzurePipelineCheckoutStep.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/AzurePipelines/Configuration/AzurePipelinesCacheStep.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/AzurePipelines/Configuration/AzurePipelinesCmdStep.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/AzurePipelines/Configuration/AzurePipelinesConfiguration.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/AzurePipelines/Configuration/AzurePipelinesCustomWriterExtensions.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/AzurePipelines/Configuration/AzurePipelinesDownloadStep.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/AzurePipelines/Configuration/AzurePipelinesJob.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/AzurePipelines/Configuration/AzurePipelinesPublishStep.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/AzurePipelines/Configuration/AzurePipelinesStage.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/AzurePipelines/Configuration/AzurePipelinesStep.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/AzurePipelines/Configuration/AzurePipelinesVcsPushTrigger.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/Bamboo/Bamboo.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/Bitbucket/Bitbucket.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/Bitrise/Bitrise.cs (100%) create mode 100644 src/Fallout.Infrastructure.CI/Fallout.Infrastructure.CI.csproj rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/GitHubActions/Configuration/GitHubActionsArtifactStep.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/GitHubActions/Configuration/GitHubActionsCacheStep.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/GitHubActions/Configuration/GitHubActionsCheckoutStep.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/GitHubActions/Configuration/GitHubActionsConfiguration.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/GitHubActions/Configuration/GitHubActionsDetailedTrigger.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/GitHubActions/Configuration/GitHubActionsJob.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/GitHubActions/Configuration/GitHubActionsRunStep.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/GitHubActions/Configuration/GitHubActionsScheduledTrigger.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/GitHubActions/Configuration/GitHubActionsStep.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/GitHubActions/Configuration/GitHubActionsVcsTrigger.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/GitHubActions/Configuration/GitHubActionsWorkflowDispatchTrigger.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/GitHubActions/GitHubActions.Client.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/GitHubActions/GitHubActions.Theming.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/GitHubActions/GitHubActions.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/GitHubActions/GitHubActionsAttribute.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/GitHubActions/GitHubActionsImage.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/GitHubActions/GitHubActionsPermissions.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/GitHubActions/GitHubActionsSubmodules.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/GitHubActions/GitHubActionsTrigger.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/GitLab/GitLab.Theming.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/GitLab/GitLab.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/GitLab/GitLabProjectVisibility.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/Jenkins/Jenkins.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/SpaceAutomation/Configuration/SpaceAutomationConfiguration.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/SpaceAutomation/Configuration/SpaceAutomationContainer.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/SpaceAutomation/Configuration/SpaceAutomationCronScheduleTrigger.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/SpaceAutomation/Configuration/SpaceAutomationCustomWriterExtensions.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/SpaceAutomation/Configuration/SpaceAutomationPushTrigger.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/SpaceAutomation/Configuration/SpaceAutomationResources.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/SpaceAutomation/Configuration/SpaceAutomationTrigger.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/SpaceAutomation/SpaceAutomation.Theming.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/SpaceAutomation/SpaceAutomation.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/SpaceAutomation/SpaceAutomationAttribute.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/TeamCity/Configuration/TeamCityArtifactDependency.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/TeamCity/Configuration/TeamCityBuildType.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/TeamCity/Configuration/TeamCityBuildTypeVcsRoot.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/TeamCity/Configuration/TeamCityConfiguration.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/TeamCity/Configuration/TeamCityConfigurationParameter.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/TeamCity/Configuration/TeamCityCustomWriterExtensions.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/TeamCity/Configuration/TeamCityDependency.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/TeamCity/Configuration/TeamCityDependencyFailureAction.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/TeamCity/Configuration/TeamCityFinishBuildTrigger.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/TeamCity/Configuration/TeamCityKeyValueParameter.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/TeamCity/Configuration/TeamCityParameter.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/TeamCity/Configuration/TeamCityParameterDisplay.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/TeamCity/Configuration/TeamCityParameterType.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/TeamCity/Configuration/TeamCityProject.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/TeamCity/Configuration/TeamCityScheduledTrigger.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/TeamCity/Configuration/TeamCitySnapshotDependency.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/TeamCity/Configuration/TeamCityTrigger.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/TeamCity/Configuration/TeamCityVcsRoot.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/TeamCity/Configuration/TeamCityVcsTrigger.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/TeamCity/Configuration/pom.xml (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/TeamCity/DotNetBuildSettingsExtensions.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/TeamCity/DotNetTestSettingsExtensions.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/TeamCity/MSBuildSettingsExtensions.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/TeamCity/TeamCity.Theming.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/TeamCity/TeamCity.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/TeamCity/TeamCityAttribute.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/TeamCity/TeamCityImportTool.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/TeamCity/TeamCityImportType.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/TeamCity/TeamCityNoDataPublishedAction.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/TeamCity/TeamCityStatus.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/TeamCity/TeamCityTokenAttribute.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/TravisCI/TravisCI.Theming.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/TravisCI/TravisCI.cs (100%) rename src/{Fallout.Common/CI => Fallout.Infrastructure.CI}/TravisCI/TravisCIEventType.cs (100%) rename src/{Fallout.Common => Fallout.Kernel}/IO/TextTasks.cs (100%) rename src/{Fallout.Common => Fallout.Kernel}/IO/XmlTasks.cs (100%) rename src/{Fallout.Common/Fallout.Common.csproj => Fallout/Fallout.csproj} (52%) rename src/{Fallout.Common/Fallout.Common.props => Fallout/Fallout.props} (100%) rename src/{Fallout.Common/Fallout.Common.targets => Fallout/Fallout.targets} (100%) diff --git a/AssemblyInfo.cs b/AssemblyInfo.cs index 41b4a1c33..705eae856 100644 --- a/AssemblyInfo.cs +++ b/AssemblyInfo.cs @@ -3,7 +3,8 @@ [assembly: InternalsVisibleTo("Fallout.Application")] [assembly: InternalsVisibleTo("Fallout.Build.Shared")] [assembly: InternalsVisibleTo("Fallout.Build.Tests")] -[assembly: InternalsVisibleTo("Fallout.Common")] +[assembly: InternalsVisibleTo("Fallout.Application.Tools")] +[assembly: InternalsVisibleTo("Fallout.Infrastructure.CI")] [assembly: InternalsVisibleTo("Fallout.Common.Tests")] [assembly: InternalsVisibleTo("Fallout.Cli")] [assembly: InternalsVisibleTo("Fallout.Cli.Tests")] diff --git a/build/_build.csproj b/build/_build.csproj index 47ce4ee31..f58cff136 100644 --- a/build/_build.csproj +++ b/build/_build.csproj @@ -1,6 +1,6 @@  - + Exe @@ -74,11 +74,18 @@ - + + + + + + + + diff --git a/fallout.slnx b/fallout.slnx index 8357fe101..1d16cb43b 100644 --- a/fallout.slnx +++ b/fallout.slnx @@ -11,8 +11,10 @@ + + + - diff --git a/src/Fallout.Application.Components/Fallout.Application.Components.csproj b/src/Fallout.Application.Components/Fallout.Application.Components.csproj index 7b70d2480..4a00acd03 100644 --- a/src/Fallout.Application.Components/Fallout.Application.Components.csproj +++ b/src/Fallout.Application.Components/Fallout.Application.Components.csproj @@ -4,8 +4,9 @@ net10.0 + - + diff --git a/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVault.cs b/src/Fallout.Application.Tools/AzureKeyVault/AzureKeyVault.cs similarity index 100% rename from src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVault.cs rename to src/Fallout.Application.Tools/AzureKeyVault/AzureKeyVault.cs diff --git a/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultAttribute.cs b/src/Fallout.Application.Tools/AzureKeyVault/AzureKeyVaultAttribute.cs similarity index 100% rename from src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultAttribute.cs rename to src/Fallout.Application.Tools/AzureKeyVault/AzureKeyVaultAttribute.cs diff --git a/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultAttributeBase.cs b/src/Fallout.Application.Tools/AzureKeyVault/AzureKeyVaultAttributeBase.cs similarity index 100% rename from src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultAttributeBase.cs rename to src/Fallout.Application.Tools/AzureKeyVault/AzureKeyVaultAttributeBase.cs diff --git a/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultCertificate.cs b/src/Fallout.Application.Tools/AzureKeyVault/AzureKeyVaultCertificate.cs similarity index 100% rename from src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultCertificate.cs rename to src/Fallout.Application.Tools/AzureKeyVault/AzureKeyVaultCertificate.cs diff --git a/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultCertificateAttribute.cs b/src/Fallout.Application.Tools/AzureKeyVault/AzureKeyVaultCertificateAttribute.cs similarity index 100% rename from src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultCertificateAttribute.cs rename to src/Fallout.Application.Tools/AzureKeyVault/AzureKeyVaultCertificateAttribute.cs diff --git a/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultConfigurationAttribute.cs b/src/Fallout.Application.Tools/AzureKeyVault/AzureKeyVaultConfigurationAttribute.cs similarity index 100% rename from src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultConfigurationAttribute.cs rename to src/Fallout.Application.Tools/AzureKeyVault/AzureKeyVaultConfigurationAttribute.cs diff --git a/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultKey.cs b/src/Fallout.Application.Tools/AzureKeyVault/AzureKeyVaultKey.cs similarity index 100% rename from src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultKey.cs rename to src/Fallout.Application.Tools/AzureKeyVault/AzureKeyVaultKey.cs diff --git a/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultKeyAttribute.cs b/src/Fallout.Application.Tools/AzureKeyVault/AzureKeyVaultKeyAttribute.cs similarity index 100% rename from src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultKeyAttribute.cs rename to src/Fallout.Application.Tools/AzureKeyVault/AzureKeyVaultKeyAttribute.cs diff --git a/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultSecretAttribute.cs b/src/Fallout.Application.Tools/AzureKeyVault/AzureKeyVaultSecretAttribute.cs similarity index 100% rename from src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultSecretAttribute.cs rename to src/Fallout.Application.Tools/AzureKeyVault/AzureKeyVaultSecretAttribute.cs diff --git a/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultTasks.cs b/src/Fallout.Application.Tools/AzureKeyVault/AzureKeyVaultTasks.cs similarity index 100% rename from src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultTasks.cs rename to src/Fallout.Application.Tools/AzureKeyVault/AzureKeyVaultTasks.cs diff --git a/src/Fallout.Common/Tools/AzureSignTool/AzureSignTool.Generated.cs b/src/Fallout.Application.Tools/AzureSignTool/AzureSignTool.Generated.cs similarity index 100% rename from src/Fallout.Common/Tools/AzureSignTool/AzureSignTool.Generated.cs rename to src/Fallout.Application.Tools/AzureSignTool/AzureSignTool.Generated.cs diff --git a/src/Fallout.Common/Tools/AzureSignTool/AzureSignTool.json b/src/Fallout.Application.Tools/AzureSignTool/AzureSignTool.json similarity index 100% rename from src/Fallout.Common/Tools/AzureSignTool/AzureSignTool.json rename to src/Fallout.Application.Tools/AzureSignTool/AzureSignTool.json diff --git a/src/Fallout.Common/Tools/BenchmarkDotNet/BenchmarkDotNet.Generated.cs b/src/Fallout.Application.Tools/BenchmarkDotNet/BenchmarkDotNet.Generated.cs similarity index 100% rename from src/Fallout.Common/Tools/BenchmarkDotNet/BenchmarkDotNet.Generated.cs rename to src/Fallout.Application.Tools/BenchmarkDotNet/BenchmarkDotNet.Generated.cs diff --git a/src/Fallout.Common/Tools/BenchmarkDotNet/BenchmarkDotNet.json b/src/Fallout.Application.Tools/BenchmarkDotNet/BenchmarkDotNet.json similarity index 100% rename from src/Fallout.Common/Tools/BenchmarkDotNet/BenchmarkDotNet.json rename to src/Fallout.Application.Tools/BenchmarkDotNet/BenchmarkDotNet.json diff --git a/src/Fallout.Common/Tools/Boots/Boots.Generated.cs b/src/Fallout.Application.Tools/Boots/Boots.Generated.cs similarity index 100% rename from src/Fallout.Common/Tools/Boots/Boots.Generated.cs rename to src/Fallout.Application.Tools/Boots/Boots.Generated.cs diff --git a/src/Fallout.Common/Tools/Boots/Boots.json b/src/Fallout.Application.Tools/Boots/Boots.json similarity index 100% rename from src/Fallout.Common/Tools/Boots/Boots.json rename to src/Fallout.Application.Tools/Boots/Boots.json diff --git a/src/Fallout.Common/ChangeLog/ChangeLogTasks.cs b/src/Fallout.Application.Tools/ChangeLogTasks.cs similarity index 100% rename from src/Fallout.Common/ChangeLog/ChangeLogTasks.cs rename to src/Fallout.Application.Tools/ChangeLogTasks.cs diff --git a/src/Fallout.Common/Tools/Chocolatey/Chocolatey.Generated.cs b/src/Fallout.Application.Tools/Chocolatey/Chocolatey.Generated.cs similarity index 100% rename from src/Fallout.Common/Tools/Chocolatey/Chocolatey.Generated.cs rename to src/Fallout.Application.Tools/Chocolatey/Chocolatey.Generated.cs diff --git a/src/Fallout.Common/Tools/Chocolatey/Chocolatey.json b/src/Fallout.Application.Tools/Chocolatey/Chocolatey.json similarity index 100% rename from src/Fallout.Common/Tools/Chocolatey/Chocolatey.json rename to src/Fallout.Application.Tools/Chocolatey/Chocolatey.json diff --git a/src/Fallout.Common/Tools/CodeMetrics/CodeMetrics.Generated.cs b/src/Fallout.Application.Tools/CodeMetrics/CodeMetrics.Generated.cs similarity index 100% rename from src/Fallout.Common/Tools/CodeMetrics/CodeMetrics.Generated.cs rename to src/Fallout.Application.Tools/CodeMetrics/CodeMetrics.Generated.cs diff --git a/src/Fallout.Common/Tools/CodeMetrics/CodeMetrics.json b/src/Fallout.Application.Tools/CodeMetrics/CodeMetrics.json similarity index 100% rename from src/Fallout.Common/Tools/CodeMetrics/CodeMetrics.json rename to src/Fallout.Application.Tools/CodeMetrics/CodeMetrics.json diff --git a/src/Fallout.Common/Tools/Codecov/Codecov.Generated.cs b/src/Fallout.Application.Tools/Codecov/Codecov.Generated.cs similarity index 100% rename from src/Fallout.Common/Tools/Codecov/Codecov.Generated.cs rename to src/Fallout.Application.Tools/Codecov/Codecov.Generated.cs diff --git a/src/Fallout.Common/Tools/Codecov/Codecov.json b/src/Fallout.Application.Tools/Codecov/Codecov.json similarity index 100% rename from src/Fallout.Common/Tools/Codecov/Codecov.json rename to src/Fallout.Application.Tools/Codecov/Codecov.json diff --git a/src/Fallout.Common/Tools/Codecov/CodecovTasks.cs b/src/Fallout.Application.Tools/Codecov/CodecovTasks.cs similarity index 100% rename from src/Fallout.Common/Tools/Codecov/CodecovTasks.cs rename to src/Fallout.Application.Tools/Codecov/CodecovTasks.cs diff --git a/src/Fallout.Common/Tools/CorFlags/CorFlags.Generated.cs b/src/Fallout.Application.Tools/CorFlags/CorFlags.Generated.cs similarity index 100% rename from src/Fallout.Common/Tools/CorFlags/CorFlags.Generated.cs rename to src/Fallout.Application.Tools/CorFlags/CorFlags.Generated.cs diff --git a/src/Fallout.Common/Tools/CorFlags/CorFlags.json b/src/Fallout.Application.Tools/CorFlags/CorFlags.json similarity index 100% rename from src/Fallout.Common/Tools/CorFlags/CorFlags.json rename to src/Fallout.Application.Tools/CorFlags/CorFlags.json diff --git a/src/Fallout.Common/Tools/CorFlags/CorFlagsSettings.cs b/src/Fallout.Application.Tools/CorFlags/CorFlagsSettings.cs similarity index 100% rename from src/Fallout.Common/Tools/CorFlags/CorFlagsSettings.cs rename to src/Fallout.Application.Tools/CorFlags/CorFlagsSettings.cs diff --git a/src/Fallout.Common/Tools/CoverallsNet/CoverallsNet.Generated.cs b/src/Fallout.Application.Tools/CoverallsNet/CoverallsNet.Generated.cs similarity index 100% rename from src/Fallout.Common/Tools/CoverallsNet/CoverallsNet.Generated.cs rename to src/Fallout.Application.Tools/CoverallsNet/CoverallsNet.Generated.cs diff --git a/src/Fallout.Common/Tools/CoverallsNet/CoverallsNet.json b/src/Fallout.Application.Tools/CoverallsNet/CoverallsNet.json similarity index 100% rename from src/Fallout.Common/Tools/CoverallsNet/CoverallsNet.json rename to src/Fallout.Application.Tools/CoverallsNet/CoverallsNet.json diff --git a/src/Fallout.Common/Tools/Coverlet/Coverlet.Generated.cs b/src/Fallout.Application.Tools/Coverlet/Coverlet.Generated.cs similarity index 100% rename from src/Fallout.Common/Tools/Coverlet/Coverlet.Generated.cs rename to src/Fallout.Application.Tools/Coverlet/Coverlet.Generated.cs diff --git a/src/Fallout.Common/Tools/Coverlet/Coverlet.json b/src/Fallout.Application.Tools/Coverlet/Coverlet.json similarity index 100% rename from src/Fallout.Common/Tools/Coverlet/Coverlet.json rename to src/Fallout.Application.Tools/Coverlet/Coverlet.json diff --git a/src/Fallout.Common/Tools/Coverlet/CoverletSettingsExtensions.cs b/src/Fallout.Application.Tools/Coverlet/CoverletSettingsExtensions.cs similarity index 100% rename from src/Fallout.Common/Tools/Coverlet/CoverletSettingsExtensions.cs rename to src/Fallout.Application.Tools/Coverlet/CoverletSettingsExtensions.cs diff --git a/src/Fallout.Common/Tools/Discord/Discord.Generated.cs b/src/Fallout.Application.Tools/Discord/Discord.Generated.cs similarity index 100% rename from src/Fallout.Common/Tools/Discord/Discord.Generated.cs rename to src/Fallout.Application.Tools/Discord/Discord.Generated.cs diff --git a/src/Fallout.Common/Tools/Discord/Discord.json b/src/Fallout.Application.Tools/Discord/Discord.json similarity index 100% rename from src/Fallout.Common/Tools/Discord/Discord.json rename to src/Fallout.Application.Tools/Discord/Discord.json diff --git a/src/Fallout.Common/Tools/Discord/DiscordTasks.cs b/src/Fallout.Application.Tools/Discord/DiscordTasks.cs similarity index 100% rename from src/Fallout.Common/Tools/Discord/DiscordTasks.cs rename to src/Fallout.Application.Tools/Discord/DiscordTasks.cs diff --git a/src/Fallout.Common/Tools/DocFX/DocFX.Generated.cs b/src/Fallout.Application.Tools/DocFX/DocFX.Generated.cs similarity index 100% rename from src/Fallout.Common/Tools/DocFX/DocFX.Generated.cs rename to src/Fallout.Application.Tools/DocFX/DocFX.Generated.cs diff --git a/src/Fallout.Common/Tools/DocFX/DocFX.json b/src/Fallout.Application.Tools/DocFX/DocFX.json similarity index 100% rename from src/Fallout.Common/Tools/DocFX/DocFX.json rename to src/Fallout.Application.Tools/DocFX/DocFX.json diff --git a/src/Fallout.Common/Tools/DocFX/DocFXTasks.cs b/src/Fallout.Application.Tools/DocFX/DocFXTasks.cs similarity index 100% rename from src/Fallout.Common/Tools/DocFX/DocFXTasks.cs rename to src/Fallout.Application.Tools/DocFX/DocFXTasks.cs diff --git a/src/Fallout.Common/Tools/Docker/Docker.Generated.cs b/src/Fallout.Application.Tools/Docker/Docker.Generated.cs similarity index 100% rename from src/Fallout.Common/Tools/Docker/Docker.Generated.cs rename to src/Fallout.Application.Tools/Docker/Docker.Generated.cs diff --git a/src/Fallout.Common/Tools/Docker/Docker.json b/src/Fallout.Application.Tools/Docker/Docker.json similarity index 100% rename from src/Fallout.Common/Tools/Docker/Docker.json rename to src/Fallout.Application.Tools/Docker/Docker.json diff --git a/src/Fallout.Common/Tools/Docker/DockerTargetDefinitionExtensions.cs b/src/Fallout.Application.Tools/Docker/DockerTargetDefinitionExtensions.cs similarity index 100% rename from src/Fallout.Common/Tools/Docker/DockerTargetDefinitionExtensions.cs rename to src/Fallout.Application.Tools/Docker/DockerTargetDefinitionExtensions.cs diff --git a/src/Fallout.Common/Tools/Docker/DockerTasks.cs b/src/Fallout.Application.Tools/Docker/DockerTasks.cs similarity index 100% rename from src/Fallout.Common/Tools/Docker/DockerTasks.cs rename to src/Fallout.Application.Tools/Docker/DockerTasks.cs diff --git a/src/Fallout.Common/Tools/DotCover/DotCover.Generated.cs b/src/Fallout.Application.Tools/DotCover/DotCover.Generated.cs similarity index 100% rename from src/Fallout.Common/Tools/DotCover/DotCover.Generated.cs rename to src/Fallout.Application.Tools/DotCover/DotCover.Generated.cs diff --git a/src/Fallout.Common/Tools/DotCover/DotCover.json b/src/Fallout.Application.Tools/DotCover/DotCover.json similarity index 100% rename from src/Fallout.Common/Tools/DotCover/DotCover.json rename to src/Fallout.Application.Tools/DotCover/DotCover.json diff --git a/src/Fallout.Common/Tools/DotCover/DotCoverTasks.cs b/src/Fallout.Application.Tools/DotCover/DotCoverTasks.cs similarity index 100% rename from src/Fallout.Common/Tools/DotCover/DotCoverTasks.cs rename to src/Fallout.Application.Tools/DotCover/DotCoverTasks.cs diff --git a/src/Fallout.Common/Tools/DotCover/TeamCitySetDotCoverHomePathAttribute.cs b/src/Fallout.Application.Tools/DotCover/TeamCitySetDotCoverHomePathAttribute.cs similarity index 100% rename from src/Fallout.Common/Tools/DotCover/TeamCitySetDotCoverHomePathAttribute.cs rename to src/Fallout.Application.Tools/DotCover/TeamCitySetDotCoverHomePathAttribute.cs diff --git a/src/Fallout.Common/Tools/DotMemoryUnit/DotMemoryUnit.Generated.cs b/src/Fallout.Application.Tools/DotMemoryUnit/DotMemoryUnit.Generated.cs similarity index 100% rename from src/Fallout.Common/Tools/DotMemoryUnit/DotMemoryUnit.Generated.cs rename to src/Fallout.Application.Tools/DotMemoryUnit/DotMemoryUnit.Generated.cs diff --git a/src/Fallout.Common/Tools/DotMemoryUnit/DotMemoryUnit.json b/src/Fallout.Application.Tools/DotMemoryUnit/DotMemoryUnit.json similarity index 100% rename from src/Fallout.Common/Tools/DotMemoryUnit/DotMemoryUnit.json rename to src/Fallout.Application.Tools/DotMemoryUnit/DotMemoryUnit.json diff --git a/src/Fallout.Common/Tools/DotNet/DotNet.Generated.cs b/src/Fallout.Application.Tools/DotNet/DotNet.Generated.cs similarity index 100% rename from src/Fallout.Common/Tools/DotNet/DotNet.Generated.cs rename to src/Fallout.Application.Tools/DotNet/DotNet.Generated.cs diff --git a/src/Fallout.Common/Tools/DotNet/DotNet.json b/src/Fallout.Application.Tools/DotNet/DotNet.json similarity index 100% rename from src/Fallout.Common/Tools/DotNet/DotNet.json rename to src/Fallout.Application.Tools/DotNet/DotNet.json diff --git a/src/Fallout.Common/Tools/DotNet/DotNetRuntimeIdentifier.cs b/src/Fallout.Application.Tools/DotNet/DotNetRuntimeIdentifier.cs similarity index 100% rename from src/Fallout.Common/Tools/DotNet/DotNetRuntimeIdentifier.cs rename to src/Fallout.Application.Tools/DotNet/DotNetRuntimeIdentifier.cs diff --git a/src/Fallout.Common/Tools/DotNet/DotNetTasks.cs b/src/Fallout.Application.Tools/DotNet/DotNetTasks.cs similarity index 100% rename from src/Fallout.Common/Tools/DotNet/DotNetTasks.cs rename to src/Fallout.Application.Tools/DotNet/DotNetTasks.cs diff --git a/src/Fallout.Common/Tools/DotnetPackaging/DotnetPackaging.Generated.cs b/src/Fallout.Application.Tools/DotnetPackaging/DotnetPackaging.Generated.cs similarity index 100% rename from src/Fallout.Common/Tools/DotnetPackaging/DotnetPackaging.Generated.cs rename to src/Fallout.Application.Tools/DotnetPackaging/DotnetPackaging.Generated.cs diff --git a/src/Fallout.Common/Tools/DotnetPackaging/DotnetPackaging.json b/src/Fallout.Application.Tools/DotnetPackaging/DotnetPackaging.json similarity index 100% rename from src/Fallout.Common/Tools/DotnetPackaging/DotnetPackaging.json rename to src/Fallout.Application.Tools/DotnetPackaging/DotnetPackaging.json diff --git a/src/Fallout.Common/Tools/EntityFramework/EntityFramework.Generated.cs b/src/Fallout.Application.Tools/EntityFramework/EntityFramework.Generated.cs similarity index 100% rename from src/Fallout.Common/Tools/EntityFramework/EntityFramework.Generated.cs rename to src/Fallout.Application.Tools/EntityFramework/EntityFramework.Generated.cs diff --git a/src/Fallout.Common/Tools/EntityFramework/EntityFramework.json b/src/Fallout.Application.Tools/EntityFramework/EntityFramework.json similarity index 100% rename from src/Fallout.Common/Tools/EntityFramework/EntityFramework.json rename to src/Fallout.Application.Tools/EntityFramework/EntityFramework.json diff --git a/src/Fallout.Application.Tools/Fallout.Application.Tools.csproj b/src/Fallout.Application.Tools/Fallout.Application.Tools.csproj new file mode 100644 index 000000000..ed416c78c --- /dev/null +++ b/src/Fallout.Application.Tools/Fallout.Application.Tools.csproj @@ -0,0 +1,25 @@ + + + + net10.0 + Fallout's tool wrappers (DotNet, MSBuild, NuGet, GitVersion, …) — pure command vocabulary. + + + + + + + + + + + + + + + + + + + + diff --git a/src/Fallout.Common/Tools/Fixie/Fixie.Generated.cs b/src/Fallout.Application.Tools/Fixie/Fixie.Generated.cs similarity index 100% rename from src/Fallout.Common/Tools/Fixie/Fixie.Generated.cs rename to src/Fallout.Application.Tools/Fixie/Fixie.Generated.cs diff --git a/src/Fallout.Common/Tools/Fixie/Fixie.json b/src/Fallout.Application.Tools/Fixie/Fixie.json similarity index 100% rename from src/Fallout.Common/Tools/Fixie/Fixie.json rename to src/Fallout.Application.Tools/Fixie/Fixie.json diff --git a/src/Fallout.Common/Tools/Git/Git.Generated.cs b/src/Fallout.Application.Tools/Git/Git.Generated.cs similarity index 100% rename from src/Fallout.Common/Tools/Git/Git.Generated.cs rename to src/Fallout.Application.Tools/Git/Git.Generated.cs diff --git a/src/Fallout.Common/Tools/Git/Git.json b/src/Fallout.Application.Tools/Git/Git.json similarity index 100% rename from src/Fallout.Common/Tools/Git/Git.json rename to src/Fallout.Application.Tools/Git/Git.json diff --git a/src/Fallout.Common/Tools/Git/GitTasks.cs b/src/Fallout.Application.Tools/Git/GitTasks.cs similarity index 100% rename from src/Fallout.Common/Tools/Git/GitTasks.cs rename to src/Fallout.Application.Tools/Git/GitTasks.cs diff --git a/src/Fallout.Common/Tools/GitHub/GitHubTasks.cs b/src/Fallout.Application.Tools/GitHub/GitHubTasks.cs similarity index 100% rename from src/Fallout.Common/Tools/GitHub/GitHubTasks.cs rename to src/Fallout.Application.Tools/GitHub/GitHubTasks.cs diff --git a/src/Fallout.Common/Tools/GitLink/GitLink.Generated.cs b/src/Fallout.Application.Tools/GitLink/GitLink.Generated.cs similarity index 100% rename from src/Fallout.Common/Tools/GitLink/GitLink.Generated.cs rename to src/Fallout.Application.Tools/GitLink/GitLink.Generated.cs diff --git a/src/Fallout.Common/Tools/GitLink/GitLink.json b/src/Fallout.Application.Tools/GitLink/GitLink.json similarity index 100% rename from src/Fallout.Common/Tools/GitLink/GitLink.json rename to src/Fallout.Application.Tools/GitLink/GitLink.json diff --git a/src/Fallout.Common/Tools/GitReleaseManager/GitReleaseManager.Generated.cs b/src/Fallout.Application.Tools/GitReleaseManager/GitReleaseManager.Generated.cs similarity index 100% rename from src/Fallout.Common/Tools/GitReleaseManager/GitReleaseManager.Generated.cs rename to src/Fallout.Application.Tools/GitReleaseManager/GitReleaseManager.Generated.cs diff --git a/src/Fallout.Common/Tools/GitReleaseManager/GitReleaseManager.json b/src/Fallout.Application.Tools/GitReleaseManager/GitReleaseManager.json similarity index 100% rename from src/Fallout.Common/Tools/GitReleaseManager/GitReleaseManager.json rename to src/Fallout.Application.Tools/GitReleaseManager/GitReleaseManager.json diff --git a/src/Fallout.Common/Tools/GitVersion/GitVersion.Generated.cs b/src/Fallout.Application.Tools/GitVersion/GitVersion.Generated.cs similarity index 100% rename from src/Fallout.Common/Tools/GitVersion/GitVersion.Generated.cs rename to src/Fallout.Application.Tools/GitVersion/GitVersion.Generated.cs diff --git a/src/Fallout.Common/Tools/GitVersion/GitVersion.json b/src/Fallout.Application.Tools/GitVersion/GitVersion.json similarity index 100% rename from src/Fallout.Common/Tools/GitVersion/GitVersion.json rename to src/Fallout.Application.Tools/GitVersion/GitVersion.json diff --git a/src/Fallout.Common/Tools/GitVersion/GitVersionAttribute.cs b/src/Fallout.Application.Tools/GitVersion/GitVersionAttribute.cs similarity index 100% rename from src/Fallout.Common/Tools/GitVersion/GitVersionAttribute.cs rename to src/Fallout.Application.Tools/GitVersion/GitVersionAttribute.cs diff --git a/src/Fallout.Common/Tools/GitVersion/GitVersionTasks.cs b/src/Fallout.Application.Tools/GitVersion/GitVersionTasks.cs similarity index 100% rename from src/Fallout.Common/Tools/GitVersion/GitVersionTasks.cs rename to src/Fallout.Application.Tools/GitVersion/GitVersionTasks.cs diff --git a/src/Fallout.Common/Tools/GitVersion/NumberToStringJsonConverter.cs b/src/Fallout.Application.Tools/GitVersion/NumberToStringJsonConverter.cs similarity index 100% rename from src/Fallout.Common/Tools/GitVersion/NumberToStringJsonConverter.cs rename to src/Fallout.Application.Tools/GitVersion/NumberToStringJsonConverter.cs diff --git a/src/Fallout.Common/Gitter/GitterTasks.cs b/src/Fallout.Application.Tools/Gitter/GitterTasks.cs similarity index 100% rename from src/Fallout.Common/Gitter/GitterTasks.cs rename to src/Fallout.Application.Tools/Gitter/GitterTasks.cs diff --git a/src/Fallout.Common/Tools/Helm/Helm.Generated.cs b/src/Fallout.Application.Tools/Helm/Helm.Generated.cs similarity index 100% rename from src/Fallout.Common/Tools/Helm/Helm.Generated.cs rename to src/Fallout.Application.Tools/Helm/Helm.Generated.cs diff --git a/src/Fallout.Common/Tools/Helm/Helm.json b/src/Fallout.Application.Tools/Helm/Helm.json similarity index 100% rename from src/Fallout.Common/Tools/Helm/Helm.json rename to src/Fallout.Application.Tools/Helm/Helm.json diff --git a/src/Fallout.Common/Tools/ILRepack/ILRepack.Generated.cs b/src/Fallout.Application.Tools/ILRepack/ILRepack.Generated.cs similarity index 100% rename from src/Fallout.Common/Tools/ILRepack/ILRepack.Generated.cs rename to src/Fallout.Application.Tools/ILRepack/ILRepack.Generated.cs diff --git a/src/Fallout.Common/Tools/ILRepack/ILRepack.json b/src/Fallout.Application.Tools/ILRepack/ILRepack.json similarity index 100% rename from src/Fallout.Common/Tools/ILRepack/ILRepack.json rename to src/Fallout.Application.Tools/ILRepack/ILRepack.json diff --git a/src/Fallout.Common/Tools/InnoSetup/InnoSetup.Generated.cs b/src/Fallout.Application.Tools/InnoSetup/InnoSetup.Generated.cs similarity index 100% rename from src/Fallout.Common/Tools/InnoSetup/InnoSetup.Generated.cs rename to src/Fallout.Application.Tools/InnoSetup/InnoSetup.Generated.cs diff --git a/src/Fallout.Common/Tools/InnoSetup/InnoSetup.json b/src/Fallout.Application.Tools/InnoSetup/InnoSetup.json similarity index 100% rename from src/Fallout.Common/Tools/InnoSetup/InnoSetup.json rename to src/Fallout.Application.Tools/InnoSetup/InnoSetup.json diff --git a/src/Fallout.Common/Tools/InnoSetup/InnoSetupSettings.cs b/src/Fallout.Application.Tools/InnoSetup/InnoSetupSettings.cs similarity index 100% rename from src/Fallout.Common/Tools/InnoSetup/InnoSetupSettings.cs rename to src/Fallout.Application.Tools/InnoSetup/InnoSetupSettings.cs diff --git a/src/Fallout.Common/Tools/Kubernetes/Kubernetes.Generated.cs b/src/Fallout.Application.Tools/Kubernetes/Kubernetes.Generated.cs similarity index 100% rename from src/Fallout.Common/Tools/Kubernetes/Kubernetes.Generated.cs rename to src/Fallout.Application.Tools/Kubernetes/Kubernetes.Generated.cs diff --git a/src/Fallout.Common/Tools/Kubernetes/Kubernetes.json b/src/Fallout.Application.Tools/Kubernetes/Kubernetes.json similarity index 100% rename from src/Fallout.Common/Tools/Kubernetes/Kubernetes.json rename to src/Fallout.Application.Tools/Kubernetes/Kubernetes.json diff --git a/src/Fallout.Common/Attributes/LatestGitHubReleaseAttribute.cs b/src/Fallout.Application.Tools/LatestGitHubReleaseAttribute.cs similarity index 100% rename from src/Fallout.Common/Attributes/LatestGitHubReleaseAttribute.cs rename to src/Fallout.Application.Tools/LatestGitHubReleaseAttribute.cs diff --git a/src/Fallout.Common/Tools/MSBuild/MSBuild.Generated.cs b/src/Fallout.Application.Tools/MSBuild/MSBuild.Generated.cs similarity index 100% rename from src/Fallout.Common/Tools/MSBuild/MSBuild.Generated.cs rename to src/Fallout.Application.Tools/MSBuild/MSBuild.Generated.cs diff --git a/src/Fallout.Common/Tools/MSBuild/MSBuild.json b/src/Fallout.Application.Tools/MSBuild/MSBuild.json similarity index 100% rename from src/Fallout.Common/Tools/MSBuild/MSBuild.json rename to src/Fallout.Application.Tools/MSBuild/MSBuild.json diff --git a/src/Fallout.Common/Tools/MSBuild/MSBuildPlatform.cs b/src/Fallout.Application.Tools/MSBuild/MSBuildPlatform.cs similarity index 100% rename from src/Fallout.Common/Tools/MSBuild/MSBuildPlatform.cs rename to src/Fallout.Application.Tools/MSBuild/MSBuildPlatform.cs diff --git a/src/Fallout.Common/Tools/MSBuild/MSBuildProject.cs b/src/Fallout.Application.Tools/MSBuild/MSBuildProject.cs similarity index 100% rename from src/Fallout.Common/Tools/MSBuild/MSBuildProject.cs rename to src/Fallout.Application.Tools/MSBuild/MSBuildProject.cs diff --git a/src/Fallout.Common/Tools/MSBuild/MSBuildSettingsExtensions.cs b/src/Fallout.Application.Tools/MSBuild/MSBuildSettingsExtensions.cs similarity index 100% rename from src/Fallout.Common/Tools/MSBuild/MSBuildSettingsExtensions.cs rename to src/Fallout.Application.Tools/MSBuild/MSBuildSettingsExtensions.cs diff --git a/src/Fallout.Common/Tools/MSBuild/MSBuildTasks.cs b/src/Fallout.Application.Tools/MSBuild/MSBuildTasks.cs similarity index 100% rename from src/Fallout.Common/Tools/MSBuild/MSBuildTasks.cs rename to src/Fallout.Application.Tools/MSBuild/MSBuildTasks.cs diff --git a/src/Fallout.Common/Tools/MSBuild/MSBuildToolPathResolver.cs b/src/Fallout.Application.Tools/MSBuild/MSBuildToolPathResolver.cs similarity index 100% rename from src/Fallout.Common/Tools/MSBuild/MSBuildToolPathResolver.cs rename to src/Fallout.Application.Tools/MSBuild/MSBuildToolPathResolver.cs diff --git a/src/Fallout.Common/Tools/MSBuild/MSBuildVersion.cs b/src/Fallout.Application.Tools/MSBuild/MSBuildVersion.cs similarity index 100% rename from src/Fallout.Common/Tools/MSBuild/MSBuildVersion.cs rename to src/Fallout.Application.Tools/MSBuild/MSBuildVersion.cs diff --git a/src/Fallout.Common/Tools/MSpec/MSpec.Generated.cs b/src/Fallout.Application.Tools/MSpec/MSpec.Generated.cs similarity index 100% rename from src/Fallout.Common/Tools/MSpec/MSpec.Generated.cs rename to src/Fallout.Application.Tools/MSpec/MSpec.Generated.cs diff --git a/src/Fallout.Common/Tools/MSpec/MSpec.json b/src/Fallout.Application.Tools/MSpec/MSpec.json similarity index 100% rename from src/Fallout.Common/Tools/MSpec/MSpec.json rename to src/Fallout.Application.Tools/MSpec/MSpec.json diff --git a/src/Fallout.Common/Tools/MSpec/MSpecTasks.cs b/src/Fallout.Application.Tools/MSpec/MSpecTasks.cs similarity index 100% rename from src/Fallout.Common/Tools/MSpec/MSpecTasks.cs rename to src/Fallout.Application.Tools/MSpec/MSpecTasks.cs diff --git a/src/Fallout.Common/Tools/MakeNsis/MakeNSIS.Generated.cs b/src/Fallout.Application.Tools/MakeNsis/MakeNSIS.Generated.cs similarity index 100% rename from src/Fallout.Common/Tools/MakeNsis/MakeNSIS.Generated.cs rename to src/Fallout.Application.Tools/MakeNsis/MakeNSIS.Generated.cs diff --git a/src/Fallout.Common/Tools/MakeNsis/MakeNSIS.json b/src/Fallout.Application.Tools/MakeNsis/MakeNSIS.json similarity index 100% rename from src/Fallout.Common/Tools/MakeNsis/MakeNSIS.json rename to src/Fallout.Application.Tools/MakeNsis/MakeNSIS.json diff --git a/src/Fallout.Common/Tools/Mastodon/Mastodon.Generated.cs b/src/Fallout.Application.Tools/Mastodon/Mastodon.Generated.cs similarity index 100% rename from src/Fallout.Common/Tools/Mastodon/Mastodon.Generated.cs rename to src/Fallout.Application.Tools/Mastodon/Mastodon.Generated.cs diff --git a/src/Fallout.Common/Tools/Mastodon/Mastodon.json b/src/Fallout.Application.Tools/Mastodon/Mastodon.json similarity index 100% rename from src/Fallout.Common/Tools/Mastodon/Mastodon.json rename to src/Fallout.Application.Tools/Mastodon/Mastodon.json diff --git a/src/Fallout.Common/Tools/Mastodon/MastodonTasks.cs b/src/Fallout.Application.Tools/Mastodon/MastodonTasks.cs similarity index 100% rename from src/Fallout.Common/Tools/Mastodon/MastodonTasks.cs rename to src/Fallout.Application.Tools/Mastodon/MastodonTasks.cs diff --git a/src/Fallout.Common/Tools/MauiCheck/MauiCheck.Generated.cs b/src/Fallout.Application.Tools/MauiCheck/MauiCheck.Generated.cs similarity index 100% rename from src/Fallout.Common/Tools/MauiCheck/MauiCheck.Generated.cs rename to src/Fallout.Application.Tools/MauiCheck/MauiCheck.Generated.cs diff --git a/src/Fallout.Common/Tools/MauiCheck/MauiCheck.json b/src/Fallout.Application.Tools/MauiCheck/MauiCheck.json similarity index 100% rename from src/Fallout.Common/Tools/MauiCheck/MauiCheck.json rename to src/Fallout.Application.Tools/MauiCheck/MauiCheck.json diff --git a/src/Fallout.Common/Tools/MinVer/MinVer.Generated.cs b/src/Fallout.Application.Tools/MinVer/MinVer.Generated.cs similarity index 100% rename from src/Fallout.Common/Tools/MinVer/MinVer.Generated.cs rename to src/Fallout.Application.Tools/MinVer/MinVer.Generated.cs diff --git a/src/Fallout.Common/Tools/MinVer/MinVer.json b/src/Fallout.Application.Tools/MinVer/MinVer.json similarity index 100% rename from src/Fallout.Common/Tools/MinVer/MinVer.json rename to src/Fallout.Application.Tools/MinVer/MinVer.json diff --git a/src/Fallout.Common/Tools/MinVer/MinVerAttribute.cs b/src/Fallout.Application.Tools/MinVer/MinVerAttribute.cs similarity index 100% rename from src/Fallout.Common/Tools/MinVer/MinVerAttribute.cs rename to src/Fallout.Application.Tools/MinVer/MinVerAttribute.cs diff --git a/src/Fallout.Common/Tools/MinVer/MinVerTasks.cs b/src/Fallout.Application.Tools/MinVer/MinVerTasks.cs similarity index 100% rename from src/Fallout.Common/Tools/MinVer/MinVerTasks.cs rename to src/Fallout.Application.Tools/MinVer/MinVerTasks.cs diff --git a/src/Fallout.Common/Tools/NSwag/NSwag.Generated.cs b/src/Fallout.Application.Tools/NSwag/NSwag.Generated.cs similarity index 100% rename from src/Fallout.Common/Tools/NSwag/NSwag.Generated.cs rename to src/Fallout.Application.Tools/NSwag/NSwag.Generated.cs diff --git a/src/Fallout.Common/Tools/NSwag/NSwag.json b/src/Fallout.Application.Tools/NSwag/NSwag.json similarity index 100% rename from src/Fallout.Common/Tools/NSwag/NSwag.json rename to src/Fallout.Application.Tools/NSwag/NSwag.json diff --git a/src/Fallout.Common/Tools/NUnit/NUnit.Generated.cs b/src/Fallout.Application.Tools/NUnit/NUnit.Generated.cs similarity index 100% rename from src/Fallout.Common/Tools/NUnit/NUnit.Generated.cs rename to src/Fallout.Application.Tools/NUnit/NUnit.Generated.cs diff --git a/src/Fallout.Common/Tools/NUnit/NUnit.json b/src/Fallout.Application.Tools/NUnit/NUnit.json similarity index 100% rename from src/Fallout.Common/Tools/NUnit/NUnit.json rename to src/Fallout.Application.Tools/NUnit/NUnit.json diff --git a/src/Fallout.Common/Tools/NUnit/NUnitTasks.cs b/src/Fallout.Application.Tools/NUnit/NUnitTasks.cs similarity index 100% rename from src/Fallout.Common/Tools/NUnit/NUnitTasks.cs rename to src/Fallout.Application.Tools/NUnit/NUnitTasks.cs diff --git a/src/Fallout.Common/Tools/NerdbankGitVersioning/NerdbankGitVersioning.Generated.cs b/src/Fallout.Application.Tools/NerdbankGitVersioning/NerdbankGitVersioning.Generated.cs similarity index 100% rename from src/Fallout.Common/Tools/NerdbankGitVersioning/NerdbankGitVersioning.Generated.cs rename to src/Fallout.Application.Tools/NerdbankGitVersioning/NerdbankGitVersioning.Generated.cs diff --git a/src/Fallout.Common/Tools/NerdbankGitVersioning/NerdbankGitVersioning.json b/src/Fallout.Application.Tools/NerdbankGitVersioning/NerdbankGitVersioning.json similarity index 100% rename from src/Fallout.Common/Tools/NerdbankGitVersioning/NerdbankGitVersioning.json rename to src/Fallout.Application.Tools/NerdbankGitVersioning/NerdbankGitVersioning.json diff --git a/src/Fallout.Common/Tools/NerdbankGitVersioning/NerdbankGitVersioningAttribute.cs b/src/Fallout.Application.Tools/NerdbankGitVersioning/NerdbankGitVersioningAttribute.cs similarity index 100% rename from src/Fallout.Common/Tools/NerdbankGitVersioning/NerdbankGitVersioningAttribute.cs rename to src/Fallout.Application.Tools/NerdbankGitVersioning/NerdbankGitVersioningAttribute.cs diff --git a/src/Fallout.Common/Tools/NerdbankGitVersioning/NerdbankGitVersioningTasks.cs b/src/Fallout.Application.Tools/NerdbankGitVersioning/NerdbankGitVersioningTasks.cs similarity index 100% rename from src/Fallout.Common/Tools/NerdbankGitVersioning/NerdbankGitVersioningTasks.cs rename to src/Fallout.Application.Tools/NerdbankGitVersioning/NerdbankGitVersioningTasks.cs diff --git a/src/Fallout.Common/Tools/Netlify/Netlify.Generated.cs b/src/Fallout.Application.Tools/Netlify/Netlify.Generated.cs similarity index 100% rename from src/Fallout.Common/Tools/Netlify/Netlify.Generated.cs rename to src/Fallout.Application.Tools/Netlify/Netlify.Generated.cs diff --git a/src/Fallout.Common/Tools/Netlify/Netlify.json b/src/Fallout.Application.Tools/Netlify/Netlify.json similarity index 100% rename from src/Fallout.Common/Tools/Netlify/Netlify.json rename to src/Fallout.Application.Tools/Netlify/Netlify.json diff --git a/src/Fallout.Common/Tools/Netlify/NetlifyTasks.cs b/src/Fallout.Application.Tools/Netlify/NetlifyTasks.cs similarity index 100% rename from src/Fallout.Common/Tools/Netlify/NetlifyTasks.cs rename to src/Fallout.Application.Tools/Netlify/NetlifyTasks.cs diff --git a/src/Fallout.Common/Tools/Npm/Npm.Generated.cs b/src/Fallout.Application.Tools/Npm/Npm.Generated.cs similarity index 100% rename from src/Fallout.Common/Tools/Npm/Npm.Generated.cs rename to src/Fallout.Application.Tools/Npm/Npm.Generated.cs diff --git a/src/Fallout.Common/Tools/Npm/Npm.json b/src/Fallout.Application.Tools/Npm/Npm.json similarity index 100% rename from src/Fallout.Common/Tools/Npm/Npm.json rename to src/Fallout.Application.Tools/Npm/Npm.json diff --git a/src/Fallout.Common/Tools/Npm/NpmTasks.cs b/src/Fallout.Application.Tools/Npm/NpmTasks.cs similarity index 100% rename from src/Fallout.Common/Tools/Npm/NpmTasks.cs rename to src/Fallout.Application.Tools/Npm/NpmTasks.cs diff --git a/src/Fallout.Common/Tools/NuGet/NuGet.Generated.cs b/src/Fallout.Application.Tools/NuGet/NuGet.Generated.cs similarity index 100% rename from src/Fallout.Common/Tools/NuGet/NuGet.Generated.cs rename to src/Fallout.Application.Tools/NuGet/NuGet.Generated.cs diff --git a/src/Fallout.Common/Tools/NuGet/NuGet.json b/src/Fallout.Application.Tools/NuGet/NuGet.json similarity index 100% rename from src/Fallout.Common/Tools/NuGet/NuGet.json rename to src/Fallout.Application.Tools/NuGet/NuGet.json diff --git a/src/Fallout.Common/Tools/NuGetKeyVaultSignTool/NuGetKeyVaultSignTool.Generated.cs b/src/Fallout.Application.Tools/NuGetKeyVaultSignTool/NuGetKeyVaultSignTool.Generated.cs similarity index 100% rename from src/Fallout.Common/Tools/NuGetKeyVaultSignTool/NuGetKeyVaultSignTool.Generated.cs rename to src/Fallout.Application.Tools/NuGetKeyVaultSignTool/NuGetKeyVaultSignTool.Generated.cs diff --git a/src/Fallout.Common/Tools/NuGetKeyVaultSignTool/NuGetKeyVaultSignTool.json b/src/Fallout.Application.Tools/NuGetKeyVaultSignTool/NuGetKeyVaultSignTool.json similarity index 100% rename from src/Fallout.Common/Tools/NuGetKeyVaultSignTool/NuGetKeyVaultSignTool.json rename to src/Fallout.Application.Tools/NuGetKeyVaultSignTool/NuGetKeyVaultSignTool.json diff --git a/src/Fallout.Common/Tools/OctoVersion/OctoVersion.Generated.cs b/src/Fallout.Application.Tools/OctoVersion/OctoVersion.Generated.cs similarity index 100% rename from src/Fallout.Common/Tools/OctoVersion/OctoVersion.Generated.cs rename to src/Fallout.Application.Tools/OctoVersion/OctoVersion.Generated.cs diff --git a/src/Fallout.Common/Tools/OctoVersion/OctoVersion.json b/src/Fallout.Application.Tools/OctoVersion/OctoVersion.json similarity index 100% rename from src/Fallout.Common/Tools/OctoVersion/OctoVersion.json rename to src/Fallout.Application.Tools/OctoVersion/OctoVersion.json diff --git a/src/Fallout.Common/Tools/OctoVersion/OctoVersionAttribute.cs b/src/Fallout.Application.Tools/OctoVersion/OctoVersionAttribute.cs similarity index 100% rename from src/Fallout.Common/Tools/OctoVersion/OctoVersionAttribute.cs rename to src/Fallout.Application.Tools/OctoVersion/OctoVersionAttribute.cs diff --git a/src/Fallout.Common/Tools/OctoVersion/OctoVersionTasks.cs b/src/Fallout.Application.Tools/OctoVersion/OctoVersionTasks.cs similarity index 100% rename from src/Fallout.Common/Tools/OctoVersion/OctoVersionTasks.cs rename to src/Fallout.Application.Tools/OctoVersion/OctoVersionTasks.cs diff --git a/src/Fallout.Common/Tools/Octopus/Octopus.Generated.cs b/src/Fallout.Application.Tools/Octopus/Octopus.Generated.cs similarity index 100% rename from src/Fallout.Common/Tools/Octopus/Octopus.Generated.cs rename to src/Fallout.Application.Tools/Octopus/Octopus.Generated.cs diff --git a/src/Fallout.Common/Tools/Octopus/Octopus.json b/src/Fallout.Application.Tools/Octopus/Octopus.json similarity index 100% rename from src/Fallout.Common/Tools/Octopus/Octopus.json rename to src/Fallout.Application.Tools/Octopus/Octopus.json diff --git a/src/Fallout.Common/Tools/OpenCover/OpenCover.Generated.cs b/src/Fallout.Application.Tools/OpenCover/OpenCover.Generated.cs similarity index 100% rename from src/Fallout.Common/Tools/OpenCover/OpenCover.Generated.cs rename to src/Fallout.Application.Tools/OpenCover/OpenCover.Generated.cs diff --git a/src/Fallout.Common/Tools/OpenCover/OpenCover.json b/src/Fallout.Application.Tools/OpenCover/OpenCover.json similarity index 100% rename from src/Fallout.Common/Tools/OpenCover/OpenCover.json rename to src/Fallout.Application.Tools/OpenCover/OpenCover.json diff --git a/src/Fallout.Common/Tools/OpenCover/OpenCoverTasks.cs b/src/Fallout.Application.Tools/OpenCover/OpenCoverTasks.cs similarity index 100% rename from src/Fallout.Common/Tools/OpenCover/OpenCoverTasks.cs rename to src/Fallout.Application.Tools/OpenCover/OpenCoverTasks.cs diff --git a/src/Fallout.Common/Tools/Paket/Paket.Generated.cs b/src/Fallout.Application.Tools/Paket/Paket.Generated.cs similarity index 100% rename from src/Fallout.Common/Tools/Paket/Paket.Generated.cs rename to src/Fallout.Application.Tools/Paket/Paket.Generated.cs diff --git a/src/Fallout.Common/Tools/Paket/Paket.json b/src/Fallout.Application.Tools/Paket/Paket.json similarity index 100% rename from src/Fallout.Common/Tools/Paket/Paket.json rename to src/Fallout.Application.Tools/Paket/Paket.json diff --git a/src/Fallout.Common/Tools/PowerShell/PowerShell.Generated.cs b/src/Fallout.Application.Tools/PowerShell/PowerShell.Generated.cs similarity index 100% rename from src/Fallout.Common/Tools/PowerShell/PowerShell.Generated.cs rename to src/Fallout.Application.Tools/PowerShell/PowerShell.Generated.cs diff --git a/src/Fallout.Common/Tools/PowerShell/PowerShell.json b/src/Fallout.Application.Tools/PowerShell/PowerShell.json similarity index 100% rename from src/Fallout.Common/Tools/PowerShell/PowerShell.json rename to src/Fallout.Application.Tools/PowerShell/PowerShell.json diff --git a/src/Fallout.Common/Tools/PowerShell/PowerShellTasks.cs b/src/Fallout.Application.Tools/PowerShell/PowerShellTasks.cs similarity index 100% rename from src/Fallout.Common/Tools/PowerShell/PowerShellTasks.cs rename to src/Fallout.Application.Tools/PowerShell/PowerShellTasks.cs diff --git a/src/Fallout.Common/Tools/Pulumi/Pulumi.Generated.cs b/src/Fallout.Application.Tools/Pulumi/Pulumi.Generated.cs similarity index 100% rename from src/Fallout.Common/Tools/Pulumi/Pulumi.Generated.cs rename to src/Fallout.Application.Tools/Pulumi/Pulumi.Generated.cs diff --git a/src/Fallout.Common/Tools/Pulumi/Pulumi.json b/src/Fallout.Application.Tools/Pulumi/Pulumi.json similarity index 100% rename from src/Fallout.Common/Tools/Pulumi/Pulumi.json rename to src/Fallout.Application.Tools/Pulumi/Pulumi.json diff --git a/src/Fallout.Common/Tools/Pulumi/PulumiTasks.cs b/src/Fallout.Application.Tools/Pulumi/PulumiTasks.cs similarity index 100% rename from src/Fallout.Common/Tools/Pulumi/PulumiTasks.cs rename to src/Fallout.Application.Tools/Pulumi/PulumiTasks.cs diff --git a/src/Fallout.Common/Tools/Pwsh/Pwsh.Generated.cs b/src/Fallout.Application.Tools/Pwsh/Pwsh.Generated.cs similarity index 100% rename from src/Fallout.Common/Tools/Pwsh/Pwsh.Generated.cs rename to src/Fallout.Application.Tools/Pwsh/Pwsh.Generated.cs diff --git a/src/Fallout.Common/Tools/Pwsh/Pwsh.json b/src/Fallout.Application.Tools/Pwsh/Pwsh.json similarity index 100% rename from src/Fallout.Common/Tools/Pwsh/Pwsh.json rename to src/Fallout.Application.Tools/Pwsh/Pwsh.json diff --git a/src/Fallout.Common/Tools/ReportGenerator/ReportGenerator.Generated.cs b/src/Fallout.Application.Tools/ReportGenerator/ReportGenerator.Generated.cs similarity index 100% rename from src/Fallout.Common/Tools/ReportGenerator/ReportGenerator.Generated.cs rename to src/Fallout.Application.Tools/ReportGenerator/ReportGenerator.Generated.cs diff --git a/src/Fallout.Common/Tools/ReportGenerator/ReportGenerator.json b/src/Fallout.Application.Tools/ReportGenerator/ReportGenerator.json similarity index 100% rename from src/Fallout.Common/Tools/ReportGenerator/ReportGenerator.json rename to src/Fallout.Application.Tools/ReportGenerator/ReportGenerator.json diff --git a/src/Fallout.Common/Tools/ReportGenerator/ReportGeneratorTasks.cs b/src/Fallout.Application.Tools/ReportGenerator/ReportGeneratorTasks.cs similarity index 100% rename from src/Fallout.Common/Tools/ReportGenerator/ReportGeneratorTasks.cs rename to src/Fallout.Application.Tools/ReportGenerator/ReportGeneratorTasks.cs diff --git a/src/Fallout.Common/Tools/SignClient/SignClient.Generated.cs b/src/Fallout.Application.Tools/SignClient/SignClient.Generated.cs similarity index 100% rename from src/Fallout.Common/Tools/SignClient/SignClient.Generated.cs rename to src/Fallout.Application.Tools/SignClient/SignClient.Generated.cs diff --git a/src/Fallout.Common/Tools/SignClient/SignClient.json b/src/Fallout.Application.Tools/SignClient/SignClient.json similarity index 100% rename from src/Fallout.Common/Tools/SignClient/SignClient.json rename to src/Fallout.Application.Tools/SignClient/SignClient.json diff --git a/src/Fallout.Common/Tools/SignPath/SignPathTasks.cs b/src/Fallout.Application.Tools/SignPath/SignPathTasks.cs similarity index 100% rename from src/Fallout.Common/Tools/SignPath/SignPathTasks.cs rename to src/Fallout.Application.Tools/SignPath/SignPathTasks.cs diff --git a/src/Fallout.Common/Tools/SignTool/SignTool.Generated.cs b/src/Fallout.Application.Tools/SignTool/SignTool.Generated.cs similarity index 100% rename from src/Fallout.Common/Tools/SignTool/SignTool.Generated.cs rename to src/Fallout.Application.Tools/SignTool/SignTool.Generated.cs diff --git a/src/Fallout.Common/Tools/SignTool/SignTool.json b/src/Fallout.Application.Tools/SignTool/SignTool.json similarity index 100% rename from src/Fallout.Common/Tools/SignTool/SignTool.json rename to src/Fallout.Application.Tools/SignTool/SignTool.json diff --git a/src/Fallout.Common/Tools/SignTool/SignToolTasks.cs b/src/Fallout.Application.Tools/SignTool/SignToolTasks.cs similarity index 100% rename from src/Fallout.Common/Tools/SignTool/SignToolTasks.cs rename to src/Fallout.Application.Tools/SignTool/SignToolTasks.cs diff --git a/src/Fallout.Common/Tools/Slack/Slack.Generated.cs b/src/Fallout.Application.Tools/Slack/Slack.Generated.cs similarity index 100% rename from src/Fallout.Common/Tools/Slack/Slack.Generated.cs rename to src/Fallout.Application.Tools/Slack/Slack.Generated.cs diff --git a/src/Fallout.Common/Tools/Slack/Slack.json b/src/Fallout.Application.Tools/Slack/Slack.json similarity index 100% rename from src/Fallout.Common/Tools/Slack/Slack.json rename to src/Fallout.Application.Tools/Slack/Slack.json diff --git a/src/Fallout.Common/Tools/Slack/SlackTasks.cs b/src/Fallout.Application.Tools/Slack/SlackTasks.cs similarity index 100% rename from src/Fallout.Common/Tools/Slack/SlackTasks.cs rename to src/Fallout.Application.Tools/Slack/SlackTasks.cs diff --git a/src/Fallout.Common/Tools/SonarScanner/SonarScanner.Generated.cs b/src/Fallout.Application.Tools/SonarScanner/SonarScanner.Generated.cs similarity index 100% rename from src/Fallout.Common/Tools/SonarScanner/SonarScanner.Generated.cs rename to src/Fallout.Application.Tools/SonarScanner/SonarScanner.Generated.cs diff --git a/src/Fallout.Common/Tools/SonarScanner/SonarScanner.json b/src/Fallout.Application.Tools/SonarScanner/SonarScanner.json similarity index 100% rename from src/Fallout.Common/Tools/SonarScanner/SonarScanner.json rename to src/Fallout.Application.Tools/SonarScanner/SonarScanner.json diff --git a/src/Fallout.Common/Tools/SpecFlow/SpecFlow.Generated.cs b/src/Fallout.Application.Tools/SpecFlow/SpecFlow.Generated.cs similarity index 100% rename from src/Fallout.Common/Tools/SpecFlow/SpecFlow.Generated.cs rename to src/Fallout.Application.Tools/SpecFlow/SpecFlow.Generated.cs diff --git a/src/Fallout.Common/Tools/SpecFlow/SpecFlow.json b/src/Fallout.Application.Tools/SpecFlow/SpecFlow.json similarity index 100% rename from src/Fallout.Common/Tools/SpecFlow/SpecFlow.json rename to src/Fallout.Application.Tools/SpecFlow/SpecFlow.json diff --git a/src/Fallout.Common/Tools/Squirrel/Squirrel.Generated.cs b/src/Fallout.Application.Tools/Squirrel/Squirrel.Generated.cs similarity index 100% rename from src/Fallout.Common/Tools/Squirrel/Squirrel.Generated.cs rename to src/Fallout.Application.Tools/Squirrel/Squirrel.Generated.cs diff --git a/src/Fallout.Common/Tools/Squirrel/Squirrel.json b/src/Fallout.Application.Tools/Squirrel/Squirrel.json similarity index 100% rename from src/Fallout.Common/Tools/Squirrel/Squirrel.json rename to src/Fallout.Application.Tools/Squirrel/Squirrel.json diff --git a/src/Fallout.Common/Tools/StaticWebApps/StaticWebApps.Generated.cs b/src/Fallout.Application.Tools/StaticWebApps/StaticWebApps.Generated.cs similarity index 100% rename from src/Fallout.Common/Tools/StaticWebApps/StaticWebApps.Generated.cs rename to src/Fallout.Application.Tools/StaticWebApps/StaticWebApps.Generated.cs diff --git a/src/Fallout.Common/Tools/StaticWebApps/StaticWebApps.json b/src/Fallout.Application.Tools/StaticWebApps/StaticWebApps.json similarity index 100% rename from src/Fallout.Common/Tools/StaticWebApps/StaticWebApps.json rename to src/Fallout.Application.Tools/StaticWebApps/StaticWebApps.json diff --git a/src/Fallout.Common/Tools/Teams/Teams.Extensions.cs b/src/Fallout.Application.Tools/Teams/Teams.Extensions.cs similarity index 100% rename from src/Fallout.Common/Tools/Teams/Teams.Extensions.cs rename to src/Fallout.Application.Tools/Teams/Teams.Extensions.cs diff --git a/src/Fallout.Common/Tools/Teams/Teams.Generated.cs b/src/Fallout.Application.Tools/Teams/Teams.Generated.cs similarity index 100% rename from src/Fallout.Common/Tools/Teams/Teams.Generated.cs rename to src/Fallout.Application.Tools/Teams/Teams.Generated.cs diff --git a/src/Fallout.Common/Tools/Teams/Teams.json b/src/Fallout.Application.Tools/Teams/Teams.json similarity index 100% rename from src/Fallout.Common/Tools/Teams/Teams.json rename to src/Fallout.Application.Tools/Teams/Teams.json diff --git a/src/Fallout.Common/Tools/Teams/TeamsTasks.cs b/src/Fallout.Application.Tools/Teams/TeamsTasks.cs similarity index 100% rename from src/Fallout.Common/Tools/Teams/TeamsTasks.cs rename to src/Fallout.Application.Tools/Teams/TeamsTasks.cs diff --git a/src/Fallout.Common/Tools/TestCloud/TestCloud.Generated.cs b/src/Fallout.Application.Tools/TestCloud/TestCloud.Generated.cs similarity index 100% rename from src/Fallout.Common/Tools/TestCloud/TestCloud.Generated.cs rename to src/Fallout.Application.Tools/TestCloud/TestCloud.Generated.cs diff --git a/src/Fallout.Common/Tools/TestCloud/TestCloud.json b/src/Fallout.Application.Tools/TestCloud/TestCloud.json similarity index 100% rename from src/Fallout.Common/Tools/TestCloud/TestCloud.json rename to src/Fallout.Application.Tools/TestCloud/TestCloud.json diff --git a/src/Fallout.Common/Tools/Twitter/TwitterTasks.cs b/src/Fallout.Application.Tools/Twitter/TwitterTasks.cs similarity index 100% rename from src/Fallout.Common/Tools/Twitter/TwitterTasks.cs rename to src/Fallout.Application.Tools/Twitter/TwitterTasks.cs diff --git a/src/Fallout.Common/Tools/Unity/Logging/BlockMatcher.cs b/src/Fallout.Application.Tools/Unity/Logging/BlockMatcher.cs similarity index 100% rename from src/Fallout.Common/Tools/Unity/Logging/BlockMatcher.cs rename to src/Fallout.Application.Tools/Unity/Logging/BlockMatcher.cs diff --git a/src/Fallout.Common/Tools/Unity/Logging/FileWatcher.cs b/src/Fallout.Application.Tools/Unity/Logging/FileWatcher.cs similarity index 100% rename from src/Fallout.Common/Tools/Unity/Logging/FileWatcher.cs rename to src/Fallout.Application.Tools/Unity/Logging/FileWatcher.cs diff --git a/src/Fallout.Common/Tools/Unity/Logging/LineMatcher.cs b/src/Fallout.Application.Tools/Unity/Logging/LineMatcher.cs similarity index 100% rename from src/Fallout.Common/Tools/Unity/Logging/LineMatcher.cs rename to src/Fallout.Application.Tools/Unity/Logging/LineMatcher.cs diff --git a/src/Fallout.Common/Tools/Unity/Logging/LogParser.cs b/src/Fallout.Application.Tools/Unity/Logging/LogParser.cs similarity index 100% rename from src/Fallout.Common/Tools/Unity/Logging/LogParser.cs rename to src/Fallout.Application.Tools/Unity/Logging/LogParser.cs diff --git a/src/Fallout.Common/Tools/Unity/Logging/MatchType.cs b/src/Fallout.Application.Tools/Unity/Logging/MatchType.cs similarity index 100% rename from src/Fallout.Common/Tools/Unity/Logging/MatchType.cs rename to src/Fallout.Application.Tools/Unity/Logging/MatchType.cs diff --git a/src/Fallout.Common/Tools/Unity/Logging/MatchedBlock.cs b/src/Fallout.Application.Tools/Unity/Logging/MatchedBlock.cs similarity index 100% rename from src/Fallout.Common/Tools/Unity/Logging/MatchedBlock.cs rename to src/Fallout.Application.Tools/Unity/Logging/MatchedBlock.cs diff --git a/src/Fallout.Common/Tools/Unity/Logging/UnityLogLevel.cs b/src/Fallout.Application.Tools/Unity/Logging/UnityLogLevel.cs similarity index 100% rename from src/Fallout.Common/Tools/Unity/Logging/UnityLogLevel.cs rename to src/Fallout.Application.Tools/Unity/Logging/UnityLogLevel.cs diff --git a/src/Fallout.Common/Tools/Unity/Unity.Generated.cs b/src/Fallout.Application.Tools/Unity/Unity.Generated.cs similarity index 100% rename from src/Fallout.Common/Tools/Unity/Unity.Generated.cs rename to src/Fallout.Application.Tools/Unity/Unity.Generated.cs diff --git a/src/Fallout.Common/Tools/Unity/Unity.json b/src/Fallout.Application.Tools/Unity/Unity.json similarity index 100% rename from src/Fallout.Common/Tools/Unity/Unity.json rename to src/Fallout.Application.Tools/Unity/Unity.json diff --git a/src/Fallout.Common/Tools/Unity/UnityTasks.cs b/src/Fallout.Application.Tools/Unity/UnityTasks.cs similarity index 100% rename from src/Fallout.Common/Tools/Unity/UnityTasks.cs rename to src/Fallout.Application.Tools/Unity/UnityTasks.cs diff --git a/src/Fallout.Common/Tools/VSTest/VSTest.Generated.cs b/src/Fallout.Application.Tools/VSTest/VSTest.Generated.cs similarity index 100% rename from src/Fallout.Common/Tools/VSTest/VSTest.Generated.cs rename to src/Fallout.Application.Tools/VSTest/VSTest.Generated.cs diff --git a/src/Fallout.Common/Tools/VSTest/VSTest.json b/src/Fallout.Application.Tools/VSTest/VSTest.json similarity index 100% rename from src/Fallout.Common/Tools/VSTest/VSTest.json rename to src/Fallout.Application.Tools/VSTest/VSTest.json diff --git a/src/Fallout.Common/Tools/VSWhere/VSWhere.Generated.cs b/src/Fallout.Application.Tools/VSWhere/VSWhere.Generated.cs similarity index 100% rename from src/Fallout.Common/Tools/VSWhere/VSWhere.Generated.cs rename to src/Fallout.Application.Tools/VSWhere/VSWhere.Generated.cs diff --git a/src/Fallout.Common/Tools/VSWhere/VSWhere.json b/src/Fallout.Application.Tools/VSWhere/VSWhere.json similarity index 100% rename from src/Fallout.Common/Tools/VSWhere/VSWhere.json rename to src/Fallout.Application.Tools/VSWhere/VSWhere.json diff --git a/src/Fallout.Common/Tools/VSWhere/VSWhereTasks.cs b/src/Fallout.Application.Tools/VSWhere/VSWhereTasks.cs similarity index 100% rename from src/Fallout.Common/Tools/VSWhere/VSWhereTasks.cs rename to src/Fallout.Application.Tools/VSWhere/VSWhereTasks.cs diff --git a/src/Fallout.Common/Tools/WebConfigTransformRunner/WebConfigTransformRunner.Generated.cs b/src/Fallout.Application.Tools/WebConfigTransformRunner/WebConfigTransformRunner.Generated.cs similarity index 100% rename from src/Fallout.Common/Tools/WebConfigTransformRunner/WebConfigTransformRunner.Generated.cs rename to src/Fallout.Application.Tools/WebConfigTransformRunner/WebConfigTransformRunner.Generated.cs diff --git a/src/Fallout.Common/Tools/WebConfigTransformRunner/WebConfigTransformRunner.json b/src/Fallout.Application.Tools/WebConfigTransformRunner/WebConfigTransformRunner.json similarity index 100% rename from src/Fallout.Common/Tools/WebConfigTransformRunner/WebConfigTransformRunner.json rename to src/Fallout.Application.Tools/WebConfigTransformRunner/WebConfigTransformRunner.json diff --git a/src/Fallout.Common/Tools/Xunit/Xunit.Generated.cs b/src/Fallout.Application.Tools/Xunit/Xunit.Generated.cs similarity index 100% rename from src/Fallout.Common/Tools/Xunit/Xunit.Generated.cs rename to src/Fallout.Application.Tools/Xunit/Xunit.Generated.cs diff --git a/src/Fallout.Common/Tools/Xunit/Xunit.json b/src/Fallout.Application.Tools/Xunit/Xunit.json similarity index 100% rename from src/Fallout.Common/Tools/Xunit/Xunit.json rename to src/Fallout.Application.Tools/Xunit/Xunit.json diff --git a/src/Fallout.Common/Tools/Xunit/Xunit2SettingsExtensions.cs b/src/Fallout.Application.Tools/Xunit/Xunit2SettingsExtensions.cs similarity index 100% rename from src/Fallout.Common/Tools/Xunit/Xunit2SettingsExtensions.cs rename to src/Fallout.Application.Tools/Xunit/Xunit2SettingsExtensions.cs diff --git a/src/Fallout.Common/Tools/Xunit/XunitTasks.cs b/src/Fallout.Application.Tools/Xunit/XunitTasks.cs similarity index 100% rename from src/Fallout.Common/Tools/Xunit/XunitTasks.cs rename to src/Fallout.Application.Tools/Xunit/XunitTasks.cs diff --git a/src/Fallout.Common/Attributes/CheckPathEnvironmentVariableAttribute.cs b/src/Fallout.Application/Attributes/CheckPathEnvironmentVariableAttribute.cs similarity index 100% rename from src/Fallout.Common/Attributes/CheckPathEnvironmentVariableAttribute.cs rename to src/Fallout.Application/Attributes/CheckPathEnvironmentVariableAttribute.cs diff --git a/src/Fallout.Common/Attributes/FileSystemGlobbingAttributeBase.cs b/src/Fallout.Application/Attributes/FileSystemGlobbingAttributeBase.cs similarity index 100% rename from src/Fallout.Common/Attributes/FileSystemGlobbingAttributeBase.cs rename to src/Fallout.Application/Attributes/FileSystemGlobbingAttributeBase.cs diff --git a/src/Fallout.Common/Attributes/GitRepositoryAttribute.cs b/src/Fallout.Application/Attributes/GitRepositoryAttribute.cs similarity index 100% rename from src/Fallout.Common/Attributes/GitRepositoryAttribute.cs rename to src/Fallout.Application/Attributes/GitRepositoryAttribute.cs diff --git a/src/Fallout.Common/Attributes/GlobbingOptionsAttribute.cs b/src/Fallout.Application/Attributes/GlobbingOptionsAttribute.cs similarity index 100% rename from src/Fallout.Common/Attributes/GlobbingOptionsAttribute.cs rename to src/Fallout.Application/Attributes/GlobbingOptionsAttribute.cs diff --git a/src/Fallout.Common/Attributes/HandleSingleFileExecutionAttribute.cs b/src/Fallout.Application/Attributes/HandleSingleFileExecutionAttribute.cs similarity index 100% rename from src/Fallout.Common/Attributes/HandleSingleFileExecutionAttribute.cs rename to src/Fallout.Application/Attributes/HandleSingleFileExecutionAttribute.cs diff --git a/src/Fallout.Common/Attributes/LatestMavenVersionAttribute.cs b/src/Fallout.Application/Attributes/LatestMavenVersionAttribute.cs similarity index 100% rename from src/Fallout.Common/Attributes/LatestMavenVersionAttribute.cs rename to src/Fallout.Application/Attributes/LatestMavenVersionAttribute.cs diff --git a/src/Fallout.Common/Attributes/LatestMyGetVersionAttribute.cs b/src/Fallout.Application/Attributes/LatestMyGetVersionAttribute.cs similarity index 100% rename from src/Fallout.Common/Attributes/LatestMyGetVersionAttribute.cs rename to src/Fallout.Application/Attributes/LatestMyGetVersionAttribute.cs diff --git a/src/Fallout.Common/Attributes/LatestNpmVersionAttribute.cs b/src/Fallout.Application/Attributes/LatestNpmVersionAttribute.cs similarity index 100% rename from src/Fallout.Common/Attributes/LatestNpmVersionAttribute.cs rename to src/Fallout.Application/Attributes/LatestNpmVersionAttribute.cs diff --git a/src/Fallout.Common/Attributes/LatestNuGetVersionAttribute.cs b/src/Fallout.Application/Attributes/LatestNuGetVersionAttribute.cs similarity index 100% rename from src/Fallout.Common/Attributes/LatestNuGetVersionAttribute.cs rename to src/Fallout.Application/Attributes/LatestNuGetVersionAttribute.cs diff --git a/src/Fallout.Common/Attributes/LocalPathAttribute.cs b/src/Fallout.Application/Attributes/LocalPathAttribute.cs similarity index 100% rename from src/Fallout.Common/Attributes/LocalPathAttribute.cs rename to src/Fallout.Application/Attributes/LocalPathAttribute.cs diff --git a/src/Fallout.Common/Attributes/NpmPackageAttribute.cs b/src/Fallout.Application/Attributes/NpmPackageAttribute.cs similarity index 100% rename from src/Fallout.Common/Attributes/NpmPackageAttribute.cs rename to src/Fallout.Application/Attributes/NpmPackageAttribute.cs diff --git a/src/Fallout.Common/Attributes/NuGetPackageAttribute.cs b/src/Fallout.Application/Attributes/NuGetPackageAttribute.cs similarity index 100% rename from src/Fallout.Common/Attributes/NuGetPackageAttribute.cs rename to src/Fallout.Application/Attributes/NuGetPackageAttribute.cs diff --git a/src/Fallout.Common/Attributes/PathVariableAttribute.cs b/src/Fallout.Application/Attributes/PathVariableAttribute.cs similarity index 100% rename from src/Fallout.Common/Attributes/PathVariableAttribute.cs rename to src/Fallout.Application/Attributes/PathVariableAttribute.cs diff --git a/src/Fallout.Common/Attributes/SolutionAttribute.cs b/src/Fallout.Application/Attributes/SolutionAttribute.cs similarity index 100% rename from src/Fallout.Common/Attributes/SolutionAttribute.cs rename to src/Fallout.Application/Attributes/SolutionAttribute.cs diff --git a/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesCodeCoverageToolType.cs b/src/Fallout.Application/CI/AzurePipelines/AzurePipelinesCodeCoverageToolType.cs similarity index 100% rename from src/Fallout.Common/CI/AzurePipelines/AzurePipelinesCodeCoverageToolType.cs rename to src/Fallout.Application/CI/AzurePipelines/AzurePipelinesCodeCoverageToolType.cs diff --git a/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesTestResultsType.cs b/src/Fallout.Application/CI/AzurePipelines/AzurePipelinesTestResultsType.cs similarity index 100% rename from src/Fallout.Common/CI/AzurePipelines/AzurePipelinesTestResultsType.cs rename to src/Fallout.Application/CI/AzurePipelines/AzurePipelinesTestResultsType.cs diff --git a/src/Fallout.Common/CI/CiHostPorts.cs b/src/Fallout.Application/CI/CiHostPorts.cs similarity index 100% rename from src/Fallout.Common/CI/CiHostPorts.cs rename to src/Fallout.Application/CI/CiHostPorts.cs diff --git a/src/Fallout.Common/ChangeLog/ChangeLog.cs b/src/Fallout.Application/ChangeLog/ChangeLog.cs similarity index 100% rename from src/Fallout.Common/ChangeLog/ChangeLog.cs rename to src/Fallout.Application/ChangeLog/ChangeLog.cs diff --git a/src/Fallout.Common/ChangeLog/ReleaseNotes.cs b/src/Fallout.Application/ChangeLog/ReleaseNotes.cs similarity index 100% rename from src/Fallout.Common/ChangeLog/ReleaseNotes.cs rename to src/Fallout.Application/ChangeLog/ReleaseNotes.cs diff --git a/src/Fallout.Application/Fallout.Application.csproj b/src/Fallout.Application/Fallout.Application.csproj index 5c13f8753..aee4f0fb6 100644 --- a/src/Fallout.Application/Fallout.Application.csproj +++ b/src/Fallout.Application/Fallout.Application.csproj @@ -36,4 +36,9 @@ + + + + + diff --git a/src/Fallout.Common/IO/FtpTasks.cs b/src/Fallout.Application/IO/FtpTasks.cs similarity index 100% rename from src/Fallout.Common/IO/FtpTasks.cs rename to src/Fallout.Application/IO/FtpTasks.cs diff --git a/src/Fallout.Common/IO/HttpTasks.cs b/src/Fallout.Application/IO/HttpTasks.cs similarity index 100% rename from src/Fallout.Common/IO/HttpTasks.cs rename to src/Fallout.Application/IO/HttpTasks.cs index a64fde870..16e2a32c6 100644 --- a/src/Fallout.Common/IO/HttpTasks.cs +++ b/src/Fallout.Application/IO/HttpTasks.cs @@ -4,8 +4,8 @@ using System.Net.Http; using System.Net.Http.Headers; using System.Threading.Tasks; -using Fallout.Application.Tooling; using Fallout.Kernel; +using Fallout.Application.Tooling; namespace Fallout.Kernel.IO; diff --git a/src/Fallout.Common/Utilities/TemplateUtility.cs b/src/Fallout.Application/Utilities/TemplateUtility.cs similarity index 100% rename from src/Fallout.Common/Utilities/TemplateUtility.cs rename to src/Fallout.Application/Utilities/TemplateUtility.cs diff --git a/src/Fallout.Cli/Fallout.Cli.csproj b/src/Fallout.Cli/Fallout.Cli.csproj index e64c55bbb..d934312da 100644 --- a/src/Fallout.Cli/Fallout.Cli.csproj +++ b/src/Fallout.Cli/Fallout.Cli.csproj @@ -10,7 +10,6 @@ - @@ -42,4 +41,9 @@ + + + + + diff --git a/src/Fallout.Common/CI/AppVeyor/AppVeyor.Theming.cs b/src/Fallout.Infrastructure.CI/AppVeyor/AppVeyor.Theming.cs similarity index 100% rename from src/Fallout.Common/CI/AppVeyor/AppVeyor.Theming.cs rename to src/Fallout.Infrastructure.CI/AppVeyor/AppVeyor.Theming.cs diff --git a/src/Fallout.Common/CI/AppVeyor/AppVeyor.cs b/src/Fallout.Infrastructure.CI/AppVeyor/AppVeyor.cs similarity index 100% rename from src/Fallout.Common/CI/AppVeyor/AppVeyor.cs rename to src/Fallout.Infrastructure.CI/AppVeyor/AppVeyor.cs diff --git a/src/Fallout.Common/CI/AppVeyor/AppVeyorAttribute.cs b/src/Fallout.Infrastructure.CI/AppVeyor/AppVeyorAttribute.cs similarity index 100% rename from src/Fallout.Common/CI/AppVeyor/AppVeyorAttribute.cs rename to src/Fallout.Infrastructure.CI/AppVeyor/AppVeyorAttribute.cs diff --git a/src/Fallout.Common/CI/AppVeyor/AppVeyorImage.cs b/src/Fallout.Infrastructure.CI/AppVeyor/AppVeyorImage.cs similarity index 100% rename from src/Fallout.Common/CI/AppVeyor/AppVeyorImage.cs rename to src/Fallout.Infrastructure.CI/AppVeyor/AppVeyorImage.cs diff --git a/src/Fallout.Common/CI/AppVeyor/AppVeyorSecretAttribute.cs b/src/Fallout.Infrastructure.CI/AppVeyor/AppVeyorSecretAttribute.cs similarity index 100% rename from src/Fallout.Common/CI/AppVeyor/AppVeyorSecretAttribute.cs rename to src/Fallout.Infrastructure.CI/AppVeyor/AppVeyorSecretAttribute.cs diff --git a/src/Fallout.Common/CI/AppVeyor/AppVeyorService.cs b/src/Fallout.Infrastructure.CI/AppVeyor/AppVeyorService.cs similarity index 100% rename from src/Fallout.Common/CI/AppVeyor/AppVeyorService.cs rename to src/Fallout.Infrastructure.CI/AppVeyor/AppVeyorService.cs diff --git a/src/Fallout.Common/CI/AppVeyor/Configuration/AppVeyorBranches.cs b/src/Fallout.Infrastructure.CI/AppVeyor/Configuration/AppVeyorBranches.cs similarity index 100% rename from src/Fallout.Common/CI/AppVeyor/Configuration/AppVeyorBranches.cs rename to src/Fallout.Infrastructure.CI/AppVeyor/Configuration/AppVeyorBranches.cs diff --git a/src/Fallout.Common/CI/AppVeyor/Configuration/AppVeyorConfiguration.cs b/src/Fallout.Infrastructure.CI/AppVeyor/Configuration/AppVeyorConfiguration.cs similarity index 100% rename from src/Fallout.Common/CI/AppVeyor/Configuration/AppVeyorConfiguration.cs rename to src/Fallout.Infrastructure.CI/AppVeyor/Configuration/AppVeyorConfiguration.cs diff --git a/src/Fallout.Common/CI/AppVeyor/Configuration/AppVeyorCustomWriterExtensions.cs b/src/Fallout.Infrastructure.CI/AppVeyor/Configuration/AppVeyorCustomWriterExtensions.cs similarity index 100% rename from src/Fallout.Common/CI/AppVeyor/Configuration/AppVeyorCustomWriterExtensions.cs rename to src/Fallout.Infrastructure.CI/AppVeyor/Configuration/AppVeyorCustomWriterExtensions.cs diff --git a/src/Fallout.Common/CI/AzurePipelines/AzurePipelines.Theming.cs b/src/Fallout.Infrastructure.CI/AzurePipelines/AzurePipelines.Theming.cs similarity index 100% rename from src/Fallout.Common/CI/AzurePipelines/AzurePipelines.Theming.cs rename to src/Fallout.Infrastructure.CI/AzurePipelines/AzurePipelines.Theming.cs diff --git a/src/Fallout.Common/CI/AzurePipelines/AzurePipelines.cs b/src/Fallout.Infrastructure.CI/AzurePipelines/AzurePipelines.cs similarity index 100% rename from src/Fallout.Common/CI/AzurePipelines/AzurePipelines.cs rename to src/Fallout.Infrastructure.CI/AzurePipelines/AzurePipelines.cs diff --git a/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesAttribute.cs b/src/Fallout.Infrastructure.CI/AzurePipelines/AzurePipelinesAttribute.cs similarity index 100% rename from src/Fallout.Common/CI/AzurePipelines/AzurePipelinesAttribute.cs rename to src/Fallout.Infrastructure.CI/AzurePipelines/AzurePipelinesAttribute.cs diff --git a/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesBuildReason.cs b/src/Fallout.Infrastructure.CI/AzurePipelines/AzurePipelinesBuildReason.cs similarity index 100% rename from src/Fallout.Common/CI/AzurePipelines/AzurePipelinesBuildReason.cs rename to src/Fallout.Infrastructure.CI/AzurePipelines/AzurePipelinesBuildReason.cs diff --git a/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesCachePaths.cs b/src/Fallout.Infrastructure.CI/AzurePipelines/AzurePipelinesCachePaths.cs similarity index 100% rename from src/Fallout.Common/CI/AzurePipelines/AzurePipelinesCachePaths.cs rename to src/Fallout.Infrastructure.CI/AzurePipelines/AzurePipelinesCachePaths.cs diff --git a/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesImage.cs b/src/Fallout.Infrastructure.CI/AzurePipelines/AzurePipelinesImage.cs similarity index 100% rename from src/Fallout.Common/CI/AzurePipelines/AzurePipelinesImage.cs rename to src/Fallout.Infrastructure.CI/AzurePipelines/AzurePipelinesImage.cs diff --git a/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesIssueType.cs b/src/Fallout.Infrastructure.CI/AzurePipelines/AzurePipelinesIssueType.cs similarity index 100% rename from src/Fallout.Common/CI/AzurePipelines/AzurePipelinesIssueType.cs rename to src/Fallout.Infrastructure.CI/AzurePipelines/AzurePipelinesIssueType.cs diff --git a/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesJobStatus.cs b/src/Fallout.Infrastructure.CI/AzurePipelines/AzurePipelinesJobStatus.cs similarity index 100% rename from src/Fallout.Common/CI/AzurePipelines/AzurePipelinesJobStatus.cs rename to src/Fallout.Infrastructure.CI/AzurePipelines/AzurePipelinesJobStatus.cs diff --git a/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesRepositoryType.cs b/src/Fallout.Infrastructure.CI/AzurePipelines/AzurePipelinesRepositoryType.cs similarity index 100% rename from src/Fallout.Common/CI/AzurePipelines/AzurePipelinesRepositoryType.cs rename to src/Fallout.Infrastructure.CI/AzurePipelines/AzurePipelinesRepositoryType.cs diff --git a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelineCheckoutStep.cs b/src/Fallout.Infrastructure.CI/AzurePipelines/Configuration/AzurePipelineCheckoutStep.cs similarity index 100% rename from src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelineCheckoutStep.cs rename to src/Fallout.Infrastructure.CI/AzurePipelines/Configuration/AzurePipelineCheckoutStep.cs diff --git a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesCacheStep.cs b/src/Fallout.Infrastructure.CI/AzurePipelines/Configuration/AzurePipelinesCacheStep.cs similarity index 100% rename from src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesCacheStep.cs rename to src/Fallout.Infrastructure.CI/AzurePipelines/Configuration/AzurePipelinesCacheStep.cs diff --git a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesCmdStep.cs b/src/Fallout.Infrastructure.CI/AzurePipelines/Configuration/AzurePipelinesCmdStep.cs similarity index 100% rename from src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesCmdStep.cs rename to src/Fallout.Infrastructure.CI/AzurePipelines/Configuration/AzurePipelinesCmdStep.cs diff --git a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesConfiguration.cs b/src/Fallout.Infrastructure.CI/AzurePipelines/Configuration/AzurePipelinesConfiguration.cs similarity index 100% rename from src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesConfiguration.cs rename to src/Fallout.Infrastructure.CI/AzurePipelines/Configuration/AzurePipelinesConfiguration.cs diff --git a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesCustomWriterExtensions.cs b/src/Fallout.Infrastructure.CI/AzurePipelines/Configuration/AzurePipelinesCustomWriterExtensions.cs similarity index 100% rename from src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesCustomWriterExtensions.cs rename to src/Fallout.Infrastructure.CI/AzurePipelines/Configuration/AzurePipelinesCustomWriterExtensions.cs diff --git a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesDownloadStep.cs b/src/Fallout.Infrastructure.CI/AzurePipelines/Configuration/AzurePipelinesDownloadStep.cs similarity index 100% rename from src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesDownloadStep.cs rename to src/Fallout.Infrastructure.CI/AzurePipelines/Configuration/AzurePipelinesDownloadStep.cs diff --git a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesJob.cs b/src/Fallout.Infrastructure.CI/AzurePipelines/Configuration/AzurePipelinesJob.cs similarity index 100% rename from src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesJob.cs rename to src/Fallout.Infrastructure.CI/AzurePipelines/Configuration/AzurePipelinesJob.cs diff --git a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesPublishStep.cs b/src/Fallout.Infrastructure.CI/AzurePipelines/Configuration/AzurePipelinesPublishStep.cs similarity index 100% rename from src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesPublishStep.cs rename to src/Fallout.Infrastructure.CI/AzurePipelines/Configuration/AzurePipelinesPublishStep.cs diff --git a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesStage.cs b/src/Fallout.Infrastructure.CI/AzurePipelines/Configuration/AzurePipelinesStage.cs similarity index 100% rename from src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesStage.cs rename to src/Fallout.Infrastructure.CI/AzurePipelines/Configuration/AzurePipelinesStage.cs diff --git a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesStep.cs b/src/Fallout.Infrastructure.CI/AzurePipelines/Configuration/AzurePipelinesStep.cs similarity index 100% rename from src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesStep.cs rename to src/Fallout.Infrastructure.CI/AzurePipelines/Configuration/AzurePipelinesStep.cs diff --git a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesVcsPushTrigger.cs b/src/Fallout.Infrastructure.CI/AzurePipelines/Configuration/AzurePipelinesVcsPushTrigger.cs similarity index 100% rename from src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesVcsPushTrigger.cs rename to src/Fallout.Infrastructure.CI/AzurePipelines/Configuration/AzurePipelinesVcsPushTrigger.cs diff --git a/src/Fallout.Common/CI/Bamboo/Bamboo.cs b/src/Fallout.Infrastructure.CI/Bamboo/Bamboo.cs similarity index 100% rename from src/Fallout.Common/CI/Bamboo/Bamboo.cs rename to src/Fallout.Infrastructure.CI/Bamboo/Bamboo.cs diff --git a/src/Fallout.Common/CI/Bitbucket/Bitbucket.cs b/src/Fallout.Infrastructure.CI/Bitbucket/Bitbucket.cs similarity index 100% rename from src/Fallout.Common/CI/Bitbucket/Bitbucket.cs rename to src/Fallout.Infrastructure.CI/Bitbucket/Bitbucket.cs diff --git a/src/Fallout.Common/CI/Bitrise/Bitrise.cs b/src/Fallout.Infrastructure.CI/Bitrise/Bitrise.cs similarity index 100% rename from src/Fallout.Common/CI/Bitrise/Bitrise.cs rename to src/Fallout.Infrastructure.CI/Bitrise/Bitrise.cs diff --git a/src/Fallout.Infrastructure.CI/Fallout.Infrastructure.CI.csproj b/src/Fallout.Infrastructure.CI/Fallout.Infrastructure.CI.csproj new file mode 100644 index 000000000..1a11519d8 --- /dev/null +++ b/src/Fallout.Infrastructure.CI/Fallout.Infrastructure.CI.csproj @@ -0,0 +1,21 @@ + + + + net10.0 + CI host adapters (GitHub Actions, TeamCity, Azure Pipelines, …) behind Fallout.Application.CI ports. + + + + + + + + + + + + + + + + diff --git a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsArtifactStep.cs b/src/Fallout.Infrastructure.CI/GitHubActions/Configuration/GitHubActionsArtifactStep.cs similarity index 100% rename from src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsArtifactStep.cs rename to src/Fallout.Infrastructure.CI/GitHubActions/Configuration/GitHubActionsArtifactStep.cs diff --git a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsCacheStep.cs b/src/Fallout.Infrastructure.CI/GitHubActions/Configuration/GitHubActionsCacheStep.cs similarity index 100% rename from src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsCacheStep.cs rename to src/Fallout.Infrastructure.CI/GitHubActions/Configuration/GitHubActionsCacheStep.cs diff --git a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsCheckoutStep.cs b/src/Fallout.Infrastructure.CI/GitHubActions/Configuration/GitHubActionsCheckoutStep.cs similarity index 100% rename from src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsCheckoutStep.cs rename to src/Fallout.Infrastructure.CI/GitHubActions/Configuration/GitHubActionsCheckoutStep.cs diff --git a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsConfiguration.cs b/src/Fallout.Infrastructure.CI/GitHubActions/Configuration/GitHubActionsConfiguration.cs similarity index 100% rename from src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsConfiguration.cs rename to src/Fallout.Infrastructure.CI/GitHubActions/Configuration/GitHubActionsConfiguration.cs diff --git a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsDetailedTrigger.cs b/src/Fallout.Infrastructure.CI/GitHubActions/Configuration/GitHubActionsDetailedTrigger.cs similarity index 100% rename from src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsDetailedTrigger.cs rename to src/Fallout.Infrastructure.CI/GitHubActions/Configuration/GitHubActionsDetailedTrigger.cs diff --git a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsJob.cs b/src/Fallout.Infrastructure.CI/GitHubActions/Configuration/GitHubActionsJob.cs similarity index 100% rename from src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsJob.cs rename to src/Fallout.Infrastructure.CI/GitHubActions/Configuration/GitHubActionsJob.cs diff --git a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsRunStep.cs b/src/Fallout.Infrastructure.CI/GitHubActions/Configuration/GitHubActionsRunStep.cs similarity index 100% rename from src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsRunStep.cs rename to src/Fallout.Infrastructure.CI/GitHubActions/Configuration/GitHubActionsRunStep.cs diff --git a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsScheduledTrigger.cs b/src/Fallout.Infrastructure.CI/GitHubActions/Configuration/GitHubActionsScheduledTrigger.cs similarity index 100% rename from src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsScheduledTrigger.cs rename to src/Fallout.Infrastructure.CI/GitHubActions/Configuration/GitHubActionsScheduledTrigger.cs diff --git a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsStep.cs b/src/Fallout.Infrastructure.CI/GitHubActions/Configuration/GitHubActionsStep.cs similarity index 100% rename from src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsStep.cs rename to src/Fallout.Infrastructure.CI/GitHubActions/Configuration/GitHubActionsStep.cs diff --git a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsVcsTrigger.cs b/src/Fallout.Infrastructure.CI/GitHubActions/Configuration/GitHubActionsVcsTrigger.cs similarity index 100% rename from src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsVcsTrigger.cs rename to src/Fallout.Infrastructure.CI/GitHubActions/Configuration/GitHubActionsVcsTrigger.cs diff --git a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsWorkflowDispatchTrigger.cs b/src/Fallout.Infrastructure.CI/GitHubActions/Configuration/GitHubActionsWorkflowDispatchTrigger.cs similarity index 100% rename from src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsWorkflowDispatchTrigger.cs rename to src/Fallout.Infrastructure.CI/GitHubActions/Configuration/GitHubActionsWorkflowDispatchTrigger.cs diff --git a/src/Fallout.Common/CI/GitHubActions/GitHubActions.Client.cs b/src/Fallout.Infrastructure.CI/GitHubActions/GitHubActions.Client.cs similarity index 100% rename from src/Fallout.Common/CI/GitHubActions/GitHubActions.Client.cs rename to src/Fallout.Infrastructure.CI/GitHubActions/GitHubActions.Client.cs diff --git a/src/Fallout.Common/CI/GitHubActions/GitHubActions.Theming.cs b/src/Fallout.Infrastructure.CI/GitHubActions/GitHubActions.Theming.cs similarity index 100% rename from src/Fallout.Common/CI/GitHubActions/GitHubActions.Theming.cs rename to src/Fallout.Infrastructure.CI/GitHubActions/GitHubActions.Theming.cs diff --git a/src/Fallout.Common/CI/GitHubActions/GitHubActions.cs b/src/Fallout.Infrastructure.CI/GitHubActions/GitHubActions.cs similarity index 100% rename from src/Fallout.Common/CI/GitHubActions/GitHubActions.cs rename to src/Fallout.Infrastructure.CI/GitHubActions/GitHubActions.cs diff --git a/src/Fallout.Common/CI/GitHubActions/GitHubActionsAttribute.cs b/src/Fallout.Infrastructure.CI/GitHubActions/GitHubActionsAttribute.cs similarity index 100% rename from src/Fallout.Common/CI/GitHubActions/GitHubActionsAttribute.cs rename to src/Fallout.Infrastructure.CI/GitHubActions/GitHubActionsAttribute.cs diff --git a/src/Fallout.Common/CI/GitHubActions/GitHubActionsImage.cs b/src/Fallout.Infrastructure.CI/GitHubActions/GitHubActionsImage.cs similarity index 100% rename from src/Fallout.Common/CI/GitHubActions/GitHubActionsImage.cs rename to src/Fallout.Infrastructure.CI/GitHubActions/GitHubActionsImage.cs diff --git a/src/Fallout.Common/CI/GitHubActions/GitHubActionsPermissions.cs b/src/Fallout.Infrastructure.CI/GitHubActions/GitHubActionsPermissions.cs similarity index 100% rename from src/Fallout.Common/CI/GitHubActions/GitHubActionsPermissions.cs rename to src/Fallout.Infrastructure.CI/GitHubActions/GitHubActionsPermissions.cs diff --git a/src/Fallout.Common/CI/GitHubActions/GitHubActionsSubmodules.cs b/src/Fallout.Infrastructure.CI/GitHubActions/GitHubActionsSubmodules.cs similarity index 100% rename from src/Fallout.Common/CI/GitHubActions/GitHubActionsSubmodules.cs rename to src/Fallout.Infrastructure.CI/GitHubActions/GitHubActionsSubmodules.cs diff --git a/src/Fallout.Common/CI/GitHubActions/GitHubActionsTrigger.cs b/src/Fallout.Infrastructure.CI/GitHubActions/GitHubActionsTrigger.cs similarity index 100% rename from src/Fallout.Common/CI/GitHubActions/GitHubActionsTrigger.cs rename to src/Fallout.Infrastructure.CI/GitHubActions/GitHubActionsTrigger.cs diff --git a/src/Fallout.Common/CI/GitLab/GitLab.Theming.cs b/src/Fallout.Infrastructure.CI/GitLab/GitLab.Theming.cs similarity index 100% rename from src/Fallout.Common/CI/GitLab/GitLab.Theming.cs rename to src/Fallout.Infrastructure.CI/GitLab/GitLab.Theming.cs diff --git a/src/Fallout.Common/CI/GitLab/GitLab.cs b/src/Fallout.Infrastructure.CI/GitLab/GitLab.cs similarity index 100% rename from src/Fallout.Common/CI/GitLab/GitLab.cs rename to src/Fallout.Infrastructure.CI/GitLab/GitLab.cs diff --git a/src/Fallout.Common/CI/GitLab/GitLabProjectVisibility.cs b/src/Fallout.Infrastructure.CI/GitLab/GitLabProjectVisibility.cs similarity index 100% rename from src/Fallout.Common/CI/GitLab/GitLabProjectVisibility.cs rename to src/Fallout.Infrastructure.CI/GitLab/GitLabProjectVisibility.cs diff --git a/src/Fallout.Common/CI/Jenkins/Jenkins.cs b/src/Fallout.Infrastructure.CI/Jenkins/Jenkins.cs similarity index 100% rename from src/Fallout.Common/CI/Jenkins/Jenkins.cs rename to src/Fallout.Infrastructure.CI/Jenkins/Jenkins.cs diff --git a/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationConfiguration.cs b/src/Fallout.Infrastructure.CI/SpaceAutomation/Configuration/SpaceAutomationConfiguration.cs similarity index 100% rename from src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationConfiguration.cs rename to src/Fallout.Infrastructure.CI/SpaceAutomation/Configuration/SpaceAutomationConfiguration.cs diff --git a/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationContainer.cs b/src/Fallout.Infrastructure.CI/SpaceAutomation/Configuration/SpaceAutomationContainer.cs similarity index 100% rename from src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationContainer.cs rename to src/Fallout.Infrastructure.CI/SpaceAutomation/Configuration/SpaceAutomationContainer.cs diff --git a/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationCronScheduleTrigger.cs b/src/Fallout.Infrastructure.CI/SpaceAutomation/Configuration/SpaceAutomationCronScheduleTrigger.cs similarity index 100% rename from src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationCronScheduleTrigger.cs rename to src/Fallout.Infrastructure.CI/SpaceAutomation/Configuration/SpaceAutomationCronScheduleTrigger.cs diff --git a/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationCustomWriterExtensions.cs b/src/Fallout.Infrastructure.CI/SpaceAutomation/Configuration/SpaceAutomationCustomWriterExtensions.cs similarity index 100% rename from src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationCustomWriterExtensions.cs rename to src/Fallout.Infrastructure.CI/SpaceAutomation/Configuration/SpaceAutomationCustomWriterExtensions.cs diff --git a/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationPushTrigger.cs b/src/Fallout.Infrastructure.CI/SpaceAutomation/Configuration/SpaceAutomationPushTrigger.cs similarity index 100% rename from src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationPushTrigger.cs rename to src/Fallout.Infrastructure.CI/SpaceAutomation/Configuration/SpaceAutomationPushTrigger.cs diff --git a/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationResources.cs b/src/Fallout.Infrastructure.CI/SpaceAutomation/Configuration/SpaceAutomationResources.cs similarity index 100% rename from src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationResources.cs rename to src/Fallout.Infrastructure.CI/SpaceAutomation/Configuration/SpaceAutomationResources.cs diff --git a/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationTrigger.cs b/src/Fallout.Infrastructure.CI/SpaceAutomation/Configuration/SpaceAutomationTrigger.cs similarity index 100% rename from src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationTrigger.cs rename to src/Fallout.Infrastructure.CI/SpaceAutomation/Configuration/SpaceAutomationTrigger.cs diff --git a/src/Fallout.Common/CI/SpaceAutomation/SpaceAutomation.Theming.cs b/src/Fallout.Infrastructure.CI/SpaceAutomation/SpaceAutomation.Theming.cs similarity index 100% rename from src/Fallout.Common/CI/SpaceAutomation/SpaceAutomation.Theming.cs rename to src/Fallout.Infrastructure.CI/SpaceAutomation/SpaceAutomation.Theming.cs diff --git a/src/Fallout.Common/CI/SpaceAutomation/SpaceAutomation.cs b/src/Fallout.Infrastructure.CI/SpaceAutomation/SpaceAutomation.cs similarity index 100% rename from src/Fallout.Common/CI/SpaceAutomation/SpaceAutomation.cs rename to src/Fallout.Infrastructure.CI/SpaceAutomation/SpaceAutomation.cs diff --git a/src/Fallout.Common/CI/SpaceAutomation/SpaceAutomationAttribute.cs b/src/Fallout.Infrastructure.CI/SpaceAutomation/SpaceAutomationAttribute.cs similarity index 100% rename from src/Fallout.Common/CI/SpaceAutomation/SpaceAutomationAttribute.cs rename to src/Fallout.Infrastructure.CI/SpaceAutomation/SpaceAutomationAttribute.cs diff --git a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityArtifactDependency.cs b/src/Fallout.Infrastructure.CI/TeamCity/Configuration/TeamCityArtifactDependency.cs similarity index 100% rename from src/Fallout.Common/CI/TeamCity/Configuration/TeamCityArtifactDependency.cs rename to src/Fallout.Infrastructure.CI/TeamCity/Configuration/TeamCityArtifactDependency.cs diff --git a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityBuildType.cs b/src/Fallout.Infrastructure.CI/TeamCity/Configuration/TeamCityBuildType.cs similarity index 100% rename from src/Fallout.Common/CI/TeamCity/Configuration/TeamCityBuildType.cs rename to src/Fallout.Infrastructure.CI/TeamCity/Configuration/TeamCityBuildType.cs diff --git a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityBuildTypeVcsRoot.cs b/src/Fallout.Infrastructure.CI/TeamCity/Configuration/TeamCityBuildTypeVcsRoot.cs similarity index 100% rename from src/Fallout.Common/CI/TeamCity/Configuration/TeamCityBuildTypeVcsRoot.cs rename to src/Fallout.Infrastructure.CI/TeamCity/Configuration/TeamCityBuildTypeVcsRoot.cs diff --git a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityConfiguration.cs b/src/Fallout.Infrastructure.CI/TeamCity/Configuration/TeamCityConfiguration.cs similarity index 100% rename from src/Fallout.Common/CI/TeamCity/Configuration/TeamCityConfiguration.cs rename to src/Fallout.Infrastructure.CI/TeamCity/Configuration/TeamCityConfiguration.cs diff --git a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityConfigurationParameter.cs b/src/Fallout.Infrastructure.CI/TeamCity/Configuration/TeamCityConfigurationParameter.cs similarity index 100% rename from src/Fallout.Common/CI/TeamCity/Configuration/TeamCityConfigurationParameter.cs rename to src/Fallout.Infrastructure.CI/TeamCity/Configuration/TeamCityConfigurationParameter.cs diff --git a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityCustomWriterExtensions.cs b/src/Fallout.Infrastructure.CI/TeamCity/Configuration/TeamCityCustomWriterExtensions.cs similarity index 100% rename from src/Fallout.Common/CI/TeamCity/Configuration/TeamCityCustomWriterExtensions.cs rename to src/Fallout.Infrastructure.CI/TeamCity/Configuration/TeamCityCustomWriterExtensions.cs diff --git a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityDependency.cs b/src/Fallout.Infrastructure.CI/TeamCity/Configuration/TeamCityDependency.cs similarity index 100% rename from src/Fallout.Common/CI/TeamCity/Configuration/TeamCityDependency.cs rename to src/Fallout.Infrastructure.CI/TeamCity/Configuration/TeamCityDependency.cs diff --git a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityDependencyFailureAction.cs b/src/Fallout.Infrastructure.CI/TeamCity/Configuration/TeamCityDependencyFailureAction.cs similarity index 100% rename from src/Fallout.Common/CI/TeamCity/Configuration/TeamCityDependencyFailureAction.cs rename to src/Fallout.Infrastructure.CI/TeamCity/Configuration/TeamCityDependencyFailureAction.cs diff --git a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityFinishBuildTrigger.cs b/src/Fallout.Infrastructure.CI/TeamCity/Configuration/TeamCityFinishBuildTrigger.cs similarity index 100% rename from src/Fallout.Common/CI/TeamCity/Configuration/TeamCityFinishBuildTrigger.cs rename to src/Fallout.Infrastructure.CI/TeamCity/Configuration/TeamCityFinishBuildTrigger.cs diff --git a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityKeyValueParameter.cs b/src/Fallout.Infrastructure.CI/TeamCity/Configuration/TeamCityKeyValueParameter.cs similarity index 100% rename from src/Fallout.Common/CI/TeamCity/Configuration/TeamCityKeyValueParameter.cs rename to src/Fallout.Infrastructure.CI/TeamCity/Configuration/TeamCityKeyValueParameter.cs diff --git a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityParameter.cs b/src/Fallout.Infrastructure.CI/TeamCity/Configuration/TeamCityParameter.cs similarity index 100% rename from src/Fallout.Common/CI/TeamCity/Configuration/TeamCityParameter.cs rename to src/Fallout.Infrastructure.CI/TeamCity/Configuration/TeamCityParameter.cs diff --git a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityParameterDisplay.cs b/src/Fallout.Infrastructure.CI/TeamCity/Configuration/TeamCityParameterDisplay.cs similarity index 100% rename from src/Fallout.Common/CI/TeamCity/Configuration/TeamCityParameterDisplay.cs rename to src/Fallout.Infrastructure.CI/TeamCity/Configuration/TeamCityParameterDisplay.cs diff --git a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityParameterType.cs b/src/Fallout.Infrastructure.CI/TeamCity/Configuration/TeamCityParameterType.cs similarity index 100% rename from src/Fallout.Common/CI/TeamCity/Configuration/TeamCityParameterType.cs rename to src/Fallout.Infrastructure.CI/TeamCity/Configuration/TeamCityParameterType.cs diff --git a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityProject.cs b/src/Fallout.Infrastructure.CI/TeamCity/Configuration/TeamCityProject.cs similarity index 100% rename from src/Fallout.Common/CI/TeamCity/Configuration/TeamCityProject.cs rename to src/Fallout.Infrastructure.CI/TeamCity/Configuration/TeamCityProject.cs diff --git a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityScheduledTrigger.cs b/src/Fallout.Infrastructure.CI/TeamCity/Configuration/TeamCityScheduledTrigger.cs similarity index 100% rename from src/Fallout.Common/CI/TeamCity/Configuration/TeamCityScheduledTrigger.cs rename to src/Fallout.Infrastructure.CI/TeamCity/Configuration/TeamCityScheduledTrigger.cs diff --git a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCitySnapshotDependency.cs b/src/Fallout.Infrastructure.CI/TeamCity/Configuration/TeamCitySnapshotDependency.cs similarity index 100% rename from src/Fallout.Common/CI/TeamCity/Configuration/TeamCitySnapshotDependency.cs rename to src/Fallout.Infrastructure.CI/TeamCity/Configuration/TeamCitySnapshotDependency.cs diff --git a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityTrigger.cs b/src/Fallout.Infrastructure.CI/TeamCity/Configuration/TeamCityTrigger.cs similarity index 100% rename from src/Fallout.Common/CI/TeamCity/Configuration/TeamCityTrigger.cs rename to src/Fallout.Infrastructure.CI/TeamCity/Configuration/TeamCityTrigger.cs diff --git a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityVcsRoot.cs b/src/Fallout.Infrastructure.CI/TeamCity/Configuration/TeamCityVcsRoot.cs similarity index 100% rename from src/Fallout.Common/CI/TeamCity/Configuration/TeamCityVcsRoot.cs rename to src/Fallout.Infrastructure.CI/TeamCity/Configuration/TeamCityVcsRoot.cs diff --git a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityVcsTrigger.cs b/src/Fallout.Infrastructure.CI/TeamCity/Configuration/TeamCityVcsTrigger.cs similarity index 100% rename from src/Fallout.Common/CI/TeamCity/Configuration/TeamCityVcsTrigger.cs rename to src/Fallout.Infrastructure.CI/TeamCity/Configuration/TeamCityVcsTrigger.cs diff --git a/src/Fallout.Common/CI/TeamCity/Configuration/pom.xml b/src/Fallout.Infrastructure.CI/TeamCity/Configuration/pom.xml similarity index 100% rename from src/Fallout.Common/CI/TeamCity/Configuration/pom.xml rename to src/Fallout.Infrastructure.CI/TeamCity/Configuration/pom.xml diff --git a/src/Fallout.Common/CI/TeamCity/DotNetBuildSettingsExtensions.cs b/src/Fallout.Infrastructure.CI/TeamCity/DotNetBuildSettingsExtensions.cs similarity index 100% rename from src/Fallout.Common/CI/TeamCity/DotNetBuildSettingsExtensions.cs rename to src/Fallout.Infrastructure.CI/TeamCity/DotNetBuildSettingsExtensions.cs diff --git a/src/Fallout.Common/CI/TeamCity/DotNetTestSettingsExtensions.cs b/src/Fallout.Infrastructure.CI/TeamCity/DotNetTestSettingsExtensions.cs similarity index 100% rename from src/Fallout.Common/CI/TeamCity/DotNetTestSettingsExtensions.cs rename to src/Fallout.Infrastructure.CI/TeamCity/DotNetTestSettingsExtensions.cs diff --git a/src/Fallout.Common/CI/TeamCity/MSBuildSettingsExtensions.cs b/src/Fallout.Infrastructure.CI/TeamCity/MSBuildSettingsExtensions.cs similarity index 100% rename from src/Fallout.Common/CI/TeamCity/MSBuildSettingsExtensions.cs rename to src/Fallout.Infrastructure.CI/TeamCity/MSBuildSettingsExtensions.cs diff --git a/src/Fallout.Common/CI/TeamCity/TeamCity.Theming.cs b/src/Fallout.Infrastructure.CI/TeamCity/TeamCity.Theming.cs similarity index 100% rename from src/Fallout.Common/CI/TeamCity/TeamCity.Theming.cs rename to src/Fallout.Infrastructure.CI/TeamCity/TeamCity.Theming.cs diff --git a/src/Fallout.Common/CI/TeamCity/TeamCity.cs b/src/Fallout.Infrastructure.CI/TeamCity/TeamCity.cs similarity index 100% rename from src/Fallout.Common/CI/TeamCity/TeamCity.cs rename to src/Fallout.Infrastructure.CI/TeamCity/TeamCity.cs diff --git a/src/Fallout.Common/CI/TeamCity/TeamCityAttribute.cs b/src/Fallout.Infrastructure.CI/TeamCity/TeamCityAttribute.cs similarity index 100% rename from src/Fallout.Common/CI/TeamCity/TeamCityAttribute.cs rename to src/Fallout.Infrastructure.CI/TeamCity/TeamCityAttribute.cs diff --git a/src/Fallout.Common/CI/TeamCity/TeamCityImportTool.cs b/src/Fallout.Infrastructure.CI/TeamCity/TeamCityImportTool.cs similarity index 100% rename from src/Fallout.Common/CI/TeamCity/TeamCityImportTool.cs rename to src/Fallout.Infrastructure.CI/TeamCity/TeamCityImportTool.cs diff --git a/src/Fallout.Common/CI/TeamCity/TeamCityImportType.cs b/src/Fallout.Infrastructure.CI/TeamCity/TeamCityImportType.cs similarity index 100% rename from src/Fallout.Common/CI/TeamCity/TeamCityImportType.cs rename to src/Fallout.Infrastructure.CI/TeamCity/TeamCityImportType.cs diff --git a/src/Fallout.Common/CI/TeamCity/TeamCityNoDataPublishedAction.cs b/src/Fallout.Infrastructure.CI/TeamCity/TeamCityNoDataPublishedAction.cs similarity index 100% rename from src/Fallout.Common/CI/TeamCity/TeamCityNoDataPublishedAction.cs rename to src/Fallout.Infrastructure.CI/TeamCity/TeamCityNoDataPublishedAction.cs diff --git a/src/Fallout.Common/CI/TeamCity/TeamCityStatus.cs b/src/Fallout.Infrastructure.CI/TeamCity/TeamCityStatus.cs similarity index 100% rename from src/Fallout.Common/CI/TeamCity/TeamCityStatus.cs rename to src/Fallout.Infrastructure.CI/TeamCity/TeamCityStatus.cs diff --git a/src/Fallout.Common/CI/TeamCity/TeamCityTokenAttribute.cs b/src/Fallout.Infrastructure.CI/TeamCity/TeamCityTokenAttribute.cs similarity index 100% rename from src/Fallout.Common/CI/TeamCity/TeamCityTokenAttribute.cs rename to src/Fallout.Infrastructure.CI/TeamCity/TeamCityTokenAttribute.cs diff --git a/src/Fallout.Common/CI/TravisCI/TravisCI.Theming.cs b/src/Fallout.Infrastructure.CI/TravisCI/TravisCI.Theming.cs similarity index 100% rename from src/Fallout.Common/CI/TravisCI/TravisCI.Theming.cs rename to src/Fallout.Infrastructure.CI/TravisCI/TravisCI.Theming.cs diff --git a/src/Fallout.Common/CI/TravisCI/TravisCI.cs b/src/Fallout.Infrastructure.CI/TravisCI/TravisCI.cs similarity index 100% rename from src/Fallout.Common/CI/TravisCI/TravisCI.cs rename to src/Fallout.Infrastructure.CI/TravisCI/TravisCI.cs diff --git a/src/Fallout.Common/CI/TravisCI/TravisCIEventType.cs b/src/Fallout.Infrastructure.CI/TravisCI/TravisCIEventType.cs similarity index 100% rename from src/Fallout.Common/CI/TravisCI/TravisCIEventType.cs rename to src/Fallout.Infrastructure.CI/TravisCI/TravisCIEventType.cs diff --git a/src/Fallout.Common/IO/TextTasks.cs b/src/Fallout.Kernel/IO/TextTasks.cs similarity index 100% rename from src/Fallout.Common/IO/TextTasks.cs rename to src/Fallout.Kernel/IO/TextTasks.cs diff --git a/src/Fallout.Common/IO/XmlTasks.cs b/src/Fallout.Kernel/IO/XmlTasks.cs similarity index 100% rename from src/Fallout.Common/IO/XmlTasks.cs rename to src/Fallout.Kernel/IO/XmlTasks.cs diff --git a/src/Fallout.Common/Fallout.Common.csproj b/src/Fallout/Fallout.csproj similarity index 52% rename from src/Fallout.Common/Fallout.Common.csproj rename to src/Fallout/Fallout.csproj index 901e4029c..580b9330d 100644 --- a/src/Fallout.Common/Fallout.Common.csproj +++ b/src/Fallout/Fallout.csproj @@ -1,51 +1,47 @@ - - + + + net10.0 + Fallout — build automation for .NET. Reference this package to author a build. - - - - - - - + + + + + + + + + + + + + + + - - - - - - - - + - - - - - - - - - - - - - diff --git a/src/Fallout.Common/Fallout.Common.props b/src/Fallout/Fallout.props similarity index 100% rename from src/Fallout.Common/Fallout.Common.props rename to src/Fallout/Fallout.props diff --git a/src/Fallout.Common/Fallout.Common.targets b/src/Fallout/Fallout.targets similarity index 100% rename from src/Fallout.Common/Fallout.Common.targets rename to src/Fallout/Fallout.targets diff --git a/src/Shims/Nuke.Common/Nuke.Common.csproj b/src/Shims/Nuke.Common/Nuke.Common.csproj index 58d077a30..96132391b 100644 --- a/src/Shims/Nuke.Common/Nuke.Common.csproj +++ b/src/Shims/Nuke.Common/Nuke.Common.csproj @@ -27,11 +27,13 @@ - - + + + + + + diff --git a/tests/Consumers/Fallout.Consumer.Local/Fallout.Consumer.Local.csproj b/tests/Consumers/Fallout.Consumer.Local/Fallout.Consumer.Local.csproj index 61909873e..3a879ae68 100644 --- a/tests/Consumers/Fallout.Consumer.Local/Fallout.Consumer.Local.csproj +++ b/tests/Consumers/Fallout.Consumer.Local/Fallout.Consumer.Local.csproj @@ -18,7 +18,6 @@ became `using Fallout.Solutions;` in the same PR. --> - @@ -29,4 +28,9 @@ + + + + + diff --git a/tests/Fallout.Architecture.Tests/Fallout.Architecture.Tests.csproj b/tests/Fallout.Architecture.Tests/Fallout.Architecture.Tests.csproj index 8792c8299..a300299a0 100644 --- a/tests/Fallout.Architecture.Tests/Fallout.Architecture.Tests.csproj +++ b/tests/Fallout.Architecture.Tests/Fallout.Architecture.Tests.csproj @@ -11,7 +11,6 @@ - @@ -19,4 +18,9 @@ + + + + + diff --git a/tests/Fallout.Cli.Tests/Fallout.Cli.Tests.csproj b/tests/Fallout.Cli.Tests/Fallout.Cli.Tests.csproj index 911b87173..ea2146246 100644 --- a/tests/Fallout.Cli.Tests/Fallout.Cli.Tests.csproj +++ b/tests/Fallout.Cli.Tests/Fallout.Cli.Tests.csproj @@ -5,7 +5,6 @@ - @@ -14,4 +13,9 @@ + + + + + diff --git a/tests/Fallout.Common.Tests/Fallout.Common.Tests.csproj b/tests/Fallout.Common.Tests/Fallout.Common.Tests.csproj index 0df502072..bb109e5c1 100644 --- a/tests/Fallout.Common.Tests/Fallout.Common.Tests.csproj +++ b/tests/Fallout.Common.Tests/Fallout.Common.Tests.csproj @@ -4,8 +4,10 @@ net10.0 + - + + diff --git a/tests/Fallout.SourceGenerators.Tests/Fallout.SourceGenerators.Tests.csproj b/tests/Fallout.SourceGenerators.Tests/Fallout.SourceGenerators.Tests.csproj index 5c332e6b8..893931ad0 100644 --- a/tests/Fallout.SourceGenerators.Tests/Fallout.SourceGenerators.Tests.csproj +++ b/tests/Fallout.SourceGenerators.Tests/Fallout.SourceGenerators.Tests.csproj @@ -7,7 +7,6 @@ - @@ -18,4 +17,10 @@ + + + + + + diff --git a/tests/Fallout.SourceGenerators.Tests/StronglyTypedSolutionGeneratorTest.Test#Solution.g.verified.cs b/tests/Fallout.SourceGenerators.Tests/StronglyTypedSolutionGeneratorTest.Test#Solution.g.verified.cs index 4d84f504f..bb9754355 100644 --- a/tests/Fallout.SourceGenerators.Tests/StronglyTypedSolutionGeneratorTest.Test#Solution.g.verified.cs +++ b/tests/Fallout.SourceGenerators.Tests/StronglyTypedSolutionGeneratorTest.Test#Solution.g.verified.cs @@ -8,22 +8,24 @@ internal class Solution(AbsolutePath path, object handle) : Fallout.Application.Solutions.Solution(path, handle) { public Fallout.Application.Solutions.Project _build => this.GetProject("_build"); + public Fallout.Application.Solutions.Project Fallout => this.GetProject("Fallout"); public Fallout.Application.Solutions.Project Fallout_Application => this.GetProject("Fallout.Application"); public Fallout.Application.Solutions.Project Fallout_Application_Components => this.GetProject("Fallout.Application.Components"); public Fallout.Application.Solutions.Project Fallout_Application_Solutions => this.GetProject("Fallout.Application.Solutions"); public Fallout.Application.Solutions.Project Fallout_Application_Tooling => this.GetProject("Fallout.Application.Tooling"); + public Fallout.Application.Solutions.Project Fallout_Application_Tools => this.GetProject("Fallout.Application.Tools"); public Fallout.Application.Solutions.Project Fallout_Architecture_Tests => this.GetProject("Fallout.Architecture.Tests"); public Fallout.Application.Solutions.Project Fallout_Build_Shared => this.GetProject("Fallout.Build.Shared"); public Fallout.Application.Solutions.Project Fallout_Build_Tests => this.GetProject("Fallout.Build.Tests"); public Fallout.Application.Solutions.Project Fallout_Cli => this.GetProject("Fallout.Cli"); public Fallout.Application.Solutions.Project Fallout_Cli_Tests => this.GetProject("Fallout.Cli.Tests"); - public Fallout.Application.Solutions.Project Fallout_Common => this.GetProject("Fallout.Common"); public Fallout.Application.Solutions.Project Fallout_Common_Tests => this.GetProject("Fallout.Common.Tests"); public Fallout.Application.Solutions.Project Fallout_Components_Tests => this.GetProject("Fallout.Components.Tests"); public Fallout.Application.Solutions.Project Fallout_Consumer_Local => this.GetProject("Fallout.Consumer.Local"); public Fallout.Application.Solutions.Project Fallout_Consumer_NuGet => this.GetProject("Fallout.Consumer.NuGet"); public Fallout.Application.Solutions.Project Fallout_Domain => this.GetProject("Fallout.Domain"); public Fallout.Application.Solutions.Project Fallout_Domain_Tests => this.GetProject("Fallout.Domain.Tests"); + public Fallout.Application.Solutions.Project Fallout_Infrastructure_CI => this.GetProject("Fallout.Infrastructure.CI"); public Fallout.Application.Solutions.Project Fallout_Infrastructure_ProjectModel => this.GetProject("Fallout.Infrastructure.ProjectModel"); public Fallout.Application.Solutions.Project Fallout_Infrastructure_Solutions => this.GetProject("Fallout.Infrastructure.Solutions"); public Fallout.Application.Solutions.Project Fallout_Infrastructure_Tooling => this.GetProject("Fallout.Infrastructure.Tooling"); From 09c9156b21fa97c5a2934fffa8c8d2596eac7d63 Mon Sep 17 00:00:00 2001 From: Chrison Simtian Date: Mon, 1 Jun 2026 20:36:10 +1200 Subject: [PATCH 34/46] =?UTF-8?q?refactor(arch)!:=20onion=20phase=205=20?= =?UTF-8?q?=E2=80=94=20TFM=20cleanup=20+=20consumer=20package=20=3D=20Fall?= =?UTF-8?q?out=20meta?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Fallout.Domain: netstandard2.1;net10.0 → net10.0 (both consumers are net10.0; nothing constrains it). - Fallout.Infrastructure.ProjectModel: KEEP net8.0;net9.0;net10.0 — the multi-targeting is load-bearing (Directory.Packages.props pins a matching Microsoft.Build per TFM: net10→18.0.2, net9→17.14, net8→17.11; the standard MSBuildLocator SDK-matching pattern). The plan's "nothing constrains it" premise was wrong; reverted that part. - Consumer wiring for the dissolved Fallout.Common package: the dotnet-fallout template now adds the `Fallout` meta-package; Constants.FalloutCommonPackageId → FalloutPackageId = "Fallout"; `:setup` version lookup/prompts and `:update`'s package-bump now target the meta. (The Fallout.Common NAMESPACE survives in Fallout.Build.Shared — Constants/LegacyEnvironment — so the using directives stay valid.) - Fallout.Build.Shared: kept as the shared-primitives leaf (its residual Fallout.Common-root namespace is a separate namespace cleanup, not a project rename). Fitness gate green (now operating on ring-pure assemblies). Full suite + gate + dogfood green. Co-Authored-By: Claude Opus 4.8 (1M context) --- src/Fallout.Build.Shared/Constants.cs | 4 +++- src/Fallout.Cli/Program.Setup.cs | 10 +++++----- src/Fallout.Cli/ProjectUpdater.cs | 4 ++-- src/Fallout.Cli/templates/_build.csproj | 2 +- src/Fallout.Domain/Fallout.Domain.csproj | 2 +- 5 files changed, 12 insertions(+), 10 deletions(-) diff --git a/src/Fallout.Build.Shared/Constants.cs b/src/Fallout.Build.Shared/Constants.cs index 4abf748c7..4be0a59e3 100644 --- a/src/Fallout.Build.Shared/Constants.cs +++ b/src/Fallout.Build.Shared/Constants.cs @@ -19,7 +19,9 @@ internal static class Constants // consumer projects keep building until they migrate (manually or via the // forthcoming Fallout.Migrate CLI). New setups always use .fallout/. internal const string LegacyNukeDirectoryName = ".nuke"; - internal const string FalloutCommonPackageId = "Fallout.Common"; + // The consumer-facing meta-package (successor to the dissolved Fallout.Common — ADR-0006 onion + // realignment). This is what `dotnet fallout :setup` adds and `:update` bumps in a build project. + internal const string FalloutPackageId = "Fallout"; internal const string BuildSchemaFileName = "build.schema.json"; internal const string VisualStudioDebugFileName = $"{VisualStudioDebugParameterName}.log"; diff --git a/src/Fallout.Cli/Program.Setup.cs b/src/Fallout.Cli/Program.Setup.cs index e133094ba..54125bb9b 100644 --- a/src/Fallout.Cli/Program.Setup.cs +++ b/src/Fallout.Cli/Program.Setup.cs @@ -39,9 +39,9 @@ public static int Setup(string[] args, AbsolutePath rootDirectory, AbsolutePath #region Basic - var nukeLatestReleaseVersion = NuGetVersionResolver.GetLatestVersion(FalloutCommonPackageId, includePrereleases: false); - var nukeLatestPrereleaseVersion = NuGetVersionResolver.GetLatestVersion(FalloutCommonPackageId, includePrereleases: true); - var nukeLatestLocalVersion = NuGetPackageResolver.GetGlobalInstalledPackage(FalloutCommonPackageId, version: null, packagesConfigFile: null) + var nukeLatestReleaseVersion = NuGetVersionResolver.GetLatestVersion(FalloutPackageId, includePrereleases: false); + var nukeLatestPrereleaseVersion = NuGetVersionResolver.GetLatestVersion(FalloutPackageId, includePrereleases: true); + var nukeLatestLocalVersion = NuGetPackageResolver.GetGlobalInstalledPackage(FalloutPackageId, version: null, packagesConfigFile: null) ?.Version.ToString(); if (rootDirectory == null) @@ -62,7 +62,7 @@ public static int Setup(string[] args, AbsolutePath rootDirectory, AbsolutePath ClearPreviousLine(); ShowInput("round_pushpin", "Build project location", buildProjectRelativeDirectory); - var nukeVersion = PromptForChoice("Which Fallout.Common version should be used?", + var nukeVersion = PromptForChoice("Which Fallout version should be used?", new[] { ("latest release", nukeLatestReleaseVersion.GetAwaiter().GetResult()), @@ -73,7 +73,7 @@ public static int Setup(string[] args, AbsolutePath rootDirectory, AbsolutePath .Where(x => x.Item2 != null) .Distinct(x => x.Item2) .Select(x => (x.Item2, $"{x.Item2} ({x.Item1})")).ToArray()); - ShowInput("gem_stone", "Fallout.Common version", nukeVersion); + ShowInput("gem_stone", "Fallout version", nukeVersion); var solutionFile = (AbsolutePath) PromptForChoice( "Which solution should be the default?", diff --git a/src/Fallout.Cli/ProjectUpdater.cs b/src/Fallout.Cli/ProjectUpdater.cs index 1dc70ffaa..dd3b7fa9a 100644 --- a/src/Fallout.Cli/ProjectUpdater.cs +++ b/src/Fallout.Cli/ProjectUpdater.cs @@ -30,10 +30,10 @@ private static void UpdateTargetFramework(Microsoft.Build.Evaluation.Project bui private static void UpdateNukeCommonPackage(Microsoft.Build.Evaluation.Project buildProject, out FloatRange previousPackageVersion) { - var packageItem = buildProject.Items.SingleOrDefault(x => x.EvaluatedInclude == Constants.FalloutCommonPackageId).NotNull(); + var packageItem = buildProject.Items.SingleOrDefault(x => x.EvaluatedInclude == Constants.FalloutPackageId).NotNull(); previousPackageVersion = FloatRange.Parse(packageItem.GetMetadataValue("Version")); - var latestPackageVersion = NuGetVersionResolver.GetLatestVersion(Constants.FalloutCommonPackageId, includePrereleases: false).GetAwaiter().GetResult(); + var latestPackageVersion = NuGetVersionResolver.GetLatestVersion(Constants.FalloutPackageId, includePrereleases: false).GetAwaiter().GetResult(); if (previousPackageVersion.Satisfies(NuGetVersion.Parse(latestPackageVersion))) return; diff --git a/src/Fallout.Cli/templates/_build.csproj b/src/Fallout.Cli/templates/_build.csproj index 54b6ef9ab..4d8a83af9 100644 --- a/src/Fallout.Cli/templates/_build.csproj +++ b/src/Fallout.Cli/templates/_build.csproj @@ -12,7 +12,7 @@ - + // GITVERSION diff --git a/src/Fallout.Domain/Fallout.Domain.csproj b/src/Fallout.Domain/Fallout.Domain.csproj index 079911a1b..778af8360 100644 --- a/src/Fallout.Domain/Fallout.Domain.csproj +++ b/src/Fallout.Domain/Fallout.Domain.csproj @@ -1,7 +1,7 @@ - netstandard2.1;net10.0 + net10.0 The reactor core of Fallout — pure domain types and graph algorithms of the build execution pipeline. No I/O, no process, no console, no logging. References nothing else in the repo. From 719c0bc5f9a3e863ed1a97ded7e1d1cfddbe3a86 Mon Sep 17 00:00:00 2001 From: Chrison Simtian Date: Mon, 1 Jun 2026 20:39:57 +1200 Subject: [PATCH 35/46] docs: record onion project-rename completion (CHANGELOG, spike 0003, ADR-0006) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The structural realignment is complete — ring = project = namespace = assembly = package. Document the project-file renames/splits, the Fallout meta-package as the consumer anchor, the TFM decisions, and the Assembly.Load-vs-ModuleInitializer fix (RunModuleConstructor) as the general pattern for ring splits. Only the Nuke.* shim/Migrate redesign remains. Co-Authored-By: Claude Opus 4.8 (1M context) --- CHANGELOG.md | 2 ++ docs/adr/0006-onion-layering-and-namespace-realignment.md | 6 ++++++ docs/spikes/0003-onion-infrastructure-ring.md | 3 ++- 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 84fad1f71..2901e9ffa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - **Step 4b-follow-up (port inversion + Application-ring fitness gate)**: the impure tool-execution services now sit behind ports in `Fallout.Application.Tooling` — **`IProcessExecutor`**, **`IToolPathResolver`**, **`IToolVersionResolver`**, resolved via the new **`ToolingServices`** locator; Infrastructure registers thin adapters into it through a module initializer. The Application ring (tool wrappers, `ToolTasks`, `ToolResolver`, requirement/version attributes, build orchestration) no longer references `Fallout.Infrastructure.*`. `ProcessExtensions` (pure `IProcess`/`Output` helpers — `AssertWaitForExit`, `StdToJson`, …) was reclassified from Infrastructure back to `Fallout.Application.Tooling`. A NetArchTest fitness test (new `Fallout.Architecture.Tests`) asserts `Fallout.Application.*` ⊥ `Fallout.Infrastructure.*` and guards it. (Catch-all `Fallout.Common.*` code outside the Application ring — e.g. CI host adapters, single-file/path-check attributes — still reaches Infrastructure and is addressed when those namespaces get a ring in step 5.) - **Step 5a (the `Fallout.Kernel` ring)**: the shared utility/IO layer — pure helpers (collections, string/text, reflection, `Assert`-adjacent guards, crypto, JSON/YAML), the `AbsolutePath`/`RelativePath` value types **and their fluent filesystem operations** (`.ReadAllText`/`.GlobFiles`/`.CreateDirectory`/…), plus HTTP/compression helpers — moves from `Fallout.Common.Utilities*` / `Fallout.Common.IO` to **`Fallout.Kernel`** / **`Fallout.Kernel.IO`** / **`Fallout.Kernel.Collections`** / **`Fallout.Kernel.Net`**, the innermost shared ring that the Domain/Application/Infrastructure rings build on. Native consumers rewrite `using Fallout.Common.Utilities;` → `using Fallout.Kernel;` (and `.Collections`/`.Net`) and `using Fallout.Common.IO;` → `using Fallout.Kernel.IO;`. **Filesystem is treated as a kernel-level capability** (like the BCL `File`/`Directory`): the fluent `AbsolutePath` API is used pervasively across the Application ring, so routing it through ports would be impractical and anti-ergonomic — it stays in Kernel rather than moving to Infrastructure. Pushing the genuinely-external adapters (HTTP/FTP, compression) further out to Infrastructure is deferred for the same reason (they need the same ports decision). The `Fallout.Utilities` assembly/project keeps its filename until the later mechanical rename to `Fallout.Kernel`; a few root-`Fallout.Common` guards (`Assert`, `NotNull`, `EnvironmentInfo`) remain in the dissolving catch-all for now and fold into Kernel later. - **Step 5b (CI host providers → Infrastructure)**: the concrete CI provider classes (`AppVeyor`, `AzurePipelines`, `TeamCity`, `GitHubActions`, `GitLab`, `TravisCI`, …) and their config generators move from `Fallout.Common.CI.*` to **`Fallout.Infrastructure.CI.*`**. The Application ring reaches the provider-specific capabilities it needs (publish test results/coverage, push artifacts, set/update the build number, read the token, …) through new **ports in `Fallout.Application.CI`** — `IAppVeyor`/`IAzurePipelines`/`ITeamCity`/`IGitHubActions` plus a **`CiHost`** accessor that casts the detected `Host.Instance` to the port (no registration needed — `Host.Instance` is the existing detection seam). Components and version/coverage attributes rewrite `AzurePipelines.Instance?.X` → `CiHost.AzurePipelines?.X`, so the Application ring stays free of `Fallout.Infrastructure.*` (the fitness gate still passes). The two enums the ports expose (`AzurePipelinesTestResultsType`, `AzurePipelinesCodeCoverageToolType`) move to `Fallout.Application.CI` as vocabulary. The `Nuke.Common.CI.*` transition-shim host accessors are repointed to the new Infrastructure namespace. (The generic CI host abstraction — ADR-0005 `IBuildHost`/`IBuildReporter`, [#341] — remains a separate, additive effort.) + - **Step 5c (ProjectModel/Solution → rings)**: the solution model + `[Solution]` injection + `ReadSolution` move to **`Fallout.Application.Solutions`** (a Fallout-owned POCO model with an opaque handle, behind `ISolutionSerializer`/`IProjectEditor` ports + a `SolutionServices` locator); the `.sln`/`.slnx` serializer adapter → **`Fallout.Infrastructure.Solutions`**; the MSBuild project evaluator (`ProjectModelTasks`/`ProjectExtensions`) → **`Fallout.Infrastructure.ProjectModel`**. Also finished the partial straggler moves (Git/ChangeLog → `Fallout.Application.*`; `Assert`/`EnvironmentInfo`/`AsyncHelper`/`ArgumentParser` → `Fallout.Kernel`; Execution + Gitter → Application). + - **Project-file renames + splits + meta-package (the mechanical step the entries above forward-referenced)**: with namespaces settled, the **project files, assemblies, and NuGet package IDs** now match the rings. Pure renames: `Fallout.Build` → **`Fallout.Application`**, `Fallout.Components` → **`Fallout.Application.Components`**, `Fallout.ProjectModel` → **`Fallout.Infrastructure.ProjectModel`**, `Fallout.Utilities*` → **`Fallout.Kernel*`**. Mixed projects split into ring-pure assemblies: `Fallout.Tooling` → **`Fallout.Application.Tooling`** + **`Fallout.Infrastructure.Tooling`**; `Fallout.Solution` → **`Fallout.Application.Solutions`** + **`Fallout.Infrastructure.Solutions`**; the 249-file **`Fallout.Common` catch-all is dissolved** → `Fallout.Application.Tools` (tool wrappers), `Fallout.Infrastructure.CI` (CI adapters), `Fallout.Application`, and `Fallout.Kernel`. **Consumers now reference a new thin `Fallout` meta-package** (successor to `Fallout.Common` — references every ring + carries the MSBuild integration `Fallout.props`/`.targets`, the MSBuildTasks output, and the source-generator analyzer); `dotnet fallout :setup`/`:update` target `Fallout`. **Package-ID migration**: replace `Fallout.Common` → `Fallout`; `Fallout.Build`/`.Components`/`.ProjectModel`/`.Tooling`/`.Solution`/`.Utilities*` → their ring names above. **TFMs**: dropped `net472` from `Fallout.MSBuildTasks` (Fallout is `dotnet build`-only); `Fallout.Domain` → `net10.0`; netstandard2.0 retained only on the Roslyn generators and the ring halves they consume (`Fallout.Application.Tooling`/`.Solutions`, `Fallout.Kernel*`, `Fallout.Build.Shared`); `Fallout.Infrastructure.ProjectModel` keeps `net8.0;net9.0;net10.0` (per-TFM Microsoft.Build SDK matching). The fitness gate now operates on ring-pure assemblies. The build's own `[ModuleInitializer]` force-loader now runs each `Fallout.*` assembly's module constructor (`RuntimeHelpers.RunModuleConstructor`), so the split-out Infrastructure adapters register deterministically. - **Adopted calendar versioning (`YYYY.MINOR.PATCH`) + dual-pace channel model; retired the v11 numbering** ([ADR-0004](docs/adr/0004-calendar-versioning-and-dual-pace-channels.md)). Fallout now ships on calendar versions (`2026.0.0`, `2026.1.0`, …) — mechanically valid SemVer with the major equal to the calendar year. **Breaking changes are batched to the yearly major cut**; mid-year stable releases (`release/YYYY`) are strictly non-breaking. `main` becomes the published **edge** channel (date-stamped prereleases to GitHub Packages); the slow/stable track lives on `release/YYYY`. Opt-in unstable APIs are marked `[Experimental("FALLOUT0xx")]`. - **Migration / impact**: the `11.0.x` packages never shipped a clean stable release (all unlisted), so this strands no stable consumers. The headline content previously slated for "v11" now ships as **`2026.0.0`**. Any tooling pinned to a `[11.0,12.0)`-style range should retarget the `2026.x` line. - **Legacy unaffected**: the `release/v10` line stays on semver `10.x` and continues to receive security/critical fixes — v10 consumers do nothing. diff --git a/docs/adr/0006-onion-layering-and-namespace-realignment.md b/docs/adr/0006-onion-layering-and-namespace-realignment.md index 68ea04339..2e228fd22 100644 --- a/docs/adr/0006-onion-layering-and-namespace-realignment.md +++ b/docs/adr/0006-onion-layering-and-namespace-realignment.md @@ -92,6 +92,12 @@ Migration/shim strategy is redesigned after step 5, before the cut (deferred, ab - **The same reasoning extends to the rest of external-IO *vocabulary* (5d):** the fluent HTTP client (`HttpClient.CreateRequest(...).Send()` extensions over the BCL `HttpClient`), compression (`.ZipTo()`/`.UnZipTo()` — themselves `AbsolutePath` extensions), and glob all stay in Kernel. Every one is consumed by *gated* Application-ring code (tool wrappers, `Components`, version-resolver attributes), so a clean move would break the gate, and they are thin ergonomic layers over BCL capabilities — not genuine external adapters worth a port. `HttpTasks`/`FtpTasks` (download-URL-to-file) are the one coarse "network task" category; kept in Kernel for now, with an optional `IHttpDownload`-style port → Infrastructure left as deferred future work (not required for the gate). - **What still goes to Infrastructure** is unchanged: process/tool execution (4b), CI host adapters (5b), tool-path/package resolvers (4b), and project/solution readers (5c, via ports). The seam is *genuine external side-effecting adapters behind Application-owned ports*, not "anything in a namespace called IO/Net." +- **2026-06-01 — project-file renames + splits + the `Fallout` meta-package (the realignment's final mechanical step).** With every namespace settled, the project files / assemblies / NuGet package IDs were brought to `ring = project = namespace = assembly = package`. Ring-pure projects were renamed (`Fallout.Build`→`.Application`, `Fallout.Components`→`.Application.Components`, `Fallout.ProjectModel`→`.Infrastructure.ProjectModel`, `Fallout.Utilities*`→`Fallout.Kernel*`); the three mixed projects were split into ring-pure assemblies (`Fallout.Tooling`→`Application.Tooling`+`Infrastructure.Tooling`; `Fallout.Solution`→`Application.Solutions`+`Infrastructure.Solutions`; the `Fallout.Common` catch-all dissolved into `Application.Tools`+`Infrastructure.CI`+`Application`+`Kernel`). + - **Consumer anchor = a new thin `Fallout` meta-package** (resolves the open question of what replaces `Fallout.Common` as the "reference-one-package" entry point). It holds no code: it references every ring and carries the MSBuild integration (`Fallout.props`/`.targets`), the MSBuildTasks publish output, and the source-generator analyzer. `dotnet fallout :setup`/`:update` target it. + - **Splitting ports from adapters required a module-init fix.** Co-hosting ports + their `[ModuleInitializer]` adapter registrations in one assembly had masked a latent bug: `Assembly.Load` loads metadata but does **not** run a `[ModuleInitializer]` (it fires lazily on first *use* of a type in the assembly). Once adapters moved to assemblies nothing references by type, their registration never ran (null `ToolingServices`/`SolutionServices` → swallowed NRE at build runtime, invisible to unit tests). Fix: the build's force-loader (`BuildManager.Initialize`) now calls `RuntimeHelpers.RunModuleConstructor` on each `Fallout.*` assembly; the source generator reads solutions via a direct `SolutionReader` call (a Roslyn host can't use the locator); test hosts force-run the adapter module ctors. This is the general pattern for any future ring split. + - **Placement is dependency-driven, not namespace-driven.** Injection/extension attributes (`[Solution]`, `[Latest*]`, `[GitRepository]`, globbing attrs) and a few `ControlFlow`/`Configure`-coupled IO helpers (FtpTasks/HttpTasks) live in the `Fallout.Application` assembly despite their `Application.Solutions`/`Application.Tooling`/`Kernel.IO` namespaces — their base classes live there and the leaf ring projects are referenced *by* Application, so homing them in the leaves would cycle. Accepted residual: a handful of `Kernel.IO`-namespace files sit in the Application assembly (ring-safe — no Infra dependency; the gate stays green); a namespace-vs-assembly tidy-up is left for later. + - **TFMs:** `net472` dropped (Fallout is `dotnet build`-only); `Fallout.Domain`→`net10.0`; `netstandard2.0` retained only on the Roslyn generators and the ring halves they consume; `Fallout.Infrastructure.ProjectModel` keeps `net8.0;net9.0;net10.0` (per-TFM Microsoft.Build pinning matches the evaluator to the SDK — load-bearing, not incidental). + ## References - Current-state map: see the structural survey summarized in the spike. diff --git a/docs/spikes/0003-onion-infrastructure-ring.md b/docs/spikes/0003-onion-infrastructure-ring.md index 67d55b6ae..ff03c22e4 100644 --- a/docs/spikes/0003-onion-infrastructure-ring.md +++ b/docs/spikes/0003-onion-infrastructure-ring.md @@ -1,6 +1,7 @@ # Spike 0003 — Onion realignment: the Infrastructure ring (steps 3–5) -- **Status:** In progress — step 3, 4a, 4b + inversion, 5a, 5b, **5c done** (full onion: Fallout-owned model + ports); **step 5d (external IO) resolved by decision — kept in Kernel, no code moves** (gate green). All substantive ring moves are now landed. Remaining: the deferred project-FILE renames (incl. `Fallout.Utilities`→`Fallout.Kernel` assembly) + `Nuke.*` shim/migration redesign. On branch `spike/onion-kernel` (stacked on `spike/onion-infrastructure`). +- **Status:** In progress — step 3, 4a, 4b + inversion, 5a, 5b, 5c done; 5d resolved-by-decision; **project-FILE renames + splits + meta-package DONE** (the whole onion is now `ring = project = namespace = assembly = package`). Remaining: only the `Nuke.*` shim/migration redesign, then ship. On branch `spike/onion-kernel` (stacked on `spike/onion-infrastructure`). +- **Project renames/splits DONE (6 phases, commits a5e85646 / df09f573 / 94d31883 / 01d4a670 / 3ed3a645 + this):** (1) pure renames `Fallout.Build`→`.Application`, `Components`→`.Application.Components`, `ProjectModel`→`.Infrastructure.ProjectModel`, `Utilities*`→`Kernel*`; (2) split `Tooling`→`Application.Tooling`+`Infrastructure.Tooling`; (3) split `Solution`→`Application.Solutions`+`Infrastructure.Solutions`; (4) dissolve `Fallout.Common`→`Application.Tools`+`Infrastructure.CI`+`Application`+`Kernel`, new thin **`Fallout` meta-package** as the consumer anchor (carries `Fallout.props`/`.targets`+MSBuildTasks+analyzer); (5) TFM cleanup (net472 dropped; Domain→net10.0; ProjectModel KEEPS net8/9/10 — per-TFM MSBuild SDK matching; ns2.0 only where Roslyn generators consume). **Linchpin fix:** `Assembly.Load` doesn't run `[ModuleInitializer]`s, so split-out adapter registration silently broke (null `ToolingServices`/`SolutionServices`, swallowed NRE — invisible to unit tests, caught by the dogfood build); `BuildManager.Initialize` now `RunModuleConstructor`s each Fallout.* assembly, the generator uses a `SolutionReader` direct-read, and test hosts force-run the adapter module ctors. **Residual (noted, not blocking):** a few `Kernel.IO`-namespace files (FtpTasks/HttpTasks/globbing attrs) physically live in the `Fallout.Application` assembly because they depend on Application (`ControlFlow`/`Configure`) — a namespace-vs-assembly cleanup for later; ring-safe (no Infra dep, gate green). Full suite (14 projects) + gate + dogfood `./build.sh Test` green throughout. - **Date:** 2026-05-31 (updated 2026-06-01) - **Decision record:** [ADR-0006](../adr/0006-onion-layering-and-namespace-realignment.md) - **Channel:** `experimental` (branch `spike/onion-infrastructure`) From 3ad6df43a0c8b940127d2ac28f8112701b81304d Mon Sep 17 00:00:00 2001 From: Chrison Simtian Date: Mon, 1 Jun 2026 20:58:40 +1200 Subject: [PATCH 36/46] =?UTF-8?q?refactor(arch)!:=20residual=201=20?= =?UTF-8?q?=E2=80=94=20Kernel.IO=20files=20in=20Application=20assembly=20?= =?UTF-8?q?=E2=86=92=20Fallout.Application.IO?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Namespace-vs-assembly tidy-up from the project-rename phase. FtpTasks, HttpTasks, and the globbing injection attributes (FileSystemGlobbingAttributeBase + FileGlobbingAttribute, GlobbingOptionsAttribute) carried a Fallout.Kernel.IO namespace but physically live in the Fallout.Application assembly (they depend on the Application ring — ControlFlow/Configure — so they can't be Kernel). Retargeted their namespace to Fallout.Application.IO so namespace matches assembly/ring. Source assembly = Fallout.Application only; the 20 genuine Kernel.IO types in Fallout.Kernel are untouched (Fallout.Kernel.IO survives, so live `using Fallout.Kernel.IO;` directives are preserved). Consumers gain `using Fallout.Application.IO;` where they used these 4 types. Full suite + gate + dogfood green. Co-Authored-By: Claude Opus 4.8 (1M context) --- build/Build.Licenses.cs | 3 ++- .../Attributes/FileSystemGlobbingAttributeBase.cs | 3 ++- .../Attributes/GlobbingOptionsAttribute.cs | 3 ++- .../HandleSingleFileExecutionAttribute.cs | 1 + .../Attributes/LatestMavenVersionAttribute.cs | 1 + .../Attributes/LatestMyGetVersionAttribute.cs | 1 + src/Fallout.Application/IO/FtpTasks.cs | 3 ++- src/Fallout.Application/IO/HttpTasks.cs | 3 ++- tools/OnionRewriter/Program.cs | 14 +++++++------- 9 files changed, 20 insertions(+), 12 deletions(-) diff --git a/build/Build.Licenses.cs b/build/Build.Licenses.cs index 257e59030..9c6ca2b7f 100644 --- a/build/Build.Licenses.cs +++ b/build/Build.Licenses.cs @@ -2,10 +2,11 @@ using System.Linq; using System.Threading.Tasks; using Serilog; -using static Fallout.Kernel.IO.HttpTasks; +using static Fallout.Application.IO.HttpTasks; using Fallout.Application; using Fallout.Application.Components; using Fallout.Kernel.IO; +using Fallout.Application.IO; partial class Build { diff --git a/src/Fallout.Application/Attributes/FileSystemGlobbingAttributeBase.cs b/src/Fallout.Application/Attributes/FileSystemGlobbingAttributeBase.cs index 932868c1a..6bb294199 100644 --- a/src/Fallout.Application/Attributes/FileSystemGlobbingAttributeBase.cs +++ b/src/Fallout.Application/Attributes/FileSystemGlobbingAttributeBase.cs @@ -5,8 +5,9 @@ using Fallout.Application; using Fallout.Kernel; using Fallout.Kernel.Collections; +using Fallout.Kernel.IO; -namespace Fallout.Kernel.IO; +namespace Fallout.Application.IO; // TODO: document [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field)] diff --git a/src/Fallout.Application/Attributes/GlobbingOptionsAttribute.cs b/src/Fallout.Application/Attributes/GlobbingOptionsAttribute.cs index 33df89d71..c1fe7f69a 100644 --- a/src/Fallout.Application/Attributes/GlobbingOptionsAttribute.cs +++ b/src/Fallout.Application/Attributes/GlobbingOptionsAttribute.cs @@ -2,8 +2,9 @@ using System.Collections.Generic; using System.Linq; using Fallout.Application.Execution; +using Fallout.Kernel.IO; -namespace Fallout.Kernel.IO; +namespace Fallout.Application.IO; /// /// Allows to configure the case-sensitivity used for globbing operations in . diff --git a/src/Fallout.Application/Attributes/HandleSingleFileExecutionAttribute.cs b/src/Fallout.Application/Attributes/HandleSingleFileExecutionAttribute.cs index cac7a742a..486fc66e4 100644 --- a/src/Fallout.Application/Attributes/HandleSingleFileExecutionAttribute.cs +++ b/src/Fallout.Application/Attributes/HandleSingleFileExecutionAttribute.cs @@ -12,6 +12,7 @@ using Fallout.Kernel; using Fallout.Kernel.IO; using Fallout.Common; +using Fallout.Application.IO; namespace Fallout.Application.Execution; diff --git a/src/Fallout.Application/Attributes/LatestMavenVersionAttribute.cs b/src/Fallout.Application/Attributes/LatestMavenVersionAttribute.cs index aed6b3ec0..0f41fbbd8 100644 --- a/src/Fallout.Application/Attributes/LatestMavenVersionAttribute.cs +++ b/src/Fallout.Application/Attributes/LatestMavenVersionAttribute.cs @@ -5,6 +5,7 @@ using Fallout.Application.ValueInjection; using Fallout.Kernel; using Fallout.Kernel.IO; +using Fallout.Application.IO; namespace Fallout.Application.Tooling; diff --git a/src/Fallout.Application/Attributes/LatestMyGetVersionAttribute.cs b/src/Fallout.Application/Attributes/LatestMyGetVersionAttribute.cs index e92d29aca..8044b2dcc 100644 --- a/src/Fallout.Application/Attributes/LatestMyGetVersionAttribute.cs +++ b/src/Fallout.Application/Attributes/LatestMyGetVersionAttribute.cs @@ -4,6 +4,7 @@ using Fallout.Application.ValueInjection; using Fallout.Kernel.IO; using Fallout.Kernel; +using Fallout.Application.IO; namespace Fallout.Application.Tooling; diff --git a/src/Fallout.Application/IO/FtpTasks.cs b/src/Fallout.Application/IO/FtpTasks.cs index dbbc2281e..e9fe78909 100644 --- a/src/Fallout.Application/IO/FtpTasks.cs +++ b/src/Fallout.Application/IO/FtpTasks.cs @@ -4,9 +4,10 @@ using System.Net; using Serilog; using Fallout.Application; +using Fallout.Kernel.IO; #pragma warning disable SYSLIB0014 -namespace Fallout.Kernel.IO; +namespace Fallout.Application.IO; public static class FtpTasks { diff --git a/src/Fallout.Application/IO/HttpTasks.cs b/src/Fallout.Application/IO/HttpTasks.cs index 16e2a32c6..92ca3abaa 100644 --- a/src/Fallout.Application/IO/HttpTasks.cs +++ b/src/Fallout.Application/IO/HttpTasks.cs @@ -6,8 +6,9 @@ using System.Threading.Tasks; using Fallout.Kernel; using Fallout.Application.Tooling; +using Fallout.Kernel.IO; -namespace Fallout.Kernel.IO; +namespace Fallout.Application.IO; public static class HttpTasks { diff --git a/tools/OnionRewriter/Program.cs b/tools/OnionRewriter/Program.cs index 1e325aa5d..4f6241942 100644 --- a/tools/OnionRewriter/Program.cs +++ b/tools/OnionRewriter/Program.cs @@ -32,15 +32,15 @@ record struct Rule(string Old, string New, string[] SourceAssemblies); // The two Infrastructure destinations are per-type overrides (they beat the default prefix rule). After // phase B the model already routes solution/project I/O through the ports, so this move adds no // Infrastructure dependency to the Application ring (gate stays green). - // Finish partial onion moves — the Execution + Gitter tail (stragglers from steps 2/4b). The two - // build-extension attributes still under Fallout.Common.Execution join the rest of the Execution - // vocabulary in Fallout.Application.Execution; the Gitter chat-notification tool joins its siblings - // (Slack/Discord/Teams/Mastodon) under Fallout.Application.Tools.*. Both are specific sub-namespaces of - // the Fallout.Common assembly (the Fallout.Common root is untouched), so no surviving-ns subtlety. + // Namespace residual #1 (post-project-rename tidy-up): a few Fallout.Kernel.IO-namespace files + // (FtpTasks, HttpTasks, the globbing injection attrs) physically live in the Fallout.Application + // assembly because they depend on the Application ring (ControlFlow/Configure) — their namespace lies + // about their ring. Retarget them to Fallout.Application.IO so namespace matches assembly. Source + // assembly = Fallout.Application ONLY, so the 20 genuine Kernel.IO types in Fallout.Kernel stay put + // (Fallout.Kernel.IO survives there — the surviving-ns logic keeps live `using Fallout.Kernel.IO;`). static readonly Rule[] Rules = [ - new("Fallout.Common.Execution", "Fallout.Application.Execution", ["Fallout.Common"]), - new("Fallout.Common.Gitter", "Fallout.Application.Tools.Gitter", ["Fallout.Common"]), + new("Fallout.Kernel.IO", "Fallout.Application.IO", ["Fallout.Application"]), ]; static readonly Dictionary TypeOverrides = new(); From fd47c32807a6e938bd4c146f2dd29d2acd8a1212 Mon Sep 17 00:00:00 2001 From: Chrison Simtian Date: Mon, 1 Jun 2026 21:04:08 +1200 Subject: [PATCH 37/46] =?UTF-8?q?refactor(arch)!:=20residual=202=20?= =?UTF-8?q?=E2=80=94=20eliminate=20the=20last=20Fallout.Common=20namespace?= =?UTF-8?q?=20=E2=86=92=20Fallout.Build.Shared?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The final Fallout.Common namespace (Constants + LegacyEnvironment, physically in the Fallout.Build.Shared assembly) is relabelled to Fallout.Build.Shared so namespace matches assembly — the dissolved Fallout.Common catch-all is now gone from the entire shipped codebase. Pure namespace relabel + using rewrites across ~87 files (no assembly-graph change; Constants stays in Build.Shared). Deleted a vestigial empty Fallout.Common.FalloutBuild stub in SourceGenerators first, so the namespace was fully evacuated and 75 dead `using Fallout.Common;` directives dropped cleanly. Also removed the now-dead `using Fallout.Common;` from the dotnet-fallout starter template (embedded resource the semantic rewriter can't reach — would have been CS0246 in a freshly-scaffolded build). (Migrate test fixtures still contain "Fallout.Common"/"Nuke.Common" as Nuke→Fallout migration test DATA — intentionally unchanged.) Full suite (14 projects) + gate + dogfood green. Co-Authored-By: Claude Opus 4.8 (1M context) --- .../BenchmarkDotNet/BenchmarkDotNet.Generated.cs | 3 --- .../Boots/Boots.Generated.cs | 3 --- .../CodeMetrics/CodeMetrics.Generated.cs | 3 --- .../CorFlags/CorFlags.Generated.cs | 3 --- .../Coverlet/Coverlet.Generated.cs | 3 --- .../Discord/Discord.Generated.cs | 3 --- .../DocFX/DocFX.Generated.cs | 3 --- .../Docker/DockerTargetDefinitionExtensions.cs | 2 +- .../DotCover/DotCover.Generated.cs | 3 --- .../DotMemoryUnit/DotMemoryUnit.Generated.cs | 3 --- .../DotnetPackaging/DotnetPackaging.Generated.cs | 3 --- .../EntityFramework/EntityFramework.Generated.cs | 3 --- .../Fixie/Fixie.Generated.cs | 3 --- src/Fallout.Application.Tools/Git/Git.Generated.cs | 3 --- .../GitLink/GitLink.Generated.cs | 3 --- .../ILRepack/ILRepack.Generated.cs | 3 --- .../InnoSetup/InnoSetup.Generated.cs | 3 --- .../Kubernetes/Kubernetes.Generated.cs | 3 --- .../MSBuild/MSBuild.Generated.cs | 3 --- .../MSpec/MSpec.Generated.cs | 3 --- .../MakeNsis/MakeNSIS.Generated.cs | 3 --- .../Mastodon/Mastodon.Generated.cs | 3 --- .../MauiCheck/MauiCheck.Generated.cs | 3 --- .../MinVer/MinVer.Generated.cs | 3 --- .../NSwag/NSwag.Generated.cs | 3 --- .../NUnit/NUnit.Generated.cs | 3 --- .../NerdbankGitVersioning.Generated.cs | 3 --- src/Fallout.Application.Tools/Npm/Npm.Generated.cs | 3 --- .../OctoVersion/OctoVersion.Generated.cs | 3 --- .../OpenCover/OpenCover.Generated.cs | 3 --- .../PowerShell/PowerShell.Generated.cs | 3 --- .../Pulumi/Pulumi.Generated.cs | 3 --- .../Pwsh/Pwsh.Generated.cs | 3 --- .../ReportGenerator/ReportGenerator.Generated.cs | 3 --- .../Slack/Slack.Generated.cs | 3 --- .../Squirrel/Squirrel.Generated.cs | 3 --- .../Teams/Teams.Generated.cs | 3 --- .../TestCloud/TestCloud.Generated.cs | 3 --- .../VSTest/VSTest.Generated.cs | 3 --- .../VSWhere/VSWhere.Generated.cs | 3 --- .../WebConfigTransformRunner.Generated.cs | 3 --- .../Xunit/Xunit.Generated.cs | 3 --- .../HandleSingleFileExecutionAttribute.cs | 2 +- .../Attributes/SolutionAttribute.cs | 3 +-- src/Fallout.Application/Execution/BuildExecutor.cs | 2 +- .../ArgumentsFromParametersFileAttribute.cs | 2 +- .../HandleReSharperSurrogateArgumentsAttribute.cs | 2 +- .../Extensions/HandleShellCompletionAttribute.cs | 4 ++-- .../HandleVisualStudioDebuggingAttribute.cs | 2 +- .../Extensions/UpdateNotificationAttribute.cs | 4 ++-- .../Execution/ParameterService.cs | 2 +- src/Fallout.Application/FalloutBuild.Statics.cs | 4 ++-- src/Fallout.Application/FalloutBuild.cs | 4 ++-- src/Fallout.Application/Logging.cs | 1 - .../Telemetry/Telemetry.Properties.cs | 2 +- src/Fallout.Application/Telemetry/Telemetry.cs | 2 +- .../Utilities/CredentialStore.cs | 2 +- src/Fallout.Application/Utilities/SchemaUtility.cs | 4 ++-- src/Fallout.Build.Shared/CompletionUtility.cs | 2 +- src/Fallout.Build.Shared/Constants.cs | 2 +- src/Fallout.Build.Shared/LegacyEnvironment.cs | 2 +- src/Fallout.Build.Shared/Notifications.cs | 1 - src/Fallout.Cli/BuildProjectResolver.cs | 4 ++-- src/Fallout.Cli/Program.Cake.cs | 4 ++-- src/Fallout.Cli/Program.Complete.cs | 4 ++-- src/Fallout.Cli/Program.Navigation.cs | 4 ++-- src/Fallout.Cli/Program.Run.cs | 4 ++-- src/Fallout.Cli/Program.Secrets.cs | 4 ++-- src/Fallout.Cli/Program.Setup.cs | 4 ++-- src/Fallout.Cli/Program.Update.cs | 4 ++-- src/Fallout.Cli/Program.cs | 2 +- src/Fallout.Cli/ProjectUpdater.cs | 2 +- src/Fallout.Cli/templates/Build.cs | 1 - src/Fallout.SourceGenerators/Shims/FalloutBuild.cs | 8 -------- .../StronglyTypedSolutionGenerator.cs | 2 +- tools/OnionRewriter/Program.cs | 14 +++++++------- 76 files changed, 50 insertions(+), 185 deletions(-) delete mode 100644 src/Fallout.SourceGenerators/Shims/FalloutBuild.cs diff --git a/src/Fallout.Application.Tools/BenchmarkDotNet/BenchmarkDotNet.Generated.cs b/src/Fallout.Application.Tools/BenchmarkDotNet/BenchmarkDotNet.Generated.cs index 4b739c135..e61714235 100644 --- a/src/Fallout.Application.Tools/BenchmarkDotNet/BenchmarkDotNet.Generated.cs +++ b/src/Fallout.Application.Tools/BenchmarkDotNet/BenchmarkDotNet.Generated.cs @@ -1,6 +1,3 @@ -// Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/BenchmarkDotNet/BenchmarkDotNet.json - -using Fallout.Common; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Application.Tools/Boots/Boots.Generated.cs b/src/Fallout.Application.Tools/Boots/Boots.Generated.cs index da5207e7e..6c323c4b9 100644 --- a/src/Fallout.Application.Tools/Boots/Boots.Generated.cs +++ b/src/Fallout.Application.Tools/Boots/Boots.Generated.cs @@ -1,6 +1,3 @@ -// Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/Boots/Boots.json - -using Fallout.Common; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Application.Tools/CodeMetrics/CodeMetrics.Generated.cs b/src/Fallout.Application.Tools/CodeMetrics/CodeMetrics.Generated.cs index 9b2403d5e..2cfddf38f 100644 --- a/src/Fallout.Application.Tools/CodeMetrics/CodeMetrics.Generated.cs +++ b/src/Fallout.Application.Tools/CodeMetrics/CodeMetrics.Generated.cs @@ -1,6 +1,3 @@ -// Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/CodeMetrics/CodeMetrics.json - -using Fallout.Common; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Application.Tools/CorFlags/CorFlags.Generated.cs b/src/Fallout.Application.Tools/CorFlags/CorFlags.Generated.cs index f28334867..3cd7078af 100644 --- a/src/Fallout.Application.Tools/CorFlags/CorFlags.Generated.cs +++ b/src/Fallout.Application.Tools/CorFlags/CorFlags.Generated.cs @@ -1,6 +1,3 @@ -// Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/CorFlags/CorFlags.json - -using Fallout.Common; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Application.Tools/Coverlet/Coverlet.Generated.cs b/src/Fallout.Application.Tools/Coverlet/Coverlet.Generated.cs index 8af39ead1..5424670e1 100644 --- a/src/Fallout.Application.Tools/Coverlet/Coverlet.Generated.cs +++ b/src/Fallout.Application.Tools/Coverlet/Coverlet.Generated.cs @@ -1,6 +1,3 @@ -// Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/Coverlet/Coverlet.json - -using Fallout.Common; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Application.Tools/Discord/Discord.Generated.cs b/src/Fallout.Application.Tools/Discord/Discord.Generated.cs index 1149c237e..75481eba9 100644 --- a/src/Fallout.Application.Tools/Discord/Discord.Generated.cs +++ b/src/Fallout.Application.Tools/Discord/Discord.Generated.cs @@ -1,6 +1,3 @@ -// Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/Discord/Discord.json - -using Fallout.Common; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Application.Tools/DocFX/DocFX.Generated.cs b/src/Fallout.Application.Tools/DocFX/DocFX.Generated.cs index 938df8385..6f132e3f7 100644 --- a/src/Fallout.Application.Tools/DocFX/DocFX.Generated.cs +++ b/src/Fallout.Application.Tools/DocFX/DocFX.Generated.cs @@ -1,6 +1,3 @@ -// Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/DocFX/DocFX.json - -using Fallout.Common; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Application.Tools/Docker/DockerTargetDefinitionExtensions.cs b/src/Fallout.Application.Tools/Docker/DockerTargetDefinitionExtensions.cs index ed3ec5ee2..159a26eca 100644 --- a/src/Fallout.Application.Tools/Docker/DockerTargetDefinitionExtensions.cs +++ b/src/Fallout.Application.Tools/Docker/DockerTargetDefinitionExtensions.cs @@ -10,10 +10,10 @@ using Fallout.Application.Execution; using Fallout.Application.Tools.DotNet; using Fallout.Application.Tooling; -using Fallout.Common; using Fallout.Kernel.IO; using Fallout.Kernel; using Fallout.Kernel.Collections; +using Fallout.Build.Shared; namespace Fallout.Application.Tools.Docker; diff --git a/src/Fallout.Application.Tools/DotCover/DotCover.Generated.cs b/src/Fallout.Application.Tools/DotCover/DotCover.Generated.cs index bbd9e7990..8276b16df 100644 --- a/src/Fallout.Application.Tools/DotCover/DotCover.Generated.cs +++ b/src/Fallout.Application.Tools/DotCover/DotCover.Generated.cs @@ -1,6 +1,3 @@ -// Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/DotCover/DotCover.json - -using Fallout.Common; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Application.Tools/DotMemoryUnit/DotMemoryUnit.Generated.cs b/src/Fallout.Application.Tools/DotMemoryUnit/DotMemoryUnit.Generated.cs index d7ed126a5..e491cd72b 100644 --- a/src/Fallout.Application.Tools/DotMemoryUnit/DotMemoryUnit.Generated.cs +++ b/src/Fallout.Application.Tools/DotMemoryUnit/DotMemoryUnit.Generated.cs @@ -1,6 +1,3 @@ -// Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/DotMemoryUnit/DotMemoryUnit.json - -using Fallout.Common; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Application.Tools/DotnetPackaging/DotnetPackaging.Generated.cs b/src/Fallout.Application.Tools/DotnetPackaging/DotnetPackaging.Generated.cs index d3da4dc86..3849d065f 100644 --- a/src/Fallout.Application.Tools/DotnetPackaging/DotnetPackaging.Generated.cs +++ b/src/Fallout.Application.Tools/DotnetPackaging/DotnetPackaging.Generated.cs @@ -1,6 +1,3 @@ -// Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/DotnetPackaging/DotnetPackaging.json - -using Fallout.Common; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Application.Tools/EntityFramework/EntityFramework.Generated.cs b/src/Fallout.Application.Tools/EntityFramework/EntityFramework.Generated.cs index b48711b3b..1e047510e 100644 --- a/src/Fallout.Application.Tools/EntityFramework/EntityFramework.Generated.cs +++ b/src/Fallout.Application.Tools/EntityFramework/EntityFramework.Generated.cs @@ -1,6 +1,3 @@ -// Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/EntityFramework/EntityFramework.json - -using Fallout.Common; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Application.Tools/Fixie/Fixie.Generated.cs b/src/Fallout.Application.Tools/Fixie/Fixie.Generated.cs index f33ea1fd9..3ced9133f 100644 --- a/src/Fallout.Application.Tools/Fixie/Fixie.Generated.cs +++ b/src/Fallout.Application.Tools/Fixie/Fixie.Generated.cs @@ -1,6 +1,3 @@ -// Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/Fixie/Fixie.json - -using Fallout.Common; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Application.Tools/Git/Git.Generated.cs b/src/Fallout.Application.Tools/Git/Git.Generated.cs index b15cd22ca..4b8759fb1 100644 --- a/src/Fallout.Application.Tools/Git/Git.Generated.cs +++ b/src/Fallout.Application.Tools/Git/Git.Generated.cs @@ -1,6 +1,3 @@ -// Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/Git/Git.json - -using Fallout.Common; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Application.Tools/GitLink/GitLink.Generated.cs b/src/Fallout.Application.Tools/GitLink/GitLink.Generated.cs index 98ed385f7..1d5b7bbe8 100644 --- a/src/Fallout.Application.Tools/GitLink/GitLink.Generated.cs +++ b/src/Fallout.Application.Tools/GitLink/GitLink.Generated.cs @@ -1,6 +1,3 @@ -// Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/GitLink/GitLink.json - -using Fallout.Common; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Application.Tools/ILRepack/ILRepack.Generated.cs b/src/Fallout.Application.Tools/ILRepack/ILRepack.Generated.cs index 2878b0a9e..0e893a0cf 100644 --- a/src/Fallout.Application.Tools/ILRepack/ILRepack.Generated.cs +++ b/src/Fallout.Application.Tools/ILRepack/ILRepack.Generated.cs @@ -1,6 +1,3 @@ -// Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/ILRepack/ILRepack.json - -using Fallout.Common; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Application.Tools/InnoSetup/InnoSetup.Generated.cs b/src/Fallout.Application.Tools/InnoSetup/InnoSetup.Generated.cs index 77b9068e0..dc3e91282 100644 --- a/src/Fallout.Application.Tools/InnoSetup/InnoSetup.Generated.cs +++ b/src/Fallout.Application.Tools/InnoSetup/InnoSetup.Generated.cs @@ -1,6 +1,3 @@ -// Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/InnoSetup/InnoSetup.json - -using Fallout.Common; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Application.Tools/Kubernetes/Kubernetes.Generated.cs b/src/Fallout.Application.Tools/Kubernetes/Kubernetes.Generated.cs index 123573a16..629cff212 100644 --- a/src/Fallout.Application.Tools/Kubernetes/Kubernetes.Generated.cs +++ b/src/Fallout.Application.Tools/Kubernetes/Kubernetes.Generated.cs @@ -1,6 +1,3 @@ -// Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/Kubernetes/Kubernetes.json - -using Fallout.Common; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Application.Tools/MSBuild/MSBuild.Generated.cs b/src/Fallout.Application.Tools/MSBuild/MSBuild.Generated.cs index 848b95f71..18955bda8 100644 --- a/src/Fallout.Application.Tools/MSBuild/MSBuild.Generated.cs +++ b/src/Fallout.Application.Tools/MSBuild/MSBuild.Generated.cs @@ -1,6 +1,3 @@ -// Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/MSBuild/MSBuild.json - -using Fallout.Common; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Application.Tools/MSpec/MSpec.Generated.cs b/src/Fallout.Application.Tools/MSpec/MSpec.Generated.cs index a40ceaf3a..39d869270 100644 --- a/src/Fallout.Application.Tools/MSpec/MSpec.Generated.cs +++ b/src/Fallout.Application.Tools/MSpec/MSpec.Generated.cs @@ -1,6 +1,3 @@ -// Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/MSpec/MSpec.json - -using Fallout.Common; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Application.Tools/MakeNsis/MakeNSIS.Generated.cs b/src/Fallout.Application.Tools/MakeNsis/MakeNSIS.Generated.cs index 1e20668b0..7098232b4 100644 --- a/src/Fallout.Application.Tools/MakeNsis/MakeNSIS.Generated.cs +++ b/src/Fallout.Application.Tools/MakeNsis/MakeNSIS.Generated.cs @@ -1,6 +1,3 @@ -// Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/MakeNsis/MakeNSIS.json - -using Fallout.Common; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Application.Tools/Mastodon/Mastodon.Generated.cs b/src/Fallout.Application.Tools/Mastodon/Mastodon.Generated.cs index b40fdd025..af9e1dba6 100644 --- a/src/Fallout.Application.Tools/Mastodon/Mastodon.Generated.cs +++ b/src/Fallout.Application.Tools/Mastodon/Mastodon.Generated.cs @@ -1,6 +1,3 @@ -// Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/Mastodon/Mastodon.json - -using Fallout.Common; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Application.Tools/MauiCheck/MauiCheck.Generated.cs b/src/Fallout.Application.Tools/MauiCheck/MauiCheck.Generated.cs index 00e04d022..c3d534797 100644 --- a/src/Fallout.Application.Tools/MauiCheck/MauiCheck.Generated.cs +++ b/src/Fallout.Application.Tools/MauiCheck/MauiCheck.Generated.cs @@ -1,6 +1,3 @@ -// Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/MauiCheck/MauiCheck.json - -using Fallout.Common; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Application.Tools/MinVer/MinVer.Generated.cs b/src/Fallout.Application.Tools/MinVer/MinVer.Generated.cs index cf025acd1..18c09dc6f 100644 --- a/src/Fallout.Application.Tools/MinVer/MinVer.Generated.cs +++ b/src/Fallout.Application.Tools/MinVer/MinVer.Generated.cs @@ -1,6 +1,3 @@ -// Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/MinVer/MinVer.json - -using Fallout.Common; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Application.Tools/NSwag/NSwag.Generated.cs b/src/Fallout.Application.Tools/NSwag/NSwag.Generated.cs index 3bef20861..135a61e9a 100644 --- a/src/Fallout.Application.Tools/NSwag/NSwag.Generated.cs +++ b/src/Fallout.Application.Tools/NSwag/NSwag.Generated.cs @@ -1,6 +1,3 @@ -// Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/NSwag/NSwag.json - -using Fallout.Common; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Application.Tools/NUnit/NUnit.Generated.cs b/src/Fallout.Application.Tools/NUnit/NUnit.Generated.cs index 994858ff5..b48405b08 100644 --- a/src/Fallout.Application.Tools/NUnit/NUnit.Generated.cs +++ b/src/Fallout.Application.Tools/NUnit/NUnit.Generated.cs @@ -1,6 +1,3 @@ -// Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/NUnit/NUnit.json - -using Fallout.Common; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Application.Tools/NerdbankGitVersioning/NerdbankGitVersioning.Generated.cs b/src/Fallout.Application.Tools/NerdbankGitVersioning/NerdbankGitVersioning.Generated.cs index cd01d5878..2c4cf174f 100644 --- a/src/Fallout.Application.Tools/NerdbankGitVersioning/NerdbankGitVersioning.Generated.cs +++ b/src/Fallout.Application.Tools/NerdbankGitVersioning/NerdbankGitVersioning.Generated.cs @@ -1,6 +1,3 @@ -// Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/NerdbankGitVersioning/NerdbankGitVersioning.json - -using Fallout.Common; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Application.Tools/Npm/Npm.Generated.cs b/src/Fallout.Application.Tools/Npm/Npm.Generated.cs index 8b78fa94d..e59281cbd 100644 --- a/src/Fallout.Application.Tools/Npm/Npm.Generated.cs +++ b/src/Fallout.Application.Tools/Npm/Npm.Generated.cs @@ -1,6 +1,3 @@ -// Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/Npm/Npm.json - -using Fallout.Common; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Application.Tools/OctoVersion/OctoVersion.Generated.cs b/src/Fallout.Application.Tools/OctoVersion/OctoVersion.Generated.cs index 6afd03a5c..d85cc39bf 100644 --- a/src/Fallout.Application.Tools/OctoVersion/OctoVersion.Generated.cs +++ b/src/Fallout.Application.Tools/OctoVersion/OctoVersion.Generated.cs @@ -1,6 +1,3 @@ -// Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/OctoVersion/OctoVersion.json - -using Fallout.Common; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Application.Tools/OpenCover/OpenCover.Generated.cs b/src/Fallout.Application.Tools/OpenCover/OpenCover.Generated.cs index a831d7d88..a3a37ef42 100644 --- a/src/Fallout.Application.Tools/OpenCover/OpenCover.Generated.cs +++ b/src/Fallout.Application.Tools/OpenCover/OpenCover.Generated.cs @@ -1,6 +1,3 @@ -// Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/OpenCover/OpenCover.json - -using Fallout.Common; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Application.Tools/PowerShell/PowerShell.Generated.cs b/src/Fallout.Application.Tools/PowerShell/PowerShell.Generated.cs index c85dfe6cf..2609ea853 100644 --- a/src/Fallout.Application.Tools/PowerShell/PowerShell.Generated.cs +++ b/src/Fallout.Application.Tools/PowerShell/PowerShell.Generated.cs @@ -1,6 +1,3 @@ -// Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/PowerShell/PowerShell.json - -using Fallout.Common; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Application.Tools/Pulumi/Pulumi.Generated.cs b/src/Fallout.Application.Tools/Pulumi/Pulumi.Generated.cs index 1b535b505..84ba612e6 100644 --- a/src/Fallout.Application.Tools/Pulumi/Pulumi.Generated.cs +++ b/src/Fallout.Application.Tools/Pulumi/Pulumi.Generated.cs @@ -1,6 +1,3 @@ -// Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/Pulumi/Pulumi.json - -using Fallout.Common; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Application.Tools/Pwsh/Pwsh.Generated.cs b/src/Fallout.Application.Tools/Pwsh/Pwsh.Generated.cs index af64b0698..b0ec232d8 100644 --- a/src/Fallout.Application.Tools/Pwsh/Pwsh.Generated.cs +++ b/src/Fallout.Application.Tools/Pwsh/Pwsh.Generated.cs @@ -1,6 +1,3 @@ -// Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/Pwsh/Pwsh.json - -using Fallout.Common; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Application.Tools/ReportGenerator/ReportGenerator.Generated.cs b/src/Fallout.Application.Tools/ReportGenerator/ReportGenerator.Generated.cs index 97e7ac202..30672b0fe 100644 --- a/src/Fallout.Application.Tools/ReportGenerator/ReportGenerator.Generated.cs +++ b/src/Fallout.Application.Tools/ReportGenerator/ReportGenerator.Generated.cs @@ -1,6 +1,3 @@ -// Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/ReportGenerator/ReportGenerator.json - -using Fallout.Common; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Application.Tools/Slack/Slack.Generated.cs b/src/Fallout.Application.Tools/Slack/Slack.Generated.cs index 8d6b49998..df747f91e 100644 --- a/src/Fallout.Application.Tools/Slack/Slack.Generated.cs +++ b/src/Fallout.Application.Tools/Slack/Slack.Generated.cs @@ -1,6 +1,3 @@ -// Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/Slack/Slack.json - -using Fallout.Common; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Application.Tools/Squirrel/Squirrel.Generated.cs b/src/Fallout.Application.Tools/Squirrel/Squirrel.Generated.cs index 85608e18c..6402a8aa4 100644 --- a/src/Fallout.Application.Tools/Squirrel/Squirrel.Generated.cs +++ b/src/Fallout.Application.Tools/Squirrel/Squirrel.Generated.cs @@ -1,6 +1,3 @@ -// Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/Squirrel/Squirrel.json - -using Fallout.Common; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Application.Tools/Teams/Teams.Generated.cs b/src/Fallout.Application.Tools/Teams/Teams.Generated.cs index 9899be82f..585992d7b 100644 --- a/src/Fallout.Application.Tools/Teams/Teams.Generated.cs +++ b/src/Fallout.Application.Tools/Teams/Teams.Generated.cs @@ -1,6 +1,3 @@ -// Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/Teams/Teams.json - -using Fallout.Common; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Application.Tools/TestCloud/TestCloud.Generated.cs b/src/Fallout.Application.Tools/TestCloud/TestCloud.Generated.cs index ff252fb5b..3d33b6ded 100644 --- a/src/Fallout.Application.Tools/TestCloud/TestCloud.Generated.cs +++ b/src/Fallout.Application.Tools/TestCloud/TestCloud.Generated.cs @@ -1,6 +1,3 @@ -// Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/TestCloud/TestCloud.json - -using Fallout.Common; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Application.Tools/VSTest/VSTest.Generated.cs b/src/Fallout.Application.Tools/VSTest/VSTest.Generated.cs index 033015dad..00ddb3e0e 100644 --- a/src/Fallout.Application.Tools/VSTest/VSTest.Generated.cs +++ b/src/Fallout.Application.Tools/VSTest/VSTest.Generated.cs @@ -1,6 +1,3 @@ -// Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/VSTest/VSTest.json - -using Fallout.Common; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Application.Tools/VSWhere/VSWhere.Generated.cs b/src/Fallout.Application.Tools/VSWhere/VSWhere.Generated.cs index c24072ac1..e4c37dc4d 100644 --- a/src/Fallout.Application.Tools/VSWhere/VSWhere.Generated.cs +++ b/src/Fallout.Application.Tools/VSWhere/VSWhere.Generated.cs @@ -1,6 +1,3 @@ -// Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/VSWhere/VSWhere.json - -using Fallout.Common; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Application.Tools/WebConfigTransformRunner/WebConfigTransformRunner.Generated.cs b/src/Fallout.Application.Tools/WebConfigTransformRunner/WebConfigTransformRunner.Generated.cs index c6638f254..c78ba5c19 100644 --- a/src/Fallout.Application.Tools/WebConfigTransformRunner/WebConfigTransformRunner.Generated.cs +++ b/src/Fallout.Application.Tools/WebConfigTransformRunner/WebConfigTransformRunner.Generated.cs @@ -1,6 +1,3 @@ -// Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/WebConfigTransformRunner/WebConfigTransformRunner.json - -using Fallout.Common; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Application.Tools/Xunit/Xunit.Generated.cs b/src/Fallout.Application.Tools/Xunit/Xunit.Generated.cs index b909eb3ce..d693dd605 100644 --- a/src/Fallout.Application.Tools/Xunit/Xunit.Generated.cs +++ b/src/Fallout.Application.Tools/Xunit/Xunit.Generated.cs @@ -1,6 +1,3 @@ -// Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/Xunit/Xunit.json - -using Fallout.Common; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/src/Fallout.Application/Attributes/HandleSingleFileExecutionAttribute.cs b/src/Fallout.Application/Attributes/HandleSingleFileExecutionAttribute.cs index 486fc66e4..54bc278ad 100644 --- a/src/Fallout.Application/Attributes/HandleSingleFileExecutionAttribute.cs +++ b/src/Fallout.Application/Attributes/HandleSingleFileExecutionAttribute.cs @@ -11,8 +11,8 @@ using Fallout.Application.Tooling; using Fallout.Kernel; using Fallout.Kernel.IO; -using Fallout.Common; using Fallout.Application.IO; +using Fallout.Build.Shared; namespace Fallout.Application.Execution; diff --git a/src/Fallout.Application/Attributes/SolutionAttribute.cs b/src/Fallout.Application/Attributes/SolutionAttribute.cs index e8914833e..eb1ed6604 100644 --- a/src/Fallout.Application/Attributes/SolutionAttribute.cs +++ b/src/Fallout.Application/Attributes/SolutionAttribute.cs @@ -2,11 +2,10 @@ using System.Linq; using System.Reflection; using Serilog; - -using Fallout.Common; using Fallout.Application; using Fallout.Kernel.IO; using Fallout.Kernel; +using Fallout.Build.Shared; namespace Fallout.Application.Solutions; diff --git a/src/Fallout.Application/Execution/BuildExecutor.cs b/src/Fallout.Application/Execution/BuildExecutor.cs index 6143130e9..5763296a2 100644 --- a/src/Fallout.Application/Execution/BuildExecutor.cs +++ b/src/Fallout.Application/Execution/BuildExecutor.cs @@ -5,10 +5,10 @@ using Fallout.Domain.Execution; using Serilog; using Fallout.Application; -using Fallout.Common; using Fallout.Kernel.IO; using Fallout.Kernel.Collections; using Fallout.Kernel; +using Fallout.Build.Shared; namespace Fallout.Application.Execution; diff --git a/src/Fallout.Application/Execution/Extensions/ArgumentsFromParametersFileAttribute.cs b/src/Fallout.Application/Execution/Extensions/ArgumentsFromParametersFileAttribute.cs index 2155466d8..efd071322 100644 --- a/src/Fallout.Application/Execution/Extensions/ArgumentsFromParametersFileAttribute.cs +++ b/src/Fallout.Application/Execution/Extensions/ArgumentsFromParametersFileAttribute.cs @@ -8,10 +8,10 @@ using Fallout.Application.ValueInjection; using Fallout.Application.Utilities; using Fallout.Application.CI; -using Fallout.Common; using Fallout.Kernel.IO; using Fallout.Kernel.Collections; using Fallout.Kernel; +using Fallout.Build.Shared; namespace Fallout.Application.Execution; diff --git a/src/Fallout.Application/Execution/Extensions/HandleReSharperSurrogateArgumentsAttribute.cs b/src/Fallout.Application/Execution/Extensions/HandleReSharperSurrogateArgumentsAttribute.cs index 9263da048..81a508afa 100644 --- a/src/Fallout.Application/Execution/Extensions/HandleReSharperSurrogateArgumentsAttribute.cs +++ b/src/Fallout.Application/Execution/Extensions/HandleReSharperSurrogateArgumentsAttribute.cs @@ -3,9 +3,9 @@ using System.IO; using System.Linq; using Serilog; -using Fallout.Common; using Fallout.Kernel.IO; using Fallout.Kernel; +using Fallout.Build.Shared; namespace Fallout.Application.Execution; diff --git a/src/Fallout.Application/Execution/Extensions/HandleShellCompletionAttribute.cs b/src/Fallout.Application/Execution/Extensions/HandleShellCompletionAttribute.cs index 503ed5204..fe82efcc7 100644 --- a/src/Fallout.Application/Execution/Extensions/HandleShellCompletionAttribute.cs +++ b/src/Fallout.Application/Execution/Extensions/HandleShellCompletionAttribute.cs @@ -2,12 +2,12 @@ using System.Collections.Generic; using System.Linq; using Fallout.Kernel; -using static Fallout.Common.Constants; +using static Fallout.Build.Shared.Constants; using Fallout.Application.CI; using Fallout.Application; -using Fallout.Common; using Fallout.Kernel; using Fallout.Kernel.IO; +using Fallout.Build.Shared; namespace Fallout.Application.Execution; diff --git a/src/Fallout.Application/Execution/Extensions/HandleVisualStudioDebuggingAttribute.cs b/src/Fallout.Application/Execution/Extensions/HandleVisualStudioDebuggingAttribute.cs index fa001009a..44f1582ae 100644 --- a/src/Fallout.Application/Execution/Extensions/HandleVisualStudioDebuggingAttribute.cs +++ b/src/Fallout.Application/Execution/Extensions/HandleVisualStudioDebuggingAttribute.cs @@ -4,9 +4,9 @@ using System.Linq; using System.Threading; using Fallout.Application; -using Fallout.Common; using Fallout.Kernel.IO; using Fallout.Kernel; +using Fallout.Build.Shared; namespace Fallout.Application.Execution; diff --git a/src/Fallout.Application/Execution/Extensions/UpdateNotificationAttribute.cs b/src/Fallout.Application/Execution/Extensions/UpdateNotificationAttribute.cs index 12b29c870..c20675802 100644 --- a/src/Fallout.Application/Execution/Extensions/UpdateNotificationAttribute.cs +++ b/src/Fallout.Application/Execution/Extensions/UpdateNotificationAttribute.cs @@ -2,10 +2,10 @@ using System.Collections.Generic; using System.IO; using System.Linq; -using static Fallout.Common.Constants; +using static Fallout.Build.Shared.Constants; using Fallout.Application; -using Fallout.Common; using Fallout.Kernel; +using Fallout.Build.Shared; namespace Fallout.Application.Execution; diff --git a/src/Fallout.Application/Execution/ParameterService.cs b/src/Fallout.Application/Execution/ParameterService.cs index 16d7602c3..77451a999 100644 --- a/src/Fallout.Application/Execution/ParameterService.cs +++ b/src/Fallout.Application/Execution/ParameterService.cs @@ -5,9 +5,9 @@ using System.Reflection; using Serilog; using static Fallout.Kernel.ReflectionUtility; -using Fallout.Common; using Fallout.Application.Tooling; using Fallout.Kernel; +using Fallout.Build.Shared; namespace Fallout.Application; diff --git a/src/Fallout.Application/FalloutBuild.Statics.cs b/src/Fallout.Application/FalloutBuild.Statics.cs index 8870699e6..fe2e1dc9a 100644 --- a/src/Fallout.Application/FalloutBuild.Statics.cs +++ b/src/Fallout.Application/FalloutBuild.Statics.cs @@ -2,13 +2,13 @@ using System.IO; using System.Linq; using System.Reflection; -using static Fallout.Common.Constants; +using static Fallout.Build.Shared.Constants; using Fallout.Application.Execution; using Fallout.Application.CI; -using Fallout.Common; using Fallout.Kernel.IO; using Fallout.Kernel; using Fallout.Kernel.Collections; +using Fallout.Build.Shared; namespace Fallout.Application; diff --git a/src/Fallout.Application/FalloutBuild.cs b/src/Fallout.Application/FalloutBuild.cs index 929b41faa..cdd0f623d 100644 --- a/src/Fallout.Application/FalloutBuild.cs +++ b/src/Fallout.Application/FalloutBuild.cs @@ -4,15 +4,15 @@ using System.Linq.Expressions; using System.Reflection; using Fallout.Domain.Execution; -using static Fallout.Common.Constants; +using static Fallout.Build.Shared.Constants; using Fallout.Application.Execution; using Fallout.Application.ValueInjection; using Fallout.Application.CI; using Fallout.Application.Execution.Extensions; -using Fallout.Common; using Fallout.Application.Tooling; using Fallout.Kernel.IO; using Fallout.Kernel; +using Fallout.Build.Shared; // ReSharper disable VirtualMemberNeverOverridden.Global diff --git a/src/Fallout.Application/Logging.cs b/src/Fallout.Application/Logging.cs index b69f00666..81425ca03 100644 --- a/src/Fallout.Application/Logging.cs +++ b/src/Fallout.Application/Logging.cs @@ -11,7 +11,6 @@ using Fallout.Application; using Fallout.Application.CI; using Fallout.Application.Execution; -using Fallout.Common; using Fallout.Kernel; using Fallout.Kernel.IO; using Fallout.Kernel.Collections; diff --git a/src/Fallout.Application/Telemetry/Telemetry.Properties.cs b/src/Fallout.Application/Telemetry/Telemetry.Properties.cs index 98012ae94..07160f304 100644 --- a/src/Fallout.Application/Telemetry/Telemetry.Properties.cs +++ b/src/Fallout.Application/Telemetry/Telemetry.Properties.cs @@ -8,10 +8,10 @@ using Fallout.Application.Git; using Fallout.Application.ValueInjection; using Fallout.Application.CI; -using Fallout.Common; using Fallout.Application.Tooling; using Fallout.Kernel; using Fallout.Kernel.Collections; +using Fallout.Build.Shared; namespace Fallout.Application.Execution; diff --git a/src/Fallout.Application/Telemetry/Telemetry.cs b/src/Fallout.Application/Telemetry/Telemetry.cs index 65272976c..4917484f6 100644 --- a/src/Fallout.Application/Telemetry/Telemetry.cs +++ b/src/Fallout.Application/Telemetry/Telemetry.cs @@ -4,10 +4,10 @@ using System.Threading; using static Fallout.Application.ControlFlow; using Fallout.Application; -using Fallout.Common; using Fallout.Kernel; using Fallout.Kernel.IO; using Fallout.Application.Solutions; +using Fallout.Build.Shared; namespace Fallout.Application.Execution; diff --git a/src/Fallout.Application/Utilities/CredentialStore.cs b/src/Fallout.Application/Utilities/CredentialStore.cs index 70a599b3e..9ff3f6fb0 100644 --- a/src/Fallout.Application/Utilities/CredentialStore.cs +++ b/src/Fallout.Application/Utilities/CredentialStore.cs @@ -1,9 +1,9 @@ using System; using System.Linq; using Fallout.Application; -using Fallout.Common; using Fallout.Application.Tooling; using Fallout.Kernel; +using Fallout.Build.Shared; namespace Fallout.Application.Utilities; diff --git a/src/Fallout.Application/Utilities/SchemaUtility.cs b/src/Fallout.Application/Utilities/SchemaUtility.cs index 89bf85678..5e6a00def 100644 --- a/src/Fallout.Application/Utilities/SchemaUtility.cs +++ b/src/Fallout.Application/Utilities/SchemaUtility.cs @@ -7,13 +7,13 @@ using System.Text.Encodings.Web; using System.Text.Json; using System.Text.Json.Nodes; -using static Fallout.Common.Constants; +using static Fallout.Build.Shared.Constants; using Fallout.Application; using Fallout.Application.ValueInjection; -using Fallout.Common; using Fallout.Application.Execution; using Fallout.Application.Tooling; using Fallout.Kernel; +using Fallout.Build.Shared; namespace Fallout.Application.Execution; diff --git a/src/Fallout.Build.Shared/CompletionUtility.cs b/src/Fallout.Build.Shared/CompletionUtility.cs index c61539798..378597c3f 100644 --- a/src/Fallout.Build.Shared/CompletionUtility.cs +++ b/src/Fallout.Build.Shared/CompletionUtility.cs @@ -6,7 +6,7 @@ using Fallout.Kernel.IO; using Fallout.Kernel; using Fallout.Kernel.Collections; -using Fallout.Common; +using Fallout.Build.Shared; namespace Fallout.Kernel; diff --git a/src/Fallout.Build.Shared/Constants.cs b/src/Fallout.Build.Shared/Constants.cs index 4be0a59e3..b28338445 100644 --- a/src/Fallout.Build.Shared/Constants.cs +++ b/src/Fallout.Build.Shared/Constants.cs @@ -6,7 +6,7 @@ using Fallout.Kernel.Collections; using Fallout.Kernel; -namespace Fallout.Common; +namespace Fallout.Build.Shared; /// /// Set of constants shared between libraries and IDE extensions. diff --git a/src/Fallout.Build.Shared/LegacyEnvironment.cs b/src/Fallout.Build.Shared/LegacyEnvironment.cs index 28f195384..035fe8916 100644 --- a/src/Fallout.Build.Shared/LegacyEnvironment.cs +++ b/src/Fallout.Build.Shared/LegacyEnvironment.cs @@ -1,7 +1,7 @@ using System; using System.Collections.Generic; -namespace Fallout.Common; +namespace Fallout.Build.Shared; /// /// Helpers for reading environment variables during the NUKE → Fallout rename. diff --git a/src/Fallout.Build.Shared/Notifications.cs b/src/Fallout.Build.Shared/Notifications.cs index ce3ec82d5..0048ed34d 100644 --- a/src/Fallout.Build.Shared/Notifications.cs +++ b/src/Fallout.Build.Shared/Notifications.cs @@ -3,7 +3,6 @@ using System.Net.Http; using System.Text.Json; using System.Threading.Tasks; -using Fallout.Common; using Fallout.Kernel.IO; using Fallout.Kernel; diff --git a/src/Fallout.Cli/BuildProjectResolver.cs b/src/Fallout.Cli/BuildProjectResolver.cs index 38986bc00..081cbd0c6 100644 --- a/src/Fallout.Cli/BuildProjectResolver.cs +++ b/src/Fallout.Cli/BuildProjectResolver.cs @@ -1,8 +1,8 @@ using System.IO; -using Fallout.Common; -using static Fallout.Common.Constants; +using static Fallout.Build.Shared.Constants; using Fallout.Kernel.IO; using Fallout.Kernel; +using Fallout.Build.Shared; namespace Fallout.Cli; diff --git a/src/Fallout.Cli/Program.Cake.cs b/src/Fallout.Cli/Program.Cake.cs index 0a1ffb97d..8db92cacc 100644 --- a/src/Fallout.Cli/Program.Cake.cs +++ b/src/Fallout.Cli/Program.Cake.cs @@ -3,9 +3,8 @@ using System.Text.RegularExpressions; using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp; -using Fallout.Common; using Fallout.Cli.Rewriting.Cake; -using static Fallout.Common.Constants; +using static Fallout.Build.Shared.Constants; using static Fallout.Kernel.EnvironmentInfo; using Fallout.Application.Execution; using Fallout.Application; @@ -13,6 +12,7 @@ using Fallout.Kernel.IO; using Fallout.Kernel; using Fallout.Infrastructure.ProjectModel; +using Fallout.Build.Shared; namespace Fallout.Cli; diff --git a/src/Fallout.Cli/Program.Complete.cs b/src/Fallout.Cli/Program.Complete.cs index 485aef70d..fea119511 100644 --- a/src/Fallout.Cli/Program.Complete.cs +++ b/src/Fallout.Cli/Program.Complete.cs @@ -1,12 +1,12 @@ using System; using System.Collections.Generic; using System.Linq; -using Fallout.Common; using Fallout.Kernel; -using static Fallout.Common.Constants; +using static Fallout.Build.Shared.Constants; using Fallout.Kernel.IO; using Fallout.Kernel; using Fallout.Kernel.Text.Yaml; +using Fallout.Build.Shared; namespace Fallout.Cli; diff --git a/src/Fallout.Cli/Program.Navigation.cs b/src/Fallout.Cli/Program.Navigation.cs index 3714e8311..ac4a597d2 100644 --- a/src/Fallout.Cli/Program.Navigation.cs +++ b/src/Fallout.Cli/Program.Navigation.cs @@ -2,10 +2,10 @@ using System.Collections.Generic; using System.IO; using System.Linq; -using Fallout.Common; -using static Fallout.Common.Constants; +using static Fallout.Build.Shared.Constants; using Fallout.Kernel.IO; using Fallout.Kernel; +using Fallout.Build.Shared; namespace Fallout.Cli; diff --git a/src/Fallout.Cli/Program.Run.cs b/src/Fallout.Cli/Program.Run.cs index 99b2640f2..564e8715f 100644 --- a/src/Fallout.Cli/Program.Run.cs +++ b/src/Fallout.Cli/Program.Run.cs @@ -3,10 +3,10 @@ using System.Diagnostics; using System.IO; using System.Linq; -using Fallout.Common; -using static Fallout.Common.Constants; +using static Fallout.Build.Shared.Constants; using Fallout.Kernel.IO; using Fallout.Kernel; +using Fallout.Build.Shared; namespace Fallout.Cli; diff --git a/src/Fallout.Cli/Program.Secrets.cs b/src/Fallout.Cli/Program.Secrets.cs index 915440ee4..84e5ab7f1 100644 --- a/src/Fallout.Cli/Program.Secrets.cs +++ b/src/Fallout.Cli/Program.Secrets.cs @@ -2,15 +2,15 @@ using System.Collections.Generic; using System.Linq; using System.Text.Json.Nodes; -using Fallout.Common; using Fallout.Kernel; -using static Fallout.Common.Constants; +using static Fallout.Build.Shared.Constants; using static Fallout.Kernel.EncryptionUtility; using Fallout.Application; using Fallout.Application.Utilities; using Fallout.Kernel; using Fallout.Kernel.IO; using Fallout.Kernel.Collections; +using Fallout.Build.Shared; namespace Fallout.Cli; diff --git a/src/Fallout.Cli/Program.Setup.cs b/src/Fallout.Cli/Program.Setup.cs index 54125bb9b..87deffae1 100644 --- a/src/Fallout.Cli/Program.Setup.cs +++ b/src/Fallout.Cli/Program.Setup.cs @@ -4,9 +4,8 @@ using System.Linq; using System.Reflection; using System.Text; -using Fallout.Common; using Spectre.Console; -using static Fallout.Common.Constants; +using static Fallout.Build.Shared.Constants; using static Fallout.Kernel.EnvironmentInfo; using static Fallout.Infrastructure.Tooling.ProcessTasks; using static Fallout.Kernel.TemplateUtility; @@ -16,6 +15,7 @@ using Fallout.Kernel; using Fallout.Kernel.IO; using Fallout.Kernel.Collections; +using Fallout.Build.Shared; namespace Fallout.Cli; diff --git a/src/Fallout.Cli/Program.Update.cs b/src/Fallout.Cli/Program.Update.cs index e2180a169..0c7d2f659 100644 --- a/src/Fallout.Cli/Program.Update.cs +++ b/src/Fallout.Cli/Program.Update.cs @@ -2,8 +2,7 @@ using System.IO; using System.Linq; using System.Text.Json.Nodes; -using Fallout.Common; -using static Fallout.Common.Constants; +using static Fallout.Build.Shared.Constants; using Fallout.Application.Execution; using Fallout.Application; using Fallout.Application.Tools.DotNet; @@ -11,6 +10,7 @@ using Fallout.Kernel; using Fallout.Infrastructure.ProjectModel; using Fallout.Application.Solutions; +using Fallout.Build.Shared; namespace Fallout.Cli; diff --git a/src/Fallout.Cli/Program.cs b/src/Fallout.Cli/Program.cs index 561d028bb..7db6f699a 100644 --- a/src/Fallout.Cli/Program.cs +++ b/src/Fallout.Cli/Program.cs @@ -2,11 +2,11 @@ using System.IO; using System.Linq; using System.Text; -using Fallout.Common; using Spectre.Console; using Fallout.Application; using Fallout.Kernel.IO; using Fallout.Kernel; +using Fallout.Build.Shared; namespace Fallout.Cli; diff --git a/src/Fallout.Cli/ProjectUpdater.cs b/src/Fallout.Cli/ProjectUpdater.cs index dd3b7fa9a..a9f780786 100644 --- a/src/Fallout.Cli/ProjectUpdater.cs +++ b/src/Fallout.Cli/ProjectUpdater.cs @@ -1,10 +1,10 @@ using System; using System.Linq; using NuGet.Versioning; -using Fallout.Common; using Fallout.Infrastructure.Tooling; using Fallout.Kernel; using Fallout.Infrastructure.ProjectModel; +using Fallout.Build.Shared; namespace Fallout.Cli; diff --git a/src/Fallout.Cli/templates/Build.cs b/src/Fallout.Cli/templates/Build.cs index ce22bf78e..52f6a0cba 100644 --- a/src/Fallout.Cli/templates/Build.cs +++ b/src/Fallout.Cli/templates/Build.cs @@ -1,6 +1,5 @@ using System; using System.Linq; -using Fallout.Common; using Fallout.Application.CI; using Fallout.Application.Execution; using Fallout.Application.Git; // GIT diff --git a/src/Fallout.SourceGenerators/Shims/FalloutBuild.cs b/src/Fallout.SourceGenerators/Shims/FalloutBuild.cs deleted file mode 100644 index a556028f4..000000000 --- a/src/Fallout.SourceGenerators/Shims/FalloutBuild.cs +++ /dev/null @@ -1,8 +0,0 @@ -using System; -using System.Linq; - -namespace Fallout.Common; - -internal static class FalloutBuild -{ -} diff --git a/src/Fallout.SourceGenerators/StronglyTypedSolutionGenerator.cs b/src/Fallout.SourceGenerators/StronglyTypedSolutionGenerator.cs index f8119ad13..7316863c7 100644 --- a/src/Fallout.SourceGenerators/StronglyTypedSolutionGenerator.cs +++ b/src/Fallout.SourceGenerators/StronglyTypedSolutionGenerator.cs @@ -7,7 +7,6 @@ using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp; using Microsoft.CodeAnalysis.CSharp.Syntax; -using Fallout.Common; using Fallout.Infrastructure.Solutions; using Scriban; using static Microsoft.CodeAnalysis.CSharp.SyntaxFactory; @@ -15,6 +14,7 @@ using Fallout.Kernel.Collections; using Fallout.Kernel; using Fallout.Application.Solutions; +using Fallout.Build.Shared; namespace Fallout.SourceGenerators; diff --git a/tools/OnionRewriter/Program.cs b/tools/OnionRewriter/Program.cs index 4f6241942..700a8c787 100644 --- a/tools/OnionRewriter/Program.cs +++ b/tools/OnionRewriter/Program.cs @@ -32,15 +32,15 @@ record struct Rule(string Old, string New, string[] SourceAssemblies); // The two Infrastructure destinations are per-type overrides (they beat the default prefix rule). After // phase B the model already routes solution/project I/O through the ports, so this move adds no // Infrastructure dependency to the Application ring (gate stays green). - // Namespace residual #1 (post-project-rename tidy-up): a few Fallout.Kernel.IO-namespace files - // (FtpTasks, HttpTasks, the globbing injection attrs) physically live in the Fallout.Application - // assembly because they depend on the Application ring (ControlFlow/Configure) — their namespace lies - // about their ring. Retarget them to Fallout.Application.IO so namespace matches assembly. Source - // assembly = Fallout.Application ONLY, so the 20 genuine Kernel.IO types in Fallout.Kernel stay put - // (Fallout.Kernel.IO survives there — the surviving-ns logic keeps live `using Fallout.Kernel.IO;`). + // Namespace residual #2 (post-project-rename tidy-up): the last surviving Fallout.Common namespace — + // Constants + LegacyEnvironment, physically in the Fallout.Build.Shared assembly — is relabelled to + // Fallout.Build.Shared (matches the assembly; the dissolved Fallout.Common is finally gone everywhere). + // Pure namespace relabel + using rewrites across ~79 consumer files; no assembly-graph change (Constants + // stays in the Build.Shared assembly). The vestigial Fallout.Common stub in SourceGenerators was deleted + // first, so the namespace is fully evacuated and dead `using Fallout.Common;` directives drop cleanly. static readonly Rule[] Rules = [ - new("Fallout.Kernel.IO", "Fallout.Application.IO", ["Fallout.Application"]), + new("Fallout.Common", "Fallout.Build.Shared", ["Fallout.Build.Shared"]), ]; static readonly Dictionary TypeOverrides = new(); From 36fc88e13504379c67d8c9564327b8c5954e95ee Mon Sep 17 00:00:00 2001 From: Chrison Simtian Date: Mon, 1 Jun 2026 21:04:37 +1200 Subject: [PATCH 38/46] =?UTF-8?q?docs(spike):=20record=20namespace=20resid?= =?UTF-8?q?uals=20cleaned=20=E2=80=94=20Fallout.Common=20fully=20gone?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.8 (1M context) --- docs/spikes/0003-onion-infrastructure-ring.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/spikes/0003-onion-infrastructure-ring.md b/docs/spikes/0003-onion-infrastructure-ring.md index ff03c22e4..3286349ec 100644 --- a/docs/spikes/0003-onion-infrastructure-ring.md +++ b/docs/spikes/0003-onion-infrastructure-ring.md @@ -1,7 +1,8 @@ # Spike 0003 — Onion realignment: the Infrastructure ring (steps 3–5) - **Status:** In progress — step 3, 4a, 4b + inversion, 5a, 5b, 5c done; 5d resolved-by-decision; **project-FILE renames + splits + meta-package DONE** (the whole onion is now `ring = project = namespace = assembly = package`). Remaining: only the `Nuke.*` shim/migration redesign, then ship. On branch `spike/onion-kernel` (stacked on `spike/onion-infrastructure`). -- **Project renames/splits DONE (6 phases, commits a5e85646 / df09f573 / 94d31883 / 01d4a670 / 3ed3a645 + this):** (1) pure renames `Fallout.Build`→`.Application`, `Components`→`.Application.Components`, `ProjectModel`→`.Infrastructure.ProjectModel`, `Utilities*`→`Kernel*`; (2) split `Tooling`→`Application.Tooling`+`Infrastructure.Tooling`; (3) split `Solution`→`Application.Solutions`+`Infrastructure.Solutions`; (4) dissolve `Fallout.Common`→`Application.Tools`+`Infrastructure.CI`+`Application`+`Kernel`, new thin **`Fallout` meta-package** as the consumer anchor (carries `Fallout.props`/`.targets`+MSBuildTasks+analyzer); (5) TFM cleanup (net472 dropped; Domain→net10.0; ProjectModel KEEPS net8/9/10 — per-TFM MSBuild SDK matching; ns2.0 only where Roslyn generators consume). **Linchpin fix:** `Assembly.Load` doesn't run `[ModuleInitializer]`s, so split-out adapter registration silently broke (null `ToolingServices`/`SolutionServices`, swallowed NRE — invisible to unit tests, caught by the dogfood build); `BuildManager.Initialize` now `RunModuleConstructor`s each Fallout.* assembly, the generator uses a `SolutionReader` direct-read, and test hosts force-run the adapter module ctors. **Residual (noted, not blocking):** a few `Kernel.IO`-namespace files (FtpTasks/HttpTasks/globbing attrs) physically live in the `Fallout.Application` assembly because they depend on Application (`ControlFlow`/`Configure`) — a namespace-vs-assembly cleanup for later; ring-safe (no Infra dep, gate green). Full suite (14 projects) + gate + dogfood `./build.sh Test` green throughout. +- **Project renames/splits DONE (6 phases, commits a5e85646 / df09f573 / 94d31883 / 01d4a670 / 3ed3a645 + this):** (1) pure renames `Fallout.Build`→`.Application`, `Components`→`.Application.Components`, `ProjectModel`→`.Infrastructure.ProjectModel`, `Utilities*`→`Kernel*`; (2) split `Tooling`→`Application.Tooling`+`Infrastructure.Tooling`; (3) split `Solution`→`Application.Solutions`+`Infrastructure.Solutions`; (4) dissolve `Fallout.Common`→`Application.Tools`+`Infrastructure.CI`+`Application`+`Kernel`, new thin **`Fallout` meta-package** as the consumer anchor (carries `Fallout.props`/`.targets`+MSBuildTasks+analyzer); (5) TFM cleanup (net472 dropped; Domain→net10.0; ProjectModel KEEPS net8/9/10 — per-TFM MSBuild SDK matching; ns2.0 only where Roslyn generators consume). **Linchpin fix:** `Assembly.Load` doesn't run `[ModuleInitializer]`s, so split-out adapter registration silently broke (null `ToolingServices`/`SolutionServices`, swallowed NRE — invisible to unit tests, caught by the dogfood build); `BuildManager.Initialize` now `RunModuleConstructor`s each Fallout.* assembly, the generator uses a `SolutionReader` direct-read, and test hosts force-run the adapter module ctors. Full suite (14 projects) + gate + dogfood `./build.sh Test` green throughout. +- **Namespace residuals CLEANED (2026-06-01, commits 2f205744 + 2b289e08):** (1) the `Kernel.IO`-namespace files in the Application assembly (FtpTasks/HttpTasks/globbing attrs) → `Fallout.Application.IO` (namespace now matches assembly; the 20 genuine Kernel.IO types in Fallout.Kernel untouched). (2) the last surviving `Fallout.Common` namespace (`Constants`/`LegacyEnvironment` in Build.Shared) → `Fallout.Build.Shared`; a vestigial `Fallout.Common.FalloutBuild` stub in SourceGenerators deleted first so the namespace fully evacuated (75 dead usings dropped) + the starter template's dead `using Fallout.Common;` removed. **`Fallout.Common` no longer exists anywhere in shipped code** (only as Nuke→Fallout migration test DATA in Migrate fixtures). The onion is now truly `ring = project = namespace = assembly = package`. Only remaining onion work: the `Nuke.*` shim / Migrate redesign. - **Date:** 2026-05-31 (updated 2026-06-01) - **Decision record:** [ADR-0006](../adr/0006-onion-layering-and-namespace-realignment.md) - **Channel:** `experimental` (branch `spike/onion-infrastructure`) From d8618b49457d2af843e0adaff5e8182d023c66d6 Mon Sep 17 00:00:00 2001 From: Chrison Simtian Date: Mon, 1 Jun 2026 21:44:16 +1200 Subject: [PATCH 39/46] feat(migration): add canonical Nuke<->Fallout namespace map (shared source) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Single source of truth for the two halves of the NUKE-compat story, which the onion realignment desynchronised. src/Shared/NukeNamespaceMap.cs lists every (NukePrefix, FalloutPrefix, ShimPackage) row + an IsMigrationTarget flag for the namespaces that split across rings post-onion (CI, ProjectModel, IO). Linked as source into the three consumers (Fallout.SourceGenerators, Fallout.Migrate, Fallout.Migrate.Analyzers) so the shim generator (Fallout->Nuke) and the migration rewriters (Nuke->Fallout) derive from the same table. No behaviour change yet — wired into the generator + rewriters in the next steps. Build green. Co-Authored-By: Claude Opus 4.8 (1M context) --- .../Fallout.Migrate.Analyzers.csproj | 7 ++ src/Fallout.Migrate/Fallout.Migrate.csproj | 7 ++ .../Fallout.SourceGenerators.csproj | 7 ++ src/Shared/NukeNamespaceMap.cs | 100 ++++++++++++++++++ 4 files changed, 121 insertions(+) create mode 100644 src/Shared/NukeNamespaceMap.cs diff --git a/src/Fallout.Migrate.Analyzers/Fallout.Migrate.Analyzers.csproj b/src/Fallout.Migrate.Analyzers/Fallout.Migrate.Analyzers.csproj index a9326eb9d..22175ccc7 100644 --- a/src/Fallout.Migrate.Analyzers/Fallout.Migrate.Analyzers.csproj +++ b/src/Fallout.Migrate.Analyzers/Fallout.Migrate.Analyzers.csproj @@ -30,4 +30,11 @@ + + + + + + diff --git a/src/Fallout.Migrate/Fallout.Migrate.csproj b/src/Fallout.Migrate/Fallout.Migrate.csproj index 4427b3e44..a982d6197 100644 --- a/src/Fallout.Migrate/Fallout.Migrate.csproj +++ b/src/Fallout.Migrate/Fallout.Migrate.csproj @@ -14,4 +14,11 @@ + + + + + + diff --git a/src/Fallout.SourceGenerators/Fallout.SourceGenerators.csproj b/src/Fallout.SourceGenerators/Fallout.SourceGenerators.csproj index a56d70a05..e20866180 100644 --- a/src/Fallout.SourceGenerators/Fallout.SourceGenerators.csproj +++ b/src/Fallout.SourceGenerators/Fallout.SourceGenerators.csproj @@ -55,4 +55,11 @@ + + + + + + diff --git a/src/Shared/NukeNamespaceMap.cs b/src/Shared/NukeNamespaceMap.cs new file mode 100644 index 000000000..271bc005f --- /dev/null +++ b/src/Shared/NukeNamespaceMap.cs @@ -0,0 +1,100 @@ +using System.Collections.Generic; +using System.Linq; + +namespace Fallout.Migration.Shared; + +/// +/// The single canonical correspondence between legacy Nuke.* namespaces and their post-onion +/// Fallout.* homes. Linked (as source) into the three consumers so there is ONE source of truth: +/// +/// the transition-shim generator (Fallout.SourceGenerators) emits Fallout.* → Nuke.* +/// re-exports per shim package; +/// the migration rewriters (Fallout.Migrate, Fallout.Migrate.Analyzers) rewrite +/// Nuke.* → Fallout.*. +/// +/// A few NUKE namespaces SPLIT across rings post-onion (CI, ProjectModel, IO). The shim direction unions +/// every row for a Nuke prefix; the migration direction (a pure prefix replace) uses the single row flagged +/// as that prefix's dominant home (the rarer secondary +/// home is shim-only — code using it keeps compiling via the shim, and the migration analyzer flags the +/// residue for manual touch-up; deliberate, given low migration demand). +/// +internal sealed class NukeNamespaceMapping +{ + public NukeNamespaceMapping(string nukePrefix, string falloutPrefix, string shimPackage, bool isMigrationTarget = true) + { + NukePrefix = nukePrefix; + FalloutPrefix = falloutPrefix; + ShimPackage = shimPackage; + IsMigrationTarget = isMigrationTarget; + } + + /// Legacy namespace prefix, e.g. Nuke.Common.Tools. + public string NukePrefix { get; } + + /// Post-onion Fallout namespace prefix, e.g. Fallout.Application.Tools. + public string FalloutPrefix { get; } + + /// Which shim package re-exports this row (Nuke.Common or Nuke.Components). + public string ShimPackage { get; } + + /// + /// True if this row is the dominant Nuke→Fallout migration target for its . + /// Exactly one row per distinct is the migration target; split-namespace + /// secondaries are shim-only (false). + /// + public bool IsMigrationTarget { get; } +} + +internal static class NukeNamespaceMap +{ + public const string NukeCommonPackage = "Nuke.Common"; + public const string NukeComponentsPackage = "Nuke.Components"; + + /// The canonical map. Order is not significant; consumers sort as needed. + public static readonly IReadOnlyList All = new[] + { + // ── Nuke.Common ─────────────────────────────────────────────────────────────────────────── + new NukeNamespaceMapping("Nuke.Common.Tooling", "Fallout.Application.Tooling", NukeCommonPackage), + new NukeNamespaceMapping("Nuke.Common.Tools", "Fallout.Application.Tools", NukeCommonPackage), + new NukeNamespaceMapping("Nuke.Common.Git", "Fallout.Application.Git", NukeCommonPackage), + new NukeNamespaceMapping("Nuke.Common.Execution", "Fallout.Application.Execution", NukeCommonPackage), + new NukeNamespaceMapping("Nuke.Common.ValueInjection", "Fallout.Application.ValueInjection", NukeCommonPackage), + new NukeNamespaceMapping("Nuke.Common.ChangeLog", "Fallout.Application.ChangeLog", NukeCommonPackage), + new NukeNamespaceMapping("Nuke.Common.Utilities", "Fallout.Kernel", NukeCommonPackage), + + // Split namespaces: migration target = the dominant consumer-facing home; secondary = shim-only. + // CI: providers (Infrastructure.CI) are what `using Nuke.Common.CI.` consumers reference; + // the port enums in Application.CI are the rarer secondary. + new NukeNamespaceMapping("Nuke.Common.CI", "Fallout.Infrastructure.CI", NukeCommonPackage), + new NukeNamespaceMapping("Nuke.Common.CI", "Fallout.Application.CI", NukeCommonPackage, isMigrationTarget: false), + // ProjectModel: the Solution/Project model + [Solution] (Application.Solutions) is dominant; the + // MSBuild evaluator (Infrastructure.ProjectModel) is the rarer secondary. + new NukeNamespaceMapping("Nuke.Common.ProjectModel", "Fallout.Application.Solutions", NukeCommonPackage), + new NukeNamespaceMapping("Nuke.Common.ProjectModel", "Fallout.Infrastructure.ProjectModel", NukeCommonPackage, isMigrationTarget: false), + // IO: AbsolutePath/glob fluent API (Kernel.IO) is dominant; the build-injection IO attrs + // (Application.IO) are the secondary. + new NukeNamespaceMapping("Nuke.Common.IO", "Fallout.Kernel.IO", NukeCommonPackage), + new NukeNamespaceMapping("Nuke.Common.IO", "Fallout.Application.IO", NukeCommonPackage, isMigrationTarget: false), + + // Root: NukeBuild/Target/[Parameter]/[Secret]/Host/… → Fallout.Application. Kept LAST so the more + // specific Nuke.Common.* prefixes above win longest-prefix-first matching in the migration rewriter. + new NukeNamespaceMapping("Nuke.Common", "Fallout.Application", NukeCommonPackage), + + // ── Nuke.Components ─────────────────────────────────────────────────────────────────────── + new NukeNamespaceMapping("Nuke.Components", "Fallout.Application.Components", NukeComponentsPackage), + }; + + /// Fallout→Nuke rows the shim generator emits for (unions splits). + public static IEnumerable ShimRowsFor(string shimPackage) + => All.Where(x => x.ShimPackage == shimPackage); + + /// + /// Nuke→Fallout migration prefix pairs, longest Nuke prefix first (so Nuke.Common.Tools is tried + /// before Nuke.Common). Only dominant rows; one per distinct Nuke prefix. + /// + public static IReadOnlyList> MigrationPairsLongestFirst { get; } = + All.Where(x => x.IsMigrationTarget) + .OrderByDescending(x => x.NukePrefix.Length) + .Select(x => new KeyValuePair(x.NukePrefix, x.FalloutPrefix)) + .ToArray(); +} From 1e2c34f8bb11c8190a07ce988080fdb341b14b45 Mon Sep 17 00:00:00 2001 From: Chrison Simtian Date: Mon, 1 Jun 2026 21:52:26 +1200 Subject: [PATCH 40/46] =?UTF-8?q?fix(migration):=20rebuild=20Nuke=E2=86=92?= =?UTF-8?q?Fallout=20rewriters=20on=20the=20canonical=20map=20(post-onion?= =?UTF-8?q?=20correct)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The onion realignment broke the migration: CodeRewriter's blind `Nuke.`→`Fallout.` swap produced dead `Fallout.Common.*` namespaces (now `Fallout.Application.*` etc.), and CsprojRewriter mapped the `Nuke.Common` package to the dissolved `Fallout.Common` package. Rebuild both (and the analyzer codefix) on the shared NukeNamespaceMap: - CodeRewriter: ordered longest-prefix-first namespace rewrite over the map (Nuke.Common.Tools → Fallout.Application.Tools, Nuke.Common.IO → Fallout.Kernel.IO, Nuke.Common → Fallout.Application, …). - CsprojRewriter: explicit package-ID map (Nuke.Common → the `Fallout` meta-package, Nuke.Components → Fallout.Application.Components); unknown Nuke.* packages left untouched rather than rewritten to a dead Fallout.* id. - NukeMigrationCodeFix: rewrite the whole qualified name via the map (VisitQualifiedName) instead of the bare `Nuke`→`Fallout` token swap. - Added PackageIdMap to the shared map. - Updated the migration test fixtures (CodeRewriter/Csproj/Integration + analyzer codefix + RealWorldSmoke) that had encoded the pre-onion broken output to the onion-correct Fallout.Application.*/Kernel.*/Application.Components/Fallout-meta output. Both migration suites green (Migrate 22, Analyzers 14). Co-Authored-By: Claude Opus 4.8 (1M context) --- .../NukeMigrationCodeFix.cs | 27 ++++++++++- src/Fallout.Migrate/CodeRewriter.cs | 23 ++++++--- src/Fallout.Migrate/CsprojRewriter.cs | 48 +++++++++++-------- src/Shared/NukeNamespaceMap.cs | 14 ++++++ .../NukeMigrationCodeFixTests.cs | 10 ++-- .../RealWorldSmokeTests.cs | 18 +++---- .../Fallout.Migrate.Tests/CodeRewriterTest.cs | 13 +++-- .../CsprojRewriterTest.cs | 14 +++--- .../MigrationIntegrationTest.cs | 6 ++- 9 files changed, 119 insertions(+), 54 deletions(-) diff --git a/src/Fallout.Migrate.Analyzers/NukeMigrationCodeFix.cs b/src/Fallout.Migrate.Analyzers/NukeMigrationCodeFix.cs index d3a0758e7..4554e0848 100644 --- a/src/Fallout.Migrate.Analyzers/NukeMigrationCodeFix.cs +++ b/src/Fallout.Migrate.Analyzers/NukeMigrationCodeFix.cs @@ -6,6 +6,7 @@ using Microsoft.CodeAnalysis.CodeFixes; using Microsoft.CodeAnalysis.CSharp; using Microsoft.CodeAnalysis.CSharp.Syntax; +using Fallout.Migration.Shared; namespace Fallout.Migrate.Analyzers; @@ -54,13 +55,24 @@ private static async Task ApplyFixAsync(Document document, SyntaxNode private sealed class NukeToFalloutRewriter : CSharpSyntaxRewriter { + public override SyntaxNode? VisitQualifiedName(QualifiedNameSyntax node) + { + // Map the whole dotted name by longest Nuke prefix (e.g. Nuke.Common.Tools.DotNet → + // Fallout.Application.Tools.DotNet), via the shared canonical map. Replacing the bare `Nuke` + // token alone would yield the dead `Fallout.Common.*` namespace (post-onion). + var mapped = MapNamespacePrefix(node.ToString()); + return mapped is null + ? base.VisitQualifiedName(node) + : SyntaxFactory.ParseName(mapped).WithTriviaFrom(node); + } + public override SyntaxNode? VisitIdentifierName(IdentifierNameSyntax node) { var replacement = node.Identifier.ValueText switch { - "Nuke" => "Fallout", "NukeBuild" => "FalloutBuild", "INukeBuild" => "IFalloutBuild", + "Nuke" => "Fallout", // lone Nuke identifier (not part of a qualified name) _ => null, }; @@ -72,5 +84,18 @@ private sealed class NukeToFalloutRewriter : CSharpSyntaxRewriter replacement, node.Identifier.TrailingTrivia)); } + + /// Applies the canonical Nuke→Fallout prefix map (longest first); null if no prefix matches. + private static string? MapNamespacePrefix(string dottedName) + { + foreach (var pair in NukeNamespaceMap.MigrationPairsLongestFirst) + { + if (dottedName == pair.Key) + return pair.Value; + if (dottedName.StartsWith(pair.Key + ".", System.StringComparison.Ordinal)) + return pair.Value + dottedName.Substring(pair.Key.Length); + } + return null; + } } } diff --git a/src/Fallout.Migrate/CodeRewriter.cs b/src/Fallout.Migrate/CodeRewriter.cs index 9eeff637b..c5d3a3966 100644 --- a/src/Fallout.Migrate/CodeRewriter.cs +++ b/src/Fallout.Migrate/CodeRewriter.cs @@ -1,15 +1,21 @@ +using System.Linq; using System.Text.RegularExpressions; +using Fallout.Migration.Shared; namespace Fallout.Migrate; internal static class CodeRewriter { - // Anchored prefix swap: `\bNuke\.` → `Fallout.`. Covers using directives, - // attribute references, qualified type names, namespace declarations. - // The trailing `(?=[A-Z])` lookahead avoids matching `Nuke.json` filenames - // or other lowercase tails the prefix audit deliberately preserved. - private static readonly Regex NamespacePrefix = - new(@"\bNuke\.(?=[A-Z])", RegexOptions.Compiled); + // Per-namespace prefix rewrites driven by the canonical Nuke<->Fallout map (longest Nuke prefix first, + // so `Nuke.Common.Tools` resolves to `Fallout.Application.Tools` before the catch-all `Nuke.Common` → + // `Fallout.Application` rule). This replaces the old blind `Nuke.` → `Fallout.` swap, which the onion + // realignment broke: it produced dead `Fallout.Common.*` namespaces (now `Fallout.Application.*` etc.). + // Each prefix is matched on a word boundary + a `.`/non-identifier tail so we hit namespace segments, + // not filenames (`Nuke.json`) or unrelated identifiers. + private static readonly (Regex Pattern, string Replacement)[] s_namespaceRewrites = + NukeNamespaceMap.MigrationPairsLongestFirst + .Select(p => (new Regex($@"\b{Regex.Escape(p.Key)}(?=\.|\b)", RegexOptions.Compiled), p.Value)) + .ToArray(); // Bare type renames done in the Fallout rebrand (#59). private static readonly Regex NukeBuildType = new(@"\bNukeBuild\b", RegexOptions.Compiled); @@ -19,7 +25,10 @@ public static RewriteResult Rewrite(string original) { var edits = 0; - var content = NamespacePrefix.Replace(original, _ => { edits++; return "Fallout."; }); + var content = original; + foreach (var (pattern, replacement) in s_namespaceRewrites) + content = pattern.Replace(content, _ => { edits++; return replacement; }); + content = INukeBuildType.Replace(content, _ => { edits++; return "IFalloutBuild"; }); content = NukeBuildType.Replace(content, _ => { edits++; return "FalloutBuild"; }); diff --git a/src/Fallout.Migrate/CsprojRewriter.cs b/src/Fallout.Migrate/CsprojRewriter.cs index 1aca7300a..81f404f83 100644 --- a/src/Fallout.Migrate/CsprojRewriter.cs +++ b/src/Fallout.Migrate/CsprojRewriter.cs @@ -1,24 +1,29 @@ +using System.Collections.Generic; using System.Text.RegularExpressions; +using Fallout.Migration.Shared; namespace Fallout.Migrate; internal static class CsprojRewriter { - // Combined rewrite: Nuke.X PackageReference WITH an inline Version attribute → Fallout.X - // at the current Fallout version. NUKE-era pins (e.g. `Version="10.1.0"`) don't exist as - // Fallout.* packages and produce NU1603 ("not found, falling back to next-higher") which - // `WarningsAsErrors` in the migrated project escalates. Bumping in the same pass avoids - // a broken post-migrate build (#217). Tolerates extra attributes between Include and Version - // (e.g. `PrivateAssets="all"`). + // The known NUKE→Fallout package-ID rewrites (canonical map). Post-onion these are NOT a `Nuke.X → + // Fallout.X` prefix swap: NUKE's Nuke.Common consumer package maps to the `Fallout` meta-package, and + // Nuke.Components to Fallout.Application.Components. A blind swap would emit dead `Fallout.Common`/ + // `Fallout.Components` package IDs. + private static readonly IReadOnlyDictionary s_packageIdMap = NukeNamespaceMap.PackageIdMap; + + // Combined rewrite: a known Nuke.X PackageReference WITH an inline Version attribute → its Fallout + // package at the current Fallout version. NUKE-era pins (e.g. `Version="10.1.0"`) don't exist as the + // Fallout packages and produce NU1603 which `WarningsAsErrors` escalates; bumping in the same pass + // avoids a broken post-migrate build (#217). Tolerates extra attributes between Include and Version. private static readonly Regex NukePackageWithInlineVersionPattern = new( - @"(?[A-Z][A-Za-z0-9.]+)(?""[^>]*?\s+Version="")[^""]+", + @"(?Nuke\.[A-Z][A-Za-z0-9.]+)(?""[^>]*?\s+Version="")[^""]+", RegexOptions.Compiled); - // PackageReference / ProjectReference `Include="Nuke.X"` → `Include="Fallout.X"` — namespace - // only. Catches references that DON'T have an inline Version (central package management). - // Must run AFTER NukePackageWithInlineVersionPattern so it only touches what's left. + // PackageReference / ProjectReference `Include="Nuke.X"` → the mapped Fallout package — catches refs + // that DON'T have an inline Version (central package management). Runs after the inline-version pass. private static readonly Regex PackageReferencePattern = - new(@"(?<=\b(?:Include|Update|Remove)="")Nuke\.(?=[A-Z])", RegexOptions.Compiled); + new(@"(?<=\b(?:Include|Update|Remove)="")(?Nuke\.[A-Za-z0-9.]+)", RegexOptions.Compiled); // MSBuild element/property names that begin with `Nuke` followed by an uppercase // letter (e.g. ...). Limited to known consumer-facing names from @@ -48,19 +53,24 @@ public static RewriteResult Rewrite(string original, string falloutVersion) var edits = 0; var content = original; - // Pass 1 — combined Include + Version rewrite for Nuke.X PackageReferences with inline Version. + // Pass 1 — combined Include + Version rewrite for known Nuke.X PackageReferences with inline Version. content = NukePackageWithInlineVersionPattern.Replace(content, m => { + if (!s_packageIdMap.TryGetValue(m.Groups["id"].Value, out var falloutId)) + return m.Value; // unknown Nuke.* package — leave it (don't invent a dead Fallout id) edits++; - return m.Groups["prefix"].Value - + "Fallout." + m.Groups["name"].Value - + m.Groups["between"].Value - + falloutVersion; + return m.Groups["prefix"].Value + falloutId + m.Groups["between"].Value + falloutVersion; }); - // Pass 2 — namespace-only rewrites for anything Pass 1 didn't consume (CPM-managed - // PackageReferences without inline Version, ProjectReferences, MSBuild properties). - content = PackageReferencePattern.Replace(content, _ => { edits++; return "Fallout."; }); + // Pass 2 — Include/Update/Remove rewrites for anything Pass 1 didn't consume (CPM-managed + // PackageReferences without inline Version, ProjectReferences). Known package IDs only. + content = PackageReferencePattern.Replace(content, m => + { + if (!s_packageIdMap.TryGetValue(m.Groups["id"].Value, out var falloutId)) + return m.Value; + edits++; + return falloutId; + }); content = MSBuildPropertyPattern.Replace(content, _ => { edits++; return "Fallout"; }); // Pass 3 — strip the stale System.Security.Cryptography.Xml direct pin. diff --git a/src/Shared/NukeNamespaceMap.cs b/src/Shared/NukeNamespaceMap.cs index 271bc005f..f8e905ebc 100644 --- a/src/Shared/NukeNamespaceMap.cs +++ b/src/Shared/NukeNamespaceMap.cs @@ -84,6 +84,20 @@ internal static class NukeNamespaceMap new NukeNamespaceMapping("Nuke.Components", "Fallout.Application.Components", NukeComponentsPackage), }; + /// + /// NUKE consumer NuGet package ID → its post-onion Fallout package, for the migration's + /// <PackageReference> rewrite. NUKE consumers reference Nuke.Common (→ the Fallout + /// meta-package, which pulls every ring) and optionally Nuke.Components (→ Fallout.Application.Components); + /// the bogus Nuke.Build package folds into the meta. Distinct from the namespace map — package IDs + /// don't track namespaces post-onion (e.g. the Fallout meta has no namespace of its own). + /// + public static readonly IReadOnlyDictionary PackageIdMap = new Dictionary + { + ["Nuke.Common"] = "Fallout", + ["Nuke.Build"] = "Fallout", + ["Nuke.Components"] = "Fallout.Application.Components", + }; + /// Fallout→Nuke rows the shim generator emits for (unions splits). public static IEnumerable ShimRowsFor(string shimPackage) => All.Where(x => x.ShimPackage == shimPackage); diff --git a/tests/Fallout.Migrate.Analyzers.Tests/NukeMigrationCodeFixTests.cs b/tests/Fallout.Migrate.Analyzers.Tests/NukeMigrationCodeFixTests.cs index 7f652bc92..90f5972a2 100644 --- a/tests/Fallout.Migrate.Analyzers.Tests/NukeMigrationCodeFixTests.cs +++ b/tests/Fallout.Migrate.Analyzers.Tests/NukeMigrationCodeFixTests.cs @@ -20,7 +20,7 @@ public static class DotNetTasks { public static int X() => 0; } """; private const string TargetFalloutStub = """ - namespace Fallout.Common + namespace Fallout.Application { public class AbsolutePath { } namespace Tools.DotNet @@ -41,7 +41,7 @@ namespace X { class C { } } """; var fixedSource = $$""" - using Fallout.Common; + using Fallout.Application; namespace X { class C { } } {{LegacyNukeStub}} {{TargetFalloutStub}} @@ -61,7 +61,7 @@ namespace X { class C { } } """; var fixedSource = $$""" - using static Fallout.Common.Tools.DotNet.DotNetTasks; + using static Fallout.Application.Tools.DotNet.DotNetTasks; namespace X { class C { } } {{LegacyNukeStub}} {{TargetFalloutStub}} @@ -90,7 +90,7 @@ namespace X { class C { - object M() => typeof(Fallout.Common.AbsolutePath); + object M() => typeof(Fallout.Application.AbsolutePath); } } {{LegacyNukeStub}} @@ -161,7 +161,7 @@ namespace X { class C { } } var fixedSource = $$""" // Legacy build, mid-migration. - using Fallout.Common; + using Fallout.Application; namespace X { class C { } } {{LegacyNukeStub}} {{TargetFalloutStub}} diff --git a/tests/Fallout.Migrate.Analyzers.Tests/RealWorldSmokeTests.cs b/tests/Fallout.Migrate.Analyzers.Tests/RealWorldSmokeTests.cs index 3854bc72f..a3526cdc0 100644 --- a/tests/Fallout.Migrate.Analyzers.Tests/RealWorldSmokeTests.cs +++ b/tests/Fallout.Migrate.Analyzers.Tests/RealWorldSmokeTests.cs @@ -24,14 +24,14 @@ namespace Nuke.Components { public interface IPack { } } """; private const string TargetFalloutStub = """ - namespace Fallout.Common + namespace Fallout.Application { public class FalloutBuild { public static int Execute(System.Linq.Expressions.Expression> defaultTarget) => 0; } public class Target { } - namespace ProjectModel { public class Solution { } } namespace Tools.DotNet { public static class DotNetTasks { } } } - namespace Fallout.Components { public interface IPack { } } + namespace Fallout.Application.Solutions { public class Solution { } } + namespace Fallout.Application.Components { public interface IPack { } } """; [Fact] @@ -61,16 +61,16 @@ partial class Build : {|FALLOUT004:NukeBuild|}, {|FALLOUT004:Nuke.Components.IPa """; var fixedSource = $$""" - using Fallout.Common; - using Fallout.Common.ProjectModel; - using Fallout.Components; - using static Fallout.Common.Tools.DotNet.DotNetTasks; + using Fallout.Application; + using Fallout.Application.Solutions; + using Fallout.Application.Components; + using static Fallout.Application.Tools.DotNet.DotNetTasks; - partial class Build : FalloutBuild, Fallout.Components.IPack + partial class Build : FalloutBuild, Fallout.Application.Components.IPack { public static int Main() => Execute(x => null); - Fallout.Common.ProjectModel.Solution _solution; + Fallout.Application.Solutions.Solution _solution; } {{LegacyNukeStub}} diff --git a/tests/Fallout.Migrate.Tests/CodeRewriterTest.cs b/tests/Fallout.Migrate.Tests/CodeRewriterTest.cs index 0047ad28a..6acb6e3c7 100644 --- a/tests/Fallout.Migrate.Tests/CodeRewriterTest.cs +++ b/tests/Fallout.Migrate.Tests/CodeRewriterTest.cs @@ -11,14 +11,19 @@ public void RewritesUsingDirective() const string input = """ using Nuke.Common; using Nuke.Common.IO; - using Fallout.Common; + using Fallout.Kernel; """; var result = CodeRewriter.Rewrite(input); + // Per-namespace mapping (canonical map), not a blind Nuke.→Fallout. swap: + // Nuke.Common → Fallout.Application (the build-vocabulary root) + // Nuke.Common.IO → Fallout.Kernel.IO (AbsolutePath/glob fluent API) + // The pre-existing `using Fallout.Kernel;` has no Nuke prefix and is left untouched. result.EditCount.Should().Be(2); - result.Content.Should().Contain("using Fallout.Common;"); - result.Content.Should().Contain("using Fallout.Common.IO;"); + result.Content.Should().Contain("using Fallout.Application;"); + result.Content.Should().Contain("using Fallout.Kernel.IO;"); + result.Content.Should().Contain("using Fallout.Kernel;"); } [Fact] @@ -27,7 +32,7 @@ public void RewritesQualifiedTypeReference() const string input = "var x = new Nuke.Common.Tools.DotNet.DotNetTasks();"; var result = CodeRewriter.Rewrite(input); result.EditCount.Should().Be(1); - result.Content.Should().Be("var x = new Fallout.Common.Tools.DotNet.DotNetTasks();"); + result.Content.Should().Be("var x = new Fallout.Application.Tools.DotNet.DotNetTasks();"); } [Fact] diff --git a/tests/Fallout.Migrate.Tests/CsprojRewriterTest.cs b/tests/Fallout.Migrate.Tests/CsprojRewriterTest.cs index 6e1501768..0dc5b6444 100644 --- a/tests/Fallout.Migrate.Tests/CsprojRewriterTest.cs +++ b/tests/Fallout.Migrate.Tests/CsprojRewriterTest.cs @@ -22,8 +22,8 @@ public void RewritesPackageReferenceNamespace() var result = CsprojRewriter.Rewrite(input, TestFalloutVersion); result.EditCount.Should().Be(2); - result.Content.Should().Contain(@"Include=""Fallout.Common"""); - result.Content.Should().Contain(@"Include=""Fallout.Components"""); + result.Content.Should().Contain(@"Include=""Fallout"""); + result.Content.Should().Contain(@"Include=""Fallout.Application.Components"""); result.Content.Should().NotContain(@"Include=""Nuke."); } @@ -98,8 +98,8 @@ public void BumpsNukeInlineVersionToCurrentFalloutVersion() var result = CsprojRewriter.Rewrite(input, TestFalloutVersion); - result.Content.Should().Contain(@"Include=""Fallout.Common"" Version=""11.0.0"""); - result.Content.Should().Contain(@"Include=""Fallout.Components"" Version=""11.0.0"""); + result.Content.Should().Contain(@"Include=""Fallout"" Version=""11.0.0"""); + result.Content.Should().Contain(@"Include=""Fallout.Application.Components"" Version=""11.0.0"""); result.Content.Should().NotContain(@"Version=""10.1.0"""); } @@ -118,7 +118,7 @@ public void BumpsVersionAcrossExtraAttributesBetweenIncludeAndVersion() var result = CsprojRewriter.Rewrite(input, TestFalloutVersion); - result.Content.Should().Contain(@"Include=""Fallout.Common"" PrivateAssets=""all"" Version=""11.0.0"""); + result.Content.Should().Contain(@"Include=""Fallout"" PrivateAssets=""all"" Version=""11.0.0"""); } [Fact] @@ -137,7 +137,7 @@ public void LeavesCpmManagedReferencesWithoutInlineVersionUntouchedByVersionPass var result = CsprojRewriter.Rewrite(input, TestFalloutVersion); - result.Content.Should().Contain(@""); + result.Content.Should().Contain(@""); result.Content.Should().NotContain(@"Version="); } @@ -159,7 +159,7 @@ public void StripsSystemSecurityCryptographyXmlPackageReference() var result = CsprojRewriter.Rewrite(input, TestFalloutVersion); result.Content.Should().NotContain("System.Security.Cryptography.Xml"); - result.Content.Should().Contain(@"Include=""Fallout.Common"" Version=""11.0.0"""); + result.Content.Should().Contain(@"Include=""Fallout"" Version=""11.0.0"""); } [Fact] diff --git a/tests/Fallout.Migrate.Tests/MigrationIntegrationTest.cs b/tests/Fallout.Migrate.Tests/MigrationIntegrationTest.cs index 48d4fa153..b0185ad9a 100644 --- a/tests/Fallout.Migrate.Tests/MigrationIntegrationTest.cs +++ b/tests/Fallout.Migrate.Tests/MigrationIntegrationTest.cs @@ -21,13 +21,15 @@ public void MigratesVanillaConsumerRepo() // Build file rewritten end to end. var buildCsproj = File.ReadAllText(Path.Combine(temp, "build", "_build.csproj")); - buildCsproj.Should().Contain(@"Include=""Fallout.Common"""); + // Nuke.Common → the Fallout meta-package (post-onion; Fallout.Common no longer exists). + buildCsproj.Should().Contain(@"Include=""Fallout"""); buildCsproj.Should().Contain(""); buildCsproj.Should().NotContain("Nuke.Common"); buildCsproj.Should().NotContain(""); var buildCs = File.ReadAllText(Path.Combine(temp, "build", "Build.cs")); - buildCs.Should().Contain("using Fallout.Common"); + // Nuke.Common namespace → Fallout.Application (the build-vocabulary root). + buildCs.Should().Contain("using Fallout.Application"); buildCs.Should().Contain(": FalloutBuild"); buildCs.Should().NotContain("using Nuke."); buildCs.Should().NotContain("NukeBuild"); From dbc853089f0c8854109818c1fa391c815c65fd25 Mon Sep 17 00:00:00 2001 From: Chrison Simtian Date: Mon, 1 Jun 2026 21:54:32 +1200 Subject: [PATCH 41/46] refactor(migration)!: drop Cake migration support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Remove the Cake→Fallout converter entirely (low demand; legacy from the original author — Nuke migration is the realistic path). Deleted: - src/Fallout.Cli/Rewriting/Cake/ (14 rewriter files) - src/Fallout.Cli/Program.Cake.cs (the :cakeconvert / :cakeclean commands; command dispatch is reflection-based, so they de-register automatically) - tests/Fallout.Cli.Tests/CakeConversionTests.cs + cake-scripts/ (14 fixtures) + the csproj items that included them - Telemetry.Events.ConvertCake() grep confirms zero remaining Cake references. Build + Cli tests green. Co-Authored-By: Claude Opus 4.8 (1M context) --- .../Telemetry/Telemetry.Events.cs | 9 - src/Fallout.Cli/Program.Cake.cs | 138 ------------ .../Rewriting/Cake/AbsolutePathRewriter.cs | 197 ------------------ .../Rewriting/Cake/ClassRewriter.cs | 130 ------------ .../Rewriting/Cake/CodeAnalysisExtensions.cs | 136 ------------ .../Rewriting/Cake/FormattingRewriter.cs | 80 ------- .../Rewriting/Cake/IdentifierNameRewriter.cs | 32 --- .../Rewriting/Cake/InvocationRewriter.cs | 110 ---------- .../Rewriting/Cake/MemberAccessRewriter.cs | 29 --- .../Rewriting/Cake/ParameterRewriter.cs | 68 ------ .../Rewriting/Cake/RegularFieldRewriter.cs | 21 -- .../Cake/RemoveUsingDirectivesRewriter.cs | 14 -- .../Cake/RenameFieldIdentifierRewriter.cs | 37 ---- .../Rewriting/Cake/SafeSyntaxRewriter.cs | 23 -- .../Cake/TargetDefinitionRewriter.cs | 97 --------- .../Rewriting/Cake/ToolInvocationRewriter.cs | 95 --------- .../Fallout.Cli.Tests/CakeConversionTests.cs | 45 ---- .../Fallout.Cli.Tests.csproj | 5 - .../cake-scripts/default-target.cake | 6 - .../cake-scripts/default-target.verified.cs | 38 ---- .../cake-scripts/globbing.cake | 6 - .../cake-scripts/globbing.verified.cs | 35 ---- .../cake-scripts/parameters.cake | 11 - .../cake-scripts/parameters.verified.cs | 39 ---- .../Fallout.Cli.Tests/cake-scripts/paths.cake | 16 -- .../cake-scripts/paths.verified.cs | 50 ----- .../cake-scripts/references.cake | 16 -- .../cake-scripts/references.verified.cs | 36 ---- .../cake-scripts/targets.cake | 17 -- .../cake-scripts/targets.verified.cs | 53 ----- .../cake-scripts/tool-invocation.cake | 34 --- .../cake-scripts/tool-invocation.verified.cs | 62 ------ 32 files changed, 1685 deletions(-) delete mode 100644 src/Fallout.Cli/Program.Cake.cs delete mode 100644 src/Fallout.Cli/Rewriting/Cake/AbsolutePathRewriter.cs delete mode 100644 src/Fallout.Cli/Rewriting/Cake/ClassRewriter.cs delete mode 100644 src/Fallout.Cli/Rewriting/Cake/CodeAnalysisExtensions.cs delete mode 100644 src/Fallout.Cli/Rewriting/Cake/FormattingRewriter.cs delete mode 100644 src/Fallout.Cli/Rewriting/Cake/IdentifierNameRewriter.cs delete mode 100644 src/Fallout.Cli/Rewriting/Cake/InvocationRewriter.cs delete mode 100644 src/Fallout.Cli/Rewriting/Cake/MemberAccessRewriter.cs delete mode 100644 src/Fallout.Cli/Rewriting/Cake/ParameterRewriter.cs delete mode 100644 src/Fallout.Cli/Rewriting/Cake/RegularFieldRewriter.cs delete mode 100644 src/Fallout.Cli/Rewriting/Cake/RemoveUsingDirectivesRewriter.cs delete mode 100644 src/Fallout.Cli/Rewriting/Cake/RenameFieldIdentifierRewriter.cs delete mode 100644 src/Fallout.Cli/Rewriting/Cake/SafeSyntaxRewriter.cs delete mode 100644 src/Fallout.Cli/Rewriting/Cake/TargetDefinitionRewriter.cs delete mode 100644 src/Fallout.Cli/Rewriting/Cake/ToolInvocationRewriter.cs delete mode 100644 tests/Fallout.Cli.Tests/CakeConversionTests.cs delete mode 100644 tests/Fallout.Cli.Tests/cake-scripts/default-target.cake delete mode 100644 tests/Fallout.Cli.Tests/cake-scripts/default-target.verified.cs delete mode 100644 tests/Fallout.Cli.Tests/cake-scripts/globbing.cake delete mode 100644 tests/Fallout.Cli.Tests/cake-scripts/globbing.verified.cs delete mode 100644 tests/Fallout.Cli.Tests/cake-scripts/parameters.cake delete mode 100644 tests/Fallout.Cli.Tests/cake-scripts/parameters.verified.cs delete mode 100644 tests/Fallout.Cli.Tests/cake-scripts/paths.cake delete mode 100644 tests/Fallout.Cli.Tests/cake-scripts/paths.verified.cs delete mode 100644 tests/Fallout.Cli.Tests/cake-scripts/references.cake delete mode 100644 tests/Fallout.Cli.Tests/cake-scripts/references.verified.cs delete mode 100644 tests/Fallout.Cli.Tests/cake-scripts/targets.cake delete mode 100644 tests/Fallout.Cli.Tests/cake-scripts/targets.verified.cs delete mode 100644 tests/Fallout.Cli.Tests/cake-scripts/tool-invocation.cake delete mode 100644 tests/Fallout.Cli.Tests/cake-scripts/tool-invocation.verified.cs diff --git a/src/Fallout.Application/Telemetry/Telemetry.Events.cs b/src/Fallout.Application/Telemetry/Telemetry.Events.cs index f77a6dce7..c32a30991 100644 --- a/src/Fallout.Application/Telemetry/Telemetry.Events.cs +++ b/src/Fallout.Application/Telemetry/Telemetry.Events.cs @@ -56,15 +56,6 @@ public static void SetupBuild() .AddDictionary(GetRepositoryProperties(EnvironmentInfo.WorkingDirectory))); } - public static void ConvertCake() - { - TrackEvent( - eventName: nameof(ConvertCake), - propertiesProvider: () => - GetCommonProperties() - .AddDictionary(GetRepositoryProperties(EnvironmentInfo.WorkingDirectory))); - } - public static void AddPackage() { TrackEvent( diff --git a/src/Fallout.Cli/Program.Cake.cs b/src/Fallout.Cli/Program.Cake.cs deleted file mode 100644 index 8db92cacc..000000000 --- a/src/Fallout.Cli/Program.Cake.cs +++ /dev/null @@ -1,138 +0,0 @@ -using System.Collections.Generic; -using System.Linq; -using System.Text.RegularExpressions; -using Microsoft.CodeAnalysis; -using Microsoft.CodeAnalysis.CSharp; -using Fallout.Cli.Rewriting.Cake; -using static Fallout.Build.Shared.Constants; -using static Fallout.Kernel.EnvironmentInfo; -using Fallout.Application.Execution; -using Fallout.Application; -using Fallout.Infrastructure.Tooling; -using Fallout.Kernel.IO; -using Fallout.Kernel; -using Fallout.Infrastructure.ProjectModel; -using Fallout.Build.Shared; - -namespace Fallout.Cli; - -partial class Program -{ - public const string CAKE_FILE_PATTERN = "*.cake"; - - public static int CakeConvert(string[] args, AbsolutePath rootDirectory, AbsolutePath buildScript) - { - PrintInfo(); - Logging.Configure(); - Telemetry.ConvertCake(); - ProjectModelTasks.Initialize(); - - Host.Warning( - new[] - { - "Converting .cake files is a best effort approach using syntax rewriting.", - "Compile errors are to be expected, however, the following elements are currently covered:", - " - Target definitions", - " - Default targets", - " - Parameter declarations", - " - Absolute paths", - " - Globbing patterns", - " - Tool invocations (dotnet CLI, SignTool)", - " - Addin and tool references", - }.JoinNewLine()); - - Host.Debug(); - if (!PromptForConfirmation("Continue?")) - return 0; - Host.Debug(); - - if (buildScript == null && - PromptForConfirmation("Should a NUKE project be created for better results?")) - { - Setup(args, rootDirectory: null, buildScript: null); - } - - var buildScriptFile = WorkingDirectory / CurrentBuildScriptName; - var buildProjectFile = buildScriptFile.Exists() - ? GetConfiguration(buildScriptFile, evaluate: true) - .GetValueOrDefault(BUILD_PROJECT_FILE, defaultValue: null) - : null; - - foreach (var cakeFile in GetCakeFiles()) - { - var outputFile = cakeFile.Parent / cakeFile.NameWithoutExtension.Capitalize() + ".cs"; - var content = GetCakeConvertedContent(cakeFile.ReadAllText()); - outputFile.WriteAllText(content); - } - - if (buildProjectFile != null) - { - var packages = GetCakeFiles().SelectMany(x => GetCakePackages(x.ReadAllText())); - foreach (var package in packages) - AddOrReplacePackage(package.Id, package.Version, package.Type, buildProjectFile); - } - - return 0; - } - - public static int CakeClean(string[] args, AbsolutePath rootDirectory, AbsolutePath buildScript) - { - var cakeFiles = GetCakeFiles().ToList(); - Host.Information("Found .cake files:"); - cakeFiles.ForEach(x => Host.Debug($" - {x}")); - - if (PromptForConfirmation("Delete?")) - cakeFiles.ForEach(x => x.DeleteFile()); - - return 0; - } - - private static IEnumerable GetCakeFiles() - { - return (TryGetRootDirectoryFrom(WorkingDirectory) ?? WorkingDirectory).GlobFiles($"**/{CAKE_FILE_PATTERN}"); - } - - internal static string GetCakeConvertedContent(string content) - { - var options = new CSharpParseOptions(LanguageVersion.Latest, DocumentationMode.None, SourceCodeKind.Script); - var syntaxTree = CSharpSyntaxTree.ParseText(content, options); - return new CSharpSyntaxRewriter[] - { - new RemoveUsingDirectivesRewriter(), - new RenameFieldIdentifierRewriter(), - new ParameterRewriter(), - new AbsolutePathRewriter(), - new RegularFieldRewriter(), - new TargetDefinitionRewriter(), - new InvocationRewriter(), - new MemberAccessRewriter(), - new IdentifierNameRewriter(), - new ToolInvocationRewriter(), - new ClassRewriter(), - new FormattingRewriter() - }.Aggregate(syntaxTree.GetRoot(), (root, rewriter) => rewriter.Visit(root.NormalizeWhitespace(elasticTrivia: true))) - .ToFullString(); - } - - internal static IEnumerable<(string Type, string Id, string Version)> GetCakePackages(string content) - { - IEnumerable<(string Type, string Id, string Version)> GetPackages( - string packageType, - string regexPattern) - { - var regex = new Regex(regexPattern); - foreach (Match match in regex.Matches(content)) - { - var packageId = match.Groups["packageId"].Value; - var packageVersion = match.Groups["version"].Value; - if (packageVersion.IsNullOrEmpty()) - packageVersion = AsyncHelper.RunSync(() => NuGetVersionResolver.GetLatestVersion(packageId, includePrereleases: false)); - yield return new(packageType, packageId, packageVersion); - } - } - - return GetPackages(PACKAGE_TYPE_DOWNLOAD, @"#tool ""nuget:\?package=(?'packageId'[\w\d\.]+)(&version=(?'version'[\w\d\.]+))?S*""") - .Concat(GetPackages(PACKAGE_TYPE_REFERENCE, @"#addin ""nuget:\?package=(?'packageId'[\w\d\.]+)(&version=(?'version'[\w\d\.]+))?S*""")) - .Where(x => !x.Id.ContainsOrdinalIgnoreCase("Cake")); - } -} diff --git a/src/Fallout.Cli/Rewriting/Cake/AbsolutePathRewriter.cs b/src/Fallout.Cli/Rewriting/Cake/AbsolutePathRewriter.cs deleted file mode 100644 index 05b2be92f..000000000 --- a/src/Fallout.Cli/Rewriting/Cake/AbsolutePathRewriter.cs +++ /dev/null @@ -1,197 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using Microsoft.CodeAnalysis; -using Microsoft.CodeAnalysis.CSharp; -using Microsoft.CodeAnalysis.CSharp.Syntax; -using Fallout.Kernel.IO; -using Fallout.Kernel; - -namespace Fallout.Cli.Rewriting.Cake; - -internal class AbsolutePathRewriter : SafeSyntaxRewriter -{ - public override SyntaxNode VisitFieldDeclaration(FieldDeclarationSyntax node) - { - var reducedFieldDeclaration = (FieldDeclarationSyntax) base.VisitFieldDeclaration(node).NotNull(); - if (reducedFieldDeclaration == node) - return node; - - var variableDeclarator = reducedFieldDeclaration.GetSingleDeclarator(); - return SyntaxFactory.PropertyDeclaration(SyntaxFactory.ParseTypeName(nameof(AbsolutePath)), variableDeclarator.Identifier) - .WithExpressionBody(SyntaxFactory.ArrowExpressionClause(variableDeclarator.Initializer?.Value)) - .WithSemicolonToken(node.SemicolonToken) - .WithTriviaFrom(node); - } - - public override SyntaxNode VisitInterpolatedStringExpression(InterpolatedStringExpressionSyntax node) - { - var textTokens = node.Contents.OfType().Select(x => x.TextToken.Text).ToList(); - if (textTokens.All(x => !x.Contains("/")) || - textTokens.Any(x => x.ContainsAnyOrdinalIgnoreCase("<", ">", ":", " -"))) - return node; - - if (node.Parent is BinaryExpressionSyntax) - return node; - - if (node.Parent?.Parent?.Parent is InvocationExpressionSyntax invocationExpression && - invocationExpression.GetIdentifierName().EqualsAnyOrdinalIgnoreCase("SelectNodes", "SelectSingleNode", "Append")) - return node; - - var str = node.ToString(); - var index = str.IndexOf('*'); - if (index == -1) - return CreateAbsolutePathExpression(new[] { SyntaxFactory.ParseExpression(str.Replace("/", "\" / $\"")) }); - - var lastPathSeparatorIndex = str[..index].LastIndexOf('/'); - if (lastPathSeparatorIndex < 0) - return node; - - var absolutePart = str[..lastPathSeparatorIndex] + "\""; - var wildcardPart = "\"" + str[(lastPathSeparatorIndex + 1)..]; - - return SyntaxFactory.InvocationExpression( - SyntaxFactory.MemberAccessExpression( - SyntaxKind.SimpleMemberAccessExpression, - node.Contents.First() is InterpolationSyntax - ? SyntaxFactory.ParseExpression(absolutePart) - : SyntaxFactory.ParenthesizedExpression(CreateAbsolutePathExpression(new[] { SyntaxFactory.ParseExpression(absolutePart) })), - SyntaxFactory.IdentifierName(GetGlobbingMethod(node, wildcardPart.Split("/"))))) - .WithArguments(wildcardPart.TrimMatchingDoubleQuotes().ToLiteralExpression()); - - // var parts = node.Token.ValueText.Split('/', RemoveEmptyEntries).Where(x => x != ".").ToList(); - // var nonWildcardParts = parts.TakeWhile(x => !x.Contains('*')).ToList(); - // var wildcardParts = parts.Skip(nonWildcardParts.Count).ToList(); - // - // var literalExpressions = - // nonWildcardParts.Select(x => LiteralExpression(SyntaxKind.StringLiteralExpression, Literal(x))); - // var absolutePathExpression = CreateAbsolutePathExpression(literalExpressions); - // if (wildcardParts.Count == 0) - // return absolutePathExpression; - // - - // - // return InvocationExpression( - // MemberAccessExpression( - // SyntaxKind.SimpleMemberAccessExpression, - // ParenthesizedExpression(absolutePathExpression), - // IdentifierName(GetGlobbingMethod()))) - // .WithArguments(wildcardParts.Join("/").ToLiteralExpression()); - } - - // "foo/bar" => RootDirectory / "foo" / "bar" - // "foo/**/bar" => (RootDirectory / "foo").GlobDirectories("**/bar") - // "foo/**/bar.*" => (RootDirectory / "foo").GlobFiles("**/bar.*") - public override SyntaxNode VisitLiteralExpression(LiteralExpressionSyntax node) - { - if (node.Token.Value is not string || - !node.Token.ValueText.Contains('/') || - node.Token.ValueText.ContainsAnyOrdinalIgnoreCase("<", ">", ":", " -")) - return node; - - if (node.Parent is BinaryExpressionSyntax) - return node; - - if (node.Parent?.Parent?.Parent is InvocationExpressionSyntax invocationExpression && - invocationExpression.GetIdentifierName().EqualsAnyOrdinalIgnoreCase("SelectNodes", "SelectSingleNode", "Append")) - return node; - - var parts = node.Token.ValueText.Split('/', StringSplitOptions.RemoveEmptyEntries).Where(x => x != ".").ToList(); - var nonWildcardParts = parts.TakeWhile(x => !x.Contains('*')).ToList(); - var wildcardParts = parts.Skip(nonWildcardParts.Count).ToList(); - - var literalExpressions = - nonWildcardParts.Select(x => SyntaxFactory.LiteralExpression(SyntaxKind.StringLiteralExpression, SyntaxFactory.Literal(x))); - var absolutePathExpression = CreateAbsolutePathExpression(literalExpressions); - if (wildcardParts.Count == 0) - return absolutePathExpression; - - return SyntaxFactory.InvocationExpression( - SyntaxFactory.MemberAccessExpression( - SyntaxKind.SimpleMemberAccessExpression, - SyntaxFactory.ParenthesizedExpression(absolutePathExpression), - SyntaxFactory.IdentifierName(GetGlobbingMethod(node)))) - .WithArguments(wildcardParts.JoinSlash().ToLiteralExpression()); - } - - private string GetGlobbingMethod(SyntaxNode node, IEnumerable wildcardparts = null) - { - return (wildcardparts?.LastOrDefault()?.Contains(".") ?? false) || - node.Parent?.Parent?.Parent is InvocationExpressionSyntax invocationExpression && - (invocationExpression.GetIdentifierName() == "GetFiles" || - invocationExpression.GetIdentifierName() == "CopyFiles") - ? "GlobFiles" - : "GlobDirectories"; - } - - // MakeAbsolute(expr) => expr - // File(expr) => expr - public override SyntaxNode VisitInvocationExpression(InvocationExpressionSyntax node) - { - node = (InvocationExpressionSyntax) base.VisitInvocationExpression(node).NotNull(); - - if (node.GetIdentifierName() == "MakeAbsolute" || - node.GetIdentifierName() == "Directory" || - node.GetIdentifierName() == "File") - return node.GetSingleArgument(); - - if (node.GetIdentifierName() == "Combine") - return CreateAbsolutePathExpression(node.Arguments()); - - if (node.GetIdentifierName() == "GetFiles") - { - var expr = node.Arguments().Skip(1) - .Aggregate( - node.Arguments().FirstOrDefault()?.ToFullString(), - (f, s) => f + ".Concat(" + s.ToFullString() + ")"); - return SyntaxFactory.ParseExpression(expr); - // return InvocationExpression( - // MemberAccessExpression( - // SyntaxKind.SimpleMemberAccessExpression, - // ParenthesizedExpression( - // CastExpression( - // ParseTypeName("AbsolutePath"), - // ParenthesizedExpression(expressionSyntax))), - // IdentifierName("GlobFiles"))); - } - - if (node.GetIdentifierName() == "CleanDirectories") - { - var expressionSyntax = node.GetSingleArgument(); - return SyntaxFactory.InvocationExpression( - SyntaxFactory.MemberAccessExpression( - SyntaxKind.SimpleMemberAccessExpression, - expressionSyntax, - SyntaxFactory.IdentifierName("ForEach"))) - .WithArguments(SyntaxFactory.IdentifierName("EnsureCleanDirectory")); - } - - return node; - } - - private ExpressionSyntax CreateAbsolutePathExpression(IEnumerable parts) - { - return parts.Aggregate( - (ExpressionSyntax) SyntaxFactory.IdentifierName("RootDirectory"), - (left, right) => SyntaxFactory.BinaryExpression(SyntaxKind.DivideExpression, left, right)); - } - - public override SyntaxNode VisitIdentifierName(IdentifierNameSyntax node) - { - return node.Identifier.Text switch - { - "FilePath" => node.WithIdentifier(SyntaxFactory.Identifier("AbsolutePath")), - "DirectoryPath" => node.WithIdentifier(SyntaxFactory.Identifier("AbsolutePath")), - _ => node - }; - } - - public override SyntaxNode VisitMemberAccessExpression(MemberAccessExpressionSyntax node) - { - node = (MemberAccessExpressionSyntax) base.VisitMemberAccessExpression(node).NotNull(); - if (node.GetIdentifierName() != "FullPath") - return node; - - return node.Expression; - } -} diff --git a/src/Fallout.Cli/Rewriting/Cake/ClassRewriter.cs b/src/Fallout.Cli/Rewriting/Cake/ClassRewriter.cs deleted file mode 100644 index a753a61b8..000000000 --- a/src/Fallout.Cli/Rewriting/Cake/ClassRewriter.cs +++ /dev/null @@ -1,130 +0,0 @@ -using System; -using System.Linq; -using Microsoft.CodeAnalysis; -using Microsoft.CodeAnalysis.CSharp; -using Microsoft.CodeAnalysis.CSharp.Syntax; -using static Microsoft.CodeAnalysis.CSharp.SyntaxFactory; -using Fallout.Application; -using Fallout.Application.Tools.DotNet; -using Fallout.Application.Tools.MSBuild; -using Fallout.Application.Tools.SignTool; -using Fallout.Application.Tools.NuGet; -using Fallout.Kernel.IO; -using Fallout.Kernel; - -namespace Fallout.Cli.Rewriting.Cake; - -internal class ClassRewriter : SafeSyntaxRewriter -{ - private static readonly SyntaxTrivia BeginMultilineComment = SyntaxTrivia(SyntaxKind.MultiLineCommentTrivia, "/*"); - private static readonly SyntaxTrivia EndMultilineComment = SyntaxTrivia(SyntaxKind.MultiLineCommentTrivia, "*/"); - - private static string[] NamespaceImports => - new[] - { - "System", - "System.Collections.Generic", - "System.IO", - "System.Linq", - "System.Linq.Expressions", - "System.Security.Cryptography.X509Certificates", - "System.Xml", - // Onion-realigned namespaces (ADR-0006). The tool/build/solution vocabulary moved to the - // Fallout.Application.* ring; pure helpers to Fallout.Kernel.*. Namespaces already contributed by - // StaticClassImports below (Fallout.Application + .Tools.DotNet/.MSBuild/.SignTool/.NuGet, - // Fallout.Kernel.IO, Fallout.Kernel via EnvironmentInfo) are intentionally NOT repeated here. - "Fallout.Application.Execution", - "Fallout.Application.Solutions", - "Fallout.Application.Tooling", - "Fallout.Application.Tools.GitVersion", - "Fallout.Kernel.Collections", - }; - - private static Type[] StaticClassImports => - new[] - { - typeof(ControlFlow), - typeof(DotNetTasks), - typeof(MSBuildTasks), - typeof(SignToolTasks), - typeof(NuGetTasks), - typeof(TextTasks), - typeof(XmlTasks), - typeof(EnvironmentInfo), - }; - - private string _defaultTargetFieldName; - private string _defaultTargetName; - - public override SyntaxNode VisitCompilationUnit(CompilationUnitSyntax node) - { - node = (CompilationUnitSyntax) base.VisitCompilationUnit(node).NotNull(); - - var defaultTargetField = node.Members.OfType() - .SingleOrDefault(x => x.GetSingleDeclarator().Identifier.Text == _defaultTargetFieldName); - if (defaultTargetField != null) - { - var literalExpression = defaultTargetField.GetSingleDeclarator().Initializer?.Value as LiteralExpressionSyntax; - var defaultTarget = literalExpression.GetConstantValue(); - var mainMethodDeclaration = ParseMemberDeclaration($"public static int Main() => Execute(x => x.{defaultTarget});"); - node = node.WithMembers(List(new[] { mainMethodDeclaration }.Concat(node.Members.Except(new[] { defaultTargetField })))); - } - else if (_defaultTargetName != null) - { - var mainMethodDeclaration = ParseMemberDeclaration($"public static int Main() => Execute(x => x.{_defaultTargetName});"); - node = node.WithMembers(List(new[] { mainMethodDeclaration }.Concat(node.Members))); - } - - var baseTypes = SeparatedList(new BaseTypeSyntax[] { SimpleBaseType(ParseTypeName(nameof(FalloutBuild))) }); - var classDeclaration = ClassDeclaration("Build") - .WithBaseList(BaseList(baseTypes)) - .WithMembers(List(node.Members.Where(x => x != defaultTargetField))); - - var staticTypes = StaticClassImports; - var staticUsings = staticTypes - .Select(x => x.FullName) - .Select(IdentifierName) - .Select(UsingDirective) - .Select(x => x.WithStaticKeyword(Token(SyntaxKind.StaticKeyword))); - - var namespaceUsings = NamespaceImports - .Concat(staticTypes.Select(x => x.Namespace)) - .Distinct() - .Select(IdentifierName) - .Select(UsingDirective); - - return CompilationUnit() - .WithUsings(List(namespaceUsings.Concat(staticUsings))) - .WithMembers(List(new MemberDeclarationSyntax[] { classDeclaration })); - } - - public override SyntaxNode VisitGlobalStatement(GlobalStatementSyntax node) - { - node = (GlobalStatementSyntax) base.VisitGlobalStatement(node).NotNull(); - - if (node.Statement is not ExpressionStatementSyntax expressionStatement) - return node - .WithLeadingTrivia(BeginMultilineComment) - .WithTrailingTrivia(EndMultilineComment); - - var invocationExpression = expressionStatement.Expression as InvocationExpressionSyntax; - var identifierName = invocationExpression?.GetIdentifierName(); - if (identifierName == "Setup" || - identifierName == "Teardown") - return node - .WithLeadingTrivia(BeginMultilineComment) - .WithTrailingTrivia(EndMultilineComment); - - if (identifierName == "RunTarget") - { - var expression = invocationExpression.GetSingleArgument(); - if (expression is IdentifierNameSyntax targetIdentifier) - _defaultTargetFieldName = targetIdentifier.Identifier.Text; - if (expression is LiteralExpressionSyntax literalExpression) - _defaultTargetName = literalExpression.GetConstantValue(); - return null; - } - - return node; - } -} diff --git a/src/Fallout.Cli/Rewriting/Cake/CodeAnalysisExtensions.cs b/src/Fallout.Cli/Rewriting/Cake/CodeAnalysisExtensions.cs deleted file mode 100644 index 95ddd1c90..000000000 --- a/src/Fallout.Cli/Rewriting/Cake/CodeAnalysisExtensions.cs +++ /dev/null @@ -1,136 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using Microsoft.CodeAnalysis.CSharp; -using Microsoft.CodeAnalysis.CSharp.Syntax; -using static Microsoft.CodeAnalysis.CSharp.SyntaxFactory; - -namespace Fallout.Cli.Rewriting.Cake; - -internal static class CodeAnalysisExtensions -{ - public static LiteralExpressionSyntax ToLiteralExpression(this string str) - { - return LiteralExpression(SyntaxKind.StringLiteralExpression, Literal(str)); - } - - public static IEnumerable Arguments(this InvocationExpressionSyntax node) - { - return node.ArgumentList.Arguments.Select(x => x.Expression); - } - - public static InvocationExpressionSyntax WithArguments( - this InvocationExpressionSyntax node, - params ExpressionSyntax[] expressions) - { - return node.WithArgumentList(ArgumentList(SeparatedList(expressions.Select(Argument)))); - } - - public static InvocationExpressionSyntax WithArguments(this InvocationExpressionSyntax node, IEnumerable expressions) - { - return node.WithArguments(expressions.ToArray()); - } - - public static InvocationExpressionSyntax WithConvertedArguments( - this InvocationExpressionSyntax node, - Func convert) - { - convert ??= x => x; - return node.WithArguments(node.ArgumentList.Arguments.Select(x => x.Expression).Select(convert)); - } - - public static InvocationExpressionSyntax WithReorderedArguments( - this InvocationExpressionSyntax node, - Func reorder) - { - reorder ??= x => x; - return node.WithArguments(reorder(node.ArgumentList.Arguments.Select(x => x.Expression).ToArray())); - } - - public static string GetIdentifierName(this MemberAccessExpressionSyntax memberAccessExpression) - { - return memberAccessExpression.Name.Identifier.Text; - } - - public static string GetIdentifierName(this InvocationExpressionSyntax invocationExpression) - { - return invocationExpression.Expression switch - { - MemberAccessExpressionSyntax memberAccessExpression => memberAccessExpression.GetIdentifierName(), - IdentifierNameSyntax identifierName => identifierName.Identifier.Text, - GenericNameSyntax genericName => genericName.Identifier.Text, - _ => null - }; - } - - public static TypeSyntax GetSingleGenericArgumentOrNull(this InvocationExpressionSyntax invocationExpression) - { - return invocationExpression.Expression is GenericNameSyntax genericName ? genericName.TypeArgumentList.Arguments.Single() : null; - } - - public static T GetSingleArgument(this InvocationExpressionSyntax invocationExpression) - where T : ExpressionSyntax - { - return invocationExpression.Arguments().Single() as T; - } - - public static T GetArgumentAt(this InvocationExpressionSyntax invocationExpression, int index) - where T : ExpressionSyntax - { - return invocationExpression.Arguments().ElementAtOrDefault(index) as T; - } - - public static T GetConstantValue(this LiteralExpressionSyntax literalExpression) - { - return (T) literalExpression.Token.Value; - } - - public static VariableDeclaratorSyntax GetSingleDeclarator(this FieldDeclarationSyntax fieldDeclaration) - { - return fieldDeclaration.Declaration.Variables.Single(); - } - - public static TypeSyntax GetExpressionType(this ExpressionSyntax expression) - { - if (expression is LiteralExpressionSyntax literalExpression) - { - return literalExpression.Kind() switch - { - SyntaxKind.NumericLiteralExpression => ParseTypeName("int"), - SyntaxKind.TrueLiteralExpression => ParseTypeName("bool"), - SyntaxKind.FalseLiteralExpression => ParseTypeName("bool"), - SyntaxKind.StringLiteralExpression => ParseTypeName("string"), - _ => throw new NotSupportedException() - }; - } - - if (expression is MemberAccessExpressionSyntax memberAccessExpression && - memberAccessExpression.Expression is IdentifierNameSyntax identifierName) - return ParseTypeName(identifierName.Identifier.Text); - - if (expression is ObjectCreationExpressionSyntax objectCreationExpression) - return objectCreationExpression.Type; - - if (expression is ArrayCreationExpressionSyntax arrayCreationExpression) - return arrayCreationExpression.Type; - - return ParseTypeName("object"); - } - - public static LiteralExpressionSyntax GetNonDefaultValue(this LiteralExpressionSyntax literalExpression) - { - var value = literalExpression.ToString(); - return value switch - { - "\"\"" => null, - "0" => null, - "false" => null, - _ => literalExpression - }; - } - - public static T When(this T builder, bool condition, Func action) - { - return condition ? action(builder) : builder; - } -} diff --git a/src/Fallout.Cli/Rewriting/Cake/FormattingRewriter.cs b/src/Fallout.Cli/Rewriting/Cake/FormattingRewriter.cs deleted file mode 100644 index 87e0e26f5..000000000 --- a/src/Fallout.Cli/Rewriting/Cake/FormattingRewriter.cs +++ /dev/null @@ -1,80 +0,0 @@ -using System; -using System.Linq; -using Microsoft.CodeAnalysis; -using Microsoft.CodeAnalysis.CSharp.Syntax; -using static Microsoft.CodeAnalysis.CSharp.SyntaxFactory; -using Fallout.Application; -using Fallout.Kernel.Collections; -using Fallout.Kernel; - -namespace Fallout.Cli.Rewriting.Cake; - -internal class FormattingRewriter : SafeSyntaxRewriter -{ - private static readonly SyntaxTrivia[] Indent = { Space, Space, Space, Space }; - - public override SyntaxNode VisitPropertyDeclaration(PropertyDeclarationSyntax node) - { - node = (PropertyDeclarationSyntax) base.VisitPropertyDeclaration(node).NotNull(); - - return (node.Type as SimpleNameSyntax)?.Identifier.Text == nameof(Target) - ? node.WithLeadingTrivia(LineFeed.Concat(Indent)) - : node; - } - - public override SyntaxToken VisitToken(SyntaxToken token) - { - if (token.Parent is not MemberAccessExpressionSyntax memberAccessExpression) - return token; - - var identifierName = memberAccessExpression.GetIdentifierName(); - if (identifierName == nameof(ITargetDefinition.Executes) || - identifierName == nameof(ITargetDefinition.DependsOn) || - identifierName == nameof(ITargetDefinition.DependentFor) || - identifierName == nameof(ITargetDefinition.OnlyWhenStatic) || - identifierName == nameof(ITargetDefinition.OnlyWhenDynamic) || - identifierName == nameof(ITargetDefinition.ProceedAfterFailure)) - return token.WithLeadingTrivia(LineFeed.Concat(Indent).Concat(Indent)); - - if (identifierName.StartsWith("Set")) - return token.WithLeadingTrivia(LineFeed.Concat(Indent).Concat(Indent).Concat(Indent)); - - return token; - } - - public override SyntaxNode VisitFieldDeclaration(FieldDeclarationSyntax node) - { - return node - .WithAttributeLists(List(node - .AttributeLists.Select((x, i) => x - .When(i != 0, - _ => _ - .WithoutTrivia()) - .WithTrailingTrivia(Space)))) - .When(node.AttributeLists.Any(), - _ => _ - .WithModifiers(TokenList(node - .Modifiers.Select((x, i) => x - .WithLeadingTrivia(i == 0 ? new SyntaxTrivia[0] : new[] { Space }))))); - } - - public override SyntaxNode VisitInterpolatedStringExpression(InterpolatedStringExpressionSyntax node) - { - return node.Contents.Count() == 1 - ? node.Contents.Single() switch - { - InterpolationSyntax interpolation - => interpolation.Expression, - InterpolatedStringTextSyntax interpolatedStringText - => interpolatedStringText.TextToken.Text.ToLiteralExpression(), - _ => throw new NotSupportedException() - } - : node; - } - - public override SyntaxNode VisitAttributeList(AttributeListSyntax node) - { - return node; - // return node.WithTrailingTrivia(Space); - } -} diff --git a/src/Fallout.Cli/Rewriting/Cake/IdentifierNameRewriter.cs b/src/Fallout.Cli/Rewriting/Cake/IdentifierNameRewriter.cs deleted file mode 100644 index ead2717f5..000000000 --- a/src/Fallout.Cli/Rewriting/Cake/IdentifierNameRewriter.cs +++ /dev/null @@ -1,32 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using Microsoft.CodeAnalysis; -using Microsoft.CodeAnalysis.CSharp; -using Microsoft.CodeAnalysis.CSharp.Syntax; -using Fallout.Application.Tools.DotNet; -using Fallout.Application.Tools.MSBuild; -using Fallout.Kernel; - -namespace Fallout.Cli.Rewriting.Cake; - -internal class IdentifierNameRewriter : SafeSyntaxRewriter -{ - private static Dictionary Replacements => - new() - { - ["DotNetCoreVerbosity"] = nameof(DotNetVerbosity), - ["MSBuildToolVersion"] = nameof(MSBuildToolsVersion), - ["PlatformTarget"] = nameof(MSBuildTargetPlatform), - ["IsRunningOnUnix"] = nameof(EnvironmentInfo.IsUnix), - ["IsRunningOnWindows"] = nameof(EnvironmentInfo.IsWin), - ["EnvironmentVariable"] = "GetVariable", - }; - - public override SyntaxNode VisitIdentifierName(IdentifierNameSyntax node) - { - return Replacements.TryGetValue(node.Identifier.Text, out var replacement) - ? node.WithIdentifier(SyntaxFactory.Identifier(replacement)) - : node; - } -} diff --git a/src/Fallout.Cli/Rewriting/Cake/InvocationRewriter.cs b/src/Fallout.Cli/Rewriting/Cake/InvocationRewriter.cs deleted file mode 100644 index 8112ee584..000000000 --- a/src/Fallout.Cli/Rewriting/Cake/InvocationRewriter.cs +++ /dev/null @@ -1,110 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using Microsoft.CodeAnalysis; -using Microsoft.CodeAnalysis.CSharp.Syntax; -using Serilog; -using static Microsoft.CodeAnalysis.CSharp.SyntaxFactory; -using Fallout.Application; -using Fallout.Kernel; - -namespace Fallout.Cli.Rewriting.Cake; - -internal class InvocationRewriter : SafeSyntaxRewriter -{ - private static IEnumerable Replacements => - new ReplacementData[] - { - new(original: "Does", replacement: nameof(ITargetDefinition.Executes), convert: ConvertLambdaBodyToBlock), - new(original: "IsDependentOn", replacement: nameof(ITargetDefinition.DependsOn), convert: ConvertStringToIdentifier), - new(original: "IsDependeeOf", replacement: nameof(ITargetDefinition.DependentFor), convert: ConvertStringToIdentifier), - new(original: "ContinueOnError", replacement: nameof(ITargetDefinition.ProceedAfterFailure)), - new(original: "WithCriteria", replacement: RenameWithCriteria, convert: ConvertWithCriteria), - // Logger - new(original: "Information", replacement: $"{nameof(Log)}.{nameof(Log.Information)}"), - new(original: "Verbose", replacement: $"{nameof(Log)}.{nameof(Log.Debug)}"), - }; - - private static Func ConvertStringToIdentifier = x => - { - var literalExpression = (LiteralExpressionSyntax) x; - var targetName = literalExpression.GetConstantValue(); - return IdentifierName(targetName); - }; - - private static Func ConvertLambdaBodyToBlock = x => - { - var lambdaExpression = (LambdaExpressionSyntax) x; - return lambdaExpression.Block != null - ? lambdaExpression - : lambdaExpression - .WithExpressionBody(null) - .WithBlock(Block( - ExpressionStatement(lambdaExpression.ExpressionBody.NotNull()))); - }; - - private static Func RenameWithCriteria => x => x - .GetSingleArgument() == null - ? nameof(ITargetDefinition.OnlyWhenStatic) - : nameof(ITargetDefinition.OnlyWhenDynamic); - - private static Func ConvertWithCriteria => (i, e) => i - .GetSingleArgument() == null - ? ParenthesizedLambdaExpression(e) - : e; - - public override SyntaxNode VisitInvocationExpression(InvocationExpressionSyntax node) - { - node = (InvocationExpressionSyntax) base.VisitInvocationExpression(node).NotNull(); - var name = node.GetIdentifierName(); - var replacement = Replacements.SingleOrDefault(x => x.Original == name); - if (replacement == null) - return node; - - return node.Expression switch - { - IdentifierNameSyntax identifierName => node - .WithExpression(identifierName.WithIdentifier(Identifier(replacement.Replacement.Invoke(node)))) - .WithConvertedArguments(x => replacement.Convert(node, x)) - .WithReorderedArguments(replacement.Reorder), - MemberAccessExpressionSyntax memberAccessExpression => node - .WithExpression(memberAccessExpression.WithName(IdentifierName(replacement.Replacement.Invoke(node)))) - .WithConvertedArguments(x => replacement.Convert(node, x)) - .WithReorderedArguments(replacement.Reorder), - _ => throw new NotSupportedException(node.Expression.GetType().Name) - }; - } - - private class ReplacementData - { - public ReplacementData( - string original, - string replacement, - Func convert = null, - Func reorder = null) - : this( - original, - _ => replacement, - (_, e) => (convert ?? (x => x)).Invoke(e), - x => (reorder ?? (x => x)).Invoke(x)) - { - } - - public ReplacementData( - string original, - Func replacement, - Func convert = null, - Func reorder = null) - { - Original = original; - Replacement = replacement; - Convert = convert ?? ((_, e) => e); - Reorder = reorder ?? (x => x); - } - - public string Original { get; } - public Func Replacement { get; } - public Func Convert { get; } - public Func Reorder { get; } - } -} diff --git a/src/Fallout.Cli/Rewriting/Cake/MemberAccessRewriter.cs b/src/Fallout.Cli/Rewriting/Cake/MemberAccessRewriter.cs deleted file mode 100644 index 0475e4ae8..000000000 --- a/src/Fallout.Cli/Rewriting/Cake/MemberAccessRewriter.cs +++ /dev/null @@ -1,29 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using Microsoft.CodeAnalysis; -using Microsoft.CodeAnalysis.CSharp.Syntax; -using static Microsoft.CodeAnalysis.CSharp.SyntaxFactory; -using Fallout.Kernel; - -namespace Fallout.Cli.Rewriting.Cake; - -internal class MemberAccessRewriter : SafeSyntaxRewriter -{ - private Dictionary Replacements => - new() - { - ["BuildSystem"] = null, - }; - - public override SyntaxNode VisitMemberAccessExpression(MemberAccessExpressionSyntax node) - { - node = (MemberAccessExpressionSyntax) base.VisitMemberAccessExpression(node).NotNull(); - return node.Expression is not IdentifierNameSyntax identifierNameSyntax || - !Replacements.TryGetValue(identifierNameSyntax.Identifier.Text, out var newName) - ? node - : newName != null - ? node.WithExpression(identifierNameSyntax.WithIdentifier(Identifier(newName))) - : node.Name; - } -} diff --git a/src/Fallout.Cli/Rewriting/Cake/ParameterRewriter.cs b/src/Fallout.Cli/Rewriting/Cake/ParameterRewriter.cs deleted file mode 100644 index 3daf3aabb..000000000 --- a/src/Fallout.Cli/Rewriting/Cake/ParameterRewriter.cs +++ /dev/null @@ -1,68 +0,0 @@ -using System; -using System.Linq; -using Microsoft.CodeAnalysis; -using Microsoft.CodeAnalysis.CSharp; -using Microsoft.CodeAnalysis.CSharp.Syntax; -using static Microsoft.CodeAnalysis.CSharp.SyntaxFactory; -using Fallout.Kernel; -using Fallout.Kernel.IO; - -namespace Fallout.Cli.Rewriting.Cake; - -internal class ParameterRewriter : SafeSyntaxRewriter -{ - public override SyntaxNode VisitFieldDeclaration(FieldDeclarationSyntax node) - { - if (node.Parent is not CompilationUnitSyntax) - return node; - - var variableDeclarator = node.GetSingleDeclarator(); - var invocationExpression = variableDeclarator.Initializer?.Value as InvocationExpressionSyntax; - if (invocationExpression?.GetIdentifierName() != "Argument") - return node; - - var originalNode = node; - var resolutionName = invocationExpression.GetArgumentAt(0).GetConstantValue(); - var defaultValue = invocationExpression.GetArgumentAt(1); - var nonDefaultValue = defaultValue is LiteralExpressionSyntax literalExpression - ? literalExpression.GetNonDefaultValue() - : defaultValue; - - AttributeListSyntax CreateAttributeListWith(string name, string argument = null) - { - var attribute = Attribute(IdentifierName(name)); - if (argument != null) - attribute = attribute.WithArgumentList(AttributeArgumentList( - SeparatedList(new[] { AttributeArgument(argument.ToLiteralExpression()) }))); - - return AttributeList(SeparatedList(new[] { attribute })); - } - - node = node.WithoutTrivia(); - node = node.AddAttributeLists( - CreateAttributeListWith( - "Parameter", - !resolutionName.Replace("_", string.Empty).Replace("-", string.Empty) - .EqualsOrdinalIgnoreCase(variableDeclarator.Identifier.Text) - ? resolutionName - : null)); - node = node.WithDeclaration( - node.Declaration.WithType( - variableDeclarator.Identifier.Text.ContainsAnyOrdinalIgnoreCase("path", "dir", "file") - ? ParseTypeName(nameof(AbsolutePath)) - : invocationExpression.GetSingleGenericArgumentOrNull() ?? defaultValue.GetExpressionType())); - node = node.WithDeclaration( - node.Declaration - .WithVariables( - SeparatedList(node.Declaration.Variables - .Select(x => x.WithInitializer(nonDefaultValue != null - ? EqualsValueClause(nonDefaultValue) - : null))))); - node = node.WithModifiers(TokenList(Token(SyntaxKind.ReadOnlyKeyword))); - - if (variableDeclarator.Identifier.Text.ContainsAnyOrdinalIgnoreCase("password", "key", "token", "secret", "credentials")) - node = node.AddAttributeLists(CreateAttributeListWith("Secret")); - - return node.WithTriviaFrom(originalNode); - } -} diff --git a/src/Fallout.Cli/Rewriting/Cake/RegularFieldRewriter.cs b/src/Fallout.Cli/Rewriting/Cake/RegularFieldRewriter.cs deleted file mode 100644 index fc57733cc..000000000 --- a/src/Fallout.Cli/Rewriting/Cake/RegularFieldRewriter.cs +++ /dev/null @@ -1,21 +0,0 @@ -using System; -using System.Linq; -using Microsoft.CodeAnalysis; -using Microsoft.CodeAnalysis.CSharp.Syntax; -using Fallout.Kernel; - -namespace Fallout.Cli.Rewriting.Cake; - -internal class RegularFieldRewriter : SafeSyntaxRewriter -{ - public override SyntaxNode VisitFieldDeclaration(FieldDeclarationSyntax node) - { - node = (FieldDeclarationSyntax) base.VisitFieldDeclaration(node).NotNull(); - var initializerValue = node.GetSingleDeclarator().Initializer?.Value; - if (initializerValue != null) - node = node.WithDeclaration(node.Declaration - .WithType(initializerValue.GetExpressionType())); - - return node; - } -} diff --git a/src/Fallout.Cli/Rewriting/Cake/RemoveUsingDirectivesRewriter.cs b/src/Fallout.Cli/Rewriting/Cake/RemoveUsingDirectivesRewriter.cs deleted file mode 100644 index f1b806dde..000000000 --- a/src/Fallout.Cli/Rewriting/Cake/RemoveUsingDirectivesRewriter.cs +++ /dev/null @@ -1,14 +0,0 @@ -using System; -using System.Linq; -using Microsoft.CodeAnalysis; -using Microsoft.CodeAnalysis.CSharp.Syntax; - -namespace Fallout.Cli.Rewriting.Cake; - -internal class RemoveUsingDirectivesRewriter : SafeSyntaxRewriter -{ - public override SyntaxNode VisitUsingDirective(UsingDirectiveSyntax node) - { - return null; - } -} diff --git a/src/Fallout.Cli/Rewriting/Cake/RenameFieldIdentifierRewriter.cs b/src/Fallout.Cli/Rewriting/Cake/RenameFieldIdentifierRewriter.cs deleted file mode 100644 index 13fc909f0..000000000 --- a/src/Fallout.Cli/Rewriting/Cake/RenameFieldIdentifierRewriter.cs +++ /dev/null @@ -1,37 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using Microsoft.CodeAnalysis; -using Microsoft.CodeAnalysis.CSharp.Syntax; -using static Microsoft.CodeAnalysis.CSharp.SyntaxFactory; -using Fallout.Kernel; - -namespace Fallout.Cli.Rewriting.Cake; - -internal class RenameFieldIdentifierRewriter : SafeSyntaxRewriter -{ - private readonly Dictionary _renames = new(); - - public override SyntaxNode VisitFieldDeclaration(FieldDeclarationSyntax node) - { - if (node.Parent is not CompilationUnitSyntax or ClassDeclarationSyntax) - return node; - - string CreateRename(string name) - => _renames[name] = name.Capitalize().ReplaceKnownWords(); - - var renamedVariables = node.Declaration.Variables - .Select(x => x.WithIdentifier(Identifier(CreateRename(x.Identifier.Text)))); - - return node.WithDeclaration( - node.Declaration.WithVariables( - SeparatedList(renamedVariables))); - } - - public override SyntaxNode VisitIdentifierName(IdentifierNameSyntax node) - { - return _renames.TryGetValue(node.Identifier.Text, out var rename) - ? IdentifierName(rename) - : node; - } -} diff --git a/src/Fallout.Cli/Rewriting/Cake/SafeSyntaxRewriter.cs b/src/Fallout.Cli/Rewriting/Cake/SafeSyntaxRewriter.cs deleted file mode 100644 index 7e0cf59c8..000000000 --- a/src/Fallout.Cli/Rewriting/Cake/SafeSyntaxRewriter.cs +++ /dev/null @@ -1,23 +0,0 @@ -using System; -using System.Linq; -using Microsoft.CodeAnalysis; -using Microsoft.CodeAnalysis.CSharp; -using Fallout.Application; - -namespace Fallout.Cli.Rewriting.Cake; - -internal class SafeSyntaxRewriter : CSharpSyntaxRewriter -{ - public override SyntaxNode Visit(SyntaxNode node) - { - try - { - return base.Visit(node); - } - catch (Exception) - { - Host.Warning($"Could not handle fragment '{node.ToFullString().Trim()}', skipping ..."); - return node; - } - } -} diff --git a/src/Fallout.Cli/Rewriting/Cake/TargetDefinitionRewriter.cs b/src/Fallout.Cli/Rewriting/Cake/TargetDefinitionRewriter.cs deleted file mode 100644 index 49942a24a..000000000 --- a/src/Fallout.Cli/Rewriting/Cake/TargetDefinitionRewriter.cs +++ /dev/null @@ -1,97 +0,0 @@ -using System; -using System.Linq; -using Microsoft.CodeAnalysis; -using Microsoft.CodeAnalysis.CSharp.Syntax; -using static Microsoft.CodeAnalysis.CSharp.SyntaxFactory; -using Fallout.Application; -using Fallout.Kernel.Collections; -using Fallout.Kernel; - -namespace Fallout.Cli.Rewriting.Cake; - -internal class TargetDefinitionRewriter : SafeSyntaxRewriter -{ - public override SyntaxNode VisitInvocationExpression(InvocationExpressionSyntax node) - { - node = (InvocationExpressionSyntax) base.VisitInvocationExpression(node).NotNull(); - - if (node.Expression is IdentifierNameSyntax identifierName && - identifierName.Identifier.Text == "Task") - { - return SimpleLambdaExpression(Parameter(Identifier("_"))) - .WithExpressionBody(IdentifierName("_")); - } - - var memberAccessExpression = node.Expression as MemberAccessExpressionSyntax; - // if (memberAccessExpression?.GetIdentifierName() == "IsDependentOn" || - // memberAccessExpression?.GetIdentifierName() == "IsDependeeOf") - // { - // node = node.WithExpression(memberAccessExpression - // .WithName(IdentifierName(memberAccessExpression.GetIdentifierName() - // .Replace("IsDependentOn", nameof(ITargetDefinition.DependsOn)) - // .Replace("IsDependeeOf", nameof(ITargetDefinition.DependentFor))))); - // - // node = node.WithConvertedArguments(x => - // { - // var literalExpression = x as LiteralExpressionSyntax; - // var targetName = literalExpression.GetConstantValue(); - // return IdentifierName(targetName); - // }); - // } - // - // if (memberAccessExpression?.GetIdentifierName() == "WithCriteria") - // { - // node = node.WithExpression(memberAccessExpression - // .WithName(IdentifierName( - // node.GetSingleArgument() == null - // ? nameof(ITargetDefinition.OnlyWhenStatic) - // : nameof(ITargetDefinition.OnlyWhenDynamic)))); - // - // if (node.GetSingleArgument() == null) - // node = node.WithConvertedArguments(ParenthesizedLambdaExpression); - // } - - // if (memberAccessExpression?.GetIdentifierName() == "Does") - // { - // node = node.WithExpression(memberAccessExpression - // .WithName(IdentifierName("Executes"))); - // - // node = node.WithConvertedArguments(x => - // { - // var lambdaExpression = (LambdaExpressionSyntax) x; - // return lambdaExpression.Block != null - // ? lambdaExpression - // : lambdaExpression - // .WithExpressionBody(null) - // .WithBlock(Block(ExpressionStatement(lambdaExpression.ExpressionBody.NotNull()))); - // }); - // } - - return node; - } - - public override SyntaxNode VisitGlobalStatement(GlobalStatementSyntax node) - { - var reducedNode = (GlobalStatementSyntax) base.VisitGlobalStatement(node).NotNull(); - - if (node.Statement is not ExpressionStatementSyntax expressionStatement) - return reducedNode; - - var innerInvocationExpression = (expressionStatement.Expression as InvocationExpressionSyntax) - .Descendants(x => (x.Expression as MemberAccessExpressionSyntax)?.Expression as InvocationExpressionSyntax) - .LastOrDefault(); - - if (innerInvocationExpression?.GetIdentifierName() == "Task") - { - var name = innerInvocationExpression.GetSingleArgument() - .GetConstantValue() - .Replace("-", "_"); - var expression = ((ExpressionStatementSyntax) reducedNode.Statement).Expression; - return PropertyDeclaration(ParseTypeName(nameof(Target)), name) - .WithExpressionBody(ArrowExpressionClause(expression)) - .WithSemicolonToken(expressionStatement.SemicolonToken); - } - - return reducedNode; - } -} diff --git a/src/Fallout.Cli/Rewriting/Cake/ToolInvocationRewriter.cs b/src/Fallout.Cli/Rewriting/Cake/ToolInvocationRewriter.cs deleted file mode 100644 index 05d89ba76..000000000 --- a/src/Fallout.Cli/Rewriting/Cake/ToolInvocationRewriter.cs +++ /dev/null @@ -1,95 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using Microsoft.CodeAnalysis; -using Microsoft.CodeAnalysis.CSharp; -using Microsoft.CodeAnalysis.CSharp.Syntax; -using static Microsoft.CodeAnalysis.CSharp.SyntaxFactory; -using Fallout.Application.Tools.DotNet; -using Fallout.Application.Tools.SignTool; -using Fallout.Application.Tools.NuGet; -using Fallout.Application.Tools.MSBuild; -using Fallout.Kernel.Collections; -using Fallout.Kernel; - -namespace Fallout.Cli.Rewriting.Cake; - -internal class ToolInvocationRewriter : SafeSyntaxRewriter -{ - private static IEnumerable Replacements => - new ReplacementData[] - { - new(original: "DotNetCoreRestore", replacement: nameof(DotNetTasks.DotNetRestore), positionals: new[] { "ProjectFile" }), - new(original: "DotNetCoreBuild", replacement: nameof(DotNetTasks.DotNetBuild), positionals: new[] { "ProjectFile" }), - new(original: "DotNetCoreTest", replacement: nameof(DotNetTasks.DotNetTest), positionals: new[] { "ProjectFile" }), - new(original: "DotNetCorePack", replacement: nameof(DotNetTasks.DotNetPack), positionals: new[] { "ProjectFile" }), - new(original: "DotNetCorePublish", replacement: nameof(DotNetTasks.DotNetPublish), positionals: new[] { "Project" }), - new(original: "Sign", replacement: nameof(SignToolTasks.SignTool), positionals: new[] { "Files" }), - new(original: "NuGetRestore", replacement: nameof(NuGetTasks.NuGetRestore), positionals: new[] { "TargetPath" }), - new(original: "NuGetPack", replacement: nameof(NuGetTasks.NuGetPack), positionals: new[] { "TargetPath" }), - new(original: "MSBuild", replacement: nameof(MSBuildTasks.MSBuild), positionals: new[] { "TargetPath" }), - }; - - public override SyntaxNode VisitInvocationExpression(InvocationExpressionSyntax node) - { - node = (InvocationExpressionSyntax) base.VisitInvocationExpression(node).NotNull(); - var identifierName = node.GetIdentifierName(); - var replacement = Replacements.SingleOrDefault(x => x.Original == identifierName); - if (replacement == null) - return node; - - var arguments = new List<(string Name, ExpressionSyntax Value)>(); - var settings = node.GetArgumentAt(replacement.Positionals.Length); - - node.Arguments().Take(replacement.Positionals.Length) - .ForEach((x, i) => arguments.Add((replacement.Positionals[i], x))); - settings?.Initializer?.Expressions.Cast() - .ForEach(x => arguments.Add((((IdentifierNameSyntax) x.Left).Identifier.Text, x.Right))); - - ExpressionSyntax expr = IdentifierName("_"); - foreach (var (name, value) in arguments) - { - expr = InvocationExpression( - MemberAccessExpression(SyntaxKind.SimpleMemberAccessExpression, - expr, - IdentifierName("Set" + replacement.Renames.GetValueOrDefault(name, name)))) - .WithArguments(value); - } - - return InvocationExpression(IdentifierName(replacement.Replacement)) - .WithArguments( - SimpleLambdaExpression(Parameter(Identifier("_"))) - .WithBody(expr)) - .WithTriviaFrom(node); - } - - public override SyntaxNode VisitIdentifierName(IdentifierNameSyntax node) - { - return node.Identifier.Text == "Append" - ? node.WithIdentifier(Identifier("Add")) - : node; - } - - private class ReplacementData - { - public ReplacementData( - string original, - string replacement, - string[] positionals = null, - Dictionary renames = null) - { - Original = original; - Replacement = replacement; - Positionals = positionals ?? new string[0]; - Renames = renames ?? new Dictionary(); - - Renames.Add("ArgumentCustomization", "ProcessArgumentConfigurator"); - Renames.Add("ToolPath", "ProcessToolPath"); - } - - public string Original { get; } - public string Replacement { get; } - public string[] Positionals { get; } - public Dictionary Renames { get; } - } -} diff --git a/tests/Fallout.Cli.Tests/CakeConversionTests.cs b/tests/Fallout.Cli.Tests/CakeConversionTests.cs deleted file mode 100644 index ee9fedf8b..000000000 --- a/tests/Fallout.Cli.Tests/CakeConversionTests.cs +++ /dev/null @@ -1,45 +0,0 @@ -using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; -using FluentAssertions; -using NuGet.Versioning; -using Fallout.Common; -using VerifyXunit; -using Xunit; -using Fallout.Kernel.IO; -using Fallout.Kernel; - -namespace Fallout.Cli.Tests; - -public class CakeConversionTests -{ - private static AbsolutePath RootDirectory => Constants.TryGetRootDirectoryFrom(EnvironmentInfo.WorkingDirectory); - - [Theory] - [MemberData(nameof(CakeFileNames))] - public Task Test(AbsolutePath file) - { - var converted = Program.GetCakeConvertedContent(file.ReadAllText()); - return Verifier.Verify(converted, extension: "cs") - .UseDirectory(CakeScriptsDirectory) - .UseFileName(file.NameWithoutExtension); - } - - [Fact] - public void TestPackages() - { - var content = (CakeScriptsDirectory / "references.cake").ReadAllText(); - - var packages = Program.GetCakePackages(content).ToList(); - packages.Should().Contain((Program.PACKAGE_TYPE_DOWNLOAD, "GitVersion.CommandLine", "4.0.0")); - packages.Should().Contain((Program.PACKAGE_TYPE_REFERENCE, "SharpZipLib", "1.2.0")); - packages.Should().Contain(x => x.Id == "TeamCity.Dotnet.Integration" && - NuGetVersion.Parse(x.Version) > NuGetVersion.Parse("1.0.10")); - packages.Should().NotContain(x => x.Id.Contains("Cake")); - } - - private static AbsolutePath CakeScriptsDirectory => RootDirectory / "tests" / "Fallout.Cli.Tests" / "cake-scripts"; - - public static IEnumerable CakeFileNames - => CakeScriptsDirectory.GlobFiles(Program.CAKE_FILE_PATTERN).Select(x => new object[] { x }); -} diff --git a/tests/Fallout.Cli.Tests/Fallout.Cli.Tests.csproj b/tests/Fallout.Cli.Tests/Fallout.Cli.Tests.csproj index ea2146246..039bcc215 100644 --- a/tests/Fallout.Cli.Tests/Fallout.Cli.Tests.csproj +++ b/tests/Fallout.Cli.Tests/Fallout.Cli.Tests.csproj @@ -8,11 +8,6 @@ - - - - - diff --git a/tests/Fallout.Cli.Tests/cake-scripts/default-target.cake b/tests/Fallout.Cli.Tests/cake-scripts/default-target.cake deleted file mode 100644 index 58b540faf..000000000 --- a/tests/Fallout.Cli.Tests/cake-scripts/default-target.cake +++ /dev/null @@ -1,6 +0,0 @@ -var target = Argument("target", "Default"); - -Task("Default") - .Does(() => System.Console.WriteLine()); - -RunTarget(target); \ No newline at end of file diff --git a/tests/Fallout.Cli.Tests/cake-scripts/default-target.verified.cs b/tests/Fallout.Cli.Tests/cake-scripts/default-target.verified.cs deleted file mode 100644 index 9829aa291..000000000 --- a/tests/Fallout.Cli.Tests/cake-scripts/default-target.verified.cs +++ /dev/null @@ -1,38 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Linq.Expressions; -using System.Security.Cryptography.X509Certificates; -using System.Xml; -using Fallout.Application.Execution; -using Fallout.Application.Solutions; -using Fallout.Application.Tooling; -using Fallout.Application.Tools.GitVersion; -using Fallout.Kernel.Collections; -using Fallout.Application; -using Fallout.Application.Tools.DotNet; -using Fallout.Application.Tools.MSBuild; -using Fallout.Application.Tools.SignTool; -using Fallout.Application.Tools.NuGet; -using Fallout.Kernel.IO; -using Fallout.Kernel; -using static Fallout.Application.ControlFlow; -using static Fallout.Application.Tools.DotNet.DotNetTasks; -using static Fallout.Application.Tools.MSBuild.MSBuildTasks; -using static Fallout.Application.Tools.SignTool.SignToolTasks; -using static Fallout.Application.Tools.NuGet.NuGetTasks; -using static Fallout.Kernel.IO.TextTasks; -using static Fallout.Kernel.IO.XmlTasks; -using static Fallout.Kernel.EnvironmentInfo; - -class Build : FalloutBuild -{ - public static int Main() => Execute(x => x.Default); - - Target Default => _ => _ - .Executes(() => - { - System.Console.WriteLine(); - }); -} \ No newline at end of file diff --git a/tests/Fallout.Cli.Tests/cake-scripts/globbing.cake b/tests/Fallout.Cli.Tests/cake-scripts/globbing.cake deleted file mode 100644 index b748a2168..000000000 --- a/tests/Fallout.Cli.Tests/cake-scripts/globbing.cake +++ /dev/null @@ -1,6 +0,0 @@ -private void Convert() -{ - var files = GetFiles($"{publishDir}/**/A*.exe", - $"{publishDir}/**/B*.dll", - $"{publishDir}/**/C.exe"); -} \ No newline at end of file diff --git a/tests/Fallout.Cli.Tests/cake-scripts/globbing.verified.cs b/tests/Fallout.Cli.Tests/cake-scripts/globbing.verified.cs deleted file mode 100644 index 0fd9597cb..000000000 --- a/tests/Fallout.Cli.Tests/cake-scripts/globbing.verified.cs +++ /dev/null @@ -1,35 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Linq.Expressions; -using System.Security.Cryptography.X509Certificates; -using System.Xml; -using Fallout.Application.Execution; -using Fallout.Application.Solutions; -using Fallout.Application.Tooling; -using Fallout.Application.Tools.GitVersion; -using Fallout.Kernel.Collections; -using Fallout.Application; -using Fallout.Application.Tools.DotNet; -using Fallout.Application.Tools.MSBuild; -using Fallout.Application.Tools.SignTool; -using Fallout.Application.Tools.NuGet; -using Fallout.Kernel.IO; -using Fallout.Kernel; -using static Fallout.Application.ControlFlow; -using static Fallout.Application.Tools.DotNet.DotNetTasks; -using static Fallout.Application.Tools.MSBuild.MSBuildTasks; -using static Fallout.Application.Tools.SignTool.SignToolTasks; -using static Fallout.Application.Tools.NuGet.NuGetTasks; -using static Fallout.Kernel.IO.TextTasks; -using static Fallout.Kernel.IO.XmlTasks; -using static Fallout.Kernel.EnvironmentInfo; - -class Build : FalloutBuild -{ - private void Convert() - { - var files = publishDir.GlobFiles("**/A*.exe").Concat(publishDir.GlobFiles("**/B*.dll")).Concat(publishDir.GlobFiles("**/C.exe")); - } -} \ No newline at end of file diff --git a/tests/Fallout.Cli.Tests/cake-scripts/parameters.cake b/tests/Fallout.Cli.Tests/cake-scripts/parameters.cake deleted file mode 100644 index 4ee4a969b..000000000 --- a/tests/Fallout.Cli.Tests/cake-scripts/parameters.cake +++ /dev/null @@ -1,11 +0,0 @@ -using Path = System.IO.Path; - -var target = Argument("target", "Default"); -var boolean = Argument("boolean", false); -var configuration = Argument("configuration", "Release"); -var parameterRename = Argument("where", ""); -var certificatePassword = Argument("certificatePassword", ""); -var awsAccessKeyId = Argument("aws_access_key_id", EnvironmentVariable("AWS_ACCESS_KEY") ?? "XXXX"); - -GitVersion gitVersionInfo; -string nugetVersion; diff --git a/tests/Fallout.Cli.Tests/cake-scripts/parameters.verified.cs b/tests/Fallout.Cli.Tests/cake-scripts/parameters.verified.cs deleted file mode 100644 index 94f57a1e3..000000000 --- a/tests/Fallout.Cli.Tests/cake-scripts/parameters.verified.cs +++ /dev/null @@ -1,39 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Linq.Expressions; -using System.Security.Cryptography.X509Certificates; -using System.Xml; -using Fallout.Application.Execution; -using Fallout.Application.Solutions; -using Fallout.Application.Tooling; -using Fallout.Application.Tools.GitVersion; -using Fallout.Kernel.Collections; -using Fallout.Application; -using Fallout.Application.Tools.DotNet; -using Fallout.Application.Tools.MSBuild; -using Fallout.Application.Tools.SignTool; -using Fallout.Application.Tools.NuGet; -using Fallout.Kernel.IO; -using Fallout.Kernel; -using static Fallout.Application.ControlFlow; -using static Fallout.Application.Tools.DotNet.DotNetTasks; -using static Fallout.Application.Tools.MSBuild.MSBuildTasks; -using static Fallout.Application.Tools.SignTool.SignToolTasks; -using static Fallout.Application.Tools.NuGet.NuGetTasks; -using static Fallout.Kernel.IO.TextTasks; -using static Fallout.Kernel.IO.XmlTasks; -using static Fallout.Kernel.EnvironmentInfo; - -class Build : FalloutBuild -{ - [Parameter] readonly string Target = "Default"; - [Parameter] readonly bool Boolean; - [Parameter] readonly string Configuration = "Release"; - [Parameter("where")] readonly string ParameterRename; - [Parameter] [Secret] readonly string CertificatePassword; - [Parameter] [Secret] readonly object AwsAccessKeyId = GetVariable("AWS_ACCESS_KEY") ?? "XXXX"; - GitVersion GitVersionInfo; - string NuGetVersion; -} \ No newline at end of file diff --git a/tests/Fallout.Cli.Tests/cake-scripts/paths.cake b/tests/Fallout.Cli.Tests/cake-scripts/paths.cake deleted file mode 100644 index 28b6d5b1b..000000000 --- a/tests/Fallout.Cli.Tests/cake-scripts/paths.cake +++ /dev/null @@ -1,16 +0,0 @@ -var localPackagesDir = "../LocalPackages"; -var sourceFolder = "./source/"; -var publishDir = "./publish"; -var signToolPath = MakeAbsolute(File("./certificates/signtool.exe")); - -private string Convert(FilePath file) -{ - file = (FilePath) file; - CopyFile($"{projectFile}/{projectFile}.nuspec", "nuspec"); -} - -private void NoConvert() -{ - var nodes = doc.SelectNodes("Project/PropertyGroup/RuntimeIdentifiers"); - var node = doc.SelectSingleNode("Project/PropertyGroup/RuntimeIdentifiers"); -} \ No newline at end of file diff --git a/tests/Fallout.Cli.Tests/cake-scripts/paths.verified.cs b/tests/Fallout.Cli.Tests/cake-scripts/paths.verified.cs deleted file mode 100644 index a4585f65e..000000000 --- a/tests/Fallout.Cli.Tests/cake-scripts/paths.verified.cs +++ /dev/null @@ -1,50 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Linq.Expressions; -using System.Security.Cryptography.X509Certificates; -using System.Xml; -using Fallout.Application.Execution; -using Fallout.Application.Solutions; -using Fallout.Application.Tooling; -using Fallout.Application.Tools.GitVersion; -using Fallout.Kernel.Collections; -using Fallout.Application; -using Fallout.Application.Tools.DotNet; -using Fallout.Application.Tools.MSBuild; -using Fallout.Application.Tools.SignTool; -using Fallout.Application.Tools.NuGet; -using Fallout.Kernel.IO; -using Fallout.Kernel; -using static Fallout.Application.ControlFlow; -using static Fallout.Application.Tools.DotNet.DotNetTasks; -using static Fallout.Application.Tools.MSBuild.MSBuildTasks; -using static Fallout.Application.Tools.SignTool.SignToolTasks; -using static Fallout.Application.Tools.NuGet.NuGetTasks; -using static Fallout.Kernel.IO.TextTasks; -using static Fallout.Kernel.IO.XmlTasks; -using static Fallout.Kernel.EnvironmentInfo; - -class Build : FalloutBuild -{ - AbsolutePath LocalPackagesDir => RootDirectory / ".." / "LocalPackages"; - - AbsolutePath SourceFolder => RootDirectory / "source"; - - AbsolutePath PublishDir => RootDirectory / "publish"; - - AbsolutePath SignToolPath => RootDirectory / "certificates" / "signtool.exe"; - - private string Convert(AbsolutePath file) - { - file = (AbsolutePath)file; - CopyFile(RootDirectory / projectFile/ $"{projectFile}.nuspec", "nuspec"); - } - - private void NoConvert() - { - var nodes = doc.SelectNodes("Project/PropertyGroup/RuntimeIdentifiers"); - var node = doc.SelectSingleNode("Project/PropertyGroup/RuntimeIdentifiers"); - } -} \ No newline at end of file diff --git a/tests/Fallout.Cli.Tests/cake-scripts/references.cake b/tests/Fallout.Cli.Tests/cake-scripts/references.cake deleted file mode 100644 index 25966aabe..000000000 --- a/tests/Fallout.Cli.Tests/cake-scripts/references.cake +++ /dev/null @@ -1,16 +0,0 @@ -////////////////////////////////////////////////////////////////////// -// TOOLS -////////////////////////////////////////////////////////////////////// -#tool "nuget:?package=GitVersion.CommandLine&version=4.0.0" -#tool "nuget:?package=TeamCity.Dotnet.Integration" -#addin "nuget:?package=SharpZipLib&version=1.2.0" -#addin "nuget:?package=Cake.Compression&version=0.2.4" - -using Path = System.IO.Path; -using IO = System.IO; - -////////////////////////////////////////////////////////////////////// -// ARGUMENTS -////////////////////////////////////////////////////////////////////// -var target = Argument("target", "Default"); -var configuration = Argument("configuration", "Release"); diff --git a/tests/Fallout.Cli.Tests/cake-scripts/references.verified.cs b/tests/Fallout.Cli.Tests/cake-scripts/references.verified.cs deleted file mode 100644 index f8dcea280..000000000 --- a/tests/Fallout.Cli.Tests/cake-scripts/references.verified.cs +++ /dev/null @@ -1,36 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Linq.Expressions; -using System.Security.Cryptography.X509Certificates; -using System.Xml; -using Fallout.Application.Execution; -using Fallout.Application.Solutions; -using Fallout.Application.Tooling; -using Fallout.Application.Tools.GitVersion; -using Fallout.Kernel.Collections; -using Fallout.Application; -using Fallout.Application.Tools.DotNet; -using Fallout.Application.Tools.MSBuild; -using Fallout.Application.Tools.SignTool; -using Fallout.Application.Tools.NuGet; -using Fallout.Kernel.IO; -using Fallout.Kernel; -using static Fallout.Application.ControlFlow; -using static Fallout.Application.Tools.DotNet.DotNetTasks; -using static Fallout.Application.Tools.MSBuild.MSBuildTasks; -using static Fallout.Application.Tools.SignTool.SignToolTasks; -using static Fallout.Application.Tools.NuGet.NuGetTasks; -using static Fallout.Kernel.IO.TextTasks; -using static Fallout.Kernel.IO.XmlTasks; -using static Fallout.Kernel.EnvironmentInfo; - -class Build : FalloutBuild -{ - ////////////////////////////////////////////////////////////////////// - // ARGUMENTS - ////////////////////////////////////////////////////////////////////// - [Parameter] readonly string Target = "Default"; - [Parameter] readonly string Configuration = "Release"; -} \ No newline at end of file diff --git a/tests/Fallout.Cli.Tests/cake-scripts/targets.cake b/tests/Fallout.Cli.Tests/cake-scripts/targets.cake deleted file mode 100644 index 51196cf47..000000000 --- a/tests/Fallout.Cli.Tests/cake-scripts/targets.cake +++ /dev/null @@ -1,17 +0,0 @@ -Task("A") - .Does(() => System.Console.WriteLine()); - -Task("B") - .IsDependentOn("A") - .IsDependeeOf("A") - .Does(() => - { - System.Console.WriteLine(); - }); - -Task("C-1") - .IsDependentOn("B") - .WithCriteria(staticCondition) - .WithCriteria(() => dynamicCondition) - .ContinueOnError(); - diff --git a/tests/Fallout.Cli.Tests/cake-scripts/targets.verified.cs b/tests/Fallout.Cli.Tests/cake-scripts/targets.verified.cs deleted file mode 100644 index a2f5169c0..000000000 --- a/tests/Fallout.Cli.Tests/cake-scripts/targets.verified.cs +++ /dev/null @@ -1,53 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Linq.Expressions; -using System.Security.Cryptography.X509Certificates; -using System.Xml; -using Fallout.Application.Execution; -using Fallout.Application.Solutions; -using Fallout.Application.Tooling; -using Fallout.Application.Tools.GitVersion; -using Fallout.Kernel.Collections; -using Fallout.Application; -using Fallout.Application.Tools.DotNet; -using Fallout.Application.Tools.MSBuild; -using Fallout.Application.Tools.SignTool; -using Fallout.Application.Tools.NuGet; -using Fallout.Kernel.IO; -using Fallout.Kernel; -using static Fallout.Application.ControlFlow; -using static Fallout.Application.Tools.DotNet.DotNetTasks; -using static Fallout.Application.Tools.MSBuild.MSBuildTasks; -using static Fallout.Application.Tools.SignTool.SignToolTasks; -using static Fallout.Application.Tools.NuGet.NuGetTasks; -using static Fallout.Kernel.IO.TextTasks; -using static Fallout.Kernel.IO.XmlTasks; -using static Fallout.Kernel.EnvironmentInfo; - -class Build : FalloutBuild -{ - - Target A => _ => _ - .Executes(() => - { - System.Console.WriteLine(); - }); - - - Target B => _ => _ - .DependsOn(A) - .DependentFor(A) - .Executes(() => - { - System.Console.WriteLine(); - }); - - - Target C_1 => _ => _ - .DependsOn(B) - .OnlyWhenStatic(() => staticCondition) - .OnlyWhenDynamic(() => dynamicCondition) - .ProceedAfterFailure(); -} \ No newline at end of file diff --git a/tests/Fallout.Cli.Tests/cake-scripts/tool-invocation.cake b/tests/Fallout.Cli.Tests/cake-scripts/tool-invocation.cake deleted file mode 100644 index 89c3f9159..000000000 --- a/tests/Fallout.Cli.Tests/cake-scripts/tool-invocation.cake +++ /dev/null @@ -1,34 +0,0 @@ - -private void Convert() -{ - DotNetCoreBuild("./source", new DotNetCoreBuildSettings { - Configuration = configuration, - ArgumentCustomization = args => args.Append($"/p:Version={nugetVersion}") - }); - - DotNetCoreTest(testProjectFile.FullPath, new DotNetCoreTestSettings { - Configuration = configuration, - NoBuild = true - }); - - DotNetCorePack(octopusClientFolder, new DotNetCorePackSettings { - ArgumentCustomization = args => { - args.Append($"/p:Version={nugetVersion}"); - args.Append($"/p:NuspecFile=file.nuspec"); - return args; - }, - Configuration = configuration, - OutputDirectory = artifactsDir, - NoBuild = true, - IncludeSymbols = false, - Verbosity = DotNetCoreVerbosity.Normal, - }); - - Sign(files, new SignToolSignSettings { - ToolPath = MakeAbsolute(File("./certificates/signtool.exe")), - TimeStampUri = new Uri("http://rfc3161timestamp.globalsign.com/advanced"), - TimeStampDigestAlgorithm = SignToolDigestAlgorithm.Sha256, - CertPath = signingCertificatePath, - Password = signingCertificatePassword - }); -} \ No newline at end of file diff --git a/tests/Fallout.Cli.Tests/cake-scripts/tool-invocation.verified.cs b/tests/Fallout.Cli.Tests/cake-scripts/tool-invocation.verified.cs deleted file mode 100644 index f52997409..000000000 --- a/tests/Fallout.Cli.Tests/cake-scripts/tool-invocation.verified.cs +++ /dev/null @@ -1,62 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Linq.Expressions; -using System.Security.Cryptography.X509Certificates; -using System.Xml; -using Fallout.Application.Execution; -using Fallout.Application.Solutions; -using Fallout.Application.Tooling; -using Fallout.Application.Tools.GitVersion; -using Fallout.Kernel.Collections; -using Fallout.Application; -using Fallout.Application.Tools.DotNet; -using Fallout.Application.Tools.MSBuild; -using Fallout.Application.Tools.SignTool; -using Fallout.Application.Tools.NuGet; -using Fallout.Kernel.IO; -using Fallout.Kernel; -using static Fallout.Application.ControlFlow; -using static Fallout.Application.Tools.DotNet.DotNetTasks; -using static Fallout.Application.Tools.MSBuild.MSBuildTasks; -using static Fallout.Application.Tools.SignTool.SignToolTasks; -using static Fallout.Application.Tools.NuGet.NuGetTasks; -using static Fallout.Kernel.IO.TextTasks; -using static Fallout.Kernel.IO.XmlTasks; -using static Fallout.Kernel.EnvironmentInfo; - -class Build : FalloutBuild -{ - private void Convert() - { - DotNetBuild(_ => _ - .SetProjectFile(RootDirectory / "source") - .SetConfiguration(configuration) - .SetProcessArgumentConfigurator(args => args.Add($"/p:Version={nugetVersion}"))); - DotNetTest(_ => _ - .SetProjectFile(testProjectFile) - .SetConfiguration(configuration) - .SetNoBuild(true)); - DotNetPack(_ => _ - .SetProjectFile(octopusClientFolder) - .SetProcessArgumentConfigurator(args => - { - args.Add($"/p:Version={nugetVersion}"); - args.Add("/p:NuspecFile=file.nuspec"); - return args; - }) - .SetConfiguration(configuration) - .SetOutputDirectory(artifactsDir) - .SetNoBuild(true) - .SetIncludeSymbols(false) - .SetVerbosity(DotNetVerbosity.Normal)); - SignTool(_ => _ - .SetFiles(files) - .SetProcessToolPath(RootDirectory / "certificates" / "signtool.exe") - .SetTimeStampUri(new Uri("http://rfc3161timestamp.globalsign.com/advanced")) - .SetTimeStampDigestAlgorithm(SignToolDigestAlgorithm.Sha256) - .SetCertPath(signingCertificatePath) - .SetPassword(signingCertificatePassword)); - } -} \ No newline at end of file From e410812701763087ad3f586157262c07189cef38 Mon Sep 17 00:00:00 2001 From: Chrison Simtian Date: Mon, 1 Jun 2026 22:03:45 +1200 Subject: [PATCH 42/46] =?UTF-8?q?refactor(arch)!:=20shim=20generator=20on?= =?UTF-8?q?=20the=20canonical=20map=20+=20consolidate=203=E2=86=922=20shim?= =?UTF-8?q?=20packages?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The TransitionShimGenerator no longer reads per-assembly [assembly: ShimAllPublicTypesUnder(...)] markers — it derives its work from the shared NukeNamespaceMap, emitting the rows whose ShimPackage equals the compiling assembly's name. So a single Nuke.Common shim (referencing the Fallout meta) re-exports every Nuke.Common.* sub-namespace wherever the source types now live across the rings; the shim-package count tracks NUKE's real consumer packages, not Fallout's assembly count. - Removed the ShimAllPublicTypesUnderAttribute (PostInit source + ExtractMarkers) and the three ShimMarker.cs files. - Deleted the Nuke.Build shim entirely (never a real NUKE consumer package; NukeBuild lives in Nuke.Common) + its slnx entry. - Generator gains longest-FromPrefix-wins ownership (ShimMarker.Owns): a type is emitted under the most specific matching map prefix only — fixes a duplicate hint-name crash where Nuke.Common.Utilities→Fallout.Kernel swallowed Fallout.Kernel.IO types also claimed by Nuke.Common.IO. - Kept all emission edge-cases (ambiguity skip, hand-bridge skip, static-class delegation, ctor mirroring, SHIM001/002) + the hand-written shims (NukeBuild bridge, CI Instance accessors → Infrastructure.CI, DelegateDisposable → Kernel, IHaz* aliases). - Reworked TransitionShimGeneratorTest to the map mechanism (compile "as" Nuke.Common, fake referenced Fallout.Application assembly); re-accepted its snapshots + the StronglyTypedSolution snapshot (Nuke.Build accessor gone). Full suite + gate green. Co-Authored-By: Claude Opus 4.8 (1M context) --- fallout.slnx | 1 - .../TransitionShimGenerator.cs | 116 ++++++------------ src/Shims/Nuke.Build/Nuke.Build.csproj | 30 ----- src/Shims/Nuke.Build/README.md | 19 --- src/Shims/Nuke.Build/ShimMarker.cs | 7 -- src/Shims/Nuke.Common/ShimMarker.cs | 23 ---- src/Shims/Nuke.Components/ShimMarker.cs | 10 -- .../CompletionUtilityTest.cs | 1 + .../ChangelogTasksTest.cs | 1 + tests/Fallout.Common.Tests/GitHubTasksTest.cs | 1 + tests/Fallout.Common.Tests/SettingsTest.cs | 1 + .../ProjectModelTest.cs | 1 + tests/Fallout.Solution.Tests/SolutionTest.cs | 1 + ...nGeneratorTest.Test#Solution.g.verified.cs | 1 - ...AllPublicTypesUnderAttribute.g.verified.cs | 23 ---- ...__Fallout.Application.Abstr.g.verified.cs} | 4 +- ...lout.Application.Generic_T_.g.verified.cs} | 4 +- ...l__Fallout.Application.IFoo.g.verified.cs} | 4 +- ..._Fallout.Application.MyAttr.g.verified.cs} | 4 +- ...Fallout.Application.Regular.g.verified.cs} | 4 +- ...t.Application.StaticHelpers.g.verified.cs} | 16 +-- ...lout.Application.WithNested.g.verified.cs} | 6 +- ...msForEachKindAndSkipsHardTier.verified.txt | 4 +- .../TransitionShimGeneratorTest.cs | 82 +++++-------- .../NuGetPackageResolverTest.cs | 1 + .../ToolTasksToolPathTest.cs | 1 + .../IO/FileSystemDependentTest.cs | 2 +- 27 files changed, 101 insertions(+), 267 deletions(-) delete mode 100644 src/Shims/Nuke.Build/Nuke.Build.csproj delete mode 100644 src/Shims/Nuke.Build/README.md delete mode 100644 src/Shims/Nuke.Build/ShimMarker.cs delete mode 100644 src/Shims/Nuke.Common/ShimMarker.cs delete mode 100644 src/Shims/Nuke.Components/ShimMarker.cs delete mode 100644 tests/Fallout.SourceGenerators.Tests/TransitionShimGeneratorTest.EmitsShimsForEachKindAndSkipsHardTier#ShimAllPublicTypesUnderAttribute.g.verified.cs rename tests/Fallout.SourceGenerators.Tests/{TransitionShimGeneratorTest.EmitsShimsForEachKindAndSkipsHardTier#global__Fallout.Common.Abstr.g.verified.cs => TransitionShimGeneratorTest.EmitsShimsForEachKindAndSkipsHardTier#global__Fallout.Application.Abstr.g.verified.cs} (62%) rename tests/Fallout.SourceGenerators.Tests/{TransitionShimGeneratorTest.EmitsShimsForEachKindAndSkipsHardTier#global__Fallout.Common.Generic_T_.g.verified.cs => TransitionShimGeneratorTest.EmitsShimsForEachKindAndSkipsHardTier#global__Fallout.Application.Generic_T_.g.verified.cs} (65%) rename tests/Fallout.SourceGenerators.Tests/{TransitionShimGeneratorTest.EmitsShimsForEachKindAndSkipsHardTier#global__Fallout.Common.IFoo.g.verified.cs => TransitionShimGeneratorTest.EmitsShimsForEachKindAndSkipsHardTier#global__Fallout.Application.IFoo.g.verified.cs} (60%) rename tests/Fallout.SourceGenerators.Tests/{TransitionShimGeneratorTest.EmitsShimsForEachKindAndSkipsHardTier#global__Fallout.Common.MyAttr.g.verified.cs => TransitionShimGeneratorTest.EmitsShimsForEachKindAndSkipsHardTier#global__Fallout.Application.MyAttr.g.verified.cs} (64%) rename tests/Fallout.SourceGenerators.Tests/{TransitionShimGeneratorTest.EmitsShimsForEachKindAndSkipsHardTier#global__Fallout.Common.Regular.g.verified.cs => TransitionShimGeneratorTest.EmitsShimsForEachKindAndSkipsHardTier#global__Fallout.Application.Regular.g.verified.cs} (67%) rename tests/Fallout.SourceGenerators.Tests/{TransitionShimGeneratorTest.EmitsShimsForEachKindAndSkipsHardTier#global__Fallout.Common.StaticHelpers.g.verified.cs => TransitionShimGeneratorTest.EmitsShimsForEachKindAndSkipsHardTier#global__Fallout.Application.StaticHelpers.g.verified.cs} (55%) rename tests/Fallout.SourceGenerators.Tests/{TransitionShimGeneratorTest.EmitsShimsForEachKindAndSkipsHardTier#global__Fallout.Common.WithNested.g.verified.cs => TransitionShimGeneratorTest.EmitsShimsForEachKindAndSkipsHardTier#global__Fallout.Application.WithNested.g.verified.cs} (54%) diff --git a/fallout.slnx b/fallout.slnx index 1d16cb43b..7b65a6a16 100644 --- a/fallout.slnx +++ b/fallout.slnx @@ -20,7 +20,6 @@ - diff --git a/src/Fallout.SourceGenerators/TransitionShimGenerator.cs b/src/Fallout.SourceGenerators/TransitionShimGenerator.cs index ee277d6d9..023ec1d9b 100644 --- a/src/Fallout.SourceGenerators/TransitionShimGenerator.cs +++ b/src/Fallout.SourceGenerators/TransitionShimGenerator.cs @@ -7,13 +7,15 @@ using System.Text; using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp; +using Fallout.Migration.Shared; namespace Fallout.SourceGenerators; /// -/// Source generator that produces transition shims under the Nuke.* namespaces by -/// mirroring public types from canonical Fallout.* assemblies. See the -/// marker emitted via PostInitializationOutput. +/// Source generator that produces transition shims under the Nuke.* namespaces by mirroring public types +/// from canonical Fallout.* assemblies. The Fallout→Nuke namespace correspondence is the shared +/// ; this generator emits the rows whose ShimPackage equals the +/// compiling assembly's name (so only the Nuke.Common / Nuke.Components shim assemblies produce output). /// /// /// Session 1 scope (Easy tier): regular classes, abstract classes, interfaces, @@ -23,10 +25,6 @@ namespace Fallout.SourceGenerators; [Generator(LanguageNames.CSharp)] public sealed class TransitionShimGenerator : IIncrementalGenerator { - private const string AttributeNamespace = "Fallout.Migrate.Shims"; - private const string AttributeName = "ShimAllPublicTypesUnderAttribute"; - private const string AttributeFullName = AttributeNamespace + "." + AttributeName; - // SHIM001: actionable skips. Something COULD still bridge these — un-seal // the canonical, promote a ctor's visibility, dedup across assemblies, or // hand-write a shim. Warning by default. @@ -54,69 +52,55 @@ public sealed class TransitionShimGenerator : IIncrementalGenerator public void Initialize(IncrementalGeneratorInitializationContext context) { - // Emit the marker attribute into the consuming compilation so shim - // projects can declare `[assembly: ShimAllPublicTypesUnder(...)]` without - // depending on a separate runtime assembly. - context.RegisterPostInitializationOutput(ctx => - ctx.AddSource("ShimAllPublicTypesUnderAttribute.g.cs", ShimAttributeSource)); - - // Find marker assembly attribute uses, then combine with the full - // compilation so we can walk referenced assemblies. - var markers = context.SyntaxProvider - .ForAttributeWithMetadataName( - AttributeFullName, - predicate: static (_, _) => true, - transform: static (syntaxCtx, _) => ExtractMarkers(syntaxCtx.TargetSymbol)) - .SelectMany(static (markers, _) => markers); - - var combined = markers.Collect().Combine(context.CompilationProvider); - - context.RegisterSourceOutput(combined, static (ctx, input) => + // Markers come from the shared canonical map, scoped to the compiling shim assembly (by name), + // instead of per-assembly `[assembly: ShimAllPublicTypesUnder(...)]` attributes — one source of + // truth, shared with the migration rewriters. Non-shim assemblies that reference this generator + // (any project pulling the analyzer) produce no rows → no output. + context.RegisterSourceOutput(context.CompilationProvider, static (ctx, compilation) => { - var (markers, compilation) = input; - if (markers.IsDefaultOrEmpty) + var shimPackage = compilation.AssemblyName; + if (string.IsNullOrEmpty(shimPackage)) return; - foreach (var marker in markers) - { - EmitShimsForMarker(ctx, compilation, marker); - } + var rows = NukeNamespaceMap.ShimRowsFor(shimPackage!).ToList(); + var siblingFromPrefixes = rows.Select(r => r.FalloutPrefix).ToList(); + foreach (var row in rows) + EmitShimsForMarker(ctx, compilation, new ShimMarker(row.FalloutPrefix, row.NukePrefix, siblingFromPrefixes)); }); } // ─────────────────────────────────────────────────────────────────────── - // Marker extraction + // Marker (a single Fallout→Nuke prefix pair, derived from NukeNamespaceMap) // ─────────────────────────────────────────────────────────────────────── private readonly struct ShimMarker { - public ShimMarker(string fromPrefix, string toPrefix) + // siblingFromPrefixes = every Fallout-prefix row in the same shim package (incl. this one). Used to + // give a type to the LONGEST matching prefix, so e.g. Fallout.Kernel.IO types are owned by the + // Nuke.Common.IO row, not also by the broader Nuke.Common.Utilities→Fallout.Kernel row (which would + // double-emit and throw on a duplicate hint name). + public ShimMarker(string fromPrefix, string toPrefix, IReadOnlyList siblingFromPrefixes = null) { FromPrefix = fromPrefix; ToPrefix = toPrefix; + _siblings = siblingFromPrefixes ?? new[] { fromPrefix }; } public string FromPrefix { get; } public string ToPrefix { get; } - } + private readonly IReadOnlyList _siblings; - private static ImmutableArray ExtractMarkers(ISymbol target) - { - // The target is the assembly itself (since this is an assembly-targeted - // attribute). Pull the attributes off and extract the two string args. - var results = ImmutableArray.CreateBuilder(); - foreach (var attr in target.GetAttributes()) + private static bool Covers(string prefix, string ns) + => ns == prefix || ns.StartsWith(prefix + ".", StringComparison.Ordinal); + + /// This marker owns iff its prefix matches and no longer sibling prefix does. + public bool Owns(string ns) { - if (attr.AttributeClass?.ToDisplayString() != AttributeFullName) - continue; - if (attr.ConstructorArguments.Length < 2) - continue; - var from = attr.ConstructorArguments[0].Value as string; - var to = attr.ConstructorArguments[1].Value as string; - if (string.IsNullOrEmpty(from) || string.IsNullOrEmpty(to)) - continue; - results.Add(new ShimMarker(from!, to!)); + if (!Covers(FromPrefix, ns)) return false; + foreach (var s in _siblings) + if (s.Length > FromPrefix.Length && Covers(s, ns)) + return false; + return true; } - return results.ToImmutable(); } // ─────────────────────────────────────────────────────────────────────── @@ -190,9 +174,7 @@ private static void CountFqnsInNamespace(INamespaceSymbol ns, ShimMarker marker, if (type.DeclaredAccessibility != Accessibility.Public) continue; var fullNamespace = type.ContainingNamespace?.ToDisplayString() ?? string.Empty; if (string.IsNullOrEmpty(fullNamespace)) continue; - var matches = fullNamespace == marker.FromPrefix - || fullNamespace.StartsWith(marker.FromPrefix + ".", StringComparison.Ordinal); - if (!matches) continue; + if (!marker.Owns(fullNamespace)) continue; var fqn = type.ToDisplayString(SymbolDisplayFormat.FullyQualifiedFormat); counts[fqn] = counts.TryGetValue(fqn, out var existing) ? existing + 1 : 1; } @@ -211,9 +193,7 @@ private static void VisitNamespace(SourceProductionContext ctx, INamespaceSymbol // Match `Fallout.Common` exactly OR any sub-namespace `Fallout.Common.X.Y`. // The marker stores the prefix without trailing dot. if (string.IsNullOrEmpty(fullNamespace)) continue; - var matches = fullNamespace == marker.FromPrefix - || fullNamespace.StartsWith(marker.FromPrefix + ".", StringComparison.Ordinal); - if (!matches) continue; + if (!marker.Owns(fullNamespace)) continue; EmitOrSkipType(ctx, type, marker, emittedHints, ambiguousFqns, handBridgedFqns); } @@ -662,28 +642,4 @@ private static string HintName(INamedTypeSymbol type) // Marker attribute source (emitted via PostInit) // ─────────────────────────────────────────────────────────────────────── - private const string ShimAttributeSource = """ - // - #nullable enable - namespace Fallout.Migrate.Shims; - - /// - /// Marks the consuming assembly as a transition-shim project. The - /// TransitionShimGenerator walks referenced Fallout.* assemblies and emits - /// shim types under mirroring the - /// public types whose namespace begins with . - /// - [System.AttributeUsage(System.AttributeTargets.Assembly, AllowMultiple = true)] - internal sealed class ShimAllPublicTypesUnderAttribute : System.Attribute - { - public ShimAllPublicTypesUnderAttribute(string fromNamespacePrefix, string toNamespacePrefix) - { - FromNamespacePrefix = fromNamespacePrefix; - ToNamespacePrefix = toNamespacePrefix; - } - - public string FromNamespacePrefix { get; } - public string ToNamespacePrefix { get; } - } - """; } diff --git a/src/Shims/Nuke.Build/Nuke.Build.csproj b/src/Shims/Nuke.Build/Nuke.Build.csproj deleted file mode 100644 index 6775a0295..000000000 --- a/src/Shims/Nuke.Build/Nuke.Build.csproj +++ /dev/null @@ -1,30 +0,0 @@ - - - - net10.0 - Nuke.Build - Nuke.Build - Nuke.Build - Nuke.Build (Fallout transition shim) - - true - Transition shim that re-exports the most common Nuke.Build types as subclasses/wrappers of the canonical Fallout.* types. For projects mid-migration from NUKE to Fallout. Published only to GitHub Packages (nuget.org's Nuke.Build is owned by the original NUKE maintainer). - build automation continuous-integration tools orchestration nuke shim transition - - false - - - - - - - - diff --git a/src/Shims/Nuke.Build/README.md b/src/Shims/Nuke.Build/README.md deleted file mode 100644 index 69f5a348b..000000000 --- a/src/Shims/Nuke.Build/README.md +++ /dev/null @@ -1,19 +0,0 @@ -# Nuke.Build transition shim - -Transition shim for projects mid-migration from NUKE to Fallout. Published to **GitHub Packages** only — `Nuke.Build` on nuget.org is owned by the original NUKE maintainer. - -Generated by Fallout's `TransitionShimGenerator` from the canonical `Fallout.Build` namespace surface. Types are emitted as subclass/sub-interface wrappers inheriting from their `Fallout.*` counterparts; consumer code that says `using Nuke.Build;` keeps compiling against the new types. - -Coverage and limitations are the same as the `Nuke.Common` shim — see [`../Nuke.Common/README.md`](../Nuke.Common/README.md) for the full surface description. - -## Consumer setup - -Add this fork's GitHub Packages feed to your `nuget.config`: - -```xml - -``` - -Then bump your `Nuke.Build` package reference to the latest 10.3.x or later. - -Full migration walkthrough: [`docs/migration/from-nuke.md`](../../../docs/migration/from-nuke.md). diff --git a/src/Shims/Nuke.Build/ShimMarker.cs b/src/Shims/Nuke.Build/ShimMarker.cs deleted file mode 100644 index eda952a72..000000000 --- a/src/Shims/Nuke.Build/ShimMarker.cs +++ /dev/null @@ -1,7 +0,0 @@ -// Tells the TransitionShimGenerator to emit shims for every public type whose -// namespace begins with "Fallout.Build." into the corresponding "Nuke.Build." -// namespace. - -[assembly: Fallout.Migrate.Shims.ShimAllPublicTypesUnder( - fromNamespacePrefix: "Fallout.Build", - toNamespacePrefix: "Nuke.Build")] diff --git a/src/Shims/Nuke.Common/ShimMarker.cs b/src/Shims/Nuke.Common/ShimMarker.cs deleted file mode 100644 index c23affe2c..000000000 --- a/src/Shims/Nuke.Common/ShimMarker.cs +++ /dev/null @@ -1,23 +0,0 @@ -// Tells the TransitionShimGenerator to emit shims for every public type whose -// namespace begins with "Fallout.Common." into the corresponding "Nuke.Common." -// namespace. The generator walks all referenced Fallout.* assemblies; both -// Fallout.Common and Fallout.Build participate (FalloutBuild itself lives in -// the Fallout.Common namespace despite being declared in the Fallout.Build -// project). - -[assembly: Fallout.Migrate.Shims.ShimAllPublicTypesUnder( - fromNamespacePrefix: "Fallout.Common", - toNamespacePrefix: "Nuke.Common")] - -// The solution-handling types moved from Fallout.Common.ProjectModel to the dedicated Fallout.Solutions -// namespace in v11 (see #248), then split across the onion rings in the 2026 line (ADR-0006, step 5c): -// the Solution/Project model + [Solution] vocabulary → Fallout.Application.Solutions, and the MSBuild -// project evaluator (ProjectModelTasks/ProjectExtensions) → Fallout.Infrastructure.ProjectModel. NUKE's -// Nuke.Common.ProjectModel held both, so mirror both new namespaces back into it for NUKE-era consumers: -// `using Nuke.Common.ProjectModel;` + `[Solution] readonly Solution Solution;` keep compiling. -[assembly: Fallout.Migrate.Shims.ShimAllPublicTypesUnder( - fromNamespacePrefix: "Fallout.Application.Solutions", - toNamespacePrefix: "Nuke.Common.ProjectModel")] -[assembly: Fallout.Migrate.Shims.ShimAllPublicTypesUnder( - fromNamespacePrefix: "Fallout.Infrastructure.ProjectModel", - toNamespacePrefix: "Nuke.Common.ProjectModel")] diff --git a/src/Shims/Nuke.Components/ShimMarker.cs b/src/Shims/Nuke.Components/ShimMarker.cs deleted file mode 100644 index eed41aa2d..000000000 --- a/src/Shims/Nuke.Components/ShimMarker.cs +++ /dev/null @@ -1,10 +0,0 @@ -// Tells the TransitionShimGenerator to emit shims for every public type whose -// namespace begins with "Fallout.Application.Components" into the corresponding -// "Nuke.Components" namespace. The bulk of this assembly is the component -// interface family (ICompile, IRestore, IPack, ITest, IPublish, IHas*). -// (Source prefix tracks the onion realignment — ADR-0006; the components moved -// into the Application ring, the shim's public Nuke.Components face is unchanged.) - -[assembly: Fallout.Migrate.Shims.ShimAllPublicTypesUnder( - fromNamespacePrefix: "Fallout.Application.Components", - toNamespacePrefix: "Nuke.Components")] diff --git a/tests/Fallout.Build.Tests/CompletionUtilityTest.cs b/tests/Fallout.Build.Tests/CompletionUtilityTest.cs index 5f8f70ba6..da0490151 100644 --- a/tests/Fallout.Build.Tests/CompletionUtilityTest.cs +++ b/tests/Fallout.Build.Tests/CompletionUtilityTest.cs @@ -9,6 +9,7 @@ using VerifyXunit; using Xunit; using Fallout.Kernel.IO; +using Fallout.Build.Shared; namespace Fallout.Common.Tests; diff --git a/tests/Fallout.Common.Tests/ChangelogTasksTest.cs b/tests/Fallout.Common.Tests/ChangelogTasksTest.cs index 4452fa5c4..f370971ba 100644 --- a/tests/Fallout.Common.Tests/ChangelogTasksTest.cs +++ b/tests/Fallout.Common.Tests/ChangelogTasksTest.cs @@ -8,6 +8,7 @@ using Fallout.Kernel.IO; using Fallout.Application.ChangeLog; using Fallout.Kernel; +using Fallout.Build.Shared; // ReSharper disable ReturnValueOfPureMethodIsNotUsed diff --git a/tests/Fallout.Common.Tests/GitHubTasksTest.cs b/tests/Fallout.Common.Tests/GitHubTasksTest.cs index 121c5396b..7e14320af 100644 --- a/tests/Fallout.Common.Tests/GitHubTasksTest.cs +++ b/tests/Fallout.Common.Tests/GitHubTasksTest.cs @@ -6,6 +6,7 @@ using Fallout.Application.Tools.GitHub; using Fallout.Kernel.IO; using Fallout.Kernel; +using Fallout.Build.Shared; namespace Fallout.Common.Tests; diff --git a/tests/Fallout.Common.Tests/SettingsTest.cs b/tests/Fallout.Common.Tests/SettingsTest.cs index 6c2c7084d..41c7393f7 100644 --- a/tests/Fallout.Common.Tests/SettingsTest.cs +++ b/tests/Fallout.Common.Tests/SettingsTest.cs @@ -17,6 +17,7 @@ using Fallout.Application.Tools.Kubernetes; using Fallout.Kernel.IO; using Fallout.Kernel; +using Fallout.Build.Shared; namespace Fallout.Common.Tests; diff --git a/tests/Fallout.ProjectModel.Tests/ProjectModelTest.cs b/tests/Fallout.ProjectModel.Tests/ProjectModelTest.cs index 9f56bcf7b..bd274a787 100644 --- a/tests/Fallout.ProjectModel.Tests/ProjectModelTest.cs +++ b/tests/Fallout.ProjectModel.Tests/ProjectModelTest.cs @@ -6,6 +6,7 @@ using Fallout.Application.Solutions; using Fallout.Infrastructure.ProjectModel; using Fallout.Kernel; +using Fallout.Build.Shared; namespace Fallout.Common.Tests; diff --git a/tests/Fallout.Solution.Tests/SolutionTest.cs b/tests/Fallout.Solution.Tests/SolutionTest.cs index c0a9cb98e..c62a7a4f2 100644 --- a/tests/Fallout.Solution.Tests/SolutionTest.cs +++ b/tests/Fallout.Solution.Tests/SolutionTest.cs @@ -5,6 +5,7 @@ using Xunit; using Fallout.Kernel.IO; using Fallout.Application.Solutions; +using Fallout.Build.Shared; namespace Fallout.Common.Tests; diff --git a/tests/Fallout.SourceGenerators.Tests/StronglyTypedSolutionGeneratorTest.Test#Solution.g.verified.cs b/tests/Fallout.SourceGenerators.Tests/StronglyTypedSolutionGeneratorTest.Test#Solution.g.verified.cs index bb9754355..405593007 100644 --- a/tests/Fallout.SourceGenerators.Tests/StronglyTypedSolutionGeneratorTest.Test#Solution.g.verified.cs +++ b/tests/Fallout.SourceGenerators.Tests/StronglyTypedSolutionGeneratorTest.Test#Solution.g.verified.cs @@ -49,7 +49,6 @@ internal class Solution(AbsolutePath path, object handle) : Fallout.Application. public Fallout.Application.Solutions.Project Fallout_Tooling_Generator => this.GetProject("Fallout.Tooling.Generator"); public Fallout.Application.Solutions.Project Fallout_Tooling_Tests => this.GetProject("Fallout.Tooling.Tests"); public Fallout.Application.Solutions.Project Fallout_Utilities_Tests => this.GetProject("Fallout.Utilities.Tests"); - public Fallout.Application.Solutions.Project Nuke_Build => this.GetProject("Nuke.Build"); public Fallout.Application.Solutions.Project Nuke_Common => this.GetProject("Nuke.Common"); public Fallout.Application.Solutions.Project Nuke_Components => this.GetProject("Nuke.Components"); public Fallout.Application.Solutions.Project Nuke_Components_Shim_Tests => this.GetProject("Nuke.Components.Shim.Tests"); diff --git a/tests/Fallout.SourceGenerators.Tests/TransitionShimGeneratorTest.EmitsShimsForEachKindAndSkipsHardTier#ShimAllPublicTypesUnderAttribute.g.verified.cs b/tests/Fallout.SourceGenerators.Tests/TransitionShimGeneratorTest.EmitsShimsForEachKindAndSkipsHardTier#ShimAllPublicTypesUnderAttribute.g.verified.cs deleted file mode 100644 index 997d07273..000000000 --- a/tests/Fallout.SourceGenerators.Tests/TransitionShimGeneratorTest.EmitsShimsForEachKindAndSkipsHardTier#ShimAllPublicTypesUnderAttribute.g.verified.cs +++ /dev/null @@ -1,23 +0,0 @@ -//HintName: ShimAllPublicTypesUnderAttribute.g.cs -// -#nullable enable -namespace Fallout.Migrate.Shims; - -/// -/// Marks the consuming assembly as a transition-shim project. The -/// TransitionShimGenerator walks referenced Fallout.* assemblies and emits -/// shim types under mirroring the -/// public types whose namespace begins with . -/// -[System.AttributeUsage(System.AttributeTargets.Assembly, AllowMultiple = true)] -internal sealed class ShimAllPublicTypesUnderAttribute : System.Attribute -{ - public ShimAllPublicTypesUnderAttribute(string fromNamespacePrefix, string toNamespacePrefix) - { - FromNamespacePrefix = fromNamespacePrefix; - ToNamespacePrefix = toNamespacePrefix; - } - - public string FromNamespacePrefix { get; } - public string ToNamespacePrefix { get; } -} \ No newline at end of file diff --git a/tests/Fallout.SourceGenerators.Tests/TransitionShimGeneratorTest.EmitsShimsForEachKindAndSkipsHardTier#global__Fallout.Common.Abstr.g.verified.cs b/tests/Fallout.SourceGenerators.Tests/TransitionShimGeneratorTest.EmitsShimsForEachKindAndSkipsHardTier#global__Fallout.Application.Abstr.g.verified.cs similarity index 62% rename from tests/Fallout.SourceGenerators.Tests/TransitionShimGeneratorTest.EmitsShimsForEachKindAndSkipsHardTier#global__Fallout.Common.Abstr.g.verified.cs rename to tests/Fallout.SourceGenerators.Tests/TransitionShimGeneratorTest.EmitsShimsForEachKindAndSkipsHardTier#global__Fallout.Application.Abstr.g.verified.cs index c6911a3bd..d98801944 100644 --- a/tests/Fallout.SourceGenerators.Tests/TransitionShimGeneratorTest.EmitsShimsForEachKindAndSkipsHardTier#global__Fallout.Common.Abstr.g.verified.cs +++ b/tests/Fallout.SourceGenerators.Tests/TransitionShimGeneratorTest.EmitsShimsForEachKindAndSkipsHardTier#global__Fallout.Application.Abstr.g.verified.cs @@ -1,11 +1,11 @@ -//HintName: global__Fallout.Common.Abstr.g.cs +//HintName: global__Fallout.Application.Abstr.g.cs // // Generated by Fallout.SourceGenerators.TransitionShimGenerator. // Mirrors a canonical Fallout.* type as a transition shim. namespace Nuke.Common { - public abstract partial class Abstr : global::Fallout.Common.Abstr + public abstract partial class Abstr : global::Fallout.Application.Abstr { protected Abstr() { } } diff --git a/tests/Fallout.SourceGenerators.Tests/TransitionShimGeneratorTest.EmitsShimsForEachKindAndSkipsHardTier#global__Fallout.Common.Generic_T_.g.verified.cs b/tests/Fallout.SourceGenerators.Tests/TransitionShimGeneratorTest.EmitsShimsForEachKindAndSkipsHardTier#global__Fallout.Application.Generic_T_.g.verified.cs similarity index 65% rename from tests/Fallout.SourceGenerators.Tests/TransitionShimGeneratorTest.EmitsShimsForEachKindAndSkipsHardTier#global__Fallout.Common.Generic_T_.g.verified.cs rename to tests/Fallout.SourceGenerators.Tests/TransitionShimGeneratorTest.EmitsShimsForEachKindAndSkipsHardTier#global__Fallout.Application.Generic_T_.g.verified.cs index f18b76fd1..98be637cd 100644 --- a/tests/Fallout.SourceGenerators.Tests/TransitionShimGeneratorTest.EmitsShimsForEachKindAndSkipsHardTier#global__Fallout.Common.Generic_T_.g.verified.cs +++ b/tests/Fallout.SourceGenerators.Tests/TransitionShimGeneratorTest.EmitsShimsForEachKindAndSkipsHardTier#global__Fallout.Application.Generic_T_.g.verified.cs @@ -1,11 +1,11 @@ -//HintName: global__Fallout.Common.Generic_T_.g.cs +//HintName: global__Fallout.Application.Generic_T_.g.cs // // Generated by Fallout.SourceGenerators.TransitionShimGenerator. // Mirrors a canonical Fallout.* type as a transition shim. namespace Nuke.Common { - public partial class Generic : global::Fallout.Common.Generic + public partial class Generic : global::Fallout.Application.Generic where T : class { public Generic(T item) : base(item) { } diff --git a/tests/Fallout.SourceGenerators.Tests/TransitionShimGeneratorTest.EmitsShimsForEachKindAndSkipsHardTier#global__Fallout.Common.IFoo.g.verified.cs b/tests/Fallout.SourceGenerators.Tests/TransitionShimGeneratorTest.EmitsShimsForEachKindAndSkipsHardTier#global__Fallout.Application.IFoo.g.verified.cs similarity index 60% rename from tests/Fallout.SourceGenerators.Tests/TransitionShimGeneratorTest.EmitsShimsForEachKindAndSkipsHardTier#global__Fallout.Common.IFoo.g.verified.cs rename to tests/Fallout.SourceGenerators.Tests/TransitionShimGeneratorTest.EmitsShimsForEachKindAndSkipsHardTier#global__Fallout.Application.IFoo.g.verified.cs index f2fbec070..dffbb06bd 100644 --- a/tests/Fallout.SourceGenerators.Tests/TransitionShimGeneratorTest.EmitsShimsForEachKindAndSkipsHardTier#global__Fallout.Common.IFoo.g.verified.cs +++ b/tests/Fallout.SourceGenerators.Tests/TransitionShimGeneratorTest.EmitsShimsForEachKindAndSkipsHardTier#global__Fallout.Application.IFoo.g.verified.cs @@ -1,11 +1,11 @@ -//HintName: global__Fallout.Common.IFoo.g.cs +//HintName: global__Fallout.Application.IFoo.g.cs // // Generated by Fallout.SourceGenerators.TransitionShimGenerator. // Mirrors a canonical Fallout.* type as a transition shim. namespace Nuke.Common { - public partial interface IFoo : global::Fallout.Common.IFoo + public partial interface IFoo : global::Fallout.Application.IFoo { } } diff --git a/tests/Fallout.SourceGenerators.Tests/TransitionShimGeneratorTest.EmitsShimsForEachKindAndSkipsHardTier#global__Fallout.Common.MyAttr.g.verified.cs b/tests/Fallout.SourceGenerators.Tests/TransitionShimGeneratorTest.EmitsShimsForEachKindAndSkipsHardTier#global__Fallout.Application.MyAttr.g.verified.cs similarity index 64% rename from tests/Fallout.SourceGenerators.Tests/TransitionShimGeneratorTest.EmitsShimsForEachKindAndSkipsHardTier#global__Fallout.Common.MyAttr.g.verified.cs rename to tests/Fallout.SourceGenerators.Tests/TransitionShimGeneratorTest.EmitsShimsForEachKindAndSkipsHardTier#global__Fallout.Application.MyAttr.g.verified.cs index 135c4fa53..ccc744a69 100644 --- a/tests/Fallout.SourceGenerators.Tests/TransitionShimGeneratorTest.EmitsShimsForEachKindAndSkipsHardTier#global__Fallout.Common.MyAttr.g.verified.cs +++ b/tests/Fallout.SourceGenerators.Tests/TransitionShimGeneratorTest.EmitsShimsForEachKindAndSkipsHardTier#global__Fallout.Application.MyAttr.g.verified.cs @@ -1,11 +1,11 @@ -//HintName: global__Fallout.Common.MyAttr.g.cs +//HintName: global__Fallout.Application.MyAttr.g.cs // // Generated by Fallout.SourceGenerators.TransitionShimGenerator. // Mirrors a canonical Fallout.* type as a transition shim. namespace Nuke.Common { - public partial class MyAttr : global::Fallout.Common.MyAttr + public partial class MyAttr : global::Fallout.Application.MyAttr { public MyAttr(int n) : base(n) { } } diff --git a/tests/Fallout.SourceGenerators.Tests/TransitionShimGeneratorTest.EmitsShimsForEachKindAndSkipsHardTier#global__Fallout.Common.Regular.g.verified.cs b/tests/Fallout.SourceGenerators.Tests/TransitionShimGeneratorTest.EmitsShimsForEachKindAndSkipsHardTier#global__Fallout.Application.Regular.g.verified.cs similarity index 67% rename from tests/Fallout.SourceGenerators.Tests/TransitionShimGeneratorTest.EmitsShimsForEachKindAndSkipsHardTier#global__Fallout.Common.Regular.g.verified.cs rename to tests/Fallout.SourceGenerators.Tests/TransitionShimGeneratorTest.EmitsShimsForEachKindAndSkipsHardTier#global__Fallout.Application.Regular.g.verified.cs index 575a3c457..d31dd45fb 100644 --- a/tests/Fallout.SourceGenerators.Tests/TransitionShimGeneratorTest.EmitsShimsForEachKindAndSkipsHardTier#global__Fallout.Common.Regular.g.verified.cs +++ b/tests/Fallout.SourceGenerators.Tests/TransitionShimGeneratorTest.EmitsShimsForEachKindAndSkipsHardTier#global__Fallout.Application.Regular.g.verified.cs @@ -1,11 +1,11 @@ -//HintName: global__Fallout.Common.Regular.g.cs +//HintName: global__Fallout.Application.Regular.g.cs // // Generated by Fallout.SourceGenerators.TransitionShimGenerator. // Mirrors a canonical Fallout.* type as a transition shim. namespace Nuke.Common { - public partial class Regular : global::Fallout.Common.Regular + public partial class Regular : global::Fallout.Application.Regular { public Regular(string a) : base(a) { } public Regular() { } diff --git a/tests/Fallout.SourceGenerators.Tests/TransitionShimGeneratorTest.EmitsShimsForEachKindAndSkipsHardTier#global__Fallout.Common.StaticHelpers.g.verified.cs b/tests/Fallout.SourceGenerators.Tests/TransitionShimGeneratorTest.EmitsShimsForEachKindAndSkipsHardTier#global__Fallout.Application.StaticHelpers.g.verified.cs similarity index 55% rename from tests/Fallout.SourceGenerators.Tests/TransitionShimGeneratorTest.EmitsShimsForEachKindAndSkipsHardTier#global__Fallout.Common.StaticHelpers.g.verified.cs rename to tests/Fallout.SourceGenerators.Tests/TransitionShimGeneratorTest.EmitsShimsForEachKindAndSkipsHardTier#global__Fallout.Application.StaticHelpers.g.verified.cs index 327d72c3a..d18f8e196 100644 --- a/tests/Fallout.SourceGenerators.Tests/TransitionShimGeneratorTest.EmitsShimsForEachKindAndSkipsHardTier#global__Fallout.Common.StaticHelpers.g.verified.cs +++ b/tests/Fallout.SourceGenerators.Tests/TransitionShimGeneratorTest.EmitsShimsForEachKindAndSkipsHardTier#global__Fallout.Application.StaticHelpers.g.verified.cs @@ -1,4 +1,4 @@ -//HintName: global__Fallout.Common.StaticHelpers.g.cs +//HintName: global__Fallout.Application.StaticHelpers.g.cs // // Generated by Fallout.SourceGenerators.TransitionShimGenerator. // Mirrors a canonical Fallout.* type as a transition shim. @@ -7,12 +7,12 @@ namespace Nuke.Common { public static partial class StaticHelpers { - public static int Plain(int a) => global::Fallout.Common.StaticHelpers.Plain(a); - public static void VoidReturn(string s) => global::Fallout.Common.StaticHelpers.VoidReturn(s); - public static T Generic(T input) where T : class => global::Fallout.Common.StaticHelpers.Generic(input); - public static int WithOptional(int a, int b = 7, string s = "hello") => global::Fallout.Common.StaticHelpers.WithOptional(a, b, s); - public static int Sum(params int[] nums) => global::Fallout.Common.StaticHelpers.Sum(nums); - public static int TryParse(string s, out int value) => global::Fallout.Common.StaticHelpers.TryParse(s, out value); - public static string AsHex(this byte b) => global::Fallout.Common.StaticHelpers.AsHex(b); + public static int Plain(int a) => global::Fallout.Application.StaticHelpers.Plain(a); + public static void VoidReturn(string s) => global::Fallout.Application.StaticHelpers.VoidReturn(s); + public static T Generic(T input) where T : class => global::Fallout.Application.StaticHelpers.Generic(input); + public static int WithOptional(int a, int b = 7, string s = "hello") => global::Fallout.Application.StaticHelpers.WithOptional(a, b, s); + public static int Sum(params int[] nums) => global::Fallout.Application.StaticHelpers.Sum(nums); + public static int TryParse(string s, out int value) => global::Fallout.Application.StaticHelpers.TryParse(s, out value); + public static string AsHex(this byte b) => global::Fallout.Application.StaticHelpers.AsHex(b); } } diff --git a/tests/Fallout.SourceGenerators.Tests/TransitionShimGeneratorTest.EmitsShimsForEachKindAndSkipsHardTier#global__Fallout.Common.WithNested.g.verified.cs b/tests/Fallout.SourceGenerators.Tests/TransitionShimGeneratorTest.EmitsShimsForEachKindAndSkipsHardTier#global__Fallout.Application.WithNested.g.verified.cs similarity index 54% rename from tests/Fallout.SourceGenerators.Tests/TransitionShimGeneratorTest.EmitsShimsForEachKindAndSkipsHardTier#global__Fallout.Common.WithNested.g.verified.cs rename to tests/Fallout.SourceGenerators.Tests/TransitionShimGeneratorTest.EmitsShimsForEachKindAndSkipsHardTier#global__Fallout.Application.WithNested.g.verified.cs index 5dc0f3b9c..80cdebf20 100644 --- a/tests/Fallout.SourceGenerators.Tests/TransitionShimGeneratorTest.EmitsShimsForEachKindAndSkipsHardTier#global__Fallout.Common.WithNested.g.verified.cs +++ b/tests/Fallout.SourceGenerators.Tests/TransitionShimGeneratorTest.EmitsShimsForEachKindAndSkipsHardTier#global__Fallout.Application.WithNested.g.verified.cs @@ -1,15 +1,15 @@ -//HintName: global__Fallout.Common.WithNested.g.cs +//HintName: global__Fallout.Application.WithNested.g.cs // // Generated by Fallout.SourceGenerators.TransitionShimGenerator. // Mirrors a canonical Fallout.* type as a transition shim. namespace Nuke.Common { - public partial class WithNested : global::Fallout.Common.WithNested + public partial class WithNested : global::Fallout.Application.WithNested { public WithNested() { } - public new partial class Nested : global::Fallout.Common.WithNested.Nested + public new partial class Nested : global::Fallout.Application.WithNested.Nested { public Nested() { } } diff --git a/tests/Fallout.SourceGenerators.Tests/TransitionShimGeneratorTest.EmitsShimsForEachKindAndSkipsHardTier.verified.txt b/tests/Fallout.SourceGenerators.Tests/TransitionShimGeneratorTest.EmitsShimsForEachKindAndSkipsHardTier.verified.txt index c37c3cded..a821db5a9 100644 --- a/tests/Fallout.SourceGenerators.Tests/TransitionShimGeneratorTest.EmitsShimsForEachKindAndSkipsHardTier.verified.txt +++ b/tests/Fallout.SourceGenerators.Tests/TransitionShimGeneratorTest.EmitsShimsForEachKindAndSkipsHardTier.verified.txt @@ -1,7 +1,7 @@ { Diagnostics: [ { - Message: Type 'Fallout.Common.SealedThing' was skipped by the transition-shim generator (kind: sealed-class). Consumers relying on this via the Nuke.* shim need a hand-written bridge, a canonical-side fix (un-seal / widen ctor visibility), or to migrate via 'fallout-migrate'., + Message: Type 'Fallout.Application.SealedThing' was skipped by the transition-shim generator (kind: sealed-class). Consumers relying on this via the Nuke.* shim need a hand-written bridge, a canonical-side fix (un-seal / widen ctor visibility), or to migrate via 'fallout-migrate'., Severity: Warning, WarningLevel: 1, Descriptor: { @@ -15,7 +15,7 @@ } }, { - Message: Type 'Fallout.Common.PrivateCtorOnly' was skipped by the transition-shim generator (kind: no-accessible-ctor). Consumers relying on this via the Nuke.* shim need a hand-written bridge, a canonical-side fix (un-seal / widen ctor visibility), or to migrate via 'fallout-migrate'., + Message: Type 'Fallout.Application.PrivateCtorOnly' was skipped by the transition-shim generator (kind: no-accessible-ctor). Consumers relying on this via the Nuke.* shim need a hand-written bridge, a canonical-side fix (un-seal / widen ctor visibility), or to migrate via 'fallout-migrate'., Severity: Warning, WarningLevel: 1, Descriptor: { diff --git a/tests/Fallout.SourceGenerators.Tests/TransitionShimGeneratorTest.cs b/tests/Fallout.SourceGenerators.Tests/TransitionShimGeneratorTest.cs index 30d8ac333..aadbd158f 100644 --- a/tests/Fallout.SourceGenerators.Tests/TransitionShimGeneratorTest.cs +++ b/tests/Fallout.SourceGenerators.Tests/TransitionShimGeneratorTest.cs @@ -11,16 +11,19 @@ namespace Fallout.SourceGenerators.Tests; public class TransitionShimGeneratorTest { - // Each kind in the Easy tier (regular class, abstract class, interface, - // attribute, generic class, nested type) emits a representative shim. The - // Hard tier kinds (sealed class, static class, enum, delegate, class with - // no public/protected ctor) emit SHIM001 diagnostics instead. Captures both - // as a Verify snapshot. + // The generator is map-driven: it emits shims when the COMPILING assembly's name is a shim package + // (Nuke.Common / Nuke.Components in NukeNamespaceMap), mirroring public types from referenced + // Fallout.* assemblies under the package's mapped Fallout prefixes. These tests fake a referenced + // canonical Fallout.Application assembly (a Nuke.Common-mapped prefix) and compile "as" Nuke.Common. + + // Each kind in the Easy tier (regular class, abstract class, interface, attribute, generic class, + // nested type) emits a representative shim. The Hard tier kinds (sealed class, static class, enum, + // class with no public/protected ctor) emit SHIM001 diagnostics instead. Captures both as a snapshot. [Fact] public Task EmitsShimsForEachKindAndSkipsHardTier() { var canonical = CompileCanonicalAssembly(""" - namespace Fallout.Common + namespace Fallout.Application { // Easy tier public class Regular { public Regular(string a) {} public Regular() {} } @@ -54,40 +57,27 @@ public static void VoidReturn(string s) { } } """); - var shimCompilation = CSharpCompilation.Create("Nuke.TestShim", - new[] { CSharpSyntaxTree.ParseText(""" - [assembly: Fallout.Migrate.Shims.ShimAllPublicTypesUnder("Fallout.Common", "Nuke.Common")] - """) }, - Basic.Reference.Assemblies.NetStandard20.References.All - .Concat(new[] { canonical }), - new CSharpCompilationOptions(OutputKind.DynamicallyLinkedLibrary)); - - var driver = CSharpGeneratorDriver.Create(new TransitionShimGenerator()); - var result = driver.RunGenerators(shimCompilation); + var result = RunForShimPackage("Nuke.Common", canonical); return Verifier.Verify(result); } - // Hand-bridge suppression: when the consuming compilation declares a type at - // the target shim FQN, the generator treats that as the authoritative bridge — - // no emission, no SHIM001 (even for canonical kinds that would otherwise be - // skipped as Hard tier). Mirrors the session-4 CI host pattern in Nuke.Common. + // Hand-bridge suppression: when the consuming compilation declares a type at the target shim FQN, the + // generator treats that as the authoritative bridge — no emission, no SHIM001 (even for kinds that + // would otherwise be skipped). Mirrors the CI host accessors hand-written in Nuke.Common. [Fact] public void SkipsCanonicalTypesAlreadyHandBridgedByConsumer() { var canonical = CompileCanonicalAssembly(""" - namespace Fallout.Common + namespace Fallout.Application { public sealed class HandBridgedSealed { public HandBridgedSealed() {} } public class HandBridgedRegular { public HandBridgedRegular() {} } } """); - var shimCompilation = CSharpCompilation.Create("Nuke.HandBridged", + var shimCompilation = CSharpCompilation.Create("Nuke.Common", new[] { - CSharpSyntaxTree.ParseText(""" - [assembly: Fallout.Migrate.Shims.ShimAllPublicTypesUnder("Fallout.Common", "Nuke.Common")] - """), CSharpSyntaxTree.ParseText(""" namespace Nuke.Common { @@ -96,46 +86,40 @@ public static class HandBridgedRegular { } } """), }, - Basic.Reference.Assemblies.NetStandard20.References.All - .Concat(new[] { canonical }), + Basic.Reference.Assemblies.NetStandard20.References.All.Concat(new[] { canonical }), new CSharpCompilationOptions(OutputKind.DynamicallyLinkedLibrary)); - var driver = CSharpGeneratorDriver.Create(new TransitionShimGenerator()); - var result = driver.RunGenerators(shimCompilation).GetRunResult(); - - // No source emitted for the hand-bridged canonical types. - result.GeneratedTrees - .Where(t => !t.FilePath.EndsWith("ShimAllPublicTypesUnderAttribute.g.cs", System.StringComparison.Ordinal)) - .Should().BeEmpty(); + var result = CSharpGeneratorDriver.Create(new TransitionShimGenerator()) + .RunGenerators(shimCompilation).GetRunResult(); - // And no SHIM001 diagnostic for either hand-bridged type — the sealed - // one would normally warn, the regular one would normally emit. + result.GeneratedTrees.Should().BeEmpty(); result.Diagnostics.Should().BeEmpty(); } [Fact] - public void EmitsNothingWhenNoMarkerAttributePresent() + public void EmitsNothingWhenAssemblyIsNotAShimPackage() { var canonical = CompileCanonicalAssembly(""" - namespace Fallout.Common + namespace Fallout.Application { public class Whatever { public Whatever() {} } } """); - var shimCompilation = CSharpCompilation.Create("Nuke.NoMarker", - new[] { CSharpSyntaxTree.ParseText("// no marker") }, - Basic.Reference.Assemblies.NetStandard20.References.All - .Concat(new[] { canonical }), - new CSharpCompilationOptions(OutputKind.DynamicallyLinkedLibrary)); + // A normal consumer assembly (not a shim package) → no map rows → no emission. + var result = RunForShimPackage("SomeConsumer.Build", canonical); + + result.GetRunResult().GeneratedTrees.Should().BeEmpty(); + } - var driver = CSharpGeneratorDriver.Create(new TransitionShimGenerator()); - var result = driver.RunGenerators(shimCompilation).GetRunResult(); + private static GeneratorDriver RunForShimPackage(string assemblyName, MetadataReference canonical) + { + var shimCompilation = CSharpCompilation.Create(assemblyName, + new[] { CSharpSyntaxTree.ParseText("// shim package — types come from referenced Fallout.* assemblies") }, + Basic.Reference.Assemblies.NetStandard20.References.All.Concat(new[] { canonical }), + new CSharpCompilationOptions(OutputKind.DynamicallyLinkedLibrary)); - // The post-init attribute definition is the only output expected. - result.GeneratedTrees - .Where(t => !t.FilePath.EndsWith("ShimAllPublicTypesUnderAttribute.g.cs", System.StringComparison.Ordinal)) - .Should().BeEmpty(); + return CSharpGeneratorDriver.Create(new TransitionShimGenerator()).RunGenerators(shimCompilation); } private static MetadataReference CompileCanonicalAssembly(string source) diff --git a/tests/Fallout.Tooling.Tests/NuGetPackageResolverTest.cs b/tests/Fallout.Tooling.Tests/NuGetPackageResolverTest.cs index b4de0474b..8abfcb793 100644 --- a/tests/Fallout.Tooling.Tests/NuGetPackageResolverTest.cs +++ b/tests/Fallout.Tooling.Tests/NuGetPackageResolverTest.cs @@ -4,6 +4,7 @@ using Fallout.Infrastructure.Tooling; using Fallout.Kernel.IO; using Fallout.Kernel; +using Fallout.Build.Shared; namespace Fallout.Common.Tests; diff --git a/tests/Fallout.Tooling.Tests/ToolTasksToolPathTest.cs b/tests/Fallout.Tooling.Tests/ToolTasksToolPathTest.cs index eee1c2bb9..8b6762104 100644 --- a/tests/Fallout.Tooling.Tests/ToolTasksToolPathTest.cs +++ b/tests/Fallout.Tooling.Tests/ToolTasksToolPathTest.cs @@ -7,6 +7,7 @@ using Fallout.Application.Tooling; using Fallout.Kernel.IO; using Fallout.Kernel; +using Fallout.Build.Shared; namespace Fallout.Common.Tests; diff --git a/tests/Fallout.Utilities.Tests/IO/FileSystemDependentTest.cs b/tests/Fallout.Utilities.Tests/IO/FileSystemDependentTest.cs index 8536e9007..1285989f0 100644 --- a/tests/Fallout.Utilities.Tests/IO/FileSystemDependentTest.cs +++ b/tests/Fallout.Utilities.Tests/IO/FileSystemDependentTest.cs @@ -2,10 +2,10 @@ using System.IO; using System.Linq; using System.Reflection; -using Fallout.Common; using Xunit.Abstractions; using Fallout.Kernel.IO; using Fallout.Kernel; +using Fallout.Build.Shared; namespace Fallout.Common.Tests; From 85e8239e17ede33adff19ef00b9a427f3ff33479 Mon Sep 17 00:00:00 2001 From: Chrison Simtian Date: Mon, 1 Jun 2026 22:08:43 +1200 Subject: [PATCH 43/46] test: re-include the Nuke.* shim compat tests (validation for the redesign) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bring Nuke.Common.Shim.Tests + Nuke.Consumer back into the solution (excluded during the onion realignment while the shims lapsed). They are the proof that a NUKE-era consumer's surface — using Nuke.Common; [Parameter]/[Secret]/[Solution]/ [GitRepository]; Nuke.Common.ProjectModel.Solution; Nuke.Common.Git.GitRepository; CI host Instance accessors; DelegateDisposable — resolves through the 2 consolidated shims. - SampleConsumerBuild is now a pure NUKE surface (dropped the canonical Fallout.* imports + fully-qualified types that were a workaround for the missing shims; the shims provide them now). Solution/GitRepository come from the Nuke.* shim. - Nuke.Consumer: dropped the deleted Nuke.Build ref; fixed the Target delegate alias (Fallout.Common.Target → Fallout.Application.Target). - Re-accepted the StronglyTypedSolution snapshot (the two re-added projects' accessors). Full suite (incl. both shim compat tests) + gate + dogfood ./build.sh Test green. Co-Authored-By: Claude Opus 4.8 (1M context) --- fallout.slnx | 10 ++++++---- tests/Consumers/Nuke.Consumer/Build.cs | 4 ++-- .../Nuke.Consumer/Nuke.Consumer.csproj | 1 - ...ionGeneratorTest.Test#Solution.g.verified.cs | 2 ++ .../SampleConsumerBuild.cs | 17 +++++++---------- 5 files changed, 17 insertions(+), 17 deletions(-) diff --git a/fallout.slnx b/fallout.slnx index 7b65a6a16..9c3ce2e60 100644 --- a/fallout.slnx +++ b/fallout.slnx @@ -45,15 +45,17 @@ - + + - + + diff --git a/tests/Consumers/Nuke.Consumer/Build.cs b/tests/Consumers/Nuke.Consumer/Build.cs index 3696c184e..3addea37d 100644 --- a/tests/Consumers/Nuke.Consumer/Build.cs +++ b/tests/Consumers/Nuke.Consumer/Build.cs @@ -11,10 +11,10 @@ // The shim generator skips delegates by C# language limitation (see SHIM002 — // can't subclass a delegate cross-assembly). `Target` is a delegate in -// Fallout.Common, so NUKE-era code referencing `Target` needs either +// Fallout.Application, so NUKE-era code referencing `Target` needs either // `fallout-migrate` (which flips usings to Fallout.*) or this manual alias. // Including it here keeps the rest of the file NUKE-shape. -using Target = Fallout.Common.Target; +using Target = Fallout.Application.Target; class Build : NukeBuild { diff --git a/tests/Consumers/Nuke.Consumer/Nuke.Consumer.csproj b/tests/Consumers/Nuke.Consumer/Nuke.Consumer.csproj index 1a5744333..fa41619c4 100644 --- a/tests/Consumers/Nuke.Consumer/Nuke.Consumer.csproj +++ b/tests/Consumers/Nuke.Consumer/Nuke.Consumer.csproj @@ -11,7 +11,6 @@ - diff --git a/tests/Fallout.SourceGenerators.Tests/StronglyTypedSolutionGeneratorTest.Test#Solution.g.verified.cs b/tests/Fallout.SourceGenerators.Tests/StronglyTypedSolutionGeneratorTest.Test#Solution.g.verified.cs index 405593007..c4874c10a 100644 --- a/tests/Fallout.SourceGenerators.Tests/StronglyTypedSolutionGeneratorTest.Test#Solution.g.verified.cs +++ b/tests/Fallout.SourceGenerators.Tests/StronglyTypedSolutionGeneratorTest.Test#Solution.g.verified.cs @@ -50,8 +50,10 @@ internal class Solution(AbsolutePath path, object handle) : Fallout.Application. public Fallout.Application.Solutions.Project Fallout_Tooling_Tests => this.GetProject("Fallout.Tooling.Tests"); public Fallout.Application.Solutions.Project Fallout_Utilities_Tests => this.GetProject("Fallout.Utilities.Tests"); public Fallout.Application.Solutions.Project Nuke_Common => this.GetProject("Nuke.Common"); + public Fallout.Application.Solutions.Project Nuke_Common_Shim_Tests => this.GetProject("Nuke.Common.Shim.Tests"); public Fallout.Application.Solutions.Project Nuke_Components => this.GetProject("Nuke.Components"); public Fallout.Application.Solutions.Project Nuke_Components_Shim_Tests => this.GetProject("Nuke.Components.Shim.Tests"); + public Fallout.Application.Solutions.Project Nuke_Consumer => this.GetProject("Nuke.Consumer"); public _misc misc => Unsafe.As<_misc>(this.GetSolutionFolder("misc")); diff --git a/tests/Nuke.Common.Shim.Tests/SampleConsumerBuild.cs b/tests/Nuke.Common.Shim.Tests/SampleConsumerBuild.cs index 0a58caae7..bb9be2249 100644 --- a/tests/Nuke.Common.Shim.Tests/SampleConsumerBuild.cs +++ b/tests/Nuke.Common.Shim.Tests/SampleConsumerBuild.cs @@ -15,25 +15,22 @@ using Nuke.Common.IO; using Nuke.Common.ProjectModel; using Nuke.Common.Utilities; -using Fallout.Application.Git; -using Fallout.Kernel.IO; -using Fallout.Application.Solutions; namespace Nuke.Common.Shim.Tests; -// Consumer's typical Build.cs entry-point — inherits the shim's NukeBuild, -// uses the canonical Fallout types via `Fallout.Common.Target` (shim doesn't -// bridge delegates; that's `fallout-migrate`'s job). The [GlobbingOptions(...)] -// attribute resolves through the shim now that the canonical is un-sealed. +// Consumer's typical Build.cs entry-point — a pure NUKE-era surface: everything resolves through the +// Nuke.* shim (Solution/GitRepository/[Parameter]/CI hosts/DelegateDisposable), with no Fallout.* imports. +// Enums (GlobbingCaseSensitivity) aren't shimmed (SHIM002 — can't subclass cross-assembly), so that one +// stays a fully-qualified canonical reference — exactly what `fallout-migrate` would otherwise flip. [GlobbingOptions(Fallout.Kernel.IO.GlobbingCaseSensitivity.CaseInsensitive)] public abstract class SampleConsumerBuild : NukeBuild, INukeBuild { [Parameter("Configuration to build")] readonly string Configuration; [Parameter] readonly bool RunTests; [Secret] readonly string NuGetApiKey; - [Solution] readonly Fallout.Application.Solutions.Solution Solution; - [Solution("path/to/explicit.slnx")] readonly Fallout.Application.Solutions.Solution ExplicitSolution; - [GitRepository] readonly Fallout.Application.Git.GitRepository GitRepository; + [Solution] readonly Solution Solution; + [Solution("path/to/explicit.slnx")] readonly Solution ExplicitSolution; + [GitRepository] readonly GitRepository GitRepository; // CI-host shims expose only the static `Instance` accessor. Consumers can // still chain into instance members because the returned type is canonical. From 64046d5a9c7fbba301b555f1f8421837ed7490bb Mon Sep 17 00:00:00 2001 From: Chrison Simtian Date: Mon, 1 Jun 2026 22:10:00 +1200 Subject: [PATCH 44/46] docs: record shim + migration redesign (closes the onion realignment) CHANGELOG + spike 0003 + ADR-0006 amendment: one canonical Nuke<->Fallout map drives shims (Fallout->Nuke) and migration (Nuke->Fallout); shim packages 3->2 (Nuke.Build deleted); Cake migration dropped. The realignment is structurally and compat-complete. Co-Authored-By: Claude Opus 4.8 (1M context) --- CHANGELOG.md | 1 + docs/adr/0006-onion-layering-and-namespace-realignment.md | 6 ++++++ docs/spikes/0003-onion-infrastructure-ring.md | 3 ++- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2901e9ffa..a5d80e327 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - **Step 5b (CI host providers → Infrastructure)**: the concrete CI provider classes (`AppVeyor`, `AzurePipelines`, `TeamCity`, `GitHubActions`, `GitLab`, `TravisCI`, …) and their config generators move from `Fallout.Common.CI.*` to **`Fallout.Infrastructure.CI.*`**. The Application ring reaches the provider-specific capabilities it needs (publish test results/coverage, push artifacts, set/update the build number, read the token, …) through new **ports in `Fallout.Application.CI`** — `IAppVeyor`/`IAzurePipelines`/`ITeamCity`/`IGitHubActions` plus a **`CiHost`** accessor that casts the detected `Host.Instance` to the port (no registration needed — `Host.Instance` is the existing detection seam). Components and version/coverage attributes rewrite `AzurePipelines.Instance?.X` → `CiHost.AzurePipelines?.X`, so the Application ring stays free of `Fallout.Infrastructure.*` (the fitness gate still passes). The two enums the ports expose (`AzurePipelinesTestResultsType`, `AzurePipelinesCodeCoverageToolType`) move to `Fallout.Application.CI` as vocabulary. The `Nuke.Common.CI.*` transition-shim host accessors are repointed to the new Infrastructure namespace. (The generic CI host abstraction — ADR-0005 `IBuildHost`/`IBuildReporter`, [#341] — remains a separate, additive effort.) - **Step 5c (ProjectModel/Solution → rings)**: the solution model + `[Solution]` injection + `ReadSolution` move to **`Fallout.Application.Solutions`** (a Fallout-owned POCO model with an opaque handle, behind `ISolutionSerializer`/`IProjectEditor` ports + a `SolutionServices` locator); the `.sln`/`.slnx` serializer adapter → **`Fallout.Infrastructure.Solutions`**; the MSBuild project evaluator (`ProjectModelTasks`/`ProjectExtensions`) → **`Fallout.Infrastructure.ProjectModel`**. Also finished the partial straggler moves (Git/ChangeLog → `Fallout.Application.*`; `Assert`/`EnvironmentInfo`/`AsyncHelper`/`ArgumentParser` → `Fallout.Kernel`; Execution + Gitter → Application). - **Project-file renames + splits + meta-package (the mechanical step the entries above forward-referenced)**: with namespaces settled, the **project files, assemblies, and NuGet package IDs** now match the rings. Pure renames: `Fallout.Build` → **`Fallout.Application`**, `Fallout.Components` → **`Fallout.Application.Components`**, `Fallout.ProjectModel` → **`Fallout.Infrastructure.ProjectModel`**, `Fallout.Utilities*` → **`Fallout.Kernel*`**. Mixed projects split into ring-pure assemblies: `Fallout.Tooling` → **`Fallout.Application.Tooling`** + **`Fallout.Infrastructure.Tooling`**; `Fallout.Solution` → **`Fallout.Application.Solutions`** + **`Fallout.Infrastructure.Solutions`**; the 249-file **`Fallout.Common` catch-all is dissolved** → `Fallout.Application.Tools` (tool wrappers), `Fallout.Infrastructure.CI` (CI adapters), `Fallout.Application`, and `Fallout.Kernel`. **Consumers now reference a new thin `Fallout` meta-package** (successor to `Fallout.Common` — references every ring + carries the MSBuild integration `Fallout.props`/`.targets`, the MSBuildTasks output, and the source-generator analyzer); `dotnet fallout :setup`/`:update` target `Fallout`. **Package-ID migration**: replace `Fallout.Common` → `Fallout`; `Fallout.Build`/`.Components`/`.ProjectModel`/`.Tooling`/`.Solution`/`.Utilities*` → their ring names above. **TFMs**: dropped `net472` from `Fallout.MSBuildTasks` (Fallout is `dotnet build`-only); `Fallout.Domain` → `net10.0`; netstandard2.0 retained only on the Roslyn generators and the ring halves they consume (`Fallout.Application.Tooling`/`.Solutions`, `Fallout.Kernel*`, `Fallout.Build.Shared`); `Fallout.Infrastructure.ProjectModel` keeps `net8.0;net9.0;net10.0` (per-TFM Microsoft.Build SDK matching). The fitness gate now operates on ring-pure assemblies. The build's own `[ModuleInitializer]` force-loader now runs each `Fallout.*` assembly's module constructor (`RuntimeHelpers.RunModuleConstructor`), so the split-out Infrastructure adapters register deterministically. + - **Shim + migration redesign (the deferred `Nuke.*` strategy, now landed)**: a single canonical `Nuke ↔ Fallout` namespace map (`src/Shared/NukeNamespaceMap.cs`) drives both the transition shims (Fallout→Nuke re-exports) and the `fallout-migrate` rewriters (Nuke→Fallout), which the realignment had desynchronised (the migration was emitting dead `Fallout.Common.*` namespaces). **Shim packages collapse from 3 to 2**: `Nuke.Common` (now references the `Fallout` meta-package and re-exports every `Nuke.Common.*` sub-namespace — Tooling/Tools/CI/ProjectModel/Git/IO/Execution/ValueInjection/ChangeLog/Utilities — wherever the source type now lives across the rings) and `Nuke.Components`. **`Nuke.Build` is removed** (it was never a real NUKE consumer package — `NukeBuild` lives in `Nuke.Common`); consumers who referenced it migrate to `Fallout`. **The migration's package rewrite** maps the `Nuke.Common` package → the `Fallout` meta and `Nuke.Components` → `Fallout.Application.Components` (not a dead `Fallout.Common`/`Fallout.Components`). **`dotnet fallout` Cake migration support (`:cakeconvert`/`:cakeclean`) is dropped** entirely. - **Adopted calendar versioning (`YYYY.MINOR.PATCH`) + dual-pace channel model; retired the v11 numbering** ([ADR-0004](docs/adr/0004-calendar-versioning-and-dual-pace-channels.md)). Fallout now ships on calendar versions (`2026.0.0`, `2026.1.0`, …) — mechanically valid SemVer with the major equal to the calendar year. **Breaking changes are batched to the yearly major cut**; mid-year stable releases (`release/YYYY`) are strictly non-breaking. `main` becomes the published **edge** channel (date-stamped prereleases to GitHub Packages); the slow/stable track lives on `release/YYYY`. Opt-in unstable APIs are marked `[Experimental("FALLOUT0xx")]`. - **Migration / impact**: the `11.0.x` packages never shipped a clean stable release (all unlisted), so this strands no stable consumers. The headline content previously slated for "v11" now ships as **`2026.0.0`**. Any tooling pinned to a `[11.0,12.0)`-style range should retarget the `2026.x` line. - **Legacy unaffected**: the `release/v10` line stays on semver `10.x` and continues to receive security/critical fixes — v10 consumers do nothing. diff --git a/docs/adr/0006-onion-layering-and-namespace-realignment.md b/docs/adr/0006-onion-layering-and-namespace-realignment.md index 2e228fd22..a5a1c4154 100644 --- a/docs/adr/0006-onion-layering-and-namespace-realignment.md +++ b/docs/adr/0006-onion-layering-and-namespace-realignment.md @@ -98,6 +98,12 @@ Migration/shim strategy is redesigned after step 5, before the cut (deferred, ab - **Placement is dependency-driven, not namespace-driven.** Injection/extension attributes (`[Solution]`, `[Latest*]`, `[GitRepository]`, globbing attrs) and a few `ControlFlow`/`Configure`-coupled IO helpers (FtpTasks/HttpTasks) live in the `Fallout.Application` assembly despite their `Application.Solutions`/`Application.Tooling`/`Kernel.IO` namespaces — their base classes live there and the leaf ring projects are referenced *by* Application, so homing them in the leaves would cycle. Accepted residual: a handful of `Kernel.IO`-namespace files sit in the Application assembly (ring-safe — no Infra dependency; the gate stays green); a namespace-vs-assembly tidy-up is left for later. - **TFMs:** `net472` dropped (Fallout is `dotnet build`-only); `Fallout.Domain`→`net10.0`; `netstandard2.0` retained only on the Roslyn generators and the ring halves they consume; `Fallout.Infrastructure.ProjectModel` keeps `net8.0;net9.0;net10.0` (per-TFM Microsoft.Build pinning matches the evaluator to the SDK — load-bearing, not incidental). +- **2026-06-01 — `Nuke.*` shim + Migrate redesign (the deferred migration strategy, now resolved).** The realignment deliberately deferred the shim/migration rework "until the rings land" (above). Now landed: **one canonical `Nuke ↔ Fallout` namespace map** (`src/Shared/NukeNamespaceMap.cs`, linked into the generator + both migration projects) is the single source of truth for both directions — the transition-shim generator (Fallout→Nuke re-exports) and the `fallout-migrate` rewriters (Nuke→Fallout). This fixes the desync the onion caused (the migration's blind `Nuke.`→`Fallout.` swap had been producing dead `Fallout.Common.*` output). + - **The 1:1 shim-package↔Fallout-project mapping is abandoned** (it assumed `Nuke.Common`↔`Fallout.Common`, which dissolving `Fallout.Common` broke). Shim-package count now tracks **NUKE's real consumer packages**: `Nuke.Common` (references the `Fallout` meta and re-exports every `Nuke.Common.*` sub-namespace wherever the source type now lives across the rings) + `Nuke.Components`. **`Nuke.Build` is deleted** — never a real consumer package. + - **The generator is map-driven**: it emits the map rows whose `ShimPackage` equals the compiling assembly's name (replacing the per-assembly `[assembly: ShimAllPublicTypesUnder]` markers), with longest-Fallout-prefix-wins ownership so split namespaces (CI/ProjectModel/IO) don't double-emit. + - **Cake migration support is dropped** (low demand; the original author's feature). Nuke→Fallout is the supported migration; even that is kept deliberately lightweight given current demand. + - Validated by re-including the previously-excluded compat tests (`Nuke.Common.Shim.Tests`, `Nuke.Consumer`) — a pure NUKE consumer surface compiles through the 2 shims. **This closes the realignment**: the onion is structurally complete and NUKE-compat is restored. + ## References - Current-state map: see the structural survey summarized in the spike. diff --git a/docs/spikes/0003-onion-infrastructure-ring.md b/docs/spikes/0003-onion-infrastructure-ring.md index 3286349ec..f849fc02c 100644 --- a/docs/spikes/0003-onion-infrastructure-ring.md +++ b/docs/spikes/0003-onion-infrastructure-ring.md @@ -1,6 +1,7 @@ # Spike 0003 — Onion realignment: the Infrastructure ring (steps 3–5) -- **Status:** In progress — step 3, 4a, 4b + inversion, 5a, 5b, 5c done; 5d resolved-by-decision; **project-FILE renames + splits + meta-package DONE** (the whole onion is now `ring = project = namespace = assembly = package`). Remaining: only the `Nuke.*` shim/migration redesign, then ship. On branch `spike/onion-kernel` (stacked on `spike/onion-infrastructure`). +- **Status:** ✅ STRUCTURALLY COMPLETE. step 3, 4a, 4b + inversion, 5a, 5b, 5c done; 5d resolved-by-decision; project-FILE renames + splits + meta-package done; namespace residuals cleaned; **`Nuke.*` shim + Migrate redesign DONE** (the last deferred item). The whole onion is `ring = project = namespace = assembly = package`, and the NUKE-compat story (shims + migration) is rebuilt on a single canonical map. Remaining: only shipping the stack. On branch `spike/shim-migration-redesign` (stacked on `spike/onion-kernel`). +- **Shim + Migration redesign DONE (2026-06-01, branch `spike/shim-migration-redesign`):** one canonical **`src/Shared/NukeNamespaceMap.cs`** (Nuke↔Fallout namespace rows + a package-ID map) now drives BOTH halves, which the onion had desynchronised: the `TransitionShimGenerator` (Fallout→Nuke re-exports, map-driven by the compiling assembly's name, longest-prefix-wins) and the migration rewriters (`CodeRewriter`/`CsprojRewriter`/`NukeMigrationCodeFix`, Nuke→Fallout — previously a blind `Nuke.`→`Fallout.` swap that produced dead `Fallout.Common.*`). **Shim packages 3→2**: `Nuke.Common` (references the `Fallout` meta, re-exports every `Nuke.Common.*` sub-namespace wherever the source now lives) + `Nuke.Components`; **`Nuke.Build` deleted** (never a real NUKE consumer package). **Cake migration support dropped entirely** (low demand). Compat tests (`Nuke.Common.Shim.Tests`, `Nuke.Components.Shim.Tests`, `Nuke.Consumer`) re-included as the validation — a pure NUKE consumer surface compiles through the 2 shims. Full suite + dogfood `./build.sh Test` green. - **Project renames/splits DONE (6 phases, commits a5e85646 / df09f573 / 94d31883 / 01d4a670 / 3ed3a645 + this):** (1) pure renames `Fallout.Build`→`.Application`, `Components`→`.Application.Components`, `ProjectModel`→`.Infrastructure.ProjectModel`, `Utilities*`→`Kernel*`; (2) split `Tooling`→`Application.Tooling`+`Infrastructure.Tooling`; (3) split `Solution`→`Application.Solutions`+`Infrastructure.Solutions`; (4) dissolve `Fallout.Common`→`Application.Tools`+`Infrastructure.CI`+`Application`+`Kernel`, new thin **`Fallout` meta-package** as the consumer anchor (carries `Fallout.props`/`.targets`+MSBuildTasks+analyzer); (5) TFM cleanup (net472 dropped; Domain→net10.0; ProjectModel KEEPS net8/9/10 — per-TFM MSBuild SDK matching; ns2.0 only where Roslyn generators consume). **Linchpin fix:** `Assembly.Load` doesn't run `[ModuleInitializer]`s, so split-out adapter registration silently broke (null `ToolingServices`/`SolutionServices`, swallowed NRE — invisible to unit tests, caught by the dogfood build); `BuildManager.Initialize` now `RunModuleConstructor`s each Fallout.* assembly, the generator uses a `SolutionReader` direct-read, and test hosts force-run the adapter module ctors. Full suite (14 projects) + gate + dogfood `./build.sh Test` green throughout. - **Namespace residuals CLEANED (2026-06-01, commits 2f205744 + 2b289e08):** (1) the `Kernel.IO`-namespace files in the Application assembly (FtpTasks/HttpTasks/globbing attrs) → `Fallout.Application.IO` (namespace now matches assembly; the 20 genuine Kernel.IO types in Fallout.Kernel untouched). (2) the last surviving `Fallout.Common` namespace (`Constants`/`LegacyEnvironment` in Build.Shared) → `Fallout.Build.Shared`; a vestigial `Fallout.Common.FalloutBuild` stub in SourceGenerators deleted first so the namespace fully evacuated (75 dead usings dropped) + the starter template's dead `using Fallout.Common;` removed. **`Fallout.Common` no longer exists anywhere in shipped code** (only as Nuke→Fallout migration test DATA in Migrate fixtures). The onion is now truly `ring = project = namespace = assembly = package`. Only remaining onion work: the `Nuke.*` shim / Migrate redesign. - **Date:** 2026-05-31 (updated 2026-06-01) From aafbc14110217ea32cbce5181dc1289d0643b98c Mon Sep 17 00:00:00 2001 From: Chrison Simtian Date: Wed, 3 Jun 2026 17:27:06 +1200 Subject: [PATCH 45/46] fix: remove duplicate using Fallout.Kernel directives Leftover from the onion namespace rewrite. Clears CS0105 in Program.Complete, Program.Secrets, and ContextAwareTask. Co-Authored-By: Claude Opus 4.8 (1M context) --- src/Fallout.Cli/Program.Complete.cs | 1 - src/Fallout.Cli/Program.Secrets.cs | 1 - src/Fallout.MSBuildTasks/ContextAwareTask.cs | 1 - 3 files changed, 3 deletions(-) diff --git a/src/Fallout.Cli/Program.Complete.cs b/src/Fallout.Cli/Program.Complete.cs index fea119511..2f1f6447a 100644 --- a/src/Fallout.Cli/Program.Complete.cs +++ b/src/Fallout.Cli/Program.Complete.cs @@ -4,7 +4,6 @@ using Fallout.Kernel; using static Fallout.Build.Shared.Constants; using Fallout.Kernel.IO; -using Fallout.Kernel; using Fallout.Kernel.Text.Yaml; using Fallout.Build.Shared; diff --git a/src/Fallout.Cli/Program.Secrets.cs b/src/Fallout.Cli/Program.Secrets.cs index 84e5ab7f1..6a2b88be3 100644 --- a/src/Fallout.Cli/Program.Secrets.cs +++ b/src/Fallout.Cli/Program.Secrets.cs @@ -7,7 +7,6 @@ using static Fallout.Kernel.EncryptionUtility; using Fallout.Application; using Fallout.Application.Utilities; -using Fallout.Kernel; using Fallout.Kernel.IO; using Fallout.Kernel.Collections; using Fallout.Build.Shared; diff --git a/src/Fallout.MSBuildTasks/ContextAwareTask.cs b/src/Fallout.MSBuildTasks/ContextAwareTask.cs index 7d3d33288..2214eb318 100644 --- a/src/Fallout.MSBuildTasks/ContextAwareTask.cs +++ b/src/Fallout.MSBuildTasks/ContextAwareTask.cs @@ -7,7 +7,6 @@ using Fallout.Kernel; #if NETCOREAPP using System.Runtime.Loader; -using Fallout.Kernel; #endif namespace Fallout.MSBuildTasks; From 9e8712b98897e8a5e2a76aca05d495bf620042ba Mon Sep 17 00:00:00 2001 From: Chrison Simtian Date: Wed, 3 Jun 2026 17:27:25 +1200 Subject: [PATCH 46/46] refactor(tests): realign test projects to onion rings Test projects still used pre-onion names. Match them to the rings (project = namespace = ring). Renames: - Build.Tests -> Application.Tests - Components.Tests -> Application.Components.Tests - ProjectModel.Tests -> Infrastructure.ProjectModel.Tests - Utilities.Tests -> Kernel.Tests Splits (mirror the src split): - Common.Tests -> Application.Tools.Tests + Infrastructure.CI.Tests - Tooling.Tests -> Application.Tooling.Tests + Infrastructure.Tooling.Tests Solution.Tests -> Infrastructure.Solutions.Tests (rename, not split: one integration test, nothing infra-only to separate). Also updated to match: InternalsVisibleTo, test namespaces, fallout.slnx, hardcoded test paths, and the solution Verify snapshot. 463 tests pass, 0 fail. Co-Authored-By: Claude Opus 4.8 (1M context) --- AssemblyInfo.cs | 14 ++++++++------ fallout.slnx | 16 +++++++++------- ...Fallout.Application.Components.Tests.csproj} | 0 .../PublishPackageRouterTests.cs | 2 +- .../BuildExecutorTest.cs | 2 +- ...estGetCompletionItemsFromSchema.verified.txt | 0 ...etCompletionItemsParameterBuild.verified.txt | 0 ...stGetCompletionItemsTargetBuild.verified.txt | 0 .../CompletionUtilityTest.cs | 4 ++-- .../ControlFlowTest.cs | 2 +- .../DefaultInterfaceExecutionTest.cs | 2 +- .../ExecutableTargetFactoryTest.cs | 2 +- .../ExecutionPlannerTest.cs | 2 +- .../ExecutionTestsInitializer.cs | 2 +- .../Fallout.Application.Tests.csproj} | 0 .../GitRepositoryTest.cs | 2 +- .../HostInitializer.cs | 2 +- .../ParameterServiceTest.cs | 2 +- ...t.TestCustomParameterAttribute.verified.json | 0 ...hemaUtilityTest.TestEmptyBuild.verified.json | 0 ...UtilityTest.TestGetBuildSchema.verified.json | 0 ...UtilityTest.TestParameterBuild.verified.json | 0 ...emaUtilityTest.TestTargetBuild.verified.json | 0 .../SchemaUtilityTest.cs | 2 +- .../VerifyTestsInitializer.cs | 2 +- .../parameters.json | 0 .../ArgumentStringHandlerTest.cs | 2 +- .../Fallout.Application.Tooling.Tests.csproj | 11 +++++++++++ .../OptionsTest.TestSerialization.verified.txt | 0 .../OptionsTest.cs | 2 +- .../ToolOptionsArgumentsTest.cs | 2 +- .../ToolTasksLoggerTest.cs | 2 +- .../changelog_reference_1.0.0_variant_1.md | 0 ...gelog_reference_1.0.0_variant_1.verified.txt | 0 .../changelog_reference_1.0.0_variant_2.md | 0 ...gelog_reference_1.0.0_variant_2.verified.txt | 0 .../changelog_reference_1.0.0_variant_3.md | 0 ...gelog_reference_1.0.0_variant_3.verified.txt | 0 .../changelog_reference_1.0.0_variant_4.md | 0 ...gelog_reference_1.0.0_variant_4.verified.txt | 0 .../changelog_reference_1.0.0_variant_5.md | 0 ...gelog_reference_1.0.0_variant_5.verified.txt | 0 ...e_1.0.0_variant_5_section_0.2.3.verified.txt | 0 .../changelog_reference_NUKE_variant_1.md | 0 ...ngelog_reference_NUKE_variant_1.verified.txt | 0 .../changelog_reference_NUKE_variant_2.md | 0 ...ngelog_reference_NUKE_variant_2.verified.txt | 0 .../changelog_reference_invalid_variant_1.md | 0 .../changelog_reference_invalid_variant_2.md | 0 .../ChangelogTasksTest.cs | 4 ++-- .../Fallout.Application.Tools.Tests.csproj | 12 ++++++++++++ .../GitHubTasksTest.cs | 2 +- .../GitVersionParseTest.cs | 7 ++++++- .../SettingsTest.TestDiscord.verified.txt | 0 .../SettingsTest.cs | 2 +- .../VerifyTestsInitializer.cs | 2 +- .../ApplicationRingFitnessTests.cs | 2 +- ...ttribute=GitHubActionsAttribute.verified.txt | 0 ...ttribute=GitHubActionsAttribute.verified.txt | 0 ...ull_attribute=AppVeyorAttribute.verified.txt | 0 ...tribute=AzurePipelinesAttribute.verified.txt | 0 ...ribute=SpaceAutomationAttribute.verified.txt | 0 ...ull_attribute=TeamCityAttribute.verified.txt | 0 ...ttribute=GitHubActionsAttribute.verified.txt | 0 .../CI/ConfigurationGenerationTest.cs | 2 +- .../CI/ITestConfigurationGenerator.cs | 2 +- .../CI/TestAppVeyorAttribute.cs | 2 +- .../CI/TestAzurePipelinesAttribute.cs | 2 +- .../CI/TestGitHubActionsAttribute.cs | 2 +- .../CI/TestSpaceAutomationAttribute.cs | 2 +- .../CI/TestTeamCityAttribute.cs | 2 +- .../CITest.cs | 14 +++++++++++++- .../Fallout.Infrastructure.CI.Tests.csproj} | 5 ++--- .../VerifyTestsInitializer.cs | 17 +++++++++++++++++ ...ut.Infrastructure.ProjectModel.Tests.csproj} | 0 .../ModuleInit.cs | 2 +- .../ProjectModelTest.cs | 2 +- ...llout.Infrastructure.Solutions.Tests.csproj} | 0 .../ModuleInit.cs | 2 +- .../SolutionTest.cs | 2 +- ...Fallout.Infrastructure.Tooling.Tests.csproj} | 3 +-- .../NuGetPackageResolverTest.cs | 4 ++-- .../ToolTasksToolPathTest.cs | 2 +- .../ArgumentParserTest.cs | 2 +- .../Collections/DictionaryExtensionsTest.cs | 2 +- .../Collections/EnumerableExtensionsTest.cs | 2 +- .../Collections/LookupTableTest.cs | 2 +- .../EncryptionUtilityTest.cs | 2 +- .../EnvironmentInfoTest.cs | 2 +- .../Fallout.Kernel.Tests.csproj} | 0 .../IO/CompressionTasksTest.cs | 2 +- .../IO/FileSystemDependentTest.cs | 2 +- .../IO/MoveCopyTest.cs | 2 +- .../IO/PathConstructionTest.cs | 2 +- .../Reflection/ReflectionUtilityTest.cs | 2 +- .../Text/SerializationTest.cs | 2 +- .../Text/StringExtensionsTest.cs | 2 +- ...ionGeneratorTest.Test#Solution.g.verified.cs | 16 +++++++++------- 98 files changed, 139 insertions(+), 78 deletions(-) rename tests/{Fallout.Components.Tests/Fallout.Components.Tests.csproj => Fallout.Application.Components.Tests/Fallout.Application.Components.Tests.csproj} (100%) rename tests/{Fallout.Components.Tests => Fallout.Application.Components.Tests}/PublishPackageRouterTests.cs (97%) rename tests/{Fallout.Build.Tests => Fallout.Application.Tests}/BuildExecutorTest.cs (99%) rename tests/{Fallout.Build.Tests => Fallout.Application.Tests}/CompletionUtilityTest.TestGetCompletionItemsFromSchema.verified.txt (100%) rename tests/{Fallout.Build.Tests => Fallout.Application.Tests}/CompletionUtilityTest.TestGetCompletionItemsParameterBuild.verified.txt (100%) rename tests/{Fallout.Build.Tests => Fallout.Application.Tests}/CompletionUtilityTest.TestGetCompletionItemsTargetBuild.verified.txt (100%) rename tests/{Fallout.Build.Tests => Fallout.Application.Tests}/CompletionUtilityTest.cs (98%) rename tests/{Fallout.Build.Tests => Fallout.Application.Tests}/ControlFlowTest.cs (93%) rename tests/{Fallout.Build.Tests => Fallout.Application.Tests}/DefaultInterfaceExecutionTest.cs (99%) rename tests/{Fallout.Build.Tests => Fallout.Application.Tests}/ExecutableTargetFactoryTest.cs (99%) rename tests/{Fallout.Build.Tests => Fallout.Application.Tests}/ExecutionPlannerTest.cs (98%) rename tests/{Fallout.Build.Tests => Fallout.Application.Tests}/ExecutionTestsInitializer.cs (89%) rename tests/{Fallout.Build.Tests/Fallout.Build.Tests.csproj => Fallout.Application.Tests/Fallout.Application.Tests.csproj} (100%) rename tests/{Fallout.Build.Tests => Fallout.Application.Tests}/GitRepositoryTest.cs (98%) rename tests/{Fallout.Build.Tests => Fallout.Application.Tests}/HostInitializer.cs (92%) rename tests/{Fallout.Build.Tests => Fallout.Application.Tests}/ParameterServiceTest.cs (99%) rename tests/{Fallout.Build.Tests => Fallout.Application.Tests}/SchemaUtilityTest.TestCustomParameterAttribute.verified.json (100%) rename tests/{Fallout.Build.Tests => Fallout.Application.Tests}/SchemaUtilityTest.TestEmptyBuild.verified.json (100%) rename tests/{Fallout.Build.Tests => Fallout.Application.Tests}/SchemaUtilityTest.TestGetBuildSchema.verified.json (100%) rename tests/{Fallout.Build.Tests => Fallout.Application.Tests}/SchemaUtilityTest.TestParameterBuild.verified.json (100%) rename tests/{Fallout.Build.Tests => Fallout.Application.Tests}/SchemaUtilityTest.TestTargetBuild.verified.json (100%) rename tests/{Fallout.Build.Tests => Fallout.Application.Tests}/SchemaUtilityTest.cs (99%) rename tests/{Fallout.Build.Tests => Fallout.Application.Tests}/VerifyTestsInitializer.cs (91%) rename tests/{Fallout.Build.Tests => Fallout.Application.Tests}/parameters.json (100%) rename tests/{Fallout.Tooling.Tests => Fallout.Application.Tooling.Tests}/ArgumentStringHandlerTest.cs (98%) create mode 100644 tests/Fallout.Application.Tooling.Tests/Fallout.Application.Tooling.Tests.csproj rename tests/{Fallout.Tooling.Tests => Fallout.Application.Tooling.Tests}/OptionsTest.TestSerialization.verified.txt (100%) rename tests/{Fallout.Tooling.Tests => Fallout.Application.Tooling.Tests}/OptionsTest.cs (99%) rename tests/{Fallout.Tooling.Tests => Fallout.Application.Tooling.Tests}/ToolOptionsArgumentsTest.cs (99%) rename tests/{Fallout.Tooling.Tests => Fallout.Application.Tooling.Tests}/ToolTasksLoggerTest.cs (98%) rename tests/{Fallout.Common.Tests => Fallout.Application.Tools.Tests}/ChangelogReferenceFiles/changelog_reference_1.0.0_variant_1.md (100%) rename tests/{Fallout.Common.Tests => Fallout.Application.Tools.Tests}/ChangelogReferenceFiles/changelog_reference_1.0.0_variant_1.verified.txt (100%) rename tests/{Fallout.Common.Tests => Fallout.Application.Tools.Tests}/ChangelogReferenceFiles/changelog_reference_1.0.0_variant_2.md (100%) rename tests/{Fallout.Common.Tests => Fallout.Application.Tools.Tests}/ChangelogReferenceFiles/changelog_reference_1.0.0_variant_2.verified.txt (100%) rename tests/{Fallout.Common.Tests => Fallout.Application.Tools.Tests}/ChangelogReferenceFiles/changelog_reference_1.0.0_variant_3.md (100%) rename tests/{Fallout.Common.Tests => Fallout.Application.Tools.Tests}/ChangelogReferenceFiles/changelog_reference_1.0.0_variant_3.verified.txt (100%) rename tests/{Fallout.Common.Tests => Fallout.Application.Tools.Tests}/ChangelogReferenceFiles/changelog_reference_1.0.0_variant_4.md (100%) rename tests/{Fallout.Common.Tests => Fallout.Application.Tools.Tests}/ChangelogReferenceFiles/changelog_reference_1.0.0_variant_4.verified.txt (100%) rename tests/{Fallout.Common.Tests => Fallout.Application.Tools.Tests}/ChangelogReferenceFiles/changelog_reference_1.0.0_variant_5.md (100%) rename tests/{Fallout.Common.Tests => Fallout.Application.Tools.Tests}/ChangelogReferenceFiles/changelog_reference_1.0.0_variant_5.verified.txt (100%) rename tests/{Fallout.Common.Tests => Fallout.Application.Tools.Tests}/ChangelogReferenceFiles/changelog_reference_1.0.0_variant_5_section_0.2.3.verified.txt (100%) rename tests/{Fallout.Common.Tests => Fallout.Application.Tools.Tests}/ChangelogReferenceFiles/changelog_reference_NUKE_variant_1.md (100%) rename tests/{Fallout.Common.Tests => Fallout.Application.Tools.Tests}/ChangelogReferenceFiles/changelog_reference_NUKE_variant_1.verified.txt (100%) rename tests/{Fallout.Common.Tests => Fallout.Application.Tools.Tests}/ChangelogReferenceFiles/changelog_reference_NUKE_variant_2.md (100%) rename tests/{Fallout.Common.Tests => Fallout.Application.Tools.Tests}/ChangelogReferenceFiles/changelog_reference_NUKE_variant_2.verified.txt (100%) rename tests/{Fallout.Common.Tests => Fallout.Application.Tools.Tests}/ChangelogReferenceFiles/changelog_reference_invalid_variant_1.md (100%) rename tests/{Fallout.Common.Tests => Fallout.Application.Tools.Tests}/ChangelogReferenceFiles/changelog_reference_invalid_variant_2.md (100%) rename tests/{Fallout.Common.Tests => Fallout.Application.Tools.Tests}/ChangelogTasksTest.cs (96%) create mode 100644 tests/Fallout.Application.Tools.Tests/Fallout.Application.Tools.Tests.csproj rename tests/{Fallout.Common.Tests => Fallout.Application.Tools.Tests}/GitHubTasksTest.cs (98%) rename tests/{Fallout.Common.Tests => Fallout.Application.Tools.Tests}/GitVersionParseTest.cs (86%) rename tests/{Fallout.Common.Tests => Fallout.Application.Tools.Tests}/SettingsTest.TestDiscord.verified.txt (100%) rename tests/{Fallout.Common.Tests => Fallout.Application.Tools.Tests}/SettingsTest.cs (99%) rename tests/{Fallout.Common.Tests => Fallout.Application.Tools.Tests}/VerifyTestsInitializer.cs (90%) rename tests/{Fallout.Common.Tests => Fallout.Infrastructure.CI.Tests}/CI/ConfigurationGenerationTest.Test_testName=checkout-ref_attribute=GitHubActionsAttribute.verified.txt (100%) rename tests/{Fallout.Common.Tests => Fallout.Infrastructure.CI.Tests}/CI/ConfigurationGenerationTest.Test_testName=detailed-triggers_attribute=GitHubActionsAttribute.verified.txt (100%) rename tests/{Fallout.Common.Tests => Fallout.Infrastructure.CI.Tests}/CI/ConfigurationGenerationTest.Test_testName=null_attribute=AppVeyorAttribute.verified.txt (100%) rename tests/{Fallout.Common.Tests => Fallout.Infrastructure.CI.Tests}/CI/ConfigurationGenerationTest.Test_testName=null_attribute=AzurePipelinesAttribute.verified.txt (100%) rename tests/{Fallout.Common.Tests => Fallout.Infrastructure.CI.Tests}/CI/ConfigurationGenerationTest.Test_testName=null_attribute=SpaceAutomationAttribute.verified.txt (100%) rename tests/{Fallout.Common.Tests => Fallout.Infrastructure.CI.Tests}/CI/ConfigurationGenerationTest.Test_testName=null_attribute=TeamCityAttribute.verified.txt (100%) rename tests/{Fallout.Common.Tests => Fallout.Infrastructure.CI.Tests}/CI/ConfigurationGenerationTest.Test_testName=simple-triggers_attribute=GitHubActionsAttribute.verified.txt (100%) rename tests/{Fallout.Common.Tests => Fallout.Infrastructure.CI.Tests}/CI/ConfigurationGenerationTest.cs (99%) rename tests/{Fallout.Common.Tests => Fallout.Infrastructure.CI.Tests}/CI/ITestConfigurationGenerator.cs (81%) rename tests/{Fallout.Common.Tests => Fallout.Infrastructure.CI.Tests}/CI/TestAppVeyorAttribute.cs (91%) rename tests/{Fallout.Common.Tests => Fallout.Infrastructure.CI.Tests}/CI/TestAzurePipelinesAttribute.cs (91%) rename tests/{Fallout.Common.Tests => Fallout.Infrastructure.CI.Tests}/CI/TestGitHubActionsAttribute.cs (91%) rename tests/{Fallout.Common.Tests => Fallout.Infrastructure.CI.Tests}/CI/TestSpaceAutomationAttribute.cs (91%) rename tests/{Fallout.Common.Tests => Fallout.Infrastructure.CI.Tests}/CI/TestTeamCityAttribute.cs (87%) rename tests/{Fallout.Common.Tests => Fallout.Infrastructure.CI.Tests}/CITest.cs (84%) rename tests/{Fallout.Common.Tests/Fallout.Common.Tests.csproj => Fallout.Infrastructure.CI.Tests/Fallout.Infrastructure.CI.Tests.csproj} (79%) create mode 100644 tests/Fallout.Infrastructure.CI.Tests/VerifyTestsInitializer.cs rename tests/{Fallout.ProjectModel.Tests/Fallout.ProjectModel.Tests.csproj => Fallout.Infrastructure.ProjectModel.Tests/Fallout.Infrastructure.ProjectModel.Tests.csproj} (100%) rename tests/{Fallout.ProjectModel.Tests => Fallout.Infrastructure.ProjectModel.Tests}/ModuleInit.cs (95%) rename tests/{Fallout.ProjectModel.Tests => Fallout.Infrastructure.ProjectModel.Tests}/ProjectModelTest.cs (96%) rename tests/{Fallout.Solution.Tests/Fallout.Solution.Tests.csproj => Fallout.Infrastructure.Solutions.Tests/Fallout.Infrastructure.Solutions.Tests.csproj} (100%) rename tests/{Fallout.Solution.Tests => Fallout.Infrastructure.Solutions.Tests}/ModuleInit.cs (93%) rename tests/{Fallout.Solution.Tests => Fallout.Infrastructure.Solutions.Tests}/SolutionTest.cs (95%) rename tests/{Fallout.Tooling.Tests/Fallout.Tooling.Tests.csproj => Fallout.Infrastructure.Tooling.Tests/Fallout.Infrastructure.Tooling.Tests.csproj} (93%) rename tests/{Fallout.Tooling.Tests => Fallout.Infrastructure.Tooling.Tests}/NuGetPackageResolverTest.cs (95%) rename tests/{Fallout.Tooling.Tests => Fallout.Infrastructure.Tooling.Tests}/ToolTasksToolPathTest.cs (97%) rename tests/{Fallout.Utilities.Tests => Fallout.Kernel.Tests}/ArgumentParserTest.cs (99%) rename tests/{Fallout.Utilities.Tests => Fallout.Kernel.Tests}/Collections/DictionaryExtensionsTest.cs (93%) rename tests/{Fallout.Utilities.Tests => Fallout.Kernel.Tests}/Collections/EnumerableExtensionsTest.cs (95%) rename tests/{Fallout.Utilities.Tests => Fallout.Kernel.Tests}/Collections/LookupTableTest.cs (97%) rename tests/{Fallout.Utilities.Tests => Fallout.Kernel.Tests}/EncryptionUtilityTest.cs (99%) rename tests/{Fallout.Utilities.Tests => Fallout.Kernel.Tests}/EnvironmentInfoTest.cs (92%) rename tests/{Fallout.Utilities.Tests/Fallout.Utilities.Tests.csproj => Fallout.Kernel.Tests/Fallout.Kernel.Tests.csproj} (100%) rename tests/{Fallout.Utilities.Tests => Fallout.Kernel.Tests}/IO/CompressionTasksTest.cs (97%) rename tests/{Fallout.Utilities.Tests => Fallout.Kernel.Tests}/IO/FileSystemDependentTest.cs (97%) rename tests/{Fallout.Utilities.Tests => Fallout.Kernel.Tests}/IO/MoveCopyTest.cs (99%) rename tests/{Fallout.Utilities.Tests => Fallout.Kernel.Tests}/IO/PathConstructionTest.cs (99%) rename tests/{Fallout.Utilities.Tests => Fallout.Kernel.Tests}/Reflection/ReflectionUtilityTest.cs (98%) rename tests/{Fallout.Utilities.Tests => Fallout.Kernel.Tests}/Text/SerializationTest.cs (97%) rename tests/{Fallout.Utilities.Tests => Fallout.Kernel.Tests}/Text/StringExtensionsTest.cs (98%) diff --git a/AssemblyInfo.cs b/AssemblyInfo.cs index 705eae856..106705c2b 100644 --- a/AssemblyInfo.cs +++ b/AssemblyInfo.cs @@ -2,24 +2,26 @@ [assembly: InternalsVisibleTo("Fallout.Application")] [assembly: InternalsVisibleTo("Fallout.Build.Shared")] -[assembly: InternalsVisibleTo("Fallout.Build.Tests")] +[assembly: InternalsVisibleTo("Fallout.Application.Tests")] [assembly: InternalsVisibleTo("Fallout.Application.Tools")] [assembly: InternalsVisibleTo("Fallout.Infrastructure.CI")] -[assembly: InternalsVisibleTo("Fallout.Common.Tests")] +[assembly: InternalsVisibleTo("Fallout.Application.Tools.Tests")] +[assembly: InternalsVisibleTo("Fallout.Infrastructure.CI.Tests")] [assembly: InternalsVisibleTo("Fallout.Cli")] [assembly: InternalsVisibleTo("Fallout.Cli.Tests")] -[assembly: InternalsVisibleTo("Fallout.ProjectModel.Tests")] +[assembly: InternalsVisibleTo("Fallout.Infrastructure.ProjectModel.Tests")] [assembly: InternalsVisibleTo("Fallout.SourceGenerators")] [assembly: InternalsVisibleTo("Fallout.Application.Solutions")] [assembly: InternalsVisibleTo("Fallout.Infrastructure.Solutions")] -[assembly: InternalsVisibleTo("Fallout.Solution.Tests")] +[assembly: InternalsVisibleTo("Fallout.Infrastructure.Solutions.Tests")] [assembly: InternalsVisibleTo("Fallout.Persistence.Solution")] [assembly: InternalsVisibleTo("Fallout.Persistence.Solution.Tests")] [assembly: InternalsVisibleTo("Fallout.Application.Tooling")] [assembly: InternalsVisibleTo("Fallout.Infrastructure.Tooling")] -[assembly: InternalsVisibleTo("Fallout.Tooling.Tests")] +[assembly: InternalsVisibleTo("Fallout.Application.Tooling.Tests")] +[assembly: InternalsVisibleTo("Fallout.Infrastructure.Tooling.Tests")] [assembly: InternalsVisibleTo("Fallout.Kernel.IO.Globbing")] -[assembly: InternalsVisibleTo("Fallout.Utilities.Tests")] +[assembly: InternalsVisibleTo("Fallout.Kernel.Tests")] // External extensions — kept as Nuke.* until those projects rebrand independently. [assembly: InternalsVisibleTo("Nuke.VisualStudio")] diff --git a/fallout.slnx b/fallout.slnx index 9c3ce2e60..55538988d 100644 --- a/fallout.slnx +++ b/fallout.slnx @@ -38,9 +38,10 @@ - - - + + + + @@ -50,14 +51,15 @@ consumers still compile against the consolidated shims. --> - - + + + + - - + diff --git a/tests/Fallout.Components.Tests/Fallout.Components.Tests.csproj b/tests/Fallout.Application.Components.Tests/Fallout.Application.Components.Tests.csproj similarity index 100% rename from tests/Fallout.Components.Tests/Fallout.Components.Tests.csproj rename to tests/Fallout.Application.Components.Tests/Fallout.Application.Components.Tests.csproj diff --git a/tests/Fallout.Components.Tests/PublishPackageRouterTests.cs b/tests/Fallout.Application.Components.Tests/PublishPackageRouterTests.cs similarity index 97% rename from tests/Fallout.Components.Tests/PublishPackageRouterTests.cs rename to tests/Fallout.Application.Components.Tests/PublishPackageRouterTests.cs index 0bd891e55..ddf805461 100644 --- a/tests/Fallout.Components.Tests/PublishPackageRouterTests.cs +++ b/tests/Fallout.Application.Components.Tests/PublishPackageRouterTests.cs @@ -2,7 +2,7 @@ using Xunit; using Fallout.Application.Components; -namespace Fallout.Components.Tests; +namespace Fallout.Application.Components.Tests; public class PublishPackageRouterTests { diff --git a/tests/Fallout.Build.Tests/BuildExecutorTest.cs b/tests/Fallout.Application.Tests/BuildExecutorTest.cs similarity index 99% rename from tests/Fallout.Build.Tests/BuildExecutorTest.cs rename to tests/Fallout.Application.Tests/BuildExecutorTest.cs index 6d70716ff..19e3a921f 100644 --- a/tests/Fallout.Build.Tests/BuildExecutorTest.cs +++ b/tests/Fallout.Application.Tests/BuildExecutorTest.cs @@ -7,7 +7,7 @@ using Fallout.Application; using Fallout.Kernel.Collections; -namespace Fallout.Common.Tests.Execution; +namespace Fallout.Application.Tests.Execution; public class BuildExecutorTest { diff --git a/tests/Fallout.Build.Tests/CompletionUtilityTest.TestGetCompletionItemsFromSchema.verified.txt b/tests/Fallout.Application.Tests/CompletionUtilityTest.TestGetCompletionItemsFromSchema.verified.txt similarity index 100% rename from tests/Fallout.Build.Tests/CompletionUtilityTest.TestGetCompletionItemsFromSchema.verified.txt rename to tests/Fallout.Application.Tests/CompletionUtilityTest.TestGetCompletionItemsFromSchema.verified.txt diff --git a/tests/Fallout.Build.Tests/CompletionUtilityTest.TestGetCompletionItemsParameterBuild.verified.txt b/tests/Fallout.Application.Tests/CompletionUtilityTest.TestGetCompletionItemsParameterBuild.verified.txt similarity index 100% rename from tests/Fallout.Build.Tests/CompletionUtilityTest.TestGetCompletionItemsParameterBuild.verified.txt rename to tests/Fallout.Application.Tests/CompletionUtilityTest.TestGetCompletionItemsParameterBuild.verified.txt diff --git a/tests/Fallout.Build.Tests/CompletionUtilityTest.TestGetCompletionItemsTargetBuild.verified.txt b/tests/Fallout.Application.Tests/CompletionUtilityTest.TestGetCompletionItemsTargetBuild.verified.txt similarity index 100% rename from tests/Fallout.Build.Tests/CompletionUtilityTest.TestGetCompletionItemsTargetBuild.verified.txt rename to tests/Fallout.Application.Tests/CompletionUtilityTest.TestGetCompletionItemsTargetBuild.verified.txt diff --git a/tests/Fallout.Build.Tests/CompletionUtilityTest.cs b/tests/Fallout.Application.Tests/CompletionUtilityTest.cs similarity index 98% rename from tests/Fallout.Build.Tests/CompletionUtilityTest.cs rename to tests/Fallout.Application.Tests/CompletionUtilityTest.cs index da0490151..7161dd023 100644 --- a/tests/Fallout.Build.Tests/CompletionUtilityTest.cs +++ b/tests/Fallout.Application.Tests/CompletionUtilityTest.cs @@ -11,13 +11,13 @@ using Fallout.Kernel.IO; using Fallout.Build.Shared; -namespace Fallout.Common.Tests; +namespace Fallout.Application.Tests; public class CompletionUtilityTest { private readonly VerifySettings _verifySettings; private static AbsolutePath RootDirectory => Constants.TryGetRootDirectoryFrom(EnvironmentInfo.WorkingDirectory).NotNull(); - private static AbsolutePath TestDirectory => RootDirectory / "tests" / "Fallout.Build.Tests"; + private static AbsolutePath TestDirectory => RootDirectory / "tests" / "Fallout.Application.Tests"; public CompletionUtilityTest() { diff --git a/tests/Fallout.Build.Tests/ControlFlowTest.cs b/tests/Fallout.Application.Tests/ControlFlowTest.cs similarity index 93% rename from tests/Fallout.Build.Tests/ControlFlowTest.cs rename to tests/Fallout.Application.Tests/ControlFlowTest.cs index b87dceb23..f66ad42a1 100644 --- a/tests/Fallout.Build.Tests/ControlFlowTest.cs +++ b/tests/Fallout.Application.Tests/ControlFlowTest.cs @@ -6,7 +6,7 @@ // ReSharper disable ArgumentsStyleLiteral -namespace Fallout.Common.Tests; +namespace Fallout.Application.Tests; public class ControlFlowTest { diff --git a/tests/Fallout.Build.Tests/DefaultInterfaceExecutionTest.cs b/tests/Fallout.Application.Tests/DefaultInterfaceExecutionTest.cs similarity index 99% rename from tests/Fallout.Build.Tests/DefaultInterfaceExecutionTest.cs rename to tests/Fallout.Application.Tests/DefaultInterfaceExecutionTest.cs index 00a54bf77..f76dcd33e 100644 --- a/tests/Fallout.Build.Tests/DefaultInterfaceExecutionTest.cs +++ b/tests/Fallout.Application.Tests/DefaultInterfaceExecutionTest.cs @@ -7,7 +7,7 @@ using Fallout.Application; using Fallout.Kernel; -namespace Fallout.Common.Tests.Execution; +namespace Fallout.Application.Tests.Execution; public class DefaultInterfaceExecutionTest { diff --git a/tests/Fallout.Build.Tests/ExecutableTargetFactoryTest.cs b/tests/Fallout.Application.Tests/ExecutableTargetFactoryTest.cs similarity index 99% rename from tests/Fallout.Build.Tests/ExecutableTargetFactoryTest.cs rename to tests/Fallout.Application.Tests/ExecutableTargetFactoryTest.cs index 974bdb618..305c92092 100644 --- a/tests/Fallout.Build.Tests/ExecutableTargetFactoryTest.cs +++ b/tests/Fallout.Application.Tests/ExecutableTargetFactoryTest.cs @@ -6,7 +6,7 @@ using Fallout.Application.Execution; using Fallout.Application; -namespace Fallout.Common.Tests.Execution; +namespace Fallout.Application.Tests.Execution; public class ExecutableTargetFactoryTest { diff --git a/tests/Fallout.Build.Tests/ExecutionPlannerTest.cs b/tests/Fallout.Application.Tests/ExecutionPlannerTest.cs similarity index 98% rename from tests/Fallout.Build.Tests/ExecutionPlannerTest.cs rename to tests/Fallout.Application.Tests/ExecutionPlannerTest.cs index 9c4d6ee98..70053cf72 100644 --- a/tests/Fallout.Build.Tests/ExecutionPlannerTest.cs +++ b/tests/Fallout.Application.Tests/ExecutionPlannerTest.cs @@ -5,7 +5,7 @@ using Xunit; using Fallout.Application.Execution; -namespace Fallout.Common.Tests.Execution; +namespace Fallout.Application.Tests.Execution; public class ExecutionPlannerTest { diff --git a/tests/Fallout.Build.Tests/ExecutionTestsInitializer.cs b/tests/Fallout.Application.Tests/ExecutionTestsInitializer.cs similarity index 89% rename from tests/Fallout.Build.Tests/ExecutionTestsInitializer.cs rename to tests/Fallout.Application.Tests/ExecutionTestsInitializer.cs index b8ba0e5a1..c29a9d765 100644 --- a/tests/Fallout.Build.Tests/ExecutionTestsInitializer.cs +++ b/tests/Fallout.Application.Tests/ExecutionTestsInitializer.cs @@ -3,7 +3,7 @@ using System.Runtime.CompilerServices; using Fallout.Application.Execution; -namespace Fallout.Common.Tests; +namespace Fallout.Application.Tests; public static class ExecutionTestsInitializer { diff --git a/tests/Fallout.Build.Tests/Fallout.Build.Tests.csproj b/tests/Fallout.Application.Tests/Fallout.Application.Tests.csproj similarity index 100% rename from tests/Fallout.Build.Tests/Fallout.Build.Tests.csproj rename to tests/Fallout.Application.Tests/Fallout.Application.Tests.csproj diff --git a/tests/Fallout.Build.Tests/GitRepositoryTest.cs b/tests/Fallout.Application.Tests/GitRepositoryTest.cs similarity index 98% rename from tests/Fallout.Build.Tests/GitRepositoryTest.cs rename to tests/Fallout.Application.Tests/GitRepositoryTest.cs index e01200cdf..4c15fd640 100644 --- a/tests/Fallout.Build.Tests/GitRepositoryTest.cs +++ b/tests/Fallout.Application.Tests/GitRepositoryTest.cs @@ -6,7 +6,7 @@ using Fallout.Application.Git; using Fallout.Kernel; -namespace Fallout.Common.Tests; +namespace Fallout.Application.Tests; public class GitRepositoryTest { diff --git a/tests/Fallout.Build.Tests/HostInitializer.cs b/tests/Fallout.Application.Tests/HostInitializer.cs similarity index 92% rename from tests/Fallout.Build.Tests/HostInitializer.cs rename to tests/Fallout.Application.Tests/HostInitializer.cs index dfad46556..802963a0d 100644 --- a/tests/Fallout.Build.Tests/HostInitializer.cs +++ b/tests/Fallout.Application.Tests/HostInitializer.cs @@ -4,7 +4,7 @@ using Fallout.Application; using Fallout.Kernel; -namespace Fallout.Common.Tests; +namespace Fallout.Application.Tests; public static class HostInitializer { diff --git a/tests/Fallout.Build.Tests/ParameterServiceTest.cs b/tests/Fallout.Application.Tests/ParameterServiceTest.cs similarity index 99% rename from tests/Fallout.Build.Tests/ParameterServiceTest.cs rename to tests/Fallout.Application.Tests/ParameterServiceTest.cs index 02559e71a..02c2a476a 100644 --- a/tests/Fallout.Build.Tests/ParameterServiceTest.cs +++ b/tests/Fallout.Application.Tests/ParameterServiceTest.cs @@ -8,7 +8,7 @@ using Fallout.Kernel; using Fallout.Kernel.IO; -namespace Fallout.Common.Tests; +namespace Fallout.Application.Tests; public class ParameterServiceTest { diff --git a/tests/Fallout.Build.Tests/SchemaUtilityTest.TestCustomParameterAttribute.verified.json b/tests/Fallout.Application.Tests/SchemaUtilityTest.TestCustomParameterAttribute.verified.json similarity index 100% rename from tests/Fallout.Build.Tests/SchemaUtilityTest.TestCustomParameterAttribute.verified.json rename to tests/Fallout.Application.Tests/SchemaUtilityTest.TestCustomParameterAttribute.verified.json diff --git a/tests/Fallout.Build.Tests/SchemaUtilityTest.TestEmptyBuild.verified.json b/tests/Fallout.Application.Tests/SchemaUtilityTest.TestEmptyBuild.verified.json similarity index 100% rename from tests/Fallout.Build.Tests/SchemaUtilityTest.TestEmptyBuild.verified.json rename to tests/Fallout.Application.Tests/SchemaUtilityTest.TestEmptyBuild.verified.json diff --git a/tests/Fallout.Build.Tests/SchemaUtilityTest.TestGetBuildSchema.verified.json b/tests/Fallout.Application.Tests/SchemaUtilityTest.TestGetBuildSchema.verified.json similarity index 100% rename from tests/Fallout.Build.Tests/SchemaUtilityTest.TestGetBuildSchema.verified.json rename to tests/Fallout.Application.Tests/SchemaUtilityTest.TestGetBuildSchema.verified.json diff --git a/tests/Fallout.Build.Tests/SchemaUtilityTest.TestParameterBuild.verified.json b/tests/Fallout.Application.Tests/SchemaUtilityTest.TestParameterBuild.verified.json similarity index 100% rename from tests/Fallout.Build.Tests/SchemaUtilityTest.TestParameterBuild.verified.json rename to tests/Fallout.Application.Tests/SchemaUtilityTest.TestParameterBuild.verified.json diff --git a/tests/Fallout.Build.Tests/SchemaUtilityTest.TestTargetBuild.verified.json b/tests/Fallout.Application.Tests/SchemaUtilityTest.TestTargetBuild.verified.json similarity index 100% rename from tests/Fallout.Build.Tests/SchemaUtilityTest.TestTargetBuild.verified.json rename to tests/Fallout.Application.Tests/SchemaUtilityTest.TestTargetBuild.verified.json diff --git a/tests/Fallout.Build.Tests/SchemaUtilityTest.cs b/tests/Fallout.Application.Tests/SchemaUtilityTest.cs similarity index 99% rename from tests/Fallout.Build.Tests/SchemaUtilityTest.cs rename to tests/Fallout.Application.Tests/SchemaUtilityTest.cs index 309e45202..c84af206e 100644 --- a/tests/Fallout.Build.Tests/SchemaUtilityTest.cs +++ b/tests/Fallout.Application.Tests/SchemaUtilityTest.cs @@ -12,7 +12,7 @@ #pragma warning disable CS0169 // Field is never used -namespace Fallout.Common.Tests; +namespace Fallout.Application.Tests; public class SchemaUtilityTest { diff --git a/tests/Fallout.Build.Tests/VerifyTestsInitializer.cs b/tests/Fallout.Application.Tests/VerifyTestsInitializer.cs similarity index 91% rename from tests/Fallout.Build.Tests/VerifyTestsInitializer.cs rename to tests/Fallout.Application.Tests/VerifyTestsInitializer.cs index 661d4b232..c312e82e0 100644 --- a/tests/Fallout.Build.Tests/VerifyTestsInitializer.cs +++ b/tests/Fallout.Application.Tests/VerifyTestsInitializer.cs @@ -3,7 +3,7 @@ using System.Runtime.CompilerServices; using VerifyTests; -namespace Fallout.Common.Tests; +namespace Fallout.Application.Tests; public static class VerifyTestsInitializer { diff --git a/tests/Fallout.Build.Tests/parameters.json b/tests/Fallout.Application.Tests/parameters.json similarity index 100% rename from tests/Fallout.Build.Tests/parameters.json rename to tests/Fallout.Application.Tests/parameters.json diff --git a/tests/Fallout.Tooling.Tests/ArgumentStringHandlerTest.cs b/tests/Fallout.Application.Tooling.Tests/ArgumentStringHandlerTest.cs similarity index 98% rename from tests/Fallout.Tooling.Tests/ArgumentStringHandlerTest.cs rename to tests/Fallout.Application.Tooling.Tests/ArgumentStringHandlerTest.cs index 730483238..413679689 100644 --- a/tests/Fallout.Tooling.Tests/ArgumentStringHandlerTest.cs +++ b/tests/Fallout.Application.Tooling.Tests/ArgumentStringHandlerTest.cs @@ -5,7 +5,7 @@ // ReSharper disable StringLiteralAsInterpolationArgument -namespace Fallout.Common.Tests; +namespace Fallout.Application.Tooling.Tests; public class ArgumentStringHandlerTest { diff --git a/tests/Fallout.Application.Tooling.Tests/Fallout.Application.Tooling.Tests.csproj b/tests/Fallout.Application.Tooling.Tests/Fallout.Application.Tooling.Tests.csproj new file mode 100644 index 000000000..46ccc30ac --- /dev/null +++ b/tests/Fallout.Application.Tooling.Tests/Fallout.Application.Tooling.Tests.csproj @@ -0,0 +1,11 @@ + + + + net10.0 + + + + + + + diff --git a/tests/Fallout.Tooling.Tests/OptionsTest.TestSerialization.verified.txt b/tests/Fallout.Application.Tooling.Tests/OptionsTest.TestSerialization.verified.txt similarity index 100% rename from tests/Fallout.Tooling.Tests/OptionsTest.TestSerialization.verified.txt rename to tests/Fallout.Application.Tooling.Tests/OptionsTest.TestSerialization.verified.txt diff --git a/tests/Fallout.Tooling.Tests/OptionsTest.cs b/tests/Fallout.Application.Tooling.Tests/OptionsTest.cs similarity index 99% rename from tests/Fallout.Tooling.Tests/OptionsTest.cs rename to tests/Fallout.Application.Tooling.Tests/OptionsTest.cs index a40326368..c3bfd9a10 100644 --- a/tests/Fallout.Tooling.Tests/OptionsTest.cs +++ b/tests/Fallout.Application.Tooling.Tests/OptionsTest.cs @@ -12,7 +12,7 @@ using Fallout.Application.Tooling; using Fallout.Kernel.Collections; -namespace Fallout.Common.Tests; +namespace Fallout.Application.Tooling.Tests; public class OptionsTest { diff --git a/tests/Fallout.Tooling.Tests/ToolOptionsArgumentsTest.cs b/tests/Fallout.Application.Tooling.Tests/ToolOptionsArgumentsTest.cs similarity index 99% rename from tests/Fallout.Tooling.Tests/ToolOptionsArgumentsTest.cs rename to tests/Fallout.Application.Tooling.Tests/ToolOptionsArgumentsTest.cs index b2c1a0bb9..c5fe2406e 100644 --- a/tests/Fallout.Tooling.Tests/ToolOptionsArgumentsTest.cs +++ b/tests/Fallout.Application.Tooling.Tests/ToolOptionsArgumentsTest.cs @@ -11,7 +11,7 @@ using Fallout.Application.Tooling; using Fallout.Kernel.Collections; -namespace Fallout.Common.Tests; +namespace Fallout.Application.Tooling.Tests; public class ToolOptionsArgumentsTest { diff --git a/tests/Fallout.Tooling.Tests/ToolTasksLoggerTest.cs b/tests/Fallout.Application.Tooling.Tests/ToolTasksLoggerTest.cs similarity index 98% rename from tests/Fallout.Tooling.Tests/ToolTasksLoggerTest.cs rename to tests/Fallout.Application.Tooling.Tests/ToolTasksLoggerTest.cs index dea5e95e8..ef5a3c9ed 100644 --- a/tests/Fallout.Tooling.Tests/ToolTasksLoggerTest.cs +++ b/tests/Fallout.Application.Tooling.Tests/ToolTasksLoggerTest.cs @@ -8,7 +8,7 @@ using Xunit; using Fallout.Application.Tooling; -namespace Fallout.Common.Tests; +namespace Fallout.Application.Tooling.Tests; public class ToolTasksLoggerTest { diff --git a/tests/Fallout.Common.Tests/ChangelogReferenceFiles/changelog_reference_1.0.0_variant_1.md b/tests/Fallout.Application.Tools.Tests/ChangelogReferenceFiles/changelog_reference_1.0.0_variant_1.md similarity index 100% rename from tests/Fallout.Common.Tests/ChangelogReferenceFiles/changelog_reference_1.0.0_variant_1.md rename to tests/Fallout.Application.Tools.Tests/ChangelogReferenceFiles/changelog_reference_1.0.0_variant_1.md diff --git a/tests/Fallout.Common.Tests/ChangelogReferenceFiles/changelog_reference_1.0.0_variant_1.verified.txt b/tests/Fallout.Application.Tools.Tests/ChangelogReferenceFiles/changelog_reference_1.0.0_variant_1.verified.txt similarity index 100% rename from tests/Fallout.Common.Tests/ChangelogReferenceFiles/changelog_reference_1.0.0_variant_1.verified.txt rename to tests/Fallout.Application.Tools.Tests/ChangelogReferenceFiles/changelog_reference_1.0.0_variant_1.verified.txt diff --git a/tests/Fallout.Common.Tests/ChangelogReferenceFiles/changelog_reference_1.0.0_variant_2.md b/tests/Fallout.Application.Tools.Tests/ChangelogReferenceFiles/changelog_reference_1.0.0_variant_2.md similarity index 100% rename from tests/Fallout.Common.Tests/ChangelogReferenceFiles/changelog_reference_1.0.0_variant_2.md rename to tests/Fallout.Application.Tools.Tests/ChangelogReferenceFiles/changelog_reference_1.0.0_variant_2.md diff --git a/tests/Fallout.Common.Tests/ChangelogReferenceFiles/changelog_reference_1.0.0_variant_2.verified.txt b/tests/Fallout.Application.Tools.Tests/ChangelogReferenceFiles/changelog_reference_1.0.0_variant_2.verified.txt similarity index 100% rename from tests/Fallout.Common.Tests/ChangelogReferenceFiles/changelog_reference_1.0.0_variant_2.verified.txt rename to tests/Fallout.Application.Tools.Tests/ChangelogReferenceFiles/changelog_reference_1.0.0_variant_2.verified.txt diff --git a/tests/Fallout.Common.Tests/ChangelogReferenceFiles/changelog_reference_1.0.0_variant_3.md b/tests/Fallout.Application.Tools.Tests/ChangelogReferenceFiles/changelog_reference_1.0.0_variant_3.md similarity index 100% rename from tests/Fallout.Common.Tests/ChangelogReferenceFiles/changelog_reference_1.0.0_variant_3.md rename to tests/Fallout.Application.Tools.Tests/ChangelogReferenceFiles/changelog_reference_1.0.0_variant_3.md diff --git a/tests/Fallout.Common.Tests/ChangelogReferenceFiles/changelog_reference_1.0.0_variant_3.verified.txt b/tests/Fallout.Application.Tools.Tests/ChangelogReferenceFiles/changelog_reference_1.0.0_variant_3.verified.txt similarity index 100% rename from tests/Fallout.Common.Tests/ChangelogReferenceFiles/changelog_reference_1.0.0_variant_3.verified.txt rename to tests/Fallout.Application.Tools.Tests/ChangelogReferenceFiles/changelog_reference_1.0.0_variant_3.verified.txt diff --git a/tests/Fallout.Common.Tests/ChangelogReferenceFiles/changelog_reference_1.0.0_variant_4.md b/tests/Fallout.Application.Tools.Tests/ChangelogReferenceFiles/changelog_reference_1.0.0_variant_4.md similarity index 100% rename from tests/Fallout.Common.Tests/ChangelogReferenceFiles/changelog_reference_1.0.0_variant_4.md rename to tests/Fallout.Application.Tools.Tests/ChangelogReferenceFiles/changelog_reference_1.0.0_variant_4.md diff --git a/tests/Fallout.Common.Tests/ChangelogReferenceFiles/changelog_reference_1.0.0_variant_4.verified.txt b/tests/Fallout.Application.Tools.Tests/ChangelogReferenceFiles/changelog_reference_1.0.0_variant_4.verified.txt similarity index 100% rename from tests/Fallout.Common.Tests/ChangelogReferenceFiles/changelog_reference_1.0.0_variant_4.verified.txt rename to tests/Fallout.Application.Tools.Tests/ChangelogReferenceFiles/changelog_reference_1.0.0_variant_4.verified.txt diff --git a/tests/Fallout.Common.Tests/ChangelogReferenceFiles/changelog_reference_1.0.0_variant_5.md b/tests/Fallout.Application.Tools.Tests/ChangelogReferenceFiles/changelog_reference_1.0.0_variant_5.md similarity index 100% rename from tests/Fallout.Common.Tests/ChangelogReferenceFiles/changelog_reference_1.0.0_variant_5.md rename to tests/Fallout.Application.Tools.Tests/ChangelogReferenceFiles/changelog_reference_1.0.0_variant_5.md diff --git a/tests/Fallout.Common.Tests/ChangelogReferenceFiles/changelog_reference_1.0.0_variant_5.verified.txt b/tests/Fallout.Application.Tools.Tests/ChangelogReferenceFiles/changelog_reference_1.0.0_variant_5.verified.txt similarity index 100% rename from tests/Fallout.Common.Tests/ChangelogReferenceFiles/changelog_reference_1.0.0_variant_5.verified.txt rename to tests/Fallout.Application.Tools.Tests/ChangelogReferenceFiles/changelog_reference_1.0.0_variant_5.verified.txt diff --git a/tests/Fallout.Common.Tests/ChangelogReferenceFiles/changelog_reference_1.0.0_variant_5_section_0.2.3.verified.txt b/tests/Fallout.Application.Tools.Tests/ChangelogReferenceFiles/changelog_reference_1.0.0_variant_5_section_0.2.3.verified.txt similarity index 100% rename from tests/Fallout.Common.Tests/ChangelogReferenceFiles/changelog_reference_1.0.0_variant_5_section_0.2.3.verified.txt rename to tests/Fallout.Application.Tools.Tests/ChangelogReferenceFiles/changelog_reference_1.0.0_variant_5_section_0.2.3.verified.txt diff --git a/tests/Fallout.Common.Tests/ChangelogReferenceFiles/changelog_reference_NUKE_variant_1.md b/tests/Fallout.Application.Tools.Tests/ChangelogReferenceFiles/changelog_reference_NUKE_variant_1.md similarity index 100% rename from tests/Fallout.Common.Tests/ChangelogReferenceFiles/changelog_reference_NUKE_variant_1.md rename to tests/Fallout.Application.Tools.Tests/ChangelogReferenceFiles/changelog_reference_NUKE_variant_1.md diff --git a/tests/Fallout.Common.Tests/ChangelogReferenceFiles/changelog_reference_NUKE_variant_1.verified.txt b/tests/Fallout.Application.Tools.Tests/ChangelogReferenceFiles/changelog_reference_NUKE_variant_1.verified.txt similarity index 100% rename from tests/Fallout.Common.Tests/ChangelogReferenceFiles/changelog_reference_NUKE_variant_1.verified.txt rename to tests/Fallout.Application.Tools.Tests/ChangelogReferenceFiles/changelog_reference_NUKE_variant_1.verified.txt diff --git a/tests/Fallout.Common.Tests/ChangelogReferenceFiles/changelog_reference_NUKE_variant_2.md b/tests/Fallout.Application.Tools.Tests/ChangelogReferenceFiles/changelog_reference_NUKE_variant_2.md similarity index 100% rename from tests/Fallout.Common.Tests/ChangelogReferenceFiles/changelog_reference_NUKE_variant_2.md rename to tests/Fallout.Application.Tools.Tests/ChangelogReferenceFiles/changelog_reference_NUKE_variant_2.md diff --git a/tests/Fallout.Common.Tests/ChangelogReferenceFiles/changelog_reference_NUKE_variant_2.verified.txt b/tests/Fallout.Application.Tools.Tests/ChangelogReferenceFiles/changelog_reference_NUKE_variant_2.verified.txt similarity index 100% rename from tests/Fallout.Common.Tests/ChangelogReferenceFiles/changelog_reference_NUKE_variant_2.verified.txt rename to tests/Fallout.Application.Tools.Tests/ChangelogReferenceFiles/changelog_reference_NUKE_variant_2.verified.txt diff --git a/tests/Fallout.Common.Tests/ChangelogReferenceFiles/changelog_reference_invalid_variant_1.md b/tests/Fallout.Application.Tools.Tests/ChangelogReferenceFiles/changelog_reference_invalid_variant_1.md similarity index 100% rename from tests/Fallout.Common.Tests/ChangelogReferenceFiles/changelog_reference_invalid_variant_1.md rename to tests/Fallout.Application.Tools.Tests/ChangelogReferenceFiles/changelog_reference_invalid_variant_1.md diff --git a/tests/Fallout.Common.Tests/ChangelogReferenceFiles/changelog_reference_invalid_variant_2.md b/tests/Fallout.Application.Tools.Tests/ChangelogReferenceFiles/changelog_reference_invalid_variant_2.md similarity index 100% rename from tests/Fallout.Common.Tests/ChangelogReferenceFiles/changelog_reference_invalid_variant_2.md rename to tests/Fallout.Application.Tools.Tests/ChangelogReferenceFiles/changelog_reference_invalid_variant_2.md diff --git a/tests/Fallout.Common.Tests/ChangelogTasksTest.cs b/tests/Fallout.Application.Tools.Tests/ChangelogTasksTest.cs similarity index 96% rename from tests/Fallout.Common.Tests/ChangelogTasksTest.cs rename to tests/Fallout.Application.Tools.Tests/ChangelogTasksTest.cs index f370971ba..93b723b11 100644 --- a/tests/Fallout.Common.Tests/ChangelogTasksTest.cs +++ b/tests/Fallout.Application.Tools.Tests/ChangelogTasksTest.cs @@ -12,13 +12,13 @@ // ReSharper disable ReturnValueOfPureMethodIsNotUsed -namespace Fallout.Common.Tests; +namespace Fallout.Application.Tools.Tests; public class ChangelogTasksTest { private static AbsolutePath RootDirectory => Constants.TryGetRootDirectoryFrom(EnvironmentInfo.WorkingDirectory).NotNull(); - private static AbsolutePath PathToChangelogReferenceFiles => RootDirectory / "tests" / "Fallout.Common.Tests" / "ChangelogReferenceFiles"; + private static AbsolutePath PathToChangelogReferenceFiles => RootDirectory / "tests" / "Fallout.Application.Tools.Tests" / "ChangelogReferenceFiles"; [Theory] [MemberData(nameof(AllChangelogReference_1_0_0_Files))] diff --git a/tests/Fallout.Application.Tools.Tests/Fallout.Application.Tools.Tests.csproj b/tests/Fallout.Application.Tools.Tests/Fallout.Application.Tools.Tests.csproj new file mode 100644 index 000000000..aac5a9ac2 --- /dev/null +++ b/tests/Fallout.Application.Tools.Tests/Fallout.Application.Tools.Tests.csproj @@ -0,0 +1,12 @@ + + + + net10.0 + + + + + + + + diff --git a/tests/Fallout.Common.Tests/GitHubTasksTest.cs b/tests/Fallout.Application.Tools.Tests/GitHubTasksTest.cs similarity index 98% rename from tests/Fallout.Common.Tests/GitHubTasksTest.cs rename to tests/Fallout.Application.Tools.Tests/GitHubTasksTest.cs index 7e14320af..5745b0e4b 100644 --- a/tests/Fallout.Common.Tests/GitHubTasksTest.cs +++ b/tests/Fallout.Application.Tools.Tests/GitHubTasksTest.cs @@ -8,7 +8,7 @@ using Fallout.Kernel; using Fallout.Build.Shared; -namespace Fallout.Common.Tests; +namespace Fallout.Application.Tools.Tests; public class GitHubTasksTest { diff --git a/tests/Fallout.Common.Tests/GitVersionParseTest.cs b/tests/Fallout.Application.Tools.Tests/GitVersionParseTest.cs similarity index 86% rename from tests/Fallout.Common.Tests/GitVersionParseTest.cs rename to tests/Fallout.Application.Tools.Tests/GitVersionParseTest.cs index 17eb850df..6b76f5ac6 100644 --- a/tests/Fallout.Common.Tests/GitVersionParseTest.cs +++ b/tests/Fallout.Application.Tools.Tests/GitVersionParseTest.cs @@ -8,7 +8,12 @@ using Fallout.Application.Tools.GitVersion; using Fallout.Kernel; -namespace Fallout.Common.Tests; +namespace Fallout.Application.Tools.Tests; + +// This test lives under Fallout.Application.Tools.*, so the bare name GitVersion would otherwise bind to +// the sibling namespace (Fallout.Application.Tools.GitVersion) rather than the record of the same name. +// The alias must sit *inside* the namespace scope to outrank the enclosing sub-namespace during lookup. +using GitVersion = Fallout.Application.Tools.GitVersion.GitVersion; /// /// Regression tests for GitVersion JSON deserialisation (issue #218). diff --git a/tests/Fallout.Common.Tests/SettingsTest.TestDiscord.verified.txt b/tests/Fallout.Application.Tools.Tests/SettingsTest.TestDiscord.verified.txt similarity index 100% rename from tests/Fallout.Common.Tests/SettingsTest.TestDiscord.verified.txt rename to tests/Fallout.Application.Tools.Tests/SettingsTest.TestDiscord.verified.txt diff --git a/tests/Fallout.Common.Tests/SettingsTest.cs b/tests/Fallout.Application.Tools.Tests/SettingsTest.cs similarity index 99% rename from tests/Fallout.Common.Tests/SettingsTest.cs rename to tests/Fallout.Application.Tools.Tests/SettingsTest.cs index 41c7393f7..1a039a3b2 100644 --- a/tests/Fallout.Common.Tests/SettingsTest.cs +++ b/tests/Fallout.Application.Tools.Tests/SettingsTest.cs @@ -19,7 +19,7 @@ using Fallout.Kernel; using Fallout.Build.Shared; -namespace Fallout.Common.Tests; +namespace Fallout.Application.Tools.Tests; public class SettingsTest { diff --git a/tests/Fallout.Common.Tests/VerifyTestsInitializer.cs b/tests/Fallout.Application.Tools.Tests/VerifyTestsInitializer.cs similarity index 90% rename from tests/Fallout.Common.Tests/VerifyTestsInitializer.cs rename to tests/Fallout.Application.Tools.Tests/VerifyTestsInitializer.cs index 661d4b232..fd36075cf 100644 --- a/tests/Fallout.Common.Tests/VerifyTestsInitializer.cs +++ b/tests/Fallout.Application.Tools.Tests/VerifyTestsInitializer.cs @@ -3,7 +3,7 @@ using System.Runtime.CompilerServices; using VerifyTests; -namespace Fallout.Common.Tests; +namespace Fallout.Application.Tools.Tests; public static class VerifyTestsInitializer { diff --git a/tests/Fallout.Architecture.Tests/ApplicationRingFitnessTests.cs b/tests/Fallout.Architecture.Tests/ApplicationRingFitnessTests.cs index ff2a85da0..46223acd9 100644 --- a/tests/Fallout.Architecture.Tests/ApplicationRingFitnessTests.cs +++ b/tests/Fallout.Architecture.Tests/ApplicationRingFitnessTests.cs @@ -12,7 +12,7 @@ namespace Fallout.Architecture.Tests; /// Fallout.Application.Tooling (see ToolingServices), with the concrete adapters registered from /// Infrastructure via a module initializer. This guards the inversion that the tool-layer split (step 4b) /// deferred. (Houses ring fitness in its own project so loading every ring's assembly cannot perturb -/// load-order-sensitive tests elsewhere, e.g. the schema/AppDomain-scan tests in Fallout.Build.Tests.) +/// load-order-sensitive tests elsewhere, e.g. the schema/AppDomain-scan tests in Fallout.Application.Tests.) /// public class ApplicationRingFitnessTests { diff --git a/tests/Fallout.Common.Tests/CI/ConfigurationGenerationTest.Test_testName=checkout-ref_attribute=GitHubActionsAttribute.verified.txt b/tests/Fallout.Infrastructure.CI.Tests/CI/ConfigurationGenerationTest.Test_testName=checkout-ref_attribute=GitHubActionsAttribute.verified.txt similarity index 100% rename from tests/Fallout.Common.Tests/CI/ConfigurationGenerationTest.Test_testName=checkout-ref_attribute=GitHubActionsAttribute.verified.txt rename to tests/Fallout.Infrastructure.CI.Tests/CI/ConfigurationGenerationTest.Test_testName=checkout-ref_attribute=GitHubActionsAttribute.verified.txt diff --git a/tests/Fallout.Common.Tests/CI/ConfigurationGenerationTest.Test_testName=detailed-triggers_attribute=GitHubActionsAttribute.verified.txt b/tests/Fallout.Infrastructure.CI.Tests/CI/ConfigurationGenerationTest.Test_testName=detailed-triggers_attribute=GitHubActionsAttribute.verified.txt similarity index 100% rename from tests/Fallout.Common.Tests/CI/ConfigurationGenerationTest.Test_testName=detailed-triggers_attribute=GitHubActionsAttribute.verified.txt rename to tests/Fallout.Infrastructure.CI.Tests/CI/ConfigurationGenerationTest.Test_testName=detailed-triggers_attribute=GitHubActionsAttribute.verified.txt diff --git a/tests/Fallout.Common.Tests/CI/ConfigurationGenerationTest.Test_testName=null_attribute=AppVeyorAttribute.verified.txt b/tests/Fallout.Infrastructure.CI.Tests/CI/ConfigurationGenerationTest.Test_testName=null_attribute=AppVeyorAttribute.verified.txt similarity index 100% rename from tests/Fallout.Common.Tests/CI/ConfigurationGenerationTest.Test_testName=null_attribute=AppVeyorAttribute.verified.txt rename to tests/Fallout.Infrastructure.CI.Tests/CI/ConfigurationGenerationTest.Test_testName=null_attribute=AppVeyorAttribute.verified.txt diff --git a/tests/Fallout.Common.Tests/CI/ConfigurationGenerationTest.Test_testName=null_attribute=AzurePipelinesAttribute.verified.txt b/tests/Fallout.Infrastructure.CI.Tests/CI/ConfigurationGenerationTest.Test_testName=null_attribute=AzurePipelinesAttribute.verified.txt similarity index 100% rename from tests/Fallout.Common.Tests/CI/ConfigurationGenerationTest.Test_testName=null_attribute=AzurePipelinesAttribute.verified.txt rename to tests/Fallout.Infrastructure.CI.Tests/CI/ConfigurationGenerationTest.Test_testName=null_attribute=AzurePipelinesAttribute.verified.txt diff --git a/tests/Fallout.Common.Tests/CI/ConfigurationGenerationTest.Test_testName=null_attribute=SpaceAutomationAttribute.verified.txt b/tests/Fallout.Infrastructure.CI.Tests/CI/ConfigurationGenerationTest.Test_testName=null_attribute=SpaceAutomationAttribute.verified.txt similarity index 100% rename from tests/Fallout.Common.Tests/CI/ConfigurationGenerationTest.Test_testName=null_attribute=SpaceAutomationAttribute.verified.txt rename to tests/Fallout.Infrastructure.CI.Tests/CI/ConfigurationGenerationTest.Test_testName=null_attribute=SpaceAutomationAttribute.verified.txt diff --git a/tests/Fallout.Common.Tests/CI/ConfigurationGenerationTest.Test_testName=null_attribute=TeamCityAttribute.verified.txt b/tests/Fallout.Infrastructure.CI.Tests/CI/ConfigurationGenerationTest.Test_testName=null_attribute=TeamCityAttribute.verified.txt similarity index 100% rename from tests/Fallout.Common.Tests/CI/ConfigurationGenerationTest.Test_testName=null_attribute=TeamCityAttribute.verified.txt rename to tests/Fallout.Infrastructure.CI.Tests/CI/ConfigurationGenerationTest.Test_testName=null_attribute=TeamCityAttribute.verified.txt diff --git a/tests/Fallout.Common.Tests/CI/ConfigurationGenerationTest.Test_testName=simple-triggers_attribute=GitHubActionsAttribute.verified.txt b/tests/Fallout.Infrastructure.CI.Tests/CI/ConfigurationGenerationTest.Test_testName=simple-triggers_attribute=GitHubActionsAttribute.verified.txt similarity index 100% rename from tests/Fallout.Common.Tests/CI/ConfigurationGenerationTest.Test_testName=simple-triggers_attribute=GitHubActionsAttribute.verified.txt rename to tests/Fallout.Infrastructure.CI.Tests/CI/ConfigurationGenerationTest.Test_testName=simple-triggers_attribute=GitHubActionsAttribute.verified.txt diff --git a/tests/Fallout.Common.Tests/CI/ConfigurationGenerationTest.cs b/tests/Fallout.Infrastructure.CI.Tests/CI/ConfigurationGenerationTest.cs similarity index 99% rename from tests/Fallout.Common.Tests/CI/ConfigurationGenerationTest.cs rename to tests/Fallout.Infrastructure.CI.Tests/CI/ConfigurationGenerationTest.cs index 69d8b0468..310364413 100644 --- a/tests/Fallout.Common.Tests/CI/ConfigurationGenerationTest.cs +++ b/tests/Fallout.Infrastructure.CI.Tests/CI/ConfigurationGenerationTest.cs @@ -17,7 +17,7 @@ using Fallout.Infrastructure.CI.GitHubActions; using Fallout.Kernel; -namespace Fallout.Common.Tests.CI; +namespace Fallout.Infrastructure.CI.Tests; public class ConfigurationGenerationTest { diff --git a/tests/Fallout.Common.Tests/CI/ITestConfigurationGenerator.cs b/tests/Fallout.Infrastructure.CI.Tests/CI/ITestConfigurationGenerator.cs similarity index 81% rename from tests/Fallout.Common.Tests/CI/ITestConfigurationGenerator.cs rename to tests/Fallout.Infrastructure.CI.Tests/CI/ITestConfigurationGenerator.cs index bc8f3c653..119a51169 100644 --- a/tests/Fallout.Common.Tests/CI/ITestConfigurationGenerator.cs +++ b/tests/Fallout.Infrastructure.CI.Tests/CI/ITestConfigurationGenerator.cs @@ -3,7 +3,7 @@ using System.Linq; using Fallout.Application.CI; -namespace Fallout.Common.Tests.CI; +namespace Fallout.Infrastructure.CI.Tests; public interface ITestConfigurationGenerator : IConfigurationGenerator { diff --git a/tests/Fallout.Common.Tests/CI/TestAppVeyorAttribute.cs b/tests/Fallout.Infrastructure.CI.Tests/CI/TestAppVeyorAttribute.cs similarity index 91% rename from tests/Fallout.Common.Tests/CI/TestAppVeyorAttribute.cs rename to tests/Fallout.Infrastructure.CI.Tests/CI/TestAppVeyorAttribute.cs index 37e87c722..8636827d7 100644 --- a/tests/Fallout.Common.Tests/CI/TestAppVeyorAttribute.cs +++ b/tests/Fallout.Infrastructure.CI.Tests/CI/TestAppVeyorAttribute.cs @@ -3,7 +3,7 @@ using System.Linq; using Fallout.Infrastructure.CI.AppVeyor; -namespace Fallout.Common.Tests.CI; +namespace Fallout.Infrastructure.CI.Tests; public class TestAppVeyorAttribute : AppVeyorAttribute, ITestConfigurationGenerator { diff --git a/tests/Fallout.Common.Tests/CI/TestAzurePipelinesAttribute.cs b/tests/Fallout.Infrastructure.CI.Tests/CI/TestAzurePipelinesAttribute.cs similarity index 91% rename from tests/Fallout.Common.Tests/CI/TestAzurePipelinesAttribute.cs rename to tests/Fallout.Infrastructure.CI.Tests/CI/TestAzurePipelinesAttribute.cs index faed18394..c2a596977 100644 --- a/tests/Fallout.Common.Tests/CI/TestAzurePipelinesAttribute.cs +++ b/tests/Fallout.Infrastructure.CI.Tests/CI/TestAzurePipelinesAttribute.cs @@ -3,7 +3,7 @@ using System.Linq; using Fallout.Infrastructure.CI.AzurePipelines; -namespace Fallout.Common.Tests.CI; +namespace Fallout.Infrastructure.CI.Tests; public class TestAzurePipelinesAttribute : AzurePipelinesAttribute, ITestConfigurationGenerator { diff --git a/tests/Fallout.Common.Tests/CI/TestGitHubActionsAttribute.cs b/tests/Fallout.Infrastructure.CI.Tests/CI/TestGitHubActionsAttribute.cs similarity index 91% rename from tests/Fallout.Common.Tests/CI/TestGitHubActionsAttribute.cs rename to tests/Fallout.Infrastructure.CI.Tests/CI/TestGitHubActionsAttribute.cs index c663cae67..d17388b69 100644 --- a/tests/Fallout.Common.Tests/CI/TestGitHubActionsAttribute.cs +++ b/tests/Fallout.Infrastructure.CI.Tests/CI/TestGitHubActionsAttribute.cs @@ -3,7 +3,7 @@ using System.Linq; using Fallout.Infrastructure.CI.GitHubActions; -namespace Fallout.Common.Tests.CI; +namespace Fallout.Infrastructure.CI.Tests; public class TestGitHubActionsAttribute : GitHubActionsAttribute, ITestConfigurationGenerator { diff --git a/tests/Fallout.Common.Tests/CI/TestSpaceAutomationAttribute.cs b/tests/Fallout.Infrastructure.CI.Tests/CI/TestSpaceAutomationAttribute.cs similarity index 91% rename from tests/Fallout.Common.Tests/CI/TestSpaceAutomationAttribute.cs rename to tests/Fallout.Infrastructure.CI.Tests/CI/TestSpaceAutomationAttribute.cs index d495e383b..e085f1085 100644 --- a/tests/Fallout.Common.Tests/CI/TestSpaceAutomationAttribute.cs +++ b/tests/Fallout.Infrastructure.CI.Tests/CI/TestSpaceAutomationAttribute.cs @@ -3,7 +3,7 @@ using System.Linq; using Fallout.Infrastructure.CI.SpaceAutomation; -namespace Fallout.Common.Tests.CI; +namespace Fallout.Infrastructure.CI.Tests; public class TestSpaceAutomationAttribute : SpaceAutomationAttribute, ITestConfigurationGenerator { diff --git a/tests/Fallout.Common.Tests/CI/TestTeamCityAttribute.cs b/tests/Fallout.Infrastructure.CI.Tests/CI/TestTeamCityAttribute.cs similarity index 87% rename from tests/Fallout.Common.Tests/CI/TestTeamCityAttribute.cs rename to tests/Fallout.Infrastructure.CI.Tests/CI/TestTeamCityAttribute.cs index 626a89669..bcf6d2e3a 100644 --- a/tests/Fallout.Common.Tests/CI/TestTeamCityAttribute.cs +++ b/tests/Fallout.Infrastructure.CI.Tests/CI/TestTeamCityAttribute.cs @@ -3,7 +3,7 @@ using System.Linq; using Fallout.Infrastructure.CI.TeamCity; -namespace Fallout.Common.Tests.CI; +namespace Fallout.Infrastructure.CI.Tests; public class TestTeamCityAttribute : TeamCityAttribute, ITestConfigurationGenerator { diff --git a/tests/Fallout.Common.Tests/CITest.cs b/tests/Fallout.Infrastructure.CI.Tests/CITest.cs similarity index 84% rename from tests/Fallout.Common.Tests/CITest.cs rename to tests/Fallout.Infrastructure.CI.Tests/CITest.cs index 760d6c10e..6f7c6ac1a 100644 --- a/tests/Fallout.Common.Tests/CITest.cs +++ b/tests/Fallout.Infrastructure.CI.Tests/CITest.cs @@ -18,7 +18,19 @@ // which collides by name with Xunit.Assert used throughout this test — bind the bare name to Xunit's. using Assert = Xunit.Assert; -namespace Fallout.Common.Tests; +namespace Fallout.Infrastructure.CI.Tests; + +// This test lives under Fallout.Infrastructure.CI.*, so each bare provider name (AppVeyor, …) would +// otherwise bind to the sibling namespace (Fallout.Infrastructure.CI.AppVeyor) rather than the host +// type of the same name. These aliases must sit *inside* the namespace scope so they outrank the +// enclosing CI sub-namespaces during simple-name lookup — above the namespace line they'd lose to them. +using AppVeyor = Fallout.Infrastructure.CI.AppVeyor.AppVeyor; +using Bitrise = Fallout.Infrastructure.CI.Bitrise.Bitrise; +using TeamCity = Fallout.Infrastructure.CI.TeamCity.TeamCity; +using AzurePipelines = Fallout.Infrastructure.CI.AzurePipelines.AzurePipelines; +using Jenkins = Fallout.Infrastructure.CI.Jenkins.Jenkins; +using TravisCI = Fallout.Infrastructure.CI.TravisCI.TravisCI; +using GitLab = Fallout.Infrastructure.CI.GitLab.GitLab; public class CITest { diff --git a/tests/Fallout.Common.Tests/Fallout.Common.Tests.csproj b/tests/Fallout.Infrastructure.CI.Tests/Fallout.Infrastructure.CI.Tests.csproj similarity index 79% rename from tests/Fallout.Common.Tests/Fallout.Common.Tests.csproj rename to tests/Fallout.Infrastructure.CI.Tests/Fallout.Infrastructure.CI.Tests.csproj index bb109e5c1..f0010b931 100644 --- a/tests/Fallout.Common.Tests/Fallout.Common.Tests.csproj +++ b/tests/Fallout.Infrastructure.CI.Tests/Fallout.Infrastructure.CI.Tests.csproj @@ -1,13 +1,12 @@ - + net10.0 - - + diff --git a/tests/Fallout.Infrastructure.CI.Tests/VerifyTestsInitializer.cs b/tests/Fallout.Infrastructure.CI.Tests/VerifyTestsInitializer.cs new file mode 100644 index 000000000..f762e538a --- /dev/null +++ b/tests/Fallout.Infrastructure.CI.Tests/VerifyTestsInitializer.cs @@ -0,0 +1,17 @@ +using System; +using System.Linq; +using System.Runtime.CompilerServices; +using VerifyTests; + +namespace Fallout.Infrastructure.CI.Tests; + +public static class VerifyTestsInitializer +{ + [ModuleInitializer] + public static void Initialize() + { + Environment.SetEnvironmentVariable("DiffEngine_Disabled", "true"); + Environment.SetEnvironmentVariable("Verify_DisableClipboard", "true"); + VerifyDiffPlex.Initialize(); + } +} diff --git a/tests/Fallout.ProjectModel.Tests/Fallout.ProjectModel.Tests.csproj b/tests/Fallout.Infrastructure.ProjectModel.Tests/Fallout.Infrastructure.ProjectModel.Tests.csproj similarity index 100% rename from tests/Fallout.ProjectModel.Tests/Fallout.ProjectModel.Tests.csproj rename to tests/Fallout.Infrastructure.ProjectModel.Tests/Fallout.Infrastructure.ProjectModel.Tests.csproj diff --git a/tests/Fallout.ProjectModel.Tests/ModuleInit.cs b/tests/Fallout.Infrastructure.ProjectModel.Tests/ModuleInit.cs similarity index 95% rename from tests/Fallout.ProjectModel.Tests/ModuleInit.cs rename to tests/Fallout.Infrastructure.ProjectModel.Tests/ModuleInit.cs index 5d0552548..9e5a0f36f 100644 --- a/tests/Fallout.ProjectModel.Tests/ModuleInit.cs +++ b/tests/Fallout.Infrastructure.ProjectModel.Tests/ModuleInit.cs @@ -2,7 +2,7 @@ using Fallout.Infrastructure.ProjectModel; using Fallout.Infrastructure.Solutions; -namespace Fallout.Common.Tests; +namespace Fallout.Infrastructure.ProjectModel.Tests; internal static class ModuleInit { diff --git a/tests/Fallout.ProjectModel.Tests/ProjectModelTest.cs b/tests/Fallout.Infrastructure.ProjectModel.Tests/ProjectModelTest.cs similarity index 96% rename from tests/Fallout.ProjectModel.Tests/ProjectModelTest.cs rename to tests/Fallout.Infrastructure.ProjectModel.Tests/ProjectModelTest.cs index bd274a787..a3be02426 100644 --- a/tests/Fallout.ProjectModel.Tests/ProjectModelTest.cs +++ b/tests/Fallout.Infrastructure.ProjectModel.Tests/ProjectModelTest.cs @@ -8,7 +8,7 @@ using Fallout.Kernel; using Fallout.Build.Shared; -namespace Fallout.Common.Tests; +namespace Fallout.Infrastructure.ProjectModel.Tests; public class ProjectModelTest { diff --git a/tests/Fallout.Solution.Tests/Fallout.Solution.Tests.csproj b/tests/Fallout.Infrastructure.Solutions.Tests/Fallout.Infrastructure.Solutions.Tests.csproj similarity index 100% rename from tests/Fallout.Solution.Tests/Fallout.Solution.Tests.csproj rename to tests/Fallout.Infrastructure.Solutions.Tests/Fallout.Infrastructure.Solutions.Tests.csproj diff --git a/tests/Fallout.Solution.Tests/ModuleInit.cs b/tests/Fallout.Infrastructure.Solutions.Tests/ModuleInit.cs similarity index 93% rename from tests/Fallout.Solution.Tests/ModuleInit.cs rename to tests/Fallout.Infrastructure.Solutions.Tests/ModuleInit.cs index 0bf0dbd75..5e4607789 100644 --- a/tests/Fallout.Solution.Tests/ModuleInit.cs +++ b/tests/Fallout.Infrastructure.Solutions.Tests/ModuleInit.cs @@ -1,7 +1,7 @@ using System.Runtime.CompilerServices; using Fallout.Infrastructure.Solutions; -namespace Fallout.Common.Tests; +namespace Fallout.Infrastructure.Solutions.Tests; internal static class ModuleInit { diff --git a/tests/Fallout.Solution.Tests/SolutionTest.cs b/tests/Fallout.Infrastructure.Solutions.Tests/SolutionTest.cs similarity index 95% rename from tests/Fallout.Solution.Tests/SolutionTest.cs rename to tests/Fallout.Infrastructure.Solutions.Tests/SolutionTest.cs index c62a7a4f2..897fd1889 100644 --- a/tests/Fallout.Solution.Tests/SolutionTest.cs +++ b/tests/Fallout.Infrastructure.Solutions.Tests/SolutionTest.cs @@ -7,7 +7,7 @@ using Fallout.Application.Solutions; using Fallout.Build.Shared; -namespace Fallout.Common.Tests; +namespace Fallout.Infrastructure.Solutions.Tests; public class SolutionModelTest { diff --git a/tests/Fallout.Tooling.Tests/Fallout.Tooling.Tests.csproj b/tests/Fallout.Infrastructure.Tooling.Tests/Fallout.Infrastructure.Tooling.Tests.csproj similarity index 93% rename from tests/Fallout.Tooling.Tests/Fallout.Tooling.Tests.csproj rename to tests/Fallout.Infrastructure.Tooling.Tests/Fallout.Infrastructure.Tooling.Tests.csproj index 2fb51a062..268a211db 100644 --- a/tests/Fallout.Tooling.Tests/Fallout.Tooling.Tests.csproj +++ b/tests/Fallout.Infrastructure.Tooling.Tests/Fallout.Infrastructure.Tooling.Tests.csproj @@ -1,4 +1,4 @@ - + net10.0 @@ -12,7 +12,6 @@ - diff --git a/tests/Fallout.Tooling.Tests/NuGetPackageResolverTest.cs b/tests/Fallout.Infrastructure.Tooling.Tests/NuGetPackageResolverTest.cs similarity index 95% rename from tests/Fallout.Tooling.Tests/NuGetPackageResolverTest.cs rename to tests/Fallout.Infrastructure.Tooling.Tests/NuGetPackageResolverTest.cs index 8abfcb793..6d2fd0d73 100644 --- a/tests/Fallout.Tooling.Tests/NuGetPackageResolverTest.cs +++ b/tests/Fallout.Infrastructure.Tooling.Tests/NuGetPackageResolverTest.cs @@ -6,13 +6,13 @@ using Fallout.Kernel; using Fallout.Build.Shared; -namespace Fallout.Common.Tests; +namespace Fallout.Infrastructure.Tooling.Tests; public class NuGetPackageResolverTest { private static AbsolutePath RootDirectory => Constants.TryGetRootDirectoryFrom(EnvironmentInfo.WorkingDirectory).NotNull(); - private static AbsolutePath ProjectFile => RootDirectory / "tests" / "Fallout.Tooling.Tests" / "Fallout.Tooling.Tests.csproj"; + private static AbsolutePath ProjectFile => RootDirectory / "tests" / "Fallout.Infrastructure.Tooling.Tests" / "Fallout.Infrastructure.Tooling.Tests.csproj"; private static AbsolutePath AssetsFile => ProjectFile.Parent / "obj" / "project.assets.json"; private const string XunitConsolePackageVersion = "2.6.1"; diff --git a/tests/Fallout.Tooling.Tests/ToolTasksToolPathTest.cs b/tests/Fallout.Infrastructure.Tooling.Tests/ToolTasksToolPathTest.cs similarity index 97% rename from tests/Fallout.Tooling.Tests/ToolTasksToolPathTest.cs rename to tests/Fallout.Infrastructure.Tooling.Tests/ToolTasksToolPathTest.cs index 8b6762104..03a249892 100644 --- a/tests/Fallout.Tooling.Tests/ToolTasksToolPathTest.cs +++ b/tests/Fallout.Infrastructure.Tooling.Tests/ToolTasksToolPathTest.cs @@ -9,7 +9,7 @@ using Fallout.Kernel; using Fallout.Build.Shared; -namespace Fallout.Common.Tests; +namespace Fallout.Infrastructure.Tooling.Tests; public class ToolTasksToolPathTest { diff --git a/tests/Fallout.Utilities.Tests/ArgumentParserTest.cs b/tests/Fallout.Kernel.Tests/ArgumentParserTest.cs similarity index 99% rename from tests/Fallout.Utilities.Tests/ArgumentParserTest.cs rename to tests/Fallout.Kernel.Tests/ArgumentParserTest.cs index b7f92ea22..967754abe 100644 --- a/tests/Fallout.Utilities.Tests/ArgumentParserTest.cs +++ b/tests/Fallout.Kernel.Tests/ArgumentParserTest.cs @@ -4,7 +4,7 @@ using Xunit; using Fallout.Kernel; -namespace Fallout.Common.Tests; +namespace Fallout.Kernel.Tests; public class ArgumentParserTest { diff --git a/tests/Fallout.Utilities.Tests/Collections/DictionaryExtensionsTest.cs b/tests/Fallout.Kernel.Tests/Collections/DictionaryExtensionsTest.cs similarity index 93% rename from tests/Fallout.Utilities.Tests/Collections/DictionaryExtensionsTest.cs rename to tests/Fallout.Kernel.Tests/Collections/DictionaryExtensionsTest.cs index 61c709af1..a59b7a8db 100644 --- a/tests/Fallout.Utilities.Tests/Collections/DictionaryExtensionsTest.cs +++ b/tests/Fallout.Kernel.Tests/Collections/DictionaryExtensionsTest.cs @@ -6,7 +6,7 @@ using Xunit; using Fallout.Kernel.Collections; -namespace Fallout.Common.Tests; +namespace Fallout.Kernel.Tests; public class DictionaryExtensionsTest { diff --git a/tests/Fallout.Utilities.Tests/Collections/EnumerableExtensionsTest.cs b/tests/Fallout.Kernel.Tests/Collections/EnumerableExtensionsTest.cs similarity index 95% rename from tests/Fallout.Utilities.Tests/Collections/EnumerableExtensionsTest.cs rename to tests/Fallout.Kernel.Tests/Collections/EnumerableExtensionsTest.cs index ed300b8e2..37b81e6a5 100644 --- a/tests/Fallout.Utilities.Tests/Collections/EnumerableExtensionsTest.cs +++ b/tests/Fallout.Kernel.Tests/Collections/EnumerableExtensionsTest.cs @@ -4,7 +4,7 @@ using Xunit; using Fallout.Kernel.Collections; -namespace Fallout.Common.Tests; +namespace Fallout.Kernel.Tests; public class EnumerableExtensionsTest { diff --git a/tests/Fallout.Utilities.Tests/Collections/LookupTableTest.cs b/tests/Fallout.Kernel.Tests/Collections/LookupTableTest.cs similarity index 97% rename from tests/Fallout.Utilities.Tests/Collections/LookupTableTest.cs rename to tests/Fallout.Kernel.Tests/Collections/LookupTableTest.cs index 1a344db2f..30f6ebd0b 100644 --- a/tests/Fallout.Utilities.Tests/Collections/LookupTableTest.cs +++ b/tests/Fallout.Kernel.Tests/Collections/LookupTableTest.cs @@ -6,7 +6,7 @@ // ReSharper disable ArgumentsStyleLiteral -namespace Fallout.Common.Tests; +namespace Fallout.Kernel.Tests; public class LookupTableTest { diff --git a/tests/Fallout.Utilities.Tests/EncryptionUtilityTest.cs b/tests/Fallout.Kernel.Tests/EncryptionUtilityTest.cs similarity index 99% rename from tests/Fallout.Utilities.Tests/EncryptionUtilityTest.cs rename to tests/Fallout.Kernel.Tests/EncryptionUtilityTest.cs index 484649205..567bd1a50 100644 --- a/tests/Fallout.Utilities.Tests/EncryptionUtilityTest.cs +++ b/tests/Fallout.Kernel.Tests/EncryptionUtilityTest.cs @@ -3,7 +3,7 @@ using Xunit; using Fallout.Kernel; -namespace Fallout.Common.Tests; +namespace Fallout.Kernel.Tests; public class EncryptionUtilityTest { diff --git a/tests/Fallout.Utilities.Tests/EnvironmentInfoTest.cs b/tests/Fallout.Kernel.Tests/EnvironmentInfoTest.cs similarity index 92% rename from tests/Fallout.Utilities.Tests/EnvironmentInfoTest.cs rename to tests/Fallout.Kernel.Tests/EnvironmentInfoTest.cs index d55a6bf6d..6f73cb433 100644 --- a/tests/Fallout.Utilities.Tests/EnvironmentInfoTest.cs +++ b/tests/Fallout.Kernel.Tests/EnvironmentInfoTest.cs @@ -5,7 +5,7 @@ using Fallout.Kernel.IO; using Fallout.Kernel; -namespace Fallout.Common.Tests; +namespace Fallout.Kernel.Tests; public class EnvironmentInfoTest { diff --git a/tests/Fallout.Utilities.Tests/Fallout.Utilities.Tests.csproj b/tests/Fallout.Kernel.Tests/Fallout.Kernel.Tests.csproj similarity index 100% rename from tests/Fallout.Utilities.Tests/Fallout.Utilities.Tests.csproj rename to tests/Fallout.Kernel.Tests/Fallout.Kernel.Tests.csproj diff --git a/tests/Fallout.Utilities.Tests/IO/CompressionTasksTest.cs b/tests/Fallout.Kernel.Tests/IO/CompressionTasksTest.cs similarity index 97% rename from tests/Fallout.Utilities.Tests/IO/CompressionTasksTest.cs rename to tests/Fallout.Kernel.Tests/IO/CompressionTasksTest.cs index 437216ee3..0673be50b 100644 --- a/tests/Fallout.Utilities.Tests/IO/CompressionTasksTest.cs +++ b/tests/Fallout.Kernel.Tests/IO/CompressionTasksTest.cs @@ -6,7 +6,7 @@ using Xunit.Abstractions; using Fallout.Kernel.IO; -namespace Fallout.Common.Tests; +namespace Fallout.Kernel.Tests; public class CompressionTasksTest : FileSystemDependentTest { diff --git a/tests/Fallout.Utilities.Tests/IO/FileSystemDependentTest.cs b/tests/Fallout.Kernel.Tests/IO/FileSystemDependentTest.cs similarity index 97% rename from tests/Fallout.Utilities.Tests/IO/FileSystemDependentTest.cs rename to tests/Fallout.Kernel.Tests/IO/FileSystemDependentTest.cs index 1285989f0..3a0a8dad9 100644 --- a/tests/Fallout.Utilities.Tests/IO/FileSystemDependentTest.cs +++ b/tests/Fallout.Kernel.Tests/IO/FileSystemDependentTest.cs @@ -7,7 +7,7 @@ using Fallout.Kernel; using Fallout.Build.Shared; -namespace Fallout.Common.Tests; +namespace Fallout.Kernel.Tests; public abstract class FileSystemDependentTest { diff --git a/tests/Fallout.Utilities.Tests/IO/MoveCopyTest.cs b/tests/Fallout.Kernel.Tests/IO/MoveCopyTest.cs similarity index 99% rename from tests/Fallout.Utilities.Tests/IO/MoveCopyTest.cs rename to tests/Fallout.Kernel.Tests/IO/MoveCopyTest.cs index 2e9b2d472..24ae3fbe8 100644 --- a/tests/Fallout.Utilities.Tests/IO/MoveCopyTest.cs +++ b/tests/Fallout.Kernel.Tests/IO/MoveCopyTest.cs @@ -6,7 +6,7 @@ using Fallout.Kernel.IO; using Fallout.Kernel.Collections; -namespace Fallout.Common.Tests; +namespace Fallout.Kernel.Tests; public class MoveCopyTest : FileSystemDependentTest { diff --git a/tests/Fallout.Utilities.Tests/IO/PathConstructionTest.cs b/tests/Fallout.Kernel.Tests/IO/PathConstructionTest.cs similarity index 99% rename from tests/Fallout.Utilities.Tests/IO/PathConstructionTest.cs rename to tests/Fallout.Kernel.Tests/IO/PathConstructionTest.cs index 66e0e74cb..19706186e 100644 --- a/tests/Fallout.Utilities.Tests/IO/PathConstructionTest.cs +++ b/tests/Fallout.Kernel.Tests/IO/PathConstructionTest.cs @@ -6,7 +6,7 @@ using Fallout.Kernel.IO; using Fallout.Kernel; -namespace Fallout.Common.Tests; +namespace Fallout.Kernel.Tests; public class PathConstructionTest { diff --git a/tests/Fallout.Utilities.Tests/Reflection/ReflectionUtilityTest.cs b/tests/Fallout.Kernel.Tests/Reflection/ReflectionUtilityTest.cs similarity index 98% rename from tests/Fallout.Utilities.Tests/Reflection/ReflectionUtilityTest.cs rename to tests/Fallout.Kernel.Tests/Reflection/ReflectionUtilityTest.cs index 97b8abb07..28436a29d 100644 --- a/tests/Fallout.Utilities.Tests/Reflection/ReflectionUtilityTest.cs +++ b/tests/Fallout.Kernel.Tests/Reflection/ReflectionUtilityTest.cs @@ -6,7 +6,7 @@ using Fallout.Kernel; using Fallout.Kernel.IO; -namespace Fallout.Common.Tests.Execution; +namespace Fallout.Kernel.Tests.Execution; public class ReflectionUtilityTest { diff --git a/tests/Fallout.Utilities.Tests/Text/SerializationTest.cs b/tests/Fallout.Kernel.Tests/Text/SerializationTest.cs similarity index 97% rename from tests/Fallout.Utilities.Tests/Text/SerializationTest.cs rename to tests/Fallout.Kernel.Tests/Text/SerializationTest.cs index 5773951b0..4fd774571 100644 --- a/tests/Fallout.Utilities.Tests/Text/SerializationTest.cs +++ b/tests/Fallout.Kernel.Tests/Text/SerializationTest.cs @@ -6,7 +6,7 @@ using Fallout.Kernel; using Fallout.Kernel.Text.Yaml; -namespace Fallout.Common.Tests; +namespace Fallout.Kernel.Tests; public class SerializationTest { diff --git a/tests/Fallout.Utilities.Tests/Text/StringExtensionsTest.cs b/tests/Fallout.Kernel.Tests/Text/StringExtensionsTest.cs similarity index 98% rename from tests/Fallout.Utilities.Tests/Text/StringExtensionsTest.cs rename to tests/Fallout.Kernel.Tests/Text/StringExtensionsTest.cs index 738f1e91d..80bd4c58e 100644 --- a/tests/Fallout.Utilities.Tests/Text/StringExtensionsTest.cs +++ b/tests/Fallout.Kernel.Tests/Text/StringExtensionsTest.cs @@ -4,7 +4,7 @@ using Xunit; using Fallout.Kernel; -namespace Fallout.Common.Tests; +namespace Fallout.Kernel.Tests; public class StringExtensionsTest { diff --git a/tests/Fallout.SourceGenerators.Tests/StronglyTypedSolutionGeneratorTest.Test#Solution.g.verified.cs b/tests/Fallout.SourceGenerators.Tests/StronglyTypedSolutionGeneratorTest.Test#Solution.g.verified.cs index c4874c10a..6abce1cfd 100644 --- a/tests/Fallout.SourceGenerators.Tests/StronglyTypedSolutionGeneratorTest.Test#Solution.g.verified.cs +++ b/tests/Fallout.SourceGenerators.Tests/StronglyTypedSolutionGeneratorTest.Test#Solution.g.verified.cs @@ -11,28 +11,34 @@ internal class Solution(AbsolutePath path, object handle) : Fallout.Application. public Fallout.Application.Solutions.Project Fallout => this.GetProject("Fallout"); public Fallout.Application.Solutions.Project Fallout_Application => this.GetProject("Fallout.Application"); public Fallout.Application.Solutions.Project Fallout_Application_Components => this.GetProject("Fallout.Application.Components"); + public Fallout.Application.Solutions.Project Fallout_Application_Components_Tests => this.GetProject("Fallout.Application.Components.Tests"); public Fallout.Application.Solutions.Project Fallout_Application_Solutions => this.GetProject("Fallout.Application.Solutions"); + public Fallout.Application.Solutions.Project Fallout_Application_Tests => this.GetProject("Fallout.Application.Tests"); public Fallout.Application.Solutions.Project Fallout_Application_Tooling => this.GetProject("Fallout.Application.Tooling"); + public Fallout.Application.Solutions.Project Fallout_Application_Tooling_Tests => this.GetProject("Fallout.Application.Tooling.Tests"); public Fallout.Application.Solutions.Project Fallout_Application_Tools => this.GetProject("Fallout.Application.Tools"); + public Fallout.Application.Solutions.Project Fallout_Application_Tools_Tests => this.GetProject("Fallout.Application.Tools.Tests"); public Fallout.Application.Solutions.Project Fallout_Architecture_Tests => this.GetProject("Fallout.Architecture.Tests"); public Fallout.Application.Solutions.Project Fallout_Build_Shared => this.GetProject("Fallout.Build.Shared"); - public Fallout.Application.Solutions.Project Fallout_Build_Tests => this.GetProject("Fallout.Build.Tests"); public Fallout.Application.Solutions.Project Fallout_Cli => this.GetProject("Fallout.Cli"); public Fallout.Application.Solutions.Project Fallout_Cli_Tests => this.GetProject("Fallout.Cli.Tests"); - public Fallout.Application.Solutions.Project Fallout_Common_Tests => this.GetProject("Fallout.Common.Tests"); - public Fallout.Application.Solutions.Project Fallout_Components_Tests => this.GetProject("Fallout.Components.Tests"); public Fallout.Application.Solutions.Project Fallout_Consumer_Local => this.GetProject("Fallout.Consumer.Local"); public Fallout.Application.Solutions.Project Fallout_Consumer_NuGet => this.GetProject("Fallout.Consumer.NuGet"); public Fallout.Application.Solutions.Project Fallout_Domain => this.GetProject("Fallout.Domain"); public Fallout.Application.Solutions.Project Fallout_Domain_Tests => this.GetProject("Fallout.Domain.Tests"); public Fallout.Application.Solutions.Project Fallout_Infrastructure_CI => this.GetProject("Fallout.Infrastructure.CI"); + public Fallout.Application.Solutions.Project Fallout_Infrastructure_CI_Tests => this.GetProject("Fallout.Infrastructure.CI.Tests"); public Fallout.Application.Solutions.Project Fallout_Infrastructure_ProjectModel => this.GetProject("Fallout.Infrastructure.ProjectModel"); + public Fallout.Application.Solutions.Project Fallout_Infrastructure_ProjectModel_Tests => this.GetProject("Fallout.Infrastructure.ProjectModel.Tests"); public Fallout.Application.Solutions.Project Fallout_Infrastructure_Solutions => this.GetProject("Fallout.Infrastructure.Solutions"); + public Fallout.Application.Solutions.Project Fallout_Infrastructure_Solutions_Tests => this.GetProject("Fallout.Infrastructure.Solutions.Tests"); public Fallout.Application.Solutions.Project Fallout_Infrastructure_Tooling => this.GetProject("Fallout.Infrastructure.Tooling"); + public Fallout.Application.Solutions.Project Fallout_Infrastructure_Tooling_Tests => this.GetProject("Fallout.Infrastructure.Tooling.Tests"); public Fallout.Application.Solutions.Project Fallout_Kernel => this.GetProject("Fallout.Kernel"); public Fallout.Application.Solutions.Project Fallout_Kernel_IO_Compression => this.GetProject("Fallout.Kernel.IO.Compression"); public Fallout.Application.Solutions.Project Fallout_Kernel_IO_Globbing => this.GetProject("Fallout.Kernel.IO.Globbing"); public Fallout.Application.Solutions.Project Fallout_Kernel_Net => this.GetProject("Fallout.Kernel.Net"); + public Fallout.Application.Solutions.Project Fallout_Kernel_Tests => this.GetProject("Fallout.Kernel.Tests"); public Fallout.Application.Solutions.Project Fallout_Kernel_Text_Json => this.GetProject("Fallout.Kernel.Text.Json"); public Fallout.Application.Solutions.Project Fallout_Kernel_Text_Yaml => this.GetProject("Fallout.Kernel.Text.Yaml"); public Fallout.Application.Solutions.Project Fallout_Migrate => this.GetProject("Fallout.Migrate"); @@ -42,13 +48,9 @@ internal class Solution(AbsolutePath path, object handle) : Fallout.Application. public Fallout.Application.Solutions.Project Fallout_MSBuildTasks => this.GetProject("Fallout.MSBuildTasks"); public Fallout.Application.Solutions.Project Fallout_Persistence_Solution => this.GetProject("Fallout.Persistence.Solution"); public Fallout.Application.Solutions.Project Fallout_Persistence_Solution_Benchmarks => this.GetProject("Fallout.Persistence.Solution.Benchmarks"); - public Fallout.Application.Solutions.Project Fallout_ProjectModel_Tests => this.GetProject("Fallout.ProjectModel.Tests"); - public Fallout.Application.Solutions.Project Fallout_Solution_Tests => this.GetProject("Fallout.Solution.Tests"); public Fallout.Application.Solutions.Project Fallout_SourceGenerators => this.GetProject("Fallout.SourceGenerators"); public Fallout.Application.Solutions.Project Fallout_SourceGenerators_Tests => this.GetProject("Fallout.SourceGenerators.Tests"); public Fallout.Application.Solutions.Project Fallout_Tooling_Generator => this.GetProject("Fallout.Tooling.Generator"); - public Fallout.Application.Solutions.Project Fallout_Tooling_Tests => this.GetProject("Fallout.Tooling.Tests"); - public Fallout.Application.Solutions.Project Fallout_Utilities_Tests => this.GetProject("Fallout.Utilities.Tests"); public Fallout.Application.Solutions.Project Nuke_Common => this.GetProject("Nuke.Common"); public Fallout.Application.Solutions.Project Nuke_Common_Shim_Tests => this.GetProject("Nuke.Common.Shim.Tests"); public Fallout.Application.Solutions.Project Nuke_Components => this.GetProject("Nuke.Components");