line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
1
|
|
|
|
|
|
|
package App::merge_cpanfile; |
2
|
1
|
|
|
1
|
|
459
|
use 5.008001; |
|
1
|
|
|
|
|
2
|
|
3
|
1
|
|
|
1
|
|
3
|
use strict; |
|
1
|
|
|
|
|
1
|
|
|
1
|
|
|
|
|
17
|
|
4
|
1
|
|
|
1
|
|
8
|
use warnings; |
|
1
|
|
|
|
|
1
|
|
|
1
|
|
|
|
|
22
|
|
5
|
|
|
|
|
|
|
|
6
|
1
|
|
|
1
|
|
398
|
use Module::CPANfile; |
|
1
|
|
|
|
|
10593
|
|
|
1
|
|
|
|
|
24
|
|
7
|
1
|
|
|
1
|
|
5
|
use CPAN::Meta::Prereqs; |
|
1
|
|
|
|
|
1
|
|
|
1
|
|
|
|
|
157
|
|
8
|
|
|
|
|
|
|
|
9
|
|
|
|
|
|
|
our $VERSION = "0.01"; |
10
|
|
|
|
|
|
|
|
11
|
|
|
|
|
|
|
sub run { |
12
|
0
|
|
|
0
|
0
|
|
my ($self, @argv) = @_; |
13
|
0
|
|
|
|
|
|
my ($dest, $src) = @argv; |
14
|
|
|
|
|
|
|
|
15
|
0
|
|
|
|
|
|
my $dest_cpanfile = Module::CPANfile->load($dest); |
16
|
0
|
|
|
|
|
|
my $src_cpanfile = Module::CPANfile->load($src); |
17
|
|
|
|
|
|
|
|
18
|
0
|
|
|
|
|
|
my $merged_cpanfile = $self->merge_cpanfiles( |
19
|
|
|
|
|
|
|
$src_cpanfile, |
20
|
|
|
|
|
|
|
$dest_cpanfile, |
21
|
|
|
|
|
|
|
'runtime', |
22
|
|
|
|
|
|
|
'requires', |
23
|
|
|
|
|
|
|
); |
24
|
|
|
|
|
|
|
|
25
|
0
|
|
|
|
|
|
print $merged_cpanfile->to_string; |
26
|
|
|
|
|
|
|
} |
27
|
|
|
|
|
|
|
|
28
|
|
|
|
|
|
|
sub merge_cpanfiles { |
29
|
0
|
|
|
0
|
0
|
|
my ($self, $src, $dest, $phase, $type) = @_; |
30
|
|
|
|
|
|
|
|
31
|
0
|
|
|
|
|
|
my $merged_prereqs = $dest->prereqs->with_merged_prereqs( |
32
|
|
|
|
|
|
|
$self->extract_prereqs_for($src->prereqs, $phase, $type) |
33
|
|
|
|
|
|
|
); |
34
|
|
|
|
|
|
|
|
35
|
0
|
|
|
|
|
|
return Module::CPANfile->from_prereqs($merged_prereqs->as_string_hash); |
36
|
|
|
|
|
|
|
} |
37
|
|
|
|
|
|
|
|
38
|
|
|
|
|
|
|
sub extract_prereqs_for { |
39
|
0
|
|
|
0
|
0
|
|
my ($self, $prereqs, $phase, $type) = @_; |
40
|
0
|
|
|
|
|
|
my $reqs = $prereqs->requirements_for($phase, $type); |
41
|
0
|
|
|
|
|
|
my $new_prereqs = CPAN::Meta::Prereqs->new({ |
42
|
|
|
|
|
|
|
$phase => { $type => $reqs->as_string_hash } |
43
|
|
|
|
|
|
|
}); |
44
|
0
|
|
|
|
|
|
return $new_prereqs; |
45
|
|
|
|
|
|
|
} |
46
|
|
|
|
|
|
|
|
47
|
|
|
|
|
|
|
1; |
48
|
|
|
|
|
|
|
__END__ |