Branch Coverage

blib/lib/Module/Build/Base.pm
Criterion Covered Total %
branch 798 1420 56.2


line true false branch
37 0 80 if $self->{'action'} and $self->{'action'} ne "Build_PL"
43 10 70 if (grep {not $_;} $self->check_prereq, $self->check_autofeatures)
50 10 0 unless ($self->dist_name eq "Module-Build" or $ENV{'PERL5_CPANPLUS_IS_RUNNING'} or $ENV{'PERL5_CPAN_IS_RUNNING'})
68 5 64 unless $self->module_name
80 0 466 unless $self->{'properties'}{'_added_to_INC'}
88 0 463 unless ($package->isa($self->build_class))
93 0 0 unless ($build_class->can("new"))
94 0 0 unless eval "require $build_class; 1"
99 0 367 unless ($self->_perl_is_same($self->{'properties'}{'perl'}))
111 367 0 unless ($self->allow_mb_mismatch)
113 0 367 if ($mb_version ne $self->{'properties'}{'mb_version'})
164 2862 498 if -e $file
165 0 3360 if (exists $p->{$_})
178 0 546 unless $p->{'perl'} = $self->find_perl_interpreter
185 8 538 if defined $p->{'dist_author'} and not ref $p->{'dist_author'}
188 0 546 if defined $p->{'prereq'}
189 2 544 if defined $p->{'scripts'}
193 1092 0 if exists $p->{$_}
198 3 543 if exists $p->{$_} and not ref $p->{$_}
202 0 546 if $p->{'add_to_cleanup'}
211 78 90 if ref $self and $self->verbose || !$self->quiet
215 23 4794 if ref $self and $self->verbose
219 0 790 if ref $self and $self->debug
225 0 103 if (@_ and not $_[-1] =~ /\n$/) { }
241 365 0 $c->get('installstyle') ? :
290 0 365 $c->get('usevendorprefix') ? :
351 0 69 unless my $r = $self->recurse_into
354 0 69 if (not ref $r and $r eq "auto")
356 0 0 unless opendir DH, $self->base_dir
360 0 0 unless -d $subdir
361 0 0 if -e "File::Spec"->catfile($subdir, "Build.PL")
380 21 7 if (/^[^\s*?!\$<>;\\|'"\[\]\{\}]+$/) { }
396 2532 0 if ($self->have_forkpipe) { }
399 2290 242 if ($pid) { }
400 196 2094 wantarray ? :
402 0 242 unless defined $pid
428 0 751 if ($ENV{'PERL_CORE'})
442 3994 288 if defined $known_perl
459 54 234 ref $proto ? :
467 288 0 if "File::Spec"->file_name_is_absolute($perl)
477 0 288 if ($ENV{'PERL_CORE'}) { }
486 0 0 if (defined $perl_src and length $perl_src)
510 288 0 if (defined $exe)
511 0 288 unless $thisperl =~ /$exe$/i
514 242 0 if (-f $thisperl and $proto->_perl_is_same($thisperl))
530 7 0 if ('File::Spec'->file_name_is_absolute($command)) { }
536 0 0 if $abs = $self->_maybe_command($abs)
544 0 7 if -x $file and not -d $file
561 0 0 if $self->_is_unattended
564 0 0 if defined $answer
570 1 8 unless my $mess = shift()
575 3 5 if @_
577 2 1 defined $def[0] ? :
3 5 scalar @def ? :
584 2 6 if ($self->_is_unattended and not @def)
593 4 2 unless (defined $ans and length $ans)
596 3 1 scalar @def ? :
606 1 4 unless $mess
607 1 3 if $def and not $def =~ /^[yn]/i
613 2 0 if $answer =~ /^y/i
614 0 0 if $answer =~ /^n/i
625 0 4 @_ ? :
632 2 0 if (@_)
634 0 2 if ($ph->{'features'}->exists($key))
638 1 1 if (my $info = $ph->{'auto_features'}->access($key))
641 4 1 if $type eq "description" or $type eq "recommends" or not exists $info->{$type}
646 0 1 if (not $status->{'ok'} xor $type =~ /conflicts$/)
647 0 1 unless (eval "require $modname; 1")
661 0 0 grep(/^(?:\w+_)?(?:requires|conflicts)$/, keys %$failures) ? :
663 0 0 $disabled ? :
667 0 0 wantarray ? :
674 0 56 if (($self->module_name || '') eq 'Module::Build') { }
697 1 1 unless grep {$_ eq $elem;} @$elems
702 60 1 unless $self->has_config_data
704 0 1 unless my $module_name = $self->module_name
709 0 1 if $self->up_to_date(["Build.PL", $self->config_file("config_data"), $self->config_file("features")], $notes_pm)
758 562 1161 exists $additive_properties{$_}{'ARRAY'} ? :
762 2038 4143 exists $additive_properties{$_}{'HASH'} ? :
767 1 26101 if $class->valid_property($property)
769 12607 13494 @_ == 1 ? :
776 2052 19643 $type eq 'ARRAY' ? :
4400 21695 $type eq 'HASH' ? :
6 26095 $type eq 'CODE' ? :
778 6458 19643 if $type
781 20241 5860 unless ($class->can($property))
783 2935 17306 $type eq 'HASH' ? :
811 47450 2418 unless exists $self->{'properties'}{$prop}
817 0 3920 unless exists $self->{'properties'}{$prop}
822 0 8406 unless exists $self->{'properties'}{$prop}
838 0 1260 unless (ref $self)
844 1252 8 unless @_
847 4 4 if (defined $_[0] and not ref $_[0]) { }
848 1 3 if (@_ == 1) { }
3 0 elsif (@_ % 2 == 0) { }
849 1 0 exists $$prop{$_[0]} ? :
853 3 0 if &$check($self)
859 1 3 if defined $_[0] and ref $_[0] ne "HASH"
862 2 0 if &$check($self)
877 0 11998 unless (ref $self)
883 11811 187 unless @_
885 184 0 if &$check($self)
1008 968 6916 ref $self ? :
1009 30 7854 unless @_
1012 7853 1 unless @_
1025 1 41614 unless defined($current = shift @in_stack) and $current->isa("Module::Build::Base")
1028 31131 10483 if $current eq "Module::Build::Base"
1033 0 10485 if substr($c, 0, 2) eq "::"
1036 1 10484 $seen{$c}++ ? :
1053 0 42 if @_
1054 0 42 unless exists $p->{$_}
1055 42 0 ref $p->{$_} ? :
1064 7 15 if -e $build_dir
1067 0 6 unless $opts{'code'} or $opts{'class'}
1077 0 22 unless -d $filedir
1079 0 22 unless open my $fh, ">", $filename
1091 0 22 if $@
1099 0 5 if $p->{'module_name'}
1100 0 5 if ($p->{'dist_version_from'} and -e $p->{'dist_version_from'}) { }
1109 5 0 if (-e $mod_path or -e "lib/$mod_path") { }
1127 162 63 if defined $p->{$me}
1129 0 63 unless $self->module_name
1142 69 72 unless (defined $p->{$me})
1143 0 69 $self->_is_dev_version ? :
1146 0 141 unless ($p->{$me} =~ qr/\A(?:stable|testing|unstable)\z/)
1150 0 141 if ($p->{$me} eq "stable" and $self->_is_dev_version)
1162 18 22 if defined $p->{$me}
1164 13 9 if ($self->release_status eq 'stable') { }
1169 0 9 $self->_is_dev_version ? :
1180 170 0 if ($self->module_name)
1192 311 63 if defined $p->{$me}
1194 63 0 if (my $dist_version_from = $self->dist_version_from)
1196 0 63 unless my $pm_info = "Module::Metadata"->new_from_file($version_from)
1200 0 63 unless (defined $p->{$me})
1207 0 63 unless defined $p->{$me}
1219 2 197 $@ ? :
1229 67 57 if defined $p->{$member}
1231 0 57 unless my $docfile = $self->_main_docfile
1233 0 57 unless open my $fh, "<", $docfile
1257 0 0 if -f $f
1263 51 0 unless $unlink_list_for_pid{$$}
1264 0 0 unless -e $f
1279 50 1 wantarray ? :
1284 0 492 unless -d $self->config_dir
1291 0 466 unless my $file = $self->config_file("build_params")
1293 0 466 unless open my $fh, "<", $file
1295 0 466 if $@
1311 0 18 unless open my $fh, ">", $file
1312 6 12 unless (ref $data)
1325 0 6 unless -d $self->{'properties'}{'config_dir'}
1349 0 0 unless ($packlist)
1352 0 0 if ($mod =~ qr/$re/)
1359 0 0 $packlist ? :
1368 69 0 unless "inc::latest"->can("loaded_modules")
1372 0 0 if ($@)
1394 0 0 if (not $lookup) { }
1402 0 0 $prereq ? :
1412 80 0 unless %$features
1416 0 0 unless my(@str) = @_
1422 0 0 if $len[$i] > $max
1436 0 0 if ($num_disabled) { }
1454 0 0 if (my $failures = $self->prereq_failures($info)) { }
1455 0 0 grep(/^(?:\w+_)?(?:requires|conflicts)$/, keys %$failures) ? :
1457 0 0 $disabled ? :
1460 0 0 unless exists $failures->{$type}
1465 0 0 $type =~ /^(?:\w+_)?(?:requires|conflicts)$/ ? :
1467 0 0 $required ? :
1474 0 0 if $disabled or $self->verbose
1485 7 4 if ($self->dist_name ne "Module-Build" and $self->auto_configure_requires and not exists $p->{'configure_requires'}{'Module::Build'})
1501 0 11 if ("inc::latest"->can("loaded_module"))
1503 0 0 if exists $p->{'configure_requires'}{$mod}
1519 80 0 unless (defined $p->{'needs_compiler'})
1520 0 80 if ($self->pureperl_only and $self->allow_pureperl) { }
1530 0 80 if ($self->needs_compiler)
1532 0 0 unless ($self->have_c_compiler)
1542 0 80 if ($self->share_dir)
1552 0 7 unless defined $version
1553 0 7 if (exists $p->{$type}{$module})
1554 0 0 if $self->compare_versions($version, "<=", $p->{$type}{$module})
1575 1 44 if ($type =~ /^(?:\w+_)?conflicts$/) { }
5 39 elsif ($type =~ /^(?:\w+_)?recommends$/) { }
1576 1 0 unless $status->{'ok'}
1581 0 5 if $status->{'ok'}
1582 5 0 !ref($status->{'have'}) && $status->{'have'} eq '<none>' ? :
1586 10 29 if $status->{'ok'}
1601 410 0 if ($self->can($type))
1603 20 390 if %$prereq
1614 0 80 unless $info
1620 10 70 if ($failures) { }
1624 10 40 if keys %$prereqs
1627 5 5 $type =~ /^(?:\w+_)?recommends$/ ? :
1643 7 0 $^V ? :
1648 7 0 if grep(/\./, $version) < 2
1657 0 148 unless defined $spec
1658 143 5 if ($spec =~ /^\s*([\w.]+)\s*$/) { }
1667 21 0 defined $spec ? :
1668 0 21 unless $status->{'ok'}
1672 12 9 if (defined $INC{$path}) { }
0 9 elsif (exists $INC{$path}) { }
1687 0 154 if ($modname eq 'perl') { }
68 86 elsif (eval {
1695 6 80 unless (defined $pm_info)
1701 0 80 if ($spec and not defined $status{'have'})
1710 0 148 unless my($op, $version) = /^\s* (<=?|>=?|==|!=) \s* ([\w.]+) \s*$/x
1713 0 148 if $modname eq "perl"
1716 88 60 if $op eq ">=" and not $version
1718 29 31 unless ($self->compare_versions($status{'have'}, $op, $version))
1732 25 36 unless eval {
1736 0 61 if $@
1747 0 0 if ($status->{'ok'})
1748 0 0 if $status->{'have'} and "$status->{'have'}" ne "<none>"
1792 4507 242 if @default_inc
1796 40 202 ref $self ? :
1813 0 6 if (-f $self->metafile)
1821 0 6 if $self->is_windowsish
1827 69 0 unless $self->is_vmsish
1835 6 0 $INC[-1] eq '.' ? :
1912 12 0 if ($self->delete_filetree($f))
1918 6 0 if ($self->try_require("CPAN::Meta", "2.142060"))
1920 12 0 unless -f $file
1922 0 0 if $meta_obj
1929 0 6 if ($meta_obj) { }
1945 0 6 unless @created
1961 6 0 if ($self->delete_filetree($build_script))
1967 0 6 unless open my $fh, ">", $build_script
1978 2 78 unless -e "MANIFEST"
1987 0 78 if (my(@missed) = ExtUtils::Manifest::manicheck()) { }
2000 130 0 if (@_)
2002 2 128 $p{'args'} ? :
2010 0 0 unless $self->{'action'}
2018 84 398 if $self->{'_completed_actions'}{$action}++
2022 0 398 unless $method
2040 114 447 unless ref $self
2043 437 10 unless $specs and %$specs
2056 0 40 if $self->valid_property($k)
2059 30 10 defined $v->{'type'} ? :
2060 0 40 if exists $v->{'store'}
2061 10 30 if exists $v->{'default'}
2068 10 0 if (@specs)
2082 57 457 ref $v eq 'ARRAY' ? :
85 514 ref $v eq 'HASH' ? :
2090 4 4 wantarray ? :
8 48 unless @_
2092 0 48 if @_
2104 0 693 if grep(($tr_opt =~ /^(?:no_?)?$_$/), ("create_license", "create_makefile_pl", "create_readme", "extra_compiler_flags", "extra_linker_flags", "install_base", "install_path", "meta_add", "meta_merge", "test_files", "use_rcfile", "use_tap_harness", "tap_harness_args", "cpan_client", "pureperl_only", "allow_pureperl"))
2133 58 346 if (exists $args->{$key} and not $singular_argument{$key}) { }
2134 58 0 unless ref $args->{$key}
2167 0 289 if (grep(($opt =~ /^no[-_]?$_$/), @bool_opts))
2173 288 1 unless grep(($_ eq $opt), @bool_opts)
2180 0 1 if @$argv and $argv->[0] =~ /^\d+$/
2196 115 289 if (/^(?:--)?($opt_re)=(.*)$/) { }
289 0 elsif (/^--($opt_re)$/) { }
0 0 elsif (/^($opt_re)$/ and not defined $action) { }
2210 0 1122 if exists $args{$_}
2215 0 561 if exists $args{$_} and not ref $args{$_}
2220 8923 58 unless exists $args{$_}
2223 0 58 unless ref $args{$_}
2225 0 116 unless $arg =~ /($opt_re)=(.*)/
2234 1683 0 unless defined $args{$key}
2239 561 0 unless defined $args{$key}
2242 0 0 unless defined $args{$key}{$subkey}
2244 0 0 if ($subkey eq 'html') { }
2253 0 561 if ($args{'makefile_env_macros'})
2275 0 1665 if (exists $opts1->{$key}) { }
2276 0 0 if (ref $val eq "HASH")
2278 0 0 unless exists $opts1->{$key}{$k}
2292 443 0 if $ENV{'HOME'}
2295 0 0 if $ENV{'HOMEDRIVE'} and $ENV{'HOMEPATH'}
2302 443 0 wantarray ? :
2310 0 436 if -e $path
2320 4 443 unless $self->use_rcfile
2323 0 443 if (exists $ENV{'MODULEBUILDRC'} and $ENV{'MODULEBUILDRC'} eq 'NONE') { }
0 443 elsif (exists $ENV{'MODULEBUILDRC'} and -e $ENV{'MODULEBUILDRC'}) { }
0 443 elsif (exists $ENV{'MODULEBUILDRC'}) { }
2334 443 0 unless $modulebuildrc
2337 0 0 unless open my $fh, "<", $modulebuildrc
2344 0 0 unless length $line
2346 0 0 if ($line =~ /^\S/) { }
2347 0 0 if ($buffer)
2358 0 0 if ($buffer)
2367 0 0 if ($action eq "fakeinstall" and not exists $options{'fakeinstall'})
2388 0 894 if defined $action
2394 8 914 if $self->valid_property($key)
2397 0 922 if ($key eq 'config') { }
2402 6 914 $self->valid_property($key) ? :
2 920 $additive{$key} ? :
2404 2 920 if ($additive{$key}) { }
2417 1 446 if $ENV{'PERL_MB_OPT'}
2441 1097 11538 if /^ACTION_(\w+)/
2445 12 15 wantarray ? :
2451 2 13 unless $actions->{$action}
2457 0 49 unless $file = $INC{$file . ".pm"}
2458 0 49 unless open my $fh, "<", $file
2466 21 77470 if /^=head1 ACTIONS\s/
2472 10 5661 if /^=head1 /
2475 11 5650 if (/^=(item|head2)\s+\Q$action\E\b/)
2481 38 11 unless $style
2484 8 3 if ($style eq 'item') { }
2487 8 56 if (/^=(item|back)/)
2488 8 0 unless $inlist
2491 0 56 if /^=over/
2492 0 56 if /^=back/
2498 3 15 if /^=(?:head[12]|cut)/
2506 0 13 unless ($files_found)
2510 3 10 unless (@docs)
2549 0 0 if $len > $mod_len
2552 0 0 if $len > $ver_len
2557 0 0 if $type =~ /^(\w+_)?conflicts$/
2566 0 0 $type =~ /^(\w+_)?conflicts$/ ? :
2577 0 0 $mod->{'ok'} ? :
2580 0 0 defined $mod->{'have'} ? :
2590 0 0 if (@{$self->{'args'}{'ARGV'};})
2592 0 0 $@ ? :
2633 0 0 unless ref $_
0 0 if @INC > 100
2658 2 0 wantarray ? :
2 0 defined $t ? :
2669 0 32 if @_ % 2
2676 30 2 exists $args{'type'} ? :
2 30 exists $args{'types'} ? :
2678 0 32 unless @types
2682 9 23 defined $p->{'test_types'} ? :
2687 0 36 unless defined $test_types{$type}
2691 25 11 ref $_ ? :
2703 0 0 unless ref $_
0 32 if @INC > 100
2717 32 0 if (@$tests) { }
2719 5 27 if ($self->use_tap_harness or $args and %$args) { }
2721 0 5 if ($aggregate->has_errors)
2767 0 32 if -e "visual.pl"
2774 0 32 if $self->{'properties'}{'debugger'}
2775 0 32 if $self->{'properties'}{'cover'}
2782 2 2 if (@_)
2783 1 1 @_ == 1 ? :
2792 3 30 if $self->recursive_test_files
2807 0 0 unless ("Module::Metadata"->find_module_by_name("Devel::Cover"))
2817 0 0 if (-e "cover_db")
2820 0 0 if -f $_
2822 0 0 unless $self->up_to_date($pm_files, $cover_files) and $self->up_to_date($self->test_files, $cover_files)
2841 0 64 if (my $split = $self->autosplit)
2842 0 0 ref $split ? :
2847 1 439 unless $self->can($method)
2865 125 1 $self->can($method) ? :
2875 64 0 unless $p->{'c_source'}
2876 0 0 if $self->pureperl_only and $self->allow_pureperl
2879 0 0 if (ref $p->{'c_source'} eq 'ARRAY') { }
2897 59 2 unless $files
2913 59 3 unless $share_dir
2916 3 0 if ($share_dir->{'dist'})
2921 3 0 if ($share_dir->{'module'})
2950 6 0 unless ($self->up_to_date($file, $to))
2951 0 6 unless $self->run_perl_script($file, [], [@$to])
2959 2 62 if $self->pureperl_only and $self->allow_pureperl
2961 2 60 if %$files and $self->pureperl_only
2964 2 17 unless ($from eq $to)
2978 47 14 unless keys %$files
2984 8 9 unless my $result = $self->copy_if_modified($file, $script_dir, "flatten")
2985 9 0 unless $self->is_vmsish
2992 3 61 if (my $files = $self->{'properties'}{'PL_files'})
2995 0 3 if (ref $files eq 'ARRAY') { }
3 0 elsif (ref $files eq 'HASH') { }
3003 1 4 ref $to ? :
3013 1 60 unless -d "lib"
3026 61 0 if (my $files = $self->script_files)
3040 2 32 if (my $files = $p->{'test_files'}) { }
3041 0 2 if ref $files eq "HASH"
3042 1 3 -d $_ ? :
3052 0 32 if -e "test.pl"
3053 32 0 if -e "t" and -d _
3061 5 290 if (my $files = $self->{'properties'}{"${type}_files"})
3066 4 286 unless -d $dir
3085 9 0 ref $self ? :
3089 0 9 unless open my $FIXIN, "<", $file
3092 2 7 unless $line =~ s/^\s*\#!\s*//
3095 0 7 unless $cmd =~ /perl/i
3100 7 0 if $does_shbang
3102 0 7 unless open my $FIXOUT, ">", "$file.new"
3112 0 7 unless rename $file, "$file.bak"
3115 0 7 unless rename "$file.new", $file
3118 0 7 unless $self->delete_filetree("$file.bak")
3121 0 7 if $c->get("eunicefix") ne ":"
3130 0 0 unless eval "use Test::Pod 0.95; 1"
3134 0 0 unless my(@files) = sort(keys %{$self->_find_pods($self->libdoc_dirs);}, keys %{$self->_find_pods($self->bindoc_dirs, "exclude", [$self->file_qr("\\.bat\$")]);})
3151 0 0 unless eval "use Test::Pod::Coverage 1.00; 1"
3186 28 84 $self->install_destination($type) && ($self->install_path($type) || $self->install_sets($self->installdirs)->{$type}) ? :
3193 8 21 unless (exists $self->{'_is_ActivePerl'})
3202 5 4 unless (exists $self->{'_is_ActivePPM'})
3211 0 28 unless $self->_mb_feature("manpage_support")
3215 1 27 $self->{'properties'}{'extra_manify_args'} ? :
3218 32 24 unless $self->invoked_action eq "manpages" or $self->_is_default_installable("${type}doc")
3221 6 18 unless %$files
3224 18 0 if defined $sub
3235 0 6 unless keys %$files
3248 10 8 if $self->up_to_date($file, $outfile)
3250 0 8 unless eval {
3262 0 12 unless keys %$files
3275 8 9 if $self->up_to_date($file, $outfile)
3277 0 9 unless eval {
3288 1 86 unless -e $dir
3292 0 176 if $file =~ /$regexp/
3295 80 157 if $self->contains_pod($file)
3303 129 117 unless -T $file
3305 0 117 unless open my $fh, "<", $file
3307 87 670 if $line =~ /^\=(?:head|pod|item)/
3316 0 28 unless $self->_mb_feature("HTML_support")
3321 52 4 unless $self->invoked_action eq "html" or $self->_is_default_installable("${type}html")
3338 0 10 unless %$pods
3340 7 3 unless (-d $htmldir)
3341 0 7 unless File::Path::mkpath($htmldir, 0, 493)
3345 0 5 $self->installdirs eq 'core' ? :
5 5 $type eq 'bin' ? :
3349 0 10 $ENV{'PERL_CORE'} ? :
3353 0 10 unless (defined $self->args("html_links") and not $self->args("html_links"))
3362 0 0 $ENV{'PERL_CORE'} ? :
3371 0 10 if ($with_ActiveState = $self->_is_ActivePerl && eval {
3376 0 0 if $tool_v and length $tool_v
3394 10 0 if scalar @dirs and $dirs[-1] eq "File::Spec"->curdir
3401 0 10 if $self->up_to_date($infile, $outfile)
3403 10 0 unless (-d $fulldir)
3404 0 10 unless File::Path::mkpath($fulldir, 0, 493)
3409 0 10 if ($with_ActiveState) { }
3411 0 0 defined $podpath ? :
3422 0 0 unless eval {
3425 0 10 unless open my $fh, "<", $infile
3429 5 5 if $abstract
3431 0 10 defined $podpath ? :
0 10 $path2root ? :
3440 0 10 unless (eval {
3444 10 0 if (eval {
0 0 elsif (eval {
3455 0 10 unless eval {
3460 0 10 unless (-r $tmpfile)
3464 0 10 unless open my $fh, "<", $tmpfile
3467 10 0 unless ($self->_is_ActivePerl)
3481 0 10 unless open $fh, ">", $outfile
3527 0 0 unless @flags
3545 0 0 unless ($installed)
3551 0 0 if $status == 0
3552 0 0 if $status == -1
3554 0 0 if ($file =~ /$text_suffix/) { }
3579 0 0 if ($self->_is_ActivePerl and $self->{'_completed_actions'}{'html'})
3581 0 0 $self->verbose ? :
0 0 unless eval {
3584 0 9 if ($self->_is_ActivePPM)
3606 0 0 if ($eui_version < "1.32")
3621 0 0 unless eval {
3625 0 0 exists $self->{'args'}{$_} ? :
3636 0 2 unless ($info)
3642 0 2 unless ($failures)
3650 4 0 if ($type =~ /^(?:\w+_)?requires$/)
3656 0 0 if $self->y_n("Install $module?", "y")
3660 0 2 unless @install
3666 1 1 unless ("File::Spec"->file_name_is_absolute($command))
3676 0 7 if (defined $abs_cmd)
3734 6 18 if exists $types{$type} and not defined $types{$type}
3737 3 15 unless -e $dir
3741 21 18 unless -f $file
3747 18 0 exists $types{$type} ? :
3771 0 0 unless (eval {
3802 0 0 unless $self->invoked_action eq "distclean"
3808 0 0 unless @$missing or @$extra
3811 0 0 if ($self->invoked_action eq 'distcheck') { }
3832 0 0 unless ($skip_factory and &$skip_factory($maniskip)->($file))
3842 30 0 unless ref $lines
3845 8 22 unless defined $existing_files
3847 0 22 unless @$lines = grep({not exists $existing_files->{$_};} @$lines)
3851 0 22 unless chmod $mode | 146, $manifest
3853 0 22 unless open my $fh, "<", $manifest
3858 0 22 unless open $fh, ">>", $manifest
3859 0 22 unless $has_newline
3870 0 5 unless (eval {
3878 0 5 unless -e $manifest
3891 0 18 unless chdir $dir
3893 0 18 $@ ? :
3894 0 18 unless chdir $start_dir
3895 0 18 if @err
3902 0 0 unless -d $self->dist_dir
3927 0 1 if ($@)
3938 0 0 unless ($self->_mb_feature("license_creation"))
3943 0 0 unless my $l = $self->license
3946 0 0 unless my $license = $self->_software_license_object
3954 0 0 unless open my $fh, ">", "LICENSE"
3967 0 6 unless ($docfile)
3977 0 6 if (eval {
6 0 elsif (eval {
3986 6 0 if (open my $fh, '>', 'README') { }
3999 0 0 if $_[1]
4002 0 6 if $Pod::Text::VERSION == "3.01"
4024 63 0 if (my $pm_file = $self->dist_version_from) { }
4026 10 53 -e $pod_file ? :
4044 0 10 if (@{$self->bundle_inc;} and not $self->_mb_feature("inc_bundling_support"))
4051 0 10 unless my $dist_files = $self->_read_manifest("MANIFEST")
4054 0 10 unless $dist_files and keys %$dist_files
4058 0 10 unless exists $dist_files->{$metafile}
4066 0 69 if $file =~ /^MYMETA\./
4070 0 10 if @{$self->bundle_inc;}
4072 5 5 if $self->{'properties'}{'sign'}
4088 0 1 unless $self->run_perl_script("Build.PL")
4090 0 1 unless $self->run_perl_script($self->build_script)
4092 0 1 unless $self->run_perl_script($self->build_script, [], ["test"])
4104 0 0 unless $self->run_perl_script("Build.PL")
4106 0 0 unless $self->run_perl_script($self->build_script)
4108 0 0 unless $self->run_perl_script($self->build_script, [], ["install"])
4151 0 0 if -r $default_maniskip
4172 0 0 unless open my $fh, "<$mode", $file
4182 0 0 unless open my $fh, ">$mode", $file
4189 34 1 if (ref $self) { }
4191 6 28 unless defined $self->{'_case_tolerant'}
4203 0 0 unless defined $skip and length $skip
4204 0 0 unless open my $fh, ">>", $file
4214 0 1 unless open my $fh, ">", $file
4217 1 0 $self->_eumanifest_has_include ? :
4251 0 0 if (not -e $maniskip) { }
4277 0 0 if (-e "MANIFEST.SKIP")
4288 0 396 +(shift())->{'_case_tolerant'} ? :
4294 1 28 if $self->dist_suffix
4305 91 2 unless -d $dir
4308 0 2 unless opendir DH, $dir
4313 4 4 if -d $full_path
4323 0 178 if @_
4326 154 24 if (not defined $p->{'share_dir'}) { }
0 24 elsif (not ref $p->{'share_dir'}) { }
0 24 elsif (ref $p->{'share_dir'} eq 'ARRAY') { }
24 0 elsif (ref $p->{'share_dir'} eq 'HASH') { }
4341 24 0 if (defined $share_dir->{'dist'})
4342 0 24 if (not ref $share_dir->{'dist'}) { }
0 24 elsif (ref $share_dir->{'dist'} ne 'ARRAY') { }
4351 6 18 if (defined $share_dir->{'module'})
4353 6 0 if (ref $mod_hash eq 'HASH') { }
4355 0 6 if (not ref $mod_hash->{$k}) { }
0 6 elsif (ref $mod_hash->{$k} ne 'ARRAY') { }
4379 0 106 if @_
4380 93 13 unless $_
4383 0 13 if ref $_ eq "HASH"
4384 13 0 if ref $_ eq "ARRAY"
4386 0 0 if ref $_
4388 0 0 if -d $_
4394 74 19 unless $self->PL_files
4460 0 23 if ($self->valid_licenses->{$license} and eval {
4462 0 0 if (@classes == 1)
4468 3 43 unless defined $l
4470 1 42 if (eval "require Software::License; Software::License->VERSION(0.014); require $trial; 1")
4480 0 23 unless defined(my $license = $self->license)
4482 22 1 unless my $class = $self->_software_license_class($license)
4487 0 1 if ($@)
4496 0 0 if (ref $h->{$k} eq 'ARRAY') { }
0 0 elsif (ref $h->{$k} eq 'HASH') { }
4497 0 0 ref $v ? :
4507 0 13 if $self->create_makefile_pl
4508 0 13 if $self->create_readme
4509 0 13 if $self->create_license
4515 4 9 if $self->{'wrote_metadata'}
4519 0 9 unless ($p->{'license'})
4531 0 9 if (($self->module_name || '') eq "Module::Build")
4540 9 0 if (@created)
4553 15 0 if $meta and $meta->save("$file.yml", {"version", "1.4"})
4555 15 0 if $meta and $meta->save("$file.json")
4558 15 0 if (@created)
4567 0 15 unless $self->try_require("CPAN::Meta", "2.142060")
4575 6 9 if defined $args{'dynamic'}
4578 0 15 if ($@ and not $args{'quiet'})
4591 0 0 unless $self->try_require("CPAN::Meta", "2.110420")
4598 3 122 unless defined $version and length $version
4600 0 125 if ($version =~ /[=<>!,]/) { }
81 44 elsif (ref $version eq 'version') { }
0 44 elsif ($version =~ /^[^v][^.]*\.[^.]+\./) { }
4604 0 81 $version->is_qv ? :
4633 21 135 if (exists $p->{$type} and keys %{$$p{$type};})
4650 1 22 if (my $sl = $self->_software_license_object) { }
22 0 elsif (exists $valid_licenses->{$license}) { }
4655 20 2 $valid_licenses->{$license} ? :
4672 11 12 if $args{'auto'}
4677 0 115 unless (defined $field and length $field)
4679 0 0 if ($fatal) { }
4698 23 0 exists $p->{'dynamic_config'} ? :
4704 21 2 if defined $meta_license_url
4708 0 23 if (exists $p->{'no_index'}) { }
19 4 elsif (my $pkgs = eval {
4711 18 1 if %$pkgs
4717 23 0 if (my $add = $self->meta_add)
4718 23 0 if (not exists $add->{'meta-spec'} or $add->{'meta-spec'}{'version'} != 2)
4720 23 0 if ('CPAN::Meta::Converter'->VERSION('2.141170')) { }
4734 23 0 if (my $merge = $self->meta_merge)
4735 23 0 if (eval {
4754 0 0 unless (ref $node eq "HASH")
4757 0 0 if $keys
4764 12 51 unless -e $file
4778 4 19 unless my $manifest = $self->_read_manifest("MANIFEST")
4808 0 18 if $package eq "main"
4809 0 18 if $package eq "DB"
4810 0 18 if grep /^_/, split(/::/, $package, 0)
4814 18 0 if ($package eq $prime_package) { }
4815 0 18 if (exists $prime{$package}) { }
4820 18 0 if defined $version
4837 0 0 if (exists $prime{$package}) { }
4839 0 0 if ($result->{'err'}) { }
0 0 elsif (defined $result->{'version'}) { }
4853 0 0 if (exists $prime{$package}{'version'} and defined $prime{$package}{'version'}) { }
4857 0 0 if ($self->compare_versions($prime{$package}{'version'}, "!=", $result->{'version'}))
4880 0 0 if ($result->{'err'})
4891 0 0 if defined $result->{'version'}
4897 18 0 if ($provides->{'version'}) { }
4919 0 0 if (defined $p->{'version'})
4920 0 0 if (defined $version) { }
4921 0 0 if ($self->compare_versions($version, '!=', $p->{'version'})) { }
4931 0 0 if defined $p->{'file'}
4934 0 0 if ($err)
4953 0 4 if ($self->{'args'}{'tar'}) { }
4954 0 0 $self->verbose ? :
4960 0 0 if $^O eq "darwin"
4961 0 0 if $^O eq "darwin"
4964 0 0 if $self->{'args'}{'gzip'}
4966 4 0 if require Archive::Tar
0 4 unless eval {
4979 0 4 grep({length $_ >= 100;} @$files) ? :
4994 0 334 unless defined $type
4998 15 319 unless @_
5001 1 318 unless (defined $value)
5007 317 1 if ($value eq "<empty>")
5008 266 51 unless exists $map->{$type}
5020 3 214 unless defined $dirs
5022 0 0 if (@_ == 4 and defined $dirs and defined $key)
5030 0 217 if (defined $dirs and defined $key) { }
217 0 elsif (defined $dirs) { }
5046 0 34 if (@_ == 3 and defined $key)
5054 0 34 unless defined $key
5062 3 79 if (@_ > 1)
5069 8 73 unless @_
5071 72 1 defined $relpath ? :
5079 0 34 unless my $installdirs = shift() || $self->installdirs
5081 3 31 if (@_ > 1)
5089 6 27 unless @_
5091 26 1 defined $relpath ? :
5098 0 6 unless defined $type
5102 2 4 if (not defined $value) { }
5108 2 2 if "File::Spec::Unix"->file_name_is_absolute($value)
5134 0 24 if $sprefix =~ m[/$]
5136 24 0 if defined $path and length $path
5139 0 24 if (not defined $path or length $path == 0) { }
0 24 elsif (not 'File::Spec'->file_name_is_absolute($path)) { }
24 0 elsif (not $path =~ s/^\Q$sprefix\E\b//s) { }
5160 0 24 if (not $default) { }
5171 25 216 if $self->install_path($type)
5173 70 146 if ($self->install_base)
5175 70 0 $relpath ? :
5178 24 122 if ($self->prefix)
5180 24 0 $relpath ? :
5190 5 7 if ($self->install_base) { }
0 7 elsif ($self->prefix) { }
5210 39 33 unless -e $localdir
5219 33 0 if (my $dest = $self->install_destination($type)) { }
5227 0 9 if @skipping
5232 9 0 if ($self->create_packlist and my $module_name = $self->module_name)
5239 5 4 if (length(my $destdir = $self->destdir || ''))
5254 25 0 if ($file ne '') { }
5279 123 954 if /$pattern/
5280 24 35 if &$pattern()
5281 10 0 ref $pattern eq 'CODE' ? :
351 10 !ref($pattern) || ref $pattern eq 'Regexp' ? :
105 361 !$pattern ? :
5291 380 200 unless -e $_
5294 0 200 if -e $_
5312 37 17 if $s->{'_cbuilder'}
5315 9 8 $self->quiet ? :
5325 19 8 if defined $p->{'_have_c_compiler'}
5330 8 0 $have ? :
5337 1 18 unless ($self->have_c_compiler)
5344 6 12 if $self->up_to_date($file, $obj_file)
5366 6 12 if $self->up_to_date([$spec->{'obj_file'}, @$objects], $spec->{'lib_file'})
5384 13 0 if (eval {
5394 0 0 unless my $xsubpp = "Module::Metadata"->find_module_by_name("ExtUtils::xsubpp")
5404 0 0 if $lib_typemap
5414 0 0 unless open my $fh, ">", $args{'outfile'}
5423 1266 538 unless defined $string
5424 115 423 if ref $string eq "ARRAY"
5426 63 360 unless length $string
5440 0 7 unless defined $switches
5441 0 7 unless defined $args
5447 0 7 ref $self ? :
5454 308 7200 unless ref $_
5463 0 3766 unless ref $args
5464 260 3506 ref $self ? :
5507 0 19 defined &DynaLoader::mod2fname ? :
5527 13 6 unless ($self->up_to_date($file, $spec->{'c_file'}))
5537 12 6 unless -d $spec->{'archdir'}
5541 12 6 unless ($self->up_to_date($file, $spec->{'bs_file'}))
5564 0 0 if not $seen{$_}++
5565 4046 0 length $ENV{'PERL5LIB'} < 500 ? :
0 4046 !exists $ENV{'PERL5LIB'} ? :
5568 0 4046 if ($status and $! =~ /Argument list too long/i)
5578 172 17 @_ > 3 ? :
5583 120 69 unless exists $args{'verbose'}
5586 0 189 unless (defined $file and length $file)
5591 1 188 if "File::Spec"->file_name_is_absolute($file)
5594 102 87 if (defined $args{'to'} and length $args{'to'}) { }
87 0 elsif (defined $args{'to_dir'} and length $args{'to_dir'}) { }
5598 18 69 $args{'flatten'} ? :
5604 45 144 if $self->up_to_date($file, $to_path)
5616 0 144 if ($^O eq 'os2') { }
5618 0 0 unless File::Copy::syscopy($file, $to_path, 1)
5620 0 144 unless File::Copy::copy($file, $to_path)
5624 6 138 $self->is_executable($file) ? :
5632 295 19 unless ref $source
5633 308 6 unless ref $derived
5636 226 88 if @$source and not @$derived or grep {not -e $_;} @$derived
5640 0 88 unless (-e $file)
5644 88 0 if -M _ < $most_recent_source
5648 1 87 if -M $derived > $most_recent_source
5662 0 35 if @second_dirs < @first_dirs
5666 0 35 $self->_case_tolerant ? :
5669 0 91 unless &$is_same(shift @first_dirs, shift @second_dirs)