几个月前我开始使用
Dist::Zilla.然而,在YAPC :: NA有人提到他们使用
ShipIt.那么今天我在miyagawa的
cpanminus directory on github注意到了一个.shipit文件,所以我决定再来看一下…
我的初步印象是,ShipIt具有Dist :: Zilla可用的一部分,但我不想跳转到结论.那么对于那些有过这方面经验的人呢,ShipIt vs Dist::Zilla的优势/弱点是什么?
解决方法
我是Dist :: Zilla的作者.
在选择开始之前,我先评估了ShipIt,并选择了Dist :: Zilla,最初他们涵盖了几乎完全相同的问题空间:做一切无聊的咕噜咕噜的工作,建立和上传CPAN分发. Dist :: Zilla现在超出ShipIt的所有功能都是或多或少的添加.
如果您只需要ShipIt的功能,我仍然建议您强烈地考虑Dist :: Zilla,原因很简单:可攻击性.如果我不能写新的东西,我会使用ShipIt,但是我发现它是文件不足,难以扩展.它的插件不是通用的,核心的行为对你想要工作的假设太多了.
Dist :: Zilla特别受到这个问题的启发:它把所有东西都变成一个插件,每个插件都被给了一个非常非常小的界面,所以它的假设将被强制限制.
ShipIt over Dist :: Zilla的一个好处是ShipIt(据我所知),没有插件会改变你实际编写代码的方式.这意味着您的文档仍将保持一致,您仍然会有一个Makefile.PL等等.一些黑客并不喜欢这么多基于DZ的dist从根本上改变了如何从源代码库中测试和构建CPAN代码的假设. ShipIt永远不会改变.
可以避免使用Dist :: Zilla的任何这样的插件,但一般来说,我的经验是人们几乎总是以某种形式使用它们.