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
load("@bazel//tools/build_defs/repo:utils.bzl", "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
load("@bazel//tools/build_defs/repo:utils.bzl", "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
load("@bazel//tools/build_defs/repo:utils.bzl", "maybe")
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
load("@bazel//tools/build_defs/repo:utils.bzl", "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
load("@bazel//tools/build_defs/repo:utils.bzl", "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
load("@bazel//tools/build_defs/repo:utils.bzl", "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
load("@bazel//tools/build_defs/repo:utils.bzl", "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
load("@bazel//tools/build_defs/repo:utils.bzl", "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
load("@bazel//tools/build_defs/repo:utils.bzl", "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
load("@bazel//tools/build_defs/repo:utils.bzl", "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 . |