Search code examples
perlperl-modulecpan

How do you get complete Kwalitee output for a Perl module before uploading it?


After I upload a module to PAUSE I can go sometime later to cpants.cpanauthors.org or metacpan.org and see a bunch of Kwalitee output and a Kwalitee score. How are you supposed to get this same information beforehand?

For instance, I have the issue:

meta_yml_has_licence
Define the license if you are using in 
Build.PL. If you are using MakeMaker (Makefile.PL) you should upgrade to  ExtUtils::MakeMaker version 6.31.

I recently upgraded to Perl v5.26.1 and I see I have a Test::Kwalitee module. Am I supposed to roll my own tester using this module, or is there something else that I am missing?


Solution

  • After spending some time writing a conditional t/kwalitee.t test using Test::Kwalitee and Module::CPANTS::Analyse I stumbled upon the Ubuntu package libapp-cpants-lint-perl which installs the command cpants_lint. To use run:

    cpants_lint --verbose ModuleName.tar.gz
    

    on the *.tar.gz file you plan to upload to PAUSE. Alternately, I found you can install App::CPANTS::Lint which installs cpants_lint.pl which is pretty much the same.