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.93';;
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		$self->makemaker_args( PL_FILES => {} );
30	}
31
32	# Until ExtUtils::MakeMaker support MYMETA.yml, make sure
33	# we clean it up properly ourself.
34	$self->realclean_files('MYMETA.yml');
35
36	if ( $args{inline} ) {
37		$self->Inline->write;
38	} else {
39		$self->Makefile->write;
40	}
41
42	# The Makefile write process adds a couple of dependencies,
43	# so write the META.yml files after the Makefile.
44	if ( $args{meta} ) {
45		$self->Meta->write;
46	}
47
48	# Experimental support for MYMETA
49	if ( $ENV{X_MYMETA} ) {
50		if ( $ENV{X_MYMETA} eq 'JSON' ) {
51			$self->Meta->write_mymeta_json;
52		} else {
53			$self->Meta->write_mymeta_yaml;
54		}
55	}
56
57	return 1;
58}
59
601;
61