Blame inc/Module/Install/WriteAll.pm

Packit 243254
#line 1
Packit 243254
package Module::Install::WriteAll;
Packit 243254
Packit 243254
use strict;
Packit 243254
use Module::Install::Base ();
Packit 243254
Packit 243254
use vars qw{$VERSION @ISA $ISCORE};
Packit 243254
BEGIN {
Packit 243254
	$VERSION = '1.01';
Packit 243254
	@ISA     = qw{Module::Install::Base};
Packit 243254
	$ISCORE  = 1;
Packit 243254
}
Packit 243254
Packit 243254
sub WriteAll {
Packit 243254
	my $self = shift;
Packit 243254
	my %args = (
Packit 243254
		meta        => 1,
Packit 243254
		sign        => 0,
Packit 243254
		inline      => 0,
Packit 243254
		check_nmake => 1,
Packit 243254
		@_,
Packit 243254
	);
Packit 243254
Packit 243254
	$self->sign(1)                if $args{sign};
Packit 243254
	$self->admin->WriteAll(%args) if $self->is_admin;
Packit 243254
Packit 243254
	$self->check_nmake if $args{check_nmake};
Packit 243254
	unless ( $self->makemaker_args->{PL_FILES} ) {
Packit 243254
		# XXX: This still may be a bit over-defensive...
Packit 243254
		unless ($self->makemaker(6.25)) {
Packit 243254
			$self->makemaker_args( PL_FILES => {} ) if -f 'Build.PL';
Packit 243254
		}
Packit 243254
	}
Packit 243254
Packit 243254
	# Until ExtUtils::MakeMaker support MYMETA.yml, make sure
Packit 243254
	# we clean it up properly ourself.
Packit 243254
	$self->realclean_files('MYMETA.yml');
Packit 243254
Packit 243254
	if ( $args{inline} ) {
Packit 243254
		$self->Inline->write;
Packit 243254
	} else {
Packit 243254
		$self->Makefile->write;
Packit 243254
	}
Packit 243254
Packit 243254
	# The Makefile write process adds a couple of dependencies,
Packit 243254
	# so write the META.yml files after the Makefile.
Packit 243254
	if ( $args{meta} ) {
Packit 243254
		$self->Meta->write;
Packit 243254
	}
Packit 243254
Packit 243254
	# Experimental support for MYMETA
Packit 243254
	if ( $ENV{X_MYMETA} ) {
Packit 243254
		if ( $ENV{X_MYMETA} eq 'JSON' ) {
Packit 243254
			$self->Meta->write_mymeta_json;
Packit 243254
		} else {
Packit 243254
			$self->Meta->write_mymeta_yaml;
Packit 243254
		}
Packit 243254
	}
Packit 243254
Packit 243254
	return 1;
Packit 243254
}
Packit 243254
Packit 243254
1;