menggunakan aturan repositori

Laporkan masalah Lihat sumber Per Malam · 7,3 · 7,2 · 7,1 · 7,0 · 6,5

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

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

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

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

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

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

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

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

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

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

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 .