X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FOptional%2FDependencies.pm;h=c1b6be51826f87dc948c61c1e4be2116b4854632;hb=bc4b0c044fcc3287bc16c173e7b220c0c068bb7d;hp=b8708b64e666d68941a76e51faa723476e119d27;hpb=a4fc1239dd52f5c1b2edb4004ba8562cfac8700d;p=dbsrgits%2FDBIx-Class.git diff --git a/lib/DBIx/Class/Optional/Dependencies.pm b/lib/DBIx/Class/Optional/Dependencies.pm index b8708b6..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', @@ -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', @@ -687,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; } @@ -706,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 ######################## ######################################################################### @@ -786,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 @@ -797,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 @@ -809,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 @@ -819,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. @@ -839,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 @@ -853,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); }