Kwalitee Issues

buildtool_not_executable

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

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: POE::API::ResLoader, POE::Macro::UseBytes, POE::Queue, POE::Resource

no_pod_errors

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

Error: POE-0.3202/mylib/Test/Harness/Assert.pm -- Around line 58: You forgot a '=back' before '=head1'

meta_yml_declares_perl_version

If you are using Build.PL define the {requires}{perl} = VERSION field. If you are using MakeMaker (Makefile.PL) you should upgrade ExtUtils::MakeMaker to 6.48 and use MIN_PERL_VERSION parameter. Perl::MinimumVersion can help you determine which version of Perl your module needs.

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: tests/20_resources/00_base/aliases.pm, tests/20_resources/00_base/caller_state.pm, tests/20_resources/00_base/events.pm, tests/20_resources/00_base/extrefs.pm, tests/20_resources/00_base/filehandles.pm, tests/20_resources/00_base/sessions.pm, tests/20_resources/00_base/sids.pm, tests/20_resources/00_base/signals.pm, tests/20_resources/00_base/statistics.pm, tests/30_loops/00_base/all_errors.pm, tests/30_loops/00_base/comp_tcp.pm, tests/30_loops/00_base/k_alarms.pm, tests/30_loops/00_base/k_aliases.pm, tests/30_loops/00_base/k_detach.pm, tests/30_loops/00_base/k_selects.pm, tests/30_loops/00_base/k_signals.pm, tests/30_loops/00_base/wheel_accept.pm, tests/30_loops/00_base/wheel_run.pm, tests/30_loops/00_base/wheel_sf_ipv6.pm, tests/30_loops/00_base/wheel_sf_tcp.pm, tests/30_loops/00_base/wheel_sf_udp.pm, tests/30_loops/00_base/wheel_sf_unix.pm, tests/30_loops/00_base/wheel_tail.pm, mylib/ExtUtils/AutoInstall.pm, mylib/Makefile-5004.pm, mylib/Makefile-5005.pm, mylib/MyOtherFreezer.pm, mylib/Devel/Null.pm, tests/20_resources/00_base/controls.pm, mylib/PoeBuildInfo.pm, mylib/Test/Harness.pm, mylib/Test/Harness/Assert.pm, mylib/Test/Harness/Iterator.pm, mylib/Test/Harness/Straps.pm, tests/30_loops/00_base/ses_nfa.pm, tests/30_loops/00_base/ses_session.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: 20_resources::00_base::aliases, 20_resources::00_base::caller_state, 20_resources::00_base::events, 20_resources::00_base::extrefs, 20_resources::00_base::filehandles, 20_resources::00_base::sessions, 20_resources::00_base::sids, 20_resources::00_base::signals, 20_resources::00_base::statistics, 30_loops::00_base::all_errors, 30_loops::00_base::comp_tcp, 30_loops::00_base::k_alarms, 30_loops::00_base::k_aliases, 30_loops::00_base::k_detach, 30_loops::00_base::k_selects, 30_loops::00_base::k_signals, 30_loops::00_base::wheel_accept, 30_loops::00_base::wheel_run, 30_loops::00_base::wheel_sf_ipv6, 30_loops::00_base::wheel_sf_tcp, 30_loops::00_base::wheel_sf_udp, 30_loops::00_base::wheel_sf_unix, 30_loops::00_base::wheel_tail, ExtUtils::AutoInstall, Makefile-5004, Makefile-5005, MyOtherFreezer, Null, POE, POE::API::Ctl, POE::API::ResLoader, POE::Component, POE::Component::Client::TCP, POE::Component::Server::TCP, POE::Driver, POE::Driver::SysRW, POE::Filter, POE::Filter::Block, POE::Filter::Grep, POE::Filter::HTTPD, POE::Filter::Line, POE::Filter::Map, POE::Filter::RecordBlock, POE::Filter::Reference, POE::Filter::Stackable, POE::Filter::Stream, POE::Kernel, POE::Loop, POE::Loop::Event, POE::Loop::Gtk, POE::Loop::IO_Poll, POE::Loop::PerlSignals, POE::Loop::Select, POE::Loop::Tk, POE::Loop::TkActiveState, POE::Loop::TkCommon, POE::Macro::UseBytes, POE::Magic::Test, POE::NFA, POE::Pipe, POE::Pipe::OneWay, POE::Pipe::TwoWay, POE::Preprocessor, POE::Queue, POE::Queue::Array, POE::Resource, POE::Resource::Aliases, POE::Resource::Controls, POE::Resource::Events, POE::Resource::Extrefs, POE::Resource::FileHandles, POE::Resource::SIDs, POE::Resource::Sessions, POE::Resource::Signals, POE::Resource::Statistics, POE::Resources, POE::Session, POE::Wheel, POE::Wheel::Curses, POE::Wheel::FollowTail, POE::Wheel::ListenAccept, POE::Wheel::ReadLine, POE::Wheel::ReadWrite, POE::Wheel::Run, POE::Wheel::SocketFactory, PoeBuildInfo, Test::Harness, Test::Harness::Assert, Test::Harness::Iterator, Test::Harness::Straps, main, main

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:

  • Client
  • ExtUtils::AutoInstall
  • Null
  • Server
  • Switch
  • Test::Harness
  • Test::Harness::Assert
  • Test::Harness::Iterator
  • Test::Harness::Iterator::ARRAY
  • Test::Harness::Iterator::FH
  • Test::Harness::Straps

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.01,0.14,0.3202,0.61,1.0003,1.0004,1.0005,1.0006,1.0007,1.0008,1.0009,1.0010,1.0011,1.0013,1.0014,1.0015,1.0017,1.0019,1.0020,1.0026,1.0030,1.0031,1.0033,1.0035,1.0038,1.0042,1.0043,1.0045,1.0054,1.0055,1.0059,1.0070,1.0073,1.0081,1.0113,1.0323,1.2,1.3,2.26

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.

