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