PDL

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
extractable

This distribution doesn't extract well due to several reasons such as unsupported archive type (CPANTS only supports tar.gz, tgz and zip archives), file permissions, broken links, invalid filenames, and so on. Most of other kwalitee metrics should be ignored.

Pack the distribution with a proper command such as "make dist" and "./Build dist", or use a distribution builder such as Dist::Zilla, Dist::Milla, Minilla. You might also need to set some options or environmental variables to ensure your archiver work portably.

extracts nicely

This distribution doesn't create a directory and extracts its content into this directory. Instead, it creates more than one directories (some of which are probably system-specific hidden files/directories), or it spews its content into the current directory, making it really hard/annoying to remove the unpacked package.

Pack the distribution with a proper command such as "make dist" and "./Build dist", or use a distribution builder such as Dist::Zilla, Dist::Milla, Minilla.

has meta yml

The file "META.yml" is missing from this distribution. META.yml is needed by people maintaining module collections (like CPAN), for people writing installation tools, or just people who want to know some stuff about a distribution before downloading it.

Add a META.yml to the distribution. Your buildtool should be able to autogenerate it.

has changelog

The distribution hasn't got a Changelog (named something like m/^chang(es?|log)|history$/i. A Changelog helps people decide if they want to upgrade to a new version.

Add a Changelog (best named 'Changes') to the distribution. It should list at least major changes implemented in newer versions.

has proper version

The version number isn't a number. It probably contains letter besides a leading 'v', which it shouldn't

Remove all letters from the version number. If you want to mark a release as a developer release, use the scheme 'Module-1.00_01'

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.

no pod errors

The documentation for this distribution contains syntactic errors in its POD. Note that this metric tests all .pl, .pm and .pod files, even if they are in t/. See 'pod_message' in the dist error view for more info.

Remove the POD errors. You can check for POD errors automatically by including Test::Pod to your test suite.

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).

package version matches dist version

None of the package versions in this distribution matches the distribution version.

Fix the version(s).

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
has tests in t dir

This distribution contains either a file called 'test.pl' (the old test file) or is missing a directory called 't'. This indicates that it uses the old test mechanism or it has no test-suite.

Add tests or move tests.pl to the t/ directory!

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'.

meta yml has license

This distribution does not have a license defined in META.yml.

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.

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.

Experimental metrics

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

metricremedy
has separate license file

This distribution does not have a LICENSE or LICENCE file in its root directory.

This is not a critical issue. Currently mainly informative for the CPANTS authors. It might be removed later.

History