Refactored RIDs & .NET version

This commit is contained in:
Thorsten Sommer 2025-04-14 11:33:17 +02:00
parent e161164e21
commit 437a431350
Signed by: tsommer
GPG Key ID: 371BBA77A02C0108

View File

@ -7,7 +7,7 @@ public static class Environment
public const string DOTNET_VERSION = "net9.0"; public const string DOTNET_VERSION = "net9.0";
public static readonly Encoding UTF8_NO_BOM = new UTF8Encoding(false); public static readonly Encoding UTF8_NO_BOM = new UTF8Encoding(false);
private static readonly string[] ALL_RIDS = ["win-x64", "win-arm64", "linux-x64", "linux-arm64", "osx-arm64", "osx-x64"]; private static readonly Dictionary<RID, string> ALL_RIDS = Enum.GetValues<RID>().Select(rid => new KeyValuePair<RID, string>(rid, rid.ToName())).ToDictionary(kvp => kvp.Key, kvp => kvp.Value);
public static bool IsWorkingDirectoryValid() public static bool IsWorkingDirectoryValid()
{ {
@ -60,16 +60,16 @@ public static class Environment
return null; return null;
} }
public static IEnumerable<string> GetRidsForCurrentOS() public static IEnumerable<RID> GetRidsForCurrentOS()
{ {
if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
return ALL_RIDS.Where(rid => rid.StartsWith("win-", StringComparison.OrdinalIgnoreCase)); return ALL_RIDS.Where(rid => rid.Value.StartsWith("win-", StringComparison.Ordinal)).Select(n => n.Key);
if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX)) if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX))
return ALL_RIDS.Where(rid => rid.StartsWith("osx-", StringComparison.OrdinalIgnoreCase)); return ALL_RIDS.Where(rid => rid.Value.StartsWith("osx-", StringComparison.Ordinal)).Select(n => n.Key);
if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux)) if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux))
return ALL_RIDS.Where(rid => rid.StartsWith("linux-", StringComparison.OrdinalIgnoreCase)); return ALL_RIDS.Where(rid => rid.Value.StartsWith("linux-", StringComparison.Ordinal)).Select(n => n.Key);
Console.WriteLine($"Error: Unsupported OS '{RuntimeInformation.OSDescription}'"); Console.WriteLine($"Error: Unsupported OS '{RuntimeInformation.OSDescription}'");
return []; return [];