Alien-Base-ModuleBuild
view release on metacpan or search on metacpan
lib/Alien/Base/ModuleBuild.pm view on Meta::CPAN
############################
sub new {
my $class = shift;
my %args = @_;
# merge default and user-defined repository classes
$args{alien_repository_class}{$_} ||= $default_repository_class{$_}
for keys %default_repository_class;
my $self = $class->SUPER::new(%args);
## Recheck Force System
if(!defined($ENV{ALIEN_INSTALL_TYPE}) && !defined($ENV{ALIEN_FORCE}) && defined($self->alien_install_type)) {
if ($self->alien_install_type eq 'share' ) { $Force = 1; $ForceSystem = 0; }
elsif($self->alien_install_type eq 'system') { $Force = 0; $ForceSystem = 1; }
}
$self->config_data("Force" => $Force);
$self->config_data("ForceSystem" => $ForceSystem);
lib/Alien/Base/ModuleBuild.pm view on Meta::CPAN
{
my @cmd = map { $self->alien_interpolate($_) } ref($cmd) ? @$cmd : ($cmd);
print "+ @cmd\n";
}
}
sub ACTION_code {
my $self = shift;
$self->notes( 'alien_blib_scheme' => $self->alien_detect_blib_scheme );
# PLEASE NOTE, BOTH BRANCHES CALL SUPER::ACTION_code !!!!!!!
if ( $self->notes('ACTION_alien_completed') ) {
$self->SUPER::ACTION_code;
} else {
$self->depends_on('alien_code');
$self->SUPER::ACTION_code;
}
my $module = $self->module_name;
my $file = File::Spec->catfile($self->blib, 'lib', split /::/, "$module\::Install::Files.pm");
unless (-e $file) {
mkpath(File::Spec->catdir($self->blib, 'lib', split /::/, "$module\::Install"), { verbose => 0 });
open my $fh, '>', $file;
print $fh <<EOF;
package $module\::Install::Files;
use strict;
lib/Alien/Base/ModuleBuild.pm view on Meta::CPAN
open my $fh, '>', File::Spec->catfile($arch_dir, $parts[-1].".txt");
print $fh "Alien based distribution with architecture specific file in share\n";
close $fh;
}
$self->depends_on('alien_install') if $self->alien_stage_install;
}
sub process_share_dir_files {
my $self = shift;
$self->SUPER::process_share_dir_files(@_);
# copy the compiled files into blib if running under blib scheme
$self->depends_on('alien_install') if $self->notes('alien_blib_scheme') || $self->alien_stage_install;
}
sub alien_extract_archive {
my ($self, $archive) = @_;
print "Extracting Archive ... ";
my $ae = Archive::Extract->new( archive => $archive );
$ae->extract or croak "Archive extraction failed!";
lib/Alien/Base/ModuleBuild.pm view on Meta::CPAN
local $CWD = $wdir;
$self->alien_do_commands('test') or die "Failed\n";
}
}
print "Done\n";
}
sub ACTION_test {
my $self = shift;
$self->depends_on('alien_test');
$self->SUPER::ACTION_test;
}
sub ACTION_install {
my $self = shift;
$self->SUPER::ACTION_install;
if($self->alien_stage_install) {
$self->alien_relocation_fixup;
} else {
$self->depends_on('alien_install');
}
}
sub ACTION_alien_install {
my $self = shift;
lib/Alien/Base/ModuleBuild.pm view on Meta::CPAN
### TODO: empty if should be claned up before 0.017.
### we used to call process_files_by_extension('pm')
### here, but with gh#121 it is unecessary
## reinstall config_data to blib
#$self->process_files_by_extension('pm');
} else {
# to refresh config_data
$self->SUPER::ACTION_config_data;
# reinstall config_data
$self->SUPER::ACTION_install;
# refresh the packlist
$self->alien_refresh_packlist( $self->alien_library_destination );
}
}
#######################
# Pre-build Methods #
#######################
lib/Alien/Base/ModuleBuild.pm view on Meta::CPAN
my $initial_cwd = $CWD;
my @args = map { $self->alien_interpolate($_) } @_;
print "+ @args\n";
my $old_super_verbose = $self->verbose;
$self->verbose(0);
my ($out, $err, $success) =
$verbose
? tee { $self->SUPER::do_system(@args) }
: capture { $self->SUPER::do_system(@args) }
;
$self->verbose($old_super_verbose);
my %return = (
stdout => $out,
stderr => $err,
success => $success,
command => join(' ', @args),
);
lib/Alien/Base/ModuleBuild/Repository/Local.pm view on Meta::CPAN
# ABSTRACT: Local file repository handler
our $VERSION = '1.17'; # VERSION
sub is_network_fetch { 0 }
sub is_secure_fetch { 1 }
sub new {
my $class = shift;
my $self = $class->SUPER::new(@_);
# make location absolute
local $CWD = $self->location;
$self->location("$CWD");
return $self;
}
sub list_files {
my $self = shift;
( run in 1.754 second using v1.01-cache-2.11-cpan-49f99fa48dc )