On Jun 5, 2007, at 7:42 PM, James E Keenan wrote:
Is there any reason *not* to do so?
Yes. Second-order dependencies are beyond your control. You will
have false dependencies when an underlying module changes.
Say that Mech has dependency on HTML::Wango, which in turn has a
dependency on Test::Tango. So my dependencies are listed as
HTML::Wango => 1.00,
Test::Tango => 1.00,
SCENARIO 1: The maintainer of Foo::Wango decides that Test::Tango is
unnecessary, and does without it. He released HTML::Wango 1.02.
Someone installing Mech must now install HTML::Wango and Test::Tango,
although NOTHING in the chain requires Test::Tango.
SCENARIO 2: HTML::Wango uses some new feature of Test::Tango 2.00,
and thus requires it. Your helpful list of dependencies is out of
date, because although you say that you are requiring 1.00,
HTML::Wango requires 2.00.
SCENARIO 3: Combine 1 & 2.
The real solution is either: 1) for the CPAN shell to use the
META.yml files to determine the chain of dependencies ahead of time.
Also, you don't always have to have the "ask" option on prereqs. I
think most people DON'T have it set to "ask".
xoxo,
Andy
--
Andy Lester => [EMAIL PROTECTED] => www.petdance.com => AIM:petdance