X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FOptional%2FDependencies.pm;h=c1b6be51826f87dc948c61c1e4be2116b4854632;hb=9720202815dbafee0d9e944e3f8258d4aca446d4;hp=173ae32e7ef00c680d00fae8294f6e7643a43a11;hpb=26022fb50438098fbb82345861b29f285016b096;p=dbsrgits%2FDBIx-Class.git diff --git a/lib/DBIx/Class/Optional/Dependencies.pm b/lib/DBIx/Class/Optional/Dependencies.pm index 173ae32..c1b6be5 100644 --- a/lib/DBIx/Class/Optional/Dependencies.pm +++ b/lib/DBIx/Class/Optional/Dependencies.pm @@ -32,6 +32,13 @@ my $admin_basic = { 'namespace::autoclean' => '0.09', }; +my $admin_script = { + %$moose_basic, + %$admin_basic, + 'Getopt::Long::Descriptive' => '0.081', + 'Text::CSV' => '1.16', +}; + my $datetime_basic = { 'DateTime' => '0.55', 'DateTime::Format::Strptime' => '1.2', @@ -99,8 +106,11 @@ my $rdbms_firebird_odbc = { }; my $reqs = { - dist => { - #'Module::Install::Pod::Inherit' => '0.01', + dist_podinherit => { + req => { + 'Pod::Inherit' => '0.90', + 'Pod::Tree' => '0', + } }, replicated => { @@ -131,10 +141,7 @@ my $reqs = { admin_script => { req => { - %$moose_basic, - %$admin_basic, - 'Getopt::Long::Descriptive' => '0.081', - 'Text::CSV' => '1.16', + %$admin_script, }, pod => { title => 'dbicadmin', @@ -183,7 +190,7 @@ my $reqs = { test_eol => { req => { - 'Test::EOL' => '0.6', + 'Test::EOL' => '1.0', }, }, @@ -191,6 +198,20 @@ my $reqs = { req => $json_any, }, + test_admin_script => { + req => { + %$admin_script, + 'JSON' => 0, + 'JSON::XS' => 0, + $^O eq 'MSWin32' + # for t/admin/10script.t + ? ('Win32::ShellQuote' => 0) + # DWIW does not compile (./configure even) on win32 + : ('JSON::DWIW' => 0 ) + , + } + }, + test_leaks => { req => { 'Test::Memory::Cycle' => '0', @@ -231,11 +252,10 @@ my $reqs = { test_cdbicompat => { req => { - 'DBIx::ContextualFetch' => '0', + 'Class::DBI' => 0, 'Class::DBI::Plugin::DeepAbstractSearch' => '0', - 'Class::Trigger' => '0', + %$datetime_basic, 'Time::Piece::MySQL' => '0', - 'Clone' => '0', 'Date::Simple' => '3.03', }, }, @@ -254,6 +274,7 @@ my $reqs = { rdbms_pg => { req => { + # when changing this list make sure to adjust xt/optional_deps.t %$rdbms_pg, }, pod => { @@ -370,7 +391,7 @@ my $reqs = { title => 'Informix support', desc => 'Modules required to connect to Informix', }, - }, + }, rdbms_sqlanywhere => { req => { @@ -380,7 +401,7 @@ my $reqs = { title => 'SQLAnywhere support', desc => 'Modules required to connect to SQLAnywhere', }, - }, + }, rdbms_sqlanywhere_odbc => { req => { @@ -390,7 +411,7 @@ my $reqs = { title => 'SQLAnywhere support via DBD::ODBC', desc => 'Modules required to connect to SQLAnywhere via DBD::ODBC', }, - }, + }, rdbms_firebird => { req => { @@ -400,7 +421,7 @@ my $reqs = { title => 'Firebird support', desc => 'Modules required to connect to Firebird', }, - }, + }, rdbms_firebird_interbase => { req => { @@ -410,7 +431,7 @@ my $reqs = { title => 'Firebird support via DBD::InterBase', desc => 'Modules required to connect to Firebird via DBD::InterBase', }, - }, + }, rdbms_firebird_odbc => { req => { @@ -420,7 +441,7 @@ my $reqs = { title => 'Firebird support via DBD::ODBC', desc => 'Modules required to connect to Firebird via DBD::ODBC', }, - }, + }, # the order does matter because the rdbms support group might require # a different version that the test group @@ -428,6 +449,7 @@ my $reqs = { req => { $ENV{DBICTEST_PG_DSN} ? ( + # when changing this list make sure to adjust xt/optional_deps.t %$rdbms_pg, ($^O ne 'MSWin32' ? ('Sys::SigAction' => '0') : ()), 'DBD::Pg' => '2.009002', @@ -686,13 +708,9 @@ sub req_group_list { # This is to be called by the author only (automatically in Makefile.PL) sub _gen_pod { - my ($class, $distver) = @_; + my ($class, $distver, $pod_dir) = @_; - my $modfn = __PACKAGE__ . '.pm'; - $modfn =~ s/\:\:/\//g; - - my $podfn = __FILE__; - $podfn =~ s/\.pm$/\.pod/; + die "No POD root dir supplied" unless $pod_dir; $distver ||= eval { require DBIx::Class; DBIx::Class->VERSION; } @@ -705,11 +723,22 @@ 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]); + my $sqltver = $class->req_list_for ('deploy')->{'SQL::Translator'} or die "Hrmm? No sqlt dep?"; my @chunks = ( - <<'EOC', + <<"EOC", ######################################################################### ##################### A U T O G E N E R A T E D ######################## ######################################################################### @@ -785,7 +814,7 @@ EOD '=head2 req_group_list', '=over', '=item Arguments: none', - '=item Returns: \%list_of_requirement_groups', + '=item Return Value: \%list_of_requirement_groups', '=back', <<'EOD', This method should be used by DBIx::Class packagers, to get a hashref of all @@ -796,7 +825,7 @@ EOD '=head2 req_list_for', '=over', '=item Arguments: $group_name', - '=item Returns: \%list_of_module_version_pairs', + '=item Return Value: \%list_of_module_version_pairs', '=back', <<'EOD', This method should be used by DBIx::Class extension authors, to determine the @@ -808,7 +837,7 @@ EOD '=head2 req_ok_for', '=over', '=item Arguments: $group_name', - '=item Returns: 1|0', + '=item Return Value: 1|0', '=back', <<'EOD', Returns true or false depending on whether all modules required by @@ -818,7 +847,7 @@ EOD '=head2 req_missing_for', '=over', '=item Arguments: $group_name', - '=item Returns: $error_message_string', + '=item Return Value: $error_message_string', '=back', <<"EOD", Returns a single line string suitable for inclusion in larger error messages. @@ -838,7 +867,7 @@ EOD '=head2 req_errorlist_for', '=over', '=item Arguments: $group_name', - '=item Returns: \%list_of_loaderrors_per_module', + '=item Return Value: \%list_of_loaderrors_per_module', '=back', <<'EOD', Returns a hashref containing the actual errors that occured while attempting @@ -852,6 +881,7 @@ EOD open (my $fh, '>', $podfn) or Carp::croak "Unable to write to $podfn: $!"; print $fh join ("\n\n", @chunks); + print $fh "\n"; close ($fh); }