7

我曾多次阅读有关Dist::Zilla的文档和一些博客文章。我对自己对它的理解从来没有信心。

在回答另一个问题时,@Ether 提出了将Crypt-SSLeay转换为 use的可能性Dist::Zilla

那么,我在哪里可以找到一份简明指南,向我展示如何将现有的 CPAN 模块转换为使用Dist::Zilla?这个问题甚至有意义吗?

更新:

Makefile.PLfor做了Crypt-SSLeay很多工作(很多看起来没有必要,我正在尝试修剪它)来查找特定于平台的目录includelib目录,以推断安装它的机器上的 OpenSSL 版本。如果我使用,如何包含该功能Dist::Zilla

4

2 回答 2

10

Dist ::Zilla 选择您自己的教程有一个关于将 Dist 转换为 Dist::Zilla的页面。它没有提到的一件事是我的VersionFromModule插件,如果您想复制许多人使用 MakeMaker 的方式,该插件很有用,发行版从主​​模块获取其版本号。(许多人以另一种方式使用 dzil,将版本dist.ini和插件粘贴到模块中,但任何一种方式都有效。)

如果我需要一个比 dzil 生成的更复杂的 Makefile.PL,我会切换到Module::Build并使用我的ModuleBuild::Custom插件,它可以让我编写自己的 Build.PL 并让 dzil 像先决条件一样放入元数据。

MakeMaker::Awesome插件可以让你用 Makefile.PL 做一些类似的事情,但这并不是我想要的。相反,我编写了一个与我的ModuleBuild::Custom插件非常相似的MakeMaker:: Custom插件。MakeMaker::Custom 相对于 MakeMaker::Awesome 的最大优势在于它可以构建您的 dist 用于测试目的,而无需执行. 对于每次微小更改后都必须重新构建的 XS 模块,这是一个巨大的胜利。dzil build

于 2010-10-22T20:52:04.207 回答
8

这些是迄今为止我发现最有帮助的网站,因为我正在转换我共同维护的 CPAN 发行版以使用它,作为学习练习。我还没到那里,但到目前为止我还没有遇到任何超级棘手的问题!

此外,irc.perl.org 上的#toolchain 和#distzilla 频道充满了乐于助人的人,包括 Dist::Zilla 和其他相关工具的作者。

于 2010-10-22T20:52:15.483 回答