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] [Publish]

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

Versions 0.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.1.0, 0.6.2.0, 0.7.0.0, 0.7.1.0, 0.7.2.0, 0.7.2.1, 0.7.2.2, 0.7.2.3, 0.7.3.0, 0.7.4.0, 0.7.4.0, 0.7.5.0
Change log ChangeLog.md
Dependencies aeson (>=2.2.0.0 && <2.3), ansi-terminal (>=1.1 && <1.2), async (>=2.2.2 && <2.3), base (>=4.12.0.0 && <4.13 || >=4.13.0.0 && <4.14 || >=4.14.0.0 && <4.15 || >=4.15.0.0 && <4.16 || >=4.16.0.0 && <4.17 || >=4.17.0.0 && <4.18 || >=4.18.0.0 && <4.19 || >=4.19.0.0 && <4.20 || >=4.20.0.0 && <4.21), base16-bytestring (>=1.0.2.0 && <1.1), bytestring (>=0.10.8.2 && <0.11 || >=0.11.1.0 && <0.12 || >=0.12.0.0 && <0.13), cabal-plan, containers (>=0.6.0.1 && <0.8), directory (>=1.3.0.2 && <1.4), filepath (>=1.4.1.2 && <1.5 || >=1.5.2.0 && <1.6), mtl (>=2.2.2 && <2.3 || >=2.3.1 && <2.4), optics-core (>=0.4 && <0.5), optparse-applicative (>=0.18.1.0 && <0.19), parsec (>=3.1.13 && <3.2), process (>=1.6.1.0 && <1.7), semialign (>=1.3 && <1.4), singleton-bool (>=0.1.8 && <0.2), text (>=1.2.3.0 && <1.3 || >=2.0.1 && <2.2), these (>=1.2.1 && <1.3), topograph (>=1.0.0.2 && <1.1), transformers (>=0.5.6.2 && <0.6 || >=0.6.1.0 && <0.7), vector (>=0.13.0.0 && <0.14) [details]
License GPL-2.0-or-later[multiple license files]
Copyright 2016 Herbert Valerio Riedel
Author Herbert Valerio Riedel
Maintainer hvr@gnu.org
Category Development
Bug tracker https://github.com/hvr/cabal-plan/issues
Source repo head: git clone https://github.com/hvr/cabal-plan
Uploaded by phadej at 2025-01-13T20:39:14Z

Modules

Flags

Manual Flags

NameDescriptionDefault
license-report

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

Disabled
_

Enable underlining of primary unit-ids

Disabled
Automatic Flags
NameDescriptionDefault
exe

Enable exe:cabal-plan component

Enabled

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

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees