b168f4a2e9
This patch adds a .perlcriticrc (copied from qa-test-tools) and fixes almost all perlcrictic violations according to this .perlcriticrc The remaining violations are silenced out by appending a '## no critic' to the offending lines. They can still be seen by using the --force option of perlcritic This patch also modify t/00-testcritic.t to check all Perl files using the new .perlcriticrc. I'm not sure if this test script is still useful as it is now equivalent to `perlcritic --quiet .` and it looks like it is much slower (approximatively 5 times slower on my machine) Test plan: 1. Run `perlcritic --quiet .` from the root directory. It should output nothing 2. Run `perlcritic --quiet --force .`. It should output 7 errors (6 StringyEval, 1 BarewordFileHandles) 3. Run `TEST_QA=1 prove t/00-testcritic.t` 4. Read the patch. Check that all changes make sense and do not introduce undesired behaviour Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
27 lines
1 KiB
Perl
Executable file
27 lines
1 KiB
Perl
Executable file
#!/usr/bin/perl
|
|
|
|
# This Script can be used to provide a list of ALL external modules ***used*** (uncommented) in Koha.
|
|
# It provides you not only the list of modules BUT ALSO the files that uses those modules.
|
|
# utf8 or warnings or other lib use are not taken into account at the moment.
|
|
|
|
use Modern::Perl;
|
|
use C4::Context;
|
|
|
|
my $dir=C4::Context->config('intranetdir');
|
|
qx(grep -r "^ *use" $dir | grep -v "C4\|strict\|vars" >/tmp/modulesKoha.log);
|
|
$dir=C4::Context->config('opacdir');
|
|
qx(grep -r "^ *use" $dir | grep -v "C4\|strict\|vars" >>/tmp/modulesKoha.log);
|
|
|
|
open my $fh, '<', '/tmp/modulesKoha.log' ||die "unable to open file /tmp/modulesKoha.log";
|
|
my %modulehash;
|
|
while (my $line=<$fh>){
|
|
if ( $line=~m#(.*)\:\s*use\s+([A-Z][^\s;]+)# ){
|
|
my ($file,$module)=($1,$2);
|
|
my @filename = split /\//, $file;
|
|
push @{$modulehash{$module}},$filename[scalar(@filename) - 1];
|
|
}
|
|
}
|
|
print "external modules used in Koha ARE :\n";
|
|
map {print "* $_ \t in files ",join (",",@{$modulehash{$_}}),"\n" } sort keys %modulehash;
|
|
close $fh;
|
|
unlink "/tmp/modulesKoha.log";
|