Bazel 生成文件可以具有任意文件扩展名吗?

Bazel 生成文件可以具有任意文件扩展名吗?,bazel,Bazel,我知道bazel接受这两个文件名作为有效文件名 android工具似乎也有一个文件 通常,bazel对生成文件的扩展名有任何限制吗?例如,我可以使用BUILD.generated来描述从未生成的生成文件生成生成的生成文件吗?扩展名.tools是building Bazel本身的一部分。从Bazel的角度来看,它只是任何普通的文件。它是在这里取的: 然后最终在这里得到处理: 对于您提到的用例,一种方法是使用有意义的名称生成一个.bzl文件,该文件包含一个宏,您可以从BUILD或BUILD.baze

我知道bazel接受这两个文件名作为有效文件名

android工具似乎也有一个文件


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

扩展名
.tools
是building Bazel本身的一部分。从Bazel的角度来看,它只是任何普通的文件。它是在这里取的:

然后最终在这里得到处理:


对于您提到的用例,一种方法是使用有意义的名称生成一个
.bzl
文件,该文件包含一个宏,您可以从
BUILD
BUILD.bazel
文件调用该宏。这样,您就可以将生成的规则与手动维护的规则分开。这与generate_workspace的工作原理类似:

工具扩展是building Bazel本身的一部分。从Bazel的角度来看,它只是任何普通的文件。它是在这里取的:

然后最终在这里得到处理:


对于您提到的用例,一种方法是使用有意义的名称生成一个
.bzl
文件,该文件包含一个宏,您可以从
BUILD
BUILD.bazel
文件调用该宏。这样,您就可以将生成的规则与手动维护的规则分开。这与generate_workspace的工作原理类似:

谢谢。仅需确认,任何具有非标准文件扩展名的
BUILD
以后都需要重命名为
BUILD
BUILD.bazel
?生成工作区方法,即加载
bzl
文件,对于我正在处理的情况并不一定是理想的。不过,谢谢。请继续跟进这个问题。如何修改Bazel本身,使其能够理解不同的文件扩展名?例如,我想教Bazel使用文件扩展名为BUILD.generated.的构建文件,看起来是这样的:谢谢Alex!我将尝试一下,看看我是否需要在任何其他位置破解Bazel。这似乎也是相关的:谢谢。仅需确认,任何具有非标准文件扩展名的
BUILD
以后都需要重命名为
BUILD
BUILD.bazel
?生成工作区方法,即加载
bzl
文件,对于我正在处理的情况并不一定是理想的。不过,谢谢。请继续跟进这个问题。如何修改Bazel本身,使其能够理解不同的文件扩展名?例如,我想教Bazel使用文件扩展名为BUILD.generated.的构建文件,看起来是这样的:谢谢Alex!我将尝试一下,看看我是否需要在任何其他位置破解Bazel。这似乎也是相关的: