File Coverage

inc/Module/Package.pm
Criterion Covered Total %
statement 9 28 32.1
branch 0 8 0.0
condition 1 6 16.6
subroutine 3 5 60.0
pod 0 1 0.0
total 13 48 27.0


line stmt bran cond sub pod time code
1             #line 1
2             ##
3             # name: Module::Package
4             # abstract: Postmodern Perl Module Packaging
5             # author: Ingy döt Net <ingy@cpan.org>
6             # license: perl
7             # copyright: 2011
8             # see:
9             # - Module::Package::Plugin
10             # - Module::Install::Package
11             # - Module::Package::Tutorial
12              
13 1     1   30 package Module::Package;
  1         5  
  1         48  
14 1     1   6 use 5.005;
  1         2  
  1         90  
15             use strict;
16              
17 1     1   2 BEGIN {
18 1   33     8 $Module::Package::VERSION = '0.30';
19 1         360 $inc::Module::Package::VERSION ||= $Module::Package::VERSION;
20             @inc::Module::Package::ISA = __PACKAGE__;
21             }
22              
23 0     0     sub import {
24 0           my $class = shift;
25 0 0         $INC{'inc/Module/Install.pm'} = __FILE__;
26 0 0         unshift @INC, 'inc' unless $INC[0] eq 'inc';
27             eval "use Module::Install 1.01 (); 1" or $class->error($@);
28              
29 0           package main;
30 0           Module::Install->import();
31 0           eval {
32 0           module_package_internals_version_check($Module::Package::VERSION);
33             module_package_internals_init(@_);
34 0 0         };
35 0           if ($@) {
36 0           $Module::Package::ERROR = $@;
37             die $@;
38             }
39             }
40              
41             # XXX Remove this when things are stable.
42 0     0 0   sub error {
43 0 0 0       my ($class, $error) = @_;
44 0           if (-e 'inc' and not -e 'inc/.author') {
45 0           require Data::Dumper;
46 0           $Data::Dumper::Sortkeys = 1;
47 0           my $dump1 = Data::Dumper::Dumper(\%INC);
48 0           my $dump2 = Data::Dumper::Dumper(\@INC);
49             die <<"...";
50             This should not have happened. Hopefully this dump will explain the problem:
51              
52             inc::Module::Package: $inc::Module::Package::VERSION
53             Module::Package: $Module::Package::VERSION
54             inc::Module::Install: $inc::Module::Install::VERSION
55             Module::Install: $Module::Install::VERSION
56              
57             Error: $error
58              
59             %INC:
60             $dump1
61             \@INC:
62             $dump2
63             ...
64             }
65 0           else {
66             die $error;
67             }
68             }
69              
70             1;
71