Fungsi berikut dapat dimuat dari
@bazel_tools//tools/build_defs/repo:git.bzl.
Aturan untuk meng-clone repositori git eksternal.
git_repository
load("@bazel//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,
               remote_module_file_integrity, remote_module_file_urls, repo_mapping, shallow_since,
               strip_prefix, tag, verbose, workspace_file, workspace_file_content)
Meng-clone repositori git eksternal.
Meng-clone repositori Git, memeriksa tag atau commit yang ditentukan, dan membuat targetnya tersedia untuk binding. Tentukan juga ID commit yang benar-benar diperiksa beserta tanggalnya, serta tampilkan kamus dengan parameter yang memberikan versi yang dapat direproduksi dari aturan ini (yang tidak selalu berupa tag).
Bazel akan terlebih dahulu mencoba melakukan pengambilan dangkal hanya untuk commit yang ditentukan. Jika gagal (biasanya karena dukungan server tidak ada), tindakan ini akan kembali ke pengambilan repositori penuh.
Lebih memilih http_archive daripada git_repository.
Alasannya adalah:
- Aturan repositori Git bergantung pada git(1)sistem, sedangkan downloader HTTP dibuat ke dalam Bazel dan tidak memiliki dependensi sistem.
- http_archivemendukung daftar- urlssebagai cermin, dan- git_repositoryhanya mendukung satu- remote.
- http_archiveberfungsi dengan cache repositori, tetapi tidak dengan- git_repository. Lihat #5116 untuk mengetahui informasi selengkapnya.
ATRIBUT
| name | Nama; wajib Nama unik untuk repositori ini. | 
| branch | String; opsional cabang di repositori jarak jauh yang akan diperiksa. Tepatnya, hanya salah satu dari cabang, tag, atau commit yang harus ditentukan. | 
| build_file | Label; opsional File yang akan digunakan sebagai file BUILD untuk repositori ini. Atribut ini adalah label absolut (gunakan '@//' untuk repo utama). File tidak harus diberi nama BUILD, tetapi dapat diberi nama demikian (nama seperti BUILD.new-repo-name mungkin berguna untuk membedakannya dari file BUILD sebenarnya di repositori). | 
| build_file_content | String; opsional Konten untuk file BUILD di repositori ini. | 
| commit | String; opsional commit tertentu yang akan diperiksa. Tepatnya, hanya salah satu dari cabang, tag, atau commit yang harus ditentukan. | 
| init_submodules | Boolean; opsional Apakah akan meng-clone submodul di repositori atau tidak. | 
| patch_args | Daftar string; opsional Argumen yang diberikan ke alat patch. Default-nya adalah -p0, tetapi -p1 biasanya diperlukan untuk patch yang dibuat oleh git. Jika beberapa argumen -p ditentukan, argumen terakhir akan diterapkan. Jika argumen selain -p ditentukan, Bazel akan kembali menggunakan alat command line patch, bukan implementasi patch native Bazel. Jika kembali ke alat command line patch dan atribut patch_tool tidak ditentukan, `patch` akan digunakan. | 
| patch_cmds | Daftar string; opsional Urutan perintah Bash yang akan diterapkan di Linux/MacOS setelah patch diterapkan. | 
| patch_cmds_win | Daftar string; opsional Urutan perintah Powershell yang akan diterapkan di Windows setelah patch diterapkan. Jika atribut ini tidak ditetapkan, patch_cmds akan dieksekusi di Windows, yang memerlukan program biner Bash. | 
| patch_tool | String; opsional Utilitas patch(1) yang akan digunakan. Jika ini ditentukan, Bazel akan menggunakan alat patch yang ditentukan, bukan implementasi patch native Bazel. | 
| patches | Daftar label; opsional Daftar file yang akan diterapkan sebagai patch setelah mengekstrak arsip. Secara default, atribut ini menggunakan implementasi patch native Bazel yang tidak mendukung kecocokan fuzz dan patch program biner. Namun, Bazel akan kembali menggunakan alat command line patch jika atribut `patch_tool` ditentukan atau ada argumen selain `-p` di atribut `patch_args`. | 
| recursive_init_submodules | Boolean; opsional Apakah akan meng-clone submodul secara berulang di repositori atau tidak. | 
| remote | String; wajib URI repositori Git jarak jauh | 
| remote_module_file_integrity | String; opsional Khusus penggunaan internal. | 
| remote_module_file_urls | Daftar string; opsional Khusus penggunaan internal. | 
| repo_mapping | Dictionary: String -> String; opsional Hanya dalam konteks `WORKSPACE`: kamus dari nama repositori lokal ke nama repositori global. Hal ini memungkinkan kontrol atas penyelesaian dependensi ruang kerja untuk dependensi repositori ini. Misalnya, entri `"@foo": "@bar"` menyatakan bahwa, untuk setiap waktu saat repositori ini bergantung pada `@foo` (seperti dependensi pada `@foo//some:target`, dependensi tersebut sebenarnya harus diselesaikan dalam `@bar` yang dideklarasikan secara global (`@bar//some:target`). Atribut ini _tidak_ didukung dalam konteks `MODULE.bazel` (saat memanggil aturan repositori di dalam fungsi penerapan ekstensi modul). | 
| shallow_since | String; opsional tanggal opsional, tidak setelah commit yang ditentukan; argumen tidak diizinkan jika tag atau cabang ditentukan (yang selalu dapat di-clone dengan --depth=1). Menetapkan tanggal yang dekat dengan commit yang ditentukan dapat memungkinkan clone dangkal repositori meskipun server tidak mendukung pengambilan dangkal commit arbitrer. Karena bug dalam penerapan --shallow-since git, penggunaan atribut ini tidak direkomendasikan karena dapat menyebabkan kegagalan pengambilan. | 
| strip_prefix | String; opsional Awalan direktori yang akan dihapus dari file yang diekstrak. | 
| tag | String; opsional tag di repositori jarak jauh yang akan diperiksa. Tepatnya, hanya salah satu dari cabang, tag, atau commit yang harus ditentukan. | 
| verbose | Boolean; opsional | 
| workspace_file | Label; opsional Atribut no-op; jangan gunakan. | 
| workspace_file_content | String; opsional Atribut no-op; jangan gunakan. | 
new_git_repository
load("@bazel//tools/build_defs/repo:git.bzl", "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, remote_module_file_integrity,
                   remote_module_file_urls, repo_mapping, shallow_since, strip_prefix, tag, verbose,
                   workspace_file, workspace_file_content)
Meng-clone repositori git eksternal.
Meng-clone repositori Git, memeriksa tag atau commit yang ditentukan, dan membuat targetnya tersedia untuk binding. Tentukan juga ID commit yang benar-benar diperiksa beserta tanggalnya, serta tampilkan kamus dengan parameter yang memberikan versi yang dapat direproduksi dari aturan ini (yang tidak selalu berupa tag).
Bazel akan terlebih dahulu mencoba melakukan pengambilan dangkal hanya untuk commit yang ditentukan. Jika gagal (biasanya karena dukungan server tidak ada), tindakan ini akan kembali ke pengambilan repositori penuh.
Lebih memilih http_archive daripada git_repository.
Alasannya adalah:
- Aturan repositori Git bergantung pada git(1)sistem, sedangkan downloader HTTP dibuat ke dalam Bazel dan tidak memiliki dependensi sistem.
- http_archivemendukung daftar- urlssebagai cermin, dan- git_repositoryhanya mendukung satu- remote.
- http_archiveberfungsi dengan cache repositori, tetapi tidak dengan- git_repository. Lihat #5116 untuk mengetahui informasi selengkapnya.
ATRIBUT
| name | Nama; wajib Nama unik untuk repositori ini. | 
| branch | String; opsional cabang di repositori jarak jauh yang akan diperiksa. Tepatnya, hanya salah satu dari cabang, tag, atau commit yang harus ditentukan. | 
| build_file | Label; opsional File yang akan digunakan sebagai file BUILD untuk repositori ini. Atribut ini adalah label absolut (gunakan '@//' untuk repo utama). File tidak harus diberi nama BUILD, tetapi dapat diberi nama demikian (nama seperti BUILD.new-repo-name mungkin berguna untuk membedakannya dari file BUILD sebenarnya di repositori). | 
| build_file_content | String; opsional Konten untuk file BUILD di repositori ini. | 
| commit | String; opsional commit tertentu yang akan diperiksa. Tepatnya, hanya salah satu dari cabang, tag, atau commit yang harus ditentukan. | 
| init_submodules | Boolean; opsional Apakah akan meng-clone submodul di repositori atau tidak. | 
| patch_args | Daftar string; opsional Argumen yang diberikan ke alat patch. Default-nya adalah -p0, tetapi -p1 biasanya diperlukan untuk patch yang dibuat oleh git. Jika beberapa argumen -p ditentukan, argumen terakhir akan diterapkan. Jika argumen selain -p ditentukan, Bazel akan kembali menggunakan alat command line patch, bukan implementasi patch native Bazel. Jika kembali ke alat command line patch dan atribut patch_tool tidak ditentukan, `patch` akan digunakan. | 
| patch_cmds | Daftar string; opsional Urutan perintah Bash yang akan diterapkan di Linux/MacOS setelah patch diterapkan. | 
| patch_cmds_win | Daftar string; opsional Urutan perintah Powershell yang akan diterapkan di Windows setelah patch diterapkan. Jika atribut ini tidak ditetapkan, patch_cmds akan dieksekusi di Windows, yang memerlukan program biner Bash. | 
| patch_tool | String; opsional Utilitas patch(1) yang akan digunakan. Jika ini ditentukan, Bazel akan menggunakan alat patch yang ditentukan, bukan implementasi patch native Bazel. | 
| patches | Daftar label; opsional Daftar file yang akan diterapkan sebagai patch setelah mengekstrak arsip. Secara default, atribut ini menggunakan implementasi patch native Bazel yang tidak mendukung kecocokan fuzz dan patch program biner. Namun, Bazel akan kembali menggunakan alat command line patch jika atribut `patch_tool` ditentukan atau ada argumen selain `-p` di atribut `patch_args`. | 
| recursive_init_submodules | Boolean; opsional Apakah akan meng-clone submodul secara berulang di repositori atau tidak. | 
| remote | String; wajib URI repositori Git jarak jauh | 
| remote_module_file_integrity | String; opsional Khusus penggunaan internal. | 
| remote_module_file_urls | Daftar string; opsional Khusus penggunaan internal. | 
| repo_mapping | Dictionary: String -> String; opsional Hanya dalam konteks `WORKSPACE`: kamus dari nama repositori lokal ke nama repositori global. Hal ini memungkinkan kontrol atas penyelesaian dependensi ruang kerja untuk dependensi repositori ini. Misalnya, entri `"@foo": "@bar"` menyatakan bahwa, untuk setiap waktu saat repositori ini bergantung pada `@foo` (seperti dependensi pada `@foo//some:target`, dependensi tersebut sebenarnya harus diselesaikan dalam `@bar` yang dideklarasikan secara global (`@bar//some:target`). Atribut ini _tidak_ didukung dalam konteks `MODULE.bazel` (saat memanggil aturan repositori di dalam fungsi penerapan ekstensi modul). | 
| shallow_since | String; opsional tanggal opsional, tidak setelah commit yang ditentukan; argumen tidak diizinkan jika tag atau cabang ditentukan (yang selalu dapat di-clone dengan --depth=1). Menetapkan tanggal yang dekat dengan commit yang ditentukan dapat memungkinkan clone dangkal repositori meskipun server tidak mendukung pengambilan dangkal commit arbitrer. Karena bug dalam penerapan --shallow-since git, penggunaan atribut ini tidak direkomendasikan karena dapat menyebabkan kegagalan pengambilan. | 
| strip_prefix | String; opsional Awalan direktori yang akan dihapus dari file yang diekstrak. | 
| tag | String; opsional tag di repositori jarak jauh yang akan diperiksa. Tepatnya, hanya salah satu dari cabang, tag, atau commit yang harus ditentukan. | 
| verbose | Boolean; opsional | 
| workspace_file | Label; opsional Atribut no-op; jangan gunakan. | 
| workspace_file_content | String; opsional Atribut no-op; jangan gunakan. |