CPAN-Mini-Inject-REST
view release on metacpan - search on metacpan
view release on metacpan or search on metacpan
inc/Module/Install/Catalyst.pm view on Meta::CPAN
$SAFETY++;
my $name = $self->name;
my $usage = $USAGE;
$usage =~ s/"/\\"/g;
my $class_string = join "', '", @CLASSES;
$class_string = "'$class_string'" if $class_string;
local $Data::Dumper::Indent = 0;
local $Data::Dumper::Terse = 1;
local $Data::Dumper::Pad = ' ';
my $paropts_string = Dumper(\%PAROPTS) || "{ }";
$self->postamble(<<EOF);
catalyst_par :: all
\t\$(NOECHO) \$(PERL) -Ilib -Minc::Module::Install -MModule::Install::Catalyst -e"Catalyst::Module::Install::_catalyst_par( '$par', '$name', { CLASSES => [$class_string], PAROPTS => $paropts_string, ENGINE => '$ENGINE', SCRIPT => '$SCRIPT', USAGE => ...
EOF
print <<EOF;
Please run "make catalyst_par" to create the PAR package!
EOF
}
#line 158
sub catalyst_par_core {
my ( $self, $core ) = @_;
$core ? ( $PAROPTS{'B'} = $core ) : $PAROPTS{'B'}++;
}
#line 167
sub catalyst_par_classes {
my ( $self, @classes ) = @_;
push @CLASSES, @classes;
}
#line 176
sub catalyst_par_engine {
my ( $self, $engine ) = @_;
$ENGINE = $engine;
}
#line 185
sub catalyst_par_multiarch {
my ( $self, $multiarch ) = @_;
$multiarch ? ( $PAROPTS{'m'} = $multiarch ) : $PAROPTS{'m'}++;
}
#line 218
sub catalyst_par_options {
my ( $self, $optstring ) = @_;
eval "use PAR::Packer ()";
if ($@) {
warn "WARNING: catalyst_par_options ignored - you need PAR::Packer\n"
}
else {
my $p = Getopt::Long::Parser->new(config => ['no_ignore_case']);
my %o;
require Text::ParseWords;
{
local @ARGV = Text::ParseWords::shellwords($optstring);
$p->getoptions(\%o, PAR::Packer->options);
}
%PAROPTS = ( %PAROPTS, %o);
}
}
#line 240
sub catalyst_par_script {
my ( $self, $script ) = @_;
$SCRIPT = $script;
}
#line 249
sub catalyst_par_usage {
my ( $self, $usage ) = @_;
$USAGE = $usage;
}
package Catalyst::Module::Install;
use strict;
use FindBin;
use File::Copy::Recursive 'rmove';
use File::Spec ();
sub _catalyst_par {
my ( $par, $class_name, $opts ) = @_;
my $ENGINE = $opts->{ENGINE};
my $CLASSES = $opts->{CLASSES} || [];
my $USAGE = $opts->{USAGE};
my $SCRIPT = $opts->{SCRIPT};
my $PAROPTS = $opts->{PAROPTS};
my $name = $class_name;
$name =~ s/::/_/g;
$name = lc $name;
$par ||= "$name.par";
my $engine = $ENGINE || 'CGI';
# Check for PAR
eval "use PAR ()";
die "Please install PAR\n" if $@;
eval "use PAR::Packer ()";
die "Please install PAR::Packer\n" if $@;
eval "use App::Packer::PAR ()";
die "Please install App::Packer::PAR\n" if $@;
eval "use Module::ScanDeps ()";
die "Please install Module::ScanDeps\n" if $@;
my $root = $FindBin::Bin;
$class_name =~ s/-/::/g;
my $path = File::Spec->catfile( 'blib', 'lib', split( '::', $class_name ) );
$path .= '.pm';
unless ( -f $path ) {
print qq/Not writing PAR, "$path" doesn't exist\n/;
return 0;
}
view all matches for this distributionview release on metacpan - search on metacpan
( run in 1.056 second using v1.00-cache-2.02-grep-82fe00e-cpan-2c419f77a38b )