我开始使用 地区::齐拉 几个月前。然而,在 YAPC::NA 有人提到他们使用 装运它 反而。然后今天我注意到宫川的里面有一个.shipit文件 github 上的 cpanminus 目录, ,所以我决定再研究一下......

我的初步印象是 ShipIt 具有 Dist::Zilla 可用功能的子集,但我不想过早下结论。那么,对于那些有过两者经验的人来说,两者的优点/缺点是什么? 装运它地区::齐拉?

交叉发布于 perlmonks

有帮助吗?

解决方案

我DIST ::吉拉的作者。

我评估ShipIt相当广泛的选择先走,并写DIST ::吉拉面前,最初他们几乎涵盖了一模一样的问题空间:做建筑和上传CPAN分布的所有枯燥繁重的工作。所有的功能,DIST ::吉拉现在有超过ShipIt是后来增加,更多或更少的

如果你只需要ShipIt的功能,我的还是的建议你认真考虑DIST ::吉拉,一个很简单的道理:可编程性。如果我能的的写一些新的东西,我会一直使用ShipIt,但我发现它是未公开,难以扩展。它的插件是不是通用的不够,核心行为让你想如何工作太多的假设。

DIST ::吉拉是专门通过此问题的启发:它把一切都成一个插件,每个插件被赋予了非常非常小接口,使得它的假设将强制限制

ShipIt超过DIST ::吉拉的一个好处是,ShipIt有(据我所知)没有插件,这将改变你实际编写代码的方式。这意味着你的文档将仍然看起来是一样的,你仍然有Makefile.PL,等等。一些黑客不喜欢有这么多的基于DZ-dists中从根本上其源库改变如何假设测试和编译代码CPAN。 ShipIt永远不会改变这一点。

这是可能的避免使用任何插件等用蒸馏水::吉拉,但总的来说我的经验是,人们的的使用它们,几乎总是以这种或那种形式。

其他提示

据我所知,我的初步印象是正确的。

ShipIt 提供的功能 释放 分布:

  • 跟踪版本号
  • 与版本控制集成
  • 上传到CPAN
  • 在编辑器中显示变更日志文件,以便您可以在发布之前对其进行编辑。


默认情况下,Dist::Zilla 提供使用单个命令将发行版上传到 CPAN 的功能(即 dzil release)。Dist::Zilla 还具有以下功能 创造 新的发行版(即 dzil new My::New::Module)。它还自动生成许多我以前必须手动维护的文件。

使用插件,Dist::Zilla 似乎能够提供 ShipIt 可用的大部分(如果不是全部)功能。使用插件添加全新功能也相对容易。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top