X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FCatalyst%2FHelper.pm;h=14d95da66ff20dd4256b8e87bb03c01f984abcb0;hb=28e68b83d04a994849d734d5fe3d978ea47cf113;hp=f04081329a8da34464c03815ad8170e79f1aca81;hpb=809fd1e0ee017e71b2707dbd3e0b1605f02eb1a0;p=catagits%2FCatalyst-Runtime.git diff --git a/lib/Catalyst/Helper.pm b/lib/Catalyst/Helper.pm index f040813..14d95da 100644 --- a/lib/Catalyst/Helper.pm +++ b/lib/Catalyst/Helper.pm @@ -65,7 +65,8 @@ sub mk_app { $self->{startperl} = $Config{startperl}; $self->{scriptgen} = $Catalyst::CATALYST_SCRIPT_GEN; $self->{author} = $self->{author} = $ENV{'AUTHOR'} - || @{ [ getpwuid($<) ] }[6]; + || eval { @{ [ getpwuid($<) ] }[6] } + || 'A clever guy'; $self->_mk_dirs; $self->_mk_appclass; $self->_mk_build; @@ -74,7 +75,7 @@ sub mk_app { $self->_mk_changes; $self->_mk_apptest; $self->_mk_cgi; - $self->_mk_fcgi; + $self->_mk_fastcgi; $self->_mk_server; $self->_mk_test; $self->_mk_create; @@ -93,7 +94,8 @@ sub mk_component { my $app = shift; $self->{app} = $app; $self->{author} = $self->{author} = $ENV{'AUTHOR'} - || @{ [ getpwuid($<) ] }[6]; + || eval { @{ [ getpwuid($<) ] }[6] } + || 'A clever guy'; $self->{base} = File::Spec->catdir( $FindBin::Bin, '..' ); unless ( $_[0] =~ /^model|m|view|v|controller|c\$/i ) { my $helper = shift; @@ -107,7 +109,7 @@ sub mk_component { } else { my $type = shift; - my $name = shift; + my $name = shift || "Missing name for model/view/controller"; my $helper = shift; my @args = @_; return 0 if $name =~ /[^\w\:]/; @@ -307,40 +309,40 @@ sub _mk_apptest { } sub _mk_cgi { - my $self = shift; - my $script = $self->{script}; + my $self = shift; + my $script = $self->{script}; my $appprefix = $self->{appprefix}; $self->render_file( 'cgi', "$script\/$appprefix\_cgi.pl" ); chmod 0700, "$script/$appprefix\_cgi.pl"; } -sub _mk_fcgi { - my $self = shift; - my $script = $self->{script}; +sub _mk_fastcgi { + my $self = shift; + my $script = $self->{script}; my $appprefix = $self->{appprefix}; - $self->render_file( 'fcgi', "$script\/$appprefix\_fcgi.pl" ); - chmod 0700, "$script/$appprefix\_fcgi.pl"; + $self->render_file( 'fastcgi', "$script\/$appprefix\_fastcgi.pl" ); + chmod 0700, "$script/$appprefix\_fastcgi.pl"; } sub _mk_server { - my $self = shift; - my $script = $self->{script}; + my $self = shift; + my $script = $self->{script}; my $appprefix = $self->{appprefix}; $self->render_file( 'server', "$script\/$appprefix\_server.pl" ); chmod 0700, "$script/$appprefix\_server.pl"; } sub _mk_test { - my $self = shift; - my $script = $self->{script}; + my $self = shift; + my $script = $self->{script}; my $appprefix = $self->{appprefix}; $self->render_file( 'test', "$script/$appprefix\_test.pl" ); chmod 0700, "$script/$appprefix\_test.pl"; } sub _mk_create { - my $self = shift; - my $script = $self->{script}; + my $self = shift; + my $script = $self->{script}; my $appprefix = $self->{appprefix}; $self->render_file( 'create', "$script\/$appprefix\_create.pl" ); chmod 0700, "$script/$appprefix\_create.pl"; @@ -444,6 +446,37 @@ it under the same terms as perl itself. 1; +__makefile__ + unless ( eval "use Module::Build::Compat 0.02; 1" ) { + print "This module requires Module::Build to install itself.\n"; + + require ExtUtils::MakeMaker; + my $yn = + ExtUtils::MakeMaker::prompt( ' Install Module::Build now from CPAN?', 'y' ); + + unless ( $yn =~ /^y/i ) { + die " *** Cannot install without Module::Build. Exiting ...\n"; + } + + require Cwd; + require File::Spec; + require CPAN; + + # Save this 'cause CPAN will chdir all over the place. + my $cwd = Cwd::cwd(); + my $makefile = File::Spec->rel2abs($0); + + CPAN::Shell->install('Module::Build::Compat') + or die " *** Cannot install without Module::Build. Exiting ...\n"; + + chdir $cwd or die "Cannot chdir() back to $cwd: $!"; + } + eval "use Module::Build::Compat 0.02; 1" or die $@; + use lib '_build/lib'; + Module::Build::Compat->run_build_pl( args => \@ARGV ); + require Module::Build; + Module::Build::Compat->write_makefile( build_class => 'Module::Build' ); + __build__ use strict; use Catalyst::Build; @@ -453,6 +486,7 @@ my $build = Catalyst::Build->new( license => 'perl', module_name => '[% name %]', requires => { Catalyst => '5.10' }, + create_makefile_pl => 'passthrough', script_files => [ glob('script/*') ], test_files => [ glob('t/*.t'), glob('t/*/*.t') ] ); @@ -529,10 +563,10 @@ it under the same terms as perl itself. =cut -__fcgi__ +__fastcgi__ [% startperl %] -w -BEGIN { $ENV{CATALYST_ENGINE} = 'FCGI' } +BEGIN { $ENV{CATALYST_ENGINE} = 'FastCGI' } use strict; use FindBin; @@ -545,7 +579,7 @@ use [% name %]; =head1 NAME -fcgi - Catalyst FCGI +fastcgi - Catalyst FastCGI =head1 SYNOPSIS @@ -553,7 +587,7 @@ See L =head1 DESCRIPTION -Run a Catalyst application as fcgi. +Run a Catalyst application as fastcgi. =head1 AUTHOR