[Bast-commits] r9337 - DBIx-Class/0.08/trunk/lib/DBIx/Class/Optional

ribasushi at dev.catalyst.perl.org ribasushi at dev.catalyst.perl.org
Sat May 8 09:23:56 GMT 2010


Author: ribasushi
Date: 2010-05-08 10:23:56 +0100 (Sat, 08 May 2010)
New Revision: 9337

Modified:
   DBIx-Class/0.08/trunk/lib/DBIx/Class/Optional/Dependencies.pm
Log:
Make sure missing author-deps do not kill makefile creation

Modified: DBIx-Class/0.08/trunk/lib/DBIx/Class/Optional/Dependencies.pm
===================================================================
--- DBIx-Class/0.08/trunk/lib/DBIx/Class/Optional/Dependencies.pm	2010-05-08 04:54:51 UTC (rev 9336)
+++ DBIx-Class/0.08/trunk/lib/DBIx/Class/Optional/Dependencies.pm	2010-05-08 09:23:56 UTC (rev 9337)
@@ -283,12 +283,29 @@
 
 # This is to be called by the author only (automatically in Makefile.PL)
 sub _gen_pod {
+
   my $class = shift;
   my $modfn = __PACKAGE__ . '.pm';
   $modfn =~ s/\:\:/\//g;
 
-  require DBIx::Class;
-  my $distver = DBIx::Class->VERSION;
+  my $podfn = __FILE__;
+  $podfn =~ s/\.pm$/\.pod/;
+
+  my $distver =
+    eval { require DBIx::Class; DBIx::Class->VERSION; }
+      ||
+    do {
+      warn
+"\n\n---------------------------------------------------------------------\n" .
+'Unable to load core DBIx::Class module to determine current version, '.
+'possibly due to missing dependencies. Author-mode autodocumentation ' .
+"halted\n\n" . $@ .
+"\n\n---------------------------------------------------------------------\n"
+      ;
+      '*UNKNOWN*';  # rv
+    }
+  ;
+
   my $sqltver = $class->req_list_for ('deploy')->{'SQL::Translator'}
     or die "Hrmm? No sqlt dep?";
 
@@ -431,10 +448,7 @@
     'You may distribute this code under the same terms as Perl itself',
   );
 
-  my $fn = __FILE__;
-  $fn =~ s/\.pm$/\.pod/;
-
-  open (my $fh, '>', $fn) or croak "Unable to write to $fn: $!";
+  open (my $fh, '>', $podfn) or croak "Unable to write to $podfn: $!";
   print $fh join ("\n\n", @chunks);
   close ($fh);
 }




More information about the Bast-commits mailing list