Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/guicho271828/asdf-viz

ASDF system dependency visualizer
https://github.com/guicho271828/asdf-viz

Last synced: 29 days ago
JSON representation

ASDF system dependency visualizer

Awesome Lists containing this project

README

        

* ASDF-VIZ

This is a set of command line utilities for visualizing various object hierarchies of a lisp system.
They are roswell-compatible command-line utilities distributed by quicklisp.
Command installation is done by =ros install asdf-viz=.

*NEWS Oct 20, 2017* We added another utility =call-graph-viz= which can visualize the call graph of a function.

*NEWS Nov 6, 2017* We added another utility =class-viz= which visualizes the class inheritances.

*NEWS Nov 25, 2017* We have a license flag -l / --licence for =asdf-viz=.

*NEWS Sep 19, 2018* System-provided =asdf:require-system= systems (e.g. =sb-introsoect=) are plotted in a different shape/color. (See weblocks examples)

** asdf-viz -- visualizing the library dependencies of asdf systems.

+ Simple usage: =$ asdf-viz [output.png] [system-name]...=
+ Complex usage: =$ asdf-viz [[-e|--exclude SYSTEM]...] [-l|--license] PNG-PATH [SYSTEM...]=

Sample output of =asdf-viz -l asdf-viz.png asdf-viz= :

[[./asdf-viz.png]]

[[./weblocks.png]]

[[./spinneret.png]]

** call-graph-viz -- visualizing the call graph

#+begin_src
Usage: call-graph-viz [options...] png-path

source options
-s / --system SYSTEM : Quickload the system in the beginning. (specified multiple times, accumulates)
-l / --load FILE : Load the FILE before the visualization.(specified multiple times, accumulates)
-r / --ros FILE : Load a .ros script before the visualization. (specified multiple times, accumulates)
This avoids the problem of shebangs in roswell scripts.

filter options
-p / --package PKG : Limit the symbols to the package. (specified multiple times, accumulates)
Package names are automatically upcased.
-f / --function FN : Specify the root nodes.. (specified multiple times, accumulates)
-i / --include-outside-calls : Specifies if the leaf node can contain symbols outside the specified packages.

Examples:

call-graph-viz -s alexandria -p alexandria -f alexandria:symbolicate symbolicate.png
call-graph-viz -s alexandria -f alexandria:symbolicate symbolicate.png
-- Visualize the call graph of alexandria:symbolicate .
The second example has the same meaning, where -p option is inferred from the symbol package.

call-graph-viz -i -s alexandria -f alexandria:symbolicate symbolicate2.png
-- Visualize the call graph of alexandria:symbolicate . Leaf nodes include symbols outside alexandria.

call-graph-viz -s alexandria -p alexandria alexandria.png
-- Visualize the call graph of all external fbound symbols in alexandria
#+end_src

Example outputs:

[[./symbolicate.png]]

[[./symbolicate2.png]]

[[./alexandria.png]]

** class-viz -- visualizing the class hierarchy

#+begin_src
Usage: class-viz [-s|--system system]* [png-path] [class names...]
Example: class-viz asdf.png asdf:component
Example: class-viz -s plump plump.png plump:node
#+end_src

Example outputs:

[[./asdf.png]]

[[./plump.png]]

** Dependencies

[[https://github.com/snmsts/roswell/][roswell]] and graphviz.

** Installation

+ =ros install asdf-viz=
+ set up PATH to include =.roswell/bin/=

** Author

+ Masataro Asai ([email protected])

* Copyright

Copyright (c) 2015 Masataro Asai ([email protected])

* License

Licensed under the LLGPL License.