我想在 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 ×1