From: Peter Rabbitson Date: Mon, 9 Feb 2015 23:05:01 +0000 (+0100) Subject: Move the SQLite test dependency specification to optdeps X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=dbsrgits%2FDBIx-Class.git;a=commitdiff_plain;h=7975645bb827d021778c61d94eefc27ae330d00d Move the SQLite test dependency specification to optdeps Even though this is a hard test_requires (for now), move things to a proper specification within OptDeps like all other RDBMS (will make icdt specs much easier). The OptDep module is very lightweight anyway, and loading it on all installs will be a good exercise before spinning it off. --- diff --git a/Makefile.PL b/Makefile.PL index 08a48fa..172cb66 100644 --- a/Makefile.PL +++ b/Makefile.PL @@ -3,7 +3,13 @@ use warnings; use 5.008001; use inc::Module::Install 1.06; -BEGIN { makemaker_args( NORECURS => 1 ) } # needs to happen early for old EUMM +BEGIN { + # needs to happen early for old EUMM + makemaker_args( NORECURS => 1 ); + + local @INC = ('lib', @INC); + require DBIx::Class::Optional::Dependencies; +} ## ## DO NOT USE THIS HACK IN YOUR DISTS!!! (it makes #toolchain sad) @@ -81,19 +87,13 @@ my $test_requires = { 'Test::Warn' => '0.21', 'Test::More' => '0.94', - # needed for testing only, not for operation - # we will move away from this dep eventually, perhaps to DBD::CSV or something -### -### IMPORTANT - do not raise this dependency -### even though many bugfixes are present in newer versions, the general DBIC -### rule is to bend over backwards for available DBDs (given upgrading them is -### often *not* easy or even possible) -### - 'DBD::SQLite' => '1.29', - # this is already a dep of n::c, but just in case - used by t/55namespaces_cleaned.t # remove and do a manual glob-collection if n::c is no longer a dep 'Package::Stash' => '0.28', + + # needed for testing only, not for operation + # we will move away from this dep eventually, perhaps to DBD::CSV or something + %{ DBIx::Class::Optional::Dependencies->req_list_for('test_rdbms_sqlite') }, }; # if the user has this env var set and no SQLT installed, tests will fail @@ -107,8 +107,6 @@ my $test_requires = { # envvar *and* is not running a full Makefile/make/maketest cycle - they get # to keep the pieces if ($ENV{DBICTEST_SQLT_DEPLOY}) { - local @INC = ('lib', @INC); - require DBIx::Class::Optional::Dependencies; my $deploy_req = DBIx::Class::Optional::Dependencies->req_list_for('deploy'); for (keys %$deploy_req) { test_requires ($_ => $deploy_req->{$_}) diff --git a/lib/DBIx/Class/Optional/Dependencies.pm b/lib/DBIx/Class/Optional/Dependencies.pm index 8568be7..ae8abaf 100644 --- a/lib/DBIx/Class/Optional/Dependencies.pm +++ b/lib/DBIx/Class/Optional/Dependencies.pm @@ -380,6 +380,19 @@ my $dbic_reqs = { }, }, + test_rdbms_sqlite => { + include => 'rdbms_sqlite', + req => { + ### + ### IMPORTANT - do not raise this dependency + ### even though many bugfixes are present in newer versions, the general DBIC + ### rule is to bend over backwards for available DBDs (given upgrading them is + ### often *not* easy or even possible) + ### + 'DBD::SQLite' => '1.29', + }, + }, + test_rdbms_pg => { include => 'rdbms_pg', env => [ diff --git a/maint/Makefile.PL.inc/12_authordeps.pl b/maint/Makefile.PL.inc/12_authordeps.pl index b91d1de..398722e 100644 --- a/maint/Makefile.PL.inc/12_authordeps.pl +++ b/maint/Makefile.PL.inc/12_authordeps.pl @@ -43,6 +43,9 @@ EOW } 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} = { %{$reqs->{test_requires}},