The first demo of this I'm
hoping to do is a use of Perl::MinimumVersion to find cases where a
module is listed as working with (for example) Perl 5.005, but the
module syntax shows that it needs 5.006. (and thus the version
dependency is wrong).
I later plan to expand this to include cases where it says it should run
with 5.005, but it has a dependency on some other module (recursively)
that needs 5.006, or you accidentally put 5.006 code in your test
scripts, and thus fails depsite the code in that actual module for the
module being ok.
Hmm. Sounds interesting. But quite though to achieve...
Not really... Perl::MinimumVersion does not of the heavy work, and from
there it's just a case of making sure you check all the appropriate
files in the dist to find the highest minimum version, and see if it's
greater than the stated version. Given that it is a boolean yes/no test
you can do a hell of a lot of shortcutting to make it fast enough to be
sane.
I'll write something up on how to add new metrics soon.
Can I suggest that before any more get added there be some level of
discussion about them, so that we can avoid another has_pod_coverage
debacle (I'm from the "it's a bad idea, and oh look 99% of all otherwise
perfectly good modules fail it. I do my POD testing a different and
perfectly good way thankyou very much" camp.)
I think that most of them should be relatively obvious yes or no, and
for the really contentious ones we could possibly just leave them out.
By the way, although it's broken at the moment, thank you so very much
for finally getting the "grid" view of the kwalitee failures working. It
makes the site actually worth using. :)
Or take a look at
any of the files in
http://search.cpan.org/src/DOMM/Module-CPANTS-Generator-0.40/lib/Module/CPANTS/Generator/
Basically you need to get the data in C<analyse> and store it in the DB. To
add new fields to the DB, alter C<schema>. Then add a new entry to
C<kwalitee_indicators>
Hmm... sound like I better just bide my patience until you have time :)
Adam K