From 46627be36ff06aa42e907f1dc223b09b3f93387c Mon Sep 17 00:00:00 2001 From: Rob Ede Date: Sun, 9 Aug 2020 13:54:35 +0100 Subject: [PATCH] add dep graph dot graphs (#1601) --- docs/graphs/.gitignore | 2 ++ docs/graphs/dependency-graphs.md | 11 +++++++++++ docs/graphs/net-only.dot | 25 +++++++++++++++++++++++++ docs/graphs/web-focus.dot | 30 ++++++++++++++++++++++++++++++ docs/graphs/web-only.dot | 19 +++++++++++++++++++ 5 files changed, 87 insertions(+) create mode 100644 docs/graphs/.gitignore create mode 100644 docs/graphs/dependency-graphs.md create mode 100644 docs/graphs/net-only.dot create mode 100644 docs/graphs/web-focus.dot create mode 100644 docs/graphs/web-only.dot diff --git a/docs/graphs/.gitignore b/docs/graphs/.gitignore new file mode 100644 index 000000000..284a286c9 --- /dev/null +++ b/docs/graphs/.gitignore @@ -0,0 +1,2 @@ +# do not track rendered graphs +*.png diff --git a/docs/graphs/dependency-graphs.md b/docs/graphs/dependency-graphs.md new file mode 100644 index 000000000..6a4392d6b --- /dev/null +++ b/docs/graphs/dependency-graphs.md @@ -0,0 +1,11 @@ +# Actix Ecosystem Dependency Graphs + +See rendered versions of these dot graphs [on the wiki](https://github.com/actix/actix-web/wiki/Dependency-Graph). + +## Rendering + +Dot graphs were rendered using the `dot` command from [GraphViz](https://www.graphviz.org/doc/info/command.html): + +```sh +for f in $(ls docs/graphs/*.dot | xargs); do dot $f -Tpng -o${f:r}.png; done +``` diff --git a/docs/graphs/net-only.dot b/docs/graphs/net-only.dot new file mode 100644 index 000000000..d9f2317a1 --- /dev/null +++ b/docs/graphs/net-only.dot @@ -0,0 +1,25 @@ +digraph { + subgraph cluster_net { + label="actix/actix-net"; + "actix-codec" + "actix-connect" + "actix-macros" + "actix-rt" + "actix-server" + "actix-service" + "actix-testing" + "actix-threadpool" + "actix-tls" + "actix-tracing" + "actix-utils" + "actix-router" + } + + "actix-utils" -> { "actix-service" "actix-rt" "actix-codec" } + "actix-tracing" -> { "actix-service" } + "actix-tls" -> { "actix-service" "actix-codec" "actix-utils" "actix-rt" } + "actix-testing" -> { "actix-rt" "actix-macros" "actix-server" "actix-service" } + "actix-server" -> { "actix-service" "actix-rt" "actix-codec" "actix-utils" } + "actix-rt" -> { "actix-macros" "actix-threadpool" } + "actix-connect" -> { "actix-service" "actix-codec" "actix-utils" "actix-rt" } +} diff --git a/docs/graphs/web-focus.dot b/docs/graphs/web-focus.dot new file mode 100644 index 000000000..b0ce18d02 --- /dev/null +++ b/docs/graphs/web-focus.dot @@ -0,0 +1,30 @@ +digraph { + subgraph cluster_web { + label="actix/actix-web" + "awc" + "actix-web" + "actix-files" + "actix-http" + "actix-multipart" + "actix-web-actors" + "actix-web-codegen" + } + + "actix-web" -> { "actix-codec" "actix-service" "actix-utils" "actix-router" "actix-rt" "actix-server" "actix-testing" "actix-macros" "actix-threadpool" "actix-tls" "actix-web-codegen" "actix-http" "awc" } + "awc" -> { "actix-codec" "actix-service" "actix-http" "actix-rt" } + "actix-web-actors" -> { "actix" "actix-web" "actix-http" "actix-codec" } + "actix-multipart" -> { "actix-web" "actix-service" "actix-utils" } + "actix-http" -> { "actix-service" "actix-codec" "actix-connect" "actix-utils" "actix-rt" "actix-threadpool" } + "actix-http" -> { "actix" "actix-tls" }[color=blue] // optional + "actix-files" -> { "actix-web" "actix-http" } + + // net + + "actix-utils" -> { "actix-service" "actix-rt" "actix-codec" } + "actix-tracing" -> { "actix-service" } + "actix-tls" -> { "actix-service" "actix-codec" "actix-utils" "actix-rt" } + "actix-testing" -> { "actix-rt" "actix-macros" "actix-server" "actix-service" } + "actix-server" -> { "actix-service" "actix-rt" "actix-codec" "actix-utils" } + "actix-rt" -> { "actix-macros" "actix-threadpool" } + "actix-connect" -> { "actix-service" "actix-codec" "actix-utils" "actix-rt" } +} diff --git a/docs/graphs/web-only.dot b/docs/graphs/web-only.dot new file mode 100644 index 000000000..6e41fdc27 --- /dev/null +++ b/docs/graphs/web-only.dot @@ -0,0 +1,19 @@ +digraph { + subgraph cluster_web { + label="actix/actix-web" + "awc" + "actix-web" + "actix-files" + "actix-http" + "actix-multipart" + "actix-web-actors" + "actix-web-codegen" + } + + "actix-web" -> { "actix-web-codegen" "actix-http" "awc" } + "awc" -> { "actix-http" } + "actix-web-actors" -> { "actix" "actix-web" "actix-http" } + "actix-multipart" -> { "actix-web" } + "actix-http" -> { "actix" }[color=blue] // optional + "actix-files" -> { "actix-web" "actix-http" } +}