X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=scripts%2Ffind-use.pl;h=b2a3c0dafeb2447ab1617cac9bb5bcc6b7146111;hb=1268bf670c06f5a66ad78a75e41ad6c15061d9bc;hp=90242211094eed6e4cb05648e28f0b68f81e5914;hpb=6e15c0a98d4f7cb34f6e95b56923ebff659e4825;p=kivitendo-erp.git diff --git a/scripts/find-use.pl b/scripts/find-use.pl index 902422110..b2a3c0daf 100755 --- a/scripts/find-use.pl +++ b/scripts/find-use.pl @@ -1,4 +1,12 @@ #!/usr/bin/perl -l + +BEGIN { + use FindBin; + + unshift(@INC, $FindBin::Bin . '/../modules/override'); # Use our own versions of various modules (e.g. YAML). + push (@INC, $FindBin::Bin . '/..'); # '.' will be removed from @INC soon. +} + use strict; #use warnings; # corelist and find throw tons of warnings use File::Find; @@ -21,6 +29,9 @@ my (%uselines, %modules, %supplied, %requires); 'Rose::DB::Object::ConventionManager' => 1, 'Rose::DB::Object::Manager' => 1, 'Rose::DB::Object::Metadata' => 1, + 'Rose::DB::Object::Helpers' => 1, + 'Rose::DB::Object::Util' => 1, + 'Rose::DB::Object::Constants' => 1, }, 'Rose::Object' => { 'Rose::Object::MakeMethods::Generic' => 1, @@ -32,20 +43,42 @@ my (%uselines, %modules, %supplied, %requires); 'Template::Plugin' => 1, 'Template::Plugin::Filter' => 1, 'Template::Plugin::HTML' => 1, + 'Template::Stash' => 1, }, 'Devel::REPL' => { 'namespace::clean' => 1, - } + }, + 'Email::MIME' => { + 'Email::MIME::Creator' => 1, + }, + 'Test::Harness' => { + 'TAP::Parser' => 1, + 'TAP::Parser::Aggregator' => 1, + }, + 'Archive::Zip' => { + 'Archive::Zip::Member' => 1, + }, + 'HTML::Parser' => { + 'HTML::Entities' => 1, + }, + 'URI' => { + 'URI::Escape' => 1, + }, + 'File::MimeInfo' => { + 'File::MimeInfo::Magic' => 1, + }, ); GetOptions( 'files-with-match|l' => \ my $l, ); +chmod($FindBin::Bin . '/..'); + find(sub { return unless /(\.p[lm]|console)$/; - # remember modules shipped with Lx-Office + # remember modules shipped with kivitendo $supplied{modulize($File::Find::name)}++ if $File::Find::dir =~ m#modules/#; @@ -56,6 +89,7 @@ find(sub { next if /SL::/; next if /Support::Files/; # our own test support module next if /use (warnings|strict|vars|lib|constant|utf8)/; + next if /^use (with|the)/; my ($useline) = m/^use\s+(.*?)$/; @@ -106,7 +140,12 @@ for my $useline (keys %uselines) { } } -# build transitive closure for documented dependancies +# have all documented modules mentioned here +$modules{$_->{name}} ||= { status => 'required' } for @SL::InstallationCheck::required_modules; +$modules{$_->{name}} ||= { status => 'optional' } for @SL::InstallationCheck::optional_modules; +$modules{$_->{name}} ||= { status => 'developer' } for @SL::InstallationCheck::developer_modules; + +# build transitive closure for documented dependencies my $changed = 1; while ($changed) { $changed = 0; @@ -184,7 +223,6 @@ find-use =head1 EXAMPLE # perl scipts/find-use.pl - !missing : Perl::Tags !missing : Template::Constants !missing : DBI @@ -211,7 +249,7 @@ This module is included in C. Don't worry about it. =item required This module is documented in C to be necessary, or is a -dependancy of one of these. Everything alright. +dependency of one of these. Everything alright. =item !missing @@ -230,5 +268,3 @@ Sven Schöling Es.schoeling@linet-services.deE Distributed under the terms of the GNU General Public License v2. =cut - -