meta_yml_has_repository_resource

Add a 'repository' resource to the META.yml via 'meta_add' accessor (for Module::Build) or META_ADD parameter (for ExtUtils::MakeMaker).

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
ExtUtils::AutoInstall Automatic install of dependencies via CPAN 0.61 metacpan
MyOtherFreezer 1.3 metacpan
Null 1.2 metacpan
POE portable multitasking and networking framework for Perl 0.3202 metacpan
POE::API::Ctl Switches and Knobs for POE Internals 1.0003 metacpan
POE::API::ResLoader provides initialization interface for POE::Resources 1.0004 metacpan
POE::Component a POE servlet class 1.0006 metacpan
POE::Component::Client::TCP a simplified TCP client 1.0042 metacpan
POE::Component::Server::TCP a simplified TCP server 1.0055 metacpan
POE::Driver an abstract file driver 1.0015 metacpan
POE::Driver::SysRW an abstract sysread/syswrite file driver 1.0030 metacpan
POE::Filter a protocol abstraction 1.0015 metacpan
POE::Filter::Block filter between streams and blocks 1.0017 metacpan
POE::Filter::Grep POE Data Grepping Filter 1.0008 metacpan
POE::Filter::HTTPD convert stream to HTTP::Request; HTTP::Response to stream 1.0042 metacpan
POE::Filter::Line filter data as lines 1.0026 metacpan
POE::Filter::Map POE Data Mapping Filter 1.0007 metacpan
POE::Filter::RecordBlock POE Record Block Abstraction 1.0006 metacpan
POE::Filter::Reference freeze data for sending; thaw data when it arrives 1.0038 metacpan
POE::Filter::Stackable POE Multiple Filter Abstraction 1.0008 metacpan
POE::Filter::Stream pass through data unchanged (a do-nothing filter) 1.0014 metacpan
POE::Kernel an event driven threaded application kernel in Perl 1.0323 metacpan
POE::Loop documentation for POE's event loop bridge interface 1.0007 metacpan
POE::Loop::Event a bridge that supports Gtk's event loop from POE 1.0043 metacpan
POE::Loop::Gtk 1.0045 metacpan
POE::Loop::IO_Poll a bridge that supports IO::Poll from POE 1.0033 metacpan
POE::Loop::PerlSignals plain Perl signal handlers used by many loops 1.0010 metacpan
POE::Loop::Select a bridge that supports select(2) from POE 1.0059 metacpan
POE::Loop::Tk a bridge that supports Tk's event loop from POE 1.0045 metacpan
POE::Loop::TkActiveState 1.0009 metacpan
POE::Loop::TkCommon common features of POE's Tk event loop bridges 1.0014 metacpan
POE::Macro::UseBytes 1.0003 metacpan
POE::Magic::Test metacpan
POE::NFA event driven nondeterministic finite automaton 1.0031 metacpan
POE::Pipe common functions for POE::Pipe::OneWay and ::TwoWay 1.0014 metacpan
POE::Pipe::OneWay portable one-way pipe creation (works without POE) 1.0014 metacpan
POE::Pipe::TwoWay portable two-way pipe creation (works without POE) 1.0017 metacpan
POE::Preprocessor a macro/const/enum preprocessor 1.0035 metacpan
POE::Queue documentation for POE's priority queue interface 1.0004 metacpan
POE::Queue::Array a high-performance array-based priority queue 1.0008 metacpan
POE::Resource documentation for POE's internal event watchers/generators 1.0003 metacpan
POE::Resources 1.0009 metacpan
POE::Session an event driven abstract state machine 1.0113 metacpan
POE::Wheel high-level protocol logic 1.0019 metacpan
POE::Wheel::Curses non-blocking Curses.pm input for full-screen console apps 1.0013 metacpan
POE::Wheel::FollowTail follow the tail of an ever-growing file 1.0054 metacpan
POE::Wheel::ListenAccept accept connections from regular listening sockets 1.0030 metacpan
POE::Wheel::ReadLine prompted terminal input 1.0038 metacpan
POE::Wheel::ReadWrite buffered non-blocking I/O 1.0073 metacpan
POE::Wheel::Run event driven fork/exec with added value 1.0070 metacpan
POE::Wheel::SocketFactory non-blocking socket creation and management 1.0081 metacpan
PoeBuildInfo metacpan
Test::Harness run perl standard test scripts with statistics 2.26 metacpan
Test::Harness::Assert simple assert 0.01 metacpan
Test::Harness::Iterator Internal Test::Harness Iterator 0.01 metacpan
Test::Harness::Straps detailed analysis of test results 0.14 metacpan

