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

时间:2015-03-08 09:05:51

标签: perl cpan makemaker

我的一个模块是失败的CPANTS政策meta_yml_has_provides

文档说明:

  

将此发行版中包含的所有模块添加到META.yml字段“provide”中。 Module :: Build或Dist :: Zilla :: Plugin :: MetaProvides会自动为您执行此操作。

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

1 个答案:

答案 0 :(得分:3)

你可以这样做:

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

但是您的最终用户还需要依赖Module :: Metadata。您可能希望为生产用途添加一些仅限作者的逻辑。 YMMV。

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