可以从 @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)
修补已提取的代码库的实现。
此规则旨在用于代码库规则的实现函数中。如果未指定参数 patches
、patch_tool
、patch_args
、patch_cmds
和 patch_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 文件和网址列表计算 auth 字典。
参数
netrc |
必填字段。
已解析为字典的 netrc 文件,例如从 read_netrc 获取的文件 |
urls |
必填字段。
网址列表。 |
patterns |
必填字段。
可选的网址与授权模式对应的字典 |
workspace_and_buildfile
workspace_and_buildfile(ctx)
用于写入工作区和 BUILD 文件的实用函数。
此规则旨在用于代码库规则的实现函数。它假定 ctx.attr
中存在参数 name
、build_file
、build_file_content
、workspace_file
和 workspace_file_content
;后四个参数的值可能是 None。
参数
ctx |
必需。
调用此实用函数的代码库规则的代码库上下文。 |