Git 代码库规则

<ph type="x-smartling-placeholder"></ph> 报告问题 查看来源 敬上 每晚 · 7.3。 · 7.2 条 · 7.1。 · 7.0。 · 6.5

您可以从 @bazel_tools//tools/build_defs/repo:git.bzl

git_repository

git_repository(name, branch, build_file, build_file_content, commit, init_submodules, patch_args,
               patch_cmds, patch_cmds_win, patch_tool, patches, recursive_init_submodules, remote,
               shallow_since, strip_prefix, tag, verbose, workspace_file, workspace_file_content)

克隆外部 Git 代码库。

克隆 Git 代码库,签出指定的标记或提交,以及 使其目标可供绑定。还要确定 提交实际签出及其日期,并返回一个包含参数的字典 提供此规则的可重现版本(即 是)。

属性

name 姓名;必需

此代码库的唯一名称。

branch String;可选

分支进行签出。必须指定分支、标记或提交中的一个。

build_file 标签;可选

要用作此代码库的 BUILD 文件的文件。此属性是绝对标签(对于主代码库,请使用“@//”)。该文件不需要命名为 BUILD,但可以(像 BUILD.new-repo-name 这样的名称可能很适合将其与代码库的实际 BUILD 文件区分开来)。必须指定 build_file 或 build_file_content。

build_file_content String;可选

此代码库的 BUILD 文件的内容。必须指定 build_file 或 build_file_content。

commit String;可选

要签出的特定提交必须指定分支、标记或提交中的一个。

init_submodules 布尔值;可选

是否克隆代码库中的子模块。

patch_args 字符串列表;可选

提供给修补工具的参数。默认为 -p0,但是 git 生成的补丁通常需要 -p1。如果指定了多个 -p 参数,则最后一个参数将会生效。如果指定了 -p 以外的参数,Bazel 将回退到使用补丁命令行工具,而不是 Bazel 原生补丁实现。如果回退到补丁命令行工具且未指定 patch_tool 属性,系统将使用“patch”。

patch_cmds 字符串列表;可选

应用补丁后,要应用于 Linux/Macos 的一系列 Bash 命令。

patch_cmds_win 字符串列表;可选

应用补丁后,要应用于 Windows 的 Powershell 命令序列。如果未设置该属性,则系统将在 Windows 上执行 patch_cmds,这要求存在 Bash 二进制文件。

patch_tool String;可选

要使用的补丁(1) 实用程序。如果指定此字段,Bazel 将使用指定的修补工具,而不是 Bazel 原生补丁程序实现。

patches 标签列表;可选

在提取归档文件后要作为补丁应用的文件列表。默认情况下,它使用不支持模糊匹配和二进制补丁的 Bazel 原生补丁实现,但如果指定了“patch_tool”属性或“patch_args”属性中存在除“-p”以外的参数,Bazel 将回退到使用补丁命令行工具。

recursive_init_submodules 布尔值;可选

是否在代码库中以递归方式克隆子模块。

remote String;必需

远程 Git 代码库的 URI

shallow_since String;可选

可选日期,而不是在指定的提交之后;如果指定了 标记(允许从深度为 1 的克隆),则不允许使用该参数。将此类日期设置为接近指定的提交日期,可以对代码库进行更浅层的克隆,从而节省带宽和实际用时。

strip_prefix String;可选

要从提取的文件中删除的目录前缀。

tag String;可选

标记来签出。必须指定分支、标记或提交中的一个。

verbose 布尔值;可选
workspace_file 标签;可选

要用作此代码库的“WORKSPACE”文件的文件。可以指定“workspace_file”或“workspace_file_content”,也可以不指定任何一个,但不能同时指定两者。

workspace_file_content String;可选

此代码库的 WORKSPACE 文件的内容。可以指定“workspace_file”或“workspace_file_content”,也可以不指定任何一个,但不能同时指定两者。

new_git_repository

new_git_repository(name, branch, build_file, build_file_content, commit, init_submodules,
                   patch_args, patch_cmds, patch_cmds_win, patch_tool, patches,
                   recursive_init_submodules, remote, shallow_since, strip_prefix, tag, verbose,
                   workspace_file, workspace_file_content)

克隆外部 Git 代码库。

克隆 Git 代码库,签出指定的标记或提交,以及 使其目标可供绑定。还要确定 提交实际签出及其日期,并返回一个包含参数的字典 提供此规则的可重现版本(即 是)。

属性

name 姓名;必需

此代码库的唯一名称。

branch String;可选

分支进行签出。必须指定分支、标记或提交中的一个。

build_file 标签;可选

要用作此代码库的 BUILD 文件的文件。此属性是绝对标签(对于主代码库,请使用“@//”)。该文件不需要命名为 BUILD,但可以(像 BUILD.new-repo-name 这样的名称可能很适合将其与代码库的实际 BUILD 文件区分开来)。必须指定 build_file 或 build_file_content。

build_file_content String;可选

此代码库的 BUILD 文件的内容。必须指定 build_file 或 build_file_content。

commit String;可选

要签出的特定提交必须指定分支、标记或提交中的一个。

init_submodules 布尔值;可选

是否克隆代码库中的子模块。

patch_args 字符串列表;可选

提供给修补工具的参数。默认为 -p0,但是 git 生成的补丁通常需要 -p1。如果指定了多个 -p 参数,则最后一个参数将会生效。如果指定了 -p 以外的参数,Bazel 将回退到使用补丁命令行工具,而不是 Bazel 原生补丁实现。如果回退到补丁命令行工具且未指定 patch_tool 属性,系统将使用“patch”。

patch_cmds 字符串列表;可选

应用补丁后,要应用于 Linux/Macos 的一系列 Bash 命令。

patch_cmds_win 字符串列表;可选

应用补丁后,要应用于 Windows 的 Powershell 命令序列。如果未设置该属性,则系统将在 Windows 上执行 patch_cmds,这要求存在 Bash 二进制文件。

patch_tool String;可选

要使用的补丁(1) 实用程序。如果指定此字段,Bazel 将使用指定的修补工具,而不是 Bazel 原生补丁程序实现。

patches 标签列表;可选

在提取归档文件后要作为补丁应用的文件列表。默认情况下,它使用不支持模糊匹配和二进制补丁的 Bazel 原生补丁实现,但如果指定了“patch_tool”属性或“patch_args”属性中存在除“-p”以外的参数,Bazel 将回退到使用补丁命令行工具。

recursive_init_submodules 布尔值;可选

是否在代码库中以递归方式克隆子模块。

remote String;必需

远程 Git 代码库的 URI

shallow_since String;可选

可选日期,而不是在指定的提交之后;如果指定了 标记(允许从深度为 1 的克隆),则不允许使用该参数。将此类日期设置为接近指定的提交日期,可以对代码库进行更浅层的克隆,从而节省带宽和实际用时。

strip_prefix String;可选

要从提取的文件中删除的目录前缀。

tag String;可选

标记来签出。必须指定分支、标记或提交中的一个。

verbose 布尔值;可选
workspace_file 标签;可选

要用作此代码库的“WORKSPACE”文件的文件。可以指定“workspace_file”或“workspace_file_content”,也可以不指定任何一个,但不能同时指定两者。

workspace_file_content String;可选

此代码库的 WORKSPACE 文件的内容。可以指定“workspace_file”或“workspace_file_content”,也可以不指定任何一个,但不能同时指定两者。