Add experimental meta flags signifying the status of parallel testing
[dbsrgits/DBIx-Class.git] / maint / Makefile.PL.inc / 21_set_meta.pl
1 # principal author list is kinda mandated by spec, luckily is rather static
2 author 'mst: Matt S Trout <mst@shadowcat.co.uk> (project founder - original idea, architecture and implementation)';
3 author 'castaway: Jess Robinson <castaway@desert-island.me.uk> (lions share of the reference documentation and manuals)';
4 author 'ribasushi: Peter Rabbitson <ribasushi@cpan.org> (present day maintenance and controlled evolution)';
5
6 # pause sanity
7 Meta->{values}{x_authority} = 'cpan:RIBASUSHI';
8
9 # !!!experimental!!!
10 #
11 # <ribasushi> am wondering if an x_parallel_test => 1 and x_parallel_depchain_test => 1 would be of use in meta
12 # <ribasushi> to signify "project keeps tabs on itself and depchain to be in good health wrt running tests in parallel"
13 # <ribasushi> and having cpan(m) tack a -j6 automatically for that
14 # <ribasushi> it basically allows you to first consider any "high level intermediate dist" advertising "all my stuff works" so that larger swaths of CPAN get installed first under parallel
15 # <ribasushi> note - this is not "spur of the moment" - I first started testing my depchain in parallel 3 years ago
16 # <ribasushi> and have had it stable ( religiously tested on travis on any commit ) for about 2 years now
17 #
18 Meta->{values}{x_parallel_test_certified} = 1;
19 Meta->{values}{x_dependencies_parallel_test_certified} = 1;
20
21 # populate x_contributors
22 # a direct dump of the sort is ok - xt/authors.t guarantees source sanity
23 Meta->{values}{x_contributors} = [ do {
24   # according to #p5p this is how one safely reads random unicode
25   # this set of boilerplate is insane... wasn't perl unicode-king...?
26   no warnings 'once';
27   require Encode;
28   require PerlIO::encoding;
29   local $PerlIO::encoding::fallback = Encode::FB_CROAK();
30
31   open (my $fh, '<:encoding(UTF-8)', 'AUTHORS') or die "Unable to open AUTHORS - can't happen: $!\n";
32   map { chomp; ( (! $_ or $_ =~ /^\s*\#/) ? () : $_ ) } <$fh>;
33
34 }];
35
36 # legalese
37 license 'perl';
38 resources 'license' => 'http://dev.perl.org/licenses/';
39
40 # misc resources
41 abstract_from 'lib/DBIx/Class.pm';
42 resources 'homepage'    => 'http://www.dbix-class.org/';
43 resources 'IRC'         => 'irc://irc.perl.org/#dbix-class';
44 resources 'repository'  => 'https://github.com/dbsrgits/DBIx-Class';
45 resources 'MailingList' => 'http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/dbix-class';
46 resources 'bugtracker'  => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=DBIx-Class';
47
48 # nothing determined at runtime, except for possibly SQLT dep
49 # (see the check around DBICTEST_SQLT_DEPLOY in Makefile.PL)
50 dynamic_config 0;
51
52 # Deprecated/internal modules need no exposure when building the meta
53 no_index directory => $_ for (qw|
54   lib/DBIx/Class/Admin
55   lib/DBIx/Class/PK/Auto
56   lib/DBIx/Class/CDBICompat
57   maint
58 |);
59 no_index package => $_ for (qw/
60   DBIx::Class::Storage::DBIHacks
61   DBIx::Class::Storage::BlockRunner
62   DBIx::Class::Carp
63   DBIx::Class::_Util
64   DBIx::Class::ResultSet::Pager
65 /);
66
67 # keep the Makefile.PL eval happy
68 1;