]> git.proxmox.com Git - pve-docs.git/commitdiff
scan-adoc-refs: fix dependency computation (make it recusive)
authorDietmar Maurer <dietmar@proxmox.com>
Tue, 18 Oct 2016 05:15:22 +0000 (07:15 +0200)
committerDietmar Maurer <dietmar@proxmox.com>
Tue, 18 Oct 2016 05:15:22 +0000 (07:15 +0200)
scan-adoc-refs

index 70547e2dcc173132a26c89382b702db1c5203efd..1ac1f908dd408fb97a44fc604c1c5d88999906df 100755 (executable)
@@ -373,9 +373,21 @@ if ($generate_depends) {
     my $depends = {};
     foreach my $e (@$start_env) {
        my $env_data = $fileinfo->{include}->{$e};
     my $depends = {};
     foreach my $e (@$start_env) {
        my $env_data = $fileinfo->{include}->{$e};
+
+       my $add_depends;
+
+       $add_depends = sub {
+           my ($fn, $dep) = @_;
+
+           $depends->{$fn}->{$dep} = 1;
+           foreach my $nd (keys %{$env_data->{$dep}}) {
+               &$add_depends($fn, $nd);
+           }
+       };
+
        foreach my $fn (keys %$env_data) {
            foreach my $dep (keys %{$env_data->{$fn}}) {
        foreach my $fn (keys %$env_data) {
            foreach my $dep (keys %{$env_data->{$fn}}) {
-               $depends->{$fn}->{$dep} = 1;
+               &$add_depends($fn, $dep);
            }
        }
     }
            }
        }
     }