Revert ab340f7f - it no longer makes sense given the excellent CI setup
[dbsrgits/DBIx-Class.git] / maint / Makefile.PL.inc / 12_authordeps.pl
index 152a390..e6d7f34 100644 (file)
@@ -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;
   }