Updated par helper
Sebastian Riedel [Thu, 17 Nov 2005 02:39:24 +0000 (02:39 +0000)]
lib/Catalyst.pm
lib/Catalyst/Helper.pm
lib/Catalyst/PAR.pm

index 3de67b5..d2235de 100644 (file)
@@ -43,7 +43,7 @@ our $DETACH    = "catalyst_detach\n";
 require Module::Pluggable::Fast;
 
 # Helper script generation
-our $CATALYST_SCRIPT_GEN = 13;
+our $CATALYST_SCRIPT_GEN = 14;
 
 __PACKAGE__->mk_classdata($_)
   for qw/components arguments dispatcher engine log dispatcher_class
index f99887b..51039ca 100644 (file)
@@ -989,15 +989,21 @@ use Getopt::Long;
 use Pod::Usage;
 use Catalyst::PAR;
 
+my $engine = 'CGI';
 my $help = 0;
+my $par = '[% appprefix %].par';
 
-GetOptions( 'help|?' => \$help );
+GetOptions(
+    'engine=s' => \$engine,
+    'help|?'   => \$help,
+    'par=s'    => \$par
+);
 
 pod2usage(1) if $help;
 
-my $par = Catalyst::PAR->new->package( {
-    par    => $ARGV[0] || '[% appprefix %].par',
-    engine => $ARGV[1],
+Catalyst::PAR->new->package( {
+    engine => $engine,
+    par    => $par,
     class  => '[% name %]'
 } );
 
@@ -1009,10 +1015,12 @@ my $par = Catalyst::PAR->new->package( {
 
 =head1 SYNOPSIS
 
-[% appprefix %]_package.pl [par] [engine]
+[% appprefix %]_package.pl
 
  Options:
+   -engine   engine to use for dependency detection
    -help     display this help and exits
+   -par      name for the par archive
 
  Examples:
    [% appprefix %]_package.pl [% appprefix %].par FastCGI
index d6ea202..7c4584f 100644 (file)
@@ -6,7 +6,6 @@ use FindBin;
 use IO::File;
 use File::Spec;
 use File::Find;
-require Catalyst;
 
 =head1 NAME
 
@@ -73,6 +72,9 @@ EOF
     $tmp_file->close;
 
     # Create package
+    local $SIG{__WARN__} = sub { };
+    open my $olderr, '>&STDERR';
+    open STDERR, '>', File::Spec->devnull;
     my %opt = ( 'x' => 1, 'n' => 0, 'o' => $par, 'a' => [@files] );
     App::Packer::PAR->new(
         frontend  => 'Module::ScanDeps',
@@ -81,6 +83,7 @@ EOF
         backopts  => \%opt,
         args      => ['par_test.pl'],
     )->go;
+    open STDERR, '>&', $olderr;
 
     unlink $par_test;
 }