X-Git-Url: http://erislabs.net/gitweb/?p=liburi-template-perl.git;a=blobdiff_plain;f=inc%2FModule%2FInstall%2FWriteAll.pm;h=85d8018c5c9c4f27c6cce49223aa0aefe6369340;hp=f35620f49b0b806d71d3ba1bab254747b3b5c4ad;hb=81c7f1b85cb98976fe96ad4f8a11037b2cb3de35;hpb=1b350f7b046bbc833e37a9fba91fc808c0fed41a diff --git a/inc/Module/Install/WriteAll.pm b/inc/Module/Install/WriteAll.pm index f35620f..85d8018 100644 --- a/inc/Module/Install/WriteAll.pm +++ b/inc/Module/Install/WriteAll.pm @@ -2,11 +2,11 @@ package Module::Install::WriteAll; use strict; -use Module::Install::Base; +use Module::Install::Base (); use vars qw{$VERSION @ISA $ISCORE}; BEGIN { - $VERSION = '0.77'; + $VERSION = '1.06'; @ISA = qw{Module::Install::Base}; $ISCORE = 1; } @@ -22,19 +22,42 @@ sub WriteAll { ); $self->sign(1) if $args{sign}; - $self->Meta->write if $args{meta}; $self->admin->WriteAll(%args) if $self->is_admin; $self->check_nmake if $args{check_nmake}; unless ( $self->makemaker_args->{PL_FILES} ) { - $self->makemaker_args( PL_FILES => {} ); + # XXX: This still may be a bit over-defensive... + unless ($self->makemaker(6.25)) { + $self->makemaker_args( PL_FILES => {} ) if -f 'Build.PL'; + } } + # Until ExtUtils::MakeMaker support MYMETA.yml, make sure + # we clean it up properly ourself. + $self->realclean_files('MYMETA.yml'); + if ( $args{inline} ) { $self->Inline->write; } else { $self->Makefile->write; } + + # The Makefile write process adds a couple of dependencies, + # so write the META.yml files after the Makefile. + if ( $args{meta} ) { + $self->Meta->write; + } + + # Experimental support for MYMETA + if ( $ENV{X_MYMETA} ) { + if ( $ENV{X_MYMETA} eq 'JSON' ) { + $self->Meta->write_mymeta_json; + } else { + $self->Meta->write_mymeta_yaml; + } + } + + return 1; } 1;