MODULE.bazel 文件中提供的方法。
成员
- archive_override
- bazel_dep
- git_override
- local_path_override
- 模块
- multiple_version_override
- register_execution_platforms
- register_toolchains
- single_version_override
- use_extension
- use_repo
- use_repo_rule
archive_override
None
archive_override(module_name, urls, integrity='', strip_prefix='', patches=[], patch_cmds=[], patch_strip=0)
参数
参数 | 说明 |
---|---|
module_name
|
必需 要应用此替换项的 Bazel 模块依赖项的名称。 |
urls
|
string;或 string 的 Iterable;
必需 归档的网址;可以是 http(s):// 或 file:// 网址。 |
integrity
|
默认值为 '' 归档文件的预期校验和,采用子资源完整性格式。 |
strip_prefix
|
默认值为 '' 要从提取的文件中删除的目录前缀。 |
patches
|
字符串可迭代;
默认值为 [] 指向要应用于此模块的补丁文件的标签列表。补丁文件必须存在于顶级项目的源代码树中。它们按列表顺序应用。 |
patch_cmds
|
字符串可迭代;
默认值为 [] 应用补丁后,要应用于 Linux/Macos 的一系列 Bash 命令。 |
patch_strip
|
默认值为 0 与 Unix 补丁的 --strip 参数相同。 |
bazel_dep
None
bazel_dep(name, version='', max_compatibility_level=-1, repo_name='', dev_dependency=False)
参数
参数 | 说明 |
---|---|
name
|
必需 要作为直接依赖项添加的模块的名称。 |
version
|
默认值为 '' 要作为直接依赖项添加的模块的版本。 |
max_compatibility_level
|
默认值为 -1 支持将模块添加为直接依赖项的最大 compatibility_level 。模块的版本暗含了支持的最低兼容性级别以及未指定此属性的最高级别。
|
repo_name
|
默认值为 '' 表示此依赖项的外部代码库的名称。默认情况下,这是模块的名称。 |
dev_dependency
|
默认值为 False 如果为 true,如果当前模块不是根模块或已启用 `--ignore_dev_dependency`,系统会忽略此依赖项。 |
git_override
None
git_override(module_name, remote, commit='', patches=[], patch_cmds=[], patch_strip=0)
参数
local_path_override
None
local_path_override(module_name, path)
参数
参数 | 说明 |
---|---|
module_name
|
必需 要应用此替换项的 Bazel 模块依赖项的名称。 |
path
|
必需 此模块所在目录的路径。 |
module
None
module(name='', version='', compatibility_level=0, repo_name='', bazel_compatibility=[])
最多只能调用一次。仅当此模块是根模块(例如,不被其他模块依赖)时,才能省略它。
参数
参数 | 说明 |
---|---|
name
|
默认值为 '' 模块的名称。仅当此模块是根模块(例如,不被其他模块依赖)时,才能省略。有效的模块名称必须:1) 只能包含小写字母 (a-z)、数字 (0-9)、点 (.)、连字符 (-) 和下划线 (_);2) 以小写字母开头;3) 以小写字母或数字结尾。 |
version
|
默认值为 '' 模块的版本。仅当此模块是根模块(例如,不被其他模块依赖)时,才能省略。版本必须采用宽松的 SemVer 格式;如需了解详情,请参阅相关文档。 |
compatibility_level
|
默认值为 0 模块的兼容性级别;每次引入不兼容的重大更改时,都应更改此名称。这基本上就是SemVer 的相同之处,只不过它并未嵌入版本字符串本身,而是作为单独的字段存在。具有不同兼容性级别的模块会参与版本解析,就像它们是具有不同名称的模块一样,但最终的依赖关系图不能包含名称相同但兼容性级别不同的多个模块(除非 multiple_version_override 有效)。如需了解详情,请参阅相关文档。
|
repo_name
|
默认值为 '' 表示此模块的代码库的名称,如模块本身所示。默认情况下,代码库的名称是模块的名称。如果项目一直使用与其模块名称不同的代码库名称,则可以指定此属性,以简化迁移过程。 |
bazel_compatibility
|
字符串可迭代;
默认值为 [] 一个 Bazel 版本列表,允许用户声明哪些 Bazel 版本与此模块兼容。这不会影响依赖项解析,但 bzlmod 将使用此信息来检查当前的 Bazel 版本是否兼容。此值的格式为以英文逗号分隔的一些限制条件值的字符串。支持三个限制条件:<=X.X.X:Bazel 版本必须等于或低于 X.X.X。当较新版本中存在已知不兼容的更改时使用。>=X.X.X:Bazel 版本必须等于或高于 X.X.X。当您依赖于一些从 X.X.X 版本开始才提供的功能时使用。-X.X.X:Bazel 版本 X.X.X 不兼容。当 X.X.X 中存在破坏您的 bug 时使用,但在后续版本中已修复。 |
multiple_version_override
None
multiple_version_override(module_name, versions, registry='')
参数
register_execution_platforms
None
register_execution_platforms(dev_dependency=False, *platform_labels)
@
或 //
开头)。如需了解详情,请参阅工具链解析。
参数
参数 | 说明 |
---|---|
dev_dependency
|
默认值为 False 如果为 true,如果当前模块不是根模块或已启用 `--ignore_dev_dependency`,系统不会注册执行平台。 |
platform_labels
|
string 的序列;
必需 要注册的平台的标签。 |
register_toolchains
None
register_toolchains(dev_dependency=False, *toolchain_labels)
@
或 //
开头)。如需了解详情,请参阅工具链解析。
参数
参数 | 说明 |
---|---|
dev_dependency
|
默认值为 False 如果为 true,则当当前模块不是根模块或已启用“--ignore_dev_dependency”时,系统不会注册工具链。 |
toolchain_labels
|
string 的序列;
必需 要注册的工具链的标签。标签可以包含 :all ,在这种情况下,软件包中所有提供工具链的目标的目标都将按名称的字典顺序注册。
|
single_version_override
None
single_version_override(module_name, version='', registry='', patches=[], patch_cmds=[], patch_strip=0)
参数
use_extension
module_extension_proxy use_extension(extension_bzl_file, extension_name, *, dev_dependency=False, isolate=False)
参数
参数 | 说明 |
---|---|
extension_bzl_file
|
必需 Starlark 文件的标签,用于定义模块扩展名。 |
extension_name
|
必需 要使用的模块扩展的名称。Starlark 文件必须导出使用此名称的符号。 |
dev_dependency
|
默认值为 False 如果为 true,如果当前模块不是根模块或已启用 `--ignore_dev_dependency`,系统会忽略这种模块扩展用法。 |
isolate
|
默认值为 False 实验性。此参数处于实验阶段,随时可能发生变化。请勿依赖它。可以通过设置 ---experimental_isolated_extension_usages 在实验性的基础上启用该功能。如果设置为 true,则模块扩展的这种用法将与此模块和其他模块中的所有其他用法隔离开来。针对此使用情况创建的标记不会影响其他使用情况,并且该扩展程序针对此使用情况生成的代码库将与该扩展程序生成的所有其他代码库不同。 此参数目前处于实验阶段,仅适用于标志 |
use_repo
None
use_repo(extension_proxy, *args, **kwargs)
参数
参数 | 说明 |
---|---|
extension_proxy
|
必需 由 use_extension 调用返回的模块扩展代理对象。
|
args
|
必需 要导入的代码库的名称。 |
kwargs
|
必需 以不同名称指定要导入到当前模块范围内的特定代码库。键应该是要在当前范围内使用的名称,而值应该是模块扩展程序导出的原始名称。 |
use_repo_rule
repo_rule_proxy use_repo_rule(repo_rule_bzl_file, repo_rule_name)
name
属性声明的名称下可见。隐式布尔值 dev_dependency
属性还可用于代理,以指明仅在当前模块为根模块时才创建特定代码库。
参数
参数 | 说明 |
---|---|
repo_rule_bzl_file
|
必需 Starlark 文件的标签,用于定义代码库规则。 |
repo_rule_name
|
必需 要使用的代码库规则的名称。Starlark 文件必须导出使用此名称的符号。 |