Это может быть немного сложным, в зависимости от того, что именно вам нужно сделать.
Здесь вам нужно правило Starlark, которое имеет атрибут с «переходом с разделенной конфигурацией». При таком переходе цели в этом атрибуте могут оцениваться в некоторых других конфигурациях или конфигурациях. Таким образом, вы можете иметь
some_rule(
name = "foo",
deps = [":dep1", ":dep2"]
)
, где атрибут deps имеет переход, который идет от конфигурации «a» (конфигурации, в которой оценивается foo) к «b» и «c», и foo получает две версии dep1, одну из конфигурации b и другую из c, а также две версии dep2. Затем foo может делать с ними то, что нужно, например, помещать их в zip-файл.
Здесь многое объясняется:
https://docs.bazel.build/versions/master/skylark/config.html
в частности:
https://docs.bazel.build/versions/master/skylark/config.html#user -defined-transitions
Здесь есть нить, в которой есть пример, как сделать большинство из этого:
https://groups.google.com/d/topic/bazel-discuss/H8lS3JL2jt8/discussion
В этом потоке упоминается недостающий фрагмент "как получить доступ к информации о конфигурации различных версий каждого депо", который может вам понадобиться в зависимости от того, что вам нужно сделать. Над этим активно ведутся работы, и, вероятно, он будет доступен в следующем выпуске Bazel (что бы ни появилось после 3.0.0, особенно, когда это откат )