App-Pods2Site
view release on metacpan or search on metacpan
lib/App/Pods2Site/Args.pm view on Meta::CPAN
MODULES
}
else
{
die("Unknown internal group definition: '$internal'\n");
}
return @groupDefs;
}
sub __getBinLocations
{
my $self = shift;
my $argLocs = shift;
# if the user provided any bin locations, interpret them
# otherwise return the default places
#
my @locs;
if (defined($argLocs))
{
foreach my $loc (@$argLocs)
{
if (defined($loc) && length($loc) > 0)
{
if ($loc eq ':std')
{
push(@locs, $self->__getDefaultBinLocations());
}
elsif ($loc eq ':path')
{
push(@locs, split(/\Q$PATH_SEP\E/, $ENV{PATH}));
}
elsif ($loc eq ':none')
{
# do nothing
}
else
{
push(@locs, $loc) if -d $loc;
}
}
}
}
else
{
@locs = $self->__getDefaultBinLocations();
}
# ensure all paths are absolute and clean
#
$_ = slashify(File::Spec->rel2abs($_)) foreach (@locs);
return @locs;
}
sub __getDefaultBinLocations
{
my $self = shift;
# a somewhat guessed list for Config keys for scripts...
# note: order is important
#
return $self->__getConfigLocations
(
qw
(
installsitebin
installsitescript
installvendorbin
installvendorscript
installbin
installscript
)
);
}
sub __getLibLocations
{
my $self = shift;
my $argLocs = shift;
# if the user provided any lib locations, interpret them
# otherwise return the default places
#
my @locs;
if (defined($argLocs))
{
foreach my $loc (@$argLocs)
{
if (defined($loc) && length($loc) > 0)
{
if ($loc eq ':std')
{
push(@locs, $self->__getDefaultLibLocations());
}
elsif ($loc eq ':inc')
{
push(@locs, @INC);
}
elsif ($loc eq ':none')
{
# do nothing
}
else
{
push(@locs, $loc) if -d $loc;
}
}
}
}
else
{
@locs = $self->__getDefaultLibLocations();
}
# ensure all paths are absolute and clean
#
$_ = slashify(File::Spec->rel2abs($_)) foreach (@locs);
return @locs;
}
sub __getDefaultLibLocations
{
my $self = shift;
# a somewhat guessed list for Config keys for lib locations...
# note: order is important
#
return $self->__getConfigLocations
(
qw
(
installsitearch
installsitelib
installvendorarch
installvendorlib
installarchlib
installprivlib
)
);
}
sub __getConfigLocations
{
my $self = shift;
my @cfgnames = @_;
# the keys don't always contain anything useful
#
my @locs;
foreach my $loc (@cfgnames)
{
my $cfgloc = $Config{$loc};
if ( defined($cfgloc)
&& length($cfgloc) > 0
&& -d $cfgloc)
{
push(@locs, $cfgloc);
}
}
return @locs;
}
sub __print_pp_cmdline
{
my $self = shift;
my $version = shift;
my $argsPodName = shift;
my $argsPodInput = shift;
my $manualPodName = shift;
my $manualPodInput = shift;
die("Sorry, you're already running a binary/packed instance\n") if $IS_PACKED;
eval "require PAR::Packer";
warn("Sorry, it appears PAR::Packer is not installed/working!\n") if $@;
my $os = $IS_WINDOWS ? 'windows' : $^O;
my $arch = (POSIX::uname())[4];
my $exeSuffix = $IS_WINDOWS ? '.exe' : '';
my $bnScript = basename($Script);
my $output = "$bnScript-$version-$os-$arch$exeSuffix";
my @liblocs = map { $_ ne '.' ? ('-I', slashify(File::Spec->rel2abs($_))) : () } @INC;
my @cmd =
(
'pp',
( run in 0.667 second using v1.01-cache-2.11-cpan-5a3173703d6 )