use warnings;
use strict;
-use Carp;
+use Carp ();
# NO EXTERNAL NON-5.8.1 CORE DEPENDENCIES EVER (e.g. C::A::G)
# This module is to be loaded by Makefile.PM on a pristine system
my $rdbms_mssql_ado = {
'DBD::ADO' => '0',
};
+my $rdbms_msaccess_odbc = {
+ 'DBD::ODBC' => '0',
+};
+my $rdbms_msaccess_ado = {
+ 'DBD::ADO' => '0',
+};
my $rdbms_mysql = {
'DBD::mysql' => '0',
};
my $rdbms_db2 = {
'DBD::DB2' => '0',
};
+my $rdbms_firebird_odbc = {
+ 'DBD::ODBC' => '0',
+};
my $reqs = {
dist => {
req => $id_shortener,
},
+ test_component_accessor => {
+ req => {
+ 'Class::Unload' => '0.07',
+ },
+ },
+
test_pod => {
req => {
'Test::Pod' => '1.41',
},
},
+ rdbms_msaccess_odbc => {
+ req => {
+ %$rdbms_msaccess_odbc,
+ },
+ pod => {
+ title => 'MS Access support via DBD::ODBC',
+ desc => 'Modules required to connect to MS Access via DBD::ODBC',
+ },
+ },
+
+ rdbms_msaccess_ado => {
+ req => {
+ %$rdbms_msaccess_ado,
+ },
+ pod => {
+ title => 'MS Access support via DBD::ADO (Windows only)',
+ desc => 'Modules required to connect to MS Access via DBD::ADO. This particular DBD is available on Windows only',
+ },
+ },
+
rdbms_mysql => {
req => {
%$rdbms_mysql,
},
},
+ test_rdbms_msaccess_odbc => {
+ req => {
+ $ENV{DBICTEST_MSACCESS_ODBC_DSN}
+ ? (
+ %$rdbms_msaccess_odbc,
+ %$datetime_basic,
+ 'Data::GUID' => '0',
+ ) : ()
+ },
+ },
+
+ test_rdbms_msaccess_ado => {
+ req => {
+ $ENV{DBICTEST_MSACCESS_ADO_DSN}
+ ? (
+ %$rdbms_msaccess_ado,
+ %$datetime_basic,
+ 'Data::GUID' => 0,
+ ) : ()
+ },
+ },
+
test_rdbms_mysql => {
req => {
$ENV{DBICTEST_MYSQL_DSN}
$ENV{DBICTEST_SYBASE_DSN}
? (
%$rdbms_ase,
- 'DateTime::Format::Sybase' => '0',
) : ()
},
},
},
},
+ test_rdbms_firebird_odbc => {
+ req => {
+ $ENV{DBICTEST_FIREBIRD_ODBC_DSN}
+ ? (
+ %$rdbms_firebird_odbc,
+ ) : ()
+ },
+ },
+
test_memcached => {
req => {
$ENV{DBICTEST_MEMCACHED}
sub req_list_for {
my ($class, $group) = @_;
- croak "req_list_for() expects a requirement group name"
+ Carp::croak "req_list_for() expects a requirement group name"
unless $group;
my $deps = $reqs->{$group}{req}
- or croak "Requirement group '$group' does not exist";
+ or Carp::croak "Requirement group '$group' does not exist";
return { %$deps };
}
sub req_ok_for {
my ($class, $group) = @_;
- croak "req_ok_for() expects a requirement group name"
+ Carp::croak "req_ok_for() expects a requirement group name"
unless $group;
return $class->_check_deps($group)->{status};
sub req_missing_for {
my ($class, $group) = @_;
- croak "req_missing_for() expects a requirement group name"
+ Carp::croak "req_missing_for() expects a requirement group name"
unless $group;
return $class->_check_deps($group)->{missing};
sub req_errorlist_for {
my ($class, $group) = @_;
- croak "req_errorlist_for() expects a requirement group name"
+ Carp::croak "req_errorlist_for() expects a requirement group name"
unless $group;
return $class->_check_deps($group)->{errorlist};
if (keys %errors) {
my $missing = join (', ', map { $deps->{$_} ? "$_ >= $deps->{$_}" : $_ } (sort keys %errors) );
$missing .= " (see $class for details)" if $reqs->{$group}{pod};
+ $missing .= "\n";
$res = {
status => 0,
errorlist => \%errors,
'You may distribute this code under the same terms as Perl itself',
);
- open (my $fh, '>', $podfn) or croak "Unable to write to $podfn: $!";
+ open (my $fh, '>', $podfn) or Carp::croak "Unable to write to $podfn: $!";
print $fh join ("\n\n", @chunks);
close ($fh);
}