use strict;
use warnings;

on configure => sub {
  requires 'CPAN::Meta'                    => '0';
  requires 'ExtUtils::MakeMaker'           => '6.76';    # Offers the RECURSIVE_TEST_FILES, NO_PERLLOCAL features
  requires 'ExtUtils::MakeMaker::CPANfile' => '0.10';    # Needs at least ExtUtils::MakeMaker 6.52
  requires 'File::ShareDir::Install'       => '0';
  requires 'File::Spec::Functions'         => '0';
  requires 'Module::Loaded'                => '0';
  requires 'Module::Load::Conditional'     => '0';
  requires 'strict'                        => '0';
  requires 'warnings'                      => '0'
};

on runtime => sub {
  requires 'Carp'                           => '1.32';       # Don't vivify @CARP_NOT and @ISA in caller's namespace
  requires 'Fcntl'                          => '0';
  requires 'File::Copy::Recursive::Reduced' => '0';
  requires 'File::Find'                     => '0';
  requires 'File::ShareDir::Tiny'           => '0';
  requires 'File::Spec::Functions'          => '0';
  requires 'File::Temp'                     => '0';
  requires 'Getopt::Guided'                 => '3.2.2';
  requires 'PerlX::Maybe'                   => '0';
  requires 'Safe::Isa'                      => '0';
  requires 'Try::Tiny'                      => '0';
  requires 'YAML::Tiny'                     => '0';
  requires 'perl'                           => '5.010000';
  requires 'strict'                         => '0';
  requires 'warnings'                       => '0'
};

on test => sub {
  requires 'Config'                         => '0';
  requires 'File::Which'                    => '0';
  requires 'Test2::Require::ReleaseTesting' => '0';
  requires 'Test2::V1'                      => '0';
  requires 'Test::Mock::Cmd'                => '0';
  requires 'Test::Output'                   => '0';
  requires 'Test::Script'                   => '1.31'
};

on develop => sub {
  requires 'Perl::Tidy'         => '0';
  requires 'Test::Perl::Critic' => '0'
}
