Added -makefile to catalyst.pl to generate a new Makefile.PL
Andy Grundman [Wed, 23 Nov 2005 23:46:26 +0000 (23:46 +0000)]
Changes
lib/Catalyst/Helper.pm
script/catalyst.pl

diff --git a/Changes b/Changes
index 090b255..c9ab879 100644 (file)
--- a/Changes
+++ b/Changes
@@ -1,6 +1,7 @@
 This file documents the revision history for Perl extension Catalyst.
 
 5.58
+        - Added -makefile to catalyst.pl to generate a new Makefile.PL.
         - Restored Catalyst::Build with a deprecation notice.
         - Improved PAR support
         - Replaced -short with auto-detection
index c25dde9..878dc76 100644 (file)
@@ -74,22 +74,30 @@ sub mk_app {
     $self->{author}    = $self->{author} = $ENV{'AUTHOR'}
       || eval { @{ [ getpwuid($<) ] }[6] }
       || 'Catalyst developer';
-
-    unless ( $self->{scripts} ) {
+      
+    my $gen_scripts  = ( $self->{makefile} ) ? 0 : 1;
+    my $gen_makefile = ( $self->{scripts}  ) ? 0 : 1;
+    my $gen_app      = ( $self->{scripts} || $self->{makefile} ) ? 0 : 1;
+    
+    if ( $gen_app ) {
         $self->_mk_dirs;
         $self->_mk_appclass;
-        $self->_mk_makefile;
         $self->_mk_readme;
         $self->_mk_changes;
         $self->_mk_apptest;
         $self->_mk_images;
         $self->_mk_favicon;
     }
-    $self->_mk_cgi;
-    $self->_mk_fastcgi;
-    $self->_mk_server;
-    $self->_mk_test;
-    $self->_mk_create;
+    if ( $gen_makefile ) { 
+        $self->_mk_makefile;
+    }    
+    if ( $gen_scripts ) {
+        $self->_mk_cgi;
+        $self->_mk_fastcgi;
+        $self->_mk_server;
+        $self->_mk_test;
+        $self->_mk_create;
+    }
     return 1;
 }
 
@@ -220,7 +228,9 @@ sub mk_file {
     my ( $self, $file, $content ) = @_;
     if ( -e $file ) {
         print qq/ exists "$file"\n/;
-        return 0 unless ( $self->{'.newfiles'} || $self->{scripts} );
+        return 0 unless ( $self->{'.newfiles'}
+                       || $self->{scripts}
+                       || $self->{makefile} );
         if ( $self->{'.newfiles'} ) {
             if ( my $f = IO::File->new("< $file") ) {
                 my $oldcontent = join( '', (<$f>) );
index 95d84ef..ff1a904 100755 (executable)
@@ -5,23 +5,28 @@ use Getopt::Long;
 use Pod::Usage;
 use Catalyst::Helper;
 
-my $force   = 0;
-my $help    = 0;
-my $scripts = 0;
-my $short   = 0;
+my $force    = 0;
+my $help     = 0;
+my $makefile = 0;
+my $scripts  = 0;
+my $short    = 0;
 
 GetOptions(
     'help|?'      => \$help,
     'force|nonew' => \$force,
+    'makefile'    => \$makefile,
     'scripts'     => \$scripts,
     'short'       => \$short
 );
 
 pod2usage(1) if ( $help || !$ARGV[0] );
 
-my $helper =
-  Catalyst::Helper->new(
-    { '.newfiles' => !$force, 'scripts' => $scripts, 'short' => $short } );
+my $helper = Catalyst::Helper->new( {
+    '.newfiles' => !$force, 
+    'makefile'  => $makefile, 
+    'scripts'   => $scripts,
+    'short'     => $short,
+} );
 pod2usage(1) unless $helper->mk_app( $ARGV[0] );
 
 1;
@@ -38,6 +43,7 @@ catalyst.pl [options] application-name
  Options:
    -force      don't create a .new file where a file to be created exists
    -help       display this help and exits
+   -makefile   update Makefile.PL only
    -scripts    update helper scripts only
    -short      use short types, like C instead of Controller...