# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v5.043.
use strict;
use warnings;
use 5.008001;
use ExtUtils::MakeMaker;
my %WriteMakefileArgs = (
"ABSTRACT" => "A modern perl interactive shell",
"AUTHOR" => "Matt S Trout - mst (at) shadowcatsystems.co.uk (L<http://www.shadowcatsystems.co.uk/>)",
"CONFIGURE_REQUIRES" => {
"CPAN::Meta::Requirements" => "2.120620",
"ExtUtils::MakeMaker" => 0,
"Module::Metadata" => 0
},
"DISTNAME" => "Devel-REPL",
"EXE_FILES" => [
"script/re.pl"
],
"LICENSE" => "perl",
"MIN_PERL_VERSION" => "5.008001",
"NAME" => "Devel::REPL",
"PREREQ_PM" => {
"B::Concise" => "0.62",
"Devel::Peek" => 0,
"File::HomeDir" => 0,
"File::Spec" => 0,
"JSON::PP" => "2.27300",
"Module::Runtime" => 0,
"Moose" => "0.93",
"Moose::Meta::Role" => 0,
"Moose::Role" => 0,
"MooseX::Getopt" => "0.18",
"MooseX::Object::Pluggable" => "0.0009",
"Scalar::Util" => 0,
"Task::Weaken" => 0,
"Term::ANSIColor" => 0,
"Term::ReadLine" => 0,
"Time::HiRes" => 0,
"namespace::autoclean" => 0,
"strict" => 0,
"warnings" => 0
},
"TEST_REQUIRES" => {
"ExtUtils::MakeMaker" => 0,
"File::Spec" => 0,
"Test::Fatal" => 0,
"Test::More" => "0.88",
"if" => 0
},
"VERSION" => "1.003028",
"test" => {
"TESTS" => "t/*.t"
}
);
my %FallbackPrereqs = (
"B::Concise" => "0.62",
"Devel::Peek" => 0,
"ExtUtils::MakeMaker" => 0,
"File::HomeDir" => 0,
"File::Spec" => 0,
"JSON::PP" => "2.27300",
"Module::Runtime" => 0,
"Moose" => "0.93",
"Moose::Meta::Role" => 0,
"Moose::Role" => 0,
"MooseX::Getopt" => "0.18",
"MooseX::Object::Pluggable" => "0.0009",
"Scalar::Util" => 0,
"Task::Weaken" => 0,
"Term::ANSIColor" => 0,
"Term::ReadLine" => 0,
"Test::Fatal" => 0,
"Test::More" => "0.88",
"Time::HiRes" => 0,
"if" => 0,
"namespace::autoclean" => 0,
"strict" => 0,
"warnings" => 0
);
# inserted by Dist::Zilla::Plugin::DynamicPrereqs 0.019
requires('PPI')
if has_module('PPI')
|| prompt('install Completion plugin - extensible tab completion? [Y/n]', 'Y') =~ /^y/i;
requires('Data::Dump::Streamer', '2.39')
if has_module('Data::Dump::Streamer', '2.39')
|| prompt('install DDS plugin - better format results with Data::Dump::Streamer? [Y/n]', 'Y') =~ /^y/i;
requires('Data::Dumper::Concise')
if has_module('Data::Dumper::Concise')
|| prompt('install DDC plugin - even better format results with Data::Dumper::Concise? [Y/n]', 'Y') =~ /^y/i;
requires('File::Next')
if has_module('File::Next')
|| prompt('install INC completion driver - tab complete module names in use and require? [Y/n]', 'Y') =~ /^y/i;
requires('Sys::SigAction')
if has_module('Sys::SigAction')
|| prompt('install Interrupt plugin - traps SIGINT to kill long-running lines? [y/N]', 'N') =~ /^y/i;
requires('B::Keywords')
if has_module('B::Keywords')
|| prompt('install Keywords completion driver - tab complete Perl keywords and operators? [Y/n]', 'Y') =~ /^y/i;
requires('Lexical::Persistence')
if has_module('Lexical::Persistence')
|| prompt('install LexEnv plugin - variables declared with "my" persist between statements? [Y/n]', 'Y') =~ /^y/i;
requires('PPI')
if has_module('PPI')
|| prompt('install MultiLine::PPI plugin - continue reading lines until all blocks are closed? [Y/n]', 'Y') =~ /^y/i;
requires('App::Nopaste')
if has_module('App::Nopaste')
|| prompt('install Nopaste plugin - upload a session\'s input and output to a Pastebin? [y/N]', 'N') =~ /^y/i;
requires('PPI')
if has_module('PPI')
|| prompt('install PPI plugin - PPI dumping of Perl code? [Y/n]', 'Y') =~ /^y/i;
requires('Module::Refresh')
if has_module('Module::Refresh')
|| prompt('install Refresh plugin - automatically reload libraries with Module::Refresh? [y/N]', 'N') =~ /^y/i;
unless ( eval { ExtUtils::MakeMaker->VERSION(6.63_03) } ) {
delete $WriteMakefileArgs{TEST_REQUIRES};
delete $WriteMakefileArgs{BUILD_REQUIRES};
$WriteMakefileArgs{PREREQ_PM} = \%FallbackPrereqs;
}
delete $WriteMakefileArgs{CONFIGURE_REQUIRES}
unless eval { ExtUtils::MakeMaker->VERSION(6.52) };
WriteMakefile(%WriteMakefileArgs);
# inserted by Dist::Zilla::Plugin::DynamicPrereqs 0.019
sub _add_prereq {
my ($mm_key, $module, $version_or_range) = @_;
warn "$module already exists in $mm_key -- need to do a sane metamerge!"
if exists $WriteMakefileArgs{$mm_key}{$module}
and $WriteMakefileArgs{$mm_key}{$module} ne ($version_or_range || 0);
warn "$module already exists in FallbackPrereqs -- need to do a sane metamerge!"
if exists $FallbackPrereqs{$module} and $FallbackPrereqs{$module} ne ($version_or_range || 0);
$WriteMakefileArgs{$mm_key}{$module} = $FallbackPrereqs{$module} = $version_or_range || 0;
return;
}
sub has_module {
my ($module, $version_or_range) = @_;
require Module::Metadata;
my $mmd = Module::Metadata->new_from_module($module);
return undef if not $mmd;
return $mmd->version($module) if not defined $version_or_range;
require CPAN::Meta::Requirements;
my $req = CPAN::Meta::Requirements->new;
$req->add_string_requirement($module => $version_or_range);
return 1 if $req->accepts_module($module => $mmd->version($module));
return 0;
}
sub requires { goto &runtime_requires }
sub runtime_requires {
my ($module, $version_or_range) = @_;
_add_prereq(PREREQ_PM => $module, $version_or_range);
}