From 199a8fc1d91370806ee3419aeac2feb207579f88 Mon Sep 17 00:00:00 2001 From: CWX Date: Tue, 15 Apr 2025 20:31:06 +0100 Subject: [PATCH] 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; - } -}