Provides

Name File View
Client tests/30_loops/00_base/ses_nfa.pm metacpan
MappedObject tests/30_loops/00_base/ses_session.pm metacpan
MappedPackage tests/30_loops/00_base/ses_session.pm metacpan
MyObject tests/30_loops/00_base/ses_session.pm metacpan
Operator tests/30_loops/00_base/ses_nfa.pm metacpan
POE::MySession tests/30_loops/00_base/ses_session.pm metacpan
POE::Resources::Aliases lib/POE/Resource/Aliases.pm metacpan
POE::Resources::Controls lib/POE/Resource/Controls.pm metacpan
POE::Resources::Events lib/POE/Resource/Events.pm metacpan
POE::Resources::Extrefs lib/POE/Resource/Extrefs.pm metacpan
POE::Resources::FileHandles lib/POE/Resource/FileHandles.pm metacpan
POE::Resources::SIDs lib/POE/Resource/SIDs.pm metacpan
POE::Resources::Sessions lib/POE/Resource/Sessions.pm metacpan
POE::Resources::Signals lib/POE/Resource/Signals.pm metacpan
POE::Resources::Statistics lib/POE/Resource/Statistics.pm metacpan
POE::Wheel::ReadLine::Keymap lib/POE/Wheel/ReadLine.pm metacpan
Server tests/30_loops/00_base/ses_nfa.pm metacpan
Switch tests/30_loops/00_base/ses_nfa.pm metacpan
Test::Harness::Iterator::ARRAY mylib/Test/Harness/Iterator.pm metacpan
Test::Harness::Iterator::FH mylib/Test/Harness/Iterator.pm metacpan
UnmappedObject tests/30_loops/00_base/ses_session.pm metacpan
UnmappedPackage tests/30_loops/00_base/ses_session.pm metacpan

Other Files

MANIFEST metacpan
META.yml metacpan
Makefile.PL metacpan
README metacpan