Tyler MacDonald wrote:
How does everybody feel about making this a defined "feature" in
the META.yml spec? Something like:
optional_features:
- automated_testing:
description: Automated testing of all of this package's features
requires:
DBD::SQLite2: 0
If an optional_feature field for packages useful for automated
testing was standardized, functionality could be added to CPAN::YACSmoke and
PITA to take advantage of it, and then there would be an easy way for an
author to define prerequisites for doing an exhaustive smoke test of their
distribution.
What do y'all think?
Problem number one is unlike debian packages or other single-platform
packages the META.yml files are not inherently stable. They can only be
indicative of dependencies, not authorative.
While a META.yml file provides a good description of what is required,
the dependencies WILL change once the Metafile.PL runs.
Adding an automated_testing key only really serves to add logic to the
META.yml, logic that is less accurate and less capable than the Perl
code in the Makefile.PL or Build.PL.
I'm more than happy for the Makefile.PL to work out when it wants extra
dependencies.
To give you some more data points, imagine the automated testing
additions applied only on Win32. How would you then specify the deps?
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.
Adam K