aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tools/star/analyze_module_dependencies.p612
1 files changed, 10 insertions, 2 deletions
diff --git a/tools/star/analyze_module_dependencies.p6 b/tools/star/analyze_module_dependencies.p6
index dae5090..44f027f 100644
--- a/tools/star/analyze_module_dependencies.p6
+++ b/tools/star/analyze_module_dependencies.p6
@@ -1,5 +1,6 @@
my %depended-on := SetHash.new;
my @has-names;
+my %revdeps;
use JSON::Fast;
@@ -20,17 +21,24 @@ for qx{ ls modules/*/META* }.lines -> $jf {
# record every dependency in our set
%depended-on{@$val}>>++;
+ %revdeps{$data<name>}.append: @$val;
}
}
+say "reverse dependencies:";
+say "";
+.say for %revdeps;
+say "";
+say "";
+
# exclude a few modules:
# Panda doesn't have a META.info
# Test is shipped with Rakudo
# NativeCall is also shipped with rakudo
# nqp isn't really a module.
-my @missing = %depended-on (-) @has-names (-) <Panda Test NativeCall nqp>;
+my @missing = (%depended-on (-) @has-names (-) <Panda Test NativeCall nqp>).list;
-with @missing {
+if @missing {
say "There are some modules that are depended on, but not in the modules list.";
.say for @missing;
} else {