【发布时间】:2021-09-22 11:35:26
【问题描述】:
当前的 jsonnet 编译器一次只允许编译一个文件。有什么方法可以在一个命令中构建许多 jsonnet 文件,也许使用一个规则,比如所有 jsonnet 文件在文件夹中递归匹配模式 *.jsonnet?
【问题讨论】:
标签: jsonnet
当前的 jsonnet 编译器一次只允许编译一个文件。有什么方法可以在一个命令中构建许多 jsonnet 文件,也许使用一个规则,比如所有 jsonnet 文件在文件夹中递归匹配模式 *.jsonnet?
【问题讨论】:
标签: jsonnet
回答您的问题:不,jsonnet CLI 仅接受单个 jsonnet 文件,请注意这是设计使然,以便能够输出(即 清单)一个 有效的 JSON 流。
回想一下,JSON 本身没有 YAML 那样的多文档“功能”(即---\n 分隔块)。
也就是说,根据您的用例,您也许可以使用-m <dir> CLI 功能,它为每个(主)object key 创建一个文件,例如:
$ cat multi.jsonnet
{
'out1.json': { foo: 'bar' },
'out2.json': { qqq: 'baz' },
}
$ jsonnet multi.jsonnet
{
"out1.json": {
"foo": "bar"
},
"out2.json": {
"qqq": "baz"
}
}
$ jsonnet -m . multi.jsonnet
./out1.json
./out2.json
然后,将这些“主要”对象键设置为您需要的每个文件的清单内容。
【讨论】: