Kwalitee Issues

has_manifest

Add a MANIFEST to the distribution. Your buildtool should be able to autogenerate it (eg "make manifest" or "./Build manifest")

has_meta_yml

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

has_buildtool

Add a Makefile.PL (for ExtUtils::MakeMaker/Module::Install) or a Build.PL (for Module::Build and its friends), or use a distribution builder such as Dist::Zilla, Dist::Milla, Minilla.

has_tests

Add tests!

no_generated_files

Remove the offending files/directories!

Error: Makefile

has_license_in_source_file

Add =head1 LICENSE and the text of the license to the main module in your code.

manifest_matches_dist

Run a proper command ("make manifest" or "./Build manifest", maybe with a force option), or use a distribution builder to generate the MANIFEST. Or update MANIFEST manually.

Error: Cannot find MANIFEST in dist.

use_strict

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.

Error: AutoloadComponent, MakeEvent, Signature, Signature::c_compilation_md5, Signature::md5, Signature::target_newer, TextSubs

main_module_version_matches_dist_version

Make sure that the main module name and version are the same of the distribution.

no_pod_errors

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

Error: makepp-1.19/pod/makepp_tutorial.pod -- Around line 925: Expected '=item *' Around line 932: Expected '=item *' Around line 939: Expected '=item *'

has_meta_json

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

has_tests_in_t_dir

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

proper_libs

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'. If you need to provide additional files, e.g. for testing, that should not be considered for Kwalitee, then you should look at the 'provides' map in META.yml to limit the files scanned; or use the 'no_index' map to exclude parts of the distribution.

Error: AutoloadComponent.pm, FileInfo.pm, FileInfo_makepp.pm, Glob.pm, MakeEvent.pm, Makefile.pm, Makesubs.pm, Rule.pm, Signature.pm, Signature/c_compilation_md5.pm, Signature/exact_match.pm, Signature/md5.pm, Signature/target_newer.pm, TextSubs.pm

meta_yml_has_license

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

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

use_warnings

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

Error: AutoloadComponent, FileInfo, FileInfo, Glob, MakeEvent, Makefile, Makesubs, Rule, Signature, Signature::c_compilation_md5, Signature::exact_match, Signature::md5, Signature::target_newer, TextSubs

no_unauthorized_packages

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.

Error:

  • Makefile
  • Rule

Modules

Name Abstract Version View
AutoloadComponent autoload components instead of individual functions metacpan
FileInfo cached information about files and directories metacpan
Glob Subroutines for reading directories easily. metacpan
MakeEvent event loop for makepp metacpan
Makefile an object that parses makefiles and stores their relevant info metacpan
Makesubs metacpan
Rule Stores information about a build rule metacpan
Signature Interface definition for various signature classes metacpan
Signature::c_compilation_md5 a signature class that ignores changes to whitespace and comments metacpan
Signature::exact_match a signature class that requires that dependencies have exactly the same signature they did on the last build metacpan
Signature::md5 Signature class based on MD5 checksum metacpan
Signature::target_newer a signature class that uses the traditional Make algorithm metacpan
TextSubs metacpan

Provides

Name File View
DefaultRule Rule.pm metacpan
MakeEvent::Process MakeEvent.pm metacpan
MakeEvent::WaitingSubroutine MakeEvent.pm metacpan
Signature::default_rule Rule.pm metacpan

Other Files

ChangeLog metacpan
README metacpan