Subject: | Problems with LICENSE / EXAMPLES / PREREQ checks |
Hi Thomas,
I think there are a few things not quite working as you intended with
CPANTS. I haven't had the time to analyse these further in order to
provide patches, but you might want to add them to your TODO list:
1) LICENSE
Using Calendar-List [1], the license is listed in the code, the META.yml
and has a separate LICENSE file, yet fails the LICENSE check. If you
look at the Metadata, it lists a valid license found, although the
License File is bogus (but I'll come back to that later). In the code I
can't quite figure out why this would fail or why it's using TestData.pm
not ./LICENSE.
Every single one of my distributions includes the license in the code,
META.yml and as a separate LICENSE file, but they all fail this check :(
I think this is possibly covered in
http://rt.cpan.org/Ticket/Display.html?id=35374.
2) EXAMPLES
Using GD-Chart-Radial [2], I have an examples directory. It currently
contains a script file, but fails the EXAMPLES check. My distributions
lists the ./examples and ./t directory in the no_index section, however
it would seem that the EXAMPLES check excludes anything from that list,
as such it misses the fact that I have an examples directory. I would
suggest checking this against ALL files/directories in the distribution,
regardless of whether they are filtered out for other checks.
3) PREREQ
When a test directory contains a set of test only packages, these are
listed in the metadata file_list. However, because they are only used in
testing, they are not listed in the provides section of the META.yml. As
such the PREREQ check fails. I would suggest that any "Modules used in
tests" (build_prereq_matches_use) checks also check whether packages are
listed in the MANIFEST before including them in any failures. See
TestData from Calendar-List [1].
Note that I have recently uploaded a newer version of Calendar-List that
attempts to subvert the META.yml, to see how both PAUSE and CPANTS respond.
[1] http://cpants.perl.org/dist/metadata/Calendar-List
[2] http://cpants.perl.org/dist/metadata/GD-Chart-Radial