Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 3 additions & 3 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,9 @@ Do not commit code generated by `GenerateTools` — generated code is regenerate
1. **At PR-creation time, follow the [PR-creation flow](docs/agents/release-and-versioning.md#pr-creation-flow) in `docs/agents/release-and-versioning.md`.** Every PR gets a `target/vN` label; breaking changes additionally get a `breaking-change` label, a `⚠️ Breaking change` callout, a `version.json` major bump in the same PR, and a `CHANGELOG.md` entry. This is non-negotiable — review will block.
2. **Central package versions only** — add to `Directory.Packages.props`, never `Version=` inline.
3. **Tests next to code** — every `src/Foo` has a `tests/Foo.Tests` sibling. Mirror namespaces.
4. **License header on every source file** — copy from a neighbour.
5. **Stay on xUnit + FluentAssertions + Verify.** Don't introduce new test frameworks.
6. **No `.editorconfig` or `*.DotSettings`** — they were removed during the takeover. Don't reintroduce without a maintainer-level decision.
4. **Stay on xUnit + FluentAssertions + Verify.** Don't introduce new test frameworks.
5. **No `.editorconfig` or `*.DotSettings`** — they were removed during the takeover. Don't reintroduce without a maintainer-level decision.
6. **No per-file license headers.** The MIT notice lives in [`LICENSE`](LICENSE) at the repo root — single source of truth. Don't reintroduce header preambles on new files.

Full conventions + what-not-to-do list: [docs/agents/conventions.md](docs/agents/conventions.md).

Expand Down
5 changes: 0 additions & 5 deletions AssemblyInfo.cs
Original file line number Diff line number Diff line change
@@ -1,8 +1,3 @@
// Copyright 2026 Maintainers of Fallout.
// Originally based on NUKE by Matthias Koch and contributors.
// Distributed under the MIT License.
// https://github.com/ChrisonSimtian/Fallout/blob/main/LICENSE

using System.Runtime.CompilerServices;

[assembly: InternalsVisibleTo("Fallout.Build")]
Expand Down
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,7 @@ The NUKE → Fallout hard fork. Originally NUKE by [@matkoch](https://github.com
- **Canonical URLs centralized** (#30) in `Constants.FalloutWebsite` / `FalloutRepository` / `FalloutRawRepository` / `FalloutDocsUrl` / `FalloutTelemetryDocsUrl` / `FalloutNotificationsUrl`. Tool wrapper JSON `$schema` URLs (63 files) and `*.Generated.cs` "Generated from" comments updated from `nuke-build/nuke/master/source/` to `ChrisonSimtian/Fallout/main/src/`. IDE-plugin URLs removed from `build/Build.cs` and `templates/Build.cs` (re-add when Fallout plugins ship). NUKE attribution in README/CONTRIBUTING/CLAUDE.md/CHANGELOG history and pedagogical test fixtures intentionally kept.

### Misc
- **Stripped per-file license headers; `LICENSE` is now the single source of truth.** The 4-line `// Copyright … Maintainers of Fallout. // Originally based on NUKE …` block has been removed from all 614 first-party `.cs` files under `src/`, `tests/`, `build/`, and the repo root. MIT compliance is satisfied by `LICENSE` at the repo root (which preserves matkoch's "Maintainers of NUKE 2017-2025" copyright), README acknowledgement of the NUKE origin, and `PackageLicenseExpression="MIT"` on every NuGet package. Vendored third-party code (`src/Persistence/Fallout.Persistence.Solution/`, Microsoft MIT) retains its own copyright headers untouched. Convention docs (`AGENTS.md`, `docs/agents/conventions.md`, `docs/architecture.md`, `CONTRIBUTING.md`) updated to match.
- **Fixed `GetNuGetReleaseNotes` escaping** — now URL-encodes `;` in addition to `,`. Without this, semicolons in changelog bullets split the MSBuild `-p:PackageReleaseNotes=` value and crashed Pack.
- **Dropped `JetBrains.Annotations`** (#76).
- **Docs**: dependency overview (#85, #87), architecture overview, v11/v12 plugin-architecture roadmap, costs/sponsorship transparency (#56), README badge row (#62) + Repobeats activity image (#63), rebrand namespace mapping (#53).
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ Fallout welcomes contributions. As a community, we want to help each other, prov

- Branch from `main`. Name your branch `feature/<slug>`, `bugfix/<slug>`, or `chore/<slug>`.
- Make sure your employer allows the contribution.
- Read [AGENTS.md](AGENTS.md) for the codebase conventions — package versions go in `Directory.Packages.props`, license headers are mechanical, tests live next to code. (AGENTS.md is the canonical brief for both human contributors and AI tools; `CLAUDE.md` and `.github/copilot-instructions.md` point to it.)
- Read [AGENTS.md](AGENTS.md) for the codebase conventions — package versions go in `Directory.Packages.props`, tests live next to code, no per-file license headers (the `LICENSE` file at the root is the single source of truth). (AGENTS.md is the canonical brief for both human contributors and AI tools; `CLAUDE.md` and `.github/copilot-instructions.md` point to it.)
- The bootstrappers are now thin: `./build.ps1` / `./build.sh` provision .NET if needed, then run `dotnet tool restore` + `dotnet fallout "$@"`. The `Fallout.Cli` version is pinned in `.config/dotnet-tools.json`.
- Run `./build.ps1 Test` (or `./build.sh Test`, or directly `dotnet fallout Test` once your tools are restored) locally first.

Expand Down
5 changes: 0 additions & 5 deletions build/Build.CI.GitHubActions.cs
Original file line number Diff line number Diff line change
@@ -1,8 +1,3 @@
// Copyright 2026 Maintainers of Fallout.
// Originally based on NUKE by Matthias Koch and contributors.
// Distributed under the MIT License.
// https://github.com/ChrisonSimtian/Fallout/blob/main/LICENSE

using Fallout.Common.CI.GitHubActions;
using Fallout.Components;

Expand Down
7 changes: 1 addition & 6 deletions build/Build.CodeGeneration.cs
Original file line number Diff line number Diff line change
@@ -1,9 +1,4 @@
// Copyright 2026 Maintainers of Fallout.
// Originally based on NUKE by Matthias Koch and contributors.
// Distributed under the MIT License.
// https://github.com/ChrisonSimtian/Fallout/blob/main/LICENSE

using System;
using System;
using Fallout.Common;
using Fallout.Common.IO;
using Fallout.Common.Tools.GitHub;
Expand Down
5 changes: 0 additions & 5 deletions build/Build.Contributors.cs
Original file line number Diff line number Diff line change
@@ -1,8 +1,3 @@
// Copyright 2026 Maintainers of Fallout.
// Originally based on NUKE by Matthias Koch and contributors.
// Distributed under the MIT License.
// https://github.com/ChrisonSimtian/Fallout/blob/main/LICENSE

using System.Linq;
using System.Text;
using Fallout.Common;
Expand Down
5 changes: 0 additions & 5 deletions build/Build.GlobalSolution.cs
Original file line number Diff line number Diff line change
@@ -1,8 +1,3 @@
// Copyright 2026 Maintainers of Fallout.
// Originally based on NUKE by Matthias Koch and contributors.
// Distributed under the MIT License.
// https://github.com/ChrisonSimtian/Fallout/blob/main/LICENSE

using System;
using System.Collections.Generic;
using System.IO;
Expand Down
7 changes: 1 addition & 6 deletions build/Build.Licenses.cs
Original file line number Diff line number Diff line change
@@ -1,9 +1,4 @@
// Copyright 2026 Maintainers of Fallout.
// Originally based on NUKE by Matthias Koch and contributors.
// Distributed under the MIT License.
// https://github.com/ChrisonSimtian/Fallout/blob/main/LICENSE

using Fallout.Common;
using Fallout.Common;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
Expand Down
5 changes: 0 additions & 5 deletions build/Build.PublicApi.cs
Original file line number Diff line number Diff line change
@@ -1,8 +1,3 @@
// Copyright 2026 Maintainers of Fallout.
// Originally based on NUKE by Matthias Koch and contributors.
// Distributed under the MIT License.
// https://github.com/ChrisonSimtian/Fallout/blob/main/LICENSE

using System;
using System.Linq;
using System.Reflection;
Expand Down
5 changes: 0 additions & 5 deletions build/Build.RunTargetInDockerTest.cs
Original file line number Diff line number Diff line change
@@ -1,8 +1,3 @@
// Copyright 2026 Maintainers of Fallout.
// Originally based on NUKE by Matthias Koch and contributors.
// Distributed under the MIT License.
// https://github.com/ChrisonSimtian/Fallout/blob/main/LICENSE

using System;
using Fallout.Common;
using Fallout.Common.Tools.Docker;
Expand Down
7 changes: 1 addition & 6 deletions build/Build.Stargazers.cs
Original file line number Diff line number Diff line change
@@ -1,9 +1,4 @@
// Copyright 2026 Maintainers of Fallout.
// Originally based on NUKE by Matthias Koch and contributors.
// Distributed under the MIT License.
// https://github.com/ChrisonSimtian/Fallout/blob/main/LICENSE

using System.Linq;
using System.Linq;
using System.Threading.Tasks;
using Fallout.Common;
using Fallout.Common.IO;
Expand Down
7 changes: 1 addition & 6 deletions build/Build.Terminal.cs
Original file line number Diff line number Diff line change
@@ -1,9 +1,4 @@
// Copyright 2026 Maintainers of Fallout.
// Originally based on NUKE by Matthias Koch and contributors.
// Distributed under the MIT License.
// https://github.com/ChrisonSimtian/Fallout/blob/main/LICENSE

using System;
using System;
using System.Linq;
using Fallout.Common;
using Fallout.Common.Execution;
Expand Down
5 changes: 0 additions & 5 deletions build/Build.cs
Original file line number Diff line number Diff line change
@@ -1,8 +1,3 @@
// Copyright 2026 Maintainers of Fallout.
// Originally based on NUKE by Matthias Koch and contributors.
// Distributed under the MIT License.
// https://github.com/ChrisonSimtian/Fallout/blob/main/LICENSE

using System;
using System.Collections.Generic;
using System.Linq;
Expand Down
2 changes: 1 addition & 1 deletion docs/agents/conventions.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Three groups: conventions to respect, things never to do, and the tool-wrapper r
- **Tests next to code, separate folder**: every `Foo` project under `src/` has a sibling `Foo.Tests` project under `tests/`. Mirror the namespace.
- **No IDE-specific style files committed.** `.editorconfig` and `*.DotSettings` were removed during the takeover — relying on `dotnet format` defaults and review.
- **Telemetry opt-out is set in test runs** (`FALLOUT_TELEMETRY_OPTOUT=true`). Keep it that way.
- **License header**: every source file starts with the 4-line `// Copyright … Maintainers of Fallout. // Originally based on NUKE …` block — copy from a neighbouring file when adding new ones.
- **No per-file license headers.** The MIT notice lives in [`LICENSE`](../../LICENSE) at the repo root, and NuGet packages declare MIT via `PackageLicenseExpression`. Per-file headers were stripped in v11 (one source of truth + the header URL would have rotted on the repo-org transfer). Vendored third-party code keeps its own copyright headers — don't touch those (e.g. files under `src/Persistence/Fallout.Persistence.Solution/` retain Microsoft's MIT notice).

## What not to do

Expand Down
2 changes: 1 addition & 1 deletion docs/architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ Every project under `src/` has a sibling under `tests/` (e.g. `src/Fallout.Commo
- **Central package versions.** All `PackageReference` versions live in `Directory.Packages.props`. Never inline `Version=` on a `PackageReference` — the build will error.
- **Smart `PackageReference`.** `Directory.Build.targets` rewrites `PackageReference`s that match a project in the current solution into `ProjectReference`s. Lets us reference our own packages by ID across the dev/release boundary.
- **`AssemblyInfo.cs` at root.** Shared `InternalsVisibleTo` declarations. Included automatically via `Directory.Build.props`.
- **License header.** Every `.cs` file starts with the 4-line Fallout/NUKE attribution block. See `AGENTS.md` (and the linked `docs/agents/conventions.md`) for the exact shape.
- **No per-file license headers.** The MIT notice lives in [`LICENSE`](../LICENSE) at the repo root. NuGet packages declare MIT via `PackageLicenseExpression` in `Directory.Build.props`. Vendored Microsoft code under `src/Persistence/Fallout.Persistence.Solution/` keeps its own headers — leave those alone.

## CI layout

Expand Down
5 changes: 0 additions & 5 deletions src/Fallout.Build.Shared/CompletionUtility.cs
Original file line number Diff line number Diff line change
@@ -1,8 +1,3 @@
// Copyright 2026 Maintainers of Fallout.
// Originally based on NUKE by Matthias Koch and contributors.
// Distributed under the MIT License.
// https://github.com/ChrisonSimtian/Fallout/blob/main/LICENSE

using System;
using System.Collections.Generic;
using System.Linq;
Expand Down
5 changes: 0 additions & 5 deletions src/Fallout.Build.Shared/Constants.cs
Original file line number Diff line number Diff line change
@@ -1,8 +1,3 @@
// Copyright 2026 Maintainers of Fallout.
// Originally based on NUKE by Matthias Koch and contributors.
// Distributed under the MIT License.
// https://github.com/ChrisonSimtian/Fallout/blob/main/LICENSE

using System;
using System.Collections.Generic;
using System.IO;
Expand Down
5 changes: 0 additions & 5 deletions src/Fallout.Build.Shared/LegacyEnvironment.cs
Original file line number Diff line number Diff line change
@@ -1,8 +1,3 @@
// Copyright 2026 Maintainers of Fallout.
// Originally based on NUKE by Matthias Koch and contributors.
// Distributed under the MIT License.
// https://github.com/ChrisonSimtian/Fallout/blob/main/LICENSE

using System;
using System.Collections.Generic;

Expand Down
5 changes: 0 additions & 5 deletions src/Fallout.Build.Shared/Notifications.cs
Original file line number Diff line number Diff line change
@@ -1,8 +1,3 @@
// Copyright 2026 Maintainers of Fallout.
// Originally based on NUKE by Matthias Koch and contributors.
// Distributed under the MIT License.
// https://github.com/ChrisonSimtian/Fallout/blob/main/LICENSE

using System;
using System.Linq;
using System.Net.Http;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,4 @@
// Copyright 2026 Maintainers of Fallout.
// Originally based on NUKE by Matthias Koch and contributors.
// Distributed under the MIT License.
// https://github.com/ChrisonSimtian/Fallout/blob/main/LICENSE

using System;
using System;
using System.Collections.Generic;
using System.Linq;
using Fallout.Common.CI;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,4 @@
// Copyright 2026 Maintainers of Fallout.
// Originally based on NUKE by Matthias Koch and contributors.
// Distributed under the MIT License.
// https://github.com/ChrisonSimtian/Fallout/blob/main/LICENSE

using System;
using System;
using System.Linq;

namespace Fallout.Common;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,3 @@
// Copyright 2026 Maintainers of Fallout.
// Originally based on NUKE by Matthias Koch and contributors.
// Distributed under the MIT License.
// https://github.com/ChrisonSimtian/Fallout/blob/main/LICENSE

using System;
using System.Linq;
using Fallout.Common.Execution;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,3 @@
// Copyright 2026 Maintainers of Fallout.
// Originally based on NUKE by Matthias Koch and contributors.
// Distributed under the MIT License.
// https://github.com/ChrisonSimtian/Fallout/blob/main/LICENSE

using System;
using System.Collections.Generic;
using System.Linq;
Expand Down
5 changes: 0 additions & 5 deletions src/Fallout.Build/Attributes/VerbosityMappingAttribute.cs
Original file line number Diff line number Diff line change
@@ -1,8 +1,3 @@
// Copyright 2026 Maintainers of Fallout.
// Originally based on NUKE by Matthias Koch and contributors.
// Distributed under the MIT License.
// https://github.com/ChrisonSimtian/Fallout/blob/main/LICENSE

using System;
using System.Collections.Generic;
using System.Linq;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,3 @@
// Copyright 2026 Maintainers of Fallout.
// Originally based on NUKE by Matthias Koch and contributors.
// Distributed under the MIT License.
// https://github.com/ChrisonSimtian/Fallout/blob/main/LICENSE

using System;
using System.Linq;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,4 @@
// Copyright 2026 Maintainers of Fallout.
// Originally based on NUKE by Matthias Koch and contributors.
// Distributed under the MIT License.
// https://github.com/ChrisonSimtian/Fallout/blob/main/LICENSE

using System;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
Expand Down
7 changes: 1 addition & 6 deletions src/Fallout.Build/CICD/CIAttribute.cs
Original file line number Diff line number Diff line change
@@ -1,9 +1,4 @@
// Copyright 2026 Maintainers of Fallout.
// Originally based on NUKE by Matthias Koch and contributors.
// Distributed under the MIT License.
// https://github.com/ChrisonSimtian/Fallout/blob/main/LICENSE

using System;
using System;
using System.Linq;
using System.Reflection;
using Fallout.Common.Utilities;
Expand Down
5 changes: 0 additions & 5 deletions src/Fallout.Build/CICD/ChainedConfigurationAttributeBase.cs
Original file line number Diff line number Diff line change
@@ -1,8 +1,3 @@
// Copyright 2026 Maintainers of Fallout.
// Originally based on NUKE by Matthias Koch and contributors.
// Distributed under the MIT License.
// https://github.com/ChrisonSimtian/Fallout/blob/main/LICENSE

using System;
using System.Collections.Generic;
using System.Linq;
Expand Down
5 changes: 0 additions & 5 deletions src/Fallout.Build/CICD/ConfigurationAttributeBase.cs
Original file line number Diff line number Diff line change
@@ -1,8 +1,3 @@
// Copyright 2026 Maintainers of Fallout.
// Originally based on NUKE by Matthias Koch and contributors.
// Distributed under the MIT License.
// https://github.com/ChrisonSimtian/Fallout/blob/main/LICENSE

using System;
using System.Collections.Generic;
using System.IO;
Expand Down
5 changes: 0 additions & 5 deletions src/Fallout.Build/CICD/ConfigurationEntity.cs
Original file line number Diff line number Diff line change
@@ -1,8 +1,3 @@
// Copyright 2026 Maintainers of Fallout.
// Originally based on NUKE by Matthias Koch and contributors.
// Distributed under the MIT License.
// https://github.com/ChrisonSimtian/Fallout/blob/main/LICENSE

using System;
using System.Linq;
using Fallout.Common.Utilities;
Expand Down
5 changes: 0 additions & 5 deletions src/Fallout.Build/CICD/CustomFileWriter.cs
Original file line number Diff line number Diff line change
@@ -1,8 +1,3 @@
// Copyright 2026 Maintainers of Fallout.
// Originally based on NUKE by Matthias Koch and contributors.
// Distributed under the MIT License.
// https://github.com/ChrisonSimtian/Fallout/blob/main/LICENSE

using System;
using System.IO;
using System.Linq;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,3 @@
// Copyright 2026 Maintainers of Fallout.
// Originally based on NUKE by Matthias Koch and contributors.
// Distributed under the MIT License.
// https://github.com/ChrisonSimtian/Fallout/blob/main/LICENSE

using System;
using System.Collections.Generic;
using System.Linq;
Expand Down
7 changes: 1 addition & 6 deletions src/Fallout.Build/CICD/IBuildServer.cs
Original file line number Diff line number Diff line change
@@ -1,9 +1,4 @@
// Copyright 2026 Maintainers of Fallout.
// Originally based on NUKE by Matthias Koch and contributors.
// Distributed under the MIT License.
// https://github.com/ChrisonSimtian/Fallout/blob/main/LICENSE



namespace Fallout.Common.CI;

public interface IBuildServer
Expand Down
5 changes: 0 additions & 5 deletions src/Fallout.Build/CICD/IConfigurationGenerator.cs
Original file line number Diff line number Diff line change
@@ -1,8 +1,3 @@
// Copyright 2026 Maintainers of Fallout.
// Originally based on NUKE by Matthias Koch and contributors.
// Distributed under the MIT License.
// https://github.com/ChrisonSimtian/Fallout/blob/main/LICENSE

using System;
using System.Collections.Generic;
using System.Linq;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,4 @@
// Copyright 2026 Maintainers of Fallout.
// Originally based on NUKE by Matthias Koch and contributors.
// Distributed under the MIT License.
// https://github.com/ChrisonSimtian/Fallout/blob/main/LICENSE

using System;
using System;
using System.Collections.Generic;
using System.Linq;
using Fallout.Common.Execution;
Expand Down
7 changes: 1 addition & 6 deletions src/Fallout.Build/CICD/NoConvertAttribute.cs
Original file line number Diff line number Diff line change
@@ -1,9 +1,4 @@
// Copyright 2026 Maintainers of Fallout.
// Originally based on NUKE by Matthias Koch and contributors.
// Distributed under the MIT License.
// https://github.com/ChrisonSimtian/Fallout/blob/main/LICENSE

using System;
using System;
using System.Linq;

namespace Fallout.Common.CI;
Expand Down
5 changes: 0 additions & 5 deletions src/Fallout.Build/CICD/Partition.cs
Original file line number Diff line number Diff line change
@@ -1,8 +1,3 @@
// Copyright 2026 Maintainers of Fallout.
// Originally based on NUKE by Matthias Koch and contributors.
// Distributed under the MIT License.
// https://github.com/ChrisonSimtian/Fallout/blob/main/LICENSE

using System;
using System.Collections.Generic;
using System.ComponentModel;
Expand Down
5 changes: 0 additions & 5 deletions src/Fallout.Build/CICD/PartitionAttribute.cs
Original file line number Diff line number Diff line change
@@ -1,8 +1,3 @@
// Copyright 2026 Maintainers of Fallout.
// Originally based on NUKE by Matthias Koch and contributors.
// Distributed under the MIT License.
// https://github.com/ChrisonSimtian/Fallout/blob/main/LICENSE

using System;
using System.Linq;
using System.Reflection;
Expand Down
7 changes: 1 addition & 6 deletions src/Fallout.Build/ControlFlow.cs
Original file line number Diff line number Diff line change
@@ -1,9 +1,4 @@
// Copyright 2026 Maintainers of Fallout.
// Originally based on NUKE by Matthias Koch and contributors.
// Distributed under the MIT License.
// https://github.com/ChrisonSimtian/Fallout/blob/main/LICENSE

using System;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
Expand Down
5 changes: 0 additions & 5 deletions src/Fallout.Build/Execution/BuildExecutor.cs
Original file line number Diff line number Diff line change
@@ -1,8 +1,3 @@
// Copyright 2026 Maintainers of Fallout.
// Originally based on NUKE by Matthias Koch and contributors.
// Distributed under the MIT License.
// https://github.com/ChrisonSimtian/Fallout/blob/main/LICENSE

using System;
using System.Collections.Generic;
using System.IO;
Expand Down
Loading
Loading