From: Sebastian Riedel Date: Thu, 17 Nov 2005 15:56:30 +0000 (+0000) Subject: Updated PAR support X-Git-Tag: 5.7099_04~890 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=commitdiff_plain;h=c5e57c7a39e5f9be6694a41181aee045e0a95ac8 Updated PAR support --- diff --git a/lib/Catalyst.pm b/lib/Catalyst.pm index 7f6dbc5..1ddd4d3 100644 --- a/lib/Catalyst.pm +++ b/lib/Catalyst.pm @@ -56,7 +56,7 @@ our $DETACH = "catalyst_detach\n"; require Module::Pluggable::Fast; # Helper script generation -our $CATALYST_SCRIPT_GEN = 14; +our $CATALYST_SCRIPT_GEN = 15; __PACKAGE__->mk_classdata($_) for qw/components arguments dispatcher engine log dispatcher_class diff --git a/lib/Catalyst/Helper.pm b/lib/Catalyst/Helper.pm index f311017..4787359 100644 --- a/lib/Catalyst/Helper.pm +++ b/lib/Catalyst/Helper.pm @@ -993,12 +993,14 @@ use Pod::Usage; use Catalyst::PAR; my $core = 0; +my $classes = ''; my $engine = 'CGI'; my $help = 0; my $multiarch = 0; my $par = '[% appprefix %].par'; GetOptions( + 'classes=s' => \$classes, 'core' => \$core, 'engine=s' => \$engine, 'help|?' => \$help, @@ -1009,6 +1011,7 @@ GetOptions( pod2usage(1) if $help; Catalyst::PAR->new->package( { + classes => $classes, core => $core, engine => $engine, par => $par, @@ -1027,6 +1030,8 @@ Catalyst::PAR->new->package( { [% appprefix %]_package.pl Options: + -classes comma separated list of additional classes to + include in package -core also include modules bundled with Perl (defaults to false) -engine engine to use for dependency detection (defaults to CGI) -help display this help and exits @@ -1034,8 +1039,9 @@ Catalyst::PAR->new->package( { -par name for the par archive (defaults to [% appprefix %].par) Examples: - [% appprefix %]_package.pl [% appprefix %].par FastCGI - [% appprefix %]_package.pl foo_linux_i386_apache2.par Apache2 + [% appprefix %]_package.pl -engine FastCGI + [% appprefix %]_package.pl -par foo_linux_i386_apache2.par -engine Apache2 + [% appprefix %]_package.pl -classes Test::More,Foo::Bar -par foo.par See also: perldoc Catalyst::Manual diff --git a/lib/Catalyst/PAR.pm b/lib/Catalyst/PAR.pm index fe336e6..7731d76 100644 --- a/lib/Catalyst/PAR.pm +++ b/lib/Catalyst/PAR.pm @@ -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;