Fungsi berikut dapat dimuat dari
@bazel_tools//tools/build_defs/repo:utils.bzl
.
Utilitas untuk memanipulasi repositori eksternal, setelah diambil.
Penyiapan
Utilitas ini dimaksudkan untuk digunakan oleh aturan repositori lain. File tersebut dapat dimuat sebagai berikut.
load(
"@bazel_tools//tools/build_defs/repo:utils.bzl",
"workspace_and_buildfile",
"patch",
"update_attrs",
)
get_auth
get_auth(ctx, urls)
Fungsi utilitas untuk mendapatkan kredensial autentikasi yang benar untuk daftar URL dari file .netrc.
Dukung atribut netrc dan auth_patterns opsional jika tersedia.
Parameter
ctx |
tidak diperlukan.
Konteks repositori dari aturan repositori yang memanggil fungsi utilitas ini. |
urls |
tidak diperlukan.
daftar URL yang akan dibaca |
Hasil
kamus autentikasi yang dapat diteruskan ke repository_ctx.download
mungkin
maybe(repo_rule, name, kwargs)
Fungsi utilitas untuk hanya menambahkan repositori jika belum ada.
Langkah ini dilakukan untuk mengimplementasikan makro repository.bzl yang aman yang didokumentasikan di https://bazel.build/rules/deploying#Dependency.
Parameter
repo_rule |
tidak diperlukan.
fungsi aturan repositori. |
name |
tidak diperlukan.
nama repositori yang akan dibuat. |
kwargs |
opsional.
argumen yang tersisa yang diteruskan ke fungsi repo_rule. |
Hasil
Tidak ada, menentukan repositori saat diperlukan sebagai efek samping.
parse_netrc
parse_netrc(contents, filename)
Fungsi utilitas untuk mengurai setidaknya satu file .netrc dasar.
Parameter
contents |
tidak diperlukan.
input untuk parser. |
filename |
opsional.
default-nya adalah None
nama file yang akan digunakan dalam pesan error, jika ada. |
Hasil
dict yang memetakan nama mesin ke dict dengan informasi yang diberikan tentang nama tersebut
patch
patch(ctx, patches, patch_cmds, patch_cmds_win, patch_tool, patch_args, auth)
Implementasi patching repositori yang sudah diekstrak.
Aturan ini dimaksudkan 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 |
tidak diperlukan.
Konteks repositori dari aturan repositori yang memanggil fungsi utilitas ini. |
patches |
opsional.
Nilai defaultnya adalah None
File patch yang akan diterapkan. Daftar string, Label, atau jalur. |
patch_cmds |
opsional.
default-nya adalah None
Perintah bash yang akan dijalankan untuk melakukan patching, diteruskan satu per satu ke bash -c. Daftar string |
patch_cmds_win |
opsional.
default-nya adalah None
Perintah PowerShell yang akan dijalankan untuk melakukan patching, diteruskan satu per satu ke powershell /c. Daftar string. Jika nilai boolean parameter ini salah, patch_cmds akan digunakan dan parameter ini akan diabaikan. |
patch_tool |
opsional.
default-nya adalah None
Jalur alat patch yang akan dijalankan untuk menerapkan patch. String. |
patch_args |
opsional.
default-nya adalah None
Argumen yang akan diteruskan ke alat patch. Daftar string. |
auth |
opsional.
default-nya adalah None
Dict opsional yang menentukan informasi autentikasi untuk beberapa URL. |
read_netrc
read_netrc(ctx, filename)
Fungsi utilitas untuk mengurai setidaknya satu file .netrc dasar.
Parameter
ctx |
tidak diperlukan.
Konteks repositori dari aturan repositori yang memanggil fungsi utilitas ini. |
filename |
tidak diperlukan.
nama file .netrc yang akan dibaca |
Hasil
dict yang memetakan nama mesin ke dict dengan informasi yang diberikan tentang nama tersebut
read_user_netrc
read_user_netrc(ctx)
Membaca file netrc default pengguna.
Parameter
ctx |
tidak diperlukan.
Konteks repositori dari aturan repositori yang memanggil fungsi utilitas ini. |
Hasil
memetakan nama mesin ke {i>dict<i} dengan informasi yang disediakan tentangnya.
update_attrs
update_attrs(orig, keys, override)
Fungsi utilitas untuk mengubah dan menambahkan atribut yang ditentukan ke pemanggilan aturan repositori tertentu.
Ini digunakan untuk membuat aturan dapat direproduksi.
Parameter
orig |
tidak diperlukan.
dict dari atribut yang benar-benar ditetapkan (baik secara eksplisit maupun implisit) oleh pemanggilan aturan tertentu |
keys |
tidak diperlukan.
kumpulan lengkap atribut yang ditentukan pada aturan ini |
override |
tidak diperlukan.
dict atribut untuk mengganti atau menambahkan ke orig |
Hasil
dict atribut dengan kunci dari penggantian yang disisipkan/diperbarui
use_netrc
use_netrc(netrc, urls, patterns)
Menghitung kamus autentikasi dari file netrc yang diuraikan dan daftar URL.
Parameter
netrc |
tidak diperlukan.
file netrc yang sudah diuraikan ke kamus, misalnya, seperti yang diperoleh dari read_netrc |
urls |
tidak diperlukan.
daftar URL. |
patterns |
tidak diperlukan.
kamus opsional dari URL ke pola otorisasi |
Hasil
dict yang cocok 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 dimaksudkan untuk digunakan dalam fungsi implementasi aturan repositori.
Fungsi ini mengasumsikan parameter name
, build_file
, build_file_content
,
workspace_file
, dan workspace_file_content
ada di ctx.attr
; empat parameter terakhir mungkin dengan nilai None.
Parameter
ctx |
tidak diperlukan.
Konteks repositori dari aturan repositori yang memanggil fungsi utilitas ini. |