From: Andy Grundman Date: Thu, 24 Nov 2005 00:25:25 +0000 (+0000) Subject: Deprecated Build.PL file when regenerating Makefile.PL X-Git-Tag: 5.7099_04~832 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=commitdiff_plain;h=b1882228082cf4c6c231cacf16b54911b46fc22b Deprecated Build.PL file when regenerating Makefile.PL --- diff --git a/lib/Catalyst/Helper.pm b/lib/Catalyst/Helper.pm index 878dc76..6aa714c 100644 --- a/lib/Catalyst/Helper.pm +++ b/lib/Catalyst/Helper.pm @@ -90,7 +90,7 @@ sub mk_app { } if ( $gen_makefile ) { $self->_mk_makefile; - } + } if ( $gen_scripts ) { $self->_mk_cgi; $self->_mk_fastcgi; @@ -343,6 +343,13 @@ sub _mk_makefile { $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 { @@ -441,6 +448,28 @@ sub _mk_favicon { } +sub _deprecate_file { + my ( $self, $file ) = @_; + if ( -e $file ) { + my $oldcontent; + print qq/ deprecating "$file"\n/; + 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. diff --git a/script/catalyst.pl b/script/catalyst.pl index ff1a904..3edd122 100755 --- a/script/catalyst.pl +++ b/script/catalyst.pl @@ -76,18 +76,14 @@ contain the following items: a skeleton README file, which you are encouraged to expand on -=item Build.PL - -a C build script - =item Changes a changes file with an initial entry for the creation of the application =item Makefile.PL -an old-style MakeMaker script. Catalyst uses the C system so -this script actually generates a Makeifle that invokes the Build script. +Makefile.PL uses the C system for packaging and distribution +of the application. =item lib @@ -105,25 +101,24 @@ a directory containing helper scripts: =over 4 -=item C +=item C helper script to generate new component modules -=item C +=item C runs the generated application within a Catalyst test server, which can be used for testing without resorting to a full-blown web server configuration. -=item C +=item C runs the generated application as a CGI script -=item C +=item C runs the generated application as a FastCGI script - -=item C +=item C runs an action of the generated application from the comand line.