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

Reply via email to