X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=maint%2FMakefile.PL.inc%2F12_authordeps.pl;h=e6d7f343224651a1ee604e9265fc59d78b0c0cc1;hb=7b87b77c04e07cfea1103dba8ecbd3f219e949d2;hp=152a390b2ca746bfcb2a4d6d3fad123360a50235;hpb=90d4cbcc4d9ef1eb261a060ead63e0a82cc87ffe;p=dbsrgits%2FDBIx-Class.git diff --git a/maint/Makefile.PL.inc/12_authordeps.pl b/maint/Makefile.PL.inc/12_authordeps.pl index 152a390..e6d7f34 100644 --- a/maint/Makefile.PL.inc/12_authordeps.pl +++ b/maint/Makefile.PL.inc/12_authordeps.pl @@ -1,6 +1,6 @@ my ($optdep_msg, $opt_testdeps); -if ($args->{skip_author_deps}) { +unless ($args->{with_optdeps}) { $optdep_msg = <<'EOW'; ****************************************************************************** @@ -9,8 +9,12 @@ if ($args->{skip_author_deps}) { *** IGNORING AUTHOR MODE: no optional test dependencies will be forced. *** *** *** *** If you are using this checkout with the intention of submitting a DBIC *** -*** patch, you are *STRONGLY ENCOURAGED* to install all dependencies, so *** -*** that every possible unit-test will run. *** +*** patch you may want to aim at running more tests by re-configuring via: *** +*** *** +*** perl Makefile.PL --with-optdeps *** +*** *** +*** which will install all optional dependencies. This is not a mandatory *** +*** step - the extensive CI setup will likely catch your mistakes anyway. *** *** *** ****************************************************************************** ****************************************************************************** @@ -23,8 +27,8 @@ else { ****************************************************************************** ****************************************************************************** *** *** -*** AUTHOR MODE: all optional test dependencies converted to hard requires *** -*** ( to disable re-run Makefile.PL with --skip-author-deps ) *** +*** --with-optdeps specified: converting all optional test dependencies to *** +*** hard requires ( to disable re-run Makefile.PL without options ) *** *** *** ****************************************************************************** ****************************************************************************** @@ -32,12 +36,19 @@ else { EOW require DBIx::Class::Optional::Dependencies; - my %reqs_for_group = %{DBIx::Class::Optional::Dependencies->req_group_list}; # exclude the rdbms_* groups which are for DBIC users - $opt_testdeps = { - map { %{$reqs_for_group{$_}} } grep { !/^rdbms_|^dist_/ } keys %reqs_for_group - }; + # and the moose-related stuff iff we are under 5.8.3 + $opt_testdeps = DBIx::Class::Optional::Dependencies->req_list_for([ + grep { + !/^rdbms_|^dist_/ + and + ( "$]" > 5.008002 or !/^ (?: test_ )? (?: admin | admin_script | replicated ) $/x ) + } keys %{DBIx::Class::Optional::Dependencies->req_group_list} + ]); + + # this one is "special" - we need it both in optdeps and as a hard dep + delete $opt_testdeps->{'DBD::SQLite'}; print "Including all optional deps\n"; $reqs->{test_requires} = { @@ -91,6 +102,9 @@ END { if (keys %removed_build_requires) { print "Regenerating META with author requires excluded\n"; + # M::I understands unicode in meta but does not write with the right + # layers - fhtagn!!! + local $SIG{__WARN__} = sub { warn $_[0] unless $_[0] =~ /Wide character in print/ }; Meta->write; }