diff --git a/CHANGELOG.md b/CHANGELOG.md index 41ba0fcd..59936cca 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ ### Changelog +#### Version - 2.0.4.1 - 5/10/2020 +* Hotfix: don't throw a compilation exceptions when metas can't be inferred + #### Version - 2.0.4.0 - 5/9/2020 * Several visual improvements to the gallery thanks to the hard work of Khamûl * Rewrote most of the server-side code for better stability and performance diff --git a/Wabbajack.CLI/Wabbajack.CLI.csproj b/Wabbajack.CLI/Wabbajack.CLI.csproj index 2ee9a067..ae6ca940 100644 --- a/Wabbajack.CLI/Wabbajack.CLI.csproj +++ b/Wabbajack.CLI/Wabbajack.CLI.csproj @@ -6,8 +6,8 @@ wabbajack-cli Wabbajack x64 - 2.0.4.0 - 2.0.4.0 + 2.0.4.1 + 2.0.4.1 Copyright © 2019-2020 An automated ModList installer true diff --git a/Wabbajack.Common/Http/Client.cs b/Wabbajack.Common/Http/Client.cs index e4a7f8a7..5cddbb55 100644 --- a/Wabbajack.Common/Http/Client.cs +++ b/Wabbajack.Common/Http/Client.cs @@ -13,10 +13,10 @@ namespace Wabbajack.Common.Http { public List<(string, string?)> Headers = new List<(string, string?)>(); public List Cookies = new List(); - public async Task GetAsync(string url, HttpCompletionOption responseHeadersRead = HttpCompletionOption.ResponseHeadersRead) + public async Task GetAsync(string url, HttpCompletionOption responseHeadersRead = HttpCompletionOption.ResponseHeadersRead, bool errorsAsExceptions = true) { var request = new HttpRequestMessage(HttpMethod.Get, url); - return await SendAsync(request, responseHeadersRead); + return await SendAsync(request, responseHeadersRead, errorsAsExceptions: errorsAsExceptions); } @@ -63,7 +63,7 @@ namespace Wabbajack.Common.Http return await result.Content.ReadAsStringAsync(); } - public async Task SendAsync(HttpRequestMessage msg, HttpCompletionOption responseHeadersRead = HttpCompletionOption.ResponseHeadersRead) + public async Task SendAsync(HttpRequestMessage msg, HttpCompletionOption responseHeadersRead = HttpCompletionOption.ResponseHeadersRead, bool errorsAsExceptions = true) { foreach (var (k, v) in Headers) msg.Headers.Add(k, v); @@ -76,7 +76,9 @@ namespace Wabbajack.Common.Http var response = await ClientFactory.Client.SendAsync(msg, responseHeadersRead); if (response.IsSuccessStatusCode) return response; - throw new HttpRequestException($"Http Exception {response.StatusCode} - {response.ReasonPhrase} - {msg.RequestUri}");; + if (errorsAsExceptions) + throw new HttpRequestException($"Http Exception {response.StatusCode} - {response.ReasonPhrase} - {msg.RequestUri}");; + return response; } catch (Exception) { diff --git a/Wabbajack.Launcher/Wabbajack.Launcher.csproj b/Wabbajack.Launcher/Wabbajack.Launcher.csproj index 0b51b35c..58162f3c 100644 --- a/Wabbajack.Launcher/Wabbajack.Launcher.csproj +++ b/Wabbajack.Launcher/Wabbajack.Launcher.csproj @@ -4,8 +4,8 @@ WinExe netcoreapp3.1 true - 2.0.4.0 - 2.0.4.0 + 2.0.4.1 + 2.0.4.1 Copyright © 2019-2020 Wabbajack Application Launcher true diff --git a/Wabbajack.Lib/MO2Compiler.cs b/Wabbajack.Lib/MO2Compiler.cs index 9954d980..11b0352b 100644 --- a/Wabbajack.Lib/MO2Compiler.cs +++ b/Wabbajack.Lib/MO2Compiler.cs @@ -155,6 +155,7 @@ namespace Wabbajack.Lib if (cancel.IsCancellationRequested) return false; UpdateTracker.NextStep("Inferring metas for game file downloads"); await InferMetas(); + if (cancel.IsCancellationRequested) return false; UpdateTracker.NextStep("Reindexing downloads after meta inferring"); @@ -397,7 +398,7 @@ namespace Wabbajack.Lib var client = new Common.Http.Client(); using var response = await client.GetAsync( - $"http://build.wabbajack.org/indexed_files/{vf.Hash.ToHex()}/meta.ini"); + $"http://build.wabbajack.org/indexed_files/{vf.Hash.ToHex()}/meta.ini", errorsAsExceptions: false); if (!response.IsSuccessStatusCode) { diff --git a/Wabbajack.Server/Wabbajack.Server.csproj b/Wabbajack.Server/Wabbajack.Server.csproj index c48d21a3..cb89131f 100644 --- a/Wabbajack.Server/Wabbajack.Server.csproj +++ b/Wabbajack.Server/Wabbajack.Server.csproj @@ -3,8 +3,8 @@ Exe netcoreapp3.1 - 2.0.4.0 - 2.0.4.0 + 2.0.4.1 + 2.0.4.1 Copyright © 2019-2020 Wabbajack Server win-x64 diff --git a/Wabbajack.Test/SanityTests.cs b/Wabbajack.Test/SanityTests.cs index 46f5059f..b48bbb35 100644 --- a/Wabbajack.Test/SanityTests.cs +++ b/Wabbajack.Test/SanityTests.cs @@ -40,6 +40,26 @@ namespace Wabbajack.Test utils.VerifyInstalledFile(mod, @"Data\scripts\test.pex"); } + [Fact] + public async Task ExtraFilesInDownloadFolderDontStopCompilation() + { + + var profile = utils.AddProfile(); + var mod = utils.AddMod(); + var testPex = utils.AddModFile(mod, @"Data\scripts\test.pex", 10); + + await utils.Configure(); + + utils.AddManualDownload( + new Dictionary {{"/baz/biz.pex", await testPex.ReadAllBytesAsync()}}); + + await utils.DownloadsFolder.Combine("some_other_file.7z").WriteAllTextAsync("random data"); + + await CompileAndInstall(profile); + + utils.VerifyInstalledFile(mod, @"Data\scripts\test.pex"); + } + [Fact] public async Task TestDirectMatchFromGameFolder() { diff --git a/Wabbajack/Wabbajack.csproj b/Wabbajack/Wabbajack.csproj index d8f0120a..89af1e7b 100644 --- a/Wabbajack/Wabbajack.csproj +++ b/Wabbajack/Wabbajack.csproj @@ -6,8 +6,8 @@ true x64 win10-x64 - 2.0.4.0 - 2.0.4.0 + 2.0.4.1 + 2.0.4.1 Copyright © 2019-2020 An automated ModList installer true