Kwalitee Issues

has_readme

Add a README to the distribution. It should contain a quick description of your module and how to install it.

has_changelog

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

no_mymeta_files

Update MANIFEST.SKIP to exclude MYMETA files. If you are lazy, add "#!install_default" in your MANIFEST.SKIP and update your ExtUtils::Manifest if necessary, then some of the most common files will be excluded.

no_broken_module_install

Upgrade the bundled version of Module::Install to the most current release. Alternatively, you can switch to another build system / installer that does not suffer from this problem. (ExtUtils::MakeMaker, Module::Build both of which have their own set of problems.)

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:

  • MANIFEST (102) does not match dist (53):
  • Missing in Dist: Changes, MYMETA.json, README, Template-Semantic-0.07/MYMETA.yml, Template-Semantic-0.07/Makefile.PL, Template-Semantic-0.07/inc/Module/Install.pm, Template-Semantic-0.07/inc/Module/Install/Base.pm, Template-Semantic-0.07/inc/Module/Install/Can.pm, Template-Semantic-0.07/inc/Module/Install/Fetch.pm, Template-Semantic-0.07/inc/Module/Install/Metadata.pm, Template-Semantic-0.07/inc/Module/Install/ReadmeFromPod.pm, Template-Semantic-0.07/inc/Module/Install/WriteAll.pm, Template-Semantic-0.07/inc/Test/Base/Filter.pm, Template-Semantic-0.07/inc/Test/Builder.pm, Template-Semantic-0.07/inc/Test/Builder/Module.pm, Template-Semantic-0.07/inc/Test/Requires.pm, Template-Semantic-0.07/lib/Template/Semantic.pm, Template-Semantic-0.07/lib/Template/Semantic/Cookbook.pod, Template-Semantic-0.07/lib/Template/Semantic/Document.pm, Template-Semantic-0.07/lib/Template/Semantic/Filter.pm, Template-Semantic-0.07/t/00_compile.t, Template-Semantic-0.07/t/01_load-template.xml, Template-Semantic-0.07/t/05_value-type.t, Template-Semantic-0.07/t/09_libxml_options.t, Template-Semantic-0.07/t/10_xinclude.t, Template-Semantic-0.07/t/10_xinclude.xml, Template-Semantic-0.07/xt/dependencies.t, Template-Semantic-0.07/xt/perlcritic.t, Template-Semantic-0.07/xt/perlcriticrc, Template-Semantic-0.07/xt/pod_coverage.t, inc/Module/Install/Include.pm, inc/Module/Install/Makefile.pm, inc/Module/Install/TestBase.pm, inc/Module/Install/Win32.pm, inc/Spiffy.pm, inc/Test/Base.pm, inc/Test/More.pm, t/01_load-template.t, t/02_process.t, t/03_as_string.t, t/04_selector.t, t/06_libxml-hack.t, t/07_default-filters.t, t/08_custom-filter.t, t/11_exp_to_xpath.t, t/TestBase.pm, xt/pod.t, xt/podspell.t, xt/synopsis.t

has_meta_json

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

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: Template-Semantic-0.07/inc/Module/Install/Include.pm, Template-Semantic-0.07/inc/Module/Install/Makefile.pm, Template-Semantic-0.07/inc/Module/Install/TestBase.pm, Template-Semantic-0.07/inc/Module/Install/Win32.pm, Template-Semantic-0.07/inc/Spiffy.pm, Template-Semantic-0.07/inc/Test/Base.pm, Template-Semantic-0.07/inc/Test/More.pm, Template-Semantic-0.07/t/TestBase.pm

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: Module::Install::Include, Module::Install::Makefile, Module::Install::Win32

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:

  • Module::Install::Include
  • Module::Install::Makefile
  • Module::Install::TestBase
  • Module::Install::Win32
  • Spiffy
  • Test::Base
  • Test::Base::Block
  • Test::Base::Handle
  • Test::More

consistent_version

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

Error: 0.07,0.11,0.30,0.59,0.98,1.04

meta_yml_has_provides

Add all modules contained in this distribution to the META.yml field 'provides'. Module::Build or Dist::Zilla::Plugin::MetaProvides do this automatically for you.

has_separate_license_file

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

Modules

Name Abstract Version View
Module::Install::Include 1.04 metacpan
Module::Install::Makefile 1.04 metacpan
Module::Install::TestBase 0.11 metacpan
Module::Install::Win32 1.04 metacpan
Spiffy 0.30 metacpan
Template::Semantic Use pure XHTML/XML as a template 0.07 metacpan
Template::Semantic::Document Template::Semantic Result object metacpan
Template::Semantic::Filter Template::Semantic Defined filters metacpan
Test::Base 0.59 metacpan
Test::More 0.98 metacpan
t::TestBase metacpan

Provides

Name File View
Test::Base::Block Template-Semantic-0.07/inc/Test/Base.pm metacpan
Test::Base::Handle Template-Semantic-0.07/inc/Test/Base.pm metacpan

Other Files

MANIFEST metacpan
META.yml metacpan
Makefile.PL metacpan
Template-Semantic-0.07/MANIFEST metacpan
Template-Semantic-0.07/META.yml metacpan