X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=scripts%2Ffind-use.pl;h=f65143ee6e388350cf3ec1431cd3cacc2d0a6a51;hb=f94c0c4a41044237f839e62d10348f84ba61c2c4;hp=4fcb030af9708ecd740853929a4b0c731f80e651;hpb=79e5fc33b78b0a84c59a8c514fb0cde26ac128fd;p=kivitendo-erp.git diff --git a/scripts/find-use.pl b/scripts/find-use.pl index 4fcb030af..f65143ee6 100755 --- a/scripts/find-use.pl +++ b/scripts/find-use.pl @@ -30,7 +30,11 @@ my (%uselines, %modules, %supplied, %requires); 'Template::Iterator' => 1, 'Template::Plugin' => 1, 'Template::Plugin::Filter' => 1, + 'Template::Plugin::HTML' => 1, }, + 'Devel::REPL' => { + 'namespace::clean' => 1, + } ); find(sub { @@ -79,10 +83,14 @@ for my $useline (keys %uselines) { next if $useline =~ /^most and offer that in a small/; # YAML my $version = Module::CoreList->first_release($module); - $modules{$module} = $supplied{$module} ? 'included' - : $version ? sprintf '%2.6f', $version - : is_documented($module) ? 'required' - : '!missing'; + $modules{$module} = { status => $supplied{$module} ? 'included' + : $version ? sprintf '%2.6f', $version + : is_required($module) ? 'required' + : is_optional($module) ? 'optional' + : is_developer($module) ? 'developer' + : '!missing', + files => $uselines{$useline}, + }; # build requirement tree for my $file (@{ $uselines{$useline} }) { @@ -99,19 +107,21 @@ while ($changed) { $changed = 0; for my $src_module (keys %requires) { for my $dst_module (keys %{ $requires{$src_module} }) { - if ( $modules{$src_module} =~ /^required/ - && $modules{$dst_module} eq '!missing') { - $modules{$dst_module} = "required"; # . ", via $src_module"; + if ( $modules{$src_module} + && $modules{$dst_module} + && $modules{$src_module}->{status} =~ /^(required|devel|optional)/ + && $modules{$dst_module}->{status} eq '!missing') { + $modules{$dst_module}->{status} = "required"; # . ", via $src_module"; $changed = 1; } } } } -print sprintf "%8s : %s", color_text($modules{$_}), $_ +print sprintf "%8s : %s (%s)", color_text($modules{$_}->{status}), $_, join(' ', @{ $modules{$_}->{files} || [] }) for sort { - $modules{$a} cmp $modules{$b} - || $a cmp $b + $modules{$a}->{status} cmp $modules{$b}->{status} + || $a cmp $b } keys %modules; sub modulize { @@ -124,11 +134,21 @@ sub modulize { } } -sub is_documented { +sub is_required { my ($module) = @_; grep { $_->{name} eq $module } @SL::InstallationCheck::required_modules; } +sub is_optional { + my ($module) = @_; + grep { $_->{name} eq $module } @SL::InstallationCheck::optional_modules; +} + +sub is_developer { + my ($module) = @_; + grep { $_->{name} eq $module } @SL::InstallationCheck::developer_modules; +} + sub color_text { my ($text) = @_; return color(get_color($text)) . $text . color('reset');