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.

Reply via email to