using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Newtonsoft.Json; using Wabbajack.Common; namespace Wabbajack.Lib.CompilationSteps { public class IgnoreWabbajackInstallCruft : ACompilationStep { private readonly HashSet _cruftFiles; public IgnoreWabbajackInstallCruft(ACompiler compiler) : base(compiler) { _cruftFiles = new HashSet { "7z.dll", "7z.exe", "vfs_staged_files\\", "nexus.key_cache", "patch_cache\\" }; } public override async ValueTask Run(RawSourceFile source) { if (!_cruftFiles.Any(f => source.Path.StartsWith(f))) return null; var result = source.EvolveTo(); result.Reason = "Wabbajack Cruft file"; return result; } } }