From: Andy Grundman Date: Wed, 23 Nov 2005 23:46:26 +0000 (+0000) Subject: Added -makefile to catalyst.pl to generate a new Makefile.PL X-Git-Tag: 5.7099_04~833 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=commitdiff_plain;h=4e90e3c19d5c4411edb78516b07088da22a0d178 Added -makefile to catalyst.pl to generate a new Makefile.PL --- diff --git a/Changes b/Changes index 090b255..c9ab879 100644 --- 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 diff --git a/lib/Catalyst/Helper.pm b/lib/Catalyst/Helper.pm index c25dde9..878dc76 100644 --- a/lib/Catalyst/Helper.pm +++ b/lib/Catalyst/Helper.pm @@ -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>) ); diff --git a/script/catalyst.pl b/script/catalyst.pl index 95d84ef..ff1a904 100755 --- a/script/catalyst.pl +++ b/script/catalyst.pl @@ -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...