my ($optdep_msg, $opt_testdeps);
-if ($args->{skip_author_deps}) {
+unless ($args->{with_optdeps}) {
$optdep_msg = <<'EOW';
******************************************************************************
*** 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. ***
*** ***
******************************************************************************
******************************************************************************
******************************************************************************
******************************************************************************
*** ***
-*** 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 ) ***
*** ***
******************************************************************************
******************************************************************************
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} = {
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;
}
unlink 'Makefile';
exit 1;
}
- my $meta = do { local @ARGV = 'META.yml'; local $/; <> };
+ my $meta = do { local (@ARGV, $/) = 'META.yml'; <> };
$meta =~ /^\Qname: DBIx-Class\E$/m or do {
warn "Seemingly malformed META.yml...?\n";