# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v6.033.
use strict;
use warnings;

use 5.014;

use ExtUtils::MakeMaker;

use File::ShareDir::Install;
$File::ShareDir::Install::INCLUDE_DOTFILES = 1;
$File::ShareDir::Install::INCLUDE_DOTDIRS = 1;
install_share dist => "share";


my %WriteMakefileArgs = (
  "ABSTRACT" => "Lightweight yet powerful web application framework",
  "AUTHOR" => "Dancer Core Developers",
  "CONFIGURE_REQUIRES" => {
    "CPAN::Meta::Requirements" => "2.120620",
    "ExtUtils::MakeMaker" => 0,
    "File::ShareDir::Install" => "0.06",
    "Module::Metadata" => 0
  },
  "DISTNAME" => "Dancer2",
  "EXE_FILES" => [
    "script/dancer2"
  ],
  "LICENSE" => "perl",
  "MIN_PERL_VERSION" => "5.014",
  "NAME" => "Dancer2",
  "PREREQ_PM" => {
    "Attribute::Handlers" => 0,
    "CLI::Osprey" => 0,
    "Carp" => 0,
    "Clone" => 0,
    "Config::Any" => 0,
    "Data::Censor" => "0.04",
    "Digest::SHA" => 0,
    "Encode" => 0,
    "Exporter" => "5.57",
    "Exporter::Tiny" => 0,
    "File::Basename" => 0,
    "File::Copy" => 0,
    "File::Path" => 0,
    "File::Share" => 0,
    "File::Spec" => 0,
    "File::Temp" => 0,
    "File::Which" => 0,
    "HTTP::Date" => 0,
    "HTTP::Headers::Fast" => "0.21",
    "HTTP::Tiny" => 0,
    "Hash::Merge::Simple" => 0,
    "Hash::MultiValue" => 0,
    "Import::Into" => 0,
    "JSON::MaybeXS" => 0,
    "List::Util" => "1.29",
    "MIME::Base64" => "3.13",
    "Module::Pluggable" => 0,
    "Module::Runtime" => 0,
    "Moo" => "2.000000",
    "Moo::Role" => 0,
    "POSIX" => 0,
    "Path::Tiny" => 0,
    "Plack" => "1.0040",
    "Plack::Middleware::FixMissingBodyInRedirect" => 0,
    "Plack::Middleware::RemoveRedundantBody" => 0,
    "Ref::Util" => 0,
    "Role::Tiny" => "2.000000",
    "Safe::Isa" => 0,
    "Sub::Quote" => 0,
    "Sub::Util" => 0,
    "Template" => 0,
    "Template::Tiny" => "1.16",
    "Test::Builder" => 0,
    "Test::More" => "0.92",
    "Type::Tiny" => "1.000006",
    "Types::Standard" => 0,
    "URI::Escape" => 0,
    "YAML" => "0.86",
    "parent" => 0
  },
  "TEST_REQUIRES" => {
    "Capture::Tiny" => "0.12",
    "ExtUtils::MakeMaker" => 0,
    "File::Spec" => 0,
    "HTTP::Cookies" => 0,
    "HTTP::Headers" => 0,
    "IO::Handle" => 0,
    "IPC::Open3" => 0,
    "Pod::Simple::SimpleTree" => 0,
    "Template" => 0,
    "Test::Builder" => 0,
    "Test::EOL" => 0,
    "Test::Exception" => 0,
    "Test::Fatal" => 0,
    "Test::More" => "0.92"
  },
  "VERSION" => "2.0.1",
  "test" => {
    "TESTS" => "t/*.t t/classes/Dancer2-Core-Factory/*.t t/classes/Dancer2-Core-Hook/*.t t/classes/Dancer2-Core-Request/*.t t/classes/Dancer2-Core-Response-Delayed/*.t t/classes/Dancer2-Core-Response/*.t t/classes/Dancer2-Core-Role-Engine/*.t t/classes/Dancer2-Core-Role-Handler/*.t t/classes/Dancer2-Core-Role-HasConfig/*.t t/classes/Dancer2-Core-Role-HasEnvironment/*.t t/classes/Dancer2-Core-Role-HasLocation/*.t t/classes/Dancer2-Core-Role-Serializer/*.t t/classes/Dancer2-Core-Role-StandardResponses/*.t t/classes/Dancer2-Core-Route/*.t t/classes/Dancer2-Core-Runner/*.t t/classes/Dancer2-Core/*.t t/classes/Dancer2/*.t t/dsl/*.t t/examples/*.t t/issues/*.t t/issues/gh-1013/*.t t/issues/gh-1046/*.t t/issues/gh-1216/*.t t/issues/gh-1226/*.t t/issues/gh-1230/*.t t/issues/gh-1621/*.t t/issues/gh-1712/*.t t/issues/gh-639/fails/*.t t/issues/gh-639/succeeds/*.t t/issues/gh-650/*.t t/issues/gh-975/*.t t/issues/memleak/*.t t/plugin2/*.t t/plugin2/app_dsl_cb/*.t t/roles/*.t t/route-pod-coverage/*.t t/scope_problems/*.t"
  }
);


