package dune-deps

  1. Overview
  2. Docs
Show dependency graph of a multi-component dune project

Install

Dune Dependency

Authors

Maintainers

Sources

v1.0.2.tar.gz
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.

Dependencies (3)

  1. sexplib
  2. ocaml
  3. dune >= "2.1"

Dev Dependencies

None

Used by

None

Conflicts

None

OCaml

Innovation. Community. Security.