如何使用 ExtUtils::MakeMaker 填充 META 文件中的 'provides' 字段

How to populate 'provides' field in META files using ExtUtils::MakeMaker

我的一个模块未通过 CPANTS 政策 meta_yml_has_provides

文档指出:

Add all modules contained in this distribution to the META.yml field 'provides'. Module::Build or Dist::Zilla::Plugin::MetaProvides do this automatically for you.

如何在使用 ExtUtils::MakeMaker 时将其应用到我的 CPAN 模块?

你可以这样做:

use ExtUtils::MakeMaker;
use Module::Metadata;
WriteMakefile(
    ...
    META_ADD => {
        provides => Module::Metadata->provides(version => '1.4', dir => 'lib'),
    },
    ...
);

但是您的最终用户也需要依赖 Module::Metadata。您可能希望向其中添加一些仅供作者使用的逻辑以供生产使用。 YMMV.

我不确定在这方面是否真的值得。可能 MakeMaker 应该内置对此的支持。