use IO::File;
use FindBin;
use Template;
-use Catalyst;
use Catalyst::Utils;
use Catalyst::Exception;
sub mk_app {
my ( $self, $name ) = @_;
+
+ # Needs to be here for PAR
+ require Catalyst;
+
return 0 if $name =~ /[^\w\:]/;
$self->{name} = $name;
$self->{dir} = $name;
use Pod::Usage;
use Catalyst::PAR;
-my $help = 0;
+my $core = 0;
+my $classes = '';
+my $engine = 'CGI';
+my $help = 0;
+my $multiarch = 0;
+my $par = '[% appprefix %].par';
-GetOptions( 'help|?' => \$help );
+GetOptions(
+ 'classes=s' => \$classes,
+ 'core' => \$core,
+ 'engine=s' => \$engine,
+ 'help|?' => \$help,
+ 'multiarch' => \$multiarch,
+ 'par=s' => \$par
+);
pod2usage(1) if $help;
-my $par = Catalyst::PAR->new->package( {
- par => $ARGV[0] || '[% appprefix %].par',
- engine => $ARGV[1],
- class => '[% name %]'
+Catalyst::PAR->new->package( {
+ classes => $classes,
+ core => $core,
+ engine => $engine,
+ par => $par,
+ multiarch => $multiarch,
+ class => '[% name %]'
} );
1;
=head1 SYNOPSIS
-[% appprefix %]_package.pl [par] [engine]
+[% appprefix %]_package.pl
Options:
- -help display this help and exits
+ -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
+ -multiarch enable multiarch support (defaults to false)
+ -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