Acme-CPANAuthors-India
view release on metacpan or search on metacpan
t/00-report-prereqs.t view on Meta::CPAN
242526272829303132333435363738394041424344);
# replace modules with dynamic results from MYMETA.json if we can
# (hide CPAN::Meta from prereq scanner)
my
$cpan_meta
=
"CPAN::Meta"
;
if
( -f
"MYMETA.json"
&&
eval
"require $cpan_meta"
) {
## no critic
if
(
my
$meta
=
eval
{ CPAN::Meta->load_file(
"MYMETA.json"
) } ) {
my
$prereqs
=
$meta
->prereqs;
delete
$prereqs
->{develop};
my
%uniq
=
map
{
$_
=> 1 }
map
{
keys
%$_
}
map
{
values
%$_
}
values
%$prereqs
;
$uniq
{
$_
} = 1
for
@modules
;
# don't lose any static ones
@modules
=
sort
keys
%uniq
;
}
}
my
@reports
= [
qw/Version Module/
];
for
my
$mod
(
@modules
) {
next
if
$mod
eq
'perl'
;
my
$file
=
$mod
;
t/00-report-prereqs.t view on Meta::CPAN
4950515253545556575859606162636465666768
my
$ver
= MM->parse_version( catfile(
$prefix
,
$file
) );
$ver
=
"undef"
unless
defined
$ver
;
# Newer MM should do this anyway
push
@reports
, [
$ver
,
$mod
];
}
else
{
push
@reports
, [
"missing"
,
$mod
];
}
}
if
(
@reports
) {
my
$vl
= max
map
{
length
$_
->[0] }
@reports
;
my
$ml
= max
map
{
length
$_
->[1] }
@reports
;
splice
@reports
, 1, 0, [
"-"
x
$vl
,
"-"
x
$ml
];
diag
"Prerequisite Report:\n"
,
map
{
sprintf
(
" %*s %*s\n"
,
$vl
,
$_
->[0], -
$ml
,
$_
->[1] ) }
@reports
;
}
pass;
# vim: ts=2 sts=2 sw=2 et:
( run in 0.219 second using v1.01-cache-2.11-cpan-fd5d4e115d8 )