Skip to content

Instantly share code, notes, and snippets.

@dekellum
Last active January 8, 2021 23:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dekellum/ff6d2573b9056018800d479478dc4daf to your computer and use it in GitHub Desktop.
Save dekellum/ff6d2573b9056018800d479478dc4daf to your computer and use it in GitHub Desktop.
Important Crate Dependencies, shared on tokio ecosystem discord
# coding: utf-8
digraph "Important Dependencies" {
rankdir="TB";
size="10,10";
bgcolor="white";
label="Important Crate Dependencies";
labelloc="b";
labeljust="l"
node [ shape=box, style="filled,rounded", fillcolor="#3bb379",
fontname="sans-serif", margin="0.1,0.1" ];
graph [ fontname="sans-serif" ];
edge [ fontname="sans-serif", fontsize=12.0 ];
barc [ fillcolor="#eed35b" ];
barccli [ label=<barc-<br/>cli>, fillcolor="#eed35b" ];
blockingpermit [ label=<blocking-<br/>permit>, fillcolor="#eed35b" ];
bodyimage [ label=<body-<br/>image>, fillcolor="#eed35b" ];
bodyimagefutio [ label=<body-<br/>image-<br/>futio>, fillcolor="#eed35b" ];
bytes [ ];
futuresintrusive [ label=<futures-<br/>intrusive>, fillcolor="#be19e9" ];
http [ fillcolor="#b34d3b" ];
httparse [ label=<http-<br/>arse>, fillcolor="#b34d3b" ];
httpbody [ label=<http-<br/>body>, fillcolor="#b34d3b" ];
hyper [ fillcolor="#b34d3b" ];
hyperx [ fillcolor="#eed35b"];
log [ fillcolor="#e93d19" ];
olio [ fillcolor="#eed35b"];
piccolog [ fillcolor="#eed35b"];
taolog [ label=<tao-<br/>log>, fillcolor="#eed35b"];
tokio [ ];
barc -> bodyimage;
barc -> bytes;
barc -> http;
barc -> httparse;
barc -> taolog;
barccli -> barc;
barccli -> bodyimage;
barccli -> bodyimagefutio;
barccli -> log;
barccli -> piccolog;
blockingpermit -> bytes;
blockingpermit -> futuresintrusive;
blockingpermit -> piccolog;
blockingpermit -> tokio;
bodyimage -> bytes;
bodyimage -> http;
bodyimage -> http;
bodyimage -> log;
bodyimage -> olio;
bodyimagefutio -> blockingpermit;
bodyimagefutio -> bodyimage;
bodyimagefutio -> bodyimage;
bodyimagefutio -> bytes;
bodyimagefutio -> http;
bodyimagefutio -> httparse;
bodyimagefutio -> httpbody;
bodyimagefutio -> hyper;
bodyimagefutio -> hyperx;
bodyimagefutio -> olio;
bodyimagefutio -> piccolog;
bodyimagefutio -> taolog;
bodyimagefutio -> tokio;
http -> bytes;
httpbody -> bytes;
httpbody -> http;
hyper -> bytes;
hyper -> http;
hyper -> httparse;
hyper -> httparse;
hyper -> httpbody;
hyper -> tokio;
hyperx -> bytes;
hyperx -> http;
hyperx -> httparse;
piccolog -> log;
taolog -> log;
tokio -> bytes;
}
desc "Generate svg/png's from Graphviz dot diagrams"
task :dot
FileList[ '*.dot' ].each do |dot|
svg = dot.sub( /(\.dot)$/, '.svg' )
png = dot.sub( /(\.dot)$/, '.png' )
file svg => [ dot ] do
sh "dot -Tsvg -o #{svg} #{dot}"
end
file png => [ dot] do
sh "dot -Tpng -o #{png} #{dot}"
end
task :dot => [ svg, png ]
end
task :default => [ :dot ]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment