I have a small problem with the semantics here, I have made some
modules, all of which use Test::Pod, Test::Pod::Coverate,
Test::YAML::Meta and Test::NoWarnings. For the experimental Kwalitee
indicator *build_prereq_matches_use* to be true, I had to add them to
the build_requires part of the Meta.YML. There are two problems with this:
Most of the scripts are in the 'xt' directory, so they wouldn't even be
called during build 99 out of 100 times. (Only I use them), still they
have to be listed as requirements for the build process.
The test script also run without Test::NoWarnings, so it is not really a
requirement either.
If you are pedantic about this, you could even argue that testing itself
is _not_ a requirement for the whole build process. (Just don't run make
test)
So there are two ways to solve this:
Either remove them from the Kwalitee indicator (which would be bad).
Or add some more options, like "build_recommends". Or you could even add
something like:
build_recommends
test_requires
test_recommends
extended_test_requires
extended_test_recommends
And how do I petition the Module::Build author to put this in the spec
(optional of course)
*build_prereq_matches_use* would have to check those fields as well.
P.S.: *build_prereq_matches_use* doesn't alert me about a missing
ExtUtils::MakeMaker, that is kind of wrong, since it is the only module
*required* to run the build process.
Marc "Maluku" Lucksch
__END__
For the example above that would be this:
build_requires:
ExtUtils::MakeMaker: 0
test_requires:
Test::More: 0
test_recommends:
Test::NoWarnings: 0
extended_test_requires:
Test::Differences: 0
extended_test_recommends:
Test::Pod: 0
Test::Pod::Coverage: 0
Test::YAML::Meta: 0