-
Notifications
You must be signed in to change notification settings - Fork 664
VexFlow Class Diagrams
Ron B. Yeh edited this page Feb 4, 2022
·
4 revisions
See vexflow/tools/
for scripts to generate dependency diagrams.
We use dependency cruiser to generate interactive graphs. Mouse over an edge to highlight & show the dependency in a tooltip. Click a node to see the source file on GitHub:
cd vexflow/
./tools/dependency_graph.js
The HTML pages are saved to the vexflow/graphs/
directory. The following graphs were generated on Feb 4, 2022:
You can also call the dependency cruiser on the command line:
cd vexflow/
mkdir -p graphs
depcruise -T dot src/ | dot -T svg | depcruise-wrap-stream-in-html > graphs/src.html
brew install graphviz imagemagick ghostscript
cd vexflow/tools
# SVG graph of the class hierarchy.
./dependency_graph.rb --inheritance | dot -T svg -o graph_inheritance.svg
# SVG graph of the imports / chain of dependencies.
./dependency_graph.rb --dependencies | dot -T svg -o graph_dependencies.svg
# To make PNGs, replace svg with png in the above commands.
./dependency_graph.rb --dependencies | dot -T png -o graph_dependencies.png
./dependency_graph.rb --inheritance | dot -T png -o graph_inheritance.png
# To make PDFs, replace use the pdf extension.
./dependency_graph.rb --dependencies | dot -T pdf -o graph_dependencies.pdf
./dependency_graph.rb --inheritance | dot -T pdf -o graph_inheritance.pdf
Blue lines are uses relationships (class A imports / uses / depends on class B).
Brown lines signify inheritance (class X extends class Y).
Generated on 2022-02-04 with VexFlow 4.
Generated on 2020-04-08 | Class Hierarchy | Imports & Dependencies
[ VexFlow.com ] [ API ] [ GitHub Repo ] [ Contributors ]