From: Matt S Trout Date: Wed, 24 May 2006 02:55:00 +0000 (+0000) Subject: moved M::I::Cat X-Git-Tag: 5.7099_04~567 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=commitdiff_plain;h=5300313d220ce9c7ffbee37be2b315d332e1c549 moved M::I::Cat --- diff --git a/lib/Module/Install/Catalyst.pm b/lib/Module/Install/Catalyst.pm deleted file mode 100644 index 95d97b8..0000000 --- a/lib/Module/Install/Catalyst.pm +++ /dev/null @@ -1,333 +0,0 @@ -package Module::Install::Catalyst; - -use strict; - -our @ISA; -require Module::Install::Base; -@ISA = qw/Module::Install::Base/; - -use File::Find; -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/; -our @CLASSES = (); -our $ENGINE = 'CGI'; -our $CORE = 0; -our $MULTIARCH = 0; -our $SCRIPT; -our $USAGE; - -=head1 NAME - -Module::Install::Catalyst - Module::Install extension for Catalyst - -=head1 SYNOPSIS - -See L - -=head1 DESCRIPTION - -L extension for Catalyst. - -=head1 METHODS - -=head2 catalyst - -=cut - -sub catalyst { - my $self = shift; - print <catalyst_files; - $self->catalyst_par; - print <name; - for my $orig (@files) { - my $path = File::Spec->catdir( 'blib', 'lib', @path, $orig ); - rcopy( $orig, $path ); - } -} - -=head2 catalyst_ignore_all(\@ignore) - -=cut - -sub catalyst_ignore_all { - my ( $self, $ignore ) = @_; - @IGNORE = @$ignore; -} - -=head2 catalyst_ignore(\@ignore) - -=cut - -sub catalyst_ignore { - my ( $self, @ignore ) = @_; - push @IGNORE, @ignore; -} - -=head2 catalyst_par($name) - -=cut - -# Workaround for a namespace conflict -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 = $class_name; - $name =~ s/::/_/g; - $name = lc $name; - $par ||= "$name.par"; - my $engine = $ENGINE || 'CGI'; - - # Check for PAR - eval "use PAR ()"; - die "Please install PAR\n" if $@; - eval "use PAR::Packer ()"; - die "Please install PAR::Packer\n" if $@; - eval "use App::Packer::PAR ()"; - die "Please install App::Packer::PAR\n" if $@; - eval "use Module::ScanDeps ()"; - die "Please install Module::ScanDeps\n" if $@; - - my $root = $FindBin::Bin; - $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/; - return 0; - } - print qq/Writing PAR "$par"\n/; - chdir File::Spec->catdir( $root, 'blib' ); - - my $par_pl = 'par.pl'; - unlink $par_pl; - - my $version = $Catalyst::VERSION; - my $class = $class_name; - - my $classes = ''; - $classes .= " require $_;\n" for @$CLASSES; - - unlink $par_pl; - - my $usage = $USAGE || <<"EOF"; -Usage: - [parl] $name\[.par] [script] [arguments] - - Examples: - parl $name.par $name\_server.pl -r - myapp $name\_cgi.pl -EOF - - my $script = $SCRIPT; - my $tmp_file = IO::File->new("> $par_pl "); - print $tmp_file <<"EOF"; -if ( \$ENV{PAR_PROGNAME} ) { - my \$zip = \$PAR::LibCache{\$ENV{PAR_PROGNAME}} - || Archive::Zip->new(__FILE__); - my \$script = '$script'; - \$ARGV[0] ||= \$script if \$script; - if ( ( \@ARGV == 0 ) || ( \$ARGV[0] eq '-h' ) || ( \$ARGV[0] eq '-help' )) { - my \@members = \$zip->membersMatching('.*script/.*\.pl'); - my \$list = " Available scripts:\\n"; - for my \$member ( \@members ) { - my \$name = \$member->fileName; - \$name =~ /(\\w+\\.pl)\$/; - \$name = \$1; - next if \$name =~ /^main\.pl\$/; - next if \$name =~ /^par\.pl\$/; - \$list .= " \$name\\n"; - } - die <<"END"; -$usage -\$list -END - } - my \$file = shift \@ARGV; - \$file =~ s/^.*[\\/\\\\]//; - \$file =~ s/\\.[^.]*\$//i; - my \$member = eval { \$zip->memberNamed("./script/\$file.pl") }; - die qq/Can't open perl script "\$file"\n/ unless \$member; - PAR::_run_member( \$member, 1 ); -} -else { - require lib; - import lib 'lib'; - \$ENV{CATALYST_ENGINE} = '$engine'; - require $class; - import $class; - require Catalyst::Helper; - require Catalyst::Test; - require Catalyst::Engine::HTTP; - require Catalyst::Engine::CGI; - require Catalyst::Controller; - require Catalyst::Model; - require Catalyst::View; - require Getopt::Long; - require Pod::Usage; - require Pod::Text; - $classes -} -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' => [ grep( !/par.pl/, glob '.' ) ], - 'p' => 1, - 'B' => $CORE, - 'm' => $MULTIARCH - ); - App::Packer::PAR->new( - frontend => 'Module::ScanDeps', - backend => 'PAR::Packer', - frontopts => \%opt, - backopts => \%opt, - args => ['par.pl'], - )->go; - - open STDERR, '>&', $olderr; - - unlink $par_pl; - chdir $root; - rmove( File::Spec->catfile( 'blib', $par ), $par ); - return 1; -} - -=head1 AUTHOR - -Sebastian Riedel, C - -=head1 LICENSE - -This library is free software, you can redistribute it and/or modify it under -the same terms as Perl itself. - -=cut - -1;