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.

buildtool_not_executable

Change the permissions of Build.PL/Makefile.PL to not-executable.

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: Mpp::AutomakeFixer, Mpp::BuildCheck, Mpp::Event, Mpp::Recursive, Mpp::Repository, Mpp::Signature, Mpp::profiler, Mpp:Dump

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: cvs/pod/makepp_extending.pod -- Around line 28: alternative text 'ifperl / ifmakeperl' contains non-escaped | or / alternative text 'perl / makeperl' contains non-escaped | or / alternative text 'sub / makesub' contains non-escaped | or / alternative text 'perl / makeperl' contains non-escaped | or / alternative text 'map / makemap' contains non-escaped | or / alternative text 'perl / makeperl' contains non-escaped | or / cvs/pod/makepp_incompatibilities.pod -- Around line 251: Expected text after =item, not a bullet cvs/pod/makepp_signatures.pod -- Around line 101: Non-ASCII character seen before =encoding in ' '. Assuming UTF-8

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: Mpp/ActionParser.pm, Mpp/ActionParser/Legacy.pm, Mpp/ActionParser/Specific.pm, Mpp/AutomakeFixer.pm, Mpp/BuildCache.pm, Mpp/BuildCacheControl.pm, Mpp/BuildCheck.pm, Mpp/BuildCheck/architecture_independent.pm, Mpp/BuildCheck/exact_match.pm, Mpp/BuildCheck/ignore_action.pm, Mpp/BuildCheck/only_action.pm, Mpp/BuildCheck/target_newer.pm, Mpp/Cmds.pm, Mpp/CommandParser.pm, Mpp/CommandParser/Esqlc.pm, Mpp/CommandParser/Gcc.pm, Mpp/CommandParser/Swig.pm, Mpp/CommandParser/Vcs.pm, Mpp/Event.pm, Mpp/File.pm, Mpp/FileOpt.pm, Mpp/Frame.pm, Mpp/Glob.pm, Mpp/Makefile.pm, Mpp/Recursive.pm, Mpp/Repository.pm, Mpp/Rule.pm, Mpp/Scanner.pm, Mpp/Scanner/C.pm, Mpp/Scanner/Esqlc.pm, Mpp/Scanner/Swig.pm, Mpp/Scanner/Vera.pm, Mpp/Scanner/Verilog.pm, Mpp/Signature.pm, Mpp/Signature/c_compilation_md5.pm, Mpp/Signature/md5.pm, Mpp/Signature/shared_object.pm, Mpp/Signature/verilog_simulation_md5.pm, Mpp/Signature/verilog_synthesis_md5.pm, Mpp/Subs.pm, Mpp/Text.pm, Mpp/Utils.pm, Mpp/profiler.pm, Mpp/Dump.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: Mpp::ActionParser, Mpp::ActionParser::Legacy, Mpp::ActionParser::Specific, Mpp::AutomakeFixer, Mpp::BuildCache, Mpp::BuildCacheControl, Mpp::BuildCheck, Mpp::BuildCheck::architecture_independent, Mpp::BuildCheck::exact_match, Mpp::BuildCheck::ignore_action, Mpp::BuildCheck::only_action, Mpp::BuildCheck::target_newer, Mpp::Cmds, Mpp::CommandParser, Mpp::CommandParser::Esqlc, Mpp::CommandParser::Gcc, Mpp::CommandParser::Swig, Mpp::CommandParser::Vcs, Mpp::Event, Mpp::File, Mpp::File, Mpp::Frame, Mpp::Glob, Mpp::Makefile, Mpp::Recursive, Mpp::Repository, Mpp::Rule, Mpp::Scanner, Mpp::Scanner::C, Mpp::Scanner::Esqlc, Mpp::Scanner::Swig, Mpp::Scanner::Vera, Mpp::Scanner::Verilog, Mpp::Signature, Mpp::Signature::c_compilation_md5, Mpp::Signature::md5, Mpp::Signature::shared_object, Mpp::Signature::verilog_simulation_md5, Mpp::Signature::verilog_synthesis_md5, Mpp::Subs, Mpp::Text, Mpp::Utils, Mpp::profiler, Mpp:Dump

