【问题标题】:Build multiple jsonnet files at once一次构建多个 jsonnet 文件
【发布时间】:2021-09-22 11:35:26
【问题描述】:

当前的 jsonnet 编译器一次只允许编译一个文件。有什么方法可以在一个命令中构建许多 jsonnet 文件,也许使用一个规则,比如所有 jsonnet 文件在文件夹中递归匹配模式 *.jsonnet?

【问题讨论】:

    标签: jsonnet


    【解决方案1】:

    回答您的问题:不,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
    

    然后,将这些“主要”对象键设置为您需要的每个文件的清单内容。

    【讨论】:

    • 啊,是的,似乎唯一的方法是将所有 jsonnet 文件导入主文件并编译它
    猜你喜欢
    • 1970-01-01
    • 2011-06-23
    • 2021-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多