Чтение значения аргумента правила из файла конфигурации

Рассмотрим следующее правило Базеля, записанное в файле WORKSPACE:

container_pull(
    name = "release-base",
    registry = "mydockernet:9443",
    repository = "release-base",
    digest = "sha256:...",
    tag = "1.8.2",
)

Проблема в том, что значение тега 1.8.2 записано в файле конфигурации yaml, и мы хотим соблюдать принцип DRY (считывать значение из файла конфигурации вместо дублирования значения в файлах bazel). Есть ли способ справиться с этим?


person Kian Mirjalali    schedule 01.02.2020    source источник


Ответы (1)


Это не yaml, но вы можете определить вещи в другом файле bzl, а затем загрузить их в свою РАБОЧУЮ ОБЛАСТЬ:

load("common.bzl", "MYVERSION")
container_pull(
   name = "release-base",
   registry = "mydockernet:9443",
   repository = "release-base",
   digest = "sha256:...",
   tag = MYVERSION,
)

затем в common.bzl:

MYVERSION=1.8.2
person user2515975    schedule 04.02.2020
comment
Да, мы уже знаем решение с bzl файлами. Проблема возникает, когда конфигурации находятся в файле, отличном от формата Starlark. - person Kian Mirjalali; 16.02.2020