Adam Kennedy wrote:
To give you some more data points, imagine the automated testing
additions applied only on Win32. How would you then specify the deps?
#187 on the TODO list for M::B is to implement the dEx[1] (Dependency
EXpression) language for inserting complicated requirements in META.yml.
1. <http://svn.versiondude.net/randys/dEx/trunk/lib/dEx.pm>
I'm not completely convinced it's a good idea, but it's one possible way
of handling more complex dependency specifications.
Apart from optional features, which apply across platforms, and across
all installation/testing modes, I think adding more conditional logic to
the META.yml should be considered bad.
I'm on the fence. Ideally, META.yml should be a simple declarative
specification for a module, but with the myriad of runtime environments
that modules (or libraries of any kind) are used in nowadays it seems
necessary. The idea with dEx and its companion CPAN::Metadata is that
they will be the de facto method of reading & writing META.yml, much
like Test::Harness is for TAP.
But that is all theoretical at this point, and subject to much debate
before becoming anything. Specifically, PAUSE/CPAN.pm/CPANPLUS would
have accept it or fall-back on the current method of specification.
Randy.