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/...?

Ответы на вопрос(1)

Ваш ответ на вопрос