Closed manwar closed 6 years ago
I can't see how the modules you point out is really missing. Can you elaborate?
Hi @jhthorsen
Here is link to CPANTS that says there are missing prereqs.
https://cpants.cpanauthors.org/release/JHTHORSEN/JSON-Validator-1.08
Best Regards, Mohammad S Anwar
Though it looks and sounds like quality, higher Kwalitee score doesn't always mean a distribution is more useful for you.
So I don't see how adding those deps increases the quality of the package. Do you actually have issues during installation?
I agree with your view on Kwalitee.
However I have come across many distributions that do explicitly list all prereq even if they are in CORE e.g strict, warnings.
Therefore, I thought, it would look nice and clean, when it has all prereqs listed explicitly. There is no harm adding them even if its part of CORE, in my humble opinion.
I am not using the distribution, just saw on metacpan.org and came across Kwalitee listing missing prereqs.
If that is your view, then this PR is incomplete (Missing File::Find) -- I however do not share this view, unless a given version is required.
Sorry.
Points well taken and sorry for inconvenience,
Not at all: I do appreciate you taking the time and contributing!
Thanks for the interest 👍
Just a comment: The prereqs list does not only serve the purpose of listing the modules that need to be installed, but they are also a documentation of what modules are used, without being forced to search the code. This can be used for statistics.
Also, theoretically, modules can be removed from core later; and some distributions (for example fedora/redhat/centos) don't include some core modules in the perl package (although I think this was fixed in recent versions).
Of course, modules that are optional, should not be listed as a prereq (but maybe as "recommends" or "suggested").
Edit: Since the JSON::Validator::OpenAPI::Dancer2 module is part of this distribution, Hash::MultiValue is actually a requirement, formally.
Can't beat two against one ;)
I'll take a PR if it requires overload, strict, File::Find, File::Spec and File::Temp with the minimum versions. I think I would just find the versions in perl 5.10 and use those.
If you want to do more, you can rewrite the cases where File::Find, File::Spec and File::Temp is used and replace it with Mojo::File.
Also, Hash::MultiValue can be listed as suggested if you like.
@perlpunk: I disagree: Hash::MultiValue is only required in a special usecase of this distro, and in that case, it will already be installed.
@jhthorsen you're right, that's why I said "formally" =)
btw, finding out all prereqs can be done with:
scan-perl-prereqs-nqlite . --json
scan-perl-prereqs-nqlite . --cpanfile
Hi @jhthorsen
Please review the PR.
Many Thanks. Best Regards, Mohammad S Anwar