Fungsi berikut dapat dimuat dari @bazel_tools//tools/build_defs/repo:git.bzl
.
Aturan untuk meng-clone repositori git eksternal.
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, repo_mapping, shallow_since, strip_prefix, tag, verbose, workspace_file, workspace_file_content)
Clone repositori git eksternal.
Meng-clone repositori Git, memeriksa tag yang ditentukan, atau melakukan commit, dan menyediakan targetnya untuk di-binding. Selain itu, tentukan ID commit yang benar-benar diperiksa dan tanggalnya, serta tampilkan dikte dengan parameter yang memberikan versi aturan yang dapat direproduksi dari aturan ini (yang belum tentu merupakan tag).
Pertama-tama, Bazel akan mencoba melakukan pengambilan dangkal hanya untuk commit yang ditentukan. Jika gagal (biasanya karena tidak ada dukungan server), proses akan kembali ke pengambilan repositori sepenuhnya.
Pilih http_archive
ke git_repository
.
Alasannya adalah:
- Aturan repositori Git bergantung pada
git(1)
sistem, sedangkan downloader HTTP terintegrasi ke Bazel dan tidak memiliki dependensi sistem. http_archive
mendukung daftarurls
sebagai cermin, dangit_repository
hanya mendukung saturemote
.http_archive
berfungsi dengan cache repositori, tetapi tidakgit_repository
. Lihat #5116 untuk informasi selengkapnya.
Atribut
name |
Nama; wajib diisi
Nama unik untuk repositori ini. |
branch |
String; opsional
cabang di repositori jarak jauh untuk melakukan {i>check out<i}. Tepatnya salah 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 repositori utama). File tidak perlu diberi nama BUILD, tetapi bisa juga (seperti BUILD.new-repo-name mungkin berfungsi dengan baik untuk membedakannya dari file BUILD repositori yang sebenarnya. |
build_file_content |
String; opsional
Konten untuk file BUILD untuk repositori ini. |
commit |
String; opsional
{i>commit<i} tertentu yang perlu diperiksa. Tepatnya salah 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. Defaultnya adalah -p0, namun -p1 biasanya akan diperlukan untuk patch yang dihasilkan 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. Saat fallback 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 dijalankan di Windows, yang mengharuskan biner Bash ada. |
patch_tool |
String; opsional
Utilitas patch(1) yang akan digunakan. Jika ditentukan, Bazel akan menggunakan patch tool yang ditentukan, bukan implementasi patch native Bazel. |
patches |
Daftar label; opsional
Daftar file yang akan diterapkan sebagai patch setelah mengekstrak arsip. Secara default, implementasi patch berbasis Bazel tidak mendukung pencocokan fuzz dan patch biner, tetapi Bazel akan kembali menggunakan alat command line patch jika atribut `patch_tool` ditentukan atau terdapat argumen selain `-p` dalam atribut `patch_args`. |
recursive_init_submodules |
Boolean; opsional
Apakah meng-clone submodul secara rekursif di repositori. |
remote |
String; wajib diisi
URI repositori Git jarak jauh |
repo_mapping |
Kamus: String -> String; wajib diisi
Kamus dari nama repositori lokal hingga nama repositori global. Hal ini memungkinkan kontrol atas penyelesaian dependensi Workspace untuk dependensi repositori ini. Misalnya, entri `"@foo": "@bar"` mendeklarasikan bahwa, kapan pun repositori ini bergantung pada `@foo` (seperti dependensi pada `@foo//some:target`, repositori ini sebenarnya akan menyelesaikan dependensi tersebut dalam `@bar` yang dideklarasikan secara global (`@bar//some:target`). |
shallow_since |
String; opsional
tanggal opsional, bukan setelah commit yang ditentukan; argumen tidak diperbolehkan jika tag atau cabang ditentukan (yang selalu bisa di-clone dengan --depth=1). Menetapkan tanggal yang dekat dengan commit yang ditentukan dapat memungkinkan clone repositori yang dangkal meskipun server tidak mendukung pengambilan commit arbitrer yang dangkal. Karena bug dalam implementasi --shallow-from git, penggunaan atribut ini tidak direkomendasikan karena dapat mengakibatkan kegagalan pengambilan. |
strip_prefix |
String; opsional
Awalan direktori yang akan dihapus dari file yang diekstrak. |
tag |
String; opsional
di repositori jarak jauh untuk diperiksa. Tepatnya salah satu dari cabang, tag, atau commit harus ditentukan. |
verbose |
Boolean; opsional |
workspace_file |
Label; opsional
File yang akan digunakan sebagai file `WORKSPACE` untuk repositori ini. `workspace_file` atau `workspace_file_content` dapat ditentukan, atau tidak keduanya, tetapi tidak keduanya. |
workspace_file_content |
String; opsional
Konten untuk file WORKSPACE untuk repositori ini. `workspace_file` atau `workspace_file_content` dapat ditentukan, atau tidak keduanya, tetapi tidak keduanya. |
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, repo_mapping, shallow_since, strip_prefix, tag, verbose, workspace_file, workspace_file_content)
Clone repositori git eksternal.
Meng-clone repositori Git, memeriksa tag yang ditentukan, atau melakukan commit, dan menyediakan targetnya untuk di-binding. Selain itu, tentukan ID commit yang benar-benar diperiksa dan tanggalnya, serta tampilkan dikte dengan parameter yang memberikan versi aturan yang dapat direproduksi dari aturan ini (yang belum tentu merupakan tag).
Pertama-tama, Bazel akan mencoba melakukan pengambilan dangkal hanya untuk commit yang ditentukan. Jika gagal (biasanya karena tidak ada dukungan server), proses akan kembali ke pengambilan repositori sepenuhnya.
Pilih http_archive
ke git_repository
.
Alasannya adalah:
- Aturan repositori Git bergantung pada
git(1)
sistem, sedangkan downloader HTTP terintegrasi ke Bazel dan tidak memiliki dependensi sistem. http_archive
mendukung daftarurls
sebagai cermin, dangit_repository
hanya mendukung saturemote
.http_archive
berfungsi dengan cache repositori, tetapi tidakgit_repository
. Lihat #5116 untuk informasi selengkapnya.
Atribut
name |
Nama; wajib diisi
Nama unik untuk repositori ini. |
branch |
String; opsional
cabang di repositori jarak jauh untuk melakukan {i>check out<i}. Tepatnya salah 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 repositori utama). File tidak perlu diberi nama BUILD, tetapi bisa juga (seperti BUILD.new-repo-name mungkin berfungsi dengan baik untuk membedakannya dari file BUILD repositori yang sebenarnya. |
build_file_content |
String; opsional
Konten untuk file BUILD untuk repositori ini. |
commit |
String; opsional
{i>commit<i} tertentu yang perlu diperiksa. Tepatnya salah 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. Defaultnya adalah -p0, namun -p1 biasanya akan diperlukan untuk patch yang dihasilkan 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. Saat fallback 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 dijalankan di Windows, yang mengharuskan biner Bash ada. |
patch_tool |
String; opsional
Utilitas patch(1) yang akan digunakan. Jika ditentukan, Bazel akan menggunakan patch tool yang ditentukan, bukan implementasi patch native Bazel. |
patches |
Daftar label; opsional
Daftar file yang akan diterapkan sebagai patch setelah mengekstrak arsip. Secara default, implementasi patch berbasis Bazel tidak mendukung pencocokan fuzz dan patch biner, tetapi Bazel akan kembali menggunakan alat command line patch jika atribut `patch_tool` ditentukan atau terdapat argumen selain `-p` dalam atribut `patch_args`. |
recursive_init_submodules |
Boolean; opsional
Apakah meng-clone submodul secara rekursif di repositori. |
remote |
String; wajib diisi
URI repositori Git jarak jauh |
repo_mapping |
Kamus: String -> String; wajib diisi
Kamus dari nama repositori lokal hingga nama repositori global. Hal ini memungkinkan kontrol atas penyelesaian dependensi Workspace untuk dependensi repositori ini. Misalnya, entri `"@foo": "@bar"` mendeklarasikan bahwa, kapan pun repositori ini bergantung pada `@foo` (seperti dependensi pada `@foo//some:target`, repositori ini sebenarnya akan menyelesaikan dependensi tersebut dalam `@bar` yang dideklarasikan secara global (`@bar//some:target`). |
shallow_since |
String; opsional
tanggal opsional, bukan setelah commit yang ditentukan; argumen tidak diperbolehkan jika tag atau cabang ditentukan (yang selalu bisa di-clone dengan --depth=1). Menetapkan tanggal yang dekat dengan commit yang ditentukan dapat memungkinkan clone repositori yang dangkal meskipun server tidak mendukung pengambilan commit arbitrer yang dangkal. Karena bug dalam implementasi --shallow-from git, penggunaan atribut ini tidak direkomendasikan karena dapat mengakibatkan kegagalan pengambilan. |
strip_prefix |
String; opsional
Awalan direktori yang akan dihapus dari file yang diekstrak. |
tag |
String; opsional
di repositori jarak jauh untuk diperiksa. Tepatnya salah satu dari cabang, tag, atau commit harus ditentukan. |
verbose |
Boolean; opsional |
workspace_file |
Label; opsional
File yang akan digunakan sebagai file `WORKSPACE` untuk repositori ini. `workspace_file` atau `workspace_file_content` dapat ditentukan, atau tidak keduanya, tetapi tidak keduanya. |
workspace_file_content |
String; opsional
Konten untuk file WORKSPACE untuk repositori ini. `workspace_file` atau `workspace_file_content` dapat ditentukan, atau tidak keduanya, tetapi tidak keduanya. |