Merge commit 'upstream/0.15'
[libwww-opensearch-perl.git] / inc / Module / Install / WriteAll.pm
index 13437e6..12471e5 100644 (file)
@@ -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 = '0.91';;
        @ISA     = qw{Module::Install::Base};
        $ISCORE  = 1;
 }
@@ -22,7 +22,6 @@ 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};
@@ -30,11 +29,32 @@ sub WriteAll {
                $self->makemaker_args( PL_FILES => {} );
        }
 
+       # 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;