Added META.json and MYMETA.json support to EU::MM

2011-02-05 Thread David Golden
I've pushed commits to the Perl Toolchain Gang repo on github that add
support for creating META.json and MYMETA.json files.  In addition,
all META file creation now goes through CPAN::Meta to ensure valid,
standardized metafiles.

CPAN::Meta is an optional dependency, so tests that would need it just
skip if not available.

As with my work on Module::Build, the version 2 CPAN Meta files are
just upconversions of version 1.4 data.  This gets the ball rolling
with META.json files, without requiring potentially substantial API
revisions that I think are just too risky a couple weeks before the
Perl 5.14 freeze.

Michael -- I think it would be great if we could get a dev version
released this week so we can see how it smokes and then merge it into
blead if it looks decent.

In the meantime, encourage people to try it out from the repository.

-- David


Re: Added META.json and MYMETA.json support to EU::MM

2011-02-05 Thread Michael G Schwern
On 2011.2.6 7:57 AM, David Golden wrote:
 I've pushed commits to the Perl Toolchain Gang repo on github that add
 support for creating META.json and MYMETA.json files.  In addition,
 all META file creation now goes through CPAN::Meta to ensure valid,
 standardized metafiles.

Thank you for doing that work!


 CPAN::Meta is an optional dependency, so tests that would need it just
 skip if not available.

The change log says this which needs to be discussed.

INCOMPATIBLE CHANGES
* META and MYMETA files will only be created if CPAN::Meta is
  installed to ensure consistent and valid META file generation
  [David Golden]

Making it an optional dep on CPAN::Meta will silently make META files
inconsistent on CPAN.  I don't have CPAN::Meta installed.  If I hadn't looked
at the change log I likely wouldn't have noticed until somebody told me my
releases were missing their META files.  One of the reasons the META file
works so well is authors have to do nothing.

Here are the options I see.  First, make it use CPAN::Meta if available and if
not fall back to a built in one.  MakeMaker already has a copy of YAML::Tiny
in ExtUtils::MakeMaker::YAML.  The slightly inconsistent data is better than
no data at all.

Another option would be to put CPAN::Meta into inc.  Unfortunately, CPAN::Meta
has dependencies.  Can they all be put into inc?  CPAN::Meta::Tiny?


 Michael -- I think it would be great if we could get a dev version
 released this week so we can see how it smokes and then merge it into
 blead if it looks decent.

Between work and Test::Builder2, I have no time for MakeMaker.  But you have
PAUSE co-maint now.


-- 
A: Yes.
 Q: Are you sure?
 A: Because it reverses the logical flow of conversation.
 Q: Why is top posting annoying in email?