CPANdeps now understands META.json files

Because YAML isn't hip and trendy enough, at some point recently the toolchain started using META.json files as well as META.yml. Some foolish module authors only use META.json. Because CPANdeps didn't know about this file, their dependency graphs weren't being generated. Well, now they are. I just now pushed the updated code to the site, and you should start to see dependencies for things like DBIx::Class::Helpers, which has no META.yml.

The reverse dependencies - that is, the list of what modules depend on a particular module - will update over the next few hours.

7 Comments

Thanks for your work. I don't understand why there is no META.yml since it is made automatically by Makefile.PL. That above distribution says it is using Dist::Zilla but it should be possible to make META.yml with that.

By the way, your links seem not to be working, there seems to be an = missing between href and http.

The META.json of DBIx::Class::Helpers is valid YAML (see http://yamllint.com/). Did you update your site to use JSON, or did you just start running the .json files through YAML::XS?

Talking to daxim in #perlde the push for JSON was apparently because not all the legacy YAML files on CPAN are compatible with all YAML parsers, while the situation is much more simple for JSON.

I was just looking into the whole (MY)?META.(json|yml) thingie, and I haven't found a single clear explanation of what I should do as a module author, especially when using ExtUtils::MakeMaker. AFAICT Makefile.PL generates MYMETA.(json|yml), but does not use META_MERGE. That's about all I can say. EU::MM docs and CPAN::Meta have been of little help so far.

Do you know if the information is somewhere by any chance?

I was just looking into the whole (MY)?META.(json|yml) thingie, and I haven't found a single clear explanation of what I should do as a module author, especially when using ExtUtils::MakeMaker.
Have you tried "make dist"?
AFAICT Makefile.PL generates MYMETA.(json|yml), but does not use META_MERGE.
Makefile.PL uses META_MERGE. For example,

https://metacpan.org/source/BKB/Lingua-JA-Name-Splitter-0.02/Makefile.PL

Notice now the links on the left hand side of

https://metacpan.org/release/Lingua-JA-Name-Splitter

and also the links on

http://search.cpan.org/~bkb/Lingua-JA-Name-Splitter-0.02/

For some reason, the format used by Makefile.PL's META_MERGE is the one in the above file, not the one given in CPAN::Meta::Spec.


That's about all I can say. EU::MM docs and CPAN::Meta have been of little help so far.

The EU::MM documents are quite difficult to read.

For some reason, the format used by Makefile.PL's META_MERGE is the one in the above file, not the one given in CPAN::Meta::Spec.

That's for hysterical raisins. META_MERGE follows the Meta spec 1.x, not 2.0 (a.k.a CPAN::Meta::Spec).

Leave a comment

About David Cantrell

user-pic I'm in yur test resultz analyzn yr failz