/// <summary> /// Fills in the Patch fields in files that require them /// </summary> private void BuildPatches() { var groups = InstallDirectives.OfType <PatchedFromArchive>() .GroupBy(p => p.ArchiveHash) .ToList(); Info("Patching building patches from {0} archives", groups.Count); var absolute_paths = AllFiles.ToDictionary(e => e.Path, e => e.AbsolutePath); groups.PMap(group => BuildArchivePatches(group.Key, group, absolute_paths)); if (InstallDirectives.OfType <PatchedFromArchive>().FirstOrDefault(f => f.Patch == null) != null) { Error("Missing patches after generation, this should not happen"); } }