Updated PAR support
[catagits/Catalyst-Runtime.git] / lib / Catalyst / Helper.pm
index f99887b..4787359 100644 (file)
@@ -7,7 +7,6 @@ use File::Path;
 use IO::File;
 use FindBin;
 use Template;
-use Catalyst;
 use Catalyst::Utils;
 use Catalyst::Exception;
 
@@ -57,6 +56,10 @@ Create the main application skeleton.
 
 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;
@@ -989,16 +992,31 @@ use Getopt::Long;
 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;
@@ -1009,14 +1027,21 @@ my $par = Catalyst::PAR->new->package( {
 
 =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