# from David Golden
# on Saturday 30 August 2008 05:01:

>* If Makefile.PL or Build.PL exit with a non-zero exit code, a
>distribution is graded FAIL and a report is sent (but see "downgrades"
>below)
>
>* If they exit with a zero exit code, no grade is assigned and CPAN
>and CPANPLUS proceed to the next step (make/Build)
>...
>* "use 5.XXX" errors ...
>* The phrases "OS unsupported" or "No support for OS" are detected ...
>* missing *Perl* prerequisites ...

So, there is a mechanism for detecting die() messages, but it doesn't 
support any sort of "Missing external prerequisite" flag?

I understand that a crash in Build.PL would indicate some kind of 
general error rather than a specific refusal to continue, but why must 
we remember to die in one case and exit in another?  Would some kind of 
general-case prefix in the error message be a better way to handle this 
and future issues?

  have_launcher() or
    die "STOP:  you need to plug in the rocket launcher";

Of course, one could add more specific checks, but I think something 
like m/^STOP: / on stderr from Build.PL should suffice to mean a 
general-purpose downgrade to N/A.

And it has the benefit of being somewhat meaningful to the actual user?

It would also be nice to have at-a-glance reporting of what exactly FAIL 
means.  Did it fail to start, fail to build, or fail during the tests?  
For that matter, even N/A is a bit ambiguous, no?

Thanks,
Eric
-- 
As an old bass player friend of mine used to say: throw money, don't 
clap.
--Tony Parisi
---------------------------------------------------
    http://scratchcomputing.com
---------------------------------------------------

Reply via email to