Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

generate META.json #8

Closed
wants to merge 1 commit into from
Closed

Conversation

Grinnz
Copy link

@Grinnz Grinnz commented Apr 1, 2019

META.json is the modern format for CPAN metadata, all distributions should generate it. Also changed the dzil copy logic to copy META.json instead of META.yml.

FWIW my Starter bundle includes a modern pluginset like this, allows direct use of MakeMaker::Awesome, and implements a regenerate option which is somewhat nicer than copy-on-build. I could make a PR to convert to that bundle if you were interested.

@coveralls
Copy link

Coverage Status

Coverage remained the same at 91.506% when pulling 2a169b2 on Grinnz:dist_ini_metajson into 27e85ba on nwellnhof:master.

@nwellnhof
Copy link
Owner

all distributions should generate it

Why? AFAIK, older Perl versions only work with META.yml out-of-the-box, so we'd have to ship with both JSON and YAML files. Unless there's a tangible benefit of providing META.json, I see no reason to add it.

@Grinnz
Copy link
Author

Grinnz commented Apr 5, 2019

CPAN::Meta::Spec 2, which has been the current version of the spec for a decade now, is only supported by META.json. It supports many features the old version does not, such as multiple licenses, static dist prereqs (indicated by dynamic_config 0), recommended/suggested prereq types in all phases, separate web urls for repository metadata, and custom keys such as the experimental static install and contributors metadata. The more distributions that continue to supply only META.yml, especially driven by dist.ini where it is so trivial to generate META.json, the longer we are prevented from moving the ecosystem forward.

@nwellnhof
Copy link
Owner

separate web urls for repository metadata

OK, that's really useful.

recommended/suggested prereq types in all phases

This also might be useful at some point.

The more distributions that continue to supply only META.yml, especially driven by dist.ini where it is so trivial to generate META.json, the longer we are prevented from moving the ecosystem forward.

META.yml must and will be supported for quite some time and I don't see how its existence holds back the ecosystem. The change is trivial though, so I'll add META.json in addition to META.yml.

@Grinnz
Copy link
Author

Grinnz commented Apr 5, 2019

I was referring to the lack of META.json rather than the existence of META.yml, as you noted the latter must continue to be included to support old CPAN installers for some time.

@nwellnhof nwellnhof closed this in 042b6b3 Apr 8, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants