App-Build
view release on metacpan or search on metacpan
lib/App/Build.pm view on Meta::CPAN
We override the new() method in order to enhance the install paths.
In the future, we may also download and unpack external perl
distributions.
=cut
sub new {
my ($class, %args) = @_;
my $obj = $class->SUPER::new(%args);
$obj->_enhance_install_paths() if $obj->_prefix;
$obj->_get_supporting_software();
return($obj);
}
=head2 read_config()
Overridden to transparently call C<_enhance_install_paths()>.
=cut
sub read_config {
my ($self) = @_;
$self->SUPER::read_config();
$self->_enhance_install_paths() if $self->_prefix;
}
=head2 install_base()
Overridden to transparently call C<_enhance_install_paths()>.
=cut
sub install_base {
my ($self, @args) = @_;
my $ret = $self->SUPER::install_base(@args);
$self->_enhance_install_paths() if $self->_prefix;
return $ret;
}
=head2 _get_supporting_software()
Downloads supporting software (if necessary), unpacks it, compiles it,
and installs it.
lib/App/Build.pm view on Meta::CPAN
When you invoke "./Build", the method $self->ACTION_build() gets
called on this object. This, in turn, calls $self->ACTION_code()
and $self->ACTION_docs(). Each of these methods copies files into
the "blib" subdirectory in preparation for installation.
=cut
sub ACTION_code {
my ($self) = @_;
$self->SUPER::ACTION_code(); # call this first (creates "blib" dir if necessary)
$self->process_app_files(); # NEW. call this to copy "extra_dirs" to "blib"
}
=head2 _added_to_INC()
We override this method to ensure that "lib" (libraries to be installed)
is added to the front of @INC.
This is because we often want to use the (latest) enclosed module as
the installing module, even if it has already been installed.
lib/App/Build.pm view on Meta::CPAN
}
=head2 rscan_dir()
Don't include CVS, RCS, and SVN (*/.svn/*) files.
=cut
sub rscan_dir {
my ($self, $dir, $pattern) = @_;
my $files = $self->SUPER::rscan_dir($dir, $pattern);
my @files = grep(!/[\/\\](CVS|RCS|\.svn)[\/\\]/, @$files);
return \@files;
}
######################################################################
# INSTALL: enhancements to "./Build install"
######################################################################
=head2 packlist()
( run in 0.979 second using v1.01-cache-2.11-cpan-49f99fa48dc )