https://docs.bazel.build/versions/master/output_directories.html#documentation-of-the-current-bazel-output-directory-layout
я есть следующая структура каталогов:
my_dir
|
--> src
| |
| --> foo.cc
| --> BUILD
|
--> WORKSPACE
|
--> bazel-out/ (symlink)
|
| ...
src/BUILD
содержит следующий код:
cc_binary(
name = "foo",
srcs = ["foo.cc"]
)
Файлfoo.cc
создает файл с именемbar.txt
используя обычный способ с<fstream>
коммунальные услуги.
Тем не менее, когда я призываю Базель сbazel run //src:foo
файлbar.txt
создается и помещается вbazel-out/darwin-fastbuild/bin/src/foo.runfiles/foo/bar.txt
вместоmy_dir/src/bar.txt
где первоисточник.
Я пытался добавитьouts
поле кfoo
правило, но Базель жаловался, чтоouts
не является признанным атрибутом дляcc_binary
.
Я также думал о созданииfilegroup
правило, но нетdeps
поле, где я могу объявитьfoo
как зависимость для этих файлов.
Как я могу убедиться, что файлы, созданные при запускеcc_binary
правило помещается вmy_dir/src/bar.txt
вместоbazel-out/...
?