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..705eae856 100644 --- a/AssemblyInfo.cs +++ b/AssemblyInfo.cs @@ -1,21 +1,24 @@ 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")] +[assembly: InternalsVisibleTo("Fallout.Application.Tools")] +[assembly: InternalsVisibleTo("Fallout.Infrastructure.CI")] [assembly: InternalsVisibleTo("Fallout.Common.Tests")] [assembly: InternalsVisibleTo("Fallout.Cli")] [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")] -[assembly: InternalsVisibleTo("Fallout.Tooling")] +[assembly: InternalsVisibleTo("Fallout.Application.Tooling")] +[assembly: InternalsVisibleTo("Fallout.Infrastructure.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/CHANGELOG.md b/CHANGELOG.md index 268b5bcd6..2901e9ffa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,10 @@ 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. + - **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/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.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..aad2ae16b 100644 --- a/build/Build.Contributors.cs +++ b/build/Build.Contributors.cs @@ -1,12 +1,11 @@ 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..d59836861 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; +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.Licenses.cs b/build/Build.Licenses.cs index 1fb0f96ca..9c6ca2b7f 100644 --- a/build/Build.Licenses.cs +++ b/build/Build.Licenses.cs @@ -1,11 +1,12 @@ 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.Application.IO.HttpTasks; using Fallout.Application; using Fallout.Application.Components; +using Fallout.Kernel.IO; +using Fallout.Application.IO; partial class Build { diff --git a/build/Build.PublicApi.cs b/build/Build.PublicApi.cs index 9872fc984..6504ae02b 100644 --- a/build/Build.PublicApi.cs +++ b/build/Build.PublicApi.cs @@ -2,11 +2,10 @@ using System.Linq; 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..e99232e05 100644 --- a/build/Build.RunTargetInDockerTest.cs +++ b/build/Build.RunTargetInDockerTest.cs @@ -1,9 +1,8 @@ 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..7d26211c4 100644 --- a/build/Build.cs +++ b/build/Build.cs @@ -2,11 +2,6 @@ using System.Collections.Generic; using System.Linq; 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 +13,11 @@ using Fallout.Application.Tooling; using Fallout.Infrastructure.Tooling; using Fallout.Application.Tools.GitHub; +using Fallout.Kernel.IO; +using Fallout.Kernel; +using Fallout.Infrastructure.CI.GitHubActions; +using Fallout.Application.Solutions; +using Fallout.Infrastructure.ProjectModel; [DotNetVerbosityMapping] [ShutdownDotNetAfterServerBuild] @@ -41,7 +41,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 +98,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/build/_build.csproj b/build/_build.csproj index cee68e3d4..f58cff136 100644 --- a/build/_build.csproj +++ b/build/_build.csproj @@ -1,6 +1,6 @@  - + Exe @@ -66,11 +66,26 @@ - + + + - + + + + + + + + + + + + + diff --git a/docs/adr/0006-onion-layering-and-namespace-realignment.md b/docs/adr/0006-onion-layering-and-namespace-realignment.md index f4553cd68..2e228fd22 100644 --- a/docs/adr/0006-onion-layering-and-namespace-realignment.md +++ b/docs/adr/0006-onion-layering-and-namespace-realignment.md @@ -85,6 +85,19 @@ 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." + +- **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 f80ad20d3..3286349ec 100644 --- a/docs/spikes/0003-onion-infrastructure-ring.md +++ b/docs/spikes/0003-onion-infrastructure-ring.md @@ -1,6 +1,8 @@ # 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, 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. 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`) @@ -36,7 +38,32 @@ 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. -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.*`. + +### 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. +- **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: +- **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** ✅ 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.** + - **`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). @@ -64,6 +91,8 @@ 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). ## Next-session checklist diff --git a/fallout.slnx b/fallout.slnx index 2ef5186a5..1d16cb43b 100644 --- a/fallout.slnx +++ b/fallout.slnx @@ -11,10 +11,12 @@ - - + + + + - + @@ -22,18 +24,20 @@ - + - + + - - - - - - - + + + + + + + + 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 62% rename from src/Fallout.Components/Fallout.Components.csproj rename to src/Fallout.Application.Components/Fallout.Application.Components.csproj index 7b70d2480..4a00acd03 100644 --- a/src/Fallout.Components/Fallout.Components.csproj +++ b/src/Fallout.Application.Components/Fallout.Application.Components.csproj @@ -4,8 +4,9 @@ net10.0 + - + diff --git a/src/Fallout.Components/ICompile.cs b/src/Fallout.Application.Components/ICompile.cs similarity index 97% rename from src/Fallout.Components/ICompile.cs rename to src/Fallout.Application.Components/ICompile.cs index 0f5aa1bd2..1f936ba74 100644 --- a/src/Fallout.Components/ICompile.cs +++ b/src/Fallout.Application.Components/ICompile.cs @@ -1,13 +1,13 @@ using System; 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; +using Fallout.Application.Solutions; namespace Fallout.Application.Components; diff --git a/src/Fallout.Components/ICreateGitHubRelease.cs b/src/Fallout.Application.Components/ICreateGitHubRelease.cs similarity index 92% rename from src/Fallout.Components/ICreateGitHubRelease.cs rename to src/Fallout.Application.Components/ICreateGitHubRelease.cs index 92a5b1d22..c4043199e 100644 --- a/src/Fallout.Components/ICreateGitHubRelease.cs +++ b/src/Fallout.Application.Components/ICreateGitHubRelease.cs @@ -3,15 +3,14 @@ using System.IO; using System.Linq; using System.Threading.Tasks; -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; +using Fallout.Application.CI; +using Fallout.Application.ChangeLog; namespace Fallout.Application.Components; [ParameterPrefix(GitHubRelease)] @@ -19,7 +18,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/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 89% rename from src/Fallout.Components/IHasArtifacts.cs rename to src/Fallout.Application.Components/IHasArtifacts.cs index 802594dc2..1900a11a5 100644 --- a/src/Fallout.Components/IHasArtifacts.cs +++ b/src/Fallout.Application.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/IHasChangelog.cs b/src/Fallout.Application.Components/IHasChangelog.cs similarity index 78% rename from src/Fallout.Components/IHasChangelog.cs rename to src/Fallout.Application.Components/IHasChangelog.cs index 0fd2d67c0..14f0f1177 100644 --- a/src/Fallout.Components/IHasChangelog.cs +++ b/src/Fallout.Application.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/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 91% rename from src/Fallout.Components/IHasGitRepository.cs rename to src/Fallout.Application.Components/IHasGitRepository.cs index 2fac78e1c..4fb1ade8e 100644 --- a/src/Fallout.Components/IHasGitRepository.cs +++ b/src/Fallout.Application.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/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 88% rename from src/Fallout.Components/IHasReports.cs rename to src/Fallout.Application.Components/IHasReports.cs index cd7be07ed..c3411fdb4 100644 --- a/src/Fallout.Components/IHasReports.cs +++ b/src/Fallout.Application.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/IHasSolution.cs b/src/Fallout.Application.Components/IHasSolution.cs similarity index 86% rename from src/Fallout.Components/IHasSolution.cs rename to src/Fallout.Application.Components/IHasSolution.cs index 2bee32a54..013158d79 100644 --- a/src/Fallout.Components/IHasSolution.cs +++ b/src/Fallout.Application.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/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 93% rename from src/Fallout.Components/IPack.cs rename to src/Fallout.Application.Components/IPack.cs index 7099d72e6..415773ae1 100644 --- a/src/Fallout.Components/IPack.cs +++ b/src/Fallout.Application.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.Application.Components/IPublish.cs similarity index 97% rename from src/Fallout.Components/IPublish.cs rename to src/Fallout.Application.Components/IPublish.cs index 4704fe888..2d5ce881b 100644 --- a/src/Fallout.Components/IPublish.cs +++ b/src/Fallout.Application.Components/IPublish.cs @@ -3,14 +3,12 @@ using System.Collections.Generic; 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.Application.Components/IReportCoverage.cs similarity index 92% rename from src/Fallout.Components/IReportCoverage.cs rename to src/Fallout.Application.Components/IReportCoverage.cs index 64e732e2e..eb476c470 100644 --- a/src/Fallout.Components/IReportCoverage.cs +++ b/src/Fallout.Application.Components/IReportCoverage.cs @@ -1,17 +1,17 @@ using System; 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; +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/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 96% rename from src/Fallout.Components/ISignPackages.cs rename to src/Fallout.Application.Components/ISignPackages.cs index f1b7d183b..8a88fa97c 100644 --- a/src/Fallout.Components/ISignPackages.cs +++ b/src/Fallout.Application.Components/ISignPackages.cs @@ -2,13 +2,13 @@ using System.Collections.Generic; 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; +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.Application.Components/ITest.cs similarity index 86% rename from src/Fallout.Components/ITest.cs rename to src/Fallout.Application.Components/ITest.cs index 710dc9fab..2c5ada7da 100644 --- a/src/Fallout.Components/ITest.cs +++ b/src/Fallout.Application.Components/ITest.cs @@ -2,19 +2,17 @@ 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.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; +using Fallout.Application.CI; +using Fallout.Application.Solutions; 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/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.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/Fallout.Application.Solutions/Model.cs b/src/Fallout.Application.Solutions/Model.cs new file mode 100644 index 000000000..e1fa7231a --- /dev/null +++ b/src/Fallout.Application.Solutions/Model.cs @@ -0,0 +1,138 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text.RegularExpressions; +using Fallout.Kernel.IO; +using Fallout.Kernel; + +namespace Fallout.Application.Solutions; + +public interface IProjectContainer +{ + IProjectContainer Parent { get; } + IReadOnlyCollection Projects { get; } + IReadOnlyCollection SolutionFolders { get; } +} + +public static class ProjectContainerExtensions +{ + public static SolutionFolder GetSolutionFolder(this IProjectContainer container, string name) + { + return container.SolutionFolders.SingleOrDefault(x => name.Equals(x.Name, StringComparison.Ordinal)); + } + + /// + /// Gets a project by its name. + /// + public static Project GetProject(this IProjectContainer container, string name) + { + return container.Projects.SingleOrDefault(x => name.Equals(x.Name, StringComparison.Ordinal)); + } +} + +public class Solution : IProjectContainer, IAbsolutePathHolder +{ + private readonly List _allProjects = new(); + private readonly List _allSolutionFolders = new(); + + /// + /// 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) + { + Path = path; + Handle = handle; + } + + /// The opaque serializer model this solution was read from (null if constructed in-memory). + internal object Handle { get; } + + 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 => _allProjects; + public IReadOnlyCollection AllSolutionFolders => _allSolutionFolders; + + IProjectContainer IProjectContainer.Parent => null; + public IReadOnlyCollection Projects => AllProjects.Where(x => x.Parent == this).ToList(); + public IReadOnlyCollection SolutionFolders => AllSolutionFolders.Where(x => x.Parent == this).ToList(); + + public static implicit operator string(Solution solution) => solution.Path; + public static implicit operator AbsolutePath(Solution solution) => solution.Path; + + public IEnumerable GetAllProjects(string wildcardPattern) + { + wildcardPattern = $"^{wildcardPattern}$"; + var regex = new Regex(wildcardPattern + .Replace(".", "\\.") + .Replace("*", ".*")); + return AllProjects.Where(x => regex.IsMatch(x.Name)); + } + + public void Save(AbsolutePath path = null) + { + Path = (path ?? Path).NotNull(); + SolutionServices.Serializer.Save(this, Path); + } +} + +public class SolutionItem +{ + private protected SolutionItem(string name, Solution solution) + { + Name = name; + Solution = solution; + } + + public string Name { get; } + + public Solution Solution { get; } + public IProjectContainer Parent { get; internal set; } + + public override string ToString() => Name; +} + +public class SolutionFolder : SolutionItem, IProjectContainer +{ + 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 : SolutionItem, IAbsolutePathHolder +{ + internal Project(string name, string relativePath, Solution solution) + : base(name, solution) + { + RelativePath = relativePath; + } + + public string RelativePath { get; } + public AbsolutePath Path => Solution.Directory.NotNull() / RelativePath; + public string FileName => System.IO.Path.GetFileName(RelativePath); + public AbsolutePath Directory => Path?.Parent; + + public static implicit operator string(Project project) => project.Path; + public static implicit operator AbsolutePath(Project project) => project.Path; +} diff --git a/src/Fallout.Application.Solutions/ProjectQueryExtensions.cs b/src/Fallout.Application.Solutions/ProjectQueryExtensions.cs new file mode 100644 index 000000000..f09b98be7 --- /dev/null +++ b/src/Fallout.Application.Solutions/ProjectQueryExtensions.cs @@ -0,0 +1,16 @@ +using Fallout.Kernel.IO; + +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. +// 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/Fallout.Application.Solutions/SolutionModelExtensions.cs b/src/Fallout.Application.Solutions/SolutionModelExtensions.cs new file mode 100644 index 000000000..b2a4a0dad --- /dev/null +++ b/src/Fallout.Application.Solutions/SolutionModelExtensions.cs @@ -0,0 +1,17 @@ +using Fallout.Kernel.IO; + +namespace Fallout.Application.Solutions; + +public static class SolutionModelExtensions +{ + public static Solution ReadSolution(this AbsolutePath path) + { + return SolutionServices.Serializer.Open(path); + } + + public static Solution ReadSolution(this AbsolutePath path) + where T : Solution + { + return SolutionServices.Serializer.Open(path); + } +} diff --git a/src/Fallout.Application.Solutions/SolutionServices.cs b/src/Fallout.Application.Solutions/SolutionServices.cs new file mode 100644 index 000000000..70729c204 --- /dev/null +++ b/src/Fallout.Application.Solutions/SolutionServices.cs @@ -0,0 +1,55 @@ +using Fallout.Kernel.IO; + +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 +// 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; } +} diff --git a/src/Fallout.Tooling/ArgumentStringHandler.cs b/src/Fallout.Application.Tooling/ArgumentStringHandler.cs similarity index 97% rename from src/Fallout.Tooling/ArgumentStringHandler.cs rename to src/Fallout.Application.Tooling/ArgumentStringHandler.cs index 97836342c..f4a91f1c5 100644 --- a/src/Fallout.Tooling/ArgumentStringHandler.cs +++ b/src/Fallout.Application.Tooling/ArgumentStringHandler.cs @@ -4,9 +4,8 @@ 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.Application.Tooling/Configure.cs similarity index 98% rename from src/Fallout.Tooling/Configure.cs rename to src/Fallout.Application.Tooling/Configure.cs index 591b00d8e..38ec3febc 100644 --- a/src/Fallout.Tooling/Configure.cs +++ b/src/Fallout.Application.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.Application.Tooling/DelegateHelper.cs similarity index 99% rename from src/Fallout.Tooling/DelegateHelper.cs rename to src/Fallout.Application.Tooling/DelegateHelper.cs index 3d47d82b1..7d1b6fa87 100644 --- a/src/Fallout.Tooling/DelegateHelper.cs +++ b/src/Fallout.Application.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.Application.Tooling/Enumeration.cs similarity index 98% rename from src/Fallout.Tooling/Enumeration.cs rename to src/Fallout.Application.Tooling/Enumeration.cs index d94f9145e..c4bd3847a 100644 --- a/src/Fallout.Tooling/Enumeration.cs +++ b/src/Fallout.Application.Tooling/Enumeration.cs @@ -4,8 +4,7 @@ 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.Application.Tooling/EnumerationJsonConverter.cs similarity index 97% rename from src/Fallout.Tooling/EnumerationJsonConverter.cs rename to src/Fallout.Application.Tooling/EnumerationJsonConverter.cs index b52b069c9..3ff322b59 100644 --- a/src/Fallout.Tooling/EnumerationJsonConverter.cs +++ b/src/Fallout.Application.Tooling/EnumerationJsonConverter.cs @@ -3,8 +3,7 @@ using System.Globalization; 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.Application.Tooling/Fallout.Application.Tooling.csproj b/src/Fallout.Application.Tooling/Fallout.Application.Tooling.csproj new file mode 100644 index 000000000..1d172f446 --- /dev/null +++ b/src/Fallout.Application.Tooling/Fallout.Application.Tooling.csproj @@ -0,0 +1,19 @@ + + + + + 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 97% rename from src/Fallout.Tooling/ObjectFromFieldConverter.cs rename to src/Fallout.Application.Tooling/ObjectFromFieldConverter.cs index 61b8e17c6..351989ac1 100644 --- a/src/Fallout.Tooling/ObjectFromFieldConverter.cs +++ b/src/Fallout.Application.Tooling/ObjectFromFieldConverter.cs @@ -3,8 +3,7 @@ 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.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 99% rename from src/Fallout.Tooling/Options.cs rename to src/Fallout.Application.Tooling/Options.cs index d653fe718..116b1a035 100644 --- a/src/Fallout.Tooling/Options.cs +++ b/src/Fallout.Application.Tooling/Options.cs @@ -7,9 +7,8 @@ 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/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 95% rename from src/Fallout.Tooling/ProcessException.cs rename to src/Fallout.Application.Tooling/ProcessException.cs index 8cba74220..96a33823f 100644 --- a/src/Fallout.Tooling/ProcessException.cs +++ b/src/Fallout.Application.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.Application.Tooling/ProcessExtensions.cs similarity index 96% rename from src/Fallout.Tooling/ProcessExtensions.cs rename to src/Fallout.Application.Tooling/ProcessExtensions.cs index b45851fbe..de9f5065d 100644 --- a/src/Fallout.Tooling/ProcessExtensions.cs +++ b/src/Fallout.Application.Tooling/ProcessExtensions.cs @@ -3,8 +3,7 @@ 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/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 99% rename from src/Fallout.Tooling/ToolOptions.Arguments.cs rename to src/Fallout.Application.Tooling/ToolOptions.Arguments.cs index 3c4be01b3..302a60413 100644 --- a/src/Fallout.Tooling/ToolOptions.Arguments.cs +++ b/src/Fallout.Application.Tooling/ToolOptions.Arguments.cs @@ -4,9 +4,8 @@ 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.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 89% rename from src/Fallout.Tooling/ToolOptions.Logger.cs rename to src/Fallout.Application.Tooling/ToolOptions.Logger.cs index 87616efc1..5a9fb3e46 100644 --- a/src/Fallout.Tooling/ToolOptions.Logger.cs +++ b/src/Fallout.Application.Tooling/ToolOptions.Logger.cs @@ -1,7 +1,6 @@ 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.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 93% rename from src/Fallout.Tooling/ToolOptions.Secrets.cs rename to src/Fallout.Application.Tooling/ToolOptions.Secrets.cs index 0c3bce2ce..ad89f5f8e 100644 --- a/src/Fallout.Tooling/ToolOptions.Secrets.cs +++ b/src/Fallout.Application.Tooling/ToolOptions.Secrets.cs @@ -1,8 +1,7 @@ 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.Application.Tooling/ToolOptions.cs similarity index 94% rename from src/Fallout.Tooling/ToolOptions.cs rename to src/Fallout.Application.Tooling/ToolOptions.cs index 8e65826d4..02fabd151 100644 --- a/src/Fallout.Tooling/ToolOptions.cs +++ b/src/Fallout.Application.Tooling/ToolOptions.cs @@ -2,8 +2,7 @@ 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/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 98% rename from src/Fallout.Tooling/ToolResolver.cs rename to src/Fallout.Application.Tooling/ToolResolver.cs index 9c5cb8ad1..833c64aca 100644 --- a/src/Fallout.Tooling/ToolResolver.cs +++ b/src/Fallout.Application.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.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 98% rename from src/Fallout.Tooling/ToolTasks.Logger.cs rename to src/Fallout.Application.Tooling/ToolTasks.Logger.cs index 6e42d7ce6..c55a5d372 100644 --- a/src/Fallout.Tooling/ToolTasks.Logger.cs +++ b/src/Fallout.Application.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.Application.Tooling/ToolTasks.Run.cs similarity index 97% rename from src/Fallout.Tooling/ToolTasks.Run.cs rename to src/Fallout.Application.Tooling/ToolTasks.Run.cs index 7baf92d29..e04c06e00 100644 --- a/src/Fallout.Tooling/ToolTasks.Run.cs +++ b/src/Fallout.Application.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.Application.Tooling/ToolTasks.ToolPath.cs similarity index 98% rename from src/Fallout.Tooling/ToolTasks.ToolPath.cs rename to src/Fallout.Application.Tooling/ToolTasks.ToolPath.cs index c1bb6828c..8c6033d9a 100644 --- a/src/Fallout.Tooling/ToolTasks.ToolPath.cs +++ b/src/Fallout.Application.Tooling/ToolTasks.ToolPath.cs @@ -1,7 +1,6 @@ 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/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 99% rename from src/Fallout.Tooling/ToolingServices.cs rename to src/Fallout.Application.Tooling/ToolingServices.cs index b391f115e..118fa3cc8 100644 --- a/src/Fallout.Tooling/ToolingServices.cs +++ b/src/Fallout.Application.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.Common/Tools/AzureKeyVault/AzureKeyVault.cs b/src/Fallout.Application.Tools/AzureKeyVault/AzureKeyVault.cs similarity index 98% rename from src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVault.cs rename to src/Fallout.Application.Tools/AzureKeyVault/AzureKeyVault.cs index 9dab14e30..ba29de6a1 100644 --- a/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVault.cs +++ b/src/Fallout.Application.Tools/AzureKeyVault/AzureKeyVault.cs @@ -5,8 +5,7 @@ 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/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 98% rename from src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultAttributeBase.cs rename to src/Fallout.Application.Tools/AzureKeyVault/AzureKeyVaultAttributeBase.cs index e4eac4482..7147b0fd1 100644 --- a/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultAttributeBase.cs +++ b/src/Fallout.Application.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/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 98% rename from src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultTasks.cs rename to src/Fallout.Application.Tools/AzureKeyVault/AzureKeyVaultTasks.cs index 371912abd..d30f9a92f 100644 --- a/src/Fallout.Common/Tools/AzureKeyVault/AzureKeyVaultTasks.cs +++ b/src/Fallout.Application.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/AzureSignTool/AzureSignTool.Generated.cs b/src/Fallout.Application.Tools/AzureSignTool/AzureSignTool.Generated.cs similarity index 99% rename from src/Fallout.Common/Tools/AzureSignTool/AzureSignTool.Generated.cs rename to src/Fallout.Application.Tools/AzureSignTool/AzureSignTool.Generated.cs index 9857b7625..7675ae299 100644 --- a/src/Fallout.Common/Tools/AzureSignTool/AzureSignTool.Generated.cs +++ b/src/Fallout.Application.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/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 99% rename from src/Fallout.Common/Tools/BenchmarkDotNet/BenchmarkDotNet.Generated.cs rename to src/Fallout.Application.Tools/BenchmarkDotNet/BenchmarkDotNet.Generated.cs index 0a8ef7034..e61714235 100644 --- a/src/Fallout.Common/Tools/BenchmarkDotNet/BenchmarkDotNet.Generated.cs +++ b/src/Fallout.Application.Tools/BenchmarkDotNet/BenchmarkDotNet.Generated.cs @@ -1,7 +1,3 @@ -// 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/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 98% rename from src/Fallout.Common/Tools/Boots/Boots.Generated.cs rename to src/Fallout.Application.Tools/Boots/Boots.Generated.cs index 46260aa87..6c323c4b9 100644 --- a/src/Fallout.Common/Tools/Boots/Boots.Generated.cs +++ b/src/Fallout.Application.Tools/Boots/Boots.Generated.cs @@ -1,7 +1,3 @@ -// 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/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 99% rename from src/Fallout.Common/ChangeLog/ChangeLogTasks.cs rename to src/Fallout.Application.Tools/ChangeLogTasks.cs index 71991ce69..e9041934a 100644 --- a/src/Fallout.Common/ChangeLog/ChangeLogTasks.cs +++ b/src/Fallout.Application.Tools/ChangeLogTasks.cs @@ -3,15 +3,15 @@ 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; +namespace Fallout.Application.ChangeLog; public static class ChangelogTasks { diff --git a/src/Fallout.Common/Tools/Chocolatey/Chocolatey.Generated.cs b/src/Fallout.Application.Tools/Chocolatey/Chocolatey.Generated.cs similarity index 99% rename from src/Fallout.Common/Tools/Chocolatey/Chocolatey.Generated.cs rename to src/Fallout.Application.Tools/Chocolatey/Chocolatey.Generated.cs index 27c87948c..8b5500e96 100644 --- a/src/Fallout.Common/Tools/Chocolatey/Chocolatey.Generated.cs +++ b/src/Fallout.Application.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/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 97% rename from src/Fallout.Common/Tools/CodeMetrics/CodeMetrics.Generated.cs rename to src/Fallout.Application.Tools/CodeMetrics/CodeMetrics.Generated.cs index 214b1db0f..2cfddf38f 100644 --- a/src/Fallout.Common/Tools/CodeMetrics/CodeMetrics.Generated.cs +++ b/src/Fallout.Application.Tools/CodeMetrics/CodeMetrics.Generated.cs @@ -1,7 +1,3 @@ -// 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/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 99% rename from src/Fallout.Common/Tools/Codecov/Codecov.Generated.cs rename to src/Fallout.Application.Tools/Codecov/Codecov.Generated.cs index 393fb5d21..957b11a53 100644 --- a/src/Fallout.Common/Tools/Codecov/Codecov.Generated.cs +++ b/src/Fallout.Application.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/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 96% rename from src/Fallout.Common/Tools/Codecov/CodecovTasks.cs rename to src/Fallout.Application.Tools/Codecov/CodecovTasks.cs index db864cfc6..51dece938 100644 --- a/src/Fallout.Common/Tools/Codecov/CodecovTasks.cs +++ b/src/Fallout.Application.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/CorFlags/CorFlags.Generated.cs b/src/Fallout.Application.Tools/CorFlags/CorFlags.Generated.cs similarity index 98% rename from src/Fallout.Common/Tools/CorFlags/CorFlags.Generated.cs rename to src/Fallout.Application.Tools/CorFlags/CorFlags.Generated.cs index c4fdbb969..3cd7078af 100644 --- a/src/Fallout.Common/Tools/CorFlags/CorFlags.Generated.cs +++ b/src/Fallout.Application.Tools/CorFlags/CorFlags.Generated.cs @@ -1,7 +1,3 @@ -// 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/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 99% rename from src/Fallout.Common/Tools/CoverallsNet/CoverallsNet.Generated.cs rename to src/Fallout.Application.Tools/CoverallsNet/CoverallsNet.Generated.cs index 8164e97d0..ccea9c0b7 100644 --- a/src/Fallout.Common/Tools/CoverallsNet/CoverallsNet.Generated.cs +++ b/src/Fallout.Application.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/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 99% rename from src/Fallout.Common/Tools/Coverlet/Coverlet.Generated.cs rename to src/Fallout.Application.Tools/Coverlet/Coverlet.Generated.cs index 34aa9fa61..5424670e1 100644 --- a/src/Fallout.Common/Tools/Coverlet/Coverlet.Generated.cs +++ b/src/Fallout.Application.Tools/Coverlet/Coverlet.Generated.cs @@ -1,7 +1,3 @@ -// 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/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 99% rename from src/Fallout.Common/Tools/Discord/Discord.Generated.cs rename to src/Fallout.Application.Tools/Discord/Discord.Generated.cs index d1efe0e77..75481eba9 100644 --- a/src/Fallout.Common/Tools/Discord/Discord.Generated.cs +++ b/src/Fallout.Application.Tools/Discord/Discord.Generated.cs @@ -1,7 +1,3 @@ -// 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/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 95% rename from src/Fallout.Common/Tools/Discord/DiscordTasks.cs rename to src/Fallout.Application.Tools/Discord/DiscordTasks.cs index b1b3c03b0..314126812 100644 --- a/src/Fallout.Common/Tools/Discord/DiscordTasks.cs +++ b/src/Fallout.Application.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.Application.Tools/DocFX/DocFX.Generated.cs similarity index 99% rename from src/Fallout.Common/Tools/DocFX/DocFX.Generated.cs rename to src/Fallout.Application.Tools/DocFX/DocFX.Generated.cs index d129d413e..6f132e3f7 100644 --- a/src/Fallout.Common/Tools/DocFX/DocFX.Generated.cs +++ b/src/Fallout.Application.Tools/DocFX/DocFX.Generated.cs @@ -1,7 +1,3 @@ -// 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/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 99% rename from src/Fallout.Common/Tools/Docker/Docker.Generated.cs rename to src/Fallout.Application.Tools/Docker/Docker.Generated.cs index 85ae6e4dd..41f800964 100644 --- a/src/Fallout.Common/Tools/Docker/Docker.Generated.cs +++ b/src/Fallout.Application.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/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 98% rename from src/Fallout.Common/Tools/Docker/DockerTargetDefinitionExtensions.cs rename to src/Fallout.Application.Tools/Docker/DockerTargetDefinitionExtensions.cs index ad9182c8e..159a26eca 100644 --- a/src/Fallout.Common/Tools/Docker/DockerTargetDefinitionExtensions.cs +++ b/src/Fallout.Application.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; @@ -13,7 +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.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 99% rename from src/Fallout.Common/Tools/DotCover/DotCover.Generated.cs rename to src/Fallout.Application.Tools/DotCover/DotCover.Generated.cs index 100e8a4b4..8276b16df 100644 --- a/src/Fallout.Common/Tools/DotCover/DotCover.Generated.cs +++ b/src/Fallout.Application.Tools/DotCover/DotCover.Generated.cs @@ -1,7 +1,3 @@ -// 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/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 97% rename from src/Fallout.Common/Tools/DotCover/DotCoverTasks.cs rename to src/Fallout.Application.Tools/DotCover/DotCoverTasks.cs index 5fdf14f6d..13dbe36f7 100644 --- a/src/Fallout.Common/Tools/DotCover/DotCoverTasks.cs +++ b/src/Fallout.Application.Tools/DotCover/DotCoverTasks.cs @@ -1,6 +1,5 @@ -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/DotCover/TeamCitySetDotCoverHomePathAttribute.cs b/src/Fallout.Application.Tools/DotCover/TeamCitySetDotCoverHomePathAttribute.cs similarity index 75% rename from src/Fallout.Common/Tools/DotCover/TeamCitySetDotCoverHomePathAttribute.cs rename to src/Fallout.Application.Tools/DotCover/TeamCitySetDotCoverHomePathAttribute.cs index 194476ed8..fe5a7c91e 100644 --- a/src/Fallout.Common/Tools/DotCover/TeamCitySetDotCoverHomePathAttribute.cs +++ b/src/Fallout.Application.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/DotMemoryUnit/DotMemoryUnit.Generated.cs b/src/Fallout.Application.Tools/DotMemoryUnit/DotMemoryUnit.Generated.cs similarity index 92% rename from src/Fallout.Common/Tools/DotMemoryUnit/DotMemoryUnit.Generated.cs rename to src/Fallout.Application.Tools/DotMemoryUnit/DotMemoryUnit.Generated.cs index 2c5ae2ea8..e491cd72b 100644 --- a/src/Fallout.Common/Tools/DotMemoryUnit/DotMemoryUnit.Generated.cs +++ b/src/Fallout.Application.Tools/DotMemoryUnit/DotMemoryUnit.Generated.cs @@ -1,7 +1,3 @@ -// 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/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 99% rename from src/Fallout.Common/Tools/DotNet/DotNet.Generated.cs rename to src/Fallout.Application.Tools/DotNet/DotNet.Generated.cs index 79b7f7268..e6762b3d8 100644 --- a/src/Fallout.Common/Tools/DotNet/DotNet.Generated.cs +++ b/src/Fallout.Application.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/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 99% rename from src/Fallout.Common/Tools/DotnetPackaging/DotnetPackaging.Generated.cs rename to src/Fallout.Application.Tools/DotnetPackaging/DotnetPackaging.Generated.cs index df4a2f404..3849d065f 100644 --- a/src/Fallout.Common/Tools/DotnetPackaging/DotnetPackaging.Generated.cs +++ b/src/Fallout.Application.Tools/DotnetPackaging/DotnetPackaging.Generated.cs @@ -1,7 +1,3 @@ -// 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/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 99% rename from src/Fallout.Common/Tools/EntityFramework/EntityFramework.Generated.cs rename to src/Fallout.Application.Tools/EntityFramework/EntityFramework.Generated.cs index b07baaf64..1e047510e 100644 --- a/src/Fallout.Common/Tools/EntityFramework/EntityFramework.Generated.cs +++ b/src/Fallout.Application.Tools/EntityFramework/EntityFramework.Generated.cs @@ -1,7 +1,3 @@ -// 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/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 97% rename from src/Fallout.Common/Tools/Fixie/Fixie.Generated.cs rename to src/Fallout.Application.Tools/Fixie/Fixie.Generated.cs index 3d19d1392..3ced9133f 100644 --- a/src/Fallout.Common/Tools/Fixie/Fixie.Generated.cs +++ b/src/Fallout.Application.Tools/Fixie/Fixie.Generated.cs @@ -1,7 +1,3 @@ -// 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/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 94% rename from src/Fallout.Common/Tools/Git/Git.Generated.cs rename to src/Fallout.Application.Tools/Git/Git.Generated.cs index aee9cd533..4b8759fb1 100644 --- a/src/Fallout.Common/Tools/Git/Git.Generated.cs +++ b/src/Fallout.Application.Tools/Git/Git.Generated.cs @@ -1,7 +1,3 @@ -// 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/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 98% rename from src/Fallout.Common/Tools/GitHub/GitHubTasks.cs rename to src/Fallout.Application.Tools/GitHub/GitHubTasks.cs index d76599fb7..c51ad60c7 100644 --- a/src/Fallout.Common/Tools/GitHub/GitHubTasks.cs +++ b/src/Fallout.Application.Tools/GitHub/GitHubTasks.cs @@ -3,12 +3,12 @@ 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.Application.Tools/GitLink/GitLink.Generated.cs similarity index 99% rename from src/Fallout.Common/Tools/GitLink/GitLink.Generated.cs rename to src/Fallout.Application.Tools/GitLink/GitLink.Generated.cs index 2a27d648c..1d5b7bbe8 100644 --- a/src/Fallout.Common/Tools/GitLink/GitLink.Generated.cs +++ b/src/Fallout.Application.Tools/GitLink/GitLink.Generated.cs @@ -1,7 +1,3 @@ -// 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/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 99% rename from src/Fallout.Common/Tools/GitReleaseManager/GitReleaseManager.Generated.cs rename to src/Fallout.Application.Tools/GitReleaseManager/GitReleaseManager.Generated.cs index 67effa3c1..a59a57842 100644 --- a/src/Fallout.Common/Tools/GitReleaseManager/GitReleaseManager.Generated.cs +++ b/src/Fallout.Application.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/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 99% rename from src/Fallout.Common/Tools/GitVersion/GitVersion.Generated.cs rename to src/Fallout.Application.Tools/GitVersion/GitVersion.Generated.cs index e1ece2547..537bd63f7 100644 --- a/src/Fallout.Common/Tools/GitVersion/GitVersion.Generated.cs +++ b/src/Fallout.Application.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/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 72% rename from src/Fallout.Common/Tools/GitVersion/GitVersionAttribute.cs rename to src/Fallout.Application.Tools/GitVersion/GitVersionAttribute.cs index 35b930b82..5bc637878 100644 --- a/src/Fallout.Common/Tools/GitVersion/GitVersionAttribute.cs +++ b/src/Fallout.Application.Tools/GitVersion/GitVersionAttribute.cs @@ -1,18 +1,15 @@ 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.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; +using Fallout.Kernel; +using Fallout.Application.CI; namespace Fallout.Application.Tools.GitVersion; /// @@ -46,17 +43,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/GitVersion/GitVersionTasks.cs b/src/Fallout.Application.Tools/GitVersion/GitVersionTasks.cs similarity index 94% rename from src/Fallout.Common/Tools/GitVersion/GitVersionTasks.cs rename to src/Fallout.Application.Tools/GitVersion/GitVersionTasks.cs index fcd8b913a..3127f7306 100644 --- a/src/Fallout.Common/Tools/GitVersion/GitVersionTasks.cs +++ b/src/Fallout.Application.Tools/GitVersion/GitVersionTasks.cs @@ -2,10 +2,9 @@ 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/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 91% rename from src/Fallout.Common/Gitter/GitterTasks.cs rename to src/Fallout.Application.Tools/Gitter/GitterTasks.cs index 7041e4d98..b7a2e59fc 100644 --- a/src/Fallout.Common/Gitter/GitterTasks.cs +++ b/src/Fallout.Application.Tools/Gitter/GitterTasks.cs @@ -1,10 +1,10 @@ -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; +namespace Fallout.Application.Tools.Gitter; // //[Headers("Accept: application/json")] //public interface IGitterRestClient diff --git a/src/Fallout.Common/Tools/Helm/Helm.Generated.cs b/src/Fallout.Application.Tools/Helm/Helm.Generated.cs similarity index 99% rename from src/Fallout.Common/Tools/Helm/Helm.Generated.cs rename to src/Fallout.Application.Tools/Helm/Helm.Generated.cs index 5c7ce9e61..ae24703d8 100644 --- a/src/Fallout.Common/Tools/Helm/Helm.Generated.cs +++ b/src/Fallout.Application.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/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 99% rename from src/Fallout.Common/Tools/ILRepack/ILRepack.Generated.cs rename to src/Fallout.Application.Tools/ILRepack/ILRepack.Generated.cs index 9c5c9c2f9..0e893a0cf 100644 --- a/src/Fallout.Common/Tools/ILRepack/ILRepack.Generated.cs +++ b/src/Fallout.Application.Tools/ILRepack/ILRepack.Generated.cs @@ -1,7 +1,3 @@ -// 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/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 99% rename from src/Fallout.Common/Tools/InnoSetup/InnoSetup.Generated.cs rename to src/Fallout.Application.Tools/InnoSetup/InnoSetup.Generated.cs index ffde34483..dc3e91282 100644 --- a/src/Fallout.Common/Tools/InnoSetup/InnoSetup.Generated.cs +++ b/src/Fallout.Application.Tools/InnoSetup/InnoSetup.Generated.cs @@ -1,7 +1,3 @@ -// 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/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 99% rename from src/Fallout.Common/Tools/Kubernetes/Kubernetes.Generated.cs rename to src/Fallout.Application.Tools/Kubernetes/Kubernetes.Generated.cs index 52f20b3bd..629cff212 100644 --- a/src/Fallout.Common/Tools/Kubernetes/Kubernetes.Generated.cs +++ b/src/Fallout.Application.Tools/Kubernetes/Kubernetes.Generated.cs @@ -1,7 +1,3 @@ -// 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/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 96% rename from src/Fallout.Common/Attributes/LatestGitHubReleaseAttribute.cs rename to src/Fallout.Application.Tools/LatestGitHubReleaseAttribute.cs index fdff354d3..cb618ce47 100644 --- a/src/Fallout.Common/Attributes/LatestGitHubReleaseAttribute.cs +++ b/src/Fallout.Application.Tools/LatestGitHubReleaseAttribute.cs @@ -3,11 +3,10 @@ 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/Tools/MSBuild/MSBuild.Generated.cs b/src/Fallout.Application.Tools/MSBuild/MSBuild.Generated.cs similarity index 99% rename from src/Fallout.Common/Tools/MSBuild/MSBuild.Generated.cs rename to src/Fallout.Application.Tools/MSBuild/MSBuild.Generated.cs index 9c73c8db9..18955bda8 100644 --- a/src/Fallout.Common/Tools/MSBuild/MSBuild.Generated.cs +++ b/src/Fallout.Application.Tools/MSBuild/MSBuild.Generated.cs @@ -1,7 +1,3 @@ -// 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/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 98% rename from src/Fallout.Common/Tools/MSBuild/MSBuildTasks.cs rename to src/Fallout.Application.Tools/MSBuild/MSBuildTasks.cs index 48be1de0d..7c50d6fd8 100644 --- a/src/Fallout.Common/Tools/MSBuild/MSBuildTasks.cs +++ b/src/Fallout.Application.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.Application.Tools/MSBuild/MSBuildToolPathResolver.cs similarity index 98% rename from src/Fallout.Common/Tools/MSBuild/MSBuildToolPathResolver.cs rename to src/Fallout.Application.Tools/MSBuild/MSBuildToolPathResolver.cs index c0937a840..b4d63cdca 100644 --- a/src/Fallout.Common/Tools/MSBuild/MSBuildToolPathResolver.cs +++ b/src/Fallout.Application.Tools/MSBuild/MSBuildToolPathResolver.cs @@ -3,8 +3,7 @@ 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/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 99% rename from src/Fallout.Common/Tools/MSpec/MSpec.Generated.cs rename to src/Fallout.Application.Tools/MSpec/MSpec.Generated.cs index f131b53da..39d869270 100644 --- a/src/Fallout.Common/Tools/MSpec/MSpec.Generated.cs +++ b/src/Fallout.Application.Tools/MSpec/MSpec.Generated.cs @@ -1,7 +1,3 @@ -// 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/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 94% rename from src/Fallout.Common/Tools/MSpec/MSpecTasks.cs rename to src/Fallout.Application.Tools/MSpec/MSpecTasks.cs index f652aeac4..4e27830cb 100644 --- a/src/Fallout.Common/Tools/MSpec/MSpecTasks.cs +++ b/src/Fallout.Application.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/MakeNsis/MakeNSIS.Generated.cs b/src/Fallout.Application.Tools/MakeNsis/MakeNSIS.Generated.cs similarity index 99% rename from src/Fallout.Common/Tools/MakeNsis/MakeNSIS.Generated.cs rename to src/Fallout.Application.Tools/MakeNsis/MakeNSIS.Generated.cs index 75c05c157..7098232b4 100644 --- a/src/Fallout.Common/Tools/MakeNsis/MakeNSIS.Generated.cs +++ b/src/Fallout.Application.Tools/MakeNsis/MakeNSIS.Generated.cs @@ -1,7 +1,3 @@ -// 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/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 95% rename from src/Fallout.Common/Tools/Mastodon/Mastodon.Generated.cs rename to src/Fallout.Application.Tools/Mastodon/Mastodon.Generated.cs index b0bdc20f9..af9e1dba6 100644 --- a/src/Fallout.Common/Tools/Mastodon/Mastodon.Generated.cs +++ b/src/Fallout.Application.Tools/Mastodon/Mastodon.Generated.cs @@ -1,7 +1,3 @@ -// 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/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 96% rename from src/Fallout.Common/Tools/Mastodon/MastodonTasks.cs rename to src/Fallout.Application.Tools/Mastodon/MastodonTasks.cs index 81251a2c7..a252c4419 100644 --- a/src/Fallout.Common/Tools/Mastodon/MastodonTasks.cs +++ b/src/Fallout.Application.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.Application.Tools/MauiCheck/MauiCheck.Generated.cs similarity index 99% rename from src/Fallout.Common/Tools/MauiCheck/MauiCheck.Generated.cs rename to src/Fallout.Application.Tools/MauiCheck/MauiCheck.Generated.cs index d22b5f8bd..c3d534797 100644 --- a/src/Fallout.Common/Tools/MauiCheck/MauiCheck.Generated.cs +++ b/src/Fallout.Application.Tools/MauiCheck/MauiCheck.Generated.cs @@ -1,7 +1,3 @@ -// 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/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 98% rename from src/Fallout.Common/Tools/MinVer/MinVer.Generated.cs rename to src/Fallout.Application.Tools/MinVer/MinVer.Generated.cs index bf8fa3f64..18c09dc6f 100644 --- a/src/Fallout.Common/Tools/MinVer/MinVer.Generated.cs +++ b/src/Fallout.Application.Tools/MinVer/MinVer.Generated.cs @@ -1,7 +1,3 @@ -// 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/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 70% rename from src/Fallout.Common/Tools/MinVer/MinVerAttribute.cs rename to src/Fallout.Application.Tools/MinVer/MinVerAttribute.cs index d4229632f..2bfda4bc8 100644 --- a/src/Fallout.Common/Tools/MinVer/MinVerAttribute.cs +++ b/src/Fallout.Application.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/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 99% rename from src/Fallout.Common/Tools/NSwag/NSwag.Generated.cs rename to src/Fallout.Application.Tools/NSwag/NSwag.Generated.cs index 30658a262..135a61e9a 100644 --- a/src/Fallout.Common/Tools/NSwag/NSwag.Generated.cs +++ b/src/Fallout.Application.Tools/NSwag/NSwag.Generated.cs @@ -1,7 +1,3 @@ -// 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/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 99% rename from src/Fallout.Common/Tools/NUnit/NUnit.Generated.cs rename to src/Fallout.Application.Tools/NUnit/NUnit.Generated.cs index 8a614d7d3..b48405b08 100644 --- a/src/Fallout.Common/Tools/NUnit/NUnit.Generated.cs +++ b/src/Fallout.Application.Tools/NUnit/NUnit.Generated.cs @@ -1,7 +1,3 @@ -// 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/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 99% rename from src/Fallout.Common/Tools/NerdbankGitVersioning/NerdbankGitVersioning.Generated.cs rename to src/Fallout.Application.Tools/NerdbankGitVersioning/NerdbankGitVersioning.Generated.cs index bb7ba5b45..2c4cf174f 100644 --- a/src/Fallout.Common/Tools/NerdbankGitVersioning/NerdbankGitVersioning.Generated.cs +++ b/src/Fallout.Application.Tools/NerdbankGitVersioning/NerdbankGitVersioning.Generated.cs @@ -1,7 +1,3 @@ -// 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/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 69% rename from src/Fallout.Common/Tools/NerdbankGitVersioning/NerdbankGitVersioningAttribute.cs rename to src/Fallout.Application.Tools/NerdbankGitVersioning/NerdbankGitVersioningAttribute.cs index c15391fd0..650525815 100644 --- a/src/Fallout.Common/Tools/NerdbankGitVersioning/NerdbankGitVersioningAttribute.cs +++ b/src/Fallout.Application.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/NerdbankGitVersioning/NerdbankGitVersioningTasks.cs b/src/Fallout.Application.Tools/NerdbankGitVersioning/NerdbankGitVersioningTasks.cs similarity index 93% rename from src/Fallout.Common/Tools/NerdbankGitVersioning/NerdbankGitVersioningTasks.cs rename to src/Fallout.Application.Tools/NerdbankGitVersioning/NerdbankGitVersioningTasks.cs index d33f5fb49..6e129c922 100644 --- a/src/Fallout.Common/Tools/NerdbankGitVersioning/NerdbankGitVersioningTasks.cs +++ b/src/Fallout.Application.Tools/NerdbankGitVersioning/NerdbankGitVersioningTasks.cs @@ -1,10 +1,9 @@ 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.Application.Tools/Netlify/Netlify.Generated.cs similarity index 99% rename from src/Fallout.Common/Tools/Netlify/Netlify.Generated.cs rename to src/Fallout.Application.Tools/Netlify/Netlify.Generated.cs index 6538e1c6b..e0bbd1b38 100644 --- a/src/Fallout.Common/Tools/Netlify/Netlify.Generated.cs +++ b/src/Fallout.Application.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/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 88% rename from src/Fallout.Common/Tools/Netlify/NetlifyTasks.cs rename to src/Fallout.Application.Tools/Netlify/NetlifyTasks.cs index d0de8eeb0..6d2315c6c 100644 --- a/src/Fallout.Common/Tools/Netlify/NetlifyTasks.cs +++ b/src/Fallout.Application.Tools/Netlify/NetlifyTasks.cs @@ -1,9 +1,8 @@ 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.Application.Tools/Npm/Npm.Generated.cs similarity index 99% rename from src/Fallout.Common/Tools/Npm/Npm.Generated.cs rename to src/Fallout.Application.Tools/Npm/Npm.Generated.cs index c8559dc89..e59281cbd 100644 --- a/src/Fallout.Common/Tools/Npm/Npm.Generated.cs +++ b/src/Fallout.Application.Tools/Npm/Npm.Generated.cs @@ -1,7 +1,3 @@ -// 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/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 99% rename from src/Fallout.Common/Tools/NuGet/NuGet.Generated.cs rename to src/Fallout.Application.Tools/NuGet/NuGet.Generated.cs index eec07aad7..4242d6395 100644 --- a/src/Fallout.Common/Tools/NuGet/NuGet.Generated.cs +++ b/src/Fallout.Application.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/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 99% rename from src/Fallout.Common/Tools/NuGetKeyVaultSignTool/NuGetKeyVaultSignTool.Generated.cs rename to src/Fallout.Application.Tools/NuGetKeyVaultSignTool/NuGetKeyVaultSignTool.Generated.cs index a6fef12a6..531656217 100644 --- a/src/Fallout.Common/Tools/NuGetKeyVaultSignTool/NuGetKeyVaultSignTool.Generated.cs +++ b/src/Fallout.Application.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/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 99% rename from src/Fallout.Common/Tools/OctoVersion/OctoVersion.Generated.cs rename to src/Fallout.Application.Tools/OctoVersion/OctoVersion.Generated.cs index 80755f914..d85cc39bf 100644 --- a/src/Fallout.Common/Tools/OctoVersion/OctoVersion.Generated.cs +++ b/src/Fallout.Application.Tools/OctoVersion/OctoVersion.Generated.cs @@ -1,7 +1,3 @@ -// 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/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 93% rename from src/Fallout.Common/Tools/OctoVersion/OctoVersionAttribute.cs rename to src/Fallout.Application.Tools/OctoVersion/OctoVersionAttribute.cs index 51d19eac3..4384e675e 100644 --- a/src/Fallout.Common/Tools/OctoVersion/OctoVersionAttribute.cs +++ b/src/Fallout.Application.Tools/OctoVersion/OctoVersionAttribute.cs @@ -1,17 +1,14 @@ 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.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; +using Fallout.Application.CI; namespace Fallout.Application.Tools.OctoVersion; /// @@ -150,9 +147,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/OctoVersion/OctoVersionTasks.cs b/src/Fallout.Application.Tools/OctoVersion/OctoVersionTasks.cs similarity index 94% rename from src/Fallout.Common/Tools/OctoVersion/OctoVersionTasks.cs rename to src/Fallout.Application.Tools/OctoVersion/OctoVersionTasks.cs index 8449510ab..48af80726 100644 --- a/src/Fallout.Common/Tools/OctoVersion/OctoVersionTasks.cs +++ b/src/Fallout.Application.Tools/OctoVersion/OctoVersionTasks.cs @@ -1,9 +1,8 @@ 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.Application.Tools/Octopus/Octopus.Generated.cs similarity index 99% rename from src/Fallout.Common/Tools/Octopus/Octopus.Generated.cs rename to src/Fallout.Application.Tools/Octopus/Octopus.Generated.cs index 0e5ef5c06..c083fbc2d 100644 --- a/src/Fallout.Common/Tools/Octopus/Octopus.Generated.cs +++ b/src/Fallout.Application.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/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 99% rename from src/Fallout.Common/Tools/OpenCover/OpenCover.Generated.cs rename to src/Fallout.Application.Tools/OpenCover/OpenCover.Generated.cs index 1fc245c04..a3a37ef42 100644 --- a/src/Fallout.Common/Tools/OpenCover/OpenCover.Generated.cs +++ b/src/Fallout.Application.Tools/OpenCover/OpenCover.Generated.cs @@ -1,7 +1,3 @@ -// 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/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 97% rename from src/Fallout.Common/Tools/OpenCover/OpenCoverTasks.cs rename to src/Fallout.Application.Tools/OpenCover/OpenCoverTasks.cs index e471cbbce..42ea2fbf2 100644 --- a/src/Fallout.Common/Tools/OpenCover/OpenCoverTasks.cs +++ b/src/Fallout.Application.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.Application.Tools/Paket/Paket.Generated.cs similarity index 99% rename from src/Fallout.Common/Tools/Paket/Paket.Generated.cs rename to src/Fallout.Application.Tools/Paket/Paket.Generated.cs index 9d48b0e41..125ba5544 100644 --- a/src/Fallout.Common/Tools/Paket/Paket.Generated.cs +++ b/src/Fallout.Application.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/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 99% rename from src/Fallout.Common/Tools/PowerShell/PowerShell.Generated.cs rename to src/Fallout.Application.Tools/PowerShell/PowerShell.Generated.cs index 997093827..2609ea853 100644 --- a/src/Fallout.Common/Tools/PowerShell/PowerShell.Generated.cs +++ b/src/Fallout.Application.Tools/PowerShell/PowerShell.Generated.cs @@ -1,7 +1,3 @@ -// 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/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 93% rename from src/Fallout.Common/Tools/PowerShell/PowerShellTasks.cs rename to src/Fallout.Application.Tools/PowerShell/PowerShellTasks.cs index d2213373e..5a6c3087d 100644 --- a/src/Fallout.Common/Tools/PowerShell/PowerShellTasks.cs +++ b/src/Fallout.Application.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/Pulumi/Pulumi.Generated.cs b/src/Fallout.Application.Tools/Pulumi/Pulumi.Generated.cs similarity index 99% rename from src/Fallout.Common/Tools/Pulumi/Pulumi.Generated.cs rename to src/Fallout.Application.Tools/Pulumi/Pulumi.Generated.cs index 0c3058ff3..84ba612e6 100644 --- a/src/Fallout.Common/Tools/Pulumi/Pulumi.Generated.cs +++ b/src/Fallout.Application.Tools/Pulumi/Pulumi.Generated.cs @@ -1,7 +1,3 @@ -// 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/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 99% rename from src/Fallout.Common/Tools/Pwsh/Pwsh.Generated.cs rename to src/Fallout.Application.Tools/Pwsh/Pwsh.Generated.cs index 7e865c6e8..b0ec232d8 100644 --- a/src/Fallout.Common/Tools/Pwsh/Pwsh.Generated.cs +++ b/src/Fallout.Application.Tools/Pwsh/Pwsh.Generated.cs @@ -1,7 +1,3 @@ -// 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/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 99% rename from src/Fallout.Common/Tools/ReportGenerator/ReportGenerator.Generated.cs rename to src/Fallout.Application.Tools/ReportGenerator/ReportGenerator.Generated.cs index c55ea90a3..30672b0fe 100644 --- a/src/Fallout.Common/Tools/ReportGenerator/ReportGenerator.Generated.cs +++ b/src/Fallout.Application.Tools/ReportGenerator/ReportGenerator.Generated.cs @@ -1,7 +1,3 @@ -// 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/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 99% rename from src/Fallout.Common/Tools/SignClient/SignClient.Generated.cs rename to src/Fallout.Application.Tools/SignClient/SignClient.Generated.cs index 9530b71e0..ec1caf0c2 100644 --- a/src/Fallout.Common/Tools/SignClient/SignClient.Generated.cs +++ b/src/Fallout.Application.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/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 96% rename from src/Fallout.Common/Tools/SignPath/SignPathTasks.cs rename to src/Fallout.Application.Tools/SignPath/SignPathTasks.cs index 314dd7a39..969fca728 100644 --- a/src/Fallout.Common/Tools/SignPath/SignPathTasks.cs +++ b/src/Fallout.Application.Tools/SignPath/SignPathTasks.cs @@ -7,14 +7,13 @@ using System.Text; 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; +using Fallout.Application.CI; namespace Fallout.Application.Tools.SignPath; public static class SignPathTasks @@ -58,11 +57,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.Common/Tools/SignTool/SignTool.Generated.cs b/src/Fallout.Application.Tools/SignTool/SignTool.Generated.cs similarity index 99% rename from src/Fallout.Common/Tools/SignTool/SignTool.Generated.cs rename to src/Fallout.Application.Tools/SignTool/SignTool.Generated.cs index ea8586d7b..4bfba6ee3 100644 --- a/src/Fallout.Common/Tools/SignTool/SignTool.Generated.cs +++ b/src/Fallout.Application.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/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 96% rename from src/Fallout.Common/Tools/SignTool/SignToolTasks.cs rename to src/Fallout.Application.Tools/SignTool/SignToolTasks.cs index aaadae1b5..10a8b6193 100644 --- a/src/Fallout.Common/Tools/SignTool/SignToolTasks.cs +++ b/src/Fallout.Application.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; +using Fallout.Kernel; namespace Fallout.Application.Tools.SignTool; diff --git a/src/Fallout.Common/Tools/Slack/Slack.Generated.cs b/src/Fallout.Application.Tools/Slack/Slack.Generated.cs similarity index 99% rename from src/Fallout.Common/Tools/Slack/Slack.Generated.cs rename to src/Fallout.Application.Tools/Slack/Slack.Generated.cs index 588887bc3..df747f91e 100644 --- a/src/Fallout.Common/Tools/Slack/Slack.Generated.cs +++ b/src/Fallout.Application.Tools/Slack/Slack.Generated.cs @@ -1,7 +1,3 @@ -// 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/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 95% rename from src/Fallout.Common/Tools/Slack/SlackTasks.cs rename to src/Fallout.Application.Tools/Slack/SlackTasks.cs index 31f6403a8..f91f5d260 100644 --- a/src/Fallout.Common/Tools/Slack/SlackTasks.cs +++ b/src/Fallout.Application.Tools/Slack/SlackTasks.cs @@ -6,10 +6,9 @@ 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.Application.Tools/SonarScanner/SonarScanner.Generated.cs similarity index 99% rename from src/Fallout.Common/Tools/SonarScanner/SonarScanner.Generated.cs rename to src/Fallout.Application.Tools/SonarScanner/SonarScanner.Generated.cs index 5abba4ded..58d654839 100644 --- a/src/Fallout.Common/Tools/SonarScanner/SonarScanner.Generated.cs +++ b/src/Fallout.Application.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/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 99% rename from src/Fallout.Common/Tools/SpecFlow/SpecFlow.Generated.cs rename to src/Fallout.Application.Tools/SpecFlow/SpecFlow.Generated.cs index 363cfc7b9..8dcf94c3e 100644 --- a/src/Fallout.Common/Tools/SpecFlow/SpecFlow.Generated.cs +++ b/src/Fallout.Application.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/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 99% rename from src/Fallout.Common/Tools/Squirrel/Squirrel.Generated.cs rename to src/Fallout.Application.Tools/Squirrel/Squirrel.Generated.cs index add1fd97e..6402a8aa4 100644 --- a/src/Fallout.Common/Tools/Squirrel/Squirrel.Generated.cs +++ b/src/Fallout.Application.Tools/Squirrel/Squirrel.Generated.cs @@ -1,7 +1,3 @@ -// 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/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 99% rename from src/Fallout.Common/Tools/StaticWebApps/StaticWebApps.Generated.cs rename to src/Fallout.Application.Tools/StaticWebApps/StaticWebApps.Generated.cs index 08f499d60..7d0ab5c7a 100644 --- a/src/Fallout.Common/Tools/StaticWebApps/StaticWebApps.Generated.cs +++ b/src/Fallout.Application.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/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 93% rename from src/Fallout.Common/Tools/Teams/Teams.Generated.cs rename to src/Fallout.Application.Tools/Teams/Teams.Generated.cs index 7530c7e1a..585992d7b 100644 --- a/src/Fallout.Common/Tools/Teams/Teams.Generated.cs +++ b/src/Fallout.Application.Tools/Teams/Teams.Generated.cs @@ -1,7 +1,3 @@ -// 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/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 93% rename from src/Fallout.Common/Tools/Teams/TeamsTasks.cs rename to src/Fallout.Application.Tools/Teams/TeamsTasks.cs index eb8b8fa21..62436101c 100644 --- a/src/Fallout.Common/Tools/Teams/TeamsTasks.cs +++ b/src/Fallout.Application.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; +using Fallout.Kernel; namespace Fallout.Application.Tools.Teams; diff --git a/src/Fallout.Common/Tools/TestCloud/TestCloud.Generated.cs b/src/Fallout.Application.Tools/TestCloud/TestCloud.Generated.cs similarity index 99% rename from src/Fallout.Common/Tools/TestCloud/TestCloud.Generated.cs rename to src/Fallout.Application.Tools/TestCloud/TestCloud.Generated.cs index 3c058ed08..3d33b6ded 100644 --- a/src/Fallout.Common/Tools/TestCloud/TestCloud.Generated.cs +++ b/src/Fallout.Application.Tools/TestCloud/TestCloud.Generated.cs @@ -1,7 +1,3 @@ -// 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/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 97% rename from src/Fallout.Common/Tools/Twitter/TwitterTasks.cs rename to src/Fallout.Application.Tools/Twitter/TwitterTasks.cs index 3cc00e77d..047f1bfdd 100644 --- a/src/Fallout.Common/Tools/Twitter/TwitterTasks.cs +++ b/src/Fallout.Application.Tools/Twitter/TwitterTasks.cs @@ -8,9 +8,8 @@ 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/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 99% rename from src/Fallout.Common/Tools/Unity/Logging/FileWatcher.cs rename to src/Fallout.Application.Tools/Unity/Logging/FileWatcher.cs index d64045039..4189f0583 100644 --- a/src/Fallout.Common/Tools/Unity/Logging/FileWatcher.cs +++ b/src/Fallout.Application.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/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 99% rename from src/Fallout.Common/Tools/Unity/Unity.Generated.cs rename to src/Fallout.Application.Tools/Unity/Unity.Generated.cs index 32a389f64..61d352108 100644 --- a/src/Fallout.Common/Tools/Unity/Unity.Generated.cs +++ b/src/Fallout.Application.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/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 97% rename from src/Fallout.Common/Tools/Unity/UnityTasks.cs rename to src/Fallout.Application.Tools/Unity/UnityTasks.cs index 8966b37d7..359d389d4 100644 --- a/src/Fallout.Common/Tools/Unity/UnityTasks.cs +++ b/src/Fallout.Application.Tools/Unity/UnityTasks.cs @@ -3,15 +3,14 @@ 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.Application.Tools/VSTest/VSTest.Generated.cs similarity index 99% rename from src/Fallout.Common/Tools/VSTest/VSTest.Generated.cs rename to src/Fallout.Application.Tools/VSTest/VSTest.Generated.cs index a5233670b..00ddb3e0e 100644 --- a/src/Fallout.Common/Tools/VSTest/VSTest.Generated.cs +++ b/src/Fallout.Application.Tools/VSTest/VSTest.Generated.cs @@ -1,7 +1,3 @@ -// 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/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 99% rename from src/Fallout.Common/Tools/VSWhere/VSWhere.Generated.cs rename to src/Fallout.Application.Tools/VSWhere/VSWhere.Generated.cs index a255c4f10..e4c37dc4d 100644 --- a/src/Fallout.Common/Tools/VSWhere/VSWhere.Generated.cs +++ b/src/Fallout.Application.Tools/VSWhere/VSWhere.Generated.cs @@ -1,7 +1,3 @@ -// 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/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 95% rename from src/Fallout.Common/Tools/VSWhere/VSWhereTasks.cs rename to src/Fallout.Application.Tools/VSWhere/VSWhereTasks.cs index e569dfd90..d7787f749 100644 --- a/src/Fallout.Common/Tools/VSWhere/VSWhereTasks.cs +++ b/src/Fallout.Application.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.Common/Tools/WebConfigTransformRunner/WebConfigTransformRunner.Generated.cs b/src/Fallout.Application.Tools/WebConfigTransformRunner/WebConfigTransformRunner.Generated.cs similarity index 97% rename from src/Fallout.Common/Tools/WebConfigTransformRunner/WebConfigTransformRunner.Generated.cs rename to src/Fallout.Application.Tools/WebConfigTransformRunner/WebConfigTransformRunner.Generated.cs index 873234ec8..c78ba5c19 100644 --- a/src/Fallout.Common/Tools/WebConfigTransformRunner/WebConfigTransformRunner.Generated.cs +++ b/src/Fallout.Application.Tools/WebConfigTransformRunner/WebConfigTransformRunner.Generated.cs @@ -1,7 +1,3 @@ -// 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/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 99% rename from src/Fallout.Common/Tools/Xunit/Xunit.Generated.cs rename to src/Fallout.Application.Tools/Xunit/Xunit.Generated.cs index fa2b9aa42..d693dd605 100644 --- a/src/Fallout.Common/Tools/Xunit/Xunit.Generated.cs +++ b/src/Fallout.Application.Tools/Xunit/Xunit.Generated.cs @@ -1,7 +1,3 @@ -// 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 +8,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/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 98% rename from src/Fallout.Common/Tools/Xunit/XunitTasks.cs rename to src/Fallout.Application.Tools/Xunit/XunitTasks.cs index 24311e96a..56b1988a9 100644 --- a/src/Fallout.Common/Tools/Xunit/XunitTasks.cs +++ b/src/Fallout.Application.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.Build/Attributes/ArgumentsFromGitCommitMessageAttribute.cs b/src/Fallout.Application/Attributes/ArgumentsFromGitCommitMessageAttribute.cs similarity index 95% rename from src/Fallout.Build/Attributes/ArgumentsFromGitCommitMessageAttribute.cs rename to src/Fallout.Application/Attributes/ArgumentsFromGitCommitMessageAttribute.cs index ccfe5a466..43a11ccce 100644 --- a/src/Fallout.Build/Attributes/ArgumentsFromGitCommitMessageAttribute.cs +++ b/src/Fallout.Application/Attributes/ArgumentsFromGitCommitMessageAttribute.cs @@ -1,12 +1,11 @@ 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.Common/Attributes/CheckPathEnvironmentVariableAttribute.cs b/src/Fallout.Application/Attributes/CheckPathEnvironmentVariableAttribute.cs similarity index 73% rename from src/Fallout.Common/Attributes/CheckPathEnvironmentVariableAttribute.cs rename to src/Fallout.Application/Attributes/CheckPathEnvironmentVariableAttribute.cs index cd8b2ded8..148f08be4 100644 --- a/src/Fallout.Common/Attributes/CheckPathEnvironmentVariableAttribute.cs +++ b/src/Fallout.Application/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.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.Common/Attributes/FileSystemGlobbingAttributeBase.cs b/src/Fallout.Application/Attributes/FileSystemGlobbingAttributeBase.cs similarity index 96% rename from src/Fallout.Common/Attributes/FileSystemGlobbingAttributeBase.cs rename to src/Fallout.Application/Attributes/FileSystemGlobbingAttributeBase.cs index f72700717..6bb294199 100644 --- a/src/Fallout.Common/Attributes/FileSystemGlobbingAttributeBase.cs +++ b/src/Fallout.Application/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.Kernel.IO; -namespace Fallout.Common.IO; +namespace Fallout.Application.IO; // TODO: document [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field)] diff --git a/src/Fallout.Common/Attributes/GitRepositoryAttribute.cs b/src/Fallout.Application/Attributes/GitRepositoryAttribute.cs similarity index 93% rename from src/Fallout.Common/Attributes/GitRepositoryAttribute.cs rename to src/Fallout.Application/Attributes/GitRepositoryAttribute.cs index beb70d71f..ee275ec78 100644 --- a/src/Fallout.Common/Attributes/GitRepositoryAttribute.cs +++ b/src/Fallout.Application/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/Attributes/GlobbingOptionsAttribute.cs b/src/Fallout.Application/Attributes/GlobbingOptionsAttribute.cs similarity index 92% rename from src/Fallout.Common/Attributes/GlobbingOptionsAttribute.cs rename to src/Fallout.Application/Attributes/GlobbingOptionsAttribute.cs index 8ddd578c9..c1fe7f69a 100644 --- a/src/Fallout.Common/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.Common.IO; +namespace Fallout.Application.IO; /// /// Allows to configure the case-sensitivity used for globbing operations in . diff --git a/src/Fallout.Common/Attributes/HandleSingleFileExecutionAttribute.cs b/src/Fallout.Application/Attributes/HandleSingleFileExecutionAttribute.cs similarity index 93% rename from src/Fallout.Common/Attributes/HandleSingleFileExecutionAttribute.cs rename to src/Fallout.Application/Attributes/HandleSingleFileExecutionAttribute.cs index 6f6f11de3..54bc278ad 100644 --- a/src/Fallout.Common/Attributes/HandleSingleFileExecutionAttribute.cs +++ b/src/Fallout.Application/Attributes/HandleSingleFileExecutionAttribute.cs @@ -6,14 +6,15 @@ 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; +using Fallout.Application.IO; +using Fallout.Build.Shared; -namespace Fallout.Common.Execution; +namespace Fallout.Application.Execution; public class HandleSingleFileExecutionAttribute : BuildExtensionAttributeBase, IOnBuildCreated { @@ -78,11 +79,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/Attributes/LatestMavenVersionAttribute.cs b/src/Fallout.Application/Attributes/LatestMavenVersionAttribute.cs similarity index 94% rename from src/Fallout.Common/Attributes/LatestMavenVersionAttribute.cs rename to src/Fallout.Application/Attributes/LatestMavenVersionAttribute.cs index ec798ff67..0f41fbbd8 100644 --- a/src/Fallout.Common/Attributes/LatestMavenVersionAttribute.cs +++ b/src/Fallout.Application/Attributes/LatestMavenVersionAttribute.cs @@ -2,9 +2,10 @@ 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; +using Fallout.Application.IO; namespace Fallout.Application.Tooling; diff --git a/src/Fallout.Common/Attributes/LatestMyGetVersionAttribute.cs b/src/Fallout.Application/Attributes/LatestMyGetVersionAttribute.cs similarity index 91% rename from src/Fallout.Common/Attributes/LatestMyGetVersionAttribute.cs rename to src/Fallout.Application/Attributes/LatestMyGetVersionAttribute.cs index 92ff7218d..8044b2dcc 100644 --- a/src/Fallout.Common/Attributes/LatestMyGetVersionAttribute.cs +++ b/src/Fallout.Application/Attributes/LatestMyGetVersionAttribute.cs @@ -1,9 +1,10 @@ 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; +using Fallout.Application.IO; namespace Fallout.Application.Tooling; diff --git a/src/Fallout.Common/Attributes/LatestNpmVersionAttribute.cs b/src/Fallout.Application/Attributes/LatestNpmVersionAttribute.cs similarity index 95% rename from src/Fallout.Common/Attributes/LatestNpmVersionAttribute.cs rename to src/Fallout.Application/Attributes/LatestNpmVersionAttribute.cs index dfcdc7487..ec5545016 100644 --- a/src/Fallout.Common/Attributes/LatestNpmVersionAttribute.cs +++ b/src/Fallout.Application/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.Application/Attributes/LatestNuGetVersionAttribute.cs similarity index 96% rename from src/Fallout.Common/Attributes/LatestNuGetVersionAttribute.cs rename to src/Fallout.Application/Attributes/LatestNuGetVersionAttribute.cs index 64c0ccc42..e2e21bedf 100644 --- a/src/Fallout.Common/Attributes/LatestNuGetVersionAttribute.cs +++ b/src/Fallout.Application/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.Application/Attributes/LocalPathAttribute.cs similarity index 96% rename from src/Fallout.Common/Attributes/LocalPathAttribute.cs rename to src/Fallout.Application/Attributes/LocalPathAttribute.cs index a027e24fb..59da9e823 100644 --- a/src/Fallout.Common/Attributes/LocalPathAttribute.cs +++ b/src/Fallout.Application/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; +using Fallout.Kernel; namespace Fallout.Application.Tooling; 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 98% rename from src/Fallout.Common/Attributes/NuGetPackageAttribute.cs rename to src/Fallout.Application/Attributes/NuGetPackageAttribute.cs index 712fd5be5..19dad9c6a 100644 --- a/src/Fallout.Common/Attributes/NuGetPackageAttribute.cs +++ b/src/Fallout.Application/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/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.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.Common/Attributes/SolutionAttribute.cs b/src/Fallout.Application/Attributes/SolutionAttribute.cs similarity index 96% rename from src/Fallout.Common/Attributes/SolutionAttribute.cs rename to src/Fallout.Application/Attributes/SolutionAttribute.cs index f3428b56d..eb1ed6604 100644 --- a/src/Fallout.Common/Attributes/SolutionAttribute.cs +++ b/src/Fallout.Application/Attributes/SolutionAttribute.cs @@ -1,14 +1,13 @@ 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; +using Fallout.Build.Shared; -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.Build/Attributes/UnsetVisualStudioEnvironmentVariablesAttribute.cs b/src/Fallout.Application/Attributes/UnsetVisualStudioEnvironmentVariablesAttribute.cs similarity index 94% rename from src/Fallout.Build/Attributes/UnsetVisualStudioEnvironmentVariablesAttribute.cs rename to src/Fallout.Application/Attributes/UnsetVisualStudioEnvironmentVariablesAttribute.cs index 4bdc1e689..43309d788 100644 --- a/src/Fallout.Build/Attributes/UnsetVisualStudioEnvironmentVariablesAttribute.cs +++ b/src/Fallout.Application/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.Application/Attributes/VerbosityMappingAttribute.cs similarity index 97% rename from src/Fallout.Build/Attributes/VerbosityMappingAttribute.cs rename to src/Fallout.Application/Attributes/VerbosityMappingAttribute.cs index 2b9d302bf..b06da5ca5 100644 --- a/src/Fallout.Build/Attributes/VerbosityMappingAttribute.cs +++ b/src/Fallout.Application/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; +using Fallout.Kernel; namespace Fallout.Application.Tooling; diff --git a/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesCodeCoverageToolType.cs b/src/Fallout.Application/CI/AzurePipelines/AzurePipelinesCodeCoverageToolType.cs similarity index 61% rename from src/Fallout.Common/CI/AzurePipelines/AzurePipelinesCodeCoverageToolType.cs rename to src/Fallout.Application/CI/AzurePipelines/AzurePipelinesCodeCoverageToolType.cs index bc9da2406..8c9685880 100644 --- a/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesCodeCoverageToolType.cs +++ b/src/Fallout.Application/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/AzurePipelinesTestResultsType.cs b/src/Fallout.Application/CI/AzurePipelines/AzurePipelinesTestResultsType.cs similarity index 75% rename from src/Fallout.Common/CI/AzurePipelines/AzurePipelinesTestResultsType.cs rename to src/Fallout.Application/CI/AzurePipelines/AzurePipelinesTestResultsType.cs index 5c206ee22..056fb6ab9 100644 --- a/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesTestResultsType.cs +++ b/src/Fallout.Application/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.Application/CI/CiHostPorts.cs b/src/Fallout.Application/CI/CiHostPorts.cs new file mode 100644 index 000000000..cc0547ee8 --- /dev/null +++ b/src/Fallout.Application/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.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 92% rename from src/Fallout.Build/CICD/BuildServerConfigurationGenerationAttributeBase.cs rename to src/Fallout.Application/CICD/BuildServerConfigurationGenerationAttributeBase.cs index 4cc009066..bd8334039 100644 --- a/src/Fallout.Build/CICD/BuildServerConfigurationGenerationAttributeBase.cs +++ b/src/Fallout.Application/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.Application/CICD/CIAttribute.cs similarity index 93% rename from src/Fallout.Build/CICD/CIAttribute.cs rename to src/Fallout.Application/CICD/CIAttribute.cs index 8339b38d4..fcc6dc134 100644 --- a/src/Fallout.Build/CICD/CIAttribute.cs +++ b/src/Fallout.Application/CICD/CIAttribute.cs @@ -1,10 +1,9 @@ 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.Application/CICD/ChainedConfigurationAttributeBase.cs similarity index 96% rename from src/Fallout.Build/CICD/ChainedConfigurationAttributeBase.cs rename to src/Fallout.Application/CICD/ChainedConfigurationAttributeBase.cs index d7f466c28..529f54ed9 100644 --- a/src/Fallout.Build/CICD/ChainedConfigurationAttributeBase.cs +++ b/src/Fallout.Application/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; +using Fallout.Kernel; namespace Fallout.Application.CI; diff --git a/src/Fallout.Build/CICD/ConfigurationAttributeBase.cs b/src/Fallout.Application/CICD/ConfigurationAttributeBase.cs similarity index 98% rename from src/Fallout.Build/CICD/ConfigurationAttributeBase.cs rename to src/Fallout.Application/CICD/ConfigurationAttributeBase.cs index 47d487228..6a90fd241 100644 --- a/src/Fallout.Build/CICD/ConfigurationAttributeBase.cs +++ b/src/Fallout.Application/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/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 97% rename from src/Fallout.Build/CICD/CustomFileWriter.cs rename to src/Fallout.Application/CICD/CustomFileWriter.cs index 32442231d..6c04b3d4f 100644 --- a/src/Fallout.Build/CICD/CustomFileWriter.cs +++ b/src/Fallout.Application/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.Application/CICD/GenerateBuildServerConfigurationsAttribute.cs similarity index 93% rename from src/Fallout.Build/CICD/GenerateBuildServerConfigurationsAttribute.cs rename to src/Fallout.Application/CICD/GenerateBuildServerConfigurationsAttribute.cs index cc73a1e42..f7801e874 100644 --- a/src/Fallout.Build/CICD/GenerateBuildServerConfigurationsAttribute.cs +++ b/src/Fallout.Application/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; +using Fallout.Kernel; namespace Fallout.Application.CI; 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 95% rename from src/Fallout.Build/CICD/IConfigurationGenerator.cs rename to src/Fallout.Application/CICD/IConfigurationGenerator.cs index 232392a4a..16d7b0a63 100644 --- a/src/Fallout.Build/CICD/IConfigurationGenerator.cs +++ b/src/Fallout.Application/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.Application/CICD/InvokeBuildServerConfigurationGenerationAttribute.cs similarity index 98% rename from src/Fallout.Build/CICD/InvokeBuildServerConfigurationGenerationAttribute.cs rename to src/Fallout.Application/CICD/InvokeBuildServerConfigurationGenerationAttribute.cs index eded48ea1..e4e6399ae 100644 --- a/src/Fallout.Build/CICD/InvokeBuildServerConfigurationGenerationAttribute.cs +++ b/src/Fallout.Application/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/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.Common/ChangeLog/ChangeLog.cs b/src/Fallout.Application/ChangeLog/ChangeLog.cs similarity index 96% rename from src/Fallout.Common/ChangeLog/ChangeLog.cs rename to src/Fallout.Application/ChangeLog/ChangeLog.cs index 71bd815e9..63b08a59f 100644 --- a/src/Fallout.Common/ChangeLog/ChangeLog.cs +++ b/src/Fallout.Application/ChangeLog/ChangeLog.cs @@ -1,9 +1,9 @@ using System.Collections.Generic; using System.Linq; using NuGet.Versioning; -using Fallout.Common.IO; +using Fallout.Kernel.IO; -namespace Fallout.Common.ChangeLog; +namespace Fallout.Application.ChangeLog; public class ChangeLog { diff --git a/src/Fallout.Common/ChangeLog/ReleaseNotes.cs b/src/Fallout.Application/ChangeLog/ReleaseNotes.cs similarity index 97% rename from src/Fallout.Common/ChangeLog/ReleaseNotes.cs rename to src/Fallout.Application/ChangeLog/ReleaseNotes.cs index 6d9cb0f48..0cd1b8b2e 100644 --- a/src/Fallout.Common/ChangeLog/ReleaseNotes.cs +++ b/src/Fallout.Application/ChangeLog/ReleaseNotes.cs @@ -2,8 +2,9 @@ using System.Collections.Generic; using System.Linq; using NuGet.Versioning; +using Fallout.Kernel; -namespace Fallout.Common.ChangeLog; +namespace Fallout.Application.ChangeLog; public class ReleaseNotes { diff --git a/src/Fallout.Build/ControlFlow.cs b/src/Fallout.Application/ControlFlow.cs similarity index 98% rename from src/Fallout.Build/ControlFlow.cs rename to src/Fallout.Application/ControlFlow.cs index b289d7fa5..15ba3a30a 100644 --- a/src/Fallout.Build/ControlFlow.cs +++ b/src/Fallout.Application/ControlFlow.cs @@ -3,9 +3,8 @@ 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.Application/Execution/BuildExecutor.cs similarity index 98% rename from src/Fallout.Build/Execution/BuildExecutor.cs rename to src/Fallout.Application/Execution/BuildExecutor.cs index bbffb95f6..5763296a2 100644 --- a/src/Fallout.Build/Execution/BuildExecutor.cs +++ b/src/Fallout.Application/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; +using Fallout.Build.Shared; namespace Fallout.Application.Execution; diff --git a/src/Fallout.Build/Execution/BuildManager.cs b/src/Fallout.Application/Execution/BuildManager.cs similarity index 81% rename from src/Fallout.Build/Execution/BuildManager.cs rename to src/Fallout.Application/Execution/BuildManager.cs index 65070afc2..bf1e1188a 100644 --- a/src/Fallout.Build/Execution/BuildManager.cs +++ b/src/Fallout.Application/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; @@ -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.Build/Execution/DelegateRequirementService.cs b/src/Fallout.Application/Execution/DelegateRequirementService.cs similarity index 98% rename from src/Fallout.Build/Execution/DelegateRequirementService.cs rename to src/Fallout.Application/Execution/DelegateRequirementService.cs index 6b172d476..abb9d5aa0 100644 --- a/src/Fallout.Build/Execution/DelegateRequirementService.cs +++ b/src/Fallout.Application/Execution/DelegateRequirementService.cs @@ -3,11 +3,10 @@ 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.Application/Execution/ExecutableTarget.cs similarity index 98% rename from src/Fallout.Build/Execution/ExecutableTarget.cs rename to src/Fallout.Application/Execution/ExecutableTarget.cs index 04ee81e6c..f9153ed7d 100644 --- a/src/Fallout.Build/Execution/ExecutableTarget.cs +++ b/src/Fallout.Application/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.Application/Execution/ExecutableTargetFactory.cs similarity index 98% rename from src/Fallout.Build/Execution/ExecutableTargetFactory.cs rename to src/Fallout.Application/Execution/ExecutableTargetFactory.cs index 0360f1223..5f9bf5c00 100644 --- a/src/Fallout.Build/Execution/ExecutableTargetFactory.cs +++ b/src/Fallout.Application/Execution/ExecutableTargetFactory.cs @@ -3,10 +3,9 @@ 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.Application/Execution/ExecutionPlanner.cs similarity index 97% rename from src/Fallout.Build/Execution/ExecutionPlanner.cs rename to src/Fallout.Application/Execution/ExecutionPlanner.cs index 0fd9f8437..9f5f9d190 100644 --- a/src/Fallout.Build/Execution/ExecutionPlanner.cs +++ b/src/Fallout.Application/Execution/ExecutionPlanner.cs @@ -1,12 +1,11 @@ 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/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 97% rename from src/Fallout.Build/Execution/Extensibility/ValueInjectionAttributeBase.cs rename to src/Fallout.Application/Execution/Extensibility/ValueInjectionAttributeBase.cs index d744ac618..e243c7bdb 100644 --- a/src/Fallout.Build/Execution/Extensibility/ValueInjectionAttributeBase.cs +++ b/src/Fallout.Application/Execution/Extensibility/ValueInjectionAttributeBase.cs @@ -1,10 +1,9 @@ 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.Application/Execution/Extensions/ArgumentsFromParametersFileAttribute.cs similarity index 97% rename from src/Fallout.Build/Execution/Extensions/ArgumentsFromParametersFileAttribute.cs rename to src/Fallout.Application/Execution/Extensions/ArgumentsFromParametersFileAttribute.cs index 91ce7f91a..efd071322 100644 --- a/src/Fallout.Build/Execution/Extensions/ArgumentsFromParametersFileAttribute.cs +++ b/src/Fallout.Application/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; +using Fallout.Build.Shared; namespace Fallout.Application.Execution; 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 99% rename from src/Fallout.Build/Execution/Extensions/HandleHelpRequestsAttribute.cs rename to src/Fallout.Application/Execution/Extensions/HandleHelpRequestsAttribute.cs index f5bac5aaf..92de9dcf2 100644 --- a/src/Fallout.Build/Execution/Extensions/HandleHelpRequestsAttribute.cs +++ b/src/Fallout.Application/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.Application/Execution/Extensions/HandlePlanRequestsAttribute.cs similarity index 97% rename from src/Fallout.Build/Execution/Extensions/HandlePlanRequestsAttribute.cs rename to src/Fallout.Application/Execution/Extensions/HandlePlanRequestsAttribute.cs index 91f9dfcd8..ec70ea370 100644 --- a/src/Fallout.Build/Execution/Extensions/HandlePlanRequestsAttribute.cs +++ b/src/Fallout.Application/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.Application/Execution/Extensions/HandleReSharperSurrogateArgumentsAttribute.cs similarity index 93% rename from src/Fallout.Build/Execution/Extensions/HandleReSharperSurrogateArgumentsAttribute.cs rename to src/Fallout.Application/Execution/Extensions/HandleReSharperSurrogateArgumentsAttribute.cs index f2732037d..81a508afa 100644 --- a/src/Fallout.Build/Execution/Extensions/HandleReSharperSurrogateArgumentsAttribute.cs +++ b/src/Fallout.Application/Execution/Extensions/HandleReSharperSurrogateArgumentsAttribute.cs @@ -2,9 +2,10 @@ using System.Collections.Generic; using System.IO; using System.Linq; -using Fallout.Common.IO; 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.Build/Execution/Extensions/HandleShellCompletionAttribute.cs b/src/Fallout.Application/Execution/Extensions/HandleShellCompletionAttribute.cs similarity index 93% rename from src/Fallout.Build/Execution/Extensions/HandleShellCompletionAttribute.cs rename to src/Fallout.Application/Execution/Extensions/HandleShellCompletionAttribute.cs index 6ebb6aa26..fe82efcc7 100644 --- a/src/Fallout.Build/Execution/Extensions/HandleShellCompletionAttribute.cs +++ b/src/Fallout.Application/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 static Fallout.Common.Constants; +using Fallout.Kernel; +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.Build/Execution/Extensions/HandleVisualStudioDebuggingAttribute.cs b/src/Fallout.Application/Execution/Extensions/HandleVisualStudioDebuggingAttribute.cs similarity index 92% rename from src/Fallout.Build/Execution/Extensions/HandleVisualStudioDebuggingAttribute.cs rename to src/Fallout.Application/Execution/Extensions/HandleVisualStudioDebuggingAttribute.cs index a53759002..44f1582ae 100644 --- a/src/Fallout.Build/Execution/Extensions/HandleVisualStudioDebuggingAttribute.cs +++ b/src/Fallout.Application/Execution/Extensions/HandleVisualStudioDebuggingAttribute.cs @@ -3,9 +3,10 @@ using System.Diagnostics; using System.Linq; using System.Threading; -using Fallout.Common.IO; 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.Build/Execution/Extensions/InjectNonParameterValuesAttribute.cs b/src/Fallout.Application/Execution/Extensions/InjectNonParameterValuesAttribute.cs similarity index 97% rename from src/Fallout.Build/Execution/Extensions/InjectNonParameterValuesAttribute.cs rename to src/Fallout.Application/Execution/Extensions/InjectNonParameterValuesAttribute.cs index 88c896a68..8ef714a07 100644 --- a/src/Fallout.Build/Execution/Extensions/InjectNonParameterValuesAttribute.cs +++ b/src/Fallout.Application/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/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 93% rename from src/Fallout.Build/Execution/Extensions/UpdateNotificationAttribute.cs rename to src/Fallout.Application/Execution/Extensions/UpdateNotificationAttribute.cs index 03d6c2365..c20675802 100644 --- a/src/Fallout.Build/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 Fallout.Common.Utilities; -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.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 98% rename from src/Fallout.Build/Execution/ParameterService.Statics.cs rename to src/Fallout.Application/Execution/ParameterService.Statics.cs index 1f8de8128..328fd338a 100644 --- a/src/Fallout.Build/Execution/ParameterService.Statics.cs +++ b/src/Fallout.Application/Execution/ParameterService.Statics.cs @@ -2,8 +2,7 @@ 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.Application/Execution/ParameterService.cs similarity index 98% rename from src/Fallout.Build/Execution/ParameterService.cs rename to src/Fallout.Application/Execution/ParameterService.cs index a002bd2a1..77451a999 100644 --- a/src/Fallout.Build/Execution/ParameterService.cs +++ b/src/Fallout.Application/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 Fallout.Common; +using static Fallout.Kernel.ReflectionUtility; using Fallout.Application.Tooling; +using Fallout.Kernel; +using Fallout.Build.Shared; namespace Fallout.Application; diff --git a/src/Fallout.Build/Execution/TargetDefinition.cs b/src/Fallout.Application/Execution/TargetDefinition.cs similarity index 99% rename from src/Fallout.Build/Execution/TargetDefinition.cs rename to src/Fallout.Application/Execution/TargetDefinition.cs index a7a62e266..cb370e2d6 100644 --- a/src/Fallout.Build/Execution/TargetDefinition.cs +++ b/src/Fallout.Application/Execution/TargetDefinition.cs @@ -4,11 +4,10 @@ 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/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 98% rename from src/Fallout.Build/Execution/ToolRequirementService.cs rename to src/Fallout.Application/Execution/ToolRequirementService.cs index d53f9c5ce..08627f12e 100644 --- a/src/Fallout.Build/Execution/ToolRequirementService.cs +++ b/src/Fallout.Application/Execution/ToolRequirementService.cs @@ -2,12 +2,11 @@ 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.Application/Execution/ValueInjectionUtility.cs similarity index 97% rename from src/Fallout.Build/Execution/ValueInjectionUtility.cs rename to src/Fallout.Application/Execution/ValueInjectionUtility.cs index 917489c70..e841e80d0 100644 --- a/src/Fallout.Build/Execution/ValueInjectionUtility.cs +++ b/src/Fallout.Application/Execution/ValueInjectionUtility.cs @@ -3,10 +3,9 @@ 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.Application/Fallout.Application.csproj b/src/Fallout.Application/Fallout.Application.csproj new file mode 100644 index 000000000..aee4f0fb6 --- /dev/null +++ b/src/Fallout.Application/Fallout.Application.csproj @@ -0,0 +1,44 @@ + + + + net10.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Fallout.Build/FalloutBuild.Events.cs b/src/Fallout.Application/FalloutBuild.Events.cs similarity index 97% rename from src/Fallout.Build/FalloutBuild.Events.cs rename to src/Fallout.Application/FalloutBuild.Events.cs index def3548b6..6e18c3018 100644 --- a/src/Fallout.Build/FalloutBuild.Events.cs +++ b/src/Fallout.Application/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.Application/FalloutBuild.Interface.cs similarity index 98% rename from src/Fallout.Build/FalloutBuild.Interface.cs rename to src/Fallout.Application/FalloutBuild.Interface.cs index 18e1c6861..8433f2a95 100644 --- a/src/Fallout.Build/FalloutBuild.Interface.cs +++ b/src/Fallout.Application/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.Application/FalloutBuild.Output.cs similarity index 98% rename from src/Fallout.Build/FalloutBuild.Output.cs rename to src/Fallout.Application/FalloutBuild.Output.cs index 71a6d64fc..bd767a41b 100644 --- a/src/Fallout.Build/FalloutBuild.Output.cs +++ b/src/Fallout.Application/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.Application/FalloutBuild.Statics.cs similarity index 96% rename from src/Fallout.Build/FalloutBuild.Statics.cs rename to src/Fallout.Application/FalloutBuild.Statics.cs index 2b7dd692e..fe2e1dc9a 100644 --- a/src/Fallout.Build/FalloutBuild.Statics.cs +++ b/src/Fallout.Application/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 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.Build/FalloutBuild.cs b/src/Fallout.Application/FalloutBuild.cs similarity index 98% rename from src/Fallout.Build/FalloutBuild.cs rename to src/Fallout.Application/FalloutBuild.cs index deeb137a3..cdd0f623d 100644 --- a/src/Fallout.Build/FalloutBuild.cs +++ b/src/Fallout.Application/FalloutBuild.cs @@ -4,15 +4,15 @@ 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 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.Build/Host.Activation.cs b/src/Fallout.Application/Host.Activation.cs similarity index 97% rename from src/Fallout.Build/Host.Activation.cs rename to src/Fallout.Application/Host.Activation.cs index 88537473f..e8be38040 100644 --- a/src/Fallout.Build/Host.Activation.cs +++ b/src/Fallout.Application/Host.Activation.cs @@ -3,9 +3,8 @@ 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.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 98% rename from src/Fallout.Build/Host.cs rename to src/Fallout.Application/Host.cs index 1c99da094..544eefd92 100644 --- a/src/Fallout.Build/Host.cs +++ b/src/Fallout.Application/Host.cs @@ -3,15 +3,14 @@ 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; using Serilog.Sinks.SystemConsole.Themes; 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.Application/IFalloutBuild.cs similarity index 98% rename from src/Fallout.Build/IFalloutBuild.cs rename to src/Fallout.Application/IFalloutBuild.cs index 7d3dadacd..51d0e82fa 100644 --- a/src/Fallout.Build/IFalloutBuild.cs +++ b/src/Fallout.Application/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.Common/IO/FtpTasks.cs b/src/Fallout.Application/IO/FtpTasks.cs similarity index 97% rename from src/Fallout.Common/IO/FtpTasks.cs rename to src/Fallout.Application/IO/FtpTasks.cs index fe9422cdc..e9fe78909 100644 --- a/src/Fallout.Common/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.Common.IO; +namespace Fallout.Application.IO; public static class FtpTasks { diff --git a/src/Fallout.Common/IO/HttpTasks.cs b/src/Fallout.Application/IO/HttpTasks.cs similarity index 96% rename from src/Fallout.Common/IO/HttpTasks.cs rename to src/Fallout.Application/IO/HttpTasks.cs index d99dfc879..92ca3abaa 100644 --- a/src/Fallout.Common/IO/HttpTasks.cs +++ b/src/Fallout.Application/IO/HttpTasks.cs @@ -4,9 +4,11 @@ using System.Net.Http; using System.Net.Http.Headers; using System.Threading.Tasks; +using Fallout.Kernel; using Fallout.Application.Tooling; +using Fallout.Kernel.IO; -namespace Fallout.Common.IO; +namespace Fallout.Application.IO; public static class HttpTasks { 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 98% rename from src/Fallout.Build/Logging.cs rename to src/Fallout.Application/Logging.cs index 1d91b91c0..81425ca03 100644 --- a/src/Fallout.Build/Logging.cs +++ b/src/Fallout.Application/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; @@ -14,7 +11,9 @@ 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; namespace Fallout.Application.Execution; diff --git a/src/Fallout.Build/ParameterAttribute.cs b/src/Fallout.Application/ParameterAttribute.cs similarity index 98% rename from src/Fallout.Build/ParameterAttribute.cs rename to src/Fallout.Application/ParameterAttribute.cs index 410672017..e318d52fd 100644 --- a/src/Fallout.Build/ParameterAttribute.cs +++ b/src/Fallout.Application/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/RequiresAttribute.cs b/src/Fallout.Application/RequiresAttribute.cs similarity index 96% rename from src/Fallout.Build/RequiresAttribute.cs rename to src/Fallout.Application/RequiresAttribute.cs index 965f7251b..a3a85f2fb 100644 --- a/src/Fallout.Build/RequiresAttribute.cs +++ b/src/Fallout.Application/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/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 96% rename from src/Fallout.Build/Telemetry/Telemetry.Events.cs rename to src/Fallout.Application/Telemetry/Telemetry.Events.cs index db09a1efb..f77a6dce7 100644 --- a/src/Fallout.Build/Telemetry/Telemetry.Events.cs +++ b/src/Fallout.Application/Telemetry/Telemetry.Events.cs @@ -1,12 +1,11 @@ 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.Application/Telemetry/Telemetry.Properties.cs similarity index 98% rename from src/Fallout.Build/Telemetry/Telemetry.Properties.cs rename to src/Fallout.Application/Telemetry/Telemetry.Properties.cs index 0f4648ed1..07160f304 100644 --- a/src/Fallout.Build/Telemetry/Telemetry.Properties.cs +++ b/src/Fallout.Application/Telemetry/Telemetry.Properties.cs @@ -4,15 +4,14 @@ 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; using Fallout.Application.CI; -using Fallout.Common; using Fallout.Application.Tooling; -using Fallout.Infrastructure.Tooling; +using Fallout.Kernel; +using Fallout.Kernel.Collections; +using Fallout.Build.Shared; namespace Fallout.Application.Execution; diff --git a/src/Fallout.Build/Telemetry/Telemetry.cs b/src/Fallout.Application/Telemetry/Telemetry.cs similarity index 87% rename from src/Fallout.Build/Telemetry/Telemetry.cs rename to src/Fallout.Application/Telemetry/Telemetry.cs index 8323edde9..4917484f6 100644 --- a/src/Fallout.Build/Telemetry/Telemetry.cs +++ b/src/Fallout.Application/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; +using Fallout.Application.Solutions; +using Fallout.Build.Shared; namespace Fallout.Application.Execution; @@ -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.Build/Terminal.cs b/src/Fallout.Application/Terminal.cs similarity index 96% rename from src/Fallout.Build/Terminal.cs rename to src/Fallout.Application/Terminal.cs index 4881489fd..a2da41a16 100644 --- a/src/Fallout.Build/Terminal.cs +++ b/src/Fallout.Application/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.Application/Theming/AnsiConsoleHostTheme.cs similarity index 99% rename from src/Fallout.Build/Theming/AnsiConsoleHostTheme.cs rename to src/Fallout.Application/Theming/AnsiConsoleHostTheme.cs index ac3392492..4f8df0148 100644 --- a/src/Fallout.Build/Theming/AnsiConsoleHostTheme.cs +++ b/src/Fallout.Application/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/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 99% rename from src/Fallout.Build/Theming/SystemConsoleHostTheme.cs rename to src/Fallout.Application/Theming/SystemConsoleHostTheme.cs index 9e247c77b..f898f0e8b 100644 --- a/src/Fallout.Build/Theming/SystemConsoleHostTheme.cs +++ b/src/Fallout.Application/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.Application/Utilities/ConsoleUtility.cs similarity index 98% rename from src/Fallout.Build/Utilities/ConsoleUtility.cs rename to src/Fallout.Application/Utilities/ConsoleUtility.cs index 8bac101a4..3de9fc692 100644 --- a/src/Fallout.Build/Utilities/ConsoleUtility.cs +++ b/src/Fallout.Application/Utilities/ConsoleUtility.cs @@ -3,8 +3,7 @@ using System.Linq; 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.Application/Utilities/CredentialStore.cs similarity index 98% rename from src/Fallout.Build/Utilities/CredentialStore.cs rename to src/Fallout.Application/Utilities/CredentialStore.cs index 301130514..9ff3f6fb0 100644 --- a/src/Fallout.Build/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.Common.Utilities; using Fallout.Application.Tooling; +using Fallout.Kernel; +using Fallout.Build.Shared; namespace Fallout.Application.Utilities; diff --git a/src/Fallout.Build/Utilities/SchemaUtility.cs b/src/Fallout.Application/Utilities/SchemaUtility.cs similarity index 99% rename from src/Fallout.Build/Utilities/SchemaUtility.cs rename to src/Fallout.Application/Utilities/SchemaUtility.cs index a55942bfe..5e6a00def 100644 --- a/src/Fallout.Build/Utilities/SchemaUtility.cs +++ b/src/Fallout.Application/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 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.Common/Utilities/TemplateUtility.cs b/src/Fallout.Application/Utilities/TemplateUtility.cs similarity index 98% rename from src/Fallout.Common/Utilities/TemplateUtility.cs rename to src/Fallout.Application/Utilities/TemplateUtility.cs index 61af42723..c1419075d 100644 --- a/src/Fallout.Common/Utilities/TemplateUtility.cs +++ b/src/Fallout.Application/Utilities/TemplateUtility.cs @@ -1,11 +1,11 @@ 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; -namespace Fallout.Common.Utilities; +namespace Fallout.Kernel; public static class TemplateUtility { diff --git a/src/Fallout.Build/VCS/GitRepository.cs b/src/Fallout.Application/VCS/GitRepository.cs similarity index 99% rename from src/Fallout.Build/VCS/GitRepository.cs rename to src/Fallout.Application/VCS/GitRepository.cs index b966b0865..bdf4004e2 100644 --- a/src/Fallout.Build/VCS/GitRepository.cs +++ b/src/Fallout.Application/VCS/GitRepository.cs @@ -2,11 +2,10 @@ 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.Application/VCS/GitRepositoryExtensions.cs similarity index 98% rename from src/Fallout.Build/VCS/GitRepositoryExtensions.cs rename to src/Fallout.Application/VCS/GitRepositoryExtensions.cs index b2de5742e..328432a53 100644 --- a/src/Fallout.Build/VCS/GitRepositoryExtensions.cs +++ b/src/Fallout.Application/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.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/CompletionUtility.cs b/src/Fallout.Build.Shared/CompletionUtility.cs index 4c8d5c151..378597c3f 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.Build.Shared; -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..b28338445 100644 --- a/src/Fallout.Build.Shared/Constants.cs +++ b/src/Fallout.Build.Shared/Constants.cs @@ -2,11 +2,11 @@ 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; +namespace Fallout.Build.Shared; /// /// Set of constants shared between libraries and IDE extensions. @@ -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.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.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 78a7302a5..0048ed34d 100644 --- a/src/Fallout.Build.Shared/Notifications.cs +++ b/src/Fallout.Build.Shared/Notifications.cs @@ -3,9 +3,8 @@ using System.Net.Http; 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/Fallout.Build.csproj b/src/Fallout.Build/Fallout.Build.csproj deleted file mode 100644 index 530b59d60..000000000 --- a/src/Fallout.Build/Fallout.Build.csproj +++ /dev/null @@ -1,32 +0,0 @@ - - - - net10.0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/Fallout.Cli/BuildProjectResolver.cs b/src/Fallout.Cli/BuildProjectResolver.cs index 98d24e6b4..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 Fallout.Common.IO; -using Fallout.Common.Utilities; -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/Fallout.Cli.csproj b/src/Fallout.Cli/Fallout.Cli.csproj index d24af569d..d934312da 100644 --- a/src/Fallout.Cli/Fallout.Cli.csproj +++ b/src/Fallout.Cli/Fallout.Cli.csproj @@ -9,8 +9,10 @@ - - + + + @@ -29,4 +31,19 @@ + + + + + + + + + + + + + + + diff --git a/src/Fallout.Cli/Program.AddPackage.cs b/src/Fallout.Cli/Program.AddPackage.cs index 2c02fb17a..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.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; +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 e219417f7..8db92cacc 100644 --- a/src/Fallout.Cli/Program.Cake.cs +++ b/src/Fallout.Cli/Program.Cake.cs @@ -3,16 +3,16 @@ using System.Text.RegularExpressions; 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 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; diff --git a/src/Fallout.Cli/Program.Complete.cs b/src/Fallout.Cli/Program.Complete.cs index d1af3e1fb..fea119511 100644 --- a/src/Fallout.Cli/Program.Complete.cs +++ b/src/Fallout.Cli/Program.Complete.cs @@ -1,11 +1,12 @@ using System; using System.Collections.Generic; using System.Linq; -using Fallout.Common; -using Fallout.Common.IO; -using Fallout.Common.Utilities; -using Fallout.Utilities.Text.Yaml; -using static Fallout.Common.Constants; +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; namespace Fallout.Cli; diff --git a/src/Fallout.Cli/Program.GetConfiguration.cs b/src/Fallout.Cli/Program.GetConfiguration.cs index 03004adfb..d8cb5b8ec 100644 --- a/src/Fallout.Cli/Program.GetConfiguration.cs +++ b/src/Fallout.Cli/Program.GetConfiguration.cs @@ -2,11 +2,10 @@ using System.Collections.Generic; 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..ac4a597d2 100644 --- a/src/Fallout.Cli/Program.Navigation.cs +++ b/src/Fallout.Cli/Program.Navigation.cs @@ -1,10 +1,11 @@ -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 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 a9aefc998..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 Fallout.Common.IO; -using Fallout.Common.Utilities; -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 3db43c42d..84e5ab7f1 100644 --- a/src/Fallout.Cli/Program.Secrets.cs +++ b/src/Fallout.Cli/Program.Secrets.cs @@ -2,14 +2,15 @@ using System.Collections.Generic; 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 static Fallout.Common.Constants; -using static Fallout.Common.Utilities.EncryptionUtility; +using Fallout.Kernel; +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 d9bf028d7..87deffae1 100644 --- a/src/Fallout.Cli/Program.Setup.cs +++ b/src/Fallout.Cli/Program.Setup.cs @@ -4,18 +4,18 @@ using System.Linq; 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.Build.Shared.Constants; +using static Fallout.Kernel.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; +using Fallout.Build.Shared; namespace Fallout.Cli; @@ -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/Program.Trigger.cs b/src/Fallout.Cli/Program.Trigger.cs index 9edee1a8e..89516fde0 100644 --- a/src/Fallout.Cli/Program.Trigger.cs +++ b/src/Fallout.Cli/Program.Trigger.cs @@ -1,10 +1,9 @@ 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..0c7d2f659 100644 --- a/src/Fallout.Cli/Program.Update.cs +++ b/src/Fallout.Cli/Program.Update.cs @@ -2,14 +2,15 @@ using System.IO; 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 static Fallout.Build.Shared.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; +using Fallout.Build.Shared; namespace Fallout.Cli; diff --git a/src/Fallout.Cli/Program.cs b/src/Fallout.Cli/Program.cs index f68cda890..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 Fallout.Common.IO; -using Fallout.Common.Utilities; 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 c379a7d53..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.Solutions; -using Fallout.Common.Utilities; using Fallout.Infrastructure.Tooling; +using Fallout.Kernel; +using Fallout.Infrastructure.ProjectModel; +using Fallout.Build.Shared; namespace Fallout.Cli; @@ -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/Rewriting/Cake/AbsolutePathRewriter.cs b/src/Fallout.Cli/Rewriting/Cake/AbsolutePathRewriter.cs index 9f1fafa8b..05b2be92f 100644 --- a/src/Fallout.Cli/Rewriting/Cake/AbsolutePathRewriter.cs +++ b/src/Fallout.Cli/Rewriting/Cake/AbsolutePathRewriter.cs @@ -4,9 +4,8 @@ using Microsoft.CodeAnalysis; 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..a753a61b8 100644 --- a/src/Fallout.Cli/Rewriting/Cake/ClassRewriter.cs +++ b/src/Fallout.Cli/Rewriting/Cake/ClassRewriter.cs @@ -3,14 +3,14 @@ using Microsoft.CodeAnalysis; 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; +using Fallout.Kernel; namespace Fallout.Cli.Rewriting.Cake; @@ -29,15 +29,15 @@ internal class ClassRewriter : SafeSyntaxRewriter "System.Linq.Expressions", "System.Security.Cryptography.X509Certificates", "System.Xml", - "Fallout.Common", - "Fallout.Common.Execution", - "Fallout.Common.IO", - "Fallout.Solutions", - "Fallout.Common.Tooling", - "Fallout.Common.Tools.DotNet", - "Fallout.Common.Tools.GitVersion", - "Fallout.Common.Tools.SignTool", - "Fallout.Common.Utilities.Collections", + // 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 => @@ -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/Rewriting/Cake/FormattingRewriter.cs b/src/Fallout.Cli/Rewriting/Cake/FormattingRewriter.cs index 2b1db73cd..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 Fallout.Common.Utilities.Collections; 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 0960cd80c..8112ee584 100644 --- a/src/Fallout.Cli/Rewriting/Cake/InvocationRewriter.cs +++ b/src/Fallout.Cli/Rewriting/Cake/InvocationRewriter.cs @@ -3,11 +3,10 @@ using System.Linq; 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; +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/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/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/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..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 Fallout.Common.Utilities.Collections; 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 84293e038..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 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; +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 992155c17..52f6a0cba 100644 --- a/src/Fallout.Cli/templates/Build.cs +++ b/src/Fallout.Cli/templates/Build.cs @@ -1,23 +1,22 @@ using System; using System.Linq; -using Fallout.Common; -using Fallout.Common.CI; -using Fallout.Common.Execution; -using Fallout.Common.Git; // GIT -using Fallout.Common.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 static Fallout.Common.ChangeLog.ChangelogTasks; // CHANGELOG -using static Fallout.Common.EnvironmentInfo; -using static Fallout.Common.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 Fallout.Application.CI; +using Fallout.Application.Execution; +using Fallout.Application.Git; // GIT +using Fallout.Kernel.IO; +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.Application.ChangeLog.ChangelogTasks; // CHANGELOG +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 +using static Fallout.Application.Tools.NuGet.NuGetTasks; // NUGET && MSBUILD [CheckBuildProjectConfigurations] // SOLUTION_FILE [ShutdownDotNetAfterServerBuild] // DOTNET 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.Common/Fallout.Common.csproj b/src/Fallout.Common/Fallout.Common.csproj deleted file mode 100644 index b0c922b14..000000000 --- a/src/Fallout.Common/Fallout.Common.csproj +++ /dev/null @@ -1,43 +0,0 @@ - - - - net10.0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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. diff --git a/src/Fallout.Common/CI/AppVeyor/AppVeyor.Theming.cs b/src/Fallout.Infrastructure.CI/AppVeyor/AppVeyor.Theming.cs similarity index 97% rename from src/Fallout.Common/CI/AppVeyor/AppVeyor.Theming.cs rename to src/Fallout.Infrastructure.CI/AppVeyor/AppVeyor.Theming.cs index 39ec10ca8..911c3d396 100644 --- a/src/Fallout.Common/CI/AppVeyor/AppVeyor.Theming.cs +++ b/src/Fallout.Infrastructure.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.Infrastructure.CI/AppVeyor/AppVeyor.cs similarity index 97% rename from src/Fallout.Common/CI/AppVeyor/AppVeyor.cs rename to src/Fallout.Infrastructure.CI/AppVeyor/AppVeyor.cs index cf1ea83a0..ce012bde4 100644 --- a/src/Fallout.Common/CI/AppVeyor/AppVeyor.cs +++ b/src/Fallout.Infrastructure.CI/AppVeyor/AppVeyor.cs @@ -2,12 +2,12 @@ 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; +namespace Fallout.Infrastructure.CI.AppVeyor; // // [Headers("Accept: application/json")] // public interface IAppVeyorRestClient @@ -28,7 +28,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.Infrastructure.CI/AppVeyor/AppVeyorAttribute.cs similarity index 96% rename from src/Fallout.Common/CI/AppVeyor/AppVeyorAttribute.cs rename to src/Fallout.Infrastructure.CI/AppVeyor/AppVeyorAttribute.cs index c98e2c6d1..8a05fd65a 100644 --- a/src/Fallout.Common/CI/AppVeyor/AppVeyorAttribute.cs +++ b/src/Fallout.Infrastructure.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.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; +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.Infrastructure.CI/AppVeyor/AppVeyorImage.cs similarity index 94% rename from src/Fallout.Common/CI/AppVeyor/AppVeyorImage.cs rename to src/Fallout.Infrastructure.CI/AppVeyor/AppVeyorImage.cs index 3033ce36e..2c71600d7 100644 --- a/src/Fallout.Common/CI/AppVeyor/AppVeyorImage.cs +++ b/src/Fallout.Infrastructure.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.Infrastructure.CI/AppVeyor/AppVeyorSecretAttribute.cs similarity index 85% rename from src/Fallout.Common/CI/AppVeyor/AppVeyorSecretAttribute.cs rename to src/Fallout.Infrastructure.CI/AppVeyor/AppVeyorSecretAttribute.cs index 830fffd42..aa4a79224 100644 --- a/src/Fallout.Common/CI/AppVeyor/AppVeyorSecretAttribute.cs +++ b/src/Fallout.Infrastructure.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.Infrastructure.CI/AppVeyor/AppVeyorService.cs similarity index 91% rename from src/Fallout.Common/CI/AppVeyor/AppVeyorService.cs rename to src/Fallout.Infrastructure.CI/AppVeyor/AppVeyorService.cs index 2bfd3551f..4f797f9c3 100644 --- a/src/Fallout.Common/CI/AppVeyor/AppVeyorService.cs +++ b/src/Fallout.Infrastructure.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.Infrastructure.CI/AppVeyor/Configuration/AppVeyorBranches.cs similarity index 87% rename from src/Fallout.Common/CI/AppVeyor/Configuration/AppVeyorBranches.cs rename to src/Fallout.Infrastructure.CI/AppVeyor/Configuration/AppVeyorBranches.cs index 339ad30d7..81d6c0160 100644 --- a/src/Fallout.Common/CI/AppVeyor/Configuration/AppVeyorBranches.cs +++ b/src/Fallout.Infrastructure.CI/AppVeyor/Configuration/AppVeyorBranches.cs @@ -1,10 +1,10 @@ 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; +namespace Fallout.Infrastructure.CI.AppVeyor.Configuration; public class AppVeyorBranches : ConfigurationEntity { diff --git a/src/Fallout.Common/CI/AppVeyor/Configuration/AppVeyorConfiguration.cs b/src/Fallout.Infrastructure.CI/AppVeyor/Configuration/AppVeyorConfiguration.cs similarity index 96% rename from src/Fallout.Common/CI/AppVeyor/Configuration/AppVeyorConfiguration.cs rename to src/Fallout.Infrastructure.CI/AppVeyor/Configuration/AppVeyorConfiguration.cs index 210e685e4..d2b8f609c 100644 --- a/src/Fallout.Common/CI/AppVeyor/Configuration/AppVeyorConfiguration.cs +++ b/src/Fallout.Infrastructure.CI/AppVeyor/Configuration/AppVeyorConfiguration.cs @@ -1,13 +1,14 @@ 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; +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.Infrastructure.CI/AppVeyor/Configuration/AppVeyorCustomWriterExtensions.cs similarity index 80% rename from src/Fallout.Common/CI/AppVeyor/Configuration/AppVeyorCustomWriterExtensions.cs rename to src/Fallout.Infrastructure.CI/AppVeyor/Configuration/AppVeyorCustomWriterExtensions.cs index 55c223b22..360a53363 100644 --- a/src/Fallout.Common/CI/AppVeyor/Configuration/AppVeyorCustomWriterExtensions.cs +++ b/src/Fallout.Infrastructure.CI/AppVeyor/Configuration/AppVeyorCustomWriterExtensions.cs @@ -1,9 +1,9 @@ using System; using System.Linq; -using Fallout.Common.Utilities; 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.Infrastructure.CI/AzurePipelines/AzurePipelines.Theming.cs similarity index 96% rename from src/Fallout.Common/CI/AzurePipelines/AzurePipelines.Theming.cs rename to src/Fallout.Infrastructure.CI/AzurePipelines/AzurePipelines.Theming.cs index 942880149..d6f1a9fc1 100644 --- a/src/Fallout.Common/CI/AzurePipelines/AzurePipelines.Theming.cs +++ b/src/Fallout.Infrastructure.CI/AzurePipelines/AzurePipelines.Theming.cs @@ -1,10 +1,10 @@ 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; +namespace Fallout.Infrastructure.CI.AzurePipelines; public partial class AzurePipelines { diff --git a/src/Fallout.Common/CI/AzurePipelines/AzurePipelines.cs b/src/Fallout.Infrastructure.CI/AzurePipelines/AzurePipelines.cs similarity index 98% rename from src/Fallout.Common/CI/AzurePipelines/AzurePipelines.cs rename to src/Fallout.Infrastructure.CI/AzurePipelines/AzurePipelines.cs index 50df16a23..18fee4853 100644 --- a/src/Fallout.Common/CI/AzurePipelines/AzurePipelines.cs +++ b/src/Fallout.Infrastructure.CI/AzurePipelines/AzurePipelines.cs @@ -2,19 +2,19 @@ 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; +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.Infrastructure.CI/AzurePipelines/AzurePipelinesAttribute.cs similarity index 97% rename from src/Fallout.Common/CI/AzurePipelines/AzurePipelinesAttribute.cs rename to src/Fallout.Infrastructure.CI/AzurePipelines/AzurePipelinesAttribute.cs index 38d6957a0..0537789a6 100644 --- a/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesAttribute.cs +++ b/src/Fallout.Infrastructure.CI/AzurePipelines/AzurePipelinesAttribute.cs @@ -2,17 +2,17 @@ using System.Collections.Generic; 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; +using Fallout.Infrastructure.CI.AzurePipelines.Configuration; -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.Infrastructure.CI/AzurePipelines/AzurePipelinesBuildReason.cs similarity index 93% rename from src/Fallout.Common/CI/AzurePipelines/AzurePipelinesBuildReason.cs rename to src/Fallout.Infrastructure.CI/AzurePipelines/AzurePipelinesBuildReason.cs index c94bd07e4..d73518023 100644 --- a/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesBuildReason.cs +++ b/src/Fallout.Infrastructure.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.Infrastructure.CI/AzurePipelines/AzurePipelinesCachePaths.cs similarity index 85% rename from src/Fallout.Common/CI/AzurePipelines/AzurePipelinesCachePaths.cs rename to src/Fallout.Infrastructure.CI/AzurePipelines/AzurePipelinesCachePaths.cs index e6908b071..0f3e1b210 100644 --- a/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesCachePaths.cs +++ b/src/Fallout.Infrastructure.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/AzurePipelinesImage.cs b/src/Fallout.Infrastructure.CI/AzurePipelines/AzurePipelinesImage.cs similarity index 92% rename from src/Fallout.Common/CI/AzurePipelines/AzurePipelinesImage.cs rename to src/Fallout.Infrastructure.CI/AzurePipelines/AzurePipelinesImage.cs index bb42aa7df..635f65aa5 100644 --- a/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesImage.cs +++ b/src/Fallout.Infrastructure.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.Infrastructure.CI/AzurePipelines/AzurePipelinesIssueType.cs similarity index 56% rename from src/Fallout.Common/CI/AzurePipelines/AzurePipelinesIssueType.cs rename to src/Fallout.Infrastructure.CI/AzurePipelines/AzurePipelinesIssueType.cs index 750b376a8..345388e99 100644 --- a/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesIssueType.cs +++ b/src/Fallout.Infrastructure.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.Infrastructure.CI/AzurePipelines/AzurePipelinesJobStatus.cs similarity index 65% rename from src/Fallout.Common/CI/AzurePipelines/AzurePipelinesJobStatus.cs rename to src/Fallout.Infrastructure.CI/AzurePipelines/AzurePipelinesJobStatus.cs index 5ce6581d9..e7ef10a1c 100644 --- a/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesJobStatus.cs +++ b/src/Fallout.Infrastructure.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.Infrastructure.CI/AzurePipelines/AzurePipelinesRepositoryType.cs similarity index 91% rename from src/Fallout.Common/CI/AzurePipelines/AzurePipelinesRepositoryType.cs rename to src/Fallout.Infrastructure.CI/AzurePipelines/AzurePipelinesRepositoryType.cs index 498dbada3..1bec24f2b 100644 --- a/src/Fallout.Common/CI/AzurePipelines/AzurePipelinesRepositoryType.cs +++ b/src/Fallout.Infrastructure.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/Configuration/AzurePipelineCheckoutStep.cs b/src/Fallout.Infrastructure.CI/AzurePipelines/Configuration/AzurePipelineCheckoutStep.cs similarity index 94% rename from src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelineCheckoutStep.cs rename to src/Fallout.Infrastructure.CI/AzurePipelines/Configuration/AzurePipelineCheckoutStep.cs index f7b91f414..3b256daa6 100644 --- a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelineCheckoutStep.cs +++ b/src/Fallout.Infrastructure.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.Infrastructure.CI/AzurePipelines/Configuration/AzurePipelinesCacheStep.cs similarity index 90% rename from src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesCacheStep.cs rename to src/Fallout.Infrastructure.CI/AzurePipelines/Configuration/AzurePipelinesCacheStep.cs index 28d9b2674..19a03e961 100644 --- a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesCacheStep.cs +++ b/src/Fallout.Infrastructure.CI/AzurePipelines/Configuration/AzurePipelinesCacheStep.cs @@ -1,10 +1,11 @@ using System; using System.Linq; -using Fallout.Common.Utilities; 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.Infrastructure.CI/AzurePipelines/Configuration/AzurePipelinesCmdStep.cs similarity index 89% rename from src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesCmdStep.cs rename to src/Fallout.Infrastructure.CI/AzurePipelines/Configuration/AzurePipelinesCmdStep.cs index 58a8dbcc6..0650d01cb 100644 --- a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesCmdStep.cs +++ b/src/Fallout.Infrastructure.CI/AzurePipelines/Configuration/AzurePipelinesCmdStep.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.Utilities; +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.Infrastructure.CI/AzurePipelines/Configuration/AzurePipelinesConfiguration.cs similarity index 92% rename from src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesConfiguration.cs rename to src/Fallout.Infrastructure.CI/AzurePipelines/Configuration/AzurePipelinesConfiguration.cs index 1ff728f08..3ee18257a 100644 --- a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesConfiguration.cs +++ b/src/Fallout.Infrastructure.CI/AzurePipelines/Configuration/AzurePipelinesConfiguration.cs @@ -1,8 +1,8 @@ -using Fallout.Common.Utilities.Collections; using Fallout.Application.CI; 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.Infrastructure.CI/AzurePipelines/Configuration/AzurePipelinesCustomWriterExtensions.cs similarity index 80% rename from src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesCustomWriterExtensions.cs rename to src/Fallout.Infrastructure.CI/AzurePipelines/Configuration/AzurePipelinesCustomWriterExtensions.cs index 4d9b63f8f..6f5efcaec 100644 --- a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesCustomWriterExtensions.cs +++ b/src/Fallout.Infrastructure.CI/AzurePipelines/Configuration/AzurePipelinesCustomWriterExtensions.cs @@ -1,9 +1,9 @@ using System; using System.Linq; -using Fallout.Common.Utilities; 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.Infrastructure.CI/AzurePipelines/Configuration/AzurePipelinesDownloadStep.cs similarity index 88% rename from src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesDownloadStep.cs rename to src/Fallout.Infrastructure.CI/AzurePipelines/Configuration/AzurePipelinesDownloadStep.cs index 379b2b108..a40f3032a 100644 --- a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesDownloadStep.cs +++ b/src/Fallout.Infrastructure.CI/AzurePipelines/Configuration/AzurePipelinesDownloadStep.cs @@ -1,9 +1,9 @@ using System; using System.Linq; -using Fallout.Common.Utilities; 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.Infrastructure.CI/AzurePipelines/Configuration/AzurePipelinesJob.cs similarity index 89% rename from src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesJob.cs rename to src/Fallout.Infrastructure.CI/AzurePipelines/Configuration/AzurePipelinesJob.cs index 75bb288a0..1764033ed 100644 --- a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesJob.cs +++ b/src/Fallout.Infrastructure.CI/AzurePipelines/Configuration/AzurePipelinesJob.cs @@ -1,12 +1,13 @@ 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; +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.Infrastructure.CI/AzurePipelines/Configuration/AzurePipelinesPublishStep.cs similarity index 88% rename from src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesPublishStep.cs rename to src/Fallout.Infrastructure.CI/AzurePipelines/Configuration/AzurePipelinesPublishStep.cs index e43dcd145..36c8ae90a 100644 --- a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesPublishStep.cs +++ b/src/Fallout.Infrastructure.CI/AzurePipelines/Configuration/AzurePipelinesPublishStep.cs @@ -1,9 +1,9 @@ using System; using System.Linq; -using Fallout.Common.Utilities; 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.Infrastructure.CI/AzurePipelines/Configuration/AzurePipelinesStage.cs similarity index 86% rename from src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesStage.cs rename to src/Fallout.Infrastructure.CI/AzurePipelines/Configuration/AzurePipelinesStage.cs index 7f6c181cd..785e855dc 100644 --- a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesStage.cs +++ b/src/Fallout.Infrastructure.CI/AzurePipelines/Configuration/AzurePipelinesStage.cs @@ -1,12 +1,13 @@ 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; +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.Infrastructure.CI/AzurePipelines/Configuration/AzurePipelinesStep.cs similarity index 66% rename from src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesStep.cs rename to src/Fallout.Infrastructure.CI/AzurePipelines/Configuration/AzurePipelinesStep.cs index dde174943..1e1670332 100644 --- a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesStep.cs +++ b/src/Fallout.Infrastructure.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.Infrastructure.CI/AzurePipelines/Configuration/AzurePipelinesVcsPushTrigger.cs similarity index 95% rename from src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesVcsPushTrigger.cs rename to src/Fallout.Infrastructure.CI/AzurePipelines/Configuration/AzurePipelinesVcsPushTrigger.cs index b44327db3..65759b619 100644 --- a/src/Fallout.Common/CI/AzurePipelines/Configuration/AzurePipelinesVcsPushTrigger.cs +++ b/src/Fallout.Infrastructure.CI/AzurePipelines/Configuration/AzurePipelinesVcsPushTrigger.cs @@ -1,9 +1,9 @@ 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; +namespace Fallout.Infrastructure.CI.AzurePipelines.Configuration; public class AzurePipelinesVcsPushTrigger : ConfigurationEntity { diff --git a/src/Fallout.Common/CI/Bamboo/Bamboo.cs b/src/Fallout.Infrastructure.CI/Bamboo/Bamboo.cs similarity index 97% rename from src/Fallout.Common/CI/Bamboo/Bamboo.cs rename to src/Fallout.Infrastructure.CI/Bamboo/Bamboo.cs index 8afb45267..d672b987b 100644 --- a/src/Fallout.Common/CI/Bamboo/Bamboo.cs +++ b/src/Fallout.Infrastructure.CI/Bamboo/Bamboo.cs @@ -2,8 +2,9 @@ using System.Diagnostics.CodeAnalysis; using Fallout.Application.CI; using Fallout.Application; +using Fallout.Kernel; -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.Infrastructure.CI/Bitbucket/Bitbucket.cs similarity index 98% rename from src/Fallout.Common/CI/Bitbucket/Bitbucket.cs rename to src/Fallout.Infrastructure.CI/Bitbucket/Bitbucket.cs index b311a1b41..01a613215 100644 --- a/src/Fallout.Common/CI/Bitbucket/Bitbucket.cs +++ b/src/Fallout.Infrastructure.CI/Bitbucket/Bitbucket.cs @@ -3,8 +3,9 @@ using System.Linq; using Fallout.Application.CI; using Fallout.Application; +using Fallout.Kernel; -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.Infrastructure.CI/Bitrise/Bitrise.cs similarity index 97% rename from src/Fallout.Common/CI/Bitrise/Bitrise.cs rename to src/Fallout.Infrastructure.CI/Bitrise/Bitrise.cs index c51d488c0..b71f1a409 100644 --- a/src/Fallout.Common/CI/Bitrise/Bitrise.cs +++ b/src/Fallout.Infrastructure.CI/Bitrise/Bitrise.cs @@ -3,8 +3,9 @@ using System.Linq; using Fallout.Application; using Fallout.Application.CI; +using Fallout.Kernel; -namespace Fallout.Common.CI.Bitrise; +namespace Fallout.Infrastructure.CI.Bitrise; /// /// Interface according to the official website. 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 90% rename from src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsArtifactStep.cs rename to src/Fallout.Infrastructure.CI/GitHubActions/Configuration/GitHubActionsArtifactStep.cs index 6e405afa5..a1d71ea7a 100644 --- a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsArtifactStep.cs +++ b/src/Fallout.Infrastructure.CI/GitHubActions/Configuration/GitHubActionsArtifactStep.cs @@ -1,9 +1,9 @@ using System; using System.Linq; -using Fallout.Common.Utilities; 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.Infrastructure.CI/GitHubActions/Configuration/GitHubActionsCacheStep.cs similarity index 88% rename from src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsCacheStep.cs rename to src/Fallout.Infrastructure.CI/GitHubActions/Configuration/GitHubActionsCacheStep.cs index 83b7c9582..e919f5b0a 100644 --- a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsCacheStep.cs +++ b/src/Fallout.Infrastructure.CI/GitHubActions/Configuration/GitHubActionsCacheStep.cs @@ -1,10 +1,10 @@ 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; +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.Infrastructure.CI/GitHubActions/Configuration/GitHubActionsCheckoutStep.cs similarity index 92% rename from src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsCheckoutStep.cs rename to src/Fallout.Infrastructure.CI/GitHubActions/Configuration/GitHubActionsCheckoutStep.cs index 5a6574f0f..cf13bee58 100644 --- a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsCheckoutStep.cs +++ b/src/Fallout.Infrastructure.CI/GitHubActions/Configuration/GitHubActionsCheckoutStep.cs @@ -1,9 +1,10 @@ using System; using System.Linq; -using Fallout.Common.Utilities; 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 { @@ -17,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 diff --git a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsConfiguration.cs b/src/Fallout.Infrastructure.CI/GitHubActions/Configuration/GitHubActionsConfiguration.cs similarity index 93% rename from src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsConfiguration.cs rename to src/Fallout.Infrastructure.CI/GitHubActions/Configuration/GitHubActionsConfiguration.cs index c0e632f00..32abfe64e 100644 --- a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsConfiguration.cs +++ b/src/Fallout.Infrastructure.CI/GitHubActions/Configuration/GitHubActionsConfiguration.cs @@ -1,11 +1,12 @@ 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; +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.Infrastructure.CI/GitHubActions/Configuration/GitHubActionsDetailedTrigger.cs similarity index 68% rename from src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsDetailedTrigger.cs rename to src/Fallout.Infrastructure.CI/GitHubActions/Configuration/GitHubActionsDetailedTrigger.cs index de6fb629f..5e7e18127 100644 --- a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsDetailedTrigger.cs +++ b/src/Fallout.Infrastructure.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.Infrastructure.CI/GitHubActions/Configuration/GitHubActionsJob.cs similarity index 94% rename from src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsJob.cs rename to src/Fallout.Infrastructure.CI/GitHubActions/Configuration/GitHubActionsJob.cs index 08d817a15..5f3d577d9 100644 --- a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsJob.cs +++ b/src/Fallout.Infrastructure.CI/GitHubActions/Configuration/GitHubActionsJob.cs @@ -1,12 +1,13 @@ 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; +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.Infrastructure.CI/GitHubActions/Configuration/GitHubActionsRunStep.cs similarity index 90% rename from src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsRunStep.cs rename to src/Fallout.Infrastructure.CI/GitHubActions/Configuration/GitHubActionsRunStep.cs index 30632d872..d800d72be 100644 --- a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsRunStep.cs +++ b/src/Fallout.Infrastructure.CI/GitHubActions/Configuration/GitHubActionsRunStep.cs @@ -1,9 +1,9 @@ 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; +namespace Fallout.Infrastructure.CI.GitHubActions.Configuration; public class GitHubActionsRunStep : GitHubActionsStep { diff --git a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsScheduledTrigger.cs b/src/Fallout.Infrastructure.CI/GitHubActions/Configuration/GitHubActionsScheduledTrigger.cs similarity index 85% rename from src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsScheduledTrigger.cs rename to src/Fallout.Infrastructure.CI/GitHubActions/Configuration/GitHubActionsScheduledTrigger.cs index ac52bbb37..a5632efe9 100644 --- a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsScheduledTrigger.cs +++ b/src/Fallout.Infrastructure.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.Infrastructure.CI/GitHubActions/Configuration/GitHubActionsStep.cs similarity index 66% rename from src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsStep.cs rename to src/Fallout.Infrastructure.CI/GitHubActions/Configuration/GitHubActionsStep.cs index 447700cec..2076fb3ae 100644 --- a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsStep.cs +++ b/src/Fallout.Infrastructure.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.Infrastructure.CI/GitHubActions/Configuration/GitHubActionsVcsTrigger.cs similarity index 93% rename from src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsVcsTrigger.cs rename to src/Fallout.Infrastructure.CI/GitHubActions/Configuration/GitHubActionsVcsTrigger.cs index 268e04b26..b67178b82 100644 --- a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsVcsTrigger.cs +++ b/src/Fallout.Infrastructure.CI/GitHubActions/Configuration/GitHubActionsVcsTrigger.cs @@ -1,11 +1,12 @@ 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; +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.Infrastructure.CI/GitHubActions/Configuration/GitHubActionsWorkflowDispatchTrigger.cs similarity index 89% rename from src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsWorkflowDispatchTrigger.cs rename to src/Fallout.Infrastructure.CI/GitHubActions/Configuration/GitHubActionsWorkflowDispatchTrigger.cs index 05b1a2e25..89500c51c 100644 --- a/src/Fallout.Common/CI/GitHubActions/Configuration/GitHubActionsWorkflowDispatchTrigger.cs +++ b/src/Fallout.Infrastructure.CI/GitHubActions/Configuration/GitHubActionsWorkflowDispatchTrigger.cs @@ -1,10 +1,10 @@ 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; +namespace Fallout.Infrastructure.CI.GitHubActions.Configuration; public class GitHubActionsWorkflowDispatchTrigger : GitHubActionsDetailedTrigger { diff --git a/src/Fallout.Common/CI/GitHubActions/GitHubActions.Client.cs b/src/Fallout.Infrastructure.CI/GitHubActions/GitHubActions.Client.cs similarity index 87% rename from src/Fallout.Common/CI/GitHubActions/GitHubActions.Client.cs rename to src/Fallout.Infrastructure.CI/GitHubActions/GitHubActions.Client.cs index 0f0388729..8d790ee8a 100644 --- a/src/Fallout.Common/CI/GitHubActions/GitHubActions.Client.cs +++ b/src/Fallout.Infrastructure.CI/GitHubActions/GitHubActions.Client.cs @@ -1,11 +1,11 @@ -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; +namespace Fallout.Infrastructure.CI.GitHubActions; public partial class GitHubActions { diff --git a/src/Fallout.Common/CI/GitHubActions/GitHubActions.Theming.cs b/src/Fallout.Infrastructure.CI/GitHubActions/GitHubActions.Theming.cs similarity index 92% rename from src/Fallout.Common/CI/GitHubActions/GitHubActions.Theming.cs rename to src/Fallout.Infrastructure.CI/GitHubActions/GitHubActions.Theming.cs index 1b0749dfc..2c95bea07 100644 --- a/src/Fallout.Common/CI/GitHubActions/GitHubActions.Theming.cs +++ b/src/Fallout.Infrastructure.CI/GitHubActions/GitHubActions.Theming.cs @@ -1,8 +1,8 @@ using System; -using Fallout.Common.Utilities; 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.Infrastructure.CI/GitHubActions/GitHubActions.cs similarity index 97% rename from src/Fallout.Common/CI/GitHubActions/GitHubActions.cs rename to src/Fallout.Infrastructure.CI/GitHubActions/GitHubActions.cs index abd748dc9..cc65014f3 100644 --- a/src/Fallout.Common/CI/GitHubActions/GitHubActions.cs +++ b/src/Fallout.Infrastructure.CI/GitHubActions/GitHubActions.cs @@ -7,19 +7,19 @@ 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; +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.Infrastructure.CI/GitHubActions/GitHubActionsAttribute.cs similarity index 98% rename from src/Fallout.Common/CI/GitHubActions/GitHubActionsAttribute.cs rename to src/Fallout.Infrastructure.CI/GitHubActions/GitHubActionsAttribute.cs index 39e6c4c1c..82a2dbf42 100644 --- a/src/Fallout.Common/CI/GitHubActions/GitHubActionsAttribute.cs +++ b/src/Fallout.Infrastructure.CI/GitHubActions/GitHubActionsAttribute.cs @@ -2,16 +2,16 @@ using System.Collections.Generic; 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; +using Fallout.Infrastructure.CI.GitHubActions.Configuration; -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.Infrastructure.CI/GitHubActions/GitHubActionsImage.cs similarity index 94% rename from src/Fallout.Common/CI/GitHubActions/GitHubActionsImage.cs rename to src/Fallout.Infrastructure.CI/GitHubActions/GitHubActionsImage.cs index 9e6c8011d..7050b0aba 100644 --- a/src/Fallout.Common/CI/GitHubActions/GitHubActionsImage.cs +++ b/src/Fallout.Infrastructure.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.Infrastructure.CI/GitHubActions/GitHubActionsPermissions.cs similarity index 92% rename from src/Fallout.Common/CI/GitHubActions/GitHubActionsPermissions.cs rename to src/Fallout.Infrastructure.CI/GitHubActions/GitHubActionsPermissions.cs index 54c48b83b..7fa3cb855 100644 --- a/src/Fallout.Common/CI/GitHubActions/GitHubActionsPermissions.cs +++ b/src/Fallout.Infrastructure.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.Infrastructure.CI/GitHubActions/GitHubActionsSubmodules.cs similarity index 68% rename from src/Fallout.Common/CI/GitHubActions/GitHubActionsSubmodules.cs rename to src/Fallout.Infrastructure.CI/GitHubActions/GitHubActionsSubmodules.cs index 7ce5a1594..8ee22fa59 100644 --- a/src/Fallout.Common/CI/GitHubActions/GitHubActionsSubmodules.cs +++ b/src/Fallout.Infrastructure.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.Infrastructure.CI/GitHubActions/GitHubActionsTrigger.cs similarity index 82% rename from src/Fallout.Common/CI/GitHubActions/GitHubActionsTrigger.cs rename to src/Fallout.Infrastructure.CI/GitHubActions/GitHubActionsTrigger.cs index b1e8c2e8b..636c72ce7 100644 --- a/src/Fallout.Common/CI/GitHubActions/GitHubActionsTrigger.cs +++ b/src/Fallout.Infrastructure.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.Infrastructure.CI/GitLab/GitLab.Theming.cs similarity index 85% rename from src/Fallout.Common/CI/GitLab/GitLab.Theming.cs rename to src/Fallout.Infrastructure.CI/GitLab/GitLab.Theming.cs index 7a88a4ac5..59f2589c9 100644 --- a/src/Fallout.Common/CI/GitLab/GitLab.Theming.cs +++ b/src/Fallout.Infrastructure.CI/GitLab/GitLab.Theming.cs @@ -1,8 +1,8 @@ using System; -using Fallout.Common.Utilities; 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.Infrastructure.CI/GitLab/GitLab.cs similarity index 99% rename from src/Fallout.Common/CI/GitLab/GitLab.cs rename to src/Fallout.Infrastructure.CI/GitLab/GitLab.cs index e428f2f0f..41add550c 100644 --- a/src/Fallout.Common/CI/GitLab/GitLab.cs +++ b/src/Fallout.Infrastructure.CI/GitLab/GitLab.cs @@ -1,11 +1,11 @@ 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; +namespace Fallout.Infrastructure.CI.GitLab; /// /// Interface according to the official website. diff --git a/src/Fallout.Common/CI/GitLab/GitLabProjectVisibility.cs b/src/Fallout.Infrastructure.CI/GitLab/GitLabProjectVisibility.cs similarity index 63% rename from src/Fallout.Common/CI/GitLab/GitLabProjectVisibility.cs rename to src/Fallout.Infrastructure.CI/GitLab/GitLabProjectVisibility.cs index 3d7ff8827..e58206a36 100644 --- a/src/Fallout.Common/CI/GitLab/GitLabProjectVisibility.cs +++ b/src/Fallout.Infrastructure.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.Infrastructure.CI/Jenkins/Jenkins.cs similarity index 98% rename from src/Fallout.Common/CI/Jenkins/Jenkins.cs rename to src/Fallout.Infrastructure.CI/Jenkins/Jenkins.cs index 486f32cd5..5a340f49c 100644 --- a/src/Fallout.Common/CI/Jenkins/Jenkins.cs +++ b/src/Fallout.Infrastructure.CI/Jenkins/Jenkins.cs @@ -3,8 +3,9 @@ using System.Linq; using Fallout.Application.CI; using Fallout.Application; +using Fallout.Kernel; -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.Infrastructure.CI/SpaceAutomation/Configuration/SpaceAutomationConfiguration.cs similarity index 92% rename from src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationConfiguration.cs rename to src/Fallout.Infrastructure.CI/SpaceAutomation/Configuration/SpaceAutomationConfiguration.cs index 9361d2b92..b48b7301e 100644 --- a/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationConfiguration.cs +++ b/src/Fallout.Infrastructure.CI/SpaceAutomation/Configuration/SpaceAutomationConfiguration.cs @@ -1,10 +1,10 @@ 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; +namespace Fallout.Infrastructure.CI.SpaceAutomation.Configuration; public class SpaceAutomationConfiguration : ConfigurationEntity { diff --git a/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationContainer.cs b/src/Fallout.Infrastructure.CI/SpaceAutomation/Configuration/SpaceAutomationContainer.cs similarity index 89% rename from src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationContainer.cs rename to src/Fallout.Infrastructure.CI/SpaceAutomation/Configuration/SpaceAutomationContainer.cs index 5c44bf5d3..b2ce23877 100644 --- a/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationContainer.cs +++ b/src/Fallout.Infrastructure.CI/SpaceAutomation/Configuration/SpaceAutomationContainer.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.Application.CI; using Fallout.Application.Utilities; +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.Infrastructure.CI/SpaceAutomation/Configuration/SpaceAutomationCronScheduleTrigger.cs similarity index 79% rename from src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationCronScheduleTrigger.cs rename to src/Fallout.Infrastructure.CI/SpaceAutomation/Configuration/SpaceAutomationCronScheduleTrigger.cs index 458d9738b..a82cee67e 100644 --- a/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationCronScheduleTrigger.cs +++ b/src/Fallout.Infrastructure.CI/SpaceAutomation/Configuration/SpaceAutomationCronScheduleTrigger.cs @@ -1,9 +1,9 @@ using System; using System.Linq; -using Fallout.Common.Utilities; 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.Infrastructure.CI/SpaceAutomation/Configuration/SpaceAutomationCustomWriterExtensions.cs similarity index 92% rename from src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationCustomWriterExtensions.cs rename to src/Fallout.Infrastructure.CI/SpaceAutomation/Configuration/SpaceAutomationCustomWriterExtensions.cs index c5cca1db7..6b3e5f11d 100644 --- a/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationCustomWriterExtensions.cs +++ b/src/Fallout.Infrastructure.CI/SpaceAutomation/Configuration/SpaceAutomationCustomWriterExtensions.cs @@ -1,9 +1,9 @@ using System; using System.Linq; -using Fallout.Common.Utilities; 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.Infrastructure.CI/SpaceAutomation/Configuration/SpaceAutomationPushTrigger.cs similarity index 94% rename from src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationPushTrigger.cs rename to src/Fallout.Infrastructure.CI/SpaceAutomation/Configuration/SpaceAutomationPushTrigger.cs index 88297a1ca..1729280f1 100644 --- a/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationPushTrigger.cs +++ b/src/Fallout.Infrastructure.CI/SpaceAutomation/Configuration/SpaceAutomationPushTrigger.cs @@ -1,10 +1,10 @@ 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; +namespace Fallout.Infrastructure.CI.SpaceAutomation.Configuration; public class SpaceAutomationPushTrigger : SpaceAutomationTrigger { diff --git a/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationResources.cs b/src/Fallout.Infrastructure.CI/SpaceAutomation/Configuration/SpaceAutomationResources.cs similarity index 90% rename from src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationResources.cs rename to src/Fallout.Infrastructure.CI/SpaceAutomation/Configuration/SpaceAutomationResources.cs index 0c933aacb..35859051b 100644 --- a/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationResources.cs +++ b/src/Fallout.Infrastructure.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.Infrastructure.CI/SpaceAutomation/Configuration/SpaceAutomationTrigger.cs similarity index 66% rename from src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationTrigger.cs rename to src/Fallout.Infrastructure.CI/SpaceAutomation/Configuration/SpaceAutomationTrigger.cs index 892f42d5b..b457d4afb 100644 --- a/src/Fallout.Common/CI/SpaceAutomation/Configuration/SpaceAutomationTrigger.cs +++ b/src/Fallout.Infrastructure.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.Infrastructure.CI/SpaceAutomation/SpaceAutomation.Theming.cs similarity index 75% rename from src/Fallout.Common/CI/SpaceAutomation/SpaceAutomation.Theming.cs rename to src/Fallout.Infrastructure.CI/SpaceAutomation/SpaceAutomation.Theming.cs index 01dd5d88d..84425c2d4 100644 --- a/src/Fallout.Common/CI/SpaceAutomation/SpaceAutomation.Theming.cs +++ b/src/Fallout.Infrastructure.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.Infrastructure.CI/SpaceAutomation/SpaceAutomation.cs similarity index 96% rename from src/Fallout.Common/CI/SpaceAutomation/SpaceAutomation.cs rename to src/Fallout.Infrastructure.CI/SpaceAutomation/SpaceAutomation.cs index 026aa34fc..66634e26d 100644 --- a/src/Fallout.Common/CI/SpaceAutomation/SpaceAutomation.cs +++ b/src/Fallout.Infrastructure.CI/SpaceAutomation/SpaceAutomation.cs @@ -3,8 +3,9 @@ using System.Linq; using Fallout.Application.CI; using Fallout.Application; +using Fallout.Kernel; -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.Infrastructure.CI/SpaceAutomation/SpaceAutomationAttribute.cs similarity index 96% rename from src/Fallout.Common/CI/SpaceAutomation/SpaceAutomationAttribute.cs rename to src/Fallout.Infrastructure.CI/SpaceAutomation/SpaceAutomationAttribute.cs index 436174487..73ef7ae23 100644 --- a/src/Fallout.Common/CI/SpaceAutomation/SpaceAutomationAttribute.cs +++ b/src/Fallout.Infrastructure.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.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; +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.Infrastructure.CI/TeamCity/Configuration/TeamCityArtifactDependency.cs similarity index 88% rename from src/Fallout.Common/CI/TeamCity/Configuration/TeamCityArtifactDependency.cs rename to src/Fallout.Infrastructure.CI/TeamCity/Configuration/TeamCityArtifactDependency.cs index aafe1c949..53face862 100644 --- a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityArtifactDependency.cs +++ b/src/Fallout.Infrastructure.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.Infrastructure.CI/TeamCity/Configuration/TeamCityBuildType.cs similarity index 97% rename from src/Fallout.Common/CI/TeamCity/Configuration/TeamCityBuildType.cs rename to src/Fallout.Infrastructure.CI/TeamCity/Configuration/TeamCityBuildType.cs index b9021c2c0..0eb1b4b74 100644 --- a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityBuildType.cs +++ b/src/Fallout.Infrastructure.CI/TeamCity/Configuration/TeamCityBuildType.cs @@ -1,10 +1,10 @@ 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; +namespace Fallout.Infrastructure.CI.TeamCity.Configuration; public class TeamCityBuildType : ConfigurationEntity { diff --git a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityBuildTypeVcsRoot.cs b/src/Fallout.Infrastructure.CI/TeamCity/Configuration/TeamCityBuildTypeVcsRoot.cs similarity index 92% rename from src/Fallout.Common/CI/TeamCity/Configuration/TeamCityBuildTypeVcsRoot.cs rename to src/Fallout.Infrastructure.CI/TeamCity/Configuration/TeamCityBuildTypeVcsRoot.cs index f82dbd266..6714c2734 100644 --- a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityBuildTypeVcsRoot.cs +++ b/src/Fallout.Infrastructure.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.Infrastructure.CI/TeamCity/Configuration/TeamCityConfiguration.cs similarity index 88% rename from src/Fallout.Common/CI/TeamCity/Configuration/TeamCityConfiguration.cs rename to src/Fallout.Infrastructure.CI/TeamCity/Configuration/TeamCityConfiguration.cs index 97ec4a852..3e6c29094 100644 --- a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityConfiguration.cs +++ b/src/Fallout.Infrastructure.CI/TeamCity/Configuration/TeamCityConfiguration.cs @@ -1,11 +1,11 @@ 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; +namespace Fallout.Infrastructure.CI.TeamCity.Configuration; public class TeamCityConfiguration : ConfigurationEntity { diff --git a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityConfigurationParameter.cs b/src/Fallout.Infrastructure.CI/TeamCity/Configuration/TeamCityConfigurationParameter.cs similarity index 96% rename from src/Fallout.Common/CI/TeamCity/Configuration/TeamCityConfigurationParameter.cs rename to src/Fallout.Infrastructure.CI/TeamCity/Configuration/TeamCityConfigurationParameter.cs index 9c5558867..435ada31f 100644 --- a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityConfigurationParameter.cs +++ b/src/Fallout.Infrastructure.CI/TeamCity/Configuration/TeamCityConfigurationParameter.cs @@ -1,10 +1,10 @@ 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; +namespace Fallout.Infrastructure.CI.TeamCity.Configuration; public class TeamCityConfigurationParameter : TeamCityParameter { diff --git a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityCustomWriterExtensions.cs b/src/Fallout.Infrastructure.CI/TeamCity/Configuration/TeamCityCustomWriterExtensions.cs similarity index 92% rename from src/Fallout.Common/CI/TeamCity/Configuration/TeamCityCustomWriterExtensions.cs rename to src/Fallout.Infrastructure.CI/TeamCity/Configuration/TeamCityCustomWriterExtensions.cs index 2abdbec42..469b04b80 100644 --- a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityCustomWriterExtensions.cs +++ b/src/Fallout.Infrastructure.CI/TeamCity/Configuration/TeamCityCustomWriterExtensions.cs @@ -1,9 +1,9 @@ using System; using System.Linq; -using Fallout.Common.Utilities; 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.Infrastructure.CI/TeamCity/Configuration/TeamCityDependency.cs similarity index 68% rename from src/Fallout.Common/CI/TeamCity/Configuration/TeamCityDependency.cs rename to src/Fallout.Infrastructure.CI/TeamCity/Configuration/TeamCityDependency.cs index b083466a1..9b7b3bbf4 100644 --- a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityDependency.cs +++ b/src/Fallout.Infrastructure.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.Infrastructure.CI/TeamCity/Configuration/TeamCityDependencyFailureAction.cs similarity index 75% rename from src/Fallout.Common/CI/TeamCity/Configuration/TeamCityDependencyFailureAction.cs rename to src/Fallout.Infrastructure.CI/TeamCity/Configuration/TeamCityDependencyFailureAction.cs index dfe57f1f2..4ddecedde 100644 --- a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityDependencyFailureAction.cs +++ b/src/Fallout.Infrastructure.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.Infrastructure.CI/TeamCity/Configuration/TeamCityFinishBuildTrigger.cs similarity index 83% rename from src/Fallout.Common/CI/TeamCity/Configuration/TeamCityFinishBuildTrigger.cs rename to src/Fallout.Infrastructure.CI/TeamCity/Configuration/TeamCityFinishBuildTrigger.cs index 997d8f537..328b4dbee 100644 --- a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityFinishBuildTrigger.cs +++ b/src/Fallout.Infrastructure.CI/TeamCity/Configuration/TeamCityFinishBuildTrigger.cs @@ -1,9 +1,9 @@ using System; using System.Linq; -using Fallout.Common.Utilities; 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.Infrastructure.CI/TeamCity/Configuration/TeamCityKeyValueParameter.cs similarity index 89% rename from src/Fallout.Common/CI/TeamCity/Configuration/TeamCityKeyValueParameter.cs rename to src/Fallout.Infrastructure.CI/TeamCity/Configuration/TeamCityKeyValueParameter.cs index eefaec27b..c02b64e3c 100644 --- a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityKeyValueParameter.cs +++ b/src/Fallout.Infrastructure.CI/TeamCity/Configuration/TeamCityKeyValueParameter.cs @@ -1,9 +1,9 @@ using System; using System.Linq; -using Fallout.Common.Utilities; 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.Infrastructure.CI/TeamCity/Configuration/TeamCityParameter.cs similarity index 68% rename from src/Fallout.Common/CI/TeamCity/Configuration/TeamCityParameter.cs rename to src/Fallout.Infrastructure.CI/TeamCity/Configuration/TeamCityParameter.cs index 17392b694..96079cea3 100644 --- a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityParameter.cs +++ b/src/Fallout.Infrastructure.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.Infrastructure.CI/TeamCity/Configuration/TeamCityParameterDisplay.cs similarity index 64% rename from src/Fallout.Common/CI/TeamCity/Configuration/TeamCityParameterDisplay.cs rename to src/Fallout.Infrastructure.CI/TeamCity/Configuration/TeamCityParameterDisplay.cs index 24929f333..0b0cfd236 100644 --- a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityParameterDisplay.cs +++ b/src/Fallout.Infrastructure.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.Infrastructure.CI/TeamCity/Configuration/TeamCityParameterType.cs similarity index 67% rename from src/Fallout.Common/CI/TeamCity/Configuration/TeamCityParameterType.cs rename to src/Fallout.Infrastructure.CI/TeamCity/Configuration/TeamCityParameterType.cs index 940f2c943..7351da2a6 100644 --- a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityParameterType.cs +++ b/src/Fallout.Infrastructure.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.Infrastructure.CI/TeamCity/Configuration/TeamCityProject.cs similarity index 93% rename from src/Fallout.Common/CI/TeamCity/Configuration/TeamCityProject.cs rename to src/Fallout.Infrastructure.CI/TeamCity/Configuration/TeamCityProject.cs index c97e2289e..52b1079de 100644 --- a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityProject.cs +++ b/src/Fallout.Infrastructure.CI/TeamCity/Configuration/TeamCityProject.cs @@ -1,10 +1,10 @@ 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; +namespace Fallout.Infrastructure.CI.TeamCity.Configuration; public class TeamCityProject : ConfigurationEntity { diff --git a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityScheduledTrigger.cs b/src/Fallout.Infrastructure.CI/TeamCity/Configuration/TeamCityScheduledTrigger.cs similarity index 94% rename from src/Fallout.Common/CI/TeamCity/Configuration/TeamCityScheduledTrigger.cs rename to src/Fallout.Infrastructure.CI/TeamCity/Configuration/TeamCityScheduledTrigger.cs index 947b46876..6f1cea28d 100644 --- a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityScheduledTrigger.cs +++ b/src/Fallout.Infrastructure.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.Infrastructure.CI/TeamCity/Configuration/TeamCitySnapshotDependency.cs similarity index 91% rename from src/Fallout.Common/CI/TeamCity/Configuration/TeamCitySnapshotDependency.cs rename to src/Fallout.Infrastructure.CI/TeamCity/Configuration/TeamCitySnapshotDependency.cs index 0ce106c43..0655d56e0 100644 --- a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCitySnapshotDependency.cs +++ b/src/Fallout.Infrastructure.CI/TeamCity/Configuration/TeamCitySnapshotDependency.cs @@ -1,9 +1,9 @@ using System; using System.Linq; -using Fallout.Common.Utilities; 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.Infrastructure.CI/TeamCity/Configuration/TeamCityTrigger.cs similarity index 68% rename from src/Fallout.Common/CI/TeamCity/Configuration/TeamCityTrigger.cs rename to src/Fallout.Infrastructure.CI/TeamCity/Configuration/TeamCityTrigger.cs index 8bda89b82..c0dc272e1 100644 --- a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityTrigger.cs +++ b/src/Fallout.Infrastructure.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.Infrastructure.CI/TeamCity/Configuration/TeamCityVcsRoot.cs similarity index 82% rename from src/Fallout.Common/CI/TeamCity/Configuration/TeamCityVcsRoot.cs rename to src/Fallout.Infrastructure.CI/TeamCity/Configuration/TeamCityVcsRoot.cs index 44eb80217..e4e16b4f4 100644 --- a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityVcsRoot.cs +++ b/src/Fallout.Infrastructure.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.Infrastructure.CI/TeamCity/Configuration/TeamCityVcsTrigger.cs similarity index 88% rename from src/Fallout.Common/CI/TeamCity/Configuration/TeamCityVcsTrigger.cs rename to src/Fallout.Infrastructure.CI/TeamCity/Configuration/TeamCityVcsTrigger.cs index 55e5f6342..0e11ceed2 100644 --- a/src/Fallout.Common/CI/TeamCity/Configuration/TeamCityVcsTrigger.cs +++ b/src/Fallout.Infrastructure.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/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 90% rename from src/Fallout.Common/CI/TeamCity/DotNetBuildSettingsExtensions.cs rename to src/Fallout.Infrastructure.CI/TeamCity/DotNetBuildSettingsExtensions.cs index 6aa6d2b63..b059f3c90 100644 --- a/src/Fallout.Common/CI/TeamCity/DotNetBuildSettingsExtensions.cs +++ b/src/Fallout.Infrastructure.CI/TeamCity/DotNetBuildSettingsExtensions.cs @@ -2,8 +2,10 @@ using System.Linq; using Fallout.Application.Tools.DotNet; using Fallout.Infrastructure.Tooling; +using Fallout.Kernel.IO; +using Fallout.Kernel; -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.Infrastructure.CI/TeamCity/DotNetTestSettingsExtensions.cs similarity index 89% rename from src/Fallout.Common/CI/TeamCity/DotNetTestSettingsExtensions.cs rename to src/Fallout.Infrastructure.CI/TeamCity/DotNetTestSettingsExtensions.cs index 20517ec49..aeb960c1d 100644 --- a/src/Fallout.Common/CI/TeamCity/DotNetTestSettingsExtensions.cs +++ b/src/Fallout.Infrastructure.CI/TeamCity/DotNetTestSettingsExtensions.cs @@ -2,8 +2,10 @@ using System.Linq; using Fallout.Application.Tools.DotNet; using Fallout.Infrastructure.Tooling; +using Fallout.Kernel.IO; +using Fallout.Kernel; -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.Infrastructure.CI/TeamCity/MSBuildSettingsExtensions.cs similarity index 89% rename from src/Fallout.Common/CI/TeamCity/MSBuildSettingsExtensions.cs rename to src/Fallout.Infrastructure.CI/TeamCity/MSBuildSettingsExtensions.cs index 1ae9ddc13..047f598ea 100644 --- a/src/Fallout.Common/CI/TeamCity/MSBuildSettingsExtensions.cs +++ b/src/Fallout.Infrastructure.CI/TeamCity/MSBuildSettingsExtensions.cs @@ -1,8 +1,9 @@ using System; using System.Linq; using Fallout.Application.Tools.MSBuild; +using Fallout.Kernel; -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.Infrastructure.CI/TeamCity/TeamCity.Theming.cs similarity index 93% rename from src/Fallout.Common/CI/TeamCity/TeamCity.Theming.cs rename to src/Fallout.Infrastructure.CI/TeamCity/TeamCity.Theming.cs index c14505bc8..9ed73072b 100644 --- a/src/Fallout.Common/CI/TeamCity/TeamCity.Theming.cs +++ b/src/Fallout.Infrastructure.CI/TeamCity/TeamCity.Theming.cs @@ -1,9 +1,9 @@ using System; -using Fallout.Common.Utilities; using Fallout.Application.Execution.Theming; 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.Infrastructure.CI/TeamCity/TeamCity.cs similarity index 98% rename from src/Fallout.Common/CI/TeamCity/TeamCity.cs rename to src/Fallout.Infrastructure.CI/TeamCity/TeamCity.cs index 8dd04939d..7427a7025 100644 --- a/src/Fallout.Common/CI/TeamCity/TeamCity.cs +++ b/src/Fallout.Infrastructure.CI/TeamCity/TeamCity.cs @@ -4,21 +4,21 @@ 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; +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.Infrastructure.CI/TeamCity/TeamCityAttribute.cs similarity index 98% rename from src/Fallout.Common/CI/TeamCity/TeamCityAttribute.cs rename to src/Fallout.Infrastructure.CI/TeamCity/TeamCityAttribute.cs index 4aec99742..e48b1888e 100644 --- a/src/Fallout.Common/CI/TeamCity/TeamCityAttribute.cs +++ b/src/Fallout.Infrastructure.CI/TeamCity/TeamCityAttribute.cs @@ -5,19 +5,18 @@ using System.Linq; 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; +using Fallout.Infrastructure.CI.TeamCity.Configuration; -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.Infrastructure.CI/TeamCity/TeamCityImportTool.cs similarity index 82% rename from src/Fallout.Common/CI/TeamCity/TeamCityImportTool.cs rename to src/Fallout.Infrastructure.CI/TeamCity/TeamCityImportTool.cs index 967f97e28..da96972b8 100644 --- a/src/Fallout.Common/CI/TeamCity/TeamCityImportTool.cs +++ b/src/Fallout.Infrastructure.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.Infrastructure.CI/TeamCity/TeamCityImportType.cs similarity index 95% rename from src/Fallout.Common/CI/TeamCity/TeamCityImportType.cs rename to src/Fallout.Infrastructure.CI/TeamCity/TeamCityImportType.cs index b7d119c28..bb3dec46b 100644 --- a/src/Fallout.Common/CI/TeamCity/TeamCityImportType.cs +++ b/src/Fallout.Infrastructure.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.Infrastructure.CI/TeamCity/TeamCityNoDataPublishedAction.cs similarity index 73% rename from src/Fallout.Common/CI/TeamCity/TeamCityNoDataPublishedAction.cs rename to src/Fallout.Infrastructure.CI/TeamCity/TeamCityNoDataPublishedAction.cs index 1d193fa68..22bde0a92 100644 --- a/src/Fallout.Common/CI/TeamCity/TeamCityNoDataPublishedAction.cs +++ b/src/Fallout.Infrastructure.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.Infrastructure.CI/TeamCity/TeamCityStatus.cs similarity index 81% rename from src/Fallout.Common/CI/TeamCity/TeamCityStatus.cs rename to src/Fallout.Infrastructure.CI/TeamCity/TeamCityStatus.cs index 69155e424..026900e32 100644 --- a/src/Fallout.Common/CI/TeamCity/TeamCityStatus.cs +++ b/src/Fallout.Infrastructure.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.Infrastructure.CI/TeamCity/TeamCityTokenAttribute.cs similarity index 84% rename from src/Fallout.Common/CI/TeamCity/TeamCityTokenAttribute.cs rename to src/Fallout.Infrastructure.CI/TeamCity/TeamCityTokenAttribute.cs index 397569868..dda909c07 100644 --- a/src/Fallout.Common/CI/TeamCity/TeamCityTokenAttribute.cs +++ b/src/Fallout.Infrastructure.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.Infrastructure.CI/TravisCI/TravisCI.Theming.cs similarity index 77% rename from src/Fallout.Common/CI/TravisCI/TravisCI.Theming.cs rename to src/Fallout.Infrastructure.CI/TravisCI/TravisCI.Theming.cs index 2fe5ecfb4..9e9739806 100644 --- a/src/Fallout.Common/CI/TravisCI/TravisCI.Theming.cs +++ b/src/Fallout.Infrastructure.CI/TravisCI/TravisCI.Theming.cs @@ -1,7 +1,7 @@ -using System; -using Fallout.Common.Utilities; +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.Infrastructure.CI/TravisCI/TravisCI.cs similarity index 99% rename from src/Fallout.Common/CI/TravisCI/TravisCI.cs rename to src/Fallout.Infrastructure.CI/TravisCI/TravisCI.cs index 342438f95..fb90c67b1 100644 --- a/src/Fallout.Common/CI/TravisCI/TravisCI.cs +++ b/src/Fallout.Infrastructure.CI/TravisCI/TravisCI.cs @@ -3,8 +3,9 @@ using System.Linq; using Fallout.Application; using Fallout.Application.CI; +using Fallout.Kernel; -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.Infrastructure.CI/TravisCI/TravisCIEventType.cs similarity index 70% rename from src/Fallout.Common/CI/TravisCI/TravisCIEventType.cs rename to src/Fallout.Infrastructure.CI/TravisCI/TravisCIEventType.cs index e5cb6e562..f40c79b1b 100644 --- a/src/Fallout.Common/CI/TravisCI/TravisCIEventType.cs +++ b/src/Fallout.Infrastructure.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.ProjectModel/Fallout.ProjectModel.csproj b/src/Fallout.Infrastructure.ProjectModel/Fallout.Infrastructure.ProjectModel.csproj similarity index 63% rename from src/Fallout.ProjectModel/Fallout.ProjectModel.csproj rename to src/Fallout.Infrastructure.ProjectModel/Fallout.Infrastructure.ProjectModel.csproj index 15af5755c..9a7c18be8 100644 --- a/src/Fallout.ProjectModel/Fallout.ProjectModel.csproj +++ b/src/Fallout.Infrastructure.ProjectModel/Fallout.Infrastructure.ProjectModel.csproj @@ -5,9 +5,7 @@ - - - + @@ -18,4 +16,14 @@ + + + + + + + + + + diff --git a/src/Fallout.ProjectModel/Project.GetMSBuildProject.cs b/src/Fallout.Infrastructure.ProjectModel/Project.GetMSBuildProject.cs similarity index 81% rename from src/Fallout.ProjectModel/Project.GetMSBuildProject.cs rename to src/Fallout.Infrastructure.ProjectModel/Project.GetMSBuildProject.cs index f37b8b3a4..9b21fde1e 100644 --- a/src/Fallout.ProjectModel/Project.GetMSBuildProject.cs +++ b/src/Fallout.Infrastructure.ProjectModel/Project.GetMSBuildProject.cs @@ -1,6 +1,7 @@ -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.Items.cs b/src/Fallout.Infrastructure.ProjectModel/Project.Items.cs similarity index 95% rename from src/Fallout.ProjectModel/Project.Items.cs rename to src/Fallout.Infrastructure.ProjectModel/Project.Items.cs index faf415cb5..e2859d128 100644 --- a/src/Fallout.ProjectModel/Project.Items.cs +++ b/src/Fallout.Infrastructure.ProjectModel/Project.Items.cs @@ -1,10 +1,10 @@ -using System.Collections.Generic; +using System.Collections.Generic; using System.Linq; -using Fallout.Common.Utilities; -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.Infrastructure.ProjectModel/Project.Misc.cs similarity index 86% rename from src/Fallout.ProjectModel/Project.Misc.cs rename to src/Fallout.Infrastructure.ProjectModel/Project.Misc.cs index 8a834a3ed..f1fe5d7c2 100644 --- a/src/Fallout.ProjectModel/Project.Misc.cs +++ b/src/Fallout.Infrastructure.ProjectModel/Project.Misc.cs @@ -1,10 +1,11 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; -using Fallout.Common; +using Fallout.Kernel; +using Fallout.Application.Solutions; -namespace Fallout.Solutions; +namespace Fallout.Infrastructure.ProjectModel; public static partial class ProjectExtensions { @@ -39,14 +40,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/Project.Properties.cs b/src/Fallout.Infrastructure.ProjectModel/Project.Properties.cs similarity index 92% rename from src/Fallout.ProjectModel/Project.Properties.cs rename to src/Fallout.Infrastructure.ProjectModel/Project.Properties.cs index 9132e5d61..f26bbaa1b 100644 --- a/src/Fallout.ProjectModel/Project.Properties.cs +++ b/src/Fallout.Infrastructure.ProjectModel/Project.Properties.cs @@ -1,8 +1,8 @@ -using Fallout.Common.Utilities; -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.Infrastructure.ProjectModel/ProjectEditorAdapter.cs b/src/Fallout.Infrastructure.ProjectModel/ProjectEditorAdapter.cs new file mode 100644 index 000000000..e03b70360 --- /dev/null +++ b/src/Fallout.Infrastructure.ProjectModel/ProjectEditorAdapter.cs @@ -0,0 +1,55 @@ +using System.Linq; +using System.Runtime.CompilerServices; +using Fallout.Kernel; +using Fallout.Kernel.IO; +using Fallout.Application.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 +// 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/Fallout.ProjectModel/ProjectModelTasks.cs b/src/Fallout.Infrastructure.ProjectModel/ProjectModelTasks.cs similarity index 97% rename from src/Fallout.ProjectModel/ProjectModelTasks.cs rename to src/Fallout.Infrastructure.ProjectModel/ProjectModelTasks.cs index 68736c69c..d5f9e263a 100644 --- a/src/Fallout.ProjectModel/ProjectModelTasks.cs +++ b/src/Fallout.Infrastructure.ProjectModel/ProjectModelTasks.cs @@ -4,15 +4,14 @@ 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; +namespace Fallout.Infrastructure.ProjectModel; public static class ProjectModelTasks { 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/Fallout.Infrastructure.Solutions/ModuleInitializerPolyfill.cs b/src/Fallout.Infrastructure.Solutions/ModuleInitializerPolyfill.cs new file mode 100644 index 000000000..9226f1dcc --- /dev/null +++ b/src/Fallout.Infrastructure.Solutions/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/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/Fallout.Infrastructure.Solutions/SolutionSerializerAdapter.cs b/src/Fallout.Infrastructure.Solutions/SolutionSerializerAdapter.cs new file mode 100644 index 000000000..2a60357e0 --- /dev/null +++ b/src/Fallout.Infrastructure.Solutions/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.Kernel.IO; +using Fallout.Kernel; +using Fallout.Application.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 +// 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/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 93% rename from src/Fallout.Tooling/NpmToolPathResolver.cs rename to src/Fallout.Infrastructure.Tooling/NpmToolPathResolver.cs index 39bce8cbc..34b406c25 100644 --- a/src/Fallout.Tooling/NpmToolPathResolver.cs +++ b/src/Fallout.Infrastructure.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; +using Fallout.Kernel; namespace Fallout.Infrastructure.Tooling; 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 99% rename from src/Fallout.Tooling/NuGetPackageResolver.cs rename to src/Fallout.Infrastructure.Tooling/NuGetPackageResolver.cs index 50dabff67..39d4361f9 100644 --- a/src/Fallout.Tooling/NuGetPackageResolver.cs +++ b/src/Fallout.Infrastructure.Tooling/NuGetPackageResolver.cs @@ -6,10 +6,9 @@ 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.Infrastructure.Tooling/NuGetToolPathResolver.cs similarity index 98% rename from src/Fallout.Tooling/NuGetToolPathResolver.cs rename to src/Fallout.Infrastructure.Tooling/NuGetToolPathResolver.cs index 69d00aaa1..8acfad788 100644 --- a/src/Fallout.Tooling/NuGetToolPathResolver.cs +++ b/src/Fallout.Infrastructure.Tooling/NuGetToolPathResolver.cs @@ -4,9 +4,8 @@ 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.Infrastructure.Tooling/NuGetVersionResolver.cs similarity index 95% rename from src/Fallout.Tooling/NuGetVersionResolver.cs rename to src/Fallout.Infrastructure.Tooling/NuGetVersionResolver.cs index 9d4bbd775..81999958c 100644 --- a/src/Fallout.Tooling/NuGetVersionResolver.cs +++ b/src/Fallout.Infrastructure.Tooling/NuGetVersionResolver.cs @@ -2,8 +2,7 @@ using System.Net.Http; using System.Text.Json.Nodes; using System.Threading.Tasks; -using Fallout.Common.Utilities; -using Fallout.Common; +using Fallout.Kernel; namespace Fallout.Infrastructure.Tooling; diff --git a/src/Fallout.Tooling/PaketPackageResolver.cs b/src/Fallout.Infrastructure.Tooling/PaketPackageResolver.cs similarity index 96% rename from src/Fallout.Tooling/PaketPackageResolver.cs rename to src/Fallout.Infrastructure.Tooling/PaketPackageResolver.cs index 738771e1d..8ec018f70 100644 --- a/src/Fallout.Tooling/PaketPackageResolver.cs +++ b/src/Fallout.Infrastructure.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/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 98% rename from src/Fallout.Tooling/ProcessTasks.cs rename to src/Fallout.Infrastructure.Tooling/ProcessTasks.cs index d112c9098..2bc26206e 100644 --- a/src/Fallout.Tooling/ProcessTasks.cs +++ b/src/Fallout.Infrastructure.Tooling/ProcessTasks.cs @@ -5,12 +5,11 @@ 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/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 97% rename from src/Fallout.Tooling/ToolPathResolver.cs rename to src/Fallout.Infrastructure.Tooling/ToolPathResolver.cs index 27c7d3d64..f26b9209e 100644 --- a/src/Fallout.Tooling/ToolPathResolver.cs +++ b/src/Fallout.Infrastructure.Tooling/ToolPathResolver.cs @@ -1,9 +1,8 @@ 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/ToolingExtensions.cs b/src/Fallout.Infrastructure.Tooling/ToolingExtensions.cs similarity index 95% rename from src/Fallout.Tooling/ToolingExtensions.cs rename to src/Fallout.Infrastructure.Tooling/ToolingExtensions.cs index b08689440..acf112a8e 100644 --- a/src/Fallout.Tooling/ToolingExtensions.cs +++ b/src/Fallout.Infrastructure.Tooling/ToolingExtensions.cs @@ -1,12 +1,11 @@ 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/ToolingServicesRegistration.cs b/src/Fallout.Infrastructure.Tooling/ToolingServicesRegistration.cs similarity index 99% rename from src/Fallout.Tooling/ToolingServicesRegistration.cs rename to src/Fallout.Infrastructure.Tooling/ToolingServicesRegistration.cs index b56d61acc..f318eaf18 100644 --- a/src/Fallout.Tooling/ToolingServicesRegistration.cs +++ b/src/Fallout.Infrastructure.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.Kernel.IO.Compression/CompressionExtensions.cs similarity index 98% rename from src/Fallout.Utilities.IO.Compression/CompressionExtensions.cs rename to src/Fallout.Kernel.IO.Compression/CompressionExtensions.cs index 85c69b524..6db7977d0 100644 --- a/src/Fallout.Utilities.IO.Compression/CompressionExtensions.cs +++ b/src/Fallout.Kernel.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.Kernel; -namespace Fallout.Common.IO; +namespace Fallout.Kernel.IO; public static class CompressionExtensions { 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 94% rename from src/Fallout.Utilities.IO.Globbing/Globbing.cs rename to src/Fallout.Kernel.IO.Globbing/Globbing.cs index c80710f10..c87edf2e6 100644 --- a/src/Fallout.Utilities.IO.Globbing/Globbing.cs +++ b/src/Fallout.Kernel.IO.Globbing/Globbing.cs @@ -1,12 +1,12 @@ -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; -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.Kernel.IO.Globbing/GlobbingCaseSensitivity.cs similarity index 95% rename from src/Fallout.Utilities.IO.Globbing/GlobbingCaseSensitivity.cs rename to src/Fallout.Kernel.IO.Globbing/GlobbingCaseSensitivity.cs index fe8829bc4..dbc7cdc25 100644 --- a/src/Fallout.Utilities.IO.Globbing/GlobbingCaseSensitivity.cs +++ b/src/Fallout.Kernel.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/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 94% rename from src/Fallout.Utilities.Net/HttpClient.Request.cs rename to src/Fallout.Kernel.Net/HttpClient.Request.cs index 62e75fd9d..25b28b2e9 100644 --- a/src/Fallout.Utilities.Net/HttpClient.Request.cs +++ b/src/Fallout.Kernel.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.Kernel.Net/HttpRequest.Authentication.cs similarity index 95% rename from src/Fallout.Utilities.Net/HttpRequest.Authentication.cs rename to src/Fallout.Kernel.Net/HttpRequest.Authentication.cs index 9d000161a..f01ab8c65 100644 --- a/src/Fallout.Utilities.Net/HttpRequest.Authentication.cs +++ b/src/Fallout.Kernel.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.Kernel.Net/HttpRequest.Content.cs similarity index 98% rename from src/Fallout.Utilities.Net/HttpRequest.Content.cs rename to src/Fallout.Kernel.Net/HttpRequest.Content.cs index d666ff822..d5cc5dcb1 100644 --- a/src/Fallout.Utilities.Net/HttpRequest.Content.cs +++ b/src/Fallout.Kernel.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.Kernel.Net/HttpRequest.Response.cs similarity index 94% rename from src/Fallout.Utilities.Net/HttpRequest.Response.cs rename to src/Fallout.Kernel.Net/HttpRequest.Response.cs index 21f7e98c0..5a8c0ec8c 100644 --- a/src/Fallout.Utilities.Net/HttpRequest.Response.cs +++ b/src/Fallout.Kernel.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.Kernel.Net/HttpResponse.Assert.cs similarity index 97% rename from src/Fallout.Utilities.Net/HttpResponse.Assert.cs rename to src/Fallout.Kernel.Net/HttpResponse.Assert.cs index 4c6f51ece..cd635d68d 100644 --- a/src/Fallout.Utilities.Net/HttpResponse.Assert.cs +++ b/src/Fallout.Kernel.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.Kernel.Net/HttpResponse.Body.cs similarity index 96% rename from src/Fallout.Utilities.Net/HttpResponse.Body.cs rename to src/Fallout.Kernel.Net/HttpResponse.Body.cs index cc5a7f2a1..1bdc9d7ce 100644 --- a/src/Fallout.Utilities.Net/HttpResponse.Body.cs +++ b/src/Fallout.Kernel.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/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 98% rename from src/Fallout.Utilities.Text.Json/JsonExtensions.cs rename to src/Fallout.Kernel.Text.Json/JsonExtensions.cs index bda118acf..c84f1ec3b 100644 --- a/src/Fallout.Utilities.Text.Json/JsonExtensions.cs +++ b/src/Fallout.Kernel.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.Kernel.Text.Json/JsonObject.GetChildren.cs similarity index 96% rename from src/Fallout.Utilities.Text.Json/JsonObject.GetChildren.cs rename to src/Fallout.Kernel.Text.Json/JsonObject.GetChildren.cs index 1e7674b04..f01c517e7 100644 --- a/src/Fallout.Utilities.Text.Json/JsonObject.GetChildren.cs +++ b/src/Fallout.Kernel.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.Kernel.Text.Json/JsonObject.GetPropertyValue.cs similarity index 97% rename from src/Fallout.Utilities.Text.Json/JsonObject.GetPropertyValue.cs rename to src/Fallout.Kernel.Text.Json/JsonObject.GetPropertyValue.cs index 5d0cd438d..01804e4c7 100644 --- a/src/Fallout.Utilities.Text.Json/JsonObject.GetPropertyValue.cs +++ b/src/Fallout.Kernel.Text.Json/JsonObject.GetPropertyValue.cs @@ -1,6 +1,6 @@ using System.Text.Json.Nodes; -namespace Fallout.Common.Utilities; +namespace Fallout.Kernel; public static partial class JsonNodeExtensions { 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 97% rename from src/Fallout.Utilities.Text.Yaml/YamlExtensions.cs rename to src/Fallout.Kernel.Text.Yaml/YamlExtensions.cs index c144590b3..813d65471 100644 --- a/src/Fallout.Utilities.Text.Yaml/YamlExtensions.cs +++ b/src/Fallout.Kernel.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.Kernel/ArgumentParser.cs similarity index 97% rename from src/Fallout.Utilities/ArgumentParser.cs rename to src/Fallout.Kernel/ArgumentParser.cs index 9880831a4..ec3b76958 100644 --- a/src/Fallout.Utilities/ArgumentParser.cs +++ b/src/Fallout.Kernel/ArgumentParser.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.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.Kernel/Assert.cs similarity index 99% rename from src/Fallout.Utilities/Assert.cs rename to src/Fallout.Kernel/Assert.cs index d8ce8016b..9fe85a0e0 100644 --- a/src/Fallout.Utilities/Assert.cs +++ b/src/Fallout.Kernel/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.Kernel/AsyncHelper.cs similarity index 94% rename from src/Fallout.Utilities/AsyncHelper.cs rename to src/Fallout.Kernel/AsyncHelper.cs index b93610205..eaa9f4f55 100644 --- a/src/Fallout.Utilities/AsyncHelper.cs +++ b/src/Fallout.Kernel/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/Array.Deconstruct.cs b/src/Fallout.Kernel/Collections/Array.Deconstruct.cs similarity index 95% rename from src/Fallout.Utilities/Collections/Array.Deconstruct.cs rename to src/Fallout.Kernel/Collections/Array.Deconstruct.cs index 17252c509..bda2c5d14 100644 --- a/src/Fallout.Utilities/Collections/Array.Deconstruct.cs +++ b/src/Fallout.Kernel/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.Kernel/Collections/Dictionary.AddDictionary.cs similarity index 94% rename from src/Fallout.Utilities/Collections/Dictionary.AddDictionary.cs rename to src/Fallout.Kernel/Collections/Dictionary.AddDictionary.cs index cd3a62757..fa77dbe25 100644 --- a/src/Fallout.Utilities/Collections/Dictionary.AddDictionary.cs +++ b/src/Fallout.Kernel/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.Kernel/Collections/Dictionary.AddKeyValue.cs similarity index 94% rename from src/Fallout.Utilities/Collections/Dictionary.AddKeyValue.cs rename to src/Fallout.Kernel/Collections/Dictionary.AddKeyValue.cs index 5b47676b4..bbc4c5da2 100644 --- a/src/Fallout.Utilities/Collections/Dictionary.AddKeyValue.cs +++ b/src/Fallout.Kernel/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.Kernel/Collections/Dictionary.AsReadOnly.cs similarity index 83% rename from src/Fallout.Utilities/Collections/Dictionary.AsReadOnly.cs rename to src/Fallout.Kernel/Collections/Dictionary.AsReadOnly.cs index df64d800c..72e913209 100644 --- a/src/Fallout.Utilities/Collections/Dictionary.AsReadOnly.cs +++ b/src/Fallout.Kernel/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.Kernel/Collections/Dictionary.Deconstruct.cs similarity index 84% rename from src/Fallout.Utilities/Collections/Dictionary.Deconstruct.cs rename to src/Fallout.Kernel/Collections/Dictionary.Deconstruct.cs index 6174d8662..69a8c6640 100644 --- a/src/Fallout.Utilities/Collections/Dictionary.Deconstruct.cs +++ b/src/Fallout.Kernel/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.Kernel/Collections/Dictionary.GetOrDefault.cs similarity index 87% rename from src/Fallout.Utilities/Collections/Dictionary.GetOrDefault.cs rename to src/Fallout.Kernel/Collections/Dictionary.GetOrDefault.cs index 82d545718..b11a9db20 100644 --- a/src/Fallout.Utilities/Collections/Dictionary.GetOrDefault.cs +++ b/src/Fallout.Kernel/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.Kernel/Collections/Dictionary.SetKeyValue.cs similarity index 84% rename from src/Fallout.Utilities/Collections/Dictionary.SetKeyValue.cs rename to src/Fallout.Kernel/Collections/Dictionary.SetKeyValue.cs index ee539df87..a98cd0042 100644 --- a/src/Fallout.Utilities/Collections/Dictionary.SetKeyValue.cs +++ b/src/Fallout.Kernel/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.Kernel/Collections/Dictionary.ToGeneric.cs similarity index 89% rename from src/Fallout.Utilities/Collections/Dictionary.ToGeneric.cs rename to src/Fallout.Kernel/Collections/Dictionary.ToGeneric.cs index ddb67bd03..8187cda0e 100644 --- a/src/Fallout.Utilities/Collections/Dictionary.ToGeneric.cs +++ b/src/Fallout.Kernel/Collections/Dictionary.ToGeneric.cs @@ -1,9 +1,10 @@ -using System; +using System; using System.Collections; using System.Collections.Generic; using System.Linq; +using Fallout.Kernel; -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.Kernel/Collections/Enumerable.AsEnumerable.cs similarity index 83% rename from src/Fallout.Utilities/Collections/Enumerable.AsEnumerable.cs rename to src/Fallout.Kernel/Collections/Enumerable.AsEnumerable.cs index eec6fb0c2..74f954905 100644 --- a/src/Fallout.Utilities/Collections/Enumerable.AsEnumerable.cs +++ b/src/Fallout.Kernel/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.Kernel/Collections/Enumerable.Concat.cs similarity index 91% rename from src/Fallout.Utilities/Collections/Enumerable.Concat.cs rename to src/Fallout.Kernel/Collections/Enumerable.Concat.cs index 947b78494..8a0be1b85 100644 --- a/src/Fallout.Utilities/Collections/Enumerable.Concat.cs +++ b/src/Fallout.Kernel/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.Kernel/Collections/Enumerable.Distinct.cs similarity index 95% rename from src/Fallout.Utilities/Collections/Enumerable.Distinct.cs rename to src/Fallout.Kernel/Collections/Enumerable.Distinct.cs index 4e313e871..c43f40f27 100644 --- a/src/Fallout.Utilities/Collections/Enumerable.Distinct.cs +++ b/src/Fallout.Kernel/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.Kernel/Collections/Enumerable.Emptiness.cs similarity index 85% rename from src/Fallout.Utilities/Collections/Enumerable.Emptiness.cs rename to src/Fallout.Kernel/Collections/Enumerable.Emptiness.cs index 8da151ea9..32b2bf359 100644 --- a/src/Fallout.Utilities/Collections/Enumerable.Emptiness.cs +++ b/src/Fallout.Kernel/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.Kernel/Collections/Enumerable.ForEach.cs similarity index 93% rename from src/Fallout.Utilities/Collections/Enumerable.ForEach.cs rename to src/Fallout.Kernel/Collections/Enumerable.ForEach.cs index a83dac1fe..1b245f8cb 100644 --- a/src/Fallout.Utilities/Collections/Enumerable.ForEach.cs +++ b/src/Fallout.Kernel/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.Kernel/Collections/Enumerable.Random.cs similarity index 93% rename from src/Fallout.Utilities/Collections/Enumerable.Random.cs rename to src/Fallout.Kernel/Collections/Enumerable.Random.cs index a06b9cd8c..39af0d301 100644 --- a/src/Fallout.Utilities/Collections/Enumerable.Random.cs +++ b/src/Fallout.Kernel/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.Kernel/Collections/Enumerable.Sequence.cs similarity index 83% rename from src/Fallout.Utilities/Collections/Enumerable.Sequence.cs rename to src/Fallout.Kernel/Collections/Enumerable.Sequence.cs index 718418fb7..e8799972e 100644 --- a/src/Fallout.Utilities/Collections/Enumerable.Sequence.cs +++ b/src/Fallout.Kernel/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.Kernel/Collections/Enumerable.SingleOrDefaultOrError.cs similarity index 95% rename from src/Fallout.Utilities/Collections/Enumerable.SingleOrDefaultOrError.cs rename to src/Fallout.Kernel/Collections/Enumerable.SingleOrDefaultOrError.cs index b23e9f75f..7ece6c538 100644 --- a/src/Fallout.Utilities/Collections/Enumerable.SingleOrDefaultOrError.cs +++ b/src/Fallout.Kernel/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.Kernel/Collections/Enumerable.TakeUntil.cs similarity index 90% rename from src/Fallout.Utilities/Collections/Enumerable.TakeUntil.cs rename to src/Fallout.Kernel/Collections/Enumerable.TakeUntil.cs index 4574eaea7..e670b7f41 100644 --- a/src/Fallout.Utilities/Collections/Enumerable.TakeUntil.cs +++ b/src/Fallout.Kernel/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.Kernel/Collections/Enumerable.ToDictionary.cs similarity index 95% rename from src/Fallout.Utilities/Collections/Enumerable.ToDictionary.cs rename to src/Fallout.Kernel/Collections/Enumerable.ToDictionary.cs index 0ff9935dd..feca28992 100644 --- a/src/Fallout.Utilities/Collections/Enumerable.ToDictionary.cs +++ b/src/Fallout.Kernel/Collections/Enumerable.ToDictionary.cs @@ -1,8 +1,9 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; +using Fallout.Kernel; -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.Kernel/Collections/Enumerable.ToEmptyIfNull.cs similarity index 81% rename from src/Fallout.Utilities/Collections/Enumerable.ToEmptyIfNull.cs rename to src/Fallout.Kernel/Collections/Enumerable.ToEmptyIfNull.cs index 867d17d0c..c4f7adda1 100644 --- a/src/Fallout.Utilities/Collections/Enumerable.ToEmptyIfNull.cs +++ b/src/Fallout.Kernel/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.Kernel/Collections/Enumerable.ToLookupTable.cs similarity index 86% rename from src/Fallout.Utilities/Collections/Enumerable.ToLookupTable.cs rename to src/Fallout.Kernel/Collections/Enumerable.ToLookupTable.cs index f153d1d64..9a55cc881 100644 --- a/src/Fallout.Utilities/Collections/Enumerable.ToLookupTable.cs +++ b/src/Fallout.Kernel/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.Kernel/Collections/Enumerable.TopologicalSort.cs similarity index 93% rename from src/Fallout.Utilities/Collections/Enumerable.TopologicalSort.cs rename to src/Fallout.Kernel/Collections/Enumerable.TopologicalSort.cs index b4bc26522..8412bbbc4 100644 --- a/src/Fallout.Utilities/Collections/Enumerable.TopologicalSort.cs +++ b/src/Fallout.Kernel/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.Kernel/Collections/Enumerable.WhereNotNull.cs similarity index 91% rename from src/Fallout.Utilities/Collections/Enumerable.WhereNotNull.cs rename to src/Fallout.Kernel/Collections/Enumerable.WhereNotNull.cs index cf61e5d0c..8bccb41c2 100644 --- a/src/Fallout.Utilities/Collections/Enumerable.WhereNotNull.cs +++ b/src/Fallout.Kernel/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.Kernel/Collections/Lookup.ToLookupTable.cs similarity index 82% rename from src/Fallout.Utilities/Collections/Lookup.ToLookupTable.cs rename to src/Fallout.Kernel/Collections/Lookup.ToLookupTable.cs index 748d37053..6d5dd06eb 100644 --- a/src/Fallout.Utilities/Collections/Lookup.ToLookupTable.cs +++ b/src/Fallout.Kernel/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.Kernel/Collections/LookupTable.cs similarity index 96% rename from src/Fallout.Utilities/Collections/LookupTable.cs rename to src/Fallout.Kernel/Collections/LookupTable.cs index 49e0be619..2ede199c9 100644 --- a/src/Fallout.Utilities/Collections/LookupTable.cs +++ b/src/Fallout.Kernel/Collections/LookupTable.cs @@ -1,9 +1,10 @@ -using System; +using System; using System.Collections; using System.Collections.Generic; using System.Linq; +using Fallout.Kernel; -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.Kernel/Collections/Object.DescendantsAndSelf.cs similarity index 96% rename from src/Fallout.Utilities/Collections/Object.DescendantsAndSelf.cs rename to src/Fallout.Kernel/Collections/Object.DescendantsAndSelf.cs index 95b70cb79..01b03a21c 100644 --- a/src/Fallout.Utilities/Collections/Object.DescendantsAndSelf.cs +++ b/src/Fallout.Kernel/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.Kernel/Collections/Object.ToPropertyDictionary.cs similarity index 92% rename from src/Fallout.Utilities/Collections/Object.ToPropertyDictionary.cs rename to src/Fallout.Kernel/Collections/Object.ToPropertyDictionary.cs index 039ae8cd3..102996477 100644 --- a/src/Fallout.Utilities/Collections/Object.ToPropertyDictionary.cs +++ b/src/Fallout.Kernel/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.Kernel/DelegateDisposable.cs similarity index 97% rename from src/Fallout.Utilities/DelegateDisposable.cs rename to src/Fallout.Kernel/DelegateDisposable.cs index 2431cc6ba..46ff2a990 100644 --- a/src/Fallout.Utilities/DelegateDisposable.cs +++ b/src/Fallout.Kernel/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.Kernel/Disposable.CombineWith.cs similarity index 95% rename from src/Fallout.Utilities/Disposable.CombineWith.cs rename to src/Fallout.Kernel/Disposable.CombineWith.cs index 196c80754..bed695c0a 100644 --- a/src/Fallout.Utilities/Disposable.CombineWith.cs +++ b/src/Fallout.Kernel/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.Kernel/EnvironmentInfo.Arguments.cs similarity index 97% rename from src/Fallout.Utilities/EnvironmentInfo.Arguments.cs rename to src/Fallout.Kernel/EnvironmentInfo.Arguments.cs index 9092c5c94..b34d5d90d 100644 --- a/src/Fallout.Utilities/EnvironmentInfo.Arguments.cs +++ b/src/Fallout.Kernel/EnvironmentInfo.Arguments.cs @@ -1,10 +1,10 @@ -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; +namespace Fallout.Kernel; public static partial class EnvironmentInfo { diff --git a/src/Fallout.Utilities/EnvironmentInfo.Platform.cs b/src/Fallout.Kernel/EnvironmentInfo.Platform.cs similarity index 97% rename from src/Fallout.Utilities/EnvironmentInfo.Platform.cs rename to src/Fallout.Kernel/EnvironmentInfo.Platform.cs index 639b26ee1..98ccbe074 100644 --- a/src/Fallout.Utilities/EnvironmentInfo.Platform.cs +++ b/src/Fallout.Kernel/EnvironmentInfo.Platform.cs @@ -1,12 +1,12 @@ -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; +namespace Fallout.Kernel; public enum PlatformFamily { diff --git a/src/Fallout.Utilities/EnvironmentInfo.SpecialFolder.cs b/src/Fallout.Kernel/EnvironmentInfo.SpecialFolder.cs similarity index 90% rename from src/Fallout.Utilities/EnvironmentInfo.SpecialFolder.cs rename to src/Fallout.Kernel/EnvironmentInfo.SpecialFolder.cs index e2d0a3ecc..65b67791f 100644 --- a/src/Fallout.Utilities/EnvironmentInfo.SpecialFolder.cs +++ b/src/Fallout.Kernel/EnvironmentInfo.SpecialFolder.cs @@ -1,9 +1,9 @@ -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; +namespace Fallout.Kernel; public enum SpecialFolders { diff --git a/src/Fallout.Utilities/EnvironmentInfo.Variables.cs b/src/Fallout.Kernel/EnvironmentInfo.Variables.cs similarity index 96% rename from src/Fallout.Utilities/EnvironmentInfo.Variables.cs rename to src/Fallout.Kernel/EnvironmentInfo.Variables.cs index f3a7a7358..f374f09b5 100644 --- a/src/Fallout.Utilities/EnvironmentInfo.Variables.cs +++ b/src/Fallout.Kernel/EnvironmentInfo.Variables.cs @@ -1,13 +1,13 @@ -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; +namespace Fallout.Kernel; [DebuggerNonUserCode] [DebuggerStepThrough] diff --git a/src/Fallout.Utilities/EnvironmentInfo.cs b/src/Fallout.Kernel/EnvironmentInfo.cs similarity index 90% rename from src/Fallout.Utilities/EnvironmentInfo.cs rename to src/Fallout.Kernel/EnvironmentInfo.cs index 3a6d5eb0b..ae5bc496d 100644 --- a/src/Fallout.Utilities/EnvironmentInfo.cs +++ b/src/Fallout.Kernel/EnvironmentInfo.cs @@ -1,9 +1,9 @@ -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; +namespace Fallout.Kernel; /// /// Provides access to environment relevant information. diff --git a/src/Fallout.Utilities/Exception.Unwrap.cs b/src/Fallout.Kernel/Exception.Unwrap.cs similarity index 95% rename from src/Fallout.Utilities/Exception.Unwrap.cs rename to src/Fallout.Kernel/Exception.Unwrap.cs index 98a1d04fe..cd45ce48e 100644 --- a/src/Fallout.Utilities/Exception.Unwrap.cs +++ b/src/Fallout.Kernel/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/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 94% rename from src/Fallout.Utilities/IO/AbsolutePath.Children.cs rename to src/Fallout.Kernel/IO/AbsolutePath.Children.cs index ef2316aea..7eab1267d 100644 --- a/src/Fallout.Utilities/IO/AbsolutePath.Children.cs +++ b/src/Fallout.Kernel/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.Kernel; -namespace Fallout.Common.IO; +namespace Fallout.Kernel.IO; partial class AbsolutePathExtensions { diff --git a/src/Fallout.Utilities/IO/AbsolutePath.Create.cs b/src/Fallout.Kernel/IO/AbsolutePath.Create.cs similarity index 95% rename from src/Fallout.Utilities/IO/AbsolutePath.Create.cs rename to src/Fallout.Kernel/IO/AbsolutePath.Create.cs index 35e2fa466..2a9c2786e 100644 --- a/src/Fallout.Utilities/IO/AbsolutePath.Create.cs +++ b/src/Fallout.Kernel/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.Kernel/IO/AbsolutePath.Delete.cs similarity index 91% rename from src/Fallout.Utilities/IO/AbsolutePath.Delete.cs rename to src/Fallout.Kernel/IO/AbsolutePath.Delete.cs index 5f69bbb6c..890c81de8 100644 --- a/src/Fallout.Utilities/IO/AbsolutePath.Delete.cs +++ b/src/Fallout.Kernel/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.Kernel/IO/AbsolutePath.Exists.cs similarity index 97% rename from src/Fallout.Utilities/IO/AbsolutePath.Exists.cs rename to src/Fallout.Kernel/IO/AbsolutePath.Exists.cs index b6b5abf31..8b931b449 100644 --- a/src/Fallout.Utilities/IO/AbsolutePath.Exists.cs +++ b/src/Fallout.Kernel/IO/AbsolutePath.Exists.cs @@ -1,11 +1,11 @@ -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; -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.Kernel/IO/AbsolutePath.Extension.cs similarity index 83% rename from src/Fallout.Utilities/IO/AbsolutePath.Extension.cs rename to src/Fallout.Kernel/IO/AbsolutePath.Extension.cs index b73ee3d22..06b144eb1 100644 --- a/src/Fallout.Utilities/IO/AbsolutePath.Extension.cs +++ b/src/Fallout.Kernel/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.Kernel/IO/AbsolutePath.Find.cs similarity index 88% rename from src/Fallout.Utilities/IO/AbsolutePath.Find.cs rename to src/Fallout.Kernel/IO/AbsolutePath.Find.cs index 9664c0c98..281952b5e 100644 --- a/src/Fallout.Utilities/IO/AbsolutePath.Find.cs +++ b/src/Fallout.Kernel/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.Kernel; -namespace Fallout.Common.IO; +namespace Fallout.Kernel.IO; partial class AbsolutePathExtensions { diff --git a/src/Fallout.Utilities/IO/AbsolutePath.Hash.cs b/src/Fallout.Kernel/IO/AbsolutePath.Hash.cs similarity index 97% rename from src/Fallout.Utilities/IO/AbsolutePath.Hash.cs rename to src/Fallout.Kernel/IO/AbsolutePath.Hash.cs index aebe9c4da..6a628cec3 100644 --- a/src/Fallout.Utilities/IO/AbsolutePath.Hash.cs +++ b/src/Fallout.Kernel/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.Kernel; -namespace Fallout.Common.IO; +namespace Fallout.Kernel.IO; partial class AbsolutePathExtensions { diff --git a/src/Fallout.Utilities/IO/AbsolutePath.Info.cs b/src/Fallout.Kernel/IO/AbsolutePath.Info.cs similarity index 91% rename from src/Fallout.Utilities/IO/AbsolutePath.Info.cs rename to src/Fallout.Kernel/IO/AbsolutePath.Info.cs index 113eb96db..766951a50 100644 --- a/src/Fallout.Utilities/IO/AbsolutePath.Info.cs +++ b/src/Fallout.Kernel/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.Kernel/IO/AbsolutePath.Misc.cs similarity index 82% rename from src/Fallout.Utilities/IO/AbsolutePath.Misc.cs rename to src/Fallout.Kernel/IO/AbsolutePath.Misc.cs index c68ffdf36..fb29d588d 100644 --- a/src/Fallout.Utilities/IO/AbsolutePath.Misc.cs +++ b/src/Fallout.Kernel/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.Kernel/IO/AbsolutePath.MoveCopy.cs similarity index 98% rename from src/Fallout.Utilities/IO/AbsolutePath.MoveCopy.cs rename to src/Fallout.Kernel/IO/AbsolutePath.MoveCopy.cs index 829c7e524..3c7062ce0 100644 --- a/src/Fallout.Utilities/IO/AbsolutePath.MoveCopy.cs +++ b/src/Fallout.Kernel/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.Kernel; -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.Kernel/IO/AbsolutePath.ReadWrite.cs similarity index 98% rename from src/Fallout.Utilities/IO/AbsolutePath.ReadWrite.cs rename to src/Fallout.Kernel/IO/AbsolutePath.ReadWrite.cs index d23b71f68..16fbb8e7d 100644 --- a/src/Fallout.Utilities/IO/AbsolutePath.ReadWrite.cs +++ b/src/Fallout.Kernel/IO/AbsolutePath.ReadWrite.cs @@ -1,11 +1,11 @@ -using System; +using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; -using Fallout.Common.Utilities; +using Fallout.Kernel; -namespace Fallout.Common.IO; +namespace Fallout.Kernel.IO; partial class AbsolutePathExtensions { diff --git a/src/Fallout.Utilities/IO/AbsolutePath.Time.cs b/src/Fallout.Kernel/IO/AbsolutePath.Time.cs similarity index 90% rename from src/Fallout.Utilities/IO/AbsolutePath.Time.cs rename to src/Fallout.Kernel/IO/AbsolutePath.Time.cs index a962509bb..b8be962c4 100644 --- a/src/Fallout.Utilities/IO/AbsolutePath.Time.cs +++ b/src/Fallout.Kernel/IO/AbsolutePath.Time.cs @@ -1,8 +1,9 @@ -using System; +using System; using System.IO; using System.Linq; +using Fallout.Kernel; -namespace Fallout.Common.IO; +namespace Fallout.Kernel.IO; partial class AbsolutePathExtensions { diff --git a/src/Fallout.Utilities/IO/AbsolutePath.cs b/src/Fallout.Kernel/IO/AbsolutePath.cs similarity index 98% rename from src/Fallout.Utilities/IO/AbsolutePath.cs rename to src/Fallout.Kernel/IO/AbsolutePath.cs index c95fd5136..e15069136 100644 --- a/src/Fallout.Utilities/IO/AbsolutePath.cs +++ b/src/Fallout.Kernel/IO/AbsolutePath.cs @@ -5,10 +5,10 @@ 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; -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.Kernel/IO/IAbsolutePathHolder.cs similarity index 78% rename from src/Fallout.Utilities/IO/IAbsolutePathHolder.cs rename to src/Fallout.Kernel/IO/IAbsolutePathHolder.cs index 3a92d9f1f..572cacbf6 100644 --- a/src/Fallout.Utilities/IO/IAbsolutePathHolder.cs +++ b/src/Fallout.Kernel/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.Kernel/IO/PathConstruction.cs similarity index 98% rename from src/Fallout.Utilities/IO/PathConstruction.cs rename to src/Fallout.Kernel/IO/PathConstruction.cs index 6761ff189..73d099654 100644 --- a/src/Fallout.Utilities/IO/PathConstruction.cs +++ b/src/Fallout.Kernel/IO/PathConstruction.cs @@ -1,12 +1,12 @@ -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; // 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.Kernel/IO/RelativePath.cs similarity index 93% rename from src/Fallout.Utilities/IO/RelativePath.cs rename to src/Fallout.Kernel/IO/RelativePath.cs index 3ac4af348..687724298 100644 --- a/src/Fallout.Utilities/IO/RelativePath.cs +++ b/src/Fallout.Kernel/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.Kernel; -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.Common/IO/TextTasks.cs b/src/Fallout.Kernel/IO/TextTasks.cs similarity index 89% rename from src/Fallout.Common/IO/TextTasks.cs rename to src/Fallout.Kernel/IO/TextTasks.cs index b941d1db6..e9b722b66 100644 --- a/src/Fallout.Common/IO/TextTasks.cs +++ b/src/Fallout.Kernel/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.Utilities/IO/UnixRelativePath.cs b/src/Fallout.Kernel/IO/UnixRelativePath.cs similarity index 85% rename from src/Fallout.Utilities/IO/UnixRelativePath.cs rename to src/Fallout.Kernel/IO/UnixRelativePath.cs index b1561a0a0..348bb20a2 100644 --- a/src/Fallout.Utilities/IO/UnixRelativePath.cs +++ b/src/Fallout.Kernel/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.Kernel/IO/WinRelativePath.cs similarity index 85% rename from src/Fallout.Utilities/IO/WinRelativePath.cs rename to src/Fallout.Kernel/IO/WinRelativePath.cs index 45330a634..a9db7147f 100644 --- a/src/Fallout.Utilities/IO/WinRelativePath.cs +++ b/src/Fallout.Kernel/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.Common/IO/XmlTasks.cs b/src/Fallout.Kernel/IO/XmlTasks.cs similarity index 98% rename from src/Fallout.Common/IO/XmlTasks.cs rename to src/Fallout.Kernel/IO/XmlTasks.cs index 684b0eddb..f1a3e73c8 100644 --- a/src/Fallout.Common/IO/XmlTasks.cs +++ b/src/Fallout.Kernel/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.Kernel; -namespace Fallout.Common.IO; +namespace Fallout.Kernel.IO; public static class XmlTasks { diff --git a/src/Fallout.Utilities/Lazy.cs b/src/Fallout.Kernel/Lazy.cs similarity index 85% rename from src/Fallout.Utilities/Lazy.cs rename to src/Fallout.Kernel/Lazy.cs index f5f69da89..da31fc9cc 100644 --- a/src/Fallout.Utilities/Lazy.cs +++ b/src/Fallout.Kernel/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.Kernel/Object.Apply.cs similarity index 86% rename from src/Fallout.Utilities/Object.Apply.cs rename to src/Fallout.Kernel/Object.Apply.cs index 18ef3f025..dd017aa11 100644 --- a/src/Fallout.Utilities/Object.Apply.cs +++ b/src/Fallout.Kernel/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.Kernel/Object.Clone.cs similarity index 94% rename from src/Fallout.Utilities/Object.Clone.cs rename to src/Fallout.Kernel/Object.Clone.cs index 5b42508cf..74fbad892 100644 --- a/src/Fallout.Utilities/Object.Clone.cs +++ b/src/Fallout.Kernel/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.Kernel/Object.When.cs similarity index 88% rename from src/Fallout.Utilities/Object.When.cs rename to src/Fallout.Kernel/Object.When.cs index 7f9c0df29..acd946fe0 100644 --- a/src/Fallout.Utilities/Object.When.cs +++ b/src/Fallout.Kernel/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.Kernel/Reflection/Assembly.Versioning.cs similarity index 95% rename from src/Fallout.Utilities/Reflection/Assembly.Versioning.cs rename to src/Fallout.Kernel/Reflection/Assembly.Versioning.cs index dca95e18e..17248e653 100644 --- a/src/Fallout.Utilities/Reflection/Assembly.Versioning.cs +++ b/src/Fallout.Kernel/Reflection/Assembly.Versioning.cs @@ -2,7 +2,7 @@ using System.Linq; using System.Reflection; -namespace Fallout.Common.Utilities; +namespace Fallout.Kernel; public static class AssemblyExtensions { diff --git a/src/Fallout.Utilities/Reflection/ReflectionUtility.Conversion.cs b/src/Fallout.Kernel/Reflection/ReflectionUtility.Conversion.cs similarity index 96% rename from src/Fallout.Utilities/Reflection/ReflectionUtility.Conversion.cs rename to src/Fallout.Kernel/Reflection/ReflectionUtility.Conversion.cs index 0e689e788..c5b4c9ac4 100644 --- a/src/Fallout.Utilities/Reflection/ReflectionUtility.Conversion.cs +++ b/src/Fallout.Kernel/Reflection/ReflectionUtility.Conversion.cs @@ -1,10 +1,10 @@ -using System; +using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; -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.DisplayText.cs b/src/Fallout.Kernel/Reflection/ReflectionUtility.DisplayText.cs similarity index 98% rename from src/Fallout.Utilities/Reflection/ReflectionUtility.DisplayText.cs rename to src/Fallout.Kernel/Reflection/ReflectionUtility.DisplayText.cs index 1bc409fd5..622e5e0e2 100644 --- a/src/Fallout.Utilities/Reflection/ReflectionUtility.DisplayText.cs +++ b/src/Fallout.Kernel/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.Kernel/Reflection/ReflectionUtility.Expressions.cs similarity index 95% rename from src/Fallout.Utilities/Reflection/ReflectionUtility.Expressions.cs rename to src/Fallout.Kernel/Reflection/ReflectionUtility.Expressions.cs index 102e6ed0e..2028bdd66 100644 --- a/src/Fallout.Utilities/Reflection/ReflectionUtility.Expressions.cs +++ b/src/Fallout.Kernel/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.Kernel/Reflection/ReflectionUtility.Invocation.cs similarity index 98% rename from src/Fallout.Utilities/Reflection/ReflectionUtility.Invocation.cs rename to src/Fallout.Kernel/Reflection/ReflectionUtility.Invocation.cs index c8c8c59ce..1f73e7e28 100644 --- a/src/Fallout.Utilities/Reflection/ReflectionUtility.Invocation.cs +++ b/src/Fallout.Kernel/Reflection/ReflectionUtility.Invocation.cs @@ -1,10 +1,10 @@ -using System; +using System; using System.Linq; using System.Linq.Expressions; using System.Reflection; -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.cs b/src/Fallout.Kernel/Reflection/ReflectionUtility.cs similarity index 99% rename from src/Fallout.Utilities/Reflection/ReflectionUtility.cs rename to src/Fallout.Kernel/Reflection/ReflectionUtility.cs index 46ddb1b55..d3a5d7192 100644 --- a/src/Fallout.Utilities/Reflection/ReflectionUtility.cs +++ b/src/Fallout.Kernel/Reflection/ReflectionUtility.cs @@ -3,9 +3,9 @@ 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/ResourceUtility.cs b/src/Fallout.Kernel/Reflection/ResourceUtility.cs similarity index 94% rename from src/Fallout.Utilities/Reflection/ResourceUtility.cs rename to src/Fallout.Kernel/Reflection/ResourceUtility.cs index ddb8c2584..1c244c4bb 100644 --- a/src/Fallout.Utilities/Reflection/ResourceUtility.cs +++ b/src/Fallout.Kernel/Reflection/ResourceUtility.cs @@ -3,9 +3,9 @@ using System.IO; using System.Linq; using System.Reflection; -using Fallout.Common.Utilities.Collections; +using Fallout.Kernel.Collections; -namespace Fallout.Common.Utilities; +namespace Fallout.Kernel; public static class ResourceUtility { diff --git a/src/Fallout.Utilities/Security/EncryptionUtility.cs b/src/Fallout.Kernel/Security/EncryptionUtility.cs similarity index 99% rename from src/Fallout.Utilities/Security/EncryptionUtility.cs rename to src/Fallout.Kernel/Security/EncryptionUtility.cs index f5978a29f..b2db6116c 100644 --- a/src/Fallout.Utilities/Security/EncryptionUtility.cs +++ b/src/Fallout.Kernel/Security/EncryptionUtility.cs @@ -5,7 +5,7 @@ using System.Security.Cryptography; using System.Text; -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/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 91% rename from src/Fallout.Utilities/Task.WaitAll.cs rename to src/Fallout.Kernel/Task.WaitAll.cs index 3c88a60ca..982b6b934 100644 --- a/src/Fallout.Utilities/Task.WaitAll.cs +++ b/src/Fallout.Kernel/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.Kernel/Text/String.Capitalize.cs similarity index 93% rename from src/Fallout.Utilities/Text/String.Capitalize.cs rename to src/Fallout.Kernel/Text/String.Capitalize.cs index a7504e9af..57abf924d 100644 --- a/src/Fallout.Utilities/Text/String.Capitalize.cs +++ b/src/Fallout.Kernel/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.Kernel/Text/String.Emptiness.cs similarity index 96% rename from src/Fallout.Utilities/Text/String.Emptiness.cs rename to src/Fallout.Kernel/Text/String.Emptiness.cs index af6abbb26..63efd37f6 100644 --- a/src/Fallout.Utilities/Text/String.Emptiness.cs +++ b/src/Fallout.Kernel/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.Kernel/Text/String.Escape.cs similarity index 89% rename from src/Fallout.Utilities/Text/String.Escape.cs rename to src/Fallout.Kernel/Text/String.Escape.cs index 84da36d33..9960102c7 100644 --- a/src/Fallout.Utilities/Text/String.Escape.cs +++ b/src/Fallout.Kernel/Text/String.Escape.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.GetHash.cs b/src/Fallout.Kernel/Text/String.GetHash.cs similarity index 97% rename from src/Fallout.Utilities/Text/String.GetHash.cs rename to src/Fallout.Kernel/Text/String.GetHash.cs index 477a7e0ea..e8135d192 100644 --- a/src/Fallout.Utilities/Text/String.GetHash.cs +++ b/src/Fallout.Kernel/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.Kernel/Text/String.Indent.cs similarity index 82% rename from src/Fallout.Utilities/Text/String.Indent.cs rename to src/Fallout.Kernel/Text/String.Indent.cs index 4fd5c7da1..9753b774b 100644 --- a/src/Fallout.Utilities/Text/String.Indent.cs +++ b/src/Fallout.Kernel/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.Kernel/Text/String.IndexOf.cs similarity index 81% rename from src/Fallout.Utilities/Text/String.IndexOf.cs rename to src/Fallout.Kernel/Text/String.IndexOf.cs index 4314d4206..e4b3f79c3 100644 --- a/src/Fallout.Utilities/Text/String.IndexOf.cs +++ b/src/Fallout.Kernel/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.Kernel/Text/String.Join.cs similarity index 99% rename from src/Fallout.Utilities/Text/String.Join.cs rename to src/Fallout.Kernel/Text/String.Join.cs index 2e5c9b17d..3335f5323 100644 --- a/src/Fallout.Utilities/Text/String.Join.cs +++ b/src/Fallout.Kernel/Text/String.Join.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.KnownWords.cs b/src/Fallout.Kernel/Text/String.KnownWords.cs similarity index 89% rename from src/Fallout.Utilities/Text/String.KnownWords.cs rename to src/Fallout.Kernel/Text/String.KnownWords.cs index 62bff0920..796bc0f66 100644 --- a/src/Fallout.Utilities/Text/String.KnownWords.cs +++ b/src/Fallout.Kernel/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.Kernel/Text/String.PrependAppend.cs similarity index 92% rename from src/Fallout.Utilities/Text/String.PrependAppend.cs rename to src/Fallout.Kernel/Text/String.PrependAppend.cs index 7c4c44304..c57123aa1 100644 --- a/src/Fallout.Utilities/Text/String.PrependAppend.cs +++ b/src/Fallout.Kernel/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.Kernel/Text/String.Quoting.cs similarity index 98% rename from src/Fallout.Utilities/Text/String.Quoting.cs rename to src/Fallout.Kernel/Text/String.Quoting.cs index c34040ccb..e32ccc968 100644 --- a/src/Fallout.Utilities/Text/String.Quoting.cs +++ b/src/Fallout.Kernel/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.Kernel/Text/String.Repeat.cs similarity index 79% rename from src/Fallout.Utilities/Text/String.Repeat.cs rename to src/Fallout.Kernel/Text/String.Repeat.cs index 31c5b60a5..b347075f5 100644 --- a/src/Fallout.Utilities/Text/String.Repeat.cs +++ b/src/Fallout.Kernel/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.Kernel/Text/String.Replace.cs similarity index 96% rename from src/Fallout.Utilities/Text/String.Replace.cs rename to src/Fallout.Kernel/Text/String.Replace.cs index 6fa3db28d..3ab13230d 100644 --- a/src/Fallout.Utilities/Text/String.Replace.cs +++ b/src/Fallout.Kernel/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.Kernel/Text/String.Split.cs similarity index 98% rename from src/Fallout.Utilities/Text/String.Split.cs rename to src/Fallout.Kernel/Text/String.Split.cs index 8b7e5877f..2fdfebff9 100644 --- a/src/Fallout.Utilities/Text/String.Split.cs +++ b/src/Fallout.Kernel/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.Kernel/Text/String.StartsEndsContains.cs similarity index 99% rename from src/Fallout.Utilities/Text/String.StartsEndsContains.cs rename to src/Fallout.Kernel/Text/String.StartsEndsContains.cs index 94c65c23f..dbe38b009 100644 --- a/src/Fallout.Utilities/Text/String.StartsEndsContains.cs +++ b/src/Fallout.Kernel/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.Kernel/Text/String.Trim.cs similarity index 98% rename from src/Fallout.Utilities/Text/String.Trim.cs rename to src/Fallout.Kernel/Text/String.Trim.cs index b72b53c13..dfa74d3ec 100644 --- a/src/Fallout.Utilities/Text/String.Trim.cs +++ b/src/Fallout.Kernel/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.Kernel/Text/String.Truncate.cs similarity index 86% rename from src/Fallout.Utilities/Text/String.Truncate.cs rename to src/Fallout.Kernel/Text/String.Truncate.cs index 7270b5acc..7828e8fca 100644 --- a/src/Fallout.Utilities/Text/String.Truncate.cs +++ b/src/Fallout.Kernel/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.Kernel/Text/Xml/XElement.GetAttributeValue.cs similarity index 82% rename from src/Fallout.Utilities/Text/Xml/XElement.GetAttributeValue.cs rename to src/Fallout.Kernel/Text/Xml/XElement.GetAttributeValue.cs index 947306a76..70fbf1adf 100644 --- a/src/Fallout.Utilities/Text/Xml/XElement.GetAttributeValue.cs +++ b/src/Fallout.Kernel/Text/Xml/XElement.GetAttributeValue.cs @@ -1,8 +1,8 @@ -using System; +using System; using System.Linq; using System.Xml.Linq; -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.Kernel/Text/Xml/XNode.XPathEvaluateValue.cs similarity index 97% rename from src/Fallout.Utilities/Text/Xml/XNode.XPathEvaluateValue.cs rename to src/Fallout.Kernel/Text/Xml/XNode.XPathEvaluateValue.cs index 38b68371d..0ddda4bf0 100644 --- a/src/Fallout.Utilities/Text/Xml/XNode.XPathEvaluateValue.cs +++ b/src/Fallout.Kernel/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.Kernel/Text/Xml/XmlExtensions.cs similarity index 98% rename from src/Fallout.Utilities/Text/Xml/XmlExtensions.cs rename to src/Fallout.Kernel/Text/Xml/XmlExtensions.cs index a99ba8a9d..d088e40d1 100644 --- a/src/Fallout.Utilities/Text/Xml/XmlExtensions.cs +++ b/src/Fallout.Kernel/Text/Xml/XmlExtensions.cs @@ -1,9 +1,9 @@ using System; using System.Xml.Linq; using System.Xml.Serialization; -using Fallout.Common.IO; +using Fallout.Kernel.IO; -namespace Fallout.Common.Utilities; +namespace Fallout.Kernel; public static class XmlExtensions { diff --git a/src/Fallout.Utilities/Url.WithUtmValues.cs b/src/Fallout.Kernel/Url.WithUtmValues.cs similarity index 94% rename from src/Fallout.Utilities/Url.WithUtmValues.cs rename to src/Fallout.Kernel/Url.WithUtmValues.cs index 937d55da5..cfb754936 100644 --- a/src/Fallout.Utilities/Url.WithUtmValues.cs +++ b/src/Fallout.Kernel/Url.WithUtmValues.cs @@ -1,9 +1,9 @@ -using System; +using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; -namespace Fallout.Common.Utilities; +namespace Fallout.Kernel; [DebuggerNonUserCode] [DebuggerStepThrough] 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..7d3d33288 100644 --- a/src/Fallout.MSBuildTasks/ContextAwareTask.cs +++ b/src/Fallout.MSBuildTasks/ContextAwareTask.cs @@ -4,10 +4,10 @@ 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.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/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.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.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/Fallout.SourceGenerators.csproj b/src/Fallout.SourceGenerators/Fallout.SourceGenerators.csproj index 4bb79c6b1..a56d70a05 100644 --- a/src/Fallout.SourceGenerators/Fallout.SourceGenerators.csproj +++ b/src/Fallout.SourceGenerators/Fallout.SourceGenerators.csproj @@ -13,9 +13,8 @@ - - - + + @@ -40,13 +39,20 @@ - - - + + + + + + + + + + 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 689f6ef9a..7316863c7 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; @@ -7,13 +7,14 @@ using Microsoft.CodeAnalysis; 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 Fallout.Infrastructure.Solutions; using Scriban; using static Microsoft.CodeAnalysis.CSharp.SyntaxFactory; +using Fallout.Kernel.IO; +using Fallout.Kernel.Collections; +using Fallout.Kernel; +using Fallout.Application.Solutions; +using Fallout.Build.Shared; namespace Fallout.SourceGenerators; @@ -31,7 +32,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) @@ -46,7 +47,7 @@ public void Execute(GeneratorExecutionContext context) : GetSolutionFileFromParametersFile(rootDirectory, member.Name); var fancyNaming = attribute.NamedArguments.SingleOrDefault(x => x.Key == "FancyNames").Value.Value as bool? ?? false; - var solution = solutionFile.ReadSolution(); + var solution = SolutionReader.Read(solutionFile); var hintName = member.Name + ".g.cs"; var declaration = GetDeclaration(solution); @@ -54,9 +55,8 @@ public void Execute(GeneratorExecutionContext context) context.AddSource(hintName, $""" // - using Fallout.Persistence.Solution.Model; - using Fallout.Solutions; - using Fallout.Common.IO; + using Fallout.Application.Solutions; + using Fallout.Kernel.IO; using System.Runtime.CompilerServices; {declaration} @@ -95,13 +95,13 @@ 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.Application.Solutions.Solution(path, handle) {{~ else ~}} - internal class {{ name }}(SolutionFolderModel model, Fallout.Solutions.Solution solution) : Fallout.Solutions.SolutionFolder(model, solution) + 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/Fallout.Tooling.Generator/CodeGenerator.cs b/src/Fallout.Tooling.Generator/CodeGenerator.cs index f37f81fd1..aabfda2c0 100644 --- a/src/Fallout.Tooling.Generator/CodeGenerator.cs +++ b/src/Fallout.Tooling.Generator/CodeGenerator.cs @@ -1,13 +1,12 @@ -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/Fallout.Tooling.Generator.csproj b/src/Fallout.Tooling.Generator/Fallout.Tooling.Generator.csproj index 8f9534c6c..dca50ed31 100644 --- a/src/Fallout.Tooling.Generator/Fallout.Tooling.Generator.csproj +++ b/src/Fallout.Tooling.Generator/Fallout.Tooling.Generator.csproj @@ -14,13 +14,17 @@ - - - + + + + + + + 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..52820e974 100644 --- a/src/Fallout.Tooling.Generator/Generators/ModelExtensions.cs +++ b/src/Fallout.Tooling.Generator/Generators/ModelExtensions.cs @@ -2,8 +2,7 @@ using System.Linq; 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/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/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..8ca5303ee 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; @@ -7,9 +7,9 @@ using System.Threading.Tasks; using HtmlAgilityPack; using Fallout.CodeGeneration.Model; -using Fallout.Common; -using Fallout.Common.Utilities.Net; using Serilog; +using Fallout.Kernel.Net; +using Fallout.Kernel; 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/Fallout.Tooling.csproj b/src/Fallout.Tooling/Fallout.Tooling.csproj deleted file mode 100644 index 2200aa636..000000000 --- a/src/Fallout.Tooling/Fallout.Tooling.csproj +++ /dev/null @@ -1,17 +0,0 @@ - - - - net10.0;netstandard2.0 - - - - - - - - - - - - - diff --git a/src/Fallout/Fallout.csproj b/src/Fallout/Fallout.csproj new file mode 100644 index 000000000..580b9330d --- /dev/null +++ b/src/Fallout/Fallout.csproj @@ -0,0 +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/Persistence/Fallout.Persistence.Solution/Fallout.Persistence.Solution.csproj b/src/Persistence/Fallout.Persistence.Solution/Fallout.Persistence.Solution.csproj index d9a7e8c6b..0560b90b3 100644 --- a/src/Persistence/Fallout.Persistence.Solution/Fallout.Persistence.Solution.csproj +++ b/src/Persistence/Fallout.Persistence.Solution/Fallout.Persistence.Solution.csproj @@ -23,7 +23,7 @@ - + diff --git a/src/Persistence/Fallout.Solution/Fallout.Solution.csproj b/src/Persistence/Fallout.Solution/Fallout.Solution.csproj deleted file mode 100644 index b41b02c0c..000000000 --- a/src/Persistence/Fallout.Solution/Fallout.Solution.csproj +++ /dev/null @@ -1,23 +0,0 @@ - - - - - netstandard2.0;net10.0 - Fallout.Solutions - Fallout's public API for working with .NET solution files. - - - - - - - - diff --git a/src/Persistence/Fallout.Solution/Model.cs b/src/Persistence/Fallout.Solution/Model.cs deleted file mode 100644 index cdc84fe94..000000000 --- a/src/Persistence/Fallout.Solution/Model.cs +++ /dev/null @@ -1,118 +0,0 @@ -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.Common.IO; -using Fallout.Common.Utilities; - -namespace Fallout.Solutions; - -public interface IProjectContainer -{ - IProjectContainer Parent { get; } - IReadOnlyCollection Projects { get; } - IReadOnlyCollection SolutionFolders { get; } -} - -public static class ProjectContainerExtensions -{ - public static SolutionFolder GetSolutionFolder(this IProjectContainer container, string name) - { - return container.SolutionFolders.SingleOrDefault(x => name.Equals(x.Name, StringComparison.Ordinal)); - } - - /// - /// Gets a project by its name. - /// - public static Project GetProject(this IProjectContainer container, string name) - { - return container.Projects.SingleOrDefault(x => name.Equals(x.Name, StringComparison.Ordinal)); - } -} - -public class Solution(SolutionModel model, AbsolutePath path = null) : IProjectContainer, IAbsolutePathHolder -{ - private ConcurrentDictionary wrappers { get; } = new(); - - internal T GetOrCreate(object model) - { - 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) - }); - } - } - - public SolutionModel GetModel() => model; - - public AbsolutePath Path { get; set; } = path; - 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(); - - IProjectContainer IProjectContainer.Parent => null; - public IReadOnlyCollection Projects => AllProjects.Where(x => x.Parent == this).ToList(); - public IReadOnlyCollection SolutionFolders => AllSolutionFolders.Where(x => x.Parent == this).ToList(); - - public static implicit operator string(Solution solution) => solution.Path; - public static implicit operator AbsolutePath(Solution solution) => solution.Path; - - public IEnumerable GetAllProjects(string wildcardPattern) - { - wildcardPattern = $"^{wildcardPattern}$"; - var regex = new Regex(wildcardPattern - .Replace(".", "\\.") - .Replace("*", ".*")); - return AllProjects.Where(x => regex.IsMatch(x.Name)); - } - - public void Save(AbsolutePath path = null) - { - Path = (path ?? Path).NotNull(); - var serializer = SolutionSerializers.GetSerializerByMoniker(Path).NotNull(); - AsyncHelper.RunSync(() => serializer.SaveAsync(Path, model, CancellationToken.None)); - } -} - -public class SolutionItem(SolutionItemModel model, Solution solution) -{ - public string Name => model.ActualDisplayName; - - public Solution Solution => solution; - public IProjectContainer Parent => (IProjectContainer)model.Parent?.Apply(solution.GetOrCreate) ?? solution; - - public override string ToString() => model.ActualDisplayName; -} - -public class SolutionFolder(SolutionFolderModel model, Solution solution) : SolutionItem(model, solution), IProjectContainer -{ - public SolutionFolderModel GetModel() => model; - - 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 SolutionProjectModel GetModel() => model; - - public string RelativePath => model.FilePath; - public AbsolutePath Path => Solution.Directory.NotNull() / model.FilePath; - public string FileName => System.IO.Path.GetFileName(RelativePath); - public AbsolutePath Directory => Path?.Parent; - - public static implicit operator string(Project project) => project.Path; - public static implicit operator AbsolutePath(Project project) => project.Path; -} diff --git a/src/Persistence/Fallout.Solution/SolutionModelExtensions.cs b/src/Persistence/Fallout.Solution/SolutionModelExtensions.cs deleted file mode 100644 index 015634ee0..000000000 --- a/src/Persistence/Fallout.Solution/SolutionModelExtensions.cs +++ /dev/null @@ -1,23 +0,0 @@ -using System.Threading; -using Fallout.Persistence.Solution.Serializer; -using Fallout.Common; -using Fallout.Common.IO; -using Fallout.Common.Utilities; - -namespace Fallout.Solutions; - -public static class SolutionModelExtensions -{ - public static Solution ReadSolution(this AbsolutePath path) - { - return path.ReadSolution(); - } - - 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)); - return typeof(T).CreateInstance(model, path); - } -} 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/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/src/Shims/Nuke.Common/Nuke.Common.csproj b/src/Shims/Nuke.Common/Nuke.Common.csproj index e7bc3bf19..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/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/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/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/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/Build.cs b/tests/Consumers/Fallout.Consumer.Local/Build.cs index bc22f662b..d94dce3d1 100644 --- a/tests/Consumers/Fallout.Consumer.Local/Build.cs +++ b/tests/Consumers/Fallout.Consumer.Local/Build.cs @@ -1,6 +1,5 @@ -using Fallout.Common.IO; -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/Consumers/Fallout.Consumer.Local/Fallout.Consumer.Local.csproj b/tests/Consumers/Fallout.Consumer.Local/Fallout.Consumer.Local.csproj index 36fd6cf99..3a879ae68 100644 --- a/tests/Consumers/Fallout.Consumer.Local/Fallout.Consumer.Local.csproj +++ b/tests/Consumers/Fallout.Consumer.Local/Fallout.Consumer.Local.csproj @@ -18,10 +18,19 @@ became `using Fallout.Solutions;` in the same PR. --> - - - - + + + + + + + + + + + + + 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.Architecture.Tests/Fallout.Architecture.Tests.csproj b/tests/Fallout.Architecture.Tests/Fallout.Architecture.Tests.csproj index d44603904..a300299a0 100644 --- a/tests/Fallout.Architecture.Tests/Fallout.Architecture.Tests.csproj +++ b/tests/Fallout.Architecture.Tests/Fallout.Architecture.Tests.csproj @@ -10,9 +10,17 @@ - - - + + + + + + + + + + + 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/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/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.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.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..ee9fedf8b 100644 --- a/tests/Fallout.Cli.Tests/CakeConversionTests.cs +++ b/tests/Fallout.Cli.Tests/CakeConversionTests.cs @@ -1,12 +1,13 @@ -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; +using Fallout.Kernel; namespace Fallout.Cli.Tests; 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.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..9829aa291 100644 --- a/tests/Fallout.Cli.Tests/cake-scripts/default-target.verified.cs +++ b/tests/Fallout.Cli.Tests/cake-scripts/default-target.verified.cs @@ -5,31 +5,26 @@ using System.Linq.Expressions; using System.Security.Cryptography.X509Certificates; using System.Xml; -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.Common.Tools.GitVersion; -using Fallout.Common.Tools.SignTool; -using Fallout.Common.Utilities.Collections; +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.Common.IO; -using Fallout.Common.IO; -using Fallout.Common; +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.Common.IO.TextTasks; -using static Fallout.Common.IO.XmlTasks; -using static Fallout.Common.EnvironmentInfo; +using static Fallout.Kernel.IO.TextTasks; +using static Fallout.Kernel.IO.XmlTasks; +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 848a52de1..0fd9597cb 100644 --- a/tests/Fallout.Cli.Tests/cake-scripts/globbing.verified.cs +++ b/tests/Fallout.Cli.Tests/cake-scripts/globbing.verified.cs @@ -5,31 +5,26 @@ using System.Linq.Expressions; using System.Security.Cryptography.X509Certificates; using System.Xml; -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.Common.Tools.GitVersion; -using Fallout.Common.Tools.SignTool; -using Fallout.Common.Utilities.Collections; +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.Common.IO; -using Fallout.Common.IO; -using Fallout.Common; +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.Common.IO.TextTasks; -using static Fallout.Common.IO.XmlTasks; -using static Fallout.Common.EnvironmentInfo; +using static Fallout.Kernel.IO.TextTasks; +using static Fallout.Kernel.IO.XmlTasks; +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 80a223e9a..94f57a1e3 100644 --- a/tests/Fallout.Cli.Tests/cake-scripts/parameters.verified.cs +++ b/tests/Fallout.Cli.Tests/cake-scripts/parameters.verified.cs @@ -5,31 +5,26 @@ using System.Linq.Expressions; using System.Security.Cryptography.X509Certificates; using System.Xml; -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.Common.Tools.GitVersion; -using Fallout.Common.Tools.SignTool; -using Fallout.Common.Utilities.Collections; +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.Common.IO; -using Fallout.Common.IO; -using Fallout.Common; +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.Common.IO.TextTasks; -using static Fallout.Common.IO.XmlTasks; -using static Fallout.Common.EnvironmentInfo; +using static Fallout.Kernel.IO.TextTasks; +using static Fallout.Kernel.IO.XmlTasks; +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 e94247972..a4585f65e 100644 --- a/tests/Fallout.Cli.Tests/cake-scripts/paths.verified.cs +++ b/tests/Fallout.Cli.Tests/cake-scripts/paths.verified.cs @@ -5,31 +5,26 @@ using System.Linq.Expressions; using System.Security.Cryptography.X509Certificates; using System.Xml; -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.Common.Tools.GitVersion; -using Fallout.Common.Tools.SignTool; -using Fallout.Common.Utilities.Collections; +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.Common.IO; -using Fallout.Common.IO; -using Fallout.Common; +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.Common.IO.TextTasks; -using static Fallout.Common.IO.XmlTasks; -using static Fallout.Common.EnvironmentInfo; +using static Fallout.Kernel.IO.TextTasks; +using static Fallout.Kernel.IO.XmlTasks; +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 7dc851b08..f8dcea280 100644 --- a/tests/Fallout.Cli.Tests/cake-scripts/references.verified.cs +++ b/tests/Fallout.Cli.Tests/cake-scripts/references.verified.cs @@ -5,31 +5,26 @@ using System.Linq.Expressions; using System.Security.Cryptography.X509Certificates; using System.Xml; -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.Common.Tools.GitVersion; -using Fallout.Common.Tools.SignTool; -using Fallout.Common.Utilities.Collections; +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.Common.IO; -using Fallout.Common.IO; -using Fallout.Common; +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.Common.IO.TextTasks; -using static Fallout.Common.IO.XmlTasks; -using static Fallout.Common.EnvironmentInfo; +using static Fallout.Kernel.IO.TextTasks; +using static Fallout.Kernel.IO.XmlTasks; +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 0881b0e1a..a2f5169c0 100644 --- a/tests/Fallout.Cli.Tests/cake-scripts/targets.verified.cs +++ b/tests/Fallout.Cli.Tests/cake-scripts/targets.verified.cs @@ -5,31 +5,26 @@ using System.Linq.Expressions; using System.Security.Cryptography.X509Certificates; using System.Xml; -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.Common.Tools.GitVersion; -using Fallout.Common.Tools.SignTool; -using Fallout.Common.Utilities.Collections; +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.Common.IO; -using Fallout.Common.IO; -using Fallout.Common; +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.Common.IO.TextTasks; -using static Fallout.Common.IO.XmlTasks; -using static Fallout.Common.EnvironmentInfo; +using static Fallout.Kernel.IO.TextTasks; +using static Fallout.Kernel.IO.XmlTasks; +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 17ffac631..f52997409 100644 --- a/tests/Fallout.Cli.Tests/cake-scripts/tool-invocation.verified.cs +++ b/tests/Fallout.Cli.Tests/cake-scripts/tool-invocation.verified.cs @@ -5,31 +5,26 @@ using System.Linq.Expressions; using System.Security.Cryptography.X509Certificates; using System.Xml; -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.Common.Tools.GitVersion; -using Fallout.Common.Tools.SignTool; -using Fallout.Common.Utilities.Collections; +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.Common.IO; -using Fallout.Common.IO; -using Fallout.Common; +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.Common.IO.TextTasks; -using static Fallout.Common.IO.XmlTasks; -using static Fallout.Common.EnvironmentInfo; +using static Fallout.Kernel.IO.TextTasks; +using static Fallout.Kernel.IO.XmlTasks; +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 7d0bd9f06..69d8b0468 100644 --- a/tests/Fallout.Common.Tests/CI/ConfigurationGenerationTest.cs +++ b/tests/Fallout.Common.Tests/CI/ConfigurationGenerationTest.cs @@ -4,17 +4,18 @@ 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 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; +using Fallout.Infrastructure.CI.AppVeyor; +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/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..760d6c10e 100644 --- a/tests/Fallout.Common.Tests/CITest.cs +++ b/tests/Fallout.Common.Tests/CITest.cs @@ -4,15 +4,19 @@ 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; +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 07e7e718a..4452fa5c4 100644 --- a/tests/Fallout.Common.Tests/ChangelogTasksTest.cs +++ b/tests/Fallout.Common.Tests/ChangelogTasksTest.cs @@ -1,12 +1,13 @@ -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; +using Fallout.Application.ChangeLog; +using Fallout.Kernel; // ReSharper disable ReturnValueOfPureMethodIsNotUsed 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.Common.Tests/GitHubTasksTest.cs b/tests/Fallout.Common.Tests/GitHubTasksTest.cs index b60ecdfe9..121c5396b 100644 --- a/tests/Fallout.Common.Tests/GitHubTasksTest.cs +++ b/tests/Fallout.Common.Tests/GitHubTasksTest.cs @@ -1,10 +1,11 @@ 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; +using Fallout.Kernel; 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.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.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/Fallout.ProjectModel.Tests.csproj b/tests/Fallout.ProjectModel.Tests/Fallout.ProjectModel.Tests.csproj index a661671cd..333664e34 100644 --- a/tests/Fallout.ProjectModel.Tests/Fallout.ProjectModel.Tests.csproj +++ b/tests/Fallout.ProjectModel.Tests/Fallout.ProjectModel.Tests.csproj @@ -6,7 +6,12 @@ - + + + + + + diff --git a/tests/Fallout.ProjectModel.Tests/ModuleInit.cs b/tests/Fallout.ProjectModel.Tests/ModuleInit.cs index b0e969fe6..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.Solutions; +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.ProjectModel.Tests/ProjectModelTest.cs b/tests/Fallout.ProjectModel.Tests/ProjectModelTest.cs index a769b2fe0..9f56bcf7b 100644 --- a/tests/Fallout.ProjectModel.Tests/ProjectModelTest.cs +++ b/tests/Fallout.ProjectModel.Tests/ProjectModelTest.cs @@ -1,9 +1,11 @@ -using System; +using System; using System.Linq; using FluentAssertions; -using Fallout.Common.IO; -using Fallout.Solutions; using Xunit; +using Fallout.Kernel.IO; +using Fallout.Application.Solutions; +using Fallout.Infrastructure.ProjectModel; +using Fallout.Kernel; namespace Fallout.Common.Tests; @@ -17,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(); @@ -32,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.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.Solution.Tests/SolutionTest.cs b/tests/Fallout.Solution.Tests/SolutionTest.cs index b1530e0a0..c0a9cb98e 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; +using Fallout.Application.Solutions; namespace Fallout.Common.Tests; 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 9eff38332..bb9754355 100644 --- a/tests/Fallout.SourceGenerators.Tests/StronglyTypedSolutionGeneratorTest.Test#Solution.g.verified.cs +++ b/tests/Fallout.SourceGenerators.Tests/StronglyTypedSolutionGeneratorTest.Test#Solution.g.verified.cs @@ -1,59 +1,62 @@ //HintName: Solution.g.cs // -using Fallout.Persistence.Solution.Model; -using Fallout.Solutions; -using Fallout.Common.IO; +using Fallout.Application.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.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 => 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_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"); + 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"); + 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_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_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(SolutionFolderModel model, Fallout.Solutions.Solution solution) : Fallout.Solutions.SolutionFolder(model, solution) + 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/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/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 @@ - + + + + + + diff --git a/tests/Fallout.Tooling.Tests/NuGetPackageResolverTest.cs b/tests/Fallout.Tooling.Tests/NuGetPackageResolverTest.cs index 64ada1706..b4de0474b 100644 --- a/tests/Fallout.Tooling.Tests/NuGetPackageResolverTest.cs +++ b/tests/Fallout.Tooling.Tests/NuGetPackageResolverTest.cs @@ -1,8 +1,9 @@ using System.Threading.Tasks; using FluentAssertions; -using Fallout.Common.IO; using Xunit; using Fallout.Infrastructure.Tooling; +using Fallout.Kernel.IO; +using Fallout.Kernel; 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..eee1c2bb9 100644 --- a/tests/Fallout.Tooling.Tests/ToolTasksToolPathTest.cs +++ b/tests/Fallout.Tooling.Tests/ToolTasksToolPathTest.cs @@ -5,6 +5,8 @@ using Xunit; 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/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..d55a6bf6d 100644 --- a/tests/Fallout.Utilities.Tests/EnvironmentInfoTest.cs +++ b/tests/Fallout.Utilities.Tests/EnvironmentInfoTest.cs @@ -1,8 +1,9 @@ -using System; +using System; using System.Linq; using FluentAssertions; -using Fallout.Common.IO; using Xunit; +using Fallout.Kernel.IO; +using Fallout.Kernel; namespace Fallout.Common.Tests; 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 @@ - - - - + + + + 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..8536e9007 100644 --- a/tests/Fallout.Utilities.Tests/IO/FileSystemDependentTest.cs +++ b/tests/Fallout.Utilities.Tests/IO/FileSystemDependentTest.cs @@ -3,8 +3,9 @@ using System.Linq; using System.Reflection; using Fallout.Common; -using Fallout.Common.IO; using Xunit.Abstractions; +using Fallout.Kernel.IO; +using Fallout.Kernel; 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..66e0e74cb 100644 --- a/tests/Fallout.Utilities.Tests/IO/PathConstructionTest.cs +++ b/tests/Fallout.Utilities.Tests/IO/PathConstructionTest.cs @@ -1,9 +1,10 @@ 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; +using Fallout.Kernel; 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..0a58caae7 100644 --- a/tests/Nuke.Common.Shim.Tests/SampleConsumerBuild.cs +++ b/tests/Nuke.Common.Shim.Tests/SampleConsumerBuild.cs @@ -16,6 +16,8 @@ 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; @@ -23,14 +25,14 @@ 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; [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 9c7ac0590..700a8c787 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 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). + // 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.Common.Tools", "Fallout.Application.Tools", ["Fallout.Common"]), - new("Fallout.Common.Tooling", "Fallout.Application.Tooling", ["Fallout.Tooling", "Fallout.Common"]), + new("Fallout.Common", "Fallout.Build.Shared", ["Fallout.Build.Shared"]), ]; - // 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 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));