X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FModule%2FInstall%2FCatalyst.pm;h=a59893c9800412c8af23f3a60064018de766e86c;hb=db5891bf6f31dde09595623f4fa6037ba4d8e21f;hp=63f2546fe55fd829ec4ddfed2c1b6e9037185d49;hpb=bd2be280fc62c7cf17005a7a8647d152131a67a5;p=catagits%2FCatalyst-Runtime.git diff --git a/lib/Module/Install/Catalyst.pm b/lib/Module/Install/Catalyst.pm index 63f2546..a59893c 100644 --- a/lib/Module/Install/Catalyst.pm +++ b/lib/Module/Install/Catalyst.pm @@ -11,6 +11,8 @@ use FindBin; use File::Copy::Recursive 'rcopy'; use File::Spec (); +my $SAFETY = 0; + our @IGNORE = qw/Build Build.PL Changes MANIFEST META.yml Makefile.PL Makefile README _build blib lib script t inc/; @@ -35,6 +37,22 @@ L extension for Catalyst. =head1 METHODS +=head2 catalyst + +=cut + +sub catalyst { + my $self = shift; + print <catalyst_files; + $self->catalyst_par; + print <name; + my @path = split '-', $self->name; for my $orig (@files) { my $path = File::Spec->catdir( 'blib', 'lib', @path, $orig ); rcopy( $orig, $path ); @@ -84,7 +102,23 @@ sub catalyst_ignore { =cut # Workaround for a namespace conflict -sub catalyst_par { Catalyst::Module::Install::_catalyst_par(@_) } +sub catalyst_par { + my ( $self, $par ) = @_; + return if $SAFETY; + $SAFETY++; + my $name = $self->name; + my $usage = $USAGE; + $usage =~ s/"/\\"/g; + my $class_string = join "', '", @CLASSES; + $class_string = "'$class_string'" if $class_string; + $self->postamble(< [$class_string], CORE => $CORE, ENGINE => '$ENGINE', MULTIARCH => $MULTIARCH, SCRIPT => '$SCRIPT', USAGE => q#$usage# } )" +EOF + print <{ENGINE}; + my $CLASSES = $opts->{CLASSES} || []; + my $USAGE = $opts->{USAGE}; + my $SCRIPT = $opts->{SCRIPT}; + my $MULTIARCH = $opts->{MULTIARCH}; + my $CORE = $opts->{CORE}; - my $name = $self->name; + my $name = $class_name; $name =~ s/::/_/g; $name = lc $name; $par ||= "$name.par"; - my $engine = $Module::Install::Catalyst::ENGINE || 'CGI'; + my $engine = $ENGINE || 'CGI'; # Check for PAR eval "use PAR ()"; @@ -167,7 +208,8 @@ sub _catalyst_par { die "Please install Module::ScanDeps\n" if $@; my $root = $FindBin::Bin; - my $path = File::Spec->catfile( 'blib', 'lib', split( '::', $self->name ) ); + $class_name = s/-/::/g; + my $path = File::Spec->catfile( 'blib', 'lib', split( '::', $class_name ) ); $path .= '.pm'; unless ( -f $path ) { print qq/Not writing PAR, "$path" doesn't exist\n/; @@ -180,14 +222,14 @@ sub _catalyst_par { unlink $par_pl; my $version = $Catalyst::VERSION; - my $class = $self->name; + my $class = $class_name; my $classes = ''; - $classes .= " require $_;\n" for @Catalyst::Module::Install::CLASSES; + $classes .= " require $_;\n" for @$CLASSES; unlink $par_pl; - my $usage = $Module::Install::Catalyst::USAGE || <<"EOF"; + my $usage = $USAGE || <<"EOF"; Usage: [parl] $name\[.par] [script] [arguments] @@ -196,7 +238,7 @@ Usage: myapp $name\_cgi.pl EOF - my $script = $Module::Install::Catalyst::SCRIPT; + my $script = $SCRIPT; my $tmp_file = IO::File->new("> $par_pl "); print $tmp_file <<"EOF"; if ( \$ENV{PAR_PROGNAME} ) { @@ -258,8 +300,8 @@ EOF 'o' => $par, 'a' => [ grep( !/par.pl/, glob '.' ) ], 'p' => 1, - 'B' => $Module::Install::Catalyst::CORE, - 'm' => $Module::Install::Catalyst::MULTIARCH + 'B' => $CORE, + 'm' => $MULTIARCH ); App::Packer::PAR->new( frontend => 'Module::ScanDeps',