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

[ development, gpl, library ] [ Propose Tags ]

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.

Modules

[Index] [Quick Jump]

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

Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 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
Change log ChangeLog.md
Dependencies aeson (>=2.0.0.0 && <2.1 || >=2.1.0.0 && <2.2 || >=2.2.0.0 && <2.3), ansi-terminal (>=0.11 && <0.12 || >=1.0 && <1.2), async (>=2.2.2 && <2.3), base (>=4.10.0.0 && <4.11 || >=4.11.0.0 && <4.12 || >=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), base-compat (>=0.13.0 && <0.14), base16-bytestring (>=1.0.0.0 && <1.1), bytestring (>=0.10.8.0 && <0.11 || >=0.11.1.0 && <0.12 || >=0.12.0.0 && <0.13), cabal-plan, containers (>=0.5.10 && <0.6 || >=0.6.0.1 && <0.7), directory (>=1.3.0.2 && <1.4), filepath (>=1.4.1.2 && <1.5), mtl (>=2.2.2 && <2.3 || >=2.3.1 && <2.4), optics-core (>=0.4 && <0.5), optparse-applicative (>=0.17.0.0 && <0.18 || >=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.5 && <0.2), text (>=1.2.3 && <1.3 || >=2.0.1 && <2.2), these (>=1.2 && <1.3), topograph (>=1.0.0.2 && <1.1), transformers (>=0.5.2.0 && <0.6 || >=0.6.1.0 && <0.7), vector (>=0.12.0.1 && <0.13 || >=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
Revised Revision 3 made by phadej at 2024-04-09T14:49:48Z
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 2023-04-26T08:14:08Z
Distributions Arch:0.7.2.1, LTSHaskell:0.7.3.0, NixOS:0.7.3.0, openSUSE:0.7.3.0
Reverse Dependencies 1 direct, 6 indirect [details]
Executables cabal-plan
Downloads 15859 total (136 in the last 30 days)
Rating 2.5 (votes: 3) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]