Базельский язык и языковая среда - PullRequest
0 голосов
/ 01 февраля 2019

Я столкнулся с ошибкой Python , похожей на эту при выполнении genrule s в моей настройке Bazel.

Коренная причина этой ошибки заключается в том, что некоторые переменные языковой средыне установлен должным образом, поэтому файлы не читаются с правильной кодировкой.

Установка

build --action_env="LANG=en_GB.UTF-8"
run --action_env="LANG=en_GB.UTF-8"
test --action_env="LANG=en_GB.UTF-8"

в моем .bazelrc - это обходной путь, но он выглядит несколько странно.Каков наилучший способ настроить языковые / языковые настройки bazel для genrules?

1 Ответ

0 голосов
/ 06 февраля 2019

--action_dev / --test_env - единственный способ передать переменную окружения.Его можно указать в .bazelrc или установить в качестве аргумента команды bazel.

В качестве альтернативы, если вам нужно только установить переменную env для определенного genrule, вы можете сделать это явно в вашем genrule.Примечание FOO=bar в cmd:

genrule(
    name = "foo",
    srcs = [],
    outs = ["foo.h"],
    cmd = "FOO=bar ./$(location create_foo.pl) > \"$@\"",
    tools = ["create_foo.pl"],
)
...