Bazel: установите зависимость python для genrule
Я пишу макрос Bazel для загрузки колес Python в PyPI. Чтобы загрузить файл .whl в PyPI, я звонюtwine
как последний шаг моего макроса. Twine — это пакет Python, и похоже, что его нужно устанавливать отдельно. Однако я хочу, чтобы моя сборка была герметичной, поэтому я хотел бы, чтобы она устанавливалась системой сборки, и желательно не в системный питон или текущую виртуальную среду, которая может быть активирована на машине пользователя. Есть ли способ сделать это? Я попытался указать его как зависимость для моегоgenrule
, но не имеетdeps
параметр или как зависимость для моегоpy_wheel
этапе, но тогда шпагат еще не был доступен для этапа загрузки. Есть ли хороший способ сделать это?
Вот призыв к рассматриваемому genrule:
native.genrule(
name = name + "_upload",
srcs = [":" + short_name + "_wheel"],
outs = [short_name + "_twine_upload.log"],
cmd = "twine upload --disable-progress-bar --skip-existing $(SRCS) -u ........",
visibility = ["//visibility:public"],
# deps = [requirement("twine")]
)