Mail-SpamAssassin

Kwalitee Fails

Core metrics

These fails do affect your Kwalitee scores. This distribution may not be installed cleanly, or may have some issues in license or documentation. Please consider fixing them, or tell us if they are false.

metricremedy
use strict

This distribution does not 'use strict;' (or its equivalents) in all of its modules. Note that this is not about the actual strictness of the modules. It's bad if nobody can tell whether the modules are strictly written or not, without reading the source code of your favorite clever module that actually enforces strictness. In other words, it's bad if someone feels the need to add 'use strict' to your modules.

Add 'use strict' (or its equivalents) to all modules, or convince us that your favorite module is well-known enough and people can easily see the modules are strictly written.

prereq matches use

This distribution uses a module or a dist that's not listed as a prerequisite.

List all used modules in META.yml requires

consistent version

This distribution has .pm files with inconsistent versions.

Split the distribution, or fix the version numbers to make them consistent (use the highest version number to avoid version downgrade).

Extra metrics

These fails affect your total Kwalitee score, but don't affect the one for the Game. Some of them should be fixed by all means. Others are just matters of taste.

metricremedy
metayml declares perl version

This distribution does not declare the minimum perl version in META.yml.

If you are using Build.PL define the {requires}{perl} = VERSION field. If you are using MakeMaker (Makefile.PL) you should upgrade ExtUtils::MakeMaker to 6.48 and use MIN_PERL_VERSION parameter. Perl::MinimumVersion can help you determine which version of Perl your module needs.

proper libs

There is more than one .pm file in the base dir, or the .pm files are not in lib/ directory.

Move your *.pm files in a directory named 'lib'. The directory structure should look like 'lib/Your/Module.pm' for a module named 'Your::Module'.

has known license in source file

Does not have license information in any of its source files, or the information is not recognized by Software::License

Add =head1 LICENSE and/or the proper text of the well-known license to the main module in your code.

use warnings

This distribution does not 'use warnings;' (or its equivalents) in all of its modules. Note that this is not about that your modules actually warn when something bad happens. It's bad if nobody can tell if a module warns or not, without reading the source code of your favorite module that actually enforces warnings. In other words, it's bad if someone feels the need to add 'use warnings' to your modules.

Add 'use warnings' (or its equivalents) to all modules (this will require perl > 5.6), or convince us that your favorite module is well-known enough and people can easily see the modules warn when something bad happens.

no unauthorized packages

Apparently this distribution has unauthorized packages now.

Ask the owner of the distribution (the one who released it first, or the one who is designated in x_authority) to give you a (co-)maintainer's permission.

no invalid versions

This distribution has .pm files with an invalid version.

Fix the version numbers so that version::is_lax($version) returns true.

Experimental metrics

These fails are not serious and don't affect your Kwalitee scores at all.

metricremedy
metayml has provides

This distribution does not have a list of provided modules defined in META.yml.

Add all modules contained in this distribution to the META.yml field 'provides'. Module::Build does this automatically for you.

History