From 199a8fc1d91370806ee3419aeac2feb207579f88 Mon Sep 17 00:00:00 2001 From: CWX Date: Tue, 15 Apr 2025 20:31:06 +0100 Subject: [PATCH 1/3] added a partial class gen this will take csproj properties and set them, this will allow us to use publish -p:{parameter=value} for building the server --- .../Callbacks/ClientLogCallbacks.cs | 1 + .../Models/Enums/EntryType.cs | 10 +++ .../SPTarkov.Server.Core.csproj | 38 ++++++++-- .../Utils/ProgramStatics.cs | 69 ++++--------------- 4 files changed, 57 insertions(+), 61 deletions(-) create mode 100644 Libraries/SPTarkov.Server.Core/Models/Enums/EntryType.cs diff --git a/Libraries/SPTarkov.Server.Core/Callbacks/ClientLogCallbacks.cs b/Libraries/SPTarkov.Server.Core/Callbacks/ClientLogCallbacks.cs index fd57bef7..46f3ee8e 100644 --- a/Libraries/SPTarkov.Server.Core/Callbacks/ClientLogCallbacks.cs +++ b/Libraries/SPTarkov.Server.Core/Callbacks/ClientLogCallbacks.cs @@ -6,6 +6,7 @@ using SPTarkov.Server.Core.Services; using SPTarkov.Server.Core.Utils; using SPTarkov.Server; using SPTarkov.Common.Annotations; +using SPTarkov.Server.Core.Models.Enums; namespace SPTarkov.Server.Core.Callbacks; diff --git a/Libraries/SPTarkov.Server.Core/Models/Enums/EntryType.cs b/Libraries/SPTarkov.Server.Core/Models/Enums/EntryType.cs new file mode 100644 index 00000000..da7a8b5d --- /dev/null +++ b/Libraries/SPTarkov.Server.Core/Models/Enums/EntryType.cs @@ -0,0 +1,10 @@ +namespace SPTarkov.Server.Core.Models.Enums; + +public enum EntryType +{ + LOCAL, + DEBUG, + RELEASE, + BLEEDING_EDGE, + BLEEDING_EDGE_MODS +} diff --git a/Libraries/SPTarkov.Server.Core/SPTarkov.Server.Core.csproj b/Libraries/SPTarkov.Server.Core/SPTarkov.Server.Core.csproj index 6bd98b24..5b356497 100644 --- a/Libraries/SPTarkov.Server.Core/SPTarkov.Server.Core.csproj +++ b/Libraries/SPTarkov.Server.Core/SPTarkov.Server.Core.csproj @@ -1,6 +1,6 @@ - + SPTarkov.Server.Core @@ -16,16 +16,46 @@ - + - - + + + + + + 0.0.0 + a12b34 + 0000000000 + LOCAL + + + + + + + + + diff --git a/Libraries/SPTarkov.Server.Core/Utils/ProgramStatics.cs b/Libraries/SPTarkov.Server.Core/Utils/ProgramStatics.cs index 6f105352..ac87d3b7 100644 --- a/Libraries/SPTarkov.Server.Core/Utils/ProgramStatics.cs +++ b/Libraries/SPTarkov.Server.Core/Utils/ProgramStatics.cs @@ -1,23 +1,21 @@ +using SPTarkov.Server.Core.Models.Enums; + namespace SPTarkov.Server.Core.Utils; -public static class ProgramStatics +public static partial class ProgramStatics { - private static EntryType _entryType; - private static bool _debug; private static bool _compiled; private static bool _mods; - private static string? _sptVersion; - private static string? _commit; - private static double? _buildTime; - - private static BuildInfo buildInfo; // TODO get from buildinfo.json - public static void Initialize() { - buildInfo = new BuildInfo(); - _entryType = buildInfo.entryType.GetValueOrDefault(EntryType.LOCAL); + var _entryType = ProgramStatics.BuildType ?? EntryType.LOCAL; + + Console.WriteLine($"Entry type: {_entryType}"); + Console.WriteLine($"SPT Version: {_sptVersion}"); + Console.WriteLine($"Commit: {_commit}"); + Console.WriteLine($"Build time: {_buildTime}"); switch (_entryType) { @@ -38,7 +36,7 @@ public static class ProgramStatics _mods = true; break; case EntryType.LOCAL: - default: // EntryType.LOCAL + default: _debug = true; _compiled = false; _mods = true; @@ -47,9 +45,9 @@ public static class ProgramStatics } // Public Static Getters - public static EntryType ENTRY_TYPE() + public static EntryType? ENTRY_TYPE() { - return _entryType; + return BuildType; } public static bool DEBUG() @@ -82,46 +80,3 @@ public static class ProgramStatics return _buildTime; } } - -public enum EntryType -{ - LOCAL, - DEBUG, - RELEASE, - BLEEDING_EDGE, - BLEEDING_EDGE_MODS -} - -public class BuildInfo -{ - public BuildInfo() - { - sptVersion = ""; - commit = ""; - buildTime = 0; - } - - public EntryType? entryType - { - get; - set; - } - - public string? sptVersion - { - get; - set; - } - - public string? commit - { - get; - set; - } - - public double? buildTime - { - get; - set; - } -} From d9100412a7d787b332e49c6866e65528b9e22bea Mon Sep 17 00:00:00 2001 From: CWX Date: Tue, 15 Apr 2025 20:59:41 +0100 Subject: [PATCH 2/3] remove logging, add generated side, this will be overritten with each build, supplied to stop warnings --- .../Utils/ProgramStatics.Generated.cs | 11 +++++++++++ .../SPTarkov.Server.Core/Utils/ProgramStatics.cs | 5 ----- 2 files changed, 11 insertions(+), 5 deletions(-) create mode 100644 Libraries/SPTarkov.Server.Core/Utils/ProgramStatics.Generated.cs diff --git a/Libraries/SPTarkov.Server.Core/Utils/ProgramStatics.Generated.cs b/Libraries/SPTarkov.Server.Core/Utils/ProgramStatics.Generated.cs new file mode 100644 index 00000000..98ff633d --- /dev/null +++ b/Libraries/SPTarkov.Server.Core/Utils/ProgramStatics.Generated.cs @@ -0,0 +1,11 @@ +using SPTarkov.Server.Core.Models.Enums; + +namespace SPTarkov.Server.Core.Utils; + +public static partial class ProgramStatics +{ + public static string? _sptVersion = "0.0.0"; + public static string? _commit = "a12b34"; + public static double? _buildTime = 0000000000; + public static EntryType? BuildType = EntryType.LOCAL; +} diff --git a/Libraries/SPTarkov.Server.Core/Utils/ProgramStatics.cs b/Libraries/SPTarkov.Server.Core/Utils/ProgramStatics.cs index ac87d3b7..cbb02968 100644 --- a/Libraries/SPTarkov.Server.Core/Utils/ProgramStatics.cs +++ b/Libraries/SPTarkov.Server.Core/Utils/ProgramStatics.cs @@ -12,11 +12,6 @@ public static partial class ProgramStatics { var _entryType = ProgramStatics.BuildType ?? EntryType.LOCAL; - Console.WriteLine($"Entry type: {_entryType}"); - Console.WriteLine($"SPT Version: {_sptVersion}"); - Console.WriteLine($"Commit: {_commit}"); - Console.WriteLine($"Build time: {_buildTime}"); - switch (_entryType) { case EntryType.RELEASE: From edebe3fb66c91fc3693f85e4452eab6a0af1ac3e Mon Sep 17 00:00:00 2001 From: CWX Date: Wed, 16 Apr 2025 10:59:43 +0100 Subject: [PATCH 3/3] make static props private --- .../SPTarkov.Server.Core/SPTarkov.Server.Core.csproj | 8 ++++---- .../Utils/ProgramStatics.Generated.cs | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Libraries/SPTarkov.Server.Core/SPTarkov.Server.Core.csproj b/Libraries/SPTarkov.Server.Core/SPTarkov.Server.Core.csproj index 5b356497..b956c25c 100644 --- a/Libraries/SPTarkov.Server.Core/SPTarkov.Server.Core.csproj +++ b/Libraries/SPTarkov.Server.Core/SPTarkov.Server.Core.csproj @@ -47,10 +47,10 @@ namespace SPTarkov.Server.Core.Utils%3B public static partial class ProgramStatics { - public static string? _sptVersion = "$(SptVersion)"%3B - public static string? _commit = "$(SptCommit)"%3B - public static double? _buildTime = $(SptBuildTime)%3B - public static EntryType? BuildType = EntryType.$(SptBuildType)%3B + private static string? _sptVersion = "$(SptVersion)"%3B + private static string? _commit = "$(SptCommit)"%3B + private static double? _buildTime = $(SptBuildTime)%3B + private static EntryType? BuildType = EntryType.$(SptBuildType)%3B } " Overwrite="true"/> diff --git a/Libraries/SPTarkov.Server.Core/Utils/ProgramStatics.Generated.cs b/Libraries/SPTarkov.Server.Core/Utils/ProgramStatics.Generated.cs index 98ff633d..bb7e3cee 100644 --- a/Libraries/SPTarkov.Server.Core/Utils/ProgramStatics.Generated.cs +++ b/Libraries/SPTarkov.Server.Core/Utils/ProgramStatics.Generated.cs @@ -4,8 +4,8 @@ namespace SPTarkov.Server.Core.Utils; public static partial class ProgramStatics { - public static string? _sptVersion = "0.0.0"; - public static string? _commit = "a12b34"; - public static double? _buildTime = 0000000000; - public static EntryType? BuildType = EntryType.LOCAL; + private static string? _sptVersion = "0.0.0"; + private static string? _commit = "a12b34"; + private static double? _buildTime = 0000000000; + private static EntryType? BuildType = EntryType.LOCAL; }