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
+