depend ~master

Dependency Tool for D


To use this package, put the following dependency into your project's dependencies section:

dub.json
dub.sdl

Dependency Tool for D

Build Status

The depend tool helps to visualize import dependencies. Moreover, it allows to check them against a UML model of target dependencies.

Example

Using the depend tool on the code of the popular vibe.d repository gives an overview of the package dependencies: package diagram

Usage

Use dub to build the depend tool:

dub build --build=release

Run the depend tool like you run dmd (most arguments are just passed to dmd).

For example, run the depend tool on its own code:

depend src/*.d

Consider switching to module dependencies instead of package dependencies:

depend --detail src/*.d

The output is a package diagram in the PlantUML language:

@startuml
package deps {}
package graph {}
package main {}
package uml {}

main ..> deps
main ..> uml
uml ..> graph
@enduml

Copy and paste the output to the PlantUML Server for visualization:

package diagram

For checking, specify the target dependencies in the PlantUML language. For example, create a text file target.uml.

Use the depend tool to check the import dependencies against the target dependencies:

depend --detail src/*.d --check target.uml

Then, the check will complain about violations:

error: unintended dependency main -> deps
error: unintended dependency main -> graph
error: unintended dependency main -> uml
error: unintended dependency uml -> graph

You will also get warnings about cyclic dependencies.

Alternatively, run dmd up front and pass the extracted dependencies explicitly:

dmd -deps=dependencies ...
depend --deps dependencies

Authors:
  • Maro Kröplin
Dependencies:
none
Versions:
0.2.0 2018-Jul-06
0.1.0 2018-Jun-03
0.0.1 2015-Apr-30
~master 2018-Jul-10
~devel 2018-Jul-06
Show all 5 versions
Download Stats:
  • 0 downloads today

  • 0 downloads this week

  • 0 downloads this month

  • 156 downloads total

Score:
2.2
Short URL:
depend.dub.pm