我的Perl模块根目录中有一个我不想释放的子目录。
我尝试使用https://metacpan.org/pod/Dist::Zilla::Plugin::GatherDir的“ prune_directory”或“ exclude_file”属性
我尝试指定[GatherDir]部分,但是与@Basic重复,因此与此冲突,因此现在我的dist.ini
中有(完整文件:https://github.com/telatin/FASTQ-Parser/blob/master/dist.ini):
[@Basic]
prune_directory = experimental
使用dzil build --verbose
进行构建时,我会看到所有类似的行:
[@Basic/GatherDir] adding file experimental/scripts/my.pl
因此确实添加了我想要修剪的目录。
我该怎么办?
答案 0 :(得分:4)
@Basic
插件包无法将选项传递给它使用的插件。因此,您必须首先使用@Filter捆绑包将GatherDir
插件从其中删除,然后再将GatherDir
自己用于其他选项。
[GatherDir]
prune_directory = experimental
[@Filter]
-bundle = @Basic
-remove = GatherDir
另一种选择是使用@ConfigSlicer捆绑包直接修改@Basic
使用的插件。
[@ConfigSlicer]
-bundle = @Basic
GatherDir.prune_directory[] = experimental
(在这种情况下,[]
是因为通过Config :: Slicer设置多值选项需要表明它是多值。有关详细信息,请参见the docs。)
考虑@Starter捆绑包,这是@Basic
的现代化版本,默认情况下允许-remove
和config slicing选项,以及基于现代Dist :: Zilla的许多其他改进和选项习惯。