mirror of
https://github.com/wabbajack-tools/wabbajack.git
synced 2024-08-30 18:42:17 +00:00
Compiler fixes
This commit is contained in:
parent
06bb04c89f
commit
550d744b07
@ -7,6 +7,7 @@ using System.Linq;
|
|||||||
using System.Threading;
|
using System.Threading;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using Microsoft.Extensions.Logging;
|
using Microsoft.Extensions.Logging;
|
||||||
|
using Wabbajack.Common;
|
||||||
using Wabbajack.Compiler;
|
using Wabbajack.Compiler;
|
||||||
using Wabbajack.Downloaders;
|
using Wabbajack.Downloaders;
|
||||||
using Wabbajack.Downloaders.GameFile;
|
using Wabbajack.Downloaders.GameFile;
|
||||||
@ -61,7 +62,7 @@ public class InstallCompileInstallVerify : IVerb
|
|||||||
foreach (var machineUrl in machineUrls)
|
foreach (var machineUrl in machineUrls)
|
||||||
{
|
{
|
||||||
_logger.LogInformation("Installing {MachineUrl}", machineUrl);
|
_logger.LogInformation("Installing {MachineUrl}", machineUrl);
|
||||||
var wabbajackPath = downloads.Combine(machineUrl.Replace("/", "_@@_"));
|
var wabbajackPath = downloads.Combine(machineUrl.Replace("/", "_@@_")).WithExtension(Ext.Wabbajack);
|
||||||
if (!await DownloadMachineUrl(machineUrl, wabbajackPath, token))
|
if (!await DownloadMachineUrl(machineUrl, wabbajackPath, token))
|
||||||
throw new Exception("Can't download modlist");
|
throw new Exception("Can't download modlist");
|
||||||
|
|
||||||
@ -86,6 +87,7 @@ public class InstallCompileInstallVerify : IVerb
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
_logger.LogInformation("Inferring settings");
|
_logger.LogInformation("Inferring settings");
|
||||||
var inferedSettings = await _inferencer.InferFromRootPath(installPath);
|
var inferedSettings = await _inferencer.InferFromRootPath(installPath);
|
||||||
if (inferedSettings == null)
|
if (inferedSettings == null)
|
||||||
|
@ -310,7 +310,7 @@ public abstract class ACompiler
|
|||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
_logger.LogCritical(e, $"Exception while checking meta {filename}");
|
_logger.LogCritical(e, $"Exception while checking meta {filename}");
|
||||||
return false;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -100,7 +100,7 @@ public class HttpDownloader : ADownloader<DTOs.DownloadStates.Http>, IUrlDownloa
|
|||||||
{
|
{
|
||||||
var msg = MakeMessage(state);
|
var msg = MakeMessage(state);
|
||||||
|
|
||||||
return await _client.SendAsync(msg, token);
|
return await _client.SendAsync(msg, HttpCompletionOption.ResponseHeadersRead, token);
|
||||||
}
|
}
|
||||||
|
|
||||||
internal static HttpRequestMessage MakeMessage(DTOs.DownloadStates.Http state)
|
internal static HttpRequestMessage MakeMessage(DTOs.DownloadStates.Http state)
|
||||||
|
@ -222,7 +222,8 @@ public class StandardInstaller : AInstaller<StandardInstaller>
|
|||||||
if (HashedArchives.TryGetValue(archive.Hash, out var paths))
|
if (HashedArchives.TryGetValue(archive.Hash, out var paths))
|
||||||
{
|
{
|
||||||
var metaPath = paths.WithExtension(Ext.Meta);
|
var metaPath = paths.WithExtension(Ext.Meta);
|
||||||
if (!metaPath.FileExists() && archive.State is not GameFileSource)
|
if (archive.State is GameFileSource) return;
|
||||||
|
if (!metaPath.FileExists())
|
||||||
{
|
{
|
||||||
var meta = AddInstalled(_downloadDispatcher.MetaIni(archive));
|
var meta = AddInstalled(_downloadDispatcher.MetaIni(archive));
|
||||||
await metaPath.WriteAllLinesAsync(meta, token);
|
await metaPath.WriteAllLinesAsync(meta, token);
|
||||||
@ -233,10 +234,12 @@ public class StandardInstaller : AInstaller<StandardInstaller>
|
|||||||
|
|
||||||
private IEnumerable<string> AddInstalled(IEnumerable<string> getMetaIni)
|
private IEnumerable<string> AddInstalled(IEnumerable<string> getMetaIni)
|
||||||
{
|
{
|
||||||
|
yield return "[General]";
|
||||||
|
yield return "installed=true";
|
||||||
|
|
||||||
foreach (var f in getMetaIni)
|
foreach (var f in getMetaIni)
|
||||||
{
|
{
|
||||||
yield return f;
|
yield return f;
|
||||||
if (f == "[General]") yield return "installed=true";
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -10,11 +10,12 @@ public enum PathFormat : byte
|
|||||||
Unix
|
Unix
|
||||||
}
|
}
|
||||||
|
|
||||||
public readonly struct AbsolutePath : IPath, IComparable<AbsolutePath>, IEquatable<AbsolutePath>
|
public struct AbsolutePath : IPath, IComparable<AbsolutePath>, IEquatable<AbsolutePath>
|
||||||
{
|
{
|
||||||
public static readonly AbsolutePath Empty = "".ToAbsolutePath();
|
public static readonly AbsolutePath Empty = "".ToAbsolutePath();
|
||||||
public PathFormat PathFormat { get; }
|
public PathFormat PathFormat { get; }
|
||||||
|
|
||||||
|
private int _hashCode = 0;
|
||||||
|
|
||||||
internal readonly string[] Parts;
|
internal readonly string[] Parts;
|
||||||
|
|
||||||
@ -93,8 +94,10 @@ public readonly struct AbsolutePath : IPath, IComparable<AbsolutePath>, IEquatab
|
|||||||
|
|
||||||
public override int GetHashCode()
|
public override int GetHashCode()
|
||||||
{
|
{
|
||||||
return Parts.Aggregate(0,
|
if (_hashCode != 0) return _hashCode;
|
||||||
|
_hashCode = Parts.Aggregate(0,
|
||||||
(current, part) => current ^ part.GetHashCode(StringComparison.CurrentCultureIgnoreCase));
|
(current, part) => current ^ part.GetHashCode(StringComparison.CurrentCultureIgnoreCase));
|
||||||
|
return _hashCode;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override bool Equals(object? obj)
|
public override bool Equals(object? obj)
|
||||||
|
@ -3,10 +3,12 @@ using System.Linq;
|
|||||||
|
|
||||||
namespace Wabbajack.Paths;
|
namespace Wabbajack.Paths;
|
||||||
|
|
||||||
public readonly struct RelativePath : IPath, IEquatable<RelativePath>, IComparable<RelativePath>
|
public struct RelativePath : IPath, IEquatable<RelativePath>, IComparable<RelativePath>
|
||||||
{
|
{
|
||||||
internal readonly string[] Parts;
|
internal readonly string[] Parts;
|
||||||
|
|
||||||
|
private int _hashCode = 0;
|
||||||
|
|
||||||
internal RelativePath(string[] parts)
|
internal RelativePath(string[] parts)
|
||||||
{
|
{
|
||||||
Parts = parts;
|
Parts = parts;
|
||||||
@ -79,8 +81,11 @@ public readonly struct RelativePath : IPath, IEquatable<RelativePath>, IComparab
|
|||||||
|
|
||||||
public override int GetHashCode()
|
public override int GetHashCode()
|
||||||
{
|
{
|
||||||
return Parts.Aggregate(0,
|
if (_hashCode != 0) return _hashCode;
|
||||||
|
|
||||||
|
_hashCode = Parts.Aggregate(0,
|
||||||
(current, part) => current ^ part.GetHashCode(StringComparison.CurrentCultureIgnoreCase));
|
(current, part) => current ^ part.GetHashCode(StringComparison.CurrentCultureIgnoreCase));
|
||||||
|
return _hashCode;
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool Equals(RelativePath other)
|
public bool Equals(RelativePath other)
|
||||||
|
Loading…
Reference in New Issue
Block a user