Adopted further C# 14 and .NET 10 features (#1158)

This commit is contained in:
Thorsten Sommer authored and GitHub committed 2026-11-04 14:04:10 +01:00
1 parent f649febf88
commit f0fa1411c8
40 files changed
+545 -56

No files matched your search

@@ -17,9 +17,9 @@ public static class PluginArchive
// Compatibility shim for Windows-created ZIPs with backslashes in entry names (dotnet/runtime#27620);
// remove after dotnet/runtime#27620 and #41914 are fixed.
// See documentation/compatibility-shims/2026-07-plugin-archive-zip-backslashes.md.
public static void Extract(string sourceArchiveFileName, string destinationDirectory)
public static async Task ExtractAsync(string sourceArchiveFileName, string destinationDirectory, CancellationToken token = default)
{
using var archive = ZipFile.OpenRead(sourceArchiveFileName);
await using var archive = await ZipFile.OpenReadAsync(sourceArchiveFileName, token);
Directory.CreateDirectory(destinationDirectory);
foreach (var entry in archive.Entries)
@@ -37,7 +37,7 @@ public static class PluginArchive
}
Directory.CreateDirectory(Path.GetDirectoryName(destinationPath)!);
entry.ExtractToFile(destinationPath);
await entry.ExtractToFileAsync(destinationPath, token);
}
}
}
@@ -64,7 +64,7 @@ public static partial class PluginFactory
await response.Content.CopyToAsync(tempFileStream, cancellationToken);
}
ExtractConfigPluginArchive(tempDownloadFile, stagedDirectory);
await ExtractConfigPluginArchiveAsync(tempDownloadFile, stagedDirectory, cancellationToken);
var configDirectory = Path.Join(ENTERPRISE_CONFIGURATION_PLUGINS_ROOT, configPlugId.ToString());
if (Directory.Exists(configDirectory))
@@ -129,9 +129,9 @@ public static partial class PluginFactory
return wasSuccessful;
}
private static void ExtractConfigPluginArchive(string sourceArchiveFileName, string destinationDirectory)
private static async Task ExtractConfigPluginArchiveAsync(string sourceArchiveFileName, string destinationDirectory, CancellationToken token)
{
PluginArchive.Extract(sourceArchiveFileName, destinationDirectory);
await PluginArchive.ExtractAsync(sourceArchiveFileName, destinationDirectory, token);
if (!Directory.EnumerateFiles(destinationDirectory, "plugin.lua", SearchOption.AllDirectories).Any())
throw new InvalidDataException("The enterprise configuration plugin archive does not contain a plugin.lua file.");