完全生成时Bazel忽略子目录

完全生成时Bazel忽略子目录,bazel,Bazel,在我的存储库中,我有一些名为“build”的文件(自动生成和/或导入,分布在bazel构建文件所在的其他地方)。这些文件似乎被Bazel解释为它的构建文件,我尝试使用Bazel BUILD//… 有没有什么方法可以让设置配置文件中的Bazel完全忽略某些目录?或者可以将构建文件名指定为build以外的其他名称,比如build.bazel 或者是我的选择: 从整个存储库中删除名称build 在每次运行构建时添加一个巨大的--deleted_packages= 不使用完整生成,而是指定显式目标 我

在我的存储库中,我有一些名为“build”的文件(自动生成和/或导入,分布在bazel构建文件所在的其他地方)。这些文件似乎被Bazel解释为它的构建文件,我尝试使用
Bazel BUILD//…

有没有什么方法可以让设置配置文件中的Bazel完全忽略某些目录?或者可以将构建文件名指定为build以外的其他名称,比如build.bazel

或者是我的选择:

  • 从整个存储库中删除名称build
  • 在每次运行构建时添加一个巨大的
    --deleted_packages=
  • 不使用完整生成,而是指定显式目标

我认为这是您链接的两个问题的重复,但要进一步说明您在评论中提出的问题:

您不必重命名它们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的文档非常缺乏。

Saw-似乎是一个好的解决方案,但是它会忽略其他构建文件吗elwhere?同样,它也会尝试该解决方案。“但是它会忽略其他构建文件elwhere吗?”-不可能复制@kristina不是冲突的真正问题,而是存储库中其他地方有一些名为“build”的新文件,Bazel认为它应该处理这些文件。正如Adam所说,重命名为“BUILD.bazel”并不是一个解决方案,因为我的构建文件与有问题的构建文件不在同一文件夹中。这是一个解决方案,只要路径不是我的project/generated/generated thing/BUILD,那么将BUILD.bazel添加到正确的文件夹就更困难。我自己也找不到有关姓名的文档。你知道网站惯例吗?我接受这个答案吗?