package dune-deps
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=9c8f98b8f6814c353653175825ac7adfff8f32d313f961a0a871864a40ce2052
md5=60dfbf8dd168d0eb80b7a4a214be679c
Description
Dune-deps scans a dune project and produces a dependency graph which can be rendered with 'dot'. It is useful for projects that define multiple libraries or executables. It allows the developer to visualize the dependencies between the various components of a project.
Published: 05 Apr 2020
README
dune-deps
Show the internal dependencies in your OCaml/Reason/Dune project.
Input: the root folder of your project
Output: a graph in the dot format
Example:
$ dune-deps | tred > deps.dot
$ dot -Tpng deps.dot -o deps.png
This is the graph we obtain for the source code of opam:
Installation
From opam:
$ opam update
$ opam install dune-deps
From the git repo:
$ make
$ make test
$ make install
Rendering the graph
For producing a 2D image of the graph, we rely on the dot
command from Graphviz.
Additionally, it is often desirable to remove excessive edges to make the graph more readable. We consider "excessive" an edge that can be removed without changing the reachability from a node to another. This transformation is called transitive reduction and is performed by tred
, normally installed as part of the Graphviz suite.
Project status
Dune-deps was initiated by Martin Jambon. It is distributed free of charge under the terms of a BSD license.
Software maintenance takes time, skill, and effort. Please contribute to open-source projects to the best of your ability. Talk to your employer about it today.