我想将Crypt::SSLeay的Makefile.PL
中的一些内容分解为几个单独的类。这些类仅由Makefile.PL
使用。因此,我确实想要他们
我应该按inc
{{1}}的方式将它们放入{{1}}吗?我还应该注意什么?
答案 0 :(得分:4)
PAUSE在META.yml文件中查找no_index
参数(规范:v1.4,v2)。 ExtUtils::MakeMaker
生成的默认META.yml包含
no_index:
directory:
- t
- inc
但如果您愿意,可以添加更多数据
package:
- Some::Package::Used::For::Building::But::Not::To::Be::Installed
file:
- a-file/with/a/package/statement/that-should-be/ignored.pm
答案 1 :(得分:2)
这里确实有两个问题。一种方法是阻止PAUSE索引分发中的额外模块,使它们不会显示在 02packages 中,以及如何不欺骗用户安装它们。
PAUSE答案是正确修复,no_index
内容和伪造 mldistwatch 的旧民间传说的组合。 PAUSE想要发现您的发行版中包含哪些软件包。它在与命名空间相同的行中查找package。如果它不在同一条线上,PAUSE会通过它。所以,你会在一些较旧的“隐藏”模块行中看到:
package # separate lines get past PAUSE
Some::Helper::Module;
如果您喜欢在幕后看,相关代码位于PAUSE::mldistwatch::filter_pms()中的PAUSE github repo。
另一个问题是不安装发行版中的额外内容。索引与此无关。构建文件将大量内容移动到 blib (构建库)以准备安装。在那里结束的任何东西都会被安装。诀窍是不让构建器将助手模块放在那里。只要您不将它们放在发行版的顶层或 lib 目录中,这通常不是问题。