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. File tersebut 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 penerapan
aturan repositori. Composable ini mengasumsikan parameter remote_file_urls
dan
remote_file_integrity
ada di ctx.attr
.
Parameter
ctx |
tidak diperlukan.
Konteks repositori dari aturan repositori yang memanggil fungsi utilitas ini. |
auth |
opsional.
defaultnya adalah None
Dict 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 dict autentikasi yang benar untuk daftar URL dari file .netrc.
Mendukung 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 auth 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 menambahkan repositori hanya jika belum ada.
Hal ini untuk menerapkan makro safe_repositories.bzl yang didokumentasikan di 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 yang tersisa yang diteruskan ke fungsi repo_rule. |
Hasil
Tidak ada, menentukan repositori jika 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 file .netrc dasar.
Parameter
contents |
tidak diperlukan.
input untuk parser. |
filename |
opsional.
defaultnya adalah "a .netrc file"
nama file yang akan digunakan dalam pesan error, jika ada. |
Hasil
dict yang memetakan nama komputer ke dict dengan informasi yang diberikan tentang komputer tersebut
patch
load("@bazel//tools/build_defs/repo:utils.bzl", "patch") patch(ctx, patches, patch_cmds, patch_cmds_win, patch_tool, patch_args, auth)
Penerapan patching repositori yang sudah diekstrak.
Aturan ini dimaksudkan untuk digunakan dalam fungsi penerapan
aturan repositori. Jika parameter patches
, patch_tool
,
patch_args
, patch_cmds
, dan patch_cmds_win
tidak ditentukan,
maka parameter tersebut diambil dari ctx.attr
.
Parameter
ctx |
tidak diperlukan.
Konteks repositori dari aturan repositori yang memanggil fungsi utilitas ini. |
patches |
opsional.
defaultnya adalah None
File patch yang akan diterapkan. Daftar string, Label, atau jalur. |
patch_cmds |
opsional.
defaultnya adalah None
Perintah Bash yang akan dijalankan untuk patching, diteruskan satu per satu ke bash -c. Daftar string |
patch_cmds_win |
opsional.
defaultnya adalah None
Perintah PowerShell untuk dijalankan dalam patching, diteruskan satu per satu ke powershell /c. Daftar string. Jika nilai boolean parameter ini adalah salah (false), patch_cmds akan digunakan dan parameter ini akan diabaikan. |
patch_tool |
opsional.
defaultnya adalah None
Jalur alat patch yang akan dijalankan untuk menerapkan patch. String. |
patch_args |
opsional.
defaultnya adalah None
Argumen yang akan diteruskan ke alat patch. Daftar string. |
auth |
opsional.
defaultnya adalah None
Dict 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 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 komputer ke dict dengan informasi yang diberikan tentang komputer tersebut
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
dict yang memetakan nama mesin ke dict dengan informasi yang diberikan tentang mesin tersebut.
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.
Hal ini digunakan untuk membuat aturan dapat direproduksi.
Parameter
orig |
tidak diperlukan.
dict atribut yang sebenarnya 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
load("@bazel//tools/build_defs/repo:utils.bzl", "use_netrc") use_netrc(netrc, urls, patterns)
Menghitung dict auth dari file netrc yang diuraikan dan daftar URL.
Parameter
netrc |
tidak diperlukan.
file netrc yang sudah diuraikan ke dict, misalnya, seperti yang diperoleh dari read_netrc |
urls |
tidak diperlukan.
daftar URL. |
patterns |
tidak diperlukan.
dict opsional dari URL ke pola otorisasi |
Hasil
dict yang cocok sebagai argumen auth untuk ctx.download; lebih tepatnya, dict akan memetakan semua URL tempat file netrc memberikan 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
load("@bazel//tools/build_defs/repo:utils.bzl", "workspace_and_buildfile") workspace_and_buildfile(ctx)
Fungsi utilitas untuk menulis file BUILD.
Aturan ini dimaksudkan untuk digunakan dalam fungsi penerapan aturan
repositori.
Composable ini mengasumsikan parameter name
, build_file
, dan build_file_content
ada di ctx.attr
; dua parameter terakhir mungkin memiliki nilai None.
Parameter
ctx |
tidak diperlukan.
Konteks repositori dari aturan repositori yang memanggil fungsi utilitas ini. |