source: LATMOS-Accounts-Web/inc/Module/Install/AutoInstall.pm @ 437

Last change on this file since 437 was 437, checked in by nanardon, 15 years ago
  • add inc/ directory
File size: 1.2 KB
Line 
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.91';
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;
Note: See TracBrowser for help on using the repository browser.