以下函数可从 @bazel_tools//tools/build_defs/repo:local.bzl
加载。
用于将本地文件系统中的目录作为代码库提供的规则。
设置
如需在模块扩展中使用这些规则,请在 .bzl 文件中加载它们,然后从扩展的实现函数中调用它们。例如,使用 local_repository
:
load("@bazel_tools//tools/build_defs/repo:local.bzl", "local_repository")
def _my_extension_impl(mctx):
local_repository(name = "foo", path = "foo")
my_extension = module_extension(implementation = _my_extension_impl)
或者,您也可以在 MODULE.bazel 文件中使用 use_repo_rule
直接调用这些代码库规则:
local_repository = use_repo_rule("@bazel_tools//tools/build_defs/repo:local.bzl", "local_repository")
local_repository(name = "foo", path = "foo")
local_repository
load("@bazel//tools/build_defs/repo:local.bzl", "local_repository") local_repository(name, path)
将已包含 Bazel 文件的本地目录作为代码库提供。此目录应已包含 Bazel BUILD 文件和代码库边界文件。如果该文件不包含这些文件,请考虑改用 new_local_repository
。
属性
name |
名称;必需
此代码库的唯一名称。 |
path |
字符串;必需
要作为代码库提供的目录的路径。 该路径可以是绝对路径,也可以是相对于工作区根目录的路径。 |
new_local_repository
load("@bazel//tools/build_defs/repo:local.bzl", "new_local_repository") new_local_repository(name, build_file, build_file_content, path)
将不包含 Bazel 文件的本地目录作为代码库提供。此目录无需包含 Bazel BUILD 文件或代码库边界文件;这些文件将由相应代码库规则创建。如果目录已包含 Bazel 文件,请考虑改用 local_repository
。
属性
name |
名称;必需
此代码库的唯一名称。 |
build_file |
标签;可选
要用作相应代码库的 BUILD 文件的文件。 必须指定 `build_file` 和 `build_file_content` 中的一个(且只能指定其中一个)。 此标签所指的文件不必命名为 BUILD,但可以命名为 BUILD。类似 `BUILD.new-repo-name` 的名称可能有助于将其与实际的 BUILD 文件区分开来。 |
build_file_content |
字符串;可选
要为此代码库创建的 BUILD 文件的内容。 必须指定 `build_file` 和 `build_file_content` 中的一个(且只能指定其中一个)。 |
path |
字符串;必需
要作为代码库提供的目录的路径。 该路径可以是绝对路径,也可以是相对于工作区根目录的路径。 |