# from David Golden
# on Sunday 09 August 2009 05:25:

>Remember, this is Module::Build saying:  "You're too lazy to specify
>what version of me you need, so I guess I have to read your mind or
>come up with some reasonably sane fallback to protect your from
>yourself."
>
>In that context "0" means "you didn't say, so I guess any version will
>do" and "X.YY" means "the last version I know your end users will be
>able to get from CPAN".
>
>The latter version is now in the repo.

This is a good default.  Particularly for those of us who are running 
trunk.

Adam is right that this might let an alpha-feature requirement slip 
through.  But if you need an alpha feature, it's actually better to 
just have the alpha version in configure_requires -- because users 
*can* satisfy the alpha (even if they have to get it from svn) whereas 
nobody can satisfy the next-major-version requirement until it ships.

For a less-fiddly automatic setting of configure_requires, we might want 
to have a table of named features mapped to version numbers.  But I 
would still use alpha numbers in that table - just warn the user during 
ACTION_dist() if their required feature is in alpha (implied by being a 
bigger number than the last major release extracted from the current 
$VERSION.)  Maybe some pod with '=item' entries under each =head2 
$VERSION section could be cooked into a .pm at build time.

--Eric
-- 
"Beware of bugs in the above code; I have only proved it correct, not
tried it."
--Donald Knuth
---------------------------------------------------
    http://scratchcomputing.com
---------------------------------------------------

Reply via email to