Сборка Bazel: добавьте дополнительные зависимости не в `WORKSPACE`
Я хотел бы написать несколько сценариев профилирования в проекте и использовать
action_listener
или же
aspect
принять меры. Однако лучше не изменять файлы проекта. Есть ли способ добавить некоторые внешние зависимости без изменений
WORKSPACE
файл?
1 ответ
РАБОЧЕЕ ПРОСТРАНСТВО
workspace(name = "my_workspace")
load("//:bazel/third_party/my_profile_deps.bzl", "my_profile_deps")
my_profile_deps()
Базель/третья сторона/my_profile_deps.bzl
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe")
def my_profile_deps():
"""Fetch my profile deps."""
if True: # Switch to turn on/off
# ...
maybe(
http_archive,
name = "some_lib",
build_file = "...",
sha256 = "...",
strip_prefix = "..",
urls = [
"...",
"...",
],
)
Зависимости извлекаются только в случае необходимости. Поэтому можно подумать о введении настраиваемых атрибутов сборки .