summaryrefslogtreecommitdiff
path: root/scripts/generateModuleDiagram.sh
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/generateModuleDiagram.sh')
-rw-r--r--scripts/generateModuleDiagram.sh16
1 files changed, 16 insertions, 0 deletions
diff --git a/scripts/generateModuleDiagram.sh b/scripts/generateModuleDiagram.sh
new file mode 100644
index 000000000..20b5077a1
--- /dev/null
+++ b/scripts/generateModuleDiagram.sh
@@ -0,0 +1,16 @@
+#!/bin/bash
+
+echo "digraph modules {" | tee /tmp/antennapod-modules.dot
+modules=$(find . -name "build.gradle")
+for modulePath in $modules; do
+ name=$(echo $modulePath | sed -E 's/\.\/?(.*)\/build\.gradle/:\1/g' | sed -E 's/\//:/g')
+ dependencies=$(cat $modulePath | sed -nE "s/[ ]*implementation project\\(['\"](.*)['\"]\\)/\\1/p")
+ for dependency in $dependencies; do
+ echo "\"$name\" -> \"$dependency\";" | tee --append /tmp/antennapod-modules.dot
+ done
+done
+echo "}" | tee --append /tmp/antennapod-modules.dot
+
+tred /tmp/antennapod-modules.dot | dot -Tpng > moduleDiagram.png
+rm /tmp/antennapod-modules.dot
+echo "Wrote to moduleDiagram.png"