BUILD文件可以具有任意文件扩展名吗?

时间:2018-07-03 17:04:44

标签: bazel

我知道bazel将BUILD and BUILD.bazel都接受为有效的文件名。

android工具似乎也有一个BUILD.tools文件。

通常,bazel对BUILD文件的扩展名是否有任何限制?例如,我可以让BUILD.generation来描述从未生成的BUILD文件生成的BUILD文件吗?

1 个答案:

答案 0 :(得分:3)

.tools扩展名是构建Bazel本身的一部分。从Bazel的角度来看,它只是任何普通文件。它在这里被拾取:https://github.com/bazelbuild/bazel/blob/bbc8ed16aee07c3ba9321d58aa4c0ffc55fa2ba9/tools/android/BUILD#L197

然后最终在这里进行处理:https://github.com/bazelbuild/bazel/blob/c816b89a2224c3c318f1228755ef41c53975f45c/src/create_embedded_tools.py#L74

对于您提到的用例,解决该问题的一种方法是生成一个具有有意义名称的.bzl文件,其中包含可以从BUILD或{{1}调用的宏}文件。这样,您可以将生成的规则与手动维护的规则分开。这类似于generate_workspace的工作方式:https://docs.bazel.build/versions/master/generate-workspace.html