has_security_doc

Add SECURITY(.pod|md). See Software::Security::Policy.

security_doc_contains_contact

Add SECURITY(.pod|md) and add a contact address. See Software::Security::Policy.

has_contributing_doc

Add CONTRIBUTING(.pod|md). See https://docs.github.com/en/communities/setting-up-your-project-for-healthy-contributions/setting-guidelines-for-repository-contributors.

Modules

Name Abstract Version View
Mpp::ActionParser Makepp action parser base class metacpan
Mpp::ActionParser::Legacy Makepp scanner class for legacy interface metacpan
Mpp::ActionParser::Specific Makepp scanner class for a specified command scanner metacpan
Mpp::AutomakeFixer Cleanup Automake crap metacpan
Mpp::BuildCache subroutines for handling the makepp build cache metacpan
Mpp::BuildCacheControl Extenally usable management commands metacpan
Mpp::BuildCheck Interface definition for various signature classes metacpan
Mpp::BuildCheck::architecture_independent metacpan
Mpp::BuildCheck::exact_match a signature class that requires that dependencies have exactly the same signature they did on the last build metacpan
Mpp::BuildCheck::ignore_action metacpan
Mpp::BuildCheck::only_action metacpan
Mpp::BuildCheck::target_newer a build check class that uses the traditional Make algorithm metacpan
Mpp::Cmds metacpan
Mpp::CommandParser Base class for makepp command parsers metacpan
Mpp::CommandParser::Esqlc makepp command parser for various Esql preprocessors metacpan
Mpp::CommandParser::Gcc makepp command parser for Gcc metacpan
Mpp::CommandParser::Swig makepp command parser for swig metacpan
Mpp::CommandParser::Vcs makepp command parser for Synopsys VCS metacpan
Mpp::Event event loop for makepp metacpan
Mpp::File cached information about files and directories metacpan
Mpp::Glob Subroutines for reading directories easily. metacpan
Mpp::Makefile an object that parses makefiles and stores their relevant info metacpan
Mpp::Recursive Support for making dumb recursive make smart metacpan
Mpp::Repository Makepp repository functionality metacpan
Mpp::Rule metacpan
Mpp::Scanner Base class for makepp file scanners metacpan
Mpp::Scanner::C makepp scanner for C files metacpan
Mpp::Scanner::Esqlc makepp scanner for Embedded SQL C files metacpan
Mpp::Scanner::Swig makepp scanner for SWIG's .i files metacpan
Mpp::Scanner::Vera makepp scanner for Vera files metacpan
Mpp::Scanner::Verilog makepp scanner for Verilog files metacpan
Mpp::Signature Interface definition for various signature classes metacpan
Mpp::Signature::c_compilation_md5 a signature class that ignores changes to whitespace and comments metacpan
Mpp::Signature::md5 Mpp::Signature class based on MD5 checksum metacpan
Mpp::Signature::shared_object a signature class that ignores changes to shared objects metacpan
Mpp::Signature::verilog_simulation_md5 a signature class that ignores changes to whitespace and comments metacpan
Mpp::Signature::verilog_synthesis_md5 a signature class that ignores changes to whitespace and comments metacpan
Mpp::Subs Functions and statements for makefiles metacpan
Mpp::Text Subs for manipulating typical makefile text metacpan
Mpp::profiler metacpan

Provides

Name File View
Mpp::BuildCache::Entry Mpp/BuildCache.pm metacpan
Mpp::DefaultRule Mpp/Rule.pm metacpan
Mpp::DefaultRule::BuildCheck Mpp/Rule.pm metacpan
Mpp::Event::Process Mpp/Event.pm metacpan
Mpp::Event::WaitingSubroutine Mpp/Event.pm metacpan

Other Files

ChangeLog metacpan
Makefile.PL metacpan
README metacpan