App-Chart
view release on metacpan or search on metacpan
devel/makefile-from-grep.pl view on Meta::CPAN
}
print "main used: ", join (', ', keys %used_module), "\n";
print "test optional: ", join (', ', keys %test_optional_module), "\n";
print "examples used: ", join (', ', keys %examples_used_module), "\n";
print "devel used: ", join (', ', keys %devel_used_module), "\n";
used_vs_makefile ('main', \%used_module, $makefile_prereq);
used_vs_makefile ('tests', \%test_optional_module, $makefile_test_optional);
used_vs_makefile ('examples', \%examples_used_module, $makefile_examples_prereq);
# used_vs_makefile ('devel', \%devel_used_module, $makefile_devel_prereq);
sub used_vs_makefile {
my ($name, $usedref, $prereq) = @_;
$prereq || return;
my $ok = 1;
foreach my $module (sort keys %$usedref) {
my $module_version = $usedref->{$module};
if (! (exists $makefile_prereq->{$module}
|| exists $prereq->{$module})) {
print "$name: not in Makefile.PL $name: $module $module_version\n";
$ok = 0;
} else {
my $prereq_version = $makefile_prereq->{$module} || $prereq->{$module}
|| version->new(0);
if ($prereq_version < $module_version) {
print "$name: $module Makefile.PL only $prereq_version but require $module_version\n";
$ok = 0;
}
}
}
foreach my $module (sort keys %$prereq) {
if (! exists $usedref->{$module}) {
print "$name: extra in Makefile.PL $name: $module\n";
$ok = 0;
}
}
if ($ok) {
print "$name: ok\n";
}
}
exit 0;
#------------------------------------------------------------------------------
package MyModuleDepends;
use Devel::StackTrace;
use base 'Module::Depends::Intrusive';
sub requires {
my $self = shift;
if (@_) {
# store
my $trace = Devel::StackTrace->new;
my $frame = $trace->frame(2)
|| die "oops, no frame(2):\n$trace";
my %writeargs = $frame->args;
$self->{'extra_meta'} = $writeargs{'EXTRA_META'};
}
return $self->SUPER::requires (@_);
}
( run in 1.516 second using v1.01-cache-2.11-cpan-97f6503c9c8 )