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_strip, patch_tool, patches, recursive_init_submodules, remote, remote_module_file_integrity, remote_module_file_urls, shallow_since, sparse_checkout_file, sparse_checkout_patterns, 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 pengikatan. Tentukan juga ID commit yang sebenarnya di-checkout dan tanggalnya, lalu tampilkan dict dengan parameter yang menyediakan versi aturan ini yang dapat direproduksi (yang belum tentu merupakan tag).
Bazel akan mencoba terlebih dahulu melakukan pengambilan dangkal hanya untuk commit yang ditentukan. Jika gagal (biasanya karena dukungan server tidak ada), maka akan kembali ke pengambilan lengkap repositori.
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_archive
mendukung daftarurls
sebagai mirror, dangit_repository
hanya mendukung saturemote
.http_archive
berfungsi dengan cache repositori, tetapi tidak dengangit_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 dibuka. Tepat satu dari cabang, tag, atau commit 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 bisa (sesuatu seperti BUILD.new-repo-name mungkin berfungsi dengan baik untuk membedakannya dari file BUILD sebenarnya di repositori). |
build_file_content |
String; opsional
Konten untuk file BUILD untuk repositori ini. |
commit |
String; opsional
commit tertentu yang akan di-checkout. Tepat satu dari cabang, tag, atau commit harus ditentukan. |
init_submodules |
Boolean; opsional
Apakah akan meng-clone submodul di repositori. |
patch_args |
Daftar string; opsional
Argumen yang diberikan ke alat patch. Secara default adalah -p0 (lihat atribut `patch_strip`), tetapi -p1 biasanya diperlukan untuk patch yang dibuat oleh git. Jika beberapa argumen -p ditentukan, argumen terakhir akan berlaku.Jika argumen selain -p ditentukan, Bazel akan kembali menggunakan alat command line patch, bukan penerapan patch native Bazel. Saat melakukan penggantian 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 keberadaan biner Bash. |
patch_strip |
Bilangan bulat; opsional
Jika disetel ke `N`, ini setara dengan menyisipkan `-pN` ke awal `patch_args`. |
patch_tool |
String; opsional
Utilitas patch(1) yang akan digunakan. Jika ditentukan, Bazel akan menggunakan alat patch yang ditentukan, bukan implementasi patch bawaan Bazel. |
patches |
Daftar label; opsional
Daftar file yang akan diterapkan sebagai patch setelah mengekstrak arsip. Secara default, perintah ini menggunakan implementasi patch native Bazel yang tidak mendukung pencocokan fuzzy dan patch biner, tetapi Bazel akan melakukan fallback untuk menggunakan alat command line patch jika atribut `patch_tool` ditentukan atau ada argumen selain `-p` dalam atribut `patch_args`. |
recursive_init_submodules |
Boolean; opsional
Apakah akan meng-clone submodul secara rekursif di repositori. |
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. |
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. |
sparse_checkout_file |
Label; opsional
File yang berisi pola gaya .gitignore untuk checkout file yang jarang di repositori ini. `sparse_checkout_patterns` atau `sparse_checkout_file` dapat ditentukan, atau tidak keduanya, tetapi tidak keduanya. |
sparse_checkout_patterns |
Daftar string; opsional
Urutan pola untuk checkout jarang file di repositori ini. |
strip_prefix |
String; opsional
Awalan direktori yang akan dihapus dari file yang diekstrak. |
tag |
String; opsional
tag di repositori jarak jauh ke checked out. Tepat satu dari cabang, tag, atau commit 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_strip, patch_tool, patches, recursive_init_submodules, remote, remote_module_file_integrity, remote_module_file_urls, shallow_since, sparse_checkout_file, sparse_checkout_patterns, 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 pengikatan. Tentukan juga ID commit yang sebenarnya di-checkout dan tanggalnya, lalu tampilkan dict dengan parameter yang menyediakan versi aturan ini yang dapat direproduksi (yang belum tentu merupakan tag).
Bazel akan mencoba terlebih dahulu melakukan pengambilan dangkal hanya untuk commit yang ditentukan. Jika gagal (biasanya karena dukungan server tidak ada), maka akan kembali ke pengambilan lengkap repositori.
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_archive
mendukung daftarurls
sebagai mirror, dangit_repository
hanya mendukung saturemote
.http_archive
berfungsi dengan cache repositori, tetapi tidak dengangit_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 dibuka. Tepat satu dari cabang, tag, atau commit 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 bisa (sesuatu seperti BUILD.new-repo-name mungkin berfungsi dengan baik untuk membedakannya dari file BUILD sebenarnya di repositori). |
build_file_content |
String; opsional
Konten untuk file BUILD untuk repositori ini. |
commit |
String; opsional
commit tertentu yang akan di-checkout. Tepat satu dari cabang, tag, atau commit harus ditentukan. |
init_submodules |
Boolean; opsional
Apakah akan meng-clone submodul di repositori. |
patch_args |
Daftar string; opsional
Argumen yang diberikan ke alat patch. Secara default adalah -p0 (lihat atribut `patch_strip`), tetapi -p1 biasanya diperlukan untuk patch yang dibuat oleh git. Jika beberapa argumen -p ditentukan, argumen terakhir akan berlaku.Jika argumen selain -p ditentukan, Bazel akan kembali menggunakan alat command line patch, bukan penerapan patch native Bazel. Saat melakukan penggantian 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 keberadaan biner Bash. |
patch_strip |
Bilangan bulat; opsional
Jika disetel ke `N`, ini setara dengan menyisipkan `-pN` ke awal `patch_args`. |
patch_tool |
String; opsional
Utilitas patch(1) yang akan digunakan. Jika ditentukan, Bazel akan menggunakan alat patch yang ditentukan, bukan implementasi patch bawaan Bazel. |
patches |
Daftar label; opsional
Daftar file yang akan diterapkan sebagai patch setelah mengekstrak arsip. Secara default, perintah ini menggunakan implementasi patch native Bazel yang tidak mendukung pencocokan fuzzy dan patch biner, tetapi Bazel akan melakukan fallback untuk menggunakan alat command line patch jika atribut `patch_tool` ditentukan atau ada argumen selain `-p` dalam atribut `patch_args`. |
recursive_init_submodules |
Boolean; opsional
Apakah akan meng-clone submodul secara rekursif di repositori. |
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. |
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. |
sparse_checkout_file |
Label; opsional
File yang berisi pola gaya .gitignore untuk checkout file yang jarang di repositori ini. `sparse_checkout_patterns` atau `sparse_checkout_file` dapat ditentukan, atau tidak keduanya, tetapi tidak keduanya. |
sparse_checkout_patterns |
Daftar string; opsional
Urutan pola untuk checkout jarang file di repositori ini. |
strip_prefix |
String; opsional
Awalan direktori yang akan dihapus dari file yang diekstrak. |
tag |
String; opsional
tag di repositori jarak jauh ke checked out. Tepat satu dari cabang, tag, atau commit harus ditentukan. |
verbose |
Boolean; opsional |
workspace_file |
Label; opsional
Atribut no-op; jangan gunakan. |
workspace_file_content |
String; opsional
Atribut no-op; jangan gunakan. |