Commit | Line | Data |
146ec120 |
1 | #line 1 |
2 | package Module::Install::WriteAll; |
3 | |
4 | use strict; |
5 | use Module::Install::Base (); |
6 | |
7 | use vars qw{$VERSION @ISA $ISCORE}; |
8 | BEGIN { |
9 | $VERSION = '0.95';; |
10 | @ISA = qw{Module::Install::Base}; |
11 | $ISCORE = 1; |
12 | } |
13 | |
14 | sub WriteAll { |
15 | my $self = shift; |
16 | my %args = ( |
17 | meta => 1, |
18 | sign => 0, |
19 | inline => 0, |
20 | check_nmake => 1, |
21 | @_, |
22 | ); |
23 | |
24 | $self->sign(1) if $args{sign}; |
25 | $self->admin->WriteAll(%args) if $self->is_admin; |
26 | |
27 | $self->check_nmake if $args{check_nmake}; |
28 | unless ( $self->makemaker_args->{PL_FILES} ) { |
29 | # XXX: This still may be a bit over-defensive... |
30 | unless ($self->makemaker(6.25)) { |
31 | $self->makemaker_args( PL_FILES => {} ) if -f 'Build.PL'; |
32 | } |
33 | } |
34 | |
35 | # Until ExtUtils::MakeMaker support MYMETA.yml, make sure |
36 | # we clean it up properly ourself. |
37 | $self->realclean_files('MYMETA.yml'); |
38 | |
39 | if ( $args{inline} ) { |
40 | $self->Inline->write; |
41 | } else { |
42 | $self->Makefile->write; |
43 | } |
44 | |
45 | # The Makefile write process adds a couple of dependencies, |
46 | # so write the META.yml files after the Makefile. |
47 | if ( $args{meta} ) { |
48 | $self->Meta->write; |
49 | } |
50 | |
51 | # Experimental support for MYMETA |
52 | if ( $ENV{X_MYMETA} ) { |
53 | if ( $ENV{X_MYMETA} eq 'JSON' ) { |
54 | $self->Meta->write_mymeta_json; |
55 | } else { |
56 | $self->Meta->write_mymeta_yaml; |
57 | } |
58 | } |
59 | |
60 | return 1; |
61 | } |
62 | |
63 | 1; |