On Tue, Mar 29, 2005 at 08:33:48PM -0500, Randy W. Sims wrote:
A quickie sample implementation to add more meat. I didn't apply yet mainly because I'm wondering if we shouldn't bail and do a complete roll-back (eg. don't generate a Build script) if there are any failed requirements. Or should we bail, for example, during ./Build test if there are any test_requires failures? Or continue as is and just let it fail when it tries to use the missing requirements?
Continue. Nothing's more frustrating than a system which refuses to even try to go forward when some checklist is incomplete.
Hmm, I was actually sitting here playing with it again. But I was leaning more towards the 2nd option. The first option of bailing at Build.PL time obviously doesn't make sense as you can complete a build without running test. But does it make sense to test when a required testing module is missing?
$ perl Build test Error: Missing required module(s) for testing: Test::Foo Test::Bar
Well, I guess it could since you could still run some tests. But what about when building:
$ perl Build build Error: Missing required module(s) for building: Build::Foo
I would think if a module was required for building, then it will fail without that module.
Or if not an error, should we at least spit it out as a warning? What about 'conflicts'? 'recommends' gets a mention at Build.PL time; I don't see any point in mentioning it again.
Randy.
Note: there is a problem in mainline with argument processing with no argument long options, eg `perl Build test --verbose` or equivalently `perl Build test verbose=1`. I haven't looked into it yet.