App-SmokeBrew-Plugin-BINGOS
view release on metacpan or search on metacpan
lib/App/SmokeBrew/Plugin/BINGOS.pm view on Meta::CPAN
package App::SmokeBrew::Plugin::BINGOS;
$App::SmokeBrew::Plugin::BINGOS::VERSION = '1.00';
#ABSTRACT: a smokebrew plugin to configure things like BINGOS does
use strict;
use warnings;
use Moose;
extends 'App::SmokeBrew::Plugin::CPANPLUS::YACSmoke';
has 'relay' => (
is => 'ro',
isa => 'Str',
required => 1,
);
has 'port' => (
is => 'ro',
isa => 'Str',
required => 1,
);
has 'testskip' => (
is => 'ro',
isa => 'Bool',
default => 0,
);
sub _boxed {
my $self = shift;
return q+
BEGIN {
use strict;
use warnings;
use Config;
use FindBin;
use File::Spec;
use File::Spec::Unix;
use vars qw[@RUN_TIME_INC $LIB_DIR $BUNDLE_DIR $BASE $PRIV_LIB];
$LIB_DIR = File::Spec->catdir( $FindBin::Bin, qw[.. lib] );
$BUNDLE_DIR = File::Spec->catdir( $FindBin::Bin, qw[.. inc bundle] );
my $who = getlogin || getpwuid($<) || $<;
$BASE = File::Spec->catfile(
$FindBin::Bin, '..', '.cpanplus', $who);
$PRIV_LIB = File::Spec->catfile( $BASE, 'lib' );
@RUN_TIME_INC = ($PRIV_LIB, @INC);
unshift @INC, $LIB_DIR, $BUNDLE_DIR;
$ENV{'PERL5LIB'} = join $Config{'path_sep'}, grep { defined }
$PRIV_LIB, # to find the boxed config
$LIB_DIR, # the CPANPLUS libs
$ENV{'PERL5LIB'}; # original PERL5LIB
}
use FindBin;
use File::Find qw[find];
use CPANPLUS::Error;
use CPANPLUS::Configure;
use CPANPLUS::Internals::Constants;
use CPANPLUS::Internals::Utils;
{ for my $dir ( ($BUNDLE_DIR, $LIB_DIR) ) {
my $base_re = quotemeta $dir;
find( sub { my $file = $File::Find::name;
return unless -e $file && -f _ && -s _;
return if $file =~ /\._/; # osx temp files
$file =~ s/^$base_re(\W)?//;
return if $INC{$file};
my $unixfile = File::Spec::Unix->catfile(
File::Spec->splitdir( $file )
);
my $pm = join '::', File::Spec->splitdir( $file );
$pm =~ s/\.pm$//i or return; # not a .pm file
#return if $pm =~ /(?:IPC::Run::)|(?:File::Spec::)/;
eval "require $pm ; 1";
if( $@ ) {
push @failures, $unixfile;
}
}, $dir );
}
delete $INC{$_} for @failures;
@INC = @RUN_TIME_INC;
}
my $ConfObj = CPANPLUS::Configure->new;
my $Config = CONFIG_BOXED;
my $Util = 'CPANPLUS::Internals::Utils';
my $ConfigFile = $ConfObj->_config_pm_to_file( $Config => $PRIV_LIB );
( run in 2.689 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )