Subject: | Missing build_recommends metadata |
I have a rather complex perl5 build environment, and I just started analyzing my builds to
look for missing optional dependencies. The goal was to make sure that the test suite
coverage was as complete as possible, and I'm collecting missing dependency information
and reporting it to authors, in the hopes that it will be defined in the distributions (so I don't
have to maintain this separately).
It ain't rocket science -- my code just scans the test suite output for lines like:
skipped: Test requires module 'Foo' but it's not found
In this particular case, I see that Moose distros are build with distzilla (sorry, I'm still using
Module::Install), so I am not sure how to get these dependencies defined. Here's the config
from my build system that adds the missing stuff to META.yml dynamically:
[cpan/build_recommends]
Data::Visitor = 0
DateTime::Format::MySQL = 0
Declare::Constraints::Simple = 0
IO::String = 0
Module::Refresh = 0
SUPER = 0
Test::Deep = 0
Test::LeakTrace = 0
Test::Output = 0
I see all of those modules listed in the dist.ini file in the Prereqs/DevelopRequires section, but
they don't end up getting added to build_recommends, even though the test suite uses them.
Tactically, I have a simple means, via my own build system, of adding the missing
dependencies, so that my Moose test suite coverage is better, but I am not sure how to get
distzilla to do this, or even if that's desired.
I'm assuming here that having these dependencies defined would be considered a good thing,
so that toolchains like mine, which try to install the recommends as well as the requires, will
provide better test coverage.