Fungsi berikut dapat dimuat dari @bazel_tools//tools/build_defs/repo:utils.bzl.
Utilitas untuk memanipulasi repositori eksternal, setelah diambil.
Penyiapan
Utilitas ini ditujukan untuk digunakan oleh aturan repositori lainnya. Utilitas ini dapat dimuat sebagai berikut.
load(
"@bazel_tools//tools/build_defs/repo:utils.bzl",
"workspace_and_buildfile",
"patch",
"update_attrs",
)
mungkin
maybe(repo_rule, name, kwargs)
Fungsi utilitas untuk hanya menambahkan repositori jika belum ada.
Hal ini untuk menerapkan makro repositories.bzl yang didokumentasikan di https://bazel.build/rules/deploying#dependencies.
Parameter
repo_rule |
yang diperlukan.
fungsi aturan repositori. |
name |
yang diperlukan.
nama repositori yang akan dibuat. |
kwargs |
opsional.
argumen yang tersisa yang diteruskan ke fungsi repo_rule. |
Hasil
Tidak ada, menentukan repositori jika diperlukan sebagai efek samping.
parse_netrc
parse_netrc(contents, filename)
Fungsi utilitas untuk mengurai setidaknya file .netrc dasar.
Parameter
contents |
yang diperlukan.
input untuk parser. |
filename |
opsional. default adalah None
nama file yang akan digunakan dalam pesan error, jika ada. |
Hasil
dict yang memetakan nama mesin ke dict dengan informasi yang diberikan tentangnya
patch
patch(ctx, patches, patch_cmds, patch_cmds_win, patch_tool, patch_args, auth)
Implementasi penerapan patch pada repositori yang sudah diekstrak.
Aturan ini ditujukan untuk digunakan dalam fungsi implementasi aturan repositori. Jika parameter patches, patch_tool,
patch_args, patch_cmds, dan patch_cmds_win tidak ditentukan
, parameter tersebut akan diambil dari ctx.attr.
Parameter
ctx |
yang diperlukan.
Konteks repositori dari aturan repositori yang memanggil fungsi utilitas ini. |
patches |
opsional. default adalah None
File patch yang akan diterapkan. Daftar string, Label, atau jalur. |
patch_cmds |
opsional. default adalah None
Perintah Bash yang akan dijalankan untuk penerapan patch, diteruskan satu per satu ke bash -c. Daftar string |
patch_cmds_win |
opsional. default adalah None
Perintah Powershell yang akan dijalankan untuk penerapan patch, diteruskan satu per satu ke powershell /c. Daftar string. Jika nilai boolean parameter ini salah (false), patch_cmds akan digunakan dan parameter ini akan diabaikan. |
patch_tool |
opsional. default adalah None
Jalur alat patch yang akan dieksekusi untuk menerapkan patch. String. |
patch_args |
opsional. default adalah None
Argumen yang akan diteruskan ke alat patch. Daftar string. |
auth |
opsional. default adalah None
Dict opsional yang menentukan informasi autentikasi untuk beberapa URL. |
read_netrc
read_netrc(ctx, filename)
Fungsi utilitas untuk mengurai setidaknya file .netrc dasar.
Parameter
ctx |
yang diperlukan.
Konteks repositori dari aturan repositori yang memanggil fungsi utilitas ini. |
filename |
yang diperlukan.
nama file .netrc yang akan dibaca |
Hasil
dict yang memetakan nama mesin ke dict dengan informasi yang diberikan tentangnya
read_user_netrc
read_user_netrc(ctx)
Membaca file netrc default pengguna.
Parameter
ctx |
yang diperlukan.
Konteks repositori dari aturan repositori yang memanggil fungsi utilitas ini. |
Hasil
dict yang memetakan nama mesin ke dict dengan informasi yang diberikan tentangnya.
update_attrs
update_attrs(orig, keys, override)
Fungsi utilitas untuk mengubah dan menambahkan atribut yang ditentukan ke pemanggilan aturan repositori tertentu.
Fungsi ini digunakan untuk membuat aturan yang dapat direproduksi.
Parameter
orig |
yang diperlukan.
dict atribut yang sebenarnya ditetapkan (baik secara eksplisit maupun implisit) oleh pemanggilan aturan tertentu |
keys |
yang diperlukan.
kumpulan lengkap atribut yang ditentukan dalam aturan ini |
override |
yang diperlukan.
dict atribut yang akan diganti atau ditambahkan ke orig |
Hasil
dict atribut dengan kunci dari penggantian yang disisipkan/diperbarui
use_netrc
use_netrc(netrc, urls, patterns)
Menghitung dict autentikasi dari file netrc yang diurai dan daftar URL.
Parameter
netrc |
yang diperlukan.
file netrc yang sudah diurai ke dict, misalnya, seperti yang diperoleh dari read_netrc |
urls |
yang diperlukan.
daftar URL. |
patterns |
yang diperlukan.
dict opsional URL ke pola otorisasi |
Hasil
dict yang sesuai sebagai argumen autentikasi untuk ctx.download; lebih tepatnya, dict akan memetakan semua URL tempat file netrc menyediakan login dan sandi ke dict yang berisi login, sandi, dan pola otorisasi opsional yang sesuai, serta pemetaan "type" ke "basic" atau "pattern".
workspace_and_buildfile
workspace_and_buildfile(ctx)
Fungsi utilitas untuk menulis WORKSPACE dan, jika diminta, file BUILD.
Aturan ini ditujukan untuk digunakan dalam fungsi implementasi aturan repositori.
Aturan ini mengasumsikan parameter name, build_file, build_file_content,
workspace_file, dan workspace_file_content ada di ctx.attr; empat parameter terakhir mungkin memiliki nilai None.
Parameter
ctx |
yang diperlukan.
Konteks repositori dari aturan repositori yang memanggil fungsi utilitas ini. |