Я пытался следовать примеру, предоставленному Сборка Makefile с использованием bazel post для создания внешнего пакета в посланнике. В файле WORKSPACE я добавил следующее:
new_git_repository(
name = "name",
remote = "remote.git",
build_file = "//foo/bazel/external:x.BUILD",
)
И foo / bazel / external / x.BUILD имеет следующее содержимое:
load("@rules_foreign_cc//tools/build_defs:make.bzl", "make")
filegroup(
name = "m_srcs",
srcs = glob(["code/**"]),
)
make(
name = "foo_bar",
make_commands = ["make lib"],
lib_source = ":m_srcs",
shared_libraries = ["lib.so"],
)
, и я установил видимость в foo /bazel / BUILD as package(default_visibility = ["//visibility:public"])
При выполнении bazel build -s @name//:foo_bar
я получаю ошибку, что external/name/x/lib/lib.so
не был создан.
Я проверил bazel-bin/external/name/x/logs/GNUMake.log
и make успешно завершился. Я вижу, что каталог BUILD_TMPDIR
создал lib.so. Я думаю, что это должно было быть скопировано в EXT_BUILD_DEPS / lib, но я не уверен, почему это не было скопировано. Буду признателен за любые советы по устранению ошибки.