小编Ehs*_*imi的帖子

Bazel - “:target”没有强制提供者:“TemplateVariableInfo”

我想在 bazel 中为我的 genrule 创建一个工具链。我创建了一个名为 toolchain.bzl 的文件,该文件中的源代码是这样的:

BarInfo = provider(
    fields = {
        "bar": "path to bar executable",
    },
    doc = "Defines a Bar toolchain based on an SDK",
)

def _bar_toolchain_impl(ctx):
    bar_info = ctx.attr.path
    platform_bar_info = platform_common.ToolchainInfo(
        bar_info = BarInfo(bar = bar_info),
    )
    return [platform_bar_info]

bar_toolchain = rule(
    implementation = _bar_toolchain_impl,
    attrs = {
        "path": attr.string(
            doc = "path to bar executable",
            mandatory = False,
        ),
    },
)
Run Code Online (Sandbox Code Playgroud)

我把这个写在 BUILD 文件中。

load(":toolchain.bzl", "bar_toolchain")

toolchain_type(
    name = "toolchain_type",
    visibility = …
Run Code Online (Sandbox Code Playgroud)

bazel

5
推荐指数
1
解决办法
5658
查看次数

标签 统计

bazel ×1