I recently broke Catalyst::Devel when I uploaded a dodgy version of
Devel::CheckOS. Personally I don't like Catalyst and consider this to
have been a service to humanity, but I understand that some people
differ on this :-)
Thing is, my code doesn't show up as a dependency in CPANdeps. Turns out
that it's because it's a dependency of MooseX::Daemonize, which is in
turn an *optional* dependency of Cataylst::Devel. MooseX::Daemonize
doesn't show up in the META.{yml,json} files, and so CPANdeps doesn't
spot it. Instead it's in Makefile.PL thus:
if (!$Module::Install::AUTHOR && $^O ne 'MSWin32') {
requires 'MooseX::Daemonize'; # Optional in scripts
requires 'Starman'; # Optional in scripts
}
Seeing that we've gone down the route of having eleventy different
*_requires for build-time requirements, test requirements, and so on, I
think it makes sense to also put optional dependencies like this in
META.*. Any comments?
--
David Cantrell | Minister for Arbitrary Justice
There are two kinds of security, the one that keeps your sister
out, the one that keeps the government out and the one that
keeps Bruce Schneier out.