X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FOptional%2FDependencies.pm;h=4a15356636d5a4661ddd0ada1f61c6b18b16b38c;hb=b46b85376ad7ff53fa4ec4350a19b4514c4e0d3b;hp=43ce0639dd9d2479f442f93e40f55d21cac45484;hpb=74919a00766bc8f9bd9f6170d1977e186ce676d5;p=dbsrgits%2FDBIx-Class.git diff --git a/lib/DBIx/Class/Optional/Dependencies.pm b/lib/DBIx/Class/Optional/Dependencies.pm index 43ce063..4a15356 100644 --- a/lib/DBIx/Class/Optional/Dependencies.pm +++ b/lib/DBIx/Class/Optional/Dependencies.pm @@ -7,6 +7,10 @@ BEGIN { require warnings and warnings->import; require strict and strict->import; } + + # Temporary to satisfy TempExtlib under tests + require DBIx::Class::StartupCheck + if $0 =~ /\.t$/; } sub croak { @@ -80,6 +84,7 @@ my $dbic_reqs = { 'Class::Unload' => '0.07', 'Time::Piece' => '0', 'Time::Piece::MySQL' => '0', + 'DBD::mysql' => '4.023', }, }, @@ -143,6 +148,16 @@ my $dbic_reqs = { }, }, + ic_file => { + req => { + 'Path::Class' => '0.18', + }, + pod => { + title => 'DBIx::Class::InflateColumn::File (Deprecated)', + desc => 'Modules required for the deprecated L', + }, + }, + ic_dt => { req => { 'DateTime' => '0.55', @@ -167,7 +182,6 @@ my $dbic_reqs = { cdbicompat => { req => { - 'Class::Data::Inheritable' => '0', 'Class::Trigger' => '0', 'DBIx::ContextualFetch' => '0', 'Clone' => '0.32', @@ -860,7 +874,9 @@ sub skip_without { if ( my $err = $self->req_missing_for($groups) ) { my ($fn, $ln) = (caller(0))[1,2]; $tb->skip("block in $fn around line $ln requires $err"); - local $^W = 0; + + BEGIN { ${^WARNING_BITS} = "" } + last SKIP; } @@ -1143,6 +1159,9 @@ sub _errorlist_for_modreqs { my $v = $reqs->{$m}; if (! exists $req_unavailability_cache{$m}{$v} ) { + # masking this off is important, as it may very well be + # a transient error + local $SIG{__DIE__} if $SIG{__DIE__}; local $@; eval( "require $m;" . ( $v ? "$m->VERSION(q($v))" : '' ) ); $req_unavailability_cache{$m}{$v} = $@; @@ -1203,16 +1222,12 @@ sub _gen_pod { "\n\n---------------------------------------------------------------------\n" ; - # do not ask for a recent version, use 1.x API calls - # this *may* execute on a smoker with old perl or whatnot - require File::Path; - (my $modfn = __PACKAGE__ . '.pm') =~ s|::|/|g; (my $podfn = "$pod_dir/$modfn") =~ s/\.pm$/\.pod/; - (my $dir = $podfn) =~ s|/[^/]+$||; - File::Path::mkpath([$dir]); + require DBIx::Class::_Util; + DBIx::Class::_Util::mkdir_p( DBIx::Class::_Util::parent_dir( $podfn ) ); my $sqltver = $class->req_list_for('deploy')->{'SQL::Translator'} or die "Hrmm? No sqlt dep?";