diff --git a/Wabbajack.Lib/ACompiler.cs b/Wabbajack.Lib/ACompiler.cs index 4e793b56..3b4954d6 100644 --- a/Wabbajack.Lib/ACompiler.cs +++ b/Wabbajack.Lib/ACompiler.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.IO; using System.IO.Compression; @@ -119,7 +119,7 @@ namespace Wabbajack.Lib return true; } - public void ExportModList() + public async Task ExportModList() { Utils.Log($"Exporting ModList to {ModListOutputFile}"); @@ -192,7 +192,7 @@ namespace Wabbajack.Lib Utils.Log("Removing ModList staging folder"); - Utils.DeleteDirectory(ModListOutputFolder); + await Utils.DeleteDirectory(ModListOutputFolder); } public void GenerateManifest() diff --git a/Wabbajack.Lib/MO2Compiler.cs b/Wabbajack.Lib/MO2Compiler.cs index f1307671..2963eeb0 100644 --- a/Wabbajack.Lib/MO2Compiler.cs +++ b/Wabbajack.Lib/MO2Compiler.cs @@ -314,7 +314,7 @@ namespace Wabbajack.Lib GenerateManifest(); UpdateTracker.NextStep("Exporting Modlist"); - ExportModList(); + await ExportModList(); ResetMembers(); diff --git a/Wabbajack.VirtualFileSystem/Context.cs b/Wabbajack.VirtualFileSystem/Context.cs index 5d6c8853..2d42769b 100644 --- a/Wabbajack.VirtualFileSystem/Context.cs +++ b/Wabbajack.VirtualFileSystem/Context.cs @@ -22,7 +22,7 @@ namespace Wabbajack.VirtualFileSystem static Context() { Utils.Log("Cleaning VFS, this may take a bit of time"); - Utils.DeleteDirectory(StagingFolder); + Utils.DeleteDirectory(StagingFolder).Wait(); } public const ulong FileVersion = 0x03; public const string Magic = "WABBAJACK VFS FILE"; @@ -360,7 +360,7 @@ namespace Wabbajack.VirtualFileSystem } } - public class TemporaryDirectory : IDisposable + public class TemporaryDirectory : IAsyncDisposable { public TemporaryDirectory(AbsolutePath name) { @@ -371,10 +371,10 @@ namespace Wabbajack.VirtualFileSystem public AbsolutePath FullName { get; } - public void Dispose() + public async ValueTask DisposeAsync() { - if (FullName.Exists) - Utils.DeleteDirectory(FullName); + if (FullName.Exists) + await Utils.DeleteDirectory(FullName); } } } diff --git a/Wabbajack.VirtualFileSystem/VirtualFile.cs b/Wabbajack.VirtualFileSystem/VirtualFile.cs index c7a2f1d4..cdf192ac 100644 --- a/Wabbajack.VirtualFileSystem/VirtualFile.cs +++ b/Wabbajack.VirtualFileSystem/VirtualFile.cs @@ -185,7 +185,7 @@ namespace Wabbajack.VirtualFileSystem if (FileExtractor.CanExtract(absPath)) { - using var tempFolder = Context.GetTemporaryFolder(); + await using var tempFolder = Context.GetTemporaryFolder(); await FileExtractor.ExtractAll(context.Queue, absPath, tempFolder.FullName); var list = await tempFolder.FullName.EnumerateFiles()