# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v6.005.
use strict;
use warnings;
use 5.008;
use ExtUtils::MakeMaker;
my %WriteMakefileArgs = (
"ABSTRACT" => "A serialization framework for Moose classes",
"AUTHOR" => "Chris Prather <chris.prather\@iinteractive.com>, Stevan Little <stevan.little\@iinteractive.com>, \x{5d9}\x{5d5}\x{5d1}\x{5dc} \x{5e7}\x{5d5}\x{5d2}'\x{5de}\x{5df} (Yuval Kogman) <nothingmuch\@woobling.org>",
"CONFIGURE_REQUIRES" => {
"CPAN::Meta::Requirements" => "2.120620",
"ExtUtils::MakeMaker" => 0,
"Module::Metadata" => 0
},
"DISTNAME" => "MooseX-Storage",
"LICENSE" => "perl",
"MIN_PERL_VERSION" => "5.008",
"NAME" => "MooseX::Storage",
"PREREQ_PM" => {
"Carp" => 0,
"Data::Dumper" => 0,
"Digest" => 0,
"Module::Runtime" => 0,
"Moose" => "0.99",
"Moose::Meta::Attribute" => 0,
"Moose::Role" => 0,
"Scalar::Util" => 0,
"String::RewritePrefix" => 0,
"namespace::autoclean" => 0
},
"TEST_REQUIRES" => {
"File::Spec" => 0,
"File::Spec::Functions" => 0,
"File::Temp" => 0,
"JSON::PP" => 0,
"Module::Metadata" => 0,
"Moose::Util::TypeConstraints" => 0,
"Test::Deep" => 0,
"Test::Deep::Type" => 0,
"Test::Fatal" => 0,
"Test::More" => "0.88",
"Test::Requires" => 0,
"overload" => 0,
"strict" => 0,
"utf8" => 0,
"warnings" => 0
},
"VERSION" => "0.52",
"test" => {
"TESTS" => "t/*.t"
}
);
my %FallbackPrereqs = (
"Carp" => 0,
"Data::Dumper" => 0,
"Digest" => 0,
"File::Spec" => 0,
"File::Spec::Functions" => 0,
"File::Temp" => 0,
"JSON::PP" => 0,
"Module::Metadata" => 0,
"Module::Runtime" => 0,
"Moose" => "0.99",
"Moose::Meta::Attribute" => 0,
"Moose::Role" => 0,
"Moose::Util::TypeConstraints" => 0,
"Scalar::Util" => 0,
"String::RewritePrefix" => 0,
"Test::Deep" => 0,
"Test::Deep::Type" => 0,
"Test::Fatal" => 0,
"Test::More" => "0.88",
"Test::Requires" => 0,
"namespace::autoclean" => 0,
"overload" => 0,
"strict" => 0,
"utf8" => 0,
"warnings" => 0
);
# inserted by Dist::Zilla::Plugin::DynamicPrereqs 0.029
requires('JSON::MaybeXS', '1.001000')
if has_module('JSON::MaybeXS', '1.001000')
|| prompt('install Serialize to JSON. You should have at least one serialization format.? [Y/n]', 'Y') =~ /^y/i;
test_requires('Test::Deep::JSON')
if has_module('Test::Deep::JSON')
|| prompt('install Serialize to JSON. You should have at least one serialization format.? [Y/n]', 'Y') =~ /^y/i;
requires('YAML::Any')
if has_module('YAML::Any')
|| prompt('install Serialize to YAML. You should have at least one serialization format.? [Y/n]', 'Y') =~ /^y/i;
test_requires('Test::Without::Module')
if has_module('Test::Without::Module')
|| prompt('install Serialize to YAML. You should have at least one serialization format.? [Y/n]', 'Y') =~ /^y/i;
requires('Storable')
if has_module('Storable')
|| prompt('install Serialize to Storable. You should have at least one serialization format.? [Y/n]', 'Y') =~ /^y/i;
if (has_module('IO::AtomicFile') && has_module('IO::File')
|| prompt('install the ability to save the file to disk? [Y/n]', 'Y') =~ /^y/i) {
requires('IO::AtomicFile');
requires('IO::File');
}
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.029
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);
}
sub test_requires {
my ($module, $version_or_range) = @_;
_add_prereq(TEST_REQUIRES => $module, $version_or_range);
}