在哪里可以找到将现有CPAN模块转换为使用Dist :: Zilla的简明指南?

时间:2010-10-22 20:48:08

标签: perl cpan dist-zilla

我已经在不同时间阅读了Dist::Zilla上的文档和一些博客文章。我从未对自己对它的理解充满信心。

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

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

更新

Makefile.PL的{​​{1}}做了很多工作(很多似乎没有必要,我正在尝试修剪它)来找到特定于平台的Crypt-SSLeayinclude目录,用于推断安装它的机器上的OpenSSL版本。如果我使用lib

,如何添加该功能?

2 个答案:

答案 0 :(得分:10)

Dist::Zilla Choose Your Own TutorialConverting a Dist to Dist::Zilla上有一个页面。有一件事没有提到我的VersionFromModule插件,如果你想要复制许多人使用MakeMaker的方式,并且分发从主模块获取其版本号,这是很有用的。 (许多人以另一种方式使用dzil,使用dist.ini中的版本和插件将其粘贴到模块中,但无论哪种方式都有效。)

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

MakeMaker::Awesome插件可以让你做一些与Makefile.PL类似的东西,但它并不是我想要的。相反,我写了一个MakeMaker::Custom插件,其工作方式与我的ModuleBuild::Custom插件非常相似。最大的优势 MakeMaker :: Custom over MakeMaker :: Awesome是因为它可以为测试目的构建你的dist而不必dzil build。对于必须在每次微小更改后重建的XS模块,这是一个巨大的胜利。

答案 1 :(得分:8)

这些是迄今为止我发现最有帮助的网站,因为我正在转换CPAN发行版,我将继续使用它作为学习练习。我还没到那里,但到目前为止我还没有遇到过任何超级棘手的事情!

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