您可以從 @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 存放區、檢出指定的標記或修訂版本,並提供其目標供繫結。並決定實際簽出的版本 ID 和日期,然後傳回含有參數的字典,以便提供可重現的規則版本 (不一定是標記)。
Bazel 會先嘗試只針對指定的版本執行淺層擷取作業。如果失敗 (通常是因為缺少伺服器支援),就會改為擷取存放區的完整內容。
屬性
name |
名稱 (必填)
此存放區的專屬名稱。 |
branch |
字串;選用 要簽出的遠端存放區分支版本。必須指定分支、標記或提交的其中一個。 |
build_file |
標籤 (選用)
這個檔案會用於做為此存放區的 BUILD 檔案。這個屬性是絕對標籤 (針對主存放區使用「@//」)。檔案名稱不必是 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,但通常需要 -p1 才能產生 git 修補程式。如果指定多個 -p 引數,最後一個引數會生效。如果指定的引數不是 -p,Bazel 會改用修補指令列工具,而非 Bazel 原生修補實作。改回使用修補程式指令列工具和 patch_tool 屬性時,系統會使用「patch」。 |
patch_cmds |
字串清單;選用 套用修補程式後,在 Linux/Macos 上要套用的 Bash 指令序列。 |
patch_cmds_win |
字串清單;選用 在套用修補程式後,要在 Windows 上套用的 PowerShell 指令序列。如果未設定這項屬性,patch_cmds 會在 Windows 上執行,這需要 Bash 二進位檔存在。 |
patch_tool |
String; 選用 要使用的修補程式(1) 公用程式。如果指定此選項,Bazel 會使用指定的修補工具,而非 Bazel 原生修補實作。 |
patches |
標籤清單 (選用)
在解壓縮封存檔後,要套用為修補程式的檔案清單。根據預設,它會使用 Bazel 原生修補程式實作,但不支援模糊比對和二進位修補程式,如果指定 `patch_tool` 屬性,或是 `patch_args` 屬性中有 `-p` 以外的引數,Bazel 就會改用修補指令列工具。 |
recursive_init_submodules |
布林值;選用 指出是否要在存放區中遞迴複製子模組。 |
remote |
字串;必填
遠端 Git 存放區的 URI |
shallow_since |
String; 選用 選用的日期,不得晚於指定的修訂版本;如果指定了標記或分支版本,則不得使用引數 (一律可使用 --depth=1 複製)。設定與指定提交作業相近的日期,即使伺服器不支援隨機提交作業的淺層擷取,也可能會允許淺層複製存放區。由於 git 的 --shallow-since 實作發生錯誤,因此不建議使用這項屬性,因為可能會導致擷取失敗。 |
strip_prefix |
字串;選用 要從解壓縮檔案中移除的目錄前置字串。 |
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 存放區、檢出指定的標記或修訂版本,並提供其目標供繫結。並決定實際簽出的版本 ID 和日期,然後傳回含有參數的字典,以便提供可重現的規則版本 (不一定是標記)。
Bazel 會先嘗試只針對指定的版本執行淺層擷取作業。如果失敗 (通常是因為缺少伺服器支援),就會改為擷取存放區的完整內容。
屬性
name |
名稱;必填
這個存放區的專屬名稱。 |
branch |
字串;選用 要簽出的遠端存放區分支版本。必須精確指定其中一個分支版本、標記或修訂版本。 |
build_file |
標籤 (選用)
這個檔案會用於做為此存放區的 BUILD 檔案。這個屬性是絕對標籤 (針對主存放區使用「@//」)。檔案名稱不必是 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,但通常需要 -p1 才能產生 git 修補程式。如果指定多個 -p 引數,最後一個引數會生效。如果指定的引數不是 -p,Bazel 會改用修補指令列工具,而非 Bazel 原生修補實作。改回使用修補程式指令列工具和 patch_tool 屬性時,系統會使用「patch」。 |
patch_cmds |
字串清單;選用 套用修補程式後,在 Linux/Macos 上要套用的 Bash 指令序列。 |
patch_cmds_win |
字串清單;選用 在套用修補程式後,要在 Windows 上套用的 PowerShell 指令序列。如果未設定這項屬性,patch_cmds 會在 Windows 上執行,這需要 Bash 二進位檔存在。 |
patch_tool |
String; 選用 要使用的 patch(1) 公用程式。如果指定此選項,Bazel 會使用指定的修補工具,而非 Bazel 原生修補實作。 |
patches |
標籤清單 (選用)
擷取封存檔案後,要套用為修補程式的檔案清單。根據預設,它會使用 Bazel 原生修補程式實作,但不支援模糊比對和二進位修補程式,如果指定 `patch_tool` 屬性,或是 `patch_args` 屬性中有 `-p` 以外的引數,Bazel 就會改用修補指令列工具。 |
recursive_init_submodules |
布林值;選用 指出是否要在存放區中遞迴複製子模組。 |
remote |
字串;必填
遠端 Git 存放區的 URI |
shallow_since |
String; 選用 選用的日期,不得晚於指定的修訂版本;如果指定了標記或分支版本,則不得使用引數 (一律可使用 --depth=1 複製)。設定與指定提交作業相近的日期,即使伺服器不支援隨機提交作業的淺層擷取,也可能會允許淺層複製存放區。由於 git 的 --shallow-since 實作發生錯誤,因此不建議使用這項屬性,因為可能會導致擷取失敗。 |
strip_prefix |
字串;選用 要從解壓縮檔案中移除的目錄前置字串。 |
tag |
String; 選用 標記在遠端存放區中,以便檢出。必須指定分支、標記或提交的其中一個。 |
verbose |
布林值;選用 |
workspace_file |
標籤 (選用)
這個檔案會用於做為此存放區的 `WORKSPACE` 檔案。您可以指定 `workspace_file` 或 `workspace_file_content`,也可以兩者都不指定,但不能同時指定。 |
workspace_file_content |
String; 選用 這個存放區的 WORKSPACE 檔案內容。您可以指定 `workspace_file` 或 `workspace_file_content`,也可以兩者都不指定,但不能同時指定。 |