Bazel忽略完整版本的子目录

时间:2017-08-11 09:16:25

标签: bazel

在我的存储库中,我有一些文件名为" build" (自动生成和/或导入,在我的bazel构建文件的其他地方传播)。这些似乎被Bazel解释为其BUILD文件,并且在尝试使用bazel build //...

运行的完整构建时失败

我是否可以通过某种方式告诉Bazel在设置配置文件中完全忽略某些目录?或者将构建文件名指定为 BUILD 以外的其他名称,例如 BUILD.bazel

或者是我的选择:

  • 从整个存储库中删除名称​​ build
  • 为每次构建运行添加一个巨大的--deleted_packages=<...>
  • 不使用完整版本,而是指定显式目标。

1 个答案:

答案 0 :(得分:2)

我认为这与您关联的两个问题重复,但要扩展您在评论中提出的问题:

您不必将它们重命名为BUILD.bazel,我的建议是在这些目录中添加一个空的BUILD.bazel。所以你最终会得到:

my-project/
  BUILD
  src/
    build/
      stuff-bazel-shouldn't-mess-with
    BUILD.bazel  # Empty

然后Bazel将检查BUILD.bazel中的目标,看看没有,并且不会尝试解析build/目录。

关于BUILD vs. BUILD.bazel的文档缺乏令人痛苦的缺乏,至少我能找到。