Library and utility for processing cabal's plan.json file.
This package provides a library (see Cabal.Plan
) for decoding plan.json
files as well as the simple tool cabal-plan
for extracting and pretty printing the information contained in the plan.json
file.
plan.json
files are generated by cabal's Nix-style local builds and contain detailed information about the build/install plan computed by the cabal solver.
cabal-plan
utility
The cabal-plan
executable (enabled via the exe
cabal flag) provides various operations:
- info
Show basic report of dependency tree
- show
Dump
PlanJson
data-structure viaShow
instance- tred
Show dependency tree as a graph
- diff
Diff two install plans
- list-bins
List all binaries
- list-bin
List single binary (useful for scripting, e.g.
cabal list-bin exe:cabal-plan
)- fingerprint
Print SHA256 sums of dependencies' source tarballs and cabal files
- dot
Generate graph of dependencies in
.dot
format- topo
Print plan topologically sorted
- license-report
Generate license report for a component (only available when built with
license-report
flag enabled); see report example for cabal-plan (Pandoc rendered HTML)
See also "New things in Haskell package QA" Blogpost for a description of the topo
and dot
operations as well as how to enable tab-completion.