List::MoreUtils::Contributing - Gives rough introduction into contributing to List::MoreUtils |
List::MoreUtils::Contributing - Gives rough introduction into contributing to List::MoreUtils
List::Moreutils has a turbulent history and a strong approach. Before going further, please step to Open Source Contribution Etiquette and then come back.
The current distribution is a balance between finishing the history and claiming for future requirements. Therefore some components will receive a rewrite on purpose - others wont.
For the moment - it's not the primary goal to clean up the configuration stage, until the primary goals and prerequisites are done.
To contribute to List::MoreUtils, one has to arrange with the current situation, dig into details and ask for clarifying when parts are incomprehensible.
The very first primary goal is to clear the backlog. These are primarily the open issues, feature requests and missing infrastructure elements.
As example see RT#93207 or RT#75672 for missing configure time checks, while RT#93207 radiates until test - but doesn't affect runtime nor installation (beside test failures).
Secondary goals are harmonizing the function names and calling convention (see RT#102673), tidying the infrastructure of the distribution and remove unnecessary complexity (while protecting the necessary).
One example of removing unnessesary infrastructure could be to move the Data::Tumbler manpage and the Test::WriteVariants manpage into authoring mode, when imrpoved test for RT#93207 could be reasonably done by a module which is recommended for test. The recommendation of Graham Knop's Makefile.PL#L82 in PR#9 a desirable one.
List::MoreUtils configuration stage heavily depends on the Config::AutoConf manpage
and the Data::Tumbler manpage. A few prerequisites of both modules aren't available
for Perl 5.6 - which leads to a tiny emulation layer t the begin of
Makefile.PL
.
The reason for the Config::AutoConf manpage is quite simple - the opportunities for checking the environment cover a much wider range than a simple test whether there is a working compiler. It requires a lot of improvements since it's fundament the ExtUtils::CBuilder manpage was never designed to support that kind of solutions - but there is Work In Progress. To finally solve issues as RT#75672 even in cross-compile environments - there is no way around such a checking tool.
The reason for the Data::Tumbler manpage in combination with the Test::WriteVariants manpage are extensible tests with reasonable effort and easy figuring out which extra condition causes failures. Also - missing pre-conditions should result in failing tests i some cases - what is fully supported by the logic behind the Data::Tumbler manpage in combination with the Test::WriteVariants manpage.
Finally - the inc::latest manpage glues the stuff in a bundle together to allow people with older toolchains to use List::MoreUtils out of the box (maybe with reduced quantity but full quality).
the Config::AutoConf manpage, the Data::Tumbler manpage, the Test::WriteVariants manpage, the ExtUtils::MakeMaker::Extensions manpage
Jens Rehsack <rehsack AT cpan.org>
Copyright 2015 by Jens Rehsack
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.4 or, at your option, any later version of Perl 5 you may have available.
List::MoreUtils::Contributing - Gives rough introduction into contributing to List::MoreUtils |