menggunakan aturan repositori

Laporkan masalah Lihat sumber

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. Tabel tersebut dapat dimuat sebagai berikut.

load(
    "@bazel_tools//tools/build_defs/repo:utils.bzl",
    "workspace_and_buildfile",
    "patch",
    "update_attrs",
)

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 dari aturan repositori yang memanggil fungsi utilitas ini.

urls tidak diperlukan.

daftar url untuk dibaca

Hasil

perintah auth yang dapat diteruskan ke repository_ctx.download

mungkin

maybe(repo_rule, name, kwargs)

Fungsi utilitas untuk hanya menambahkan repositori jika belum ada.

Langkah ini dilakukan untuk mengimplementasikan makro repository.bzl yang aman yang didokumentasikan di https://bazel.build/rules/deploying#Dependency.

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. Nilai defaultnya adalah None

nama file yang akan digunakan dalam pesan {i>error<i}, jika ada.

Hasil

dict memetakan nama mesin ke dict dengan informasi yang disediakan tentangnya

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 parameter patches, patch_tool, patch_args, patch_cmds, dan patch_cmds_win tidak ditentukan, parameter tersebut akan diambil dari ctx.attr.

Parameter

ctx tidak diperlukan.

Konteks repositori dari aturan repositori yang memanggil fungsi utilitas ini.

patches opsional. Nilai defaultnya adalah None

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

patch_cmds opsional. Nilai defaultnya adalah None

Perintah Bash untuk dijalankan patching, diteruskan satu per satu ke bash -c. Daftar string

patch_cmds_win opsional. Nilai defaultnya adalah None

Perintah Powershell yang dijalankan untuk patching, diteruskan satu per satu ke PowerShell /c. Daftar string. Jika nilai boolean parameter ini salah, patch_cmds akan digunakan dan parameter ini akan diabaikan.

patch_tool opsional. Nilai defaultnya adalah None

Jalur alat patch yang harus dijalankan untuk menerapkan patch. String.

patch_args opsional. Nilai defaultnya adalah None

Argumen yang akan diteruskan ke alat patch. Daftar string.

auth opsional. Nilai defaultnya 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 dari aturan repositori yang memanggil fungsi utilitas ini.

filename tidak diperlukan.

nama file .netrc yang akan dibaca

Hasil

dict memetakan nama mesin ke dict dengan informasi yang disediakan tentangnya

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 sebuah {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.

dari 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, dict akan memetakan semua URL tempat file netrc menyediakan login dan sandi ke dict yang berisi login, sandi, dan pola otorisasi opsional terkait, serta pemetaan "jenis" 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. Parameter ini mengasumsikan parameter name, build_file, build_file_content, workspace_file, dan workspace_file_content ada di ctx.attr; empat parameter terakhir mungkin dengan nilai None.

Parameter

ctx tidak diperlukan.

Konteks repositori dari aturan repositori yang memanggil fungsi utilitas ini.