simpleTranslate2: ignore irrelevant dependency objects

This commit is contained in:
DavHau 2022-05-31 11:39:54 +02:00
parent 965d1b1a31
commit c7c59c8353

View File

@ -94,7 +94,15 @@
;
};
allDependencies =
/*
format:
{
foo = {
"1.0.0" = finalObj
}
}
*/
makeDependencies = finalObjects:
l.foldl'
(result: finalObj:
lib.recursiveUpdate
@ -107,6 +115,31 @@
{}
finalObjects;
allDependencies = makeDependencies finalObjects;
exportedFinalObjects =
l.filter
(finalObj:
exportedPackages.${finalObj.name} or null == finalObj.version)
finalObjects;
relevantFinalObjects = l.genericClosure {
startSet =
l.map
(finalObj:
finalObj
// {key = "${finalObj.name}#${finalObj.version}";})
exportedFinalObjects;
operator = finalObj:
l.map
(c:
allDependencies.${c.name}.${c.version}
// {key = "${c.name}#${c.version}";})
finalObj.dependencies;
};
relevantDependencies = makeDependencies relevantFinalObjects;
sources =
l.mapAttrs
(name: versions: let
@ -122,7 +155,7 @@
l.mapAttrs
(version: finalObj: finalObj.sourceSpec)
filteredObjects)
allDependencies;
relevantDependencies;
dependencyGraph = let
depGraph =
@ -131,7 +164,7 @@
lib.mapAttrs
(version: finalObj: finalObj.dependencies)
versions)
allDependencies;
relevantDependencies;
in
# add extraDependencies to dependency graph
l.foldl'