Release 0.10011
[p5sagit/Class-Accessor-Grouped.git] / Makefile.PL
1 use strict;
2 use warnings;
3 use inc::Module::Install 1.06;
4
5 name 'Class-Accessor-Grouped';
6 license 'perl';
7 perl_version '5.006';
8 all_from 'lib/Class/Accessor/Grouped.pm';
9
10 requires 'Carp';
11 requires 'Module::Runtime' => '0.012';
12 requires 'Scalar::Util';
13 requires 'MRO::Compat' if $] < 5.009_005;
14
15 my $recommends = {
16   'Sub::Name' => '0.05',
17   # when changing CXSA version don't forget to adjust lib/Class/Accessor/Grouped.pm as well
18   'Class::XSAccessor' => '1.19',
19 };
20
21 recommends( $_ => $recommends->{$_} )
22   for keys %$recommends;
23
24 if (can_xs or $Module::Install::AUTHOR) {
25   requires 'Sub::Name' => $recommends->{'Sub::Name'};
26
27   requires 'Class::XSAccessor' => $recommends->{'Class::XSAccessor'}
28     if $] > '5.008'; # CXSA does not work on 5.6
29 }
30
31 test_requires 'Test::More' => '0.88';
32 test_requires 'Test::Exception' => '0.31';
33
34 clean_files "Class-Accessor-Grouped-* t/var";
35
36 if (-e 'MANIFEST.SKIP') {
37   system('pod2text lib/Class/Accessor/Grouped.pm > README');
38   realclean_files 'README';
39 }
40
41 auto_install;
42
43 resources repository => 'git://git.shadowcat.co.uk/p5sagit/Class-Accessor-Grouped.git';
44
45 WriteAll;
46 if ($Module::Install::AUTHOR) {
47   @{Meta->{values}{requires}} = grep
48     { $_->[0] !~ /^ (?: Class\:\:XSAccessor | Sub\:\:Name | MRO\:\:Compat ) $/x }
49     @{Meta->{values}{requires}}
50   ;
51   print "Regenerating META with XS requires excluded\n";
52   Meta->write;
53 }