line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
1
|
1
|
|
|
1
|
|
4458
|
use strict; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
41
|
|
2
|
|
|
|
|
|
|
package Siesta::Build; |
3
|
1
|
|
|
1
|
|
3428
|
use Module::Build; |
|
1
|
|
|
|
|
127403
|
|
|
1
|
|
|
|
|
10
|
|
4
|
1
|
|
|
1
|
|
33
|
use File::Find qw(find); |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
60
|
|
5
|
1
|
|
|
1
|
|
6
|
use IO::File; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
183
|
|
6
|
1
|
|
|
1
|
|
6
|
use base 'Module::Build'; |
|
1
|
|
|
|
|
1
|
|
|
1
|
|
|
|
|
84
|
|
7
|
1
|
|
|
1
|
|
5
|
use vars qw/$FAKE/; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
657
|
|
8
|
|
|
|
|
|
|
|
9
|
|
|
|
|
|
|
sub create_build_script { |
10
|
0
|
|
|
0
|
0
|
|
my $self = shift; |
11
|
0
|
|
|
|
|
|
$self->SUPER::create_build_script; |
12
|
|
|
|
|
|
|
|
13
|
|
|
|
|
|
|
# check for incompatible steps |
14
|
0
|
|
|
|
|
|
my $module = $self->{properties}{module_name}; |
15
|
0
|
0
|
|
|
|
|
if (my $version = $self->check_installed_version($module, 0)) { |
16
|
0
|
|
|
|
|
|
print "Upgrading from $module $version\n"; |
17
|
0
|
|
|
|
|
|
my $fh = IO::File->new('Changes'); |
18
|
0
|
|
|
|
|
|
my $chunk = ''; |
19
|
0
|
|
|
|
|
|
my $this; |
20
|
0
|
|
|
|
|
|
while (<$fh>) { |
21
|
0
|
0
|
|
|
|
|
if (/^(\S+)/) { |
22
|
0
|
0
|
|
|
|
|
print "Incompatible change introduced in version $this:\n", $chunk |
23
|
|
|
|
|
|
|
if $chunk =~ /INCOMPATIBLE/; |
24
|
0
|
|
|
|
|
|
$this = $1; |
25
|
0
|
0
|
|
|
|
|
last if $self->check_installed_version( $module, $this ); |
26
|
0
|
|
|
|
|
|
$chunk = ''; |
27
|
|
|
|
|
|
|
} |
28
|
0
|
|
|
|
|
|
$chunk .= $_; |
29
|
|
|
|
|
|
|
} |
30
|
|
|
|
|
|
|
} |
31
|
|
|
|
|
|
|
} |
32
|
|
|
|
|
|
|
|
33
|
|
|
|
|
|
|
sub ACTION_install { |
34
|
0
|
|
|
0
|
0
|
|
my $self = shift; |
35
|
0
|
|
|
|
|
|
$self->SUPER::ACTION_install; |
36
|
0
|
|
|
|
|
|
$self->ACTION_install_extras; |
37
|
|
|
|
|
|
|
} |
38
|
|
|
|
|
|
|
|
39
|
|
|
|
|
|
|
sub ACTION_fakeinstall { |
40
|
0
|
|
|
0
|
0
|
|
my $self = shift; |
41
|
0
|
|
|
|
|
|
$self->SUPER::ACTION_fakeinstall; |
42
|
0
|
|
|
|
|
|
local $FAKE = 1; |
43
|
0
|
|
|
|
|
|
$self->ACTION_install_extras; |
44
|
|
|
|
|
|
|
} |
45
|
|
|
|
|
|
|
|
46
|
|
|
|
|
|
|
sub ACTION_install_extras { |
47
|
0
|
|
|
0
|
0
|
|
my $self = shift; |
48
|
0
|
|
|
|
|
|
my $path = $self->{config}{__extras_destination}; |
49
|
0
|
|
|
|
|
|
my @files = $self->_find_extras; |
50
|
0
|
|
|
|
|
|
print "installing extras to $path\n"; |
51
|
0
|
|
|
|
|
|
for (@files) { |
52
|
0
|
0
|
|
|
|
|
$FAKE |
53
|
|
|
|
|
|
|
? print "$_ -> $path/$_ (FAKE)\n" |
54
|
|
|
|
|
|
|
: $self->copy_if_modified($_, $path); |
55
|
|
|
|
|
|
|
} |
56
|
|
|
|
|
|
|
} |
57
|
|
|
|
|
|
|
|
58
|
|
|
|
|
|
|
sub ACTION_cover { |
59
|
0
|
|
|
0
|
0
|
|
my $self = shift; |
60
|
0
|
|
|
|
|
|
$self->depends_on('build'); |
61
|
0
|
|
|
|
|
|
system qw( cover -delete ); |
62
|
|
|
|
|
|
|
|
63
|
|
|
|
|
|
|
# sometimes we get failing tests, which makes Test::Harness |
64
|
|
|
|
|
|
|
# die. catch that |
65
|
0
|
|
|
|
|
|
eval { |
66
|
0
|
|
|
|
|
|
local $ENV{PERL5OPT} = "-MDevel::Cover=-summary,0"; |
67
|
0
|
|
|
|
|
|
$self->ACTION_test(@_); |
68
|
|
|
|
|
|
|
}; |
69
|
0
|
|
|
|
|
|
system qw( cover -report html ); |
70
|
|
|
|
|
|
|
} |
71
|
|
|
|
|
|
|
|
72
|
|
|
|
|
|
|
sub _find_extras { |
73
|
0
|
|
|
0
|
|
|
my $self = shift; |
74
|
0
|
|
|
|
|
|
my @files; |
75
|
|
|
|
|
|
|
find(sub { |
76
|
0
|
0
|
0
|
0
|
|
|
$File::Find::prune = 1 if -d && /^\.svn$/; |
77
|
0
|
0
|
|
|
|
|
return if -d; |
78
|
0
|
0
|
|
|
|
|
return if /~$/; |
79
|
0
|
|
|
|
|
|
push @files, $File::Find::name; |
80
|
0
|
|
|
|
|
|
}, @{ $self->{config}{__extras_from} }); |
|
0
|
|
|
|
|
|
|
81
|
0
|
|
|
|
|
|
return @files; |
82
|
|
|
|
|
|
|
} |
83
|
|
|
|
|
|
|
|
84
|
|
|
|
|
|
|
1; |