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")]
    )

0 ответов

Другие вопросы по тегам