implementation
函数的参数。
会员
download
struct module_ctx.download(url, output='', sha256='', executable=False, allow_fail=False, canonical_id='', auth={}, *, integrity='')将文件下载到所提供的网址的输出路径,并返回包含
success
的结构体,该结构体在下载成功时为 true
标记;如果下载成功,则为包含字段 sha256
和 integrity
的文件的哈希值。
参数
参数 | 说明 |
---|---|
url
|
string; or Iterable of strings ;必需引用同一文件的镜像网址的列表。 |
output
|
string; or Label; or path ;默认 = ''输出文件(相对于代码库目录)的路径。 |
sha256
|
default = '' 下载文件的预期 SHA-256 哈希值。此值必须与所下载文件的 SHA-256 哈希值一致。省略 SHA-256 会产生安全风险,因为远程文件可能会发生变化。最好省略此字段,使您的构建非封闭。您可以选择让开发更简单,但应在发货前进行设置。 |
executable
|
default = False 在创建的文件上设置可执行标志,默认为 false。 |
allow_fail
|
default = False 如果已设置,请在返回值中指明错误,而不是在下载失败时抛出错误 |
canonical_id
|
default = '' 如果已设置,请将缓存命中限制为将文件添加到具有同一规范 ID 的缓存中的情况 |
auth
|
default = {} 用于指定某些网址的身份验证信息的可选字典。 |
integrity
|
default = '' 所下载文件的预期校验和,采用子资源完整性格式。这个值必须与所下载文件的校验和匹配。忽略校验和是一种安全风险,因为远程文件可能会发生变化。最好省略此字段,使您的构建非封闭。您可以选择让开发更简单,但应在发货前进行设置。 |
下载并提取
struct module_ctx.download_and_extract(url, output='', sha256='', type='', stripPrefix='', allow_fail=False, canonical_id='', auth={}, *, integrity='', rename_files={})将文件下载到所提供的网址的输出路径中,提取该文件,然后返回一个包含
success
的结构体(如果下载成功,该标志将为 true
);如果成功,则返回包含 sha256
和 integrity
字段的文件哈希值。
参数
参数 | 说明 |
---|---|
url
|
string; or Iterable of strings ;必需引用同一文件的镜像网址的列表。 |
output
|
string; or Label; or path ; default = ''指向归档目录所在目录(相对于代码库目录)的路径。 |
sha256
|
default = '' 下载文件的预期 SHA-256 哈希值。此值必须与所下载文件的 SHA-256 哈希值一致。省略 SHA-256 会产生安全风险,因为远程文件可能会发生变化。最好省略此字段,使您的构建非封闭。您可以选择让开发更简单,但应在发货前进行设置。如果提供,则首先会检查具有指定哈希值的文件的存储库缓存;只有在缓存中未找到该文件时才会尝试下载。下载成功后,文件就会添加到缓存中。 |
type
|
default = '' 已下载文件的归档类型。默认情况下,归档类型取决于网址的文件扩展名。如果文件没有扩展名,您可以明确指定“zip”“jar”“war”“aar”“tar”“tar.gz”“tgz”“tar.xz”“txz”“.tar.zst”“.tzst”“tar.bz2”或“.ar”或“.ar” |
stripPrefix
|
default = '' 要从提取的文件中删除的目录前缀。 许多归档都有一个顶级目录,其中包含归档中的所有文件。该字段可用于从提取的文件中剥离,而无需在 build_file 中反复指定此前缀。
|
allow_fail
|
default = False 如果已设置,请在返回值中指明错误,而不是在下载失败时抛出错误 |
canonical_id
|
default = '' 如果已设置,请将缓存命中限制为将文件添加到具有同一规范 ID 的缓存中的情况 |
auth
|
default = {} 用于指定某些网址的身份验证信息的可选字典。 |
integrity
|
default = '' 所下载文件的预期校验和,采用子资源完整性格式。这个值必须与所下载文件的校验和匹配。忽略校验和是一种安全风险,因为远程文件可能会发生变化。最好省略此字段,使您的构建非封闭。您可以选择让开发更简单,但应在发货前进行设置。 |
rename_files
|
default = {} 可选字典,用于指定提取期间要重命名的文件。如果归档条目的名称与某个键完全匹配,则在重命名任何目录前缀之前,系统会将条目重命名为该值。这可用于提取包含非 Unicode 文件名的归档,或者包含会提取到不区分大小写的文件系统上的同一路径的文件的归档。 |
execute
exec_result module_ctx.execute(arguments, timeout=600, environment={}, quiet=True, working_directory="")执行由参数列表提供的命令。该命令的执行时间受
timeout
限制(以秒为单位,默认为 600 秒)。此方法会返回包含命令输出的 exec_result
结构。environment
映射可用于替换要传递给进程的某些环境变量。
参数
参数 | 说明 |
---|---|
arguments
|
必需 参数列表,第一个元素应该是要执行的程序的路径。 |
timeout
|
默认值为 600 命令的最长时长(以秒为单位,默认为 600 秒)。 |
environment
|
default = {} 强制将一些环境变量设置为传递给进程。 |
quiet
|
default = True 如果 stdout 和 stderr 应输出到终端, |
working_directory
|
default = "" 执行命令的工作目录。 可以相对于代码库根目录或绝对路径。 |
文件
None module_ctx.file(path, content='', executable=True, legacy_utf8=True)在代码库目录中生成一个包含所提供的文件的文件。
参数
参数 | 说明 |
---|---|
path
|
string; or Label; or path ;这是必需文件的路径(相对于代码库目录)。 |
content
|
default = '' 要创建的文件的内容,默认为空。 |
executable
|
default = True 在创建的文件上设置可执行标志,默认为 true。 |
legacy_utf8
|
default = True 将文件内容编码为 UTF-8,默认值为 true。未来的版本将更改默认值,并移除此参数。 |
modules
list module_ctx.modules外部依赖关系图中所有 Bazel 模块的列表,其中每个模块都是一个 bazel_module 对象,该对象公开了为此模块扩展指定的所有标记。此字典的迭代顺序一定会与从根模块开始的广度优先搜索相同。
os
repository_os module_ctx.os用于访问系统的信息的结构。
路径
path module_ctx.path(path)返回字符串、标签或路径中的路径。如果路径是相对的,则会相对于代码库目录进行解析。如果路径是标签,则解析为相应文件的路径。请注意,远程代码库在分析阶段执行,因此不能依赖于目标结果(标签应指向非生成的文件)。如果路径是路径,则将按原样返回该路径。
参数
参数 | 说明 |
---|---|
path
|
string; or Label; or path ;必需用于创建字符串的路径、标签或路径 |
read
string module_ctx.read(path)读取文件系统上文件的内容。
参数
参数 | 说明 |
---|---|
path
|
string; or Label; or path ;必需,要读取的文件路径。 |
报告进度
None module_ctx.report_progress(status='')更新此代码库或模块扩展的提取进度状态
参数
参数 | 说明 |
---|---|
status
|
string ;默认值为 ''字符串,用于说明提取进度的当前状态 |
哪个
path module_ctx.which(program)返回相应程序的路径;如果路径中没有此类程序,则返回 None。
参数
参数 | 说明 |
---|---|
program
|
必需 在路径中查找的程序。 |
None
。