首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Berksfile语法问题

Berksfile语法问题
EN

Stack Overflow用户
提问于 2014-01-10 09:41:02
回答 1查看 2.4K关注 0票数 3

我一直在寻找关于been文件中内容的详细文档,但我找到的都是示例,以及“你可以做到”的非正式内容。(这包括http://berkshelf.com上的材料...)

Q1: Berksfile文件的基本语法是什么?

Q2:可以放入Berksfile文件的(完整)“声明”列表是什么?

Q3:"cookbook“声明有一个可选的散列参数。什么是(完整的)选项列表,由普通的伯克架支持?

EN

回答 1

Stack Overflow用户

发布于 2014-01-13 09:52:20

对于我的回答,我将链接到v2.0.12版本的东西,因为v3现在正在开发中。

A1。基本语法和任何Ruby文件都是一样的,因为be文件只是另一个Ruby DSL (它似乎主要是由this source驱动的,还有他们的DSL Eval Mixin的一些帮助)

A2。完整的声明列表很难定义,因为Ruby可以在任何时候以多种方式进行修改/增强。(monkeypatching万岁)。但是似乎从v2.0.12开始,完整的声明集包括(metadatagroupsitechef_apicookbook),因为这些都是用expose_method标记的方法。当然,每个选项都取决于每个选项的实现方式。(此外,任何有效的ruby都可以放入A3文件中,我在CleanRoom中利用了这一点,计算过程当然是在属于混合的be类内部进行的)。

A3。同样,可扩展性使这一点变得很困难,但是从几次遍历来看,似乎CookbookSource class使用一些类级别的方法定义了什么是有效选项。好吧,利用这是一个红宝石dsl,我抛出

代码语言:javascript
复制
puts "options: #{Berkshelf::CookbookSource.valid_options}"

在我的Berksfile文件中,运行berks并得出以下结果:

代码语言:javascript
复制
options: [:constraint, :locations, :group, :locked_version, :chef_api, :node_name, :client_key, :git, :ref, :branch, :tag, :rel, :github, :protocol, :site, :path, :metadata]

现在,所有这些意味着,将需要更多的潜水通过源代码。然而,也许这会给你一个开始看东西的地方?

出于好奇,您觉得http://berkshelf.com缺少哪些文档?

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21034739

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档