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 membuat targetnya tersedia untuk binding. Tentukan juga ID commit yang sebenarnya di-check out dan tanggalnya, serta menampilkan dict dengan parameter yang menyediakan versi aturan ini yang dapat direproduksi (yang belum tentu merupakan ).
Bazel akan mencoba melakukan pengambilan dangkal hanya untuk commit yang ditentukan terlebih dahulu. Jika proses itu gagal (biasanya karena tidak adanya dukungan server), server 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 di-build ke dalam Bazel dan tidak memiliki dependensi sistem. http_archive
mendukung daftarurls
sebagai duplikat, dangit_repository
hanya mendukung saturemote
.http_archive
berfungsi dengan cache repositori, tetapi tidakgit_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. Hanya 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 ini tidak perlu diberi nama BUILD, tetapi bisa berupa nama (seperti BUILD.new-repo-name) mungkin cocok untuk membedakannya dari file BUILD repositori yang sebenarnya. |
build_file_content |
String; opsional
Konten untuk file BUILD untuk repositori ini. |
commit |
String; opsional
commit tertentu yang akan diperiksa. Hanya satu dari cabang, tag, atau commit yang harus ditentukan. |
init_submodules |
Boolean; opsional
Apakah akan meng-clone submodul dalam repositori. |
patch_args |
Daftar string; opsional
Argumen yang diberikan pada alat patch. Setelan defaultnya adalah -p0, tetapi -p1 biasanya akan diperlukan untuk patch yang dihasilkan oleh git. Jika beberapa argumen -p ditentukan, maka argumen yang terakhir akan diterapkan.Jika argumen selain -p ditentukan, Bazel akan kembali menggunakan alat baris perintah patch alih-alih implementasi patch bawaan 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 {i>string<i}; opsional
Urutan perintah Powershell yang akan diterapkan di Windows setelah patch diterapkan. Jika atribut ini tidak disetel, patch_cmds akan dieksekusi di Windows, yang mengharuskan keberadaan biner Bash. |
patch_tool |
String; opsional
Utilitas patch(1) yang akan digunakan. Jika 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, ia menggunakan implementasi patch asli Bazel yang tidak mendukung pencocokan fuzz dan patch biner, tetapi Bazel akan kembali 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 dalam repositori. |
remote |
String; wajib
URI repositori Git jarak jauh |
repo_mapping |
Kamus: String -> String; wajib
Kamus dari nama repositori lokal ke nama repositori global. Hal ini memungkinkan kontrol atas resolusi dependensi Workspace untuk dependensi repositori ini. Misalnya, entri `"@foo": "@bar"` mendeklarasikan bahwa, setiap kali repositori ini bergantung pada `@foo` (seperti dependensi pada `@foo//some:target`, repositori ini harus benar-benar me-resolve dependensi tersebut dalam `@bar` yang dideklarasikan secara global (`@bar//some:target`). |
shallow_since |
String; opsional
tanggal opsional, bukan setelah commit yang ditentukan; argumen tidak diizinkan jika tag atau cabang ditentukan (yang selalu dapat di-clone dengan --depth=1). Menetapkan tanggal tersebut mendekati commit yang ditentukan dapat memungkinkan cloning repositori dangkal 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. Hanya satu dari cabang, tag, atau commit yang 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 membuat targetnya tersedia untuk binding. Tentukan juga ID commit yang sebenarnya di-check out dan tanggalnya, serta menampilkan dict dengan parameter yang menyediakan versi aturan ini yang dapat direproduksi (yang belum tentu merupakan ).
Pertama-tama, Bazel akan 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 suka http_archive
daripada git_repository
.
Alasannya adalah:
- Aturan repositori Git bergantung pada
git(1)
sistem, sedangkan downloader HTTP di-build 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 tidakgit_repository
. Lihat #5116 untuk mengetahui informasi selengkapnya.
Atribut
name |
Nama; wajib diisi
Nama unik untuk repositori ini. |
branch |
String; opsional
cabang di repositori jarak jauh yang akan diperiksa. Salah satu 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 ini tidak perlu diberi nama BUILD, tetapi bisa berupa nama (seperti BUILD.new-repo-name) mungkin cocok untuk membedakannya dari file BUILD repositori yang sebenarnya. |
build_file_content |
String; opsional
Konten untuk file BUILD untuk repositori ini. |
commit |
String; opsional
commit tertentu yang akan diperiksa. Hanya satu dari cabang, tag, atau commit yang harus ditentukan. |
init_submodules |
Boolean; opsional
Apakah akan meng-clone submodul dalam repositori. |
patch_args |
Daftar string; opsional
Argumen yang diberikan pada alat patch. Setelan defaultnya adalah -p0, tetapi -p1 biasanya akan diperlukan untuk patch yang dihasilkan oleh git. Jika beberapa argumen -p ditentukan, maka argumen yang terakhir akan diterapkan.Jika argumen selain -p ditentukan, Bazel akan kembali menggunakan alat baris perintah patch alih-alih implementasi patch bawaan 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 {i>string<i}; opsional
Urutan perintah Powershell yang akan diterapkan di Windows setelah patch diterapkan. Jika atribut ini tidak disetel, patch_cmds akan dieksekusi di Windows, yang mengharuskan keberadaan biner Bash. |
patch_tool |
String; opsional
Utilitas patch(1) yang akan digunakan. Jika hal ini ditetapkan, Bazel akan menggunakan alat patch yang ditentukan, bukan implementasi patch asli Bazel. |
patches |
Daftar label; opsional
Daftar file yang akan diterapkan sebagai patch setelah mengekstrak arsip. Secara default, ia menggunakan implementasi patch asli Bazel yang tidak mendukung pencocokan fuzz dan patch biner, tetapi Bazel akan kembali 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 dalam repositori. |
remote |
String; wajib
URI repositori Git jarak jauh |
repo_mapping |
Kamus: String -> String; wajib diisi
Kamus dari nama repositori lokal ke nama repositori global. Hal ini memungkinkan kontrol atas resolusi dependensi ruang kerja untuk dependensi repositori ini. Misalnya, entri `"@foo": "@bar"` mendeklarasikan bahwa, setiap kali repositori ini bergantung pada `@foo` (seperti dependensi pada `@foo//some:target`, repositori ini harus benar-benar me-resolve dependensi tersebut dalam `@bar` yang dideklarasikan secara global (`@bar//some:target`). |
shallow_since |
String; opsional
tanggal opsional, bukan setelah commit yang ditentukan; argumen tidak diizinkan jika tag atau cabang ditentukan (yang selalu dapat di-clone dengan --depth=1). Menetapkan tanggal tersebut mendekati commit yang ditentukan dapat memungkinkan cloning repositori dangkal 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. Hanya satu dari cabang, tag, atau commit yang 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. |