Subject: | META.json & META.yml have different meta-spec versions |
When both META files are present, my build system now compares required items from both.
Only 2 instances were reported for the 744 modules built:
Data-Phrasebook-Loader-YAML-0.11.tar.gz
Config::IniFiles: in META.json but missing from 'META.yml'
YAML: in META.yml but missing from 'META.json'
Text-CSV_XS-0.91.tgz
Config: in META.yml but missing from 'META.json'
DynaLoader: in META.yml but missing from 'META.json'
ExtUtils::MakeMaker: in META.yml but missing from 'META.json'
IO::Handle: in META.yml but missing from 'META.json'
perl: in META.yml but missing from 'META.json'
In this case test_requires in META.yml is placed under x_test_requires
rather than prereq by CPAN::META->new as it upgrades spec to version 2
Now added another test in the comparison which reports
meta-spec versions differ: META.yml has '1.4' while META.json has '2'
The reported differences listed above go away when the meta-spec
in META.json is set as 1.4 instead of '2.0'.
That might not be best solution, so here's an attempt at real 2.0 META.json
then it's just a matter of upgrading META.yml
{
"name" : "Text-CSV_XS",
"abstract" : "Comma-Separated Values manipulation routines",
"version" : "0.91",
"resources" : {
"repository" : "http://repo.or.cz/w/Text-CSV_XS.git",
"license" : "http://dev.perl.org/licenses/"
},
"author" : [
"H.Merijn Brand <h.m.brand@xs4all.nl>"
],
"license" : "perl",
"distribution_type" : "module",
"prereqs" : {
"runtime" : {
"requires" : {
"perl" : "5.006001",
"IO::Handle" : "0",
"DynaLoader" : "0"
}
},
"configure" : {
"requires" : {
"ExtUtils::MakeMaker" : "0"
}
},
"build" : {
"requires" : {
"Config" : "0"
}
},
"test" : {
"requires" : {
"Tie::Scalar" : "0",
"Test::More" : "0",
"Test::Harness" : "0"
}
}
},
"recommends" : {
"perl" : "5.016000"
},
"provides" : {
"Text::CSV_XS" : {
"version" : "0.91",
"file" : "CSV_XS.pm"
}
},
"dynamic_config" : 1,
"meta-spec" : {
"version" : 2,
"url" : "https://metacpan.org/module/CPAN::Meta::Spec?#meta-spec"
},
"generated_by" : "Author"
}