Kwalitee Issues

no_pax_headers

If you use Mac OS X >= 10.6, use gnu tar (/usr/bin/gnutar) to avoid PAX headers. It's also important to rename (shorten) long file names (>= 100 characters) in the distribution.

Error: pax_global_header,pax_global_header

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_changelog

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

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.

has_abstract_in_pod

Provide a short description in the NAME section of the pod (after the module name followed by a hyphen) at least for the main module of this distribution.

main_module_version_matches_dist_version

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

has_meta_json

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

no_dot_dirs

Fix MANIFEST (or MANIFEST.SKIP) to exclude dot directories from a distribution. Use an appropriate tool and avoid archiving your working directory by hand. If you switch your version control system, remove old VCS directories after you migrate.

Error: .circleci,.github

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: tools/lib/NQP/Config/Rakudo.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.

test_prereq_matches_use

List all modules used in the test suite in META.yml test_requires

Error:

  • NativeCall

no_invalid_versions

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

Error:

  • tools/lib/NQP/Config/Rakudo.pm: HASH(0x55607cce57c0)

Modules

Name Abstract Version View
NQP::Config::Rakudo metacpan

Provides

Name File View
NQP::Macros::Rakudo tools/lib/NQP/Config/Rakudo.pm metacpan

Other Files

README.md metacpan