2 use warnings FATAL => 'all';
4 use ExtUtils::MakeMaker;
7 (do 'maint/Makefile.PL.include' or die $@) unless -f 'META.yml';
10 'ExtUtils::MakeMaker' => 0,
11 'Dist::CheckConflicts' => '0.02',
17 'Test::Fatal' => 0.003,
21 'Class::Method::Modifiers' => 1.10, # for RT#80194
22 'strictures' => 1.004003,
23 'Module::Runtime' => 0.012, # for RT#74789
24 'Role::Tiny' => 1.003002,
25 'Devel::GlobalDestruction' => 0.11, # for RT#78617
26 'Dist::CheckConflicts' => 0.02,
30 'meta-spec' => { version => 2 },
33 url => 'https://github.com/moose/Moo.git',
34 web => 'https://github.com/moose/Moo',
37 x_IRC => 'irc://irc.perl.org/#moose',
39 web => 'https://rt.cpan.org/Public/Dist/Display.html?Name=Moo',
40 mailto => 'bug-Moo@rt.cpan.org',
42 license => [ 'http://dev.perl.org/licenses/' ],
45 configure => { requires => { %CONFIGURE_DEPS } },
46 build => { requires => { %BUILD_DEPS } },
47 test => { requires => { %TEST_DEPS } },
48 runtime => { requires => { %RUN_DEPS, perl => '5.8.1' } },
49 develop => { requires => { map { $_ => 0 } qw(
51 indirect multidimensional bareword::filehandles
52 Moose Mouse namespace::clean namespace::autoclean
53 MooseX::Types::Common::Numeric
58 # have to do this since old EUMM dev releases miss the eval $VERSION line
59 my $mymeta_works = do { no warnings; $ExtUtils::MakeMaker::VERSION >= 6.57_07 };
60 my $mymeta = do { no warnings; $ExtUtils::MakeMaker::VERSION >= 6.57_02 };
62 my $has_test_requires = do { no warnings; $ExtUtils::MakeMaker::VERSION >= 6.63_03 };
64 my $has_meta_v2 = do { no warnings; $ExtUtils::MakeMaker::VERSION >= 6.57_10 };
69 if (not $has_test_requires) {
70 %BUILD_DEPS = (%BUILD_DEPS, %TEST_DEPS);
73 if (not $mymeta_works) {
74 %RUN_DEPS = (%RUN_DEPS, %BUILD_DEPS);
80 VERSION_FROM => 'lib/Moo.pm',
81 CONFIGURE_REQUIRES => \%CONFIGURE_DEPS,
84 ($] >= 5.010 ? () : ('MRO::Compat' => 0)),
86 keys %BUILD_DEPS ? ( BUILD_REQUIRES => \%BUILD_DEPS ) : (),
87 keys %TEST_DEPS ? ( TEST_REQUIRES => \%TEST_DEPS ) : (),
88 META_ADD => \%extra_info,
93 Moo::Conflicts->can('conflicts') ? (
94 x_breaks => { Moo::Conflicts->conflicts }
97 ($mymeta && !$mymeta_works ? (NO_MYMETA => 1) : ()),
105 # copied from Moose-2.0801/Makefile.PL
106 sub check_conflicts {
107 if ( eval { require 'lib/Moo/Conflicts.pm'; 1; } ) {
108 if ( eval { Moo::Conflicts->check_conflicts; 1 } ) {
114 warn "***\n$err***\n";
120 Your toolchain doesn't support configure_requires, so
121 Dist::CheckConflicts hasn't been installed yet. You should check for
122 conflicting modules manually using the 'moo-outdated' script that is
123 installed with this distribution once the installation finishes.
128 return if $ENV{AUTOMATED_TESTING} || $ENV{NONINTERACTIVE_TESTING};
130 # More or less copied from Module::Build
131 return if $ENV{PERL_MM_USE_DEFAULT};
132 return unless -t STDIN && ( -t STDOUT || !( -f STDOUT || -c STDOUT ) );