utils 代码库规则

报告问题 查看源代码

可以从 @bazel_tools//tools/build_defs/repo:utils.bzl 加载以下函数。

不确定

maybe(repo_rule, name, kwargs)

实用函数,用于仅添加代码库(如果代码库尚不存在)。

这是为了实现 https://bazel.build/rules/deploying#dependencies 中载述的安全 repositories.bzl 宏。

参数

repo_rule 必填字段。

代码库规则函数。

name 必填字段。

要创建的代码库的名称。

kwargs 选填。

传递给 repo_rule 函数的剩余参数。

parse_netrc

parse_netrc(contents, filename)

实用函数,用于至少解析一个基本 .netrc 文件。

参数

contents 必填字段。

解析器的输入。

filename 可选属性。默认值为 None

文件名(如果有)。

patch

patch(ctx, patches, patch_cmds, patch_cmds_win, patch_tool, patch_args, auth)

修补已提取的代码库的实现。

此规则旨在用于存储库规则的实现函数。如果未指定参数 patchespatch_toolpatch_argspatch_cmdspatch_cmds_win,则这些参数将从 ctx.attr 中获取。

参数

ctx 必填字段。

调用此实用函数的代码库规则的代码库上下文。

patches 可选属性。默认值为 None

要应用的补丁文件。字符串、标签或路径的列表。

patch_cmds 可选属性。默认值为 None

要运行修补的 Bash 命令,每次将一个命令传递给 bash -c。字符串列表

patch_cmds_win 可选属性。默认值为 None

要运行修补的 Powershell 命令,一次传递一个到 powershell /c。字符串列表。如果此参数的布尔值为 false,将使用 patch_cmds 并忽略此参数。

patch_tool 可选属性。默认值为 None

用于应用补丁的修补工具的路径。字符串。

patch_args 可选属性。默认值为 None

要传递给修补工具的参数。字符串列表。

auth 可选属性。默认值为 None

用于指定部分网址的身份验证信息的可选字典。

read_netrc

read_netrc(ctx, filename)

实用函数,用于至少解析一个基本 .netrc 文件。

参数

ctx 必填字段。

调用此实用函数的代码库规则的代码库上下文。

filename 必填字段。

要读取的 .netrc 文件的名称

read_user_netrc

read_user_netrc(ctx)

读取用户的默认 netrc 文件。

参数

ctx 必填字段。

调用此实用函数的代码库规则的代码库上下文。

update_attrs

update_attrs(orig, keys, override)

实用函数,用于在特定仓库规则调用中更改和添加指定属性。

这用于使规则可重现。

参数

orig 必填字段。

通过特定规则调用对实际设置的属性(显式或隐式)的描述

keys 必填字段。

该规则中定义的一组完整属性

override 必填字段。

要替换或添加到原始的属性的字典

use_netrc

use_netrc(netrc, urls, patterns)

根据已解析的 netrc 文件和网址列表计算身份验证词典。

参数

netrc 必填字段。

已解析为字典的 netrc 文件,例如从 read_netrc 获取的条目

urls 必填字段。

网址列表。

patterns 必填字段。

授权模式的网址(可选)

workspace_and_buildfile

workspace_and_buildfile(ctx)

用于写入工作区和 BUILD 文件的实用函数。

此规则旨在用于代码库规则的实现函数。它假定参数 namebuild_filebuild_file_contentworkspace_fileworkspace_file_content 存在于 ctx.attr 中;后 4 个参数的值为 None。

参数

ctx 必填字段。

调用此实用函数的代码库规则的代码库上下文。