Add some subroutine docs. Must write another test so that I can understand all ins...
[dbsrgits/DBIx-Class-ResultSource-MultipleTableInheritance.git] / inc / Module / Install / WriteAll.pm
CommitLineData
146ec120 1#line 1
2package Module::Install::WriteAll;
3
4use strict;
5use Module::Install::Base ();
6
7use vars qw{$VERSION @ISA $ISCORE};
8BEGIN {
9 $VERSION = '0.95';;
10 @ISA = qw{Module::Install::Base};
11 $ISCORE = 1;
12}
13
14sub 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
631;