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

[ development, gpl, library ] [ Propose Tags ] [ Report a vulnerability ]

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

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, 0.7.4.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]
Tested with ghc ==8.6.5 || ==8.8.4 || ==8.10.7 || ==9.0.2 || ==9.2.8 || ==9.4.8 || ==9.6.5 || ==9.8.2 || ==9.10.1
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 2024-06-08T16:15:36Z
Distributions Arch:0.7.2.2, LTSHaskell:0.7.4.0, NixOS:0.7.3.0, Stackage:0.7.4.0, openSUSE:0.7.4.0
Reverse Dependencies 1 direct, 6 indirect [details]
Executables cabal-plan
Downloads 16751 total (87 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]