Subject: | enforce dep versions |
Date: | Mon, 12 Dec 2011 11:56:58 +0000 |
To: | bug-Net-Amazon-S3 [...] rt.cpan.org |
From: | Zefram <zefram [...] fysh.org> |
N:A:S3's Makefile.PL declares a bunch of prerequisite versions, such as
MooseX::Types::DateTime::MoreCoercions 0.07, which the modules such as
N/A/S3/Client/Bucket.pm then don't enforce at runtime. The result is
that if a prerequisite upgrade fails then an installer such as CPAN.pm
may go on and try to run N:A:S3 anyway, and the module won't necessarily
complain about the unmet prereq. It won't actually notice a problem
unless the test suite happens to run into whatever way the older version
of the prereq is inadequate, and in that case the error message won't
make the nature of the problem clear.
The "use" lines should always enforce version requirements. Makefile.PL
should then declare what the "use" lines require. These two are not
substitutes for each other.
-zefram