From b3a886169e9f8b2c4c708bb080ddf8baba4a94b3 Mon Sep 17 00:00:00 2001 From: Paul Hebble Date: Tue, 18 Apr 2023 10:53:50 -0500 Subject: [PATCH] Warnings for missing swinfo.json deps --- Netkan/Transformers/SpaceWarpInfoTransformer.cs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/Netkan/Transformers/SpaceWarpInfoTransformer.cs b/Netkan/Transformers/SpaceWarpInfoTransformer.cs index eb9f79bf10..a4658e535b 100644 --- a/Netkan/Transformers/SpaceWarpInfoTransformer.cs +++ b/Netkan/Transformers/SpaceWarpInfoTransformer.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Linq; using ICSharpCode.SharpZipLib.Zip; using log4net; @@ -10,6 +11,7 @@ using CKAN.NetKAN.Services; using CKAN.NetKAN.Extensions; using CKAN.NetKAN.Sources.Github; +using CKAN.Extensions; using CKAN.Versioning; using CKAN.Games; @@ -74,6 +76,17 @@ public IEnumerable Transform(Metadata metadata, TransformOptions opts) log.InfoFormat("Found compatibility: {0}–{1}", minVer, maxVer); ModuleService.ApplyVersions(json, null, minVer, maxVer); } + var moduleDeps = mod.depends.Select(r => (r as ModuleRelationshipDescriptor)?.name) + .Where(ident => ident != null) + .ToHashSet(); + var missingDeps = swinfo.dependencies.Select(dep => dep.id) + .Except(moduleDeps) + .ToList(); + if (missingDeps.Any()) + { + log.WarnFormat("Dependencies from swinfo.json missing from module: {0}", + string.Join(", ", missingDeps)); + } log.DebugFormat("Transformed metadata:{0}{1}", Environment.NewLine, json); yield return new Metadata(json);