menggunakan aturan repositori

Laporkan masalah Lihat sumber Nightly · 8.3 · 8.2 · 8.1 · 8.0 · 7.6

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.