Как получить полные имена для целевых зависимостей? - PullRequest
0 голосов
/ 06 июня 2018

Я хочу создать тарбол из двоичного файла и всех библиотек, которые зависят от использования pkg_tar().Я могу получить список зависимостей двоичного файла с помощью

deps = native.existing_rule('my_binary')['deps']

Тем не менее, элементы в списке не имеют префикса @repo_name//, который был указан в правиле cc_binary().Например, @system//:ace становится :ace;когда я пытаюсь оперировать с :ace, Базель справедливо говорит мне, что такой цели нет.

Я просмотрел весь словарь, возвращенный native.existing_rule, и не вижу способа найти пропущенное.Информация.Разве невозможно получить эту информацию с помощью native.existing_rule или аналогичного?

Я знаю, что могу написать макрос, который создает цель cc_binary и цель pkg_tar, разделяя между ними список deps.Это было бы более элегантно, но кажется довольно странным, если deps нельзя извлечь из правила.

1 Ответ

0 голосов
/ 12 июня 2018

Рассматривали ли вы использование аспектов ?Вы можете прикрепить аспект к зависимостям заданной цели и распространять информацию (в данном случае, полные строки меток?) Вплоть до корня.

Дайте мне знать, если вам нужны какие-либо дополнительные указания!

...