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;
$CORE = $core;
}
+=head2 catalyst_par_classes(@clases)
+
+=cut
+
+sub catalyst_par_classes {
+ my ( $self, @classes ) = @_;
+ push @CLASSES, @classes;
+}
+
=head2 catalyst_par_engine($engine)
=cut
$name =~ s/::/_/g;
$name = lc $name;
$par ||= "$name.par";
- my $engine = $ENGINE || 'CGI';
+ my $engine = $Module::Install::Catalyst::ENGINE || 'CGI';
# Check for PAR
eval "use PAR ()";
my $root = $FindBin::Bin;
my $path = File::Spec->catfile( 'blib', 'lib', split( '::', $self->name ) );
$path .= '.pm';
- return unless -f $path;
+ 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';
my $version = $Catalyst::VERSION;
my $class = $self->name;
- my $tmp_file = IO::File->new("> $par_pl");
+ my $classes = '';
+ $classes .= "require $_;\n" for @Catalyst::Module::Install::CLASSES;
+ my $tmp_file = IO::File->new(" > $par_pl ");
print $tmp_file <<"EOF";
die "$class on Catalyst $version\n" if \$0 !~ /par.pl\.\\w+\$/;
BEGIN { \$ENV{CATALYST_ENGINE} = '$engine' };
require Catalyst::Controller;
require Catalyst::Model;
require Catalyst::View;
+$classes
EOF
$tmp_file->close;
'o' => $par,
'a' => [ grep( !/par.pl/, glob '.' ) ],
'p' => 1,
- 'B' => $CORE,
- 'm' => $MULTIARCH
+ 'B' => $Module::Install::Catalyst::CORE,
+ 'm' => $Module::Install::Catalyst::MULTIARCH
);
App::Packer::PAR->new(
frontend => 'Module::ScanDeps',
unlink $par_pl;
chdir $root;
rmove( File::Spec->catfile( 'blib', $par ), $par );
+ return 1;
}
=head1 AUTHOR