Safe Haskell | None |
---|---|
Language | GHC2021 |
Stack.DependencyGraph
Description
Module exporting a function to create a pruned dependency graph given a
DotOpts
value.
Synopsis
- createPrunedDependencyGraph :: DotOpts -> RIO Runner (Set PackageName, Map PackageName (Set PackageName, DotPayload))
- resolveDependencies :: (Applicative m, Monad m) => Maybe Int -> Map PackageName (Set PackageName, DotPayload) -> (PackageName -> m (Set PackageName, DotPayload)) -> m (Map PackageName (Set PackageName, DotPayload))
- pruneGraph :: (Foldable f, Foldable g, Eq a) => f PackageName -> g PackageName -> Map PackageName (Set PackageName, a) -> Map PackageName (Set PackageName, a)
Documentation
createPrunedDependencyGraph :: DotOpts -> RIO Runner (Set PackageName, Map PackageName (Set PackageName, DotPayload)) Source #
Create the dependency graph and also prune it as specified in the dot options. Returns a set of local names and a map from package names to dependencies.
resolveDependencies :: (Applicative m, Monad m) => Maybe Int -> Map PackageName (Set PackageName, DotPayload) -> (PackageName -> m (Set PackageName, DotPayload)) -> m (Map PackageName (Set PackageName, DotPayload)) Source #
Resolve the dependency graph up to (Just depth) or until fixpoint is reached
pruneGraph :: (Foldable f, Foldable g, Eq a) => f PackageName -> g PackageName -> Map PackageName (Set PackageName, a) -> Map PackageName (Set PackageName, a) Source #
pruneGraph dontPrune toPrune graph
prunes all packages in
graph
with a name in toPrune
and removes resulting orphans
unless they are in dontPrune