$self->{author} = $self->{author} = $ENV{'AUTHOR'}
|| eval { @{ [ getpwuid($<) ] }[6] }
|| 'Catalyst developer';
-
+
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 ) {
+ 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_readme;
$self->_mk_images;
$self->_mk_favicon;
}
- if ( $gen_makefile ) {
+ if ($gen_makefile) {
$self->_mk_makefile;
- }
- if ( $gen_scripts ) {
+ }
+ if ($gen_scripts) {
$self->_mk_cgi;
$self->_mk_fastcgi;
$self->_mk_server;
my ( $self, $file, $content ) = @_;
if ( -e $file ) {
print qq/ exists "$file"\n/;
- return 0 unless ( $self->{'.newfiles'}
- || $self->{scripts}
- || $self->{makefile} );
+ return 0
+ unless ( $self->{'.newfiles'}
+ || $self->{scripts}
+ || $self->{makefile} );
if ( $self->{'.newfiles'} ) {
if ( my $f = IO::File->new("< $file") ) {
my $oldcontent = join( '', (<$f>) );
$self->{path} .= '.pm';
my $dir = $self->{dir};
$self->render_file( 'makefile', "$dir\/Makefile.PL" );
+
+ if ( $self->{makefile} ) {
+
+ # deprecate the old Build.PL file when regenerating Makefile.PL
+ $self->_deprecate_file(
+ File::Spec->catdir( $self->{dir}, 'Build.PL' ) );
+ }
}
sub _mk_readme {
}
+sub _deprecate_file {
+ my ( $self, $file ) = @_;
+ if ( -e $file ) {
+ my $oldcontent;
+ if ( my $f = IO::File->new("< $file") ) {
+ $oldcontent = join( '', (<$f>) );
+ }
+ my $newfile = $file . '.deprecated';
+ if ( my $f = IO::File->new("> $newfile") ) {
+ binmode $f;
+ print $f $oldcontent;
+ print qq/created "$newfile"\n/;
+ unlink $file;
+ print qq/removed "$file"\n/;
+ return 1;
+ }
+ Catalyst::Exception->throw(
+ message => qq/Couldn't create "$file", "$!"/ );
+ }
+}
+
=head1 HELPERS
Helpers are classes that provide two methods.