reimported.
[catagits/Task-Catalyst.git] / inc / Module / Install / AutoInstall.pm
CommitLineData
54123ee5 1#line 1
2package Module::Install::AutoInstall;
3
4use Module::Install::Base;
5@ISA = qw{Module::Install::Base};
6
7$VERSION = '0.61';
8
9use strict;
10
11sub AutoInstall { $_[0] }
12
13sub run {
14 my $self = shift;
15 $self->auto_install_now(@_);
16}
17
18sub write {
19 my $self = shift;
20 $self->auto_install(@_);
21}
22
23sub auto_install {
24 my $self = shift;
25 return if $self->{done}++;
26
27 # Flatten array of arrays into a single array
28 my @core = map @$_, map @$_, grep ref,
29 $self->build_requires, $self->requires;
30
31 my @config = @_;
32
33 # We'll need Module::AutoInstall
34 $self->include('Module::AutoInstall');
35 require Module::AutoInstall;
36
37 Module::AutoInstall->import(
38 (@config ? (-config => \@config) : ()),
39 (@core ? (-core => \@core) : ()),
40 $self->features,
41 );
42
43 $self->makemaker_args( Module::AutoInstall::_make_args() );
44
45 my $class = ref($self);
46 $self->postamble(
47 "# --- $class section:\n" .
48 Module::AutoInstall::postamble()
49 );
50}
51
52sub auto_install_now {
53 my $self = shift;
54 $self->auto_install(@_);
55 Module::AutoInstall::do_install();
56}
57
581;