我在哪里可以找到cpanfile格式定义?

时间:2013-07-17 09:47:30

标签: perl perl-module

我们考虑使用 Minilla Dist :: Milla 进行perl开发。声明依赖关系是通过cpanfile完成的。我期望找到一个确切的定义什么以及如何宣布。但

  • perldoc cpanfile: 仅显示主要用法。 “另请参阅”部分没有帮助。

  • perldoc Module :: CPANfile:与cpanfile相同。

  • perldoc cpanfile-faq:没有对确切语法或其链接的解释,仅

  

熟悉的DSL语法

     

这是一种新的文件类型,但格式和语法并不是全新的。   它可以声明的元数据恰好是“Prereqs”的子集   CPAN Meta Spec。

     

语法从Module :: Install中借鉴了很多。 Module :: Install是一个   轻松声明模块元数据的好方法,如名称,作者和   依赖。 cpanfile格式只是提取依赖项   到一个单独的文件,这意味着大多数开发人员   熟悉语法。

有人知道在哪里可以找到cpanfile语法/格式的确切描述吗?

1 个答案:

答案 0 :(得分:7)

我安装了Module::CPANFileperldoc cpanfileperldoc cpanfile-faq可用。

cpanfile州的POD:

[the] cpanfile specification (this document) is based on Ruby's
Gemfile http://gembundler.com/man/gemfile.5.html specification.

cpanfile手册页中的链接已损坏。它应该指向:http://bundler.io/v1.3/man/gemfile.5.html

cpanfile旨在与Module::Install DSL语法“向后兼容”,并且“可转换为CPAN :: Meta :: Prereqs”并受CPAN::Meta Spec v.2等启发。

据我了解,cpanfile有点像“元格式”并且适用于一系列TIMTOWTDI方法(请参阅miyagawa's blog describing cpanfile),与Module::Install兼容且主要是自我记录。例如,如果您在包含mymeta-cpanfile个文件的目录中运行META,它将为您构建cpanfile;您可以编写一个脚本来描述CPAN::Meta::Prereqs的先决条件,然后$file->save('cpanfile');来编写cpanfile

关于Dist::Milla,在教程中(请参阅Dist::Milla附带的POD)miyagawa指出 “如果您决定手动构建[a]新cpanfile,则格式主要与Module::Install的要求DSL兼容”。本教程还给出了一个简短的例子。

我认为让miyagawa澄清分发文档中cpanfile规范/格式的状态和用例是公平的。那个和更多的例子会回答像你这样的问题。他已经大部分时间完成了这方面的工作 - 它不是全部在一个地方。