Bazel

警告

此功能处于实验阶段,可能存在重大更改。有关更多信息,请参阅Conan 稳定性部分。

Bazel构建助手是围绕 bazel 命令行调用的包装器。它会将诸如bazel <rcpaths> build <configs> <targets>之类的调用抽象为 Python 方法调用。

此助手旨在用于 *conanfile.py* 的build()方法中,以便在 Conan 直接构建包(创建、安装)时自动调用 Bazel 命令。

from conan import ConanFile
from conan.tools.google import Bazel

class App(ConanFile):
    settings = "os", "arch", "compiler", "build_type"

    def build(self):
        bz = Bazel(self)
        bz.build(target="//main:hello-world")

参考

class Bazel(conanfile)
参数:

conanfile< ConanFile object > 当前配方对象。始终使用self

build(args=None, target='//...', clean=True)

运行“bazel <rcpaths> build <configs> <args> <targets>”命令,其中

  • rcpaths:添加--bazelrc=xxxx每个 rc 文件路径。它侦听BazelToolchain--bazelrc=conan_bzl.rc)和tools.google.bazel:bazelrc_path配置。

  • configs:添加--config=xxxx每个 bazel 构建配置。它侦听BazelToolchain--config=conan-config)和tools.google.bazel:configs配置。

  • args:它们是要添加到bazel build执行中的任何额外参数。

  • targets:所有目标标签。

参数:
  • target – 它是目标标签。默认情况下,它是“//…”,它运行所有目标。

  • args – 要传递给 CLI 的额外参数列表。

  • clean – 布尔值,指示在运行“bazel build”之前运行“bazel clean”。请注意,这对于确保每次都有一个新的 bazel 缓存非常重要

test(target=None)

运行“bazel test <targets>”命令。

属性

以下属性会影响Bazel构建助手

  • tools.build:skip_test=<bool>(布尔值)如果True,则运行bazel test <target>

配置

Bazel受这些[配置]变量的影响

  • tools.google.bazel:bazelrc_path:要作为bazel --bazelrc=rcpath1 ... build使用的其他 bazelrc 文件的路径列表。

  • tools.google.bazel:configs:要作为bazel build --config=config1 ...使用的 Bazel 配置列表。