/ domm

I hack Perl for fun and
profit.

Follow me on twitter!
Atom Icom ... on Atom!
<<<<<<<<<<
11.11.2007: uncle!
06.11.2007: Report of Vienna.pm TechSocialMeeting #2
06.11.2007: No German Perl Workshop for me...
30.10.2007: CPANTS news

(Crossposted from http://cpants.perl.org/news.html)

The view for a dist is now broken up into several subpages. This makes the data more easy to read. I've also fixed some minor problems in the list of prereqs etc (links are now going to the dist each module is in).

I've added a new metric: use_warnings. This metric checks if all of your modules include a line like 'use warnings;'. As this does not work for old Perls, I've made it an optional metric (for now..).

A patch submitted by Adriano Ferreira enhances MANIFEST-checking (and removes a bug caused by chdir). See RT #28982 for details.

Andy Armstrong suggested to also look in xt/ for tests, because this is becoming the new place for optional author tests (like pod-coverage). Which I implemented...

The META.yml checks submitted by Barbie turn up a lot of interesting results:

I've also re-analysed all of CPAN. The only thing left to do now (besides adding more metrics) is to make the various graphs work again...

Original: http://use.perl.org/~domm/journal/34792

Legacy comments

Alias: Keep the strict META.yml check (orignal post)

After all, it's things like this that CPANTS was created for in the first place.

BinGOs: Re: (orignal post)

SO, does this mean you'll fix Module::Install?

My naive attempts at fixing it myself broke it even more >=(

barbie: Re: (orignal post)

I'd second this view.

If you aren't going to have a strict conformance to the spec, then there is little point in having the checks at all.

With more requests to add metadata to the spec, if you want people to have confidence in the META.yml bundled with distributions, then authors need to be made aware of the areas that they don't conform. CPANTS is the ideal place for that.

Alias: Make use warnings a full kwalitee point (orignal post)

Here's what I'd recommend doing.



Firstly, you need a new "has_perl_version" test.



This would check that the distribution explicitly declares (presumably in it's META.yml) the version of perl that the distribution depends on.



Secondly, once you have that in place, make the use warnings logic something like...

if ( dist needs 5.6+ ) {

    if ( has_warnings ) {

        return pass;

    } else {

        return fail;

    }

} else {

    return

barbie: use_warnings Failures (orignal post)

I think you may want to revise the code for checking use_warning. CPANTS fails Finance::Currency::Convert::XE [perl.org], but 'use warnings' is right there [cpan.org] on line 5 and has been since it existed! It's the only module in the distribution, so it isn't referencing something else. However, this also raised a thought about whether you check modules under the /t (or /xt) directories. Some of those modules may not have 'use warnings' for a good reason in order to test aspects of the distribution.

domm: Re: (orignal post)

The code is ok, as it only checks .pm files in either the basedir, or in lib. If there are no modules in these places, CPANTS locates all .pm files, but skips x?t, test and inc paths.



In this case the problem is that CPANTS didn't pick up the correct CPANTS yaml file. Instead of using the correct one (of 0.14, btw), it used an outdated yaml file left over from a CPANTS run where the 'use_warnings' metric wasn't even implemented.



So, yes, there is a bug in CPANTS, but not in 'use_warnings'. I'll try to fix it

domm: Re: (orignal post)

Fixed in the current version of cpants. New data is online, also.

This distribution passes all CPANTS tests. Yay! [perl.org]

(using use.perl as a bugtracker)++

perigrin: No Love for Moose (orignal post)

Moose enables warnings and strict automagically (they're turned on via Moose's import), Test::Kwalitee already dislikes this so I have to (redundantly) add use strict; to everything ... are you saying I'm gonna get my CPANTS score docked now too cause I don't add a redundant use warnings; as well?

jrockway: Re: (orignal post)

Who cares about your CPANTS score though? I look at it to see if I stupidly forgot something, not to see if I have a good score.



"use warnings" is a dumb metric because it has a runtime performance hit. If I use it during development (or make test), that's one thing... but imposing it on users of the CPAN module is not necessarily a good thing.



I do it anyway, out of laziness, but it's not necessarily a good idea.

Comments (via disqus)

24.10.2007: CPANTS running again
23.10.2007: Vienna.pm meeting(s)
09.10.2007: YAPC::Europe 2007 Final Report
05.10.2007: sore
04.10.2007: boxing again
02.10.2007: Vienna.pm Tech/Social meeting report
>>>>>>>>>>