From 6b3e0fb72977c1ff9395ead5faa4278016854f74 Mon Sep 17 00:00:00 2001
From: Eoin Motherway <25342760+YuKitsune@users.noreply.github.com>
Date: Tue, 25 Aug 2026 14:33:35 +1000
Subject: [PATCH 1/2] ci: Migrate to Fallout
---
{.nuke => .fallout}/build.schema.json | 17 ++++++++++++-----
{.nuke => .fallout}/parameters.json | 0
.github/workflows/build.yml | 10 +++++-----
.github/workflows/release.yml | 10 +++++-----
.gitignore | 4 ++--
README.md | 1 +
build.ps1 | 2 +-
build.sh | 2 +-
{source/build => build}/.editorconfig | 0
{source/build => build}/Build.cs | 18 +++++++++---------
{source/build => build}/Configuration.cs | 2 +-
{source/build => build}/Directory.Build.props | 0
.../build => build}/Directory.Build.targets | 0
{source/build => build}/_build.csproj | 13 ++++++-------
.../build => build}/_build.csproj.DotSettings | 0
source/CPDLCPlugin.slnx | 2 +-
16 files changed, 44 insertions(+), 37 deletions(-)
rename {.nuke => .fallout}/build.schema.json (87%)
rename {.nuke => .fallout}/parameters.json (100%)
rename {source/build => build}/.editorconfig (100%)
rename {source/build => build}/Build.cs (98%)
rename {source/build => build}/Configuration.cs (93%)
rename {source/build => build}/Directory.Build.props (100%)
rename {source/build => build}/Directory.Build.targets (100%)
rename {source/build => build}/_build.csproj (51%)
rename {source/build => build}/_build.csproj.DotSettings (100%)
diff --git a/.nuke/build.schema.json b/.fallout/build.schema.json
similarity index 87%
rename from .nuke/build.schema.json
rename to .fallout/build.schema.json
index 77aee4a..a4dd618 100644
--- a/.nuke/build.schema.json
+++ b/.fallout/build.schema.json
@@ -50,7 +50,7 @@
"Quiet"
]
},
- "NukeBuild": {
+ "FalloutBuild": {
"properties": {
"Continue": {
"type": "boolean",
@@ -104,6 +104,13 @@
"Verbosity": {
"description": "Logging verbosity during build execution. Default is 'Normal'",
"$ref": "#/definitions/Verbosity"
+ },
+ "BuildProjectFile": {
+ "type": [
+ "null",
+ "string"
+ ],
+ "description": "Path to the build project (.csproj) relative to the repository root. Defaults to 'build/_build.csproj' when unset. Read by the Fallout global tool's in-tool runner."
}
}
}
@@ -113,16 +120,16 @@
"properties": {
"Configuration": {
"type": "string",
- "description": "Configuration to build - Default is 'Debug' (local) or 'Release' (server)",
"enum": [
"Debug",
"Release"
- ]
+ ],
+ "description": "Configuration to build - Default is 'Debug' (local) or 'Release' (server)"
},
"GitHubToken": {
"type": "string",
"description": "GitHub token for creating releases",
- "default": "Secrets must be entered via 'nuke :secrets [profile]'"
+ "default": "Secrets must be entered via 'fallout :secrets [profile]'"
},
"ProfileName": {
"type": "string"
@@ -138,7 +145,7 @@
}
},
{
- "$ref": "#/definitions/NukeBuild"
+ "$ref": "#/definitions/FalloutBuild"
}
]
}
diff --git a/.nuke/parameters.json b/.fallout/parameters.json
similarity index 100%
rename from .nuke/parameters.json
rename to .fallout/parameters.json
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index aad6c66..5404231 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -9,7 +9,7 @@
#
# - To trigger manual generation invoke:
#
-# nuke --generate-configuration GitHubActions_build --host GitHubActions
+# fallout --generate-configuration GitHubActions_build --host GitHubActions
#
#
# ------------------------------------------------------------------------------
@@ -29,14 +29,14 @@ jobs:
name: windows-latest
runs-on: windows-latest
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@v7
with:
fetch-depth: 0
- - name: 'Cache: .nuke/temp, ~/.nuget/packages'
- uses: actions/cache@v4
+ - name: 'Cache: .fallout/temp, ~/.nuget/packages'
+ uses: actions/cache@v6
with:
path: |
- .nuke/temp
+ .fallout/temp
~/.nuget/packages
key: ${{ runner.os }}-${{ hashFiles('**/global.json', '**/*.csproj', '**/Directory.Packages.props') }}
- name: 'Run: CompilePlugin, Test'
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index a3c803b..e866228 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -9,7 +9,7 @@
#
# - To trigger manual generation invoke:
#
-# nuke --generate-configuration GitHubActions_release --host GitHubActions
+# fallout --generate-configuration GitHubActions_release --host GitHubActions
#
#
# ------------------------------------------------------------------------------
@@ -29,14 +29,14 @@ jobs:
name: windows-latest
runs-on: windows-latest
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@v7
with:
fetch-depth: 0
- - name: 'Cache: .nuke/temp, ~/.nuget/packages'
- uses: actions/cache@v4
+ - name: 'Cache: .fallout/temp, ~/.nuget/packages'
+ uses: actions/cache@v6
with:
path: |
- .nuke/temp
+ .fallout/temp
~/.nuget/packages
key: ${{ runner.os }}-${{ hashFiles('**/global.json', '**/*.csproj', '**/Directory.Packages.props') }}
- name: 'Run: Release'
diff --git a/.gitignore b/.gitignore
index b07f59f..1719b69 100644
--- a/.gitignore
+++ b/.gitignore
@@ -133,8 +133,8 @@ $RECYCLE.BIN/
_NCrunch*
-# Nuke
-.nuke/temp
+# Fallout
+.fallout/temp
# Build output
.dist
diff --git a/README.md b/README.md
index 911a731..20f54a0 100644
--- a/README.md
+++ b/README.md
@@ -8,6 +8,7 @@
[](https://github.com/YuKitsune/CPDLCPlugin/actions/workflows/build.yml)
[](https://github.com/YuKitsune/CPDLCPlugin/blob/main/LICENSE)
[](https://github.com/YuKitsune/CPDLCPlugin/releases)
+ [](https://github.com/Fallout-build/Fallout)
diff --git a/build.ps1 b/build.ps1
index 5bc8b21..b86ab94 100644
--- a/build.ps1
+++ b/build.ps1
@@ -14,7 +14,7 @@ $PSScriptRoot = Split-Path $MyInvocation.MyCommand.Path -Parent
###########################################################################
$BuildProjectFile = "$PSScriptRoot\source\build\_build.csproj"
-$TempDirectory = "$PSScriptRoot\\.nuke\temp"
+$TempDirectory = "$PSScriptRoot\\.fallout\temp"
$DotNetGlobalFile = "$PSScriptRoot\\global.json"
$DotNetInstallUrl = "https://dot.net/v1/dotnet-install.ps1"
diff --git a/build.sh b/build.sh
index 38d6a59..35ad67a 100755
--- a/build.sh
+++ b/build.sh
@@ -10,7 +10,7 @@ SCRIPT_DIR=$(cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd)
###########################################################################
BUILD_PROJECT_FILE="$SCRIPT_DIR/source/build/_build.csproj"
-TEMP_DIRECTORY="$SCRIPT_DIR//.nuke/temp"
+TEMP_DIRECTORY="$SCRIPT_DIR//.fallout/temp"
DOTNET_GLOBAL_FILE="$SCRIPT_DIR//global.json"
DOTNET_INSTALL_URL="https://dot.net/v1/dotnet-install.sh"
diff --git a/source/build/.editorconfig b/build/.editorconfig
similarity index 100%
rename from source/build/.editorconfig
rename to build/.editorconfig
diff --git a/source/build/Build.cs b/build/Build.cs
similarity index 98%
rename from source/build/Build.cs
rename to build/Build.cs
index 248b328..d914a8a 100644
--- a/source/build/Build.cs
+++ b/build/Build.cs
@@ -4,14 +4,14 @@
using System.Linq;
using System.Net.Http;
using System.Runtime.Versioning;
-using Nuke.Common;
-using Nuke.Common.CI.GitHubActions;
-using Nuke.Common.Git;
-using Nuke.Common.IO;
-using Nuke.Common.Tools.DotNet;
-using Nuke.Common.Tools.GitHub;
-using Nuke.Common.Tools.GitVersion;
-using Nuke.Common.Tools.ILRepack;
+using Fallout.Common;
+using Fallout.Common.CI.GitHubActions;
+using Fallout.Common.Git;
+using Fallout.Common.IO;
+using Fallout.Common.Tools.DotNet;
+using Fallout.Common.Tools.GitHub;
+using Fallout.Common.Tools.GitVersion;
+using Fallout.Common.Tools.ILRepack;
using Octokit;
using Serilog;
@@ -34,7 +34,7 @@ namespace _build;
EnableGitHubToken = true,
FetchDepth = 0,
WritePermissions = [GitHubActionsPermissions.Contents])]
-class Build : NukeBuild
+class Build : FalloutBuild
{
/// Support plugins are available for:
/// - JetBrains ReSharper https://nuke.build/resharper
diff --git a/source/build/Configuration.cs b/build/Configuration.cs
similarity index 93%
rename from source/build/Configuration.cs
rename to build/Configuration.cs
index 64e786b..9039a92 100644
--- a/source/build/Configuration.cs
+++ b/build/Configuration.cs
@@ -1,5 +1,5 @@
using System.ComponentModel;
-using Nuke.Common.Tooling;
+using Fallout.Common.Tooling;
namespace _build;
diff --git a/source/build/Directory.Build.props b/build/Directory.Build.props
similarity index 100%
rename from source/build/Directory.Build.props
rename to build/Directory.Build.props
diff --git a/source/build/Directory.Build.targets b/build/Directory.Build.targets
similarity index 100%
rename from source/build/Directory.Build.targets
rename to build/Directory.Build.targets
diff --git a/source/build/_build.csproj b/build/_build.csproj
similarity index 51%
rename from source/build/_build.csproj
rename to build/_build.csproj
index 0cf098c..069e8b3 100644
--- a/source/build/_build.csproj
+++ b/build/_build.csproj
@@ -2,17 +2,16 @@
Exe
- net8.0
+ net10.0
CS0649;CS0169;CA1050;CA1822;CA2211;IDE1006
- ..
- ..
- 1
- false
+ ..
+ ..
+false
-
-
+
+
diff --git a/source/build/_build.csproj.DotSettings b/build/_build.csproj.DotSettings
similarity index 100%
rename from source/build/_build.csproj.DotSettings
rename to build/_build.csproj.DotSettings
diff --git a/source/CPDLCPlugin.slnx b/source/CPDLCPlugin.slnx
index 0a93235..941f5d3 100644
--- a/source/CPDLCPlugin.slnx
+++ b/source/CPDLCPlugin.slnx
@@ -3,7 +3,7 @@
-
+
From 62cf2580b847678ae3800610762ed82b2ad7c080 Mon Sep 17 00:00:00 2001
From: Eoin Motherway <25342760+YuKitsune@users.noreply.github.com>
Date: Tue, 25 Aug 2026 14:36:40 +1000
Subject: [PATCH 2/2] Fix scripts
---
build.ps1 | 2 +-
build.sh | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/build.ps1 b/build.ps1
index b86ab94..27eeef1 100644
--- a/build.ps1
+++ b/build.ps1
@@ -13,7 +13,7 @@ $PSScriptRoot = Split-Path $MyInvocation.MyCommand.Path -Parent
# CONFIGURATION
###########################################################################
-$BuildProjectFile = "$PSScriptRoot\source\build\_build.csproj"
+$BuildProjectFile = "$PSScriptRoot\build\_build.csproj"
$TempDirectory = "$PSScriptRoot\\.fallout\temp"
$DotNetGlobalFile = "$PSScriptRoot\\global.json"
diff --git a/build.sh b/build.sh
index 35ad67a..a3dad0d 100755
--- a/build.sh
+++ b/build.sh
@@ -9,7 +9,7 @@ SCRIPT_DIR=$(cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd)
# CONFIGURATION
###########################################################################
-BUILD_PROJECT_FILE="$SCRIPT_DIR/source/build/_build.csproj"
+BUILD_PROJECT_FILE="$SCRIPT_DIR/build/_build.csproj"
TEMP_DIRECTORY="$SCRIPT_DIR//.fallout/temp"
DOTNET_GLOBAL_FILE="$SCRIPT_DIR//global.json"