From e63812204d34935eec821c782707ab93f52a5337 Mon Sep 17 00:00:00 2001 From: Guilherme Werner Date: Mon, 2 Jun 2025 10:06:03 -0300 Subject: [PATCH] Rename Tribufu.Runtime to Tribufu.Platform --- Tribufu.sln | 2 +- .../ConfigurationLoader.cs | 4 +- .../Tribufu.Configuration.csproj | 4 +- src/Tribufu.Database/Tribufu.Database.csproj | 2 +- .../Paths.cs} | 95 ++++--------------- .../README.md | 0 .../Tribufu.Platform.csproj} | 5 +- 7 files changed, 26 insertions(+), 86 deletions(-) rename src/{Tribufu.Runtime/ApplicationContext.cs => Tribufu.Platform/Paths.cs} (55%) rename src/{Tribufu.Runtime => Tribufu.Platform}/README.md (100%) rename src/{Tribufu.Runtime/Tribufu.Runtime.csproj => Tribufu.Platform/Tribufu.Platform.csproj} (77%) diff --git a/Tribufu.sln b/Tribufu.sln index fd461d5..54314cd 100644 --- a/Tribufu.sln +++ b/Tribufu.sln @@ -11,7 +11,7 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tribufu.Logging", "src\Trib EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tribufu.Configuration", "src\Tribufu.Configuration\Tribufu.Configuration.csproj", "{C0A841C8-9FC5-4AC0-B9AD-6BBFCEDCBE5F}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tribufu.Runtime", "src\Tribufu.Runtime\Tribufu.Runtime.csproj", "{26EEB407-733C-4383-9211-B083CD5F593B}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tribufu.Platform", "src\Tribufu.Platform\Tribufu.Platform.csproj", "{26EEB407-733C-4383-9211-B083CD5F593B}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tribufu.Database", "src\Tribufu.Database\Tribufu.Database.csproj", "{E7F9A76F-C087-410B-B4B5-A928A6CDC2BA}" EndProject diff --git a/src/Tribufu.Configuration/ConfigurationLoader.cs b/src/Tribufu.Configuration/ConfigurationLoader.cs index 0e42d8c..6d07f87 100644 --- a/src/Tribufu.Configuration/ConfigurationLoader.cs +++ b/src/Tribufu.Configuration/ConfigurationLoader.cs @@ -5,7 +5,7 @@ using Microsoft.Extensions.Configuration; using System.IO; using Tomlyn.Extensions.Configuration; using Tribufu.Logging; -using Tribufu.Runtime; +using Tribufu.Platform; namespace Tribufu.Configuration { @@ -15,7 +15,7 @@ namespace Tribufu.Configuration public static IConfiguration Load(string[] fileNames) { - var configDirectory = ApplicationContext.GetConfigDirectory(); + var configDirectory = Paths.GetApplicationConfigDirectory(); var configurationBuilder = new ConfigurationBuilder(); configurationBuilder.AddEnvironmentVariables(); diff --git a/src/Tribufu.Configuration/Tribufu.Configuration.csproj b/src/Tribufu.Configuration/Tribufu.Configuration.csproj index 1993547..5cc4ef1 100644 --- a/src/Tribufu.Configuration/Tribufu.Configuration.csproj +++ b/src/Tribufu.Configuration/Tribufu.Configuration.csproj @@ -9,7 +9,7 @@ true false Library - netstandard2.0;net6.0 + net6.0 @@ -26,6 +26,6 @@ - + diff --git a/src/Tribufu.Database/Tribufu.Database.csproj b/src/Tribufu.Database/Tribufu.Database.csproj index 7b1c10f..03a7813 100644 --- a/src/Tribufu.Database/Tribufu.Database.csproj +++ b/src/Tribufu.Database/Tribufu.Database.csproj @@ -21,6 +21,6 @@ - + diff --git a/src/Tribufu.Runtime/ApplicationContext.cs b/src/Tribufu.Platform/Paths.cs similarity index 55% rename from src/Tribufu.Runtime/ApplicationContext.cs rename to src/Tribufu.Platform/Paths.cs index ef26266..0d67e7b 100644 --- a/src/Tribufu.Runtime/ApplicationContext.cs +++ b/src/Tribufu.Platform/Paths.cs @@ -6,13 +6,13 @@ using System.IO; using System.Runtime.InteropServices; using Tribufu.Logging; -namespace Tribufu.Runtime +namespace Tribufu.Platform { /// - /// Provides standardized access to important application directories, such as config, saved data, logs, and platform-specific binaries. + /// Provides standardized access to important directories, such as config, saved data, logs, and platform-specific binaries. /// This is especially useful for abstracting file path logic across environments (development, production, etc). /// - public static class ApplicationContext + public static class Paths { /// /// Gets the root base directory of the application. @@ -23,7 +23,7 @@ namespace Tribufu.Runtime /// - It uses case-insensitive checks and runtime heuristics to improve accuracy. /// /// The absolute path to the base directory. - public static string GetBaseDirectory() + public static string GetApplicationDirectory() { try { @@ -46,7 +46,7 @@ namespace Tribufu.Runtime } catch (Exception ex) { - Logger.Warn($"(ApplicationContext) Failed to resolve base directory: {ex.Message}"); + Logger.Warn($"(Paths) Failed to resolve base directory: {ex.Message}"); return AppContext.BaseDirectory; } } @@ -58,22 +58,10 @@ namespace Tribufu.Runtime /// The absolute path to bin/<runtime-identifier> if available, /// otherwise falls back to bin/dotnet. /// - public static string GetBinDirectory() + public static string GetApplicationBinDirectory() { - var binDirectory = Path.Combine(GetBaseDirectory(), "bin"); + var binDirectory = Path.Combine(GetApplicationDirectory(), "bin"); -#if NETSTANDARD - var runtimeIdentifier = GetRuntimeIdentifierLegacy(); - - if (!string.IsNullOrEmpty(runtimeIdentifier)) - { - binDirectory = Path.Combine(binDirectory, runtimeIdentifier); - } - else - { - binDirectory = Path.Combine(binDirectory, "dotnet"); - } -#else if (!string.IsNullOrEmpty(RuntimeInformation.RuntimeIdentifier)) { binDirectory = Path.Combine(binDirectory, RuntimeInformation.RuntimeIdentifier); @@ -82,102 +70,53 @@ namespace Tribufu.Runtime { binDirectory = Path.Combine(binDirectory, "dotnet"); } -#endif return binDirectory; } - private static string GetRuntimeIdentifierLegacy() - { - string osPart; - PlatformID platform = Environment.OSVersion.Platform; - - switch (platform) - { - case PlatformID.Win32NT: - osPart = "win"; - break; - case PlatformID.Unix: - if (IsMacOS()) - osPart = "osx"; - else - osPart = "linux"; - break; - case PlatformID.MacOSX: - osPart = "osx"; - break; - default: - osPart = "unknown"; - break; - } - - var archPart = Environment.Is64BitProcess ? "x64" : "x86"; - if (osPart == "unknown") - { - return null; - } - - return $"{osPart}-{archPart}"; - } - - private static bool IsMacOS() - { - if (Environment.OSVersion.Platform == PlatformID.Unix) - { - Version version = Environment.OSVersion.Version; - - if (version.Major >= 19) - { - return true; - } - } - - return false; - } - /// /// Gets the path to the configuration directory. /// /// The absolute path to the config directory. - public static string GetConfigDirectory() + public static string GetApplicationConfigDirectory() { - return Path.Combine(GetBaseDirectory(), "config"); + return Path.Combine(GetApplicationDirectory(), "config"); } /// /// Gets the path to the assets directory. /// /// The absolute path to the assets directory. - public static string GetAssetsDirectory() + public static string GetApplicationAssetsDirectory() { - return Path.Combine(GetBaseDirectory(), "assets"); + return Path.Combine(GetApplicationDirectory(), "assets"); } /// /// Gets the path to the saved data directory. /// /// The absolute path to the saved directory. - public static string GetSavedDirectory() + public static string GetApplicationSavedDirectory() { - return Path.Combine(GetBaseDirectory(), "saved"); + return Path.Combine(GetApplicationDirectory(), "saved"); } /// /// Gets the path to the cache directory inside saved. /// /// The absolute path to the saved/cache directory. - public static string GetCacheDirectory() + public static string GetApplicationCacheDirectory() { - return Path.Combine(GetSavedDirectory(), "cache"); + return Path.Combine(GetApplicationSavedDirectory(), "cache"); } /// /// Gets the path to the logs directory inside saved. /// /// The absolute path to the saved/logs directory. - public static string GetLogsDirectory() + public static string GetApplicationLogsDirectory() { - return Path.Combine(GetSavedDirectory(), "logs"); + return Path.Combine(GetApplicationSavedDirectory(), "logs"); } } } diff --git a/src/Tribufu.Runtime/README.md b/src/Tribufu.Platform/README.md similarity index 100% rename from src/Tribufu.Runtime/README.md rename to src/Tribufu.Platform/README.md diff --git a/src/Tribufu.Runtime/Tribufu.Runtime.csproj b/src/Tribufu.Platform/Tribufu.Platform.csproj similarity index 77% rename from src/Tribufu.Runtime/Tribufu.Runtime.csproj rename to src/Tribufu.Platform/Tribufu.Platform.csproj index c18d2f7..411ba32 100644 --- a/src/Tribufu.Runtime/Tribufu.Runtime.csproj +++ b/src/Tribufu.Platform/Tribufu.Platform.csproj @@ -1,6 +1,6 @@  - Tribufu.Runtime + Tribufu.Platform Tribufu Runtime Extensions README.md @@ -9,12 +9,13 @@ true false Library - netstandard2.0;net5.0 + net5.0 +