my %FallbackPrereqs = (
  "Attribute::Handlers" => 0,
  "CLI::Osprey" => 0,
  "Capture::Tiny" => "0.12",
  "Carp" => 0,
  "Clone" => 0,
  "Config::Any" => 0,
  "Data::Censor" => "0.04",
  "Digest::SHA" => 0,
  "Encode" => 0,
  "Exporter" => "5.57",
  "Exporter::Tiny" => 0,
  "ExtUtils::MakeMaker" => 0,
  "File::Basename" => 0,
  "File::Copy" => 0,
  "File::Path" => 0,
  "File::Share" => 0,
  "File::Spec" => 0,
  "File::Temp" => 0,
  "File::Which" => 0,
  "HTTP::Cookies" => 0,
  "HTTP::Date" => 0,
  "HTTP::Headers" => 0,
  "HTTP::Headers::Fast" => "0.21",
  "HTTP::Tiny" => 0,
  "Hash::Merge::Simple" => 0,
  "Hash::MultiValue" => 0,
  "IO::Handle" => 0,
  "IPC::Open3" => 0,
  "Import::Into" => 0,
  "JSON::MaybeXS" => 0,
  "List::Util" => "1.29",
  "MIME::Base64" => "3.13",
  "Module::Pluggable" => 0,
  "Module::Runtime" => 0,
  "Moo" => "2.000000",
  "Moo::Role" => 0,
  "POSIX" => 0,
  "Path::Tiny" => 0,
  "Plack" => "1.0040",
  "Plack::Middleware::FixMissingBodyInRedirect" => 0,
  "Plack::Middleware::RemoveRedundantBody" => 0,
  "Pod::Simple::SimpleTree" => 0,
  "Ref::Util" => 0,
  "Role::Tiny" => "2.000000",
  "Safe::Isa" => 0,
  "Sub::Quote" => 0,
  "Sub::Util" => 0,
  "Template" => 0,
  "Template::Tiny" => "1.16",
  "Test::Builder" => 0,
  "Test::EOL" => 0,
  "Test::Exception" => 0,
  "Test::Fatal" => 0,
  "Test::More" => "0.92",
  "Type::Tiny" => "1.000006",
  "Types::Standard" => 0,
  "URI::Escape" => 0,
  "YAML" => "0.86",
  "parent" => 0
);

# inserted by Dist::Zilla::Plugin::DynamicPrereqs 0.040
if (has_module('HTTP::XSCookies')) {
requires('HTTP::XSCookies', '0.000007')
}



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);

{
package
MY;
use File::ShareDir::Install qw(postamble);
}

# inserted by Dist::Zilla::Plugin::DynamicPrereqs 0.040
sub _add_prereq {
  my ($mm_key, $module, $version_or_range) = @_;
  $version_or_range ||= 0;
  warn "$module already exists in $mm_key (at version $WriteMakefileArgs{$mm_key}{$module}) -- need to do a sane metamerge!"
    if exists $WriteMakefileArgs{$mm_key}{$module}
      and $WriteMakefileArgs{$mm_key}{$module} ne '0'
      and $WriteMakefileArgs{$mm_key}{$module} ne $version_or_range;
  warn "$module already exists in FallbackPrereqs (at version $FallbackPrereqs{$module}) -- need to do a sane metamerge!"
    if exists $FallbackPrereqs{$module} and $FallbackPrereqs{$module} ne '0'
        and $FallbackPrereqs{$module} ne $version_or_range;
  $WriteMakefileArgs{$mm_key}{$module} = $FallbackPrereqs{$module} = $version_or_range;
  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);
}
