X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FCatalyst%2FPAR.pm;h=535174b90facc6d3c3b623f7d3c232e07416a820;hb=34a83d89a7989524a72b984bdbce63b44ac41686;hp=dcbe9a39678807e922e602297bd8d489ddc70958;hpb=255b19ac18c639bc8e5b79d711f6e68c4f77b116;p=catagits%2FCatalyst-Runtime.git diff --git a/lib/Catalyst/PAR.pm b/lib/Catalyst/PAR.pm index dcbe9a3..535174b 100644 --- a/lib/Catalyst/PAR.pm +++ b/lib/Catalyst/PAR.pm @@ -24,14 +24,14 @@ Package Catalyst Applications. =over 4 -=item $self->package( $par, $engine ) +=item $self->package(\%options) =cut sub package { my ( $self, $options ) = @_; - my $par = $options->{par} || 'application.par'; + my $par = $options->{output} || 'application.par'; my $engine = $options->{engine} || 'CGI'; # Check for PAR @@ -64,6 +64,10 @@ sub package { my $par_test = File::Spec->catfile( $FindBin::Bin, '..', 'par_test.pl' ); unlink $par_test; + my $classes = ''; + for my $req ( split ',', $options->{classes} ) { + $classes .= "require $req;\n"; + } my $version = $Catalyst::VERSION; my $class = $options->{class}; my $tmp_file = IO::File->new("> $par_test"); @@ -73,6 +77,7 @@ BEGIN { \$ENV{CATALYST_ENGINE} = '$engine' }; use lib 'lib'; require $class; import $class; +$classes EOF $tmp_file->close; @@ -80,7 +85,15 @@ EOF local $SIG{__WARN__} = sub { }; open my $olderr, '>&STDERR'; open STDERR, '>', File::Spec->devnull; - my %opt = ( 'x' => 1, 'n' => 0, 'o' => $par, 'a' => [@files], 'p' => 1 ); + my %opt = ( + 'x' => 1, + 'n' => 0, + 'o' => $par, + 'a' => [@files], + 'p' => 1, + 'B' => $options->{core}, + 'm' => $options->{multiarch} + ); App::Packer::PAR->new( frontend => 'Module::ScanDeps', backend => 'PAR::Packer',