Alien-Build
view release on metacpan or search on metacpan
lib/Test/Alien/Build.pm view on Meta::CPAN
my $build_targ;
sub alienfile::targ
{
$build_targ;
}
sub alienfile
{
my($package, $filename, $line) = caller;
($package, $filename, $line) = caller(2) if $package eq __PACKAGE__;
$filename = path($filename)->absolute;
my %args = @_ == 0 ? (filename => 'alienfile') : @_ % 2 ? ( source => do { '# line '. $line . ' "' . path($filename)->absolute . qq("\n) . $_[0] }) : @_;
require alienfile;
push @alienfile::EXPORT, 'targ' unless any { /^targ$/ } @alienfile::EXPORT;
my $temp = Alien::Build::Temp->newdir;
my $get_temp_root = do{
my $root; # may be undef;
sub {
lib/alienfile.pm view on Meta::CPAN
Carp::croak "probe must not be in a $phase block" if $phase ne 'any';
}
$caller->meta->register_hook(probe => $instr);
return;
}
sub _phase
{
my($code, $phase) = @_;
my $caller = caller(1);
my $meta = $caller->meta;
local $meta->{phase} = $phase;
$code->();
return;
}
sub configure (&)
{
_phase($_[0], 'configure');
}
lib/alienfile.pm view on Meta::CPAN
sub share (&)
{
_phase($_[0], 'share');
}
sub _in_phase
{
my($phase) = @_;
my $caller = caller(1);
my(undef, undef, undef, $sub) = caller(1);
my $meta = $caller->meta;
$sub =~ s/^.*:://;
Carp::croak "$sub must be in a $phase block"
unless $meta->{phase} eq $phase;
}
sub start_url
{
my($url) = @_;
_in_phase 'share';
( run in 0.352 second using v1.01-cache-2.11-cpan-b61123c0432 )