menggunakan aturan repositori

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. Utilitas ini 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 ditujukan untuk digunakan dalam fungsi penerapan aturan repositori. Aturan ini mengasumsikan parameter remote_file_urls dan remote_file_integrity ada di ctx.attr.

File yang ada akan ditimpa.

Parameter

ctx yang diperlukan.

Konteks repositori dari aturan repositori yang memanggil fungsi utilitas ini.

auth opsional. default adalah None

Dict opsional yang menentukan informasi autentikasi untuk beberapa URL.

Hasil

dict yang memetakan jalur file ke info download.

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 yang diperlukan.

Konteks repositori dari aturan repositori yang memanggil fungsi utilitas ini.

urls yang diperlukan.

daftar URL yang akan dibaca

Hasil

dict 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.

Hal ini untuk menerapkan makro repositories.bzl yang aman yang didokumentasikan di https://bazel.build/rules/deploying#dependencies.

Parameter

repo_rule yang diperlukan.

fungsi aturan repositori.

name yang 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 yang diperlukan.

input untuk parser.

filename opsional. default adalah "a .netrc file"

nama file yang akan digunakan dalam pesan error, jika ada.

Hasil

dict yang memetakan nama mesin ke dict dengan informasi yang diberikan tentangnya

patch

load("@bazel//tools/build_defs/repo:utils.bzl", "patch")

patch(ctx, patches, patch_cmds, patch_cmds_win, patch_tool, patch_args, auth)

Penerapan patch pada repositori yang sudah diekstrak.

Aturan ini ditujukan untuk digunakan dalam fungsi penerapan 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 yang diperlukan.

Konteks repositori dari aturan repositori yang memanggil fungsi utilitas ini.

patches opsional. default adalah None

File patch yang akan diterapkan. Daftar string, Label, atau jalur.

patch_cmds opsional. default adalah None

Perintah Bash yang akan dijalankan untuk patch, diteruskan satu per satu ke bash -c. Daftar string

patch_cmds_win opsional. default adalah None

Perintah Powershell yang akan dijalankan untuk patch, diteruskan satu per satu ke powershell /c. Daftar string. Jika nilai boolean parameter ini salah (false), patch_cmds akan digunakan dan parameter ini akan diabaikan.

patch_tool opsional. default adalah None

Jalur alat patch yang akan dieksekusi untuk menerapkan patch. String.

patch_args opsional. default adalah None

Argumen yang akan diteruskan ke alat patch. Daftar string.

auth opsional. default adalah None

Dict opsional yang menentukan informasi autentikasi untuk beberapa URL.

Hasil

dict yang memetakan URL patch jarak jauh ke info download.

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 yang diperlukan.

Konteks repositori dari aturan repositori yang memanggil fungsi utilitas ini.

filename yang diperlukan.

nama file .netrc yang akan dibaca

Hasil

dict yang memetakan nama mesin ke dict dengan informasi yang diberikan tentangnya

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 yang diperlukan.

Konteks repositori dari aturan repositori yang memanggil fungsi utilitas ini.

Hasil

dict yang memetakan nama mesin ke dict dengan informasi yang diberikan tentangnya.

load("@bazel//tools/build_defs/repo:utils.bzl", "symlink_files")

symlink_files(ctx)

Fungsi utilitas untuk membuat symlink file lokal.

Fungsi ini ditujukan untuk digunakan dalam fungsi penerapan aturan repositori. Fungsi ini mengasumsikan parameter files ada di ctx.attr.

File yang ada akan ditimpa.

Parameter

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.

Fungsi ini digunakan untuk membuat aturan yang dapat direproduksi.

Parameter

orig yang diperlukan.

dict atribut yang sebenarnya ditetapkan (baik secara eksplisit maupun implisit) oleh pemanggilan aturan tertentu

keys yang diperlukan.

kumpulan lengkap atribut yang ditentukan pada aturan ini

override yang diperlukan.

dict atribut yang akan diganti atau ditambahkan ke orig

Hasil

dict atribut dengan kunci dari override yang disisipkan/diperbarui

use_netrc

load("@bazel//tools/build_defs/repo:utils.bzl", "use_netrc")

use_netrc(netrc, urls, patterns)

Menghitung dict autentikasi dari file netrc yang diurai dan daftar URL.

Parameter

netrc yang diperlukan.

file netrc yang sudah diurai ke dict, misalnya, seperti yang diperoleh dari read_netrc

urls yang diperlukan.

daftar URL.

patterns yang diperlukan.

dict opsional URL ke pola otorisasi

Hasil

dict yang sesuai 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

load("@bazel//tools/build_defs/repo:utils.bzl", "workspace_and_buildfile")

workspace_and_buildfile(ctx)

Fungsi utilitas untuk menulis file BUILD.

Aturan ini ditujukan untuk digunakan dalam fungsi penerapan aturan repositori. Aturan ini mengasumsikan parameter name, build_file, dan build_file_content ada di ctx.attr; dua parameter terakhir mungkin memiliki nilai None.

Parameter

ctx yang diperlukan.

Konteks repositori dari aturan repositori yang memanggil fungsi utilitas ini.