cabal-plan: Library and utility for processing cabal's plan.json file

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain]

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 via Show 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.

Properties

Versions0.1.0.0, 0.1.1.0, 0.2.0.0, 0.3.0.0, 0.4.0.0, 0.5.0.0, 0.6.0.0, 0.6.0.0, 0.6.1.0, 0.6.2.0
Change logChangeLog.md
Dependenciesaeson (>=1.2.0 && <1.3 || >=1.3.0 && <1.4 || >=1.4.0.0 && <1.5), ansi-terminal (>=0.9 && <0.11), base (>=4.6 && <4.14), base-compat (>=0.10.5 && <0.12), base16-bytestring (>=0.1.1 && <0.2), bytestring (>=0.10.0 && <0.11), cabal-plan, containers (>=0.5.0 && <0.6 || >=0.6.0.1 && <0.7), directory (>=1.2.0 && <1.3 || >=1.3.0 && <1.4), filepath (>=1.3.0 && <1.4 || >=1.4.0 && <1.5), lens (>=4.17 && <4.19), mtl (>=2.2.1 && <2.3), optparse-applicative (>=0.15.0.0 && <0.16), parsec (>=3.1.11 && <3.2), semialign (>=1 && <1.1), semigroups (>=0.18.3 && <0.20), singleton-bool (>=0.1.4 && <0.2), text (>=1.2.2 && <1.3), these (>=1 && <1.1), topograph (>=1 && <1.1), transformers (>=0.3.0.0 && <0.4 || >=0.4.2.0 && <0.5 || >=0.5.2.0 && <0.6), vector (>=0.12.0.1 && <0.13) [details]
LicenseGPL-2.0-or-later[multiple license files]
Copyright2016 Herbert Valerio Riedel
AuthorHerbert Valerio Riedel
Maintainerhvr@gnu.org
CategoryDevelopment
Bug trackerhttps://github.com/hvr/cabal-plan/issues
Source repositoryhead: git clone https://github.com/hvr/cabal-plan
Executablescabal-plan
UploadedMon Sep 16 07:00:25 UTC 2019 by phadej

Modules

[Index]

Flags

NameDescriptionDefaultType
exe

Enable exe:cabal-plan component

EnabledAutomatic
license-report

Enable license-report sub-command (only relevant when the exe flag is active)

DisabledManual
_

Enable underlining of primary unit-ids

DisabledManual

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainers' corner

For package maintainers and hackage trustees