| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Stack.Dot
- dot :: HasEnvConfig env => DotOpts -> RIO env ()
- listDependencies :: HasEnvConfig env => ListDepsOpts -> RIO env ()
- data DotOpts = DotOpts {
- dotIncludeExternal :: !Bool
- dotIncludeBase :: !Bool
- dotDependencyDepth :: !(Maybe Int)
- dotPrune :: !(Set String)
- dotTargets :: [Text]
- dotFlags :: !(Map (Maybe PackageName) (Map FlagName Bool))
- dotTestTargets :: Bool
- dotBenchTargets :: Bool
- data DotPayload = DotPayload {}
- data ListDepsOpts = ListDepsOpts {
- listDepsDotOpts :: !DotOpts
- listDepsSep :: !Text
- listDepsLicense :: !Bool
- resolveDependencies :: (Applicative m, Monad m) => Maybe Int -> Map PackageName (Set PackageName, DotPayload) -> (PackageName -> m (Set PackageName, DotPayload)) -> m (Map PackageName (Set PackageName, DotPayload))
- printGraph :: (Applicative m, MonadIO m) => DotOpts -> Set PackageName -> Map PackageName (Set PackageName, DotPayload) -> m ()
- pruneGraph :: (Foldable f, Foldable g, Eq a) => f PackageName -> g String -> Map PackageName (Set PackageName, a) -> Map PackageName (Set PackageName, a)
Documentation
dot :: HasEnvConfig env => DotOpts -> RIO env () Source #
Visualize the project's dependencies as a graphviz graph
listDependencies :: HasEnvConfig env => ListDepsOpts -> RIO env () Source #
Options record for stack dot
Constructors
| DotOpts | |
Fields
| |
data DotPayload Source #
Information about a package in the dependency graph, when available.
Constructors
| DotPayload | |
Fields
| |
Instances
data ListDepsOpts Source #
Constructors
| ListDepsOpts | |
Fields
| |
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
Arguments
| :: (Applicative m, MonadIO m) | |
| => DotOpts | |
| -> Set PackageName | all locals |
| -> Map PackageName (Set PackageName, DotPayload) | |
| -> m () |
Print a graphviz graph of the edges in the Map and highlight the given local packages
pruneGraph :: (Foldable f, Foldable g, Eq a) => f PackageName -> g String -> 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