File Coverage

blib/lib/Module/CPANTS/Kwalitee/NeedsCompiler.pm
Criterion Covered Total %
statement 17 22 77.2
branch 2 6 33.3
condition 2 12 16.6
subroutine 5 5 100.0
pod 3 3 100.0
total 29 48 60.4


line stmt bran cond sub pod time code
1             package Module::CPANTS::Kwalitee::NeedsCompiler;
2 7     7   3247 use warnings;
  7         20  
  7         208  
3 7     7   37 use strict;
  7         13  
  7         1982  
4              
5             our $VERSION = '1.01';
6             $VERSION =~ s/_//; ## no critic
7              
8 35     35 1 74 sub order { 200 }
9              
10             ##################################################################
11             # Analyse
12             ##################################################################
13              
14             sub analyse {
15 11     11 1 32 my $class = shift;
16 11         23 my $me = shift;
17            
18 11         255 my $files = $me->d->{files_array};
19 11         87 foreach my $f (@$files) {
20 19 50 33     173 if ($f =~ /\.[hc]$/i or $f =~ /\.xs$/i) {
21 0         0 $me->d->{needs_compiler} = 1;
22 0         0 return;
23             }
24             }
25 11 50 33     206 if (defined ref($me->d->{prereq}) and ref($me->d->{prereq}) eq 'ARRAY') {
26 11         370 for my $m (@{ $me->d->{prereq} }) {
  11         215  
27 0 0 0     0 if ($m->{requires} =~ /^Inline::/
      0        
28             or $m->{requires} eq 'ExtUtils::CBuilder'
29             or $m->{requires} eq 'ExtUtils::ParseXS') {
30 0         0 $me->d->{needs_compiler} = 1;
31 0         0 return;
32             }
33             }
34             }
35 11         79 return;
36             }
37              
38             ##################################################################
39             # Kwalitee Indicators
40             ##################################################################
41              
42             sub kwalitee_indicators{
43             return [
44 8     8 1 25 ];
45             }
46              
47              
48             q{Favourite compiler:
49             gcc};
50              
51             __END__