A program to turn dlang dep files to graphviz graphs
To use this package, run the following command in your project's root directory:
Put the following dependency into your project's dependences section:
ddepstographviz takes the dmd output of the -deps flag and produces a file that the graphviz package (use fdp) can turn into a pretty, colorful picture of your app's dependencies.
Pointing the mouse on the
`*` on the edges displays what symbols are imported.
package means that no selective imports where used.
Get dmd deps file -deps="deps.txt"
Run ddepstographviz on it
$ dub run ddepstographviz -- -i deps.txt -o deps.dot
- Run graphviz (fdp) on it
$ fdp deps.dot -T (svg,png,jpg) > deps.(svg,png,jpg)
We use the test of graphqld as an example.
- Displaying all the deps, is normally way to much to see anything.
- We can exclude package by use of the -e options
$ dub run ddepstographviz -- -i deps.txt -o deps.dot -e std,vibe,mir,nullablestore,core,object,diet,taggedalgebraic,taggedunion,eventcore,fixedsizearray
- The graph is still to messy.
So we remove edges between module in the same package, and dependencies that point down in the module tree.
$ dub run ddepstographviz -- -i deps.txt -o deps.dot -e std,vibe,mir,nullablestore,core,object,diet,taggedalgebraic,taggedunion,eventcore,fixedsizearray -t true -d true
About Kaleidic Associates
We are a boutique consultancy that advises a small number of hedge fund clients. We are not accepting new clients currently, but if you are interested in working either remotely or locally in London or Hong Kong, and if you are a talented hacker with a moral compass who aspires to excellence then feel free to drop me a line: laeeth at kaleidic.io
We work with our partner Symmetry Investments, and some background on the firm can be found here:
- Registered by Robert Schadek
- 1.0.1 released a year ago
- Copyright © 2019, Symmetry Investments