如何验证 BAZEL 项目的正确性?
How to verify BAZEL project for correctness?
如何验证我的整个项目不包含错误(例如,对未在任何地方声明的目标的引用)?
在静态语言中,每当我的代码引用不存在的东西时,我都会收到编译器错误。有没有办法用 bazel 执行等效检查?
bazel build --nobuild //...
有类似的效果。它评估所有规则(并因任何错误而失败),但实际上并没有构建任何东西。
添加您要检查的完整构建的任何其他标志。大多数标志导致规则评估不同,因此您可能会看到不同的错误,具体取决于您使用的标志。
一组 Bazel 目标可以为某些 configurations but not others. For example, if there's a select 正确构建而无需这样的默认值:
cc_library(
name = "something",
srcs = select({
":cpu_k8": ["something_k8.cc"],
}),
)
然后它将使用 --cpu=k8
而不是 --cpu=aarch64
进行构建。这意味着您必须在检查完整构建时指定相同的标志集。
如何验证我的整个项目不包含错误(例如,对未在任何地方声明的目标的引用)? 在静态语言中,每当我的代码引用不存在的东西时,我都会收到编译器错误。有没有办法用 bazel 执行等效检查?
bazel build --nobuild //...
有类似的效果。它评估所有规则(并因任何错误而失败),但实际上并没有构建任何东西。
添加您要检查的完整构建的任何其他标志。大多数标志导致规则评估不同,因此您可能会看到不同的错误,具体取决于您使用的标志。
一组 Bazel 目标可以为某些 configurations but not others. For example, if there's a select 正确构建而无需这样的默认值:
cc_library(
name = "something",
srcs = select({
":cpu_k8": ["something_k8.cc"],
}),
)
然后它将使用 --cpu=k8
而不是 --cpu=aarch64
进行构建。这意味着您必须在检查完整构建时指定相同的标志集。