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 lainnya. Mereka dapat dimuat sebagai berikut.
load(
    "@bazel_tools//tools/build_defs/repo:utils.bzl",
    "workspace_and_buildfile",
    "patch",
    "update_attrs",
)
download_remote_files
download_remote_files(ctx, auth)
Fungsi utilitas untuk mendownload file jarak jauh.
Aturan ini dimaksudkan untuk digunakan dalam fungsi implementasi
aturan repositori. Tutorial ini mengasumsikan parameter remote_file_urls dan
remote_file_integrity akan ada di ctx.attr.
Parameter
ctx | 
tidak diperlukan.
 Konteks repositori aturan repositori yang memanggil utilitas ini .  | 
auth | 
opsional.
default-nya adalah None
Dikte opsional yang menentukan informasi autentikasi untuk beberapa URL.  | 
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 aturan repositori yang memanggil utilitas ini .  | 
urls | 
tidak diperlukan.
 daftar url untuk dibaca  | 
Hasil
perintah autentikasi yang dapat diteruskan ke repository_ctx.download
mungkin
maybe(repo_rule, name, kwargs)
Fungsi utilitas untuk hanya menambahkan repositori jika belum ada.
Ini untuk mengimplementasikan makro repositori.bzl yang aman yang didokumentasikan dalam https://bazel.build/rules/deploying#dependencies.
Parameter
repo_rule | 
tidak diperlukan.
 fungsi aturan repositori.  | 
name | 
tidak diperlukan.
 nama repositori yang akan dibuat.  | 
kwargs | 
opsional.
 argumen lainnya yang diteruskan ke fungsi {i>repo_rule<i}.  | 
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 {i>error<i}, jika ada.  | 
Hasil
memetakan nama mesin ke sebuah {i>dict<i} dengan informasi yang diberikan tentang mereka
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 parameternya patches, patch_tool,
patch_args, patch_cmds, dan patch_cmds_win tidak ditentukan
lalu kunci tersebut akan diambil dari ctx.attr.
Parameter
ctx | 
tidak diperlukan.
 Konteks repositori aturan repositori yang memanggil utilitas ini .  | 
patches | 
opsional.
default-nya adalah None
File patch yang akan diterapkan. Daftar string, Label, atau jalur.  | 
patch_cmds | 
opsional.
default-nya adalah None
Perintah Bash untuk dijalankan patching, diteruskan satu per satu waktu untuk memusnahkan -c. Daftar string  | 
patch_cmds_win | 
opsional.
default-nya adalah None
Perintah Powershell yang dijalankan untuk patching, diteruskan satu per satu ke PowerShell /c. Daftar string. Jika Nilai boolean parameter ini adalah false, patch_cmds akan menjadi digunakan dan parameter ini akan diabaikan.  | 
patch_tool | 
opsional.
default-nya adalah None
Jalur alat patch yang akan dieksekusi untuk penerapan patching. String.  | 
patch_args | 
opsional.
default-nya adalah None
Argumen yang akan diteruskan ke alat patch. Daftar string.  | 
auth | 
opsional.
default-nya adalah None
Dikte 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 aturan repositori yang memanggil utilitas ini .  | 
filename | 
tidak diperlukan.
 nama file .netrc yang akan dibaca  | 
Hasil
memetakan nama mesin ke sebuah {i>dict<i} dengan informasi yang diberikan tentang mereka
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 yang dapat direproduksi.
Parameter
orig | 
tidak diperlukan.
 terjemahan atribut yang sebenarnya ditetapkan (baik secara eksplisit maupun implisit) dengan pemanggilan aturan tertentu  | 
keys | 
tidak diperlukan.
 kumpulan atribut lengkap yang ditentukan dalam aturan ini  | 
override | 
tidak diperlukan.
 terjemahan atribut yang akan diganti atau ditambahkan ke asal  | 
Hasil
terjemahan atribut dengan kunci dari penggantian yang disisipkan/diperbarui
use_netrc
use_netrc(netrc, urls, patterns)
Hitung auth dict dari file netrc yang diuraikan dan daftar URL.
Parameter
netrc | 
tidak diperlukan.
 file netrc yang sudah diuraikan menjadi dict, misalnya, yang diperoleh dari read_netrc  | 
urls | 
tidak diperlukan.
 daftar URL.  | 
patterns | 
tidak diperlukan.
 dict opsional url untuk pola otorisasi  | 
Hasil
dict cocok sebagai argumen auth untuk ctx.download; lebih tepatnya, dikte akan memetakan semua URL tempat file {i>netrc<i} memberikan {i>login<i} dan {i>password<i} ke yang berisi info login, sandi, dan pola otorisasi opsional terkait, serta pemetaan "{i>type<i}" ke "dasar" atau "pola".
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.
Tutorial ini mengasumsikan parameter name, build_file, build_file_content,
workspace_file, dan workspace_file_content menjadi
ada di ctx.attr; empat yang terakhir mungkin 
dengan nilai {i>None<i}.
Parameter
ctx | 
tidak diperlukan.
 Konteks repositori aturan repositori yang memanggil utilitas ini .  |