X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=inc%2FModule%2FInstall%2FWriteAll.pm;h=85d8018c5c9c4f27c6cce49223aa0aefe6369340;hb=refs%2Fheads%2Fupstream;hp=13437e6b2409a9256b605d5234a5fdc6a0778193;hpb=8a4c5378ad9614e2d4d066968b85f215fd5671d3;p=libwww-opensearch-perl.git diff --git a/inc/Module/Install/WriteAll.pm b/inc/Module/Install/WriteAll.pm index 13437e6..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.71'; + $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;