X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FCatalyst%2FBuild.pm;h=944d9e8e1d46b4f4d07c6a6bbddb25b6dd32fc4d;hb=be5cb4e4793133bae5f0ae5d269f4be3876b1e27;hp=7b246a73788e348046262e13478fbd2e3a2b38a0;hpb=75aeff23c055c680a7293a9642f556fc253274db;p=catagits%2FCatalyst-Runtime.git diff --git a/lib/Catalyst/Build.pm b/lib/Catalyst/Build.pm index 7b246a7..944d9e8 100644 --- a/lib/Catalyst/Build.pm +++ b/lib/Catalyst/Build.pm @@ -2,10 +2,14 @@ package Catalyst::Build; use strict; use Module::Build; -use base 'Module::Build'; use Path::Class; use File::Find 'find'; +our @ISA; +eval "require Module::Build"; +die "Please install Module::Build\n" if $@; +push @ISA, 'Module::Build'; + our @ignore = qw/Build Build.PL Changes MANIFEST META.yml Makefile.PL Makefile README _build blib lib script t/; @@ -25,9 +29,41 @@ See L L extension for Catalyst. +=head1 DEPRECATION NOTICE + +This module is deprecated in favor of L. It's +only left here for compability with older applications. + =head1 METHODS -=over4 +=over 4 + +=item new + +=cut + +sub new { + my $class = shift; + my $self = $class->SUPER::new(@_); + + my $app_name = $self->{properties}{module_name}; + warn <<"EOF"; + + Note: + + The use of Build.PL for building and distributing Catalyst + applications is deprecated in Catalyst 5.58. + + We recommend using the new Module::Install-based Makefile + system. You can generate a new Makefile.PL for your application + by running: + + catalyst.pl -force -makefile $app_name + +EOF + + return $self; +} =item ACTION_install @@ -55,18 +91,16 @@ sub ACTION_fakeinstall { =cut sub ACTION_install_extras { - my $self = shift; - my $prefix = $self->{properties}{destdir} || ''; - my $path = dir( - $prefix, - $self->{config}{installsitelib}, - split( '::', $self->{properties}{module_name} ) - ); - my @files = $self->_find_extras; + my $self = shift; + my $prefix = $self->{properties}{destdir} || undef; + my $sitelib = $self->install_destination('lib'); + my @path = defined $prefix ? ( $prefix, $sitelib ) : ($sitelib); + my $path = dir( @path, split( '::', $self->{properties}{module_name} ) ); + my @files = $self->_find_extras; print "Installing extras to $path\n"; for (@files) { $FAKE - ? print "$_ -> $path/$_ (FAKE)\n" + ? print "$_ -> $path (FAKE)\n" : $self->copy_if_modified( $_, $path ); } } @@ -99,8 +133,8 @@ Sebastian Riedel, C =head1 LICENSE -This library is free software . You can redistribute it and/or modify it under -the same terms as perl itself. +This library is free software, you can redistribute it and/or modify it under +the same terms as Perl itself. =cut