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
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,
pod2usage(1) if $help;
Catalyst::PAR->new->package( {
+ classes => $classes,
core => $core,
engine => $engine,
par => $par,
[% 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
-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
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");
use lib 'lib';
require $class;
import $class;
+$classes
EOF
$tmp_file->close;