File MODULE.bazel

Laporkan masalah Nightly

Metode yang tersedia dalam file MODULE.bazel.

Anggota

archive_override

None archive_override(module_name, urls, integrity='', strip_prefix='', patches=[], patch_cmds=[], patch_strip=0)

Menentukan bahwa dependensi ini harus berasal dari file arsip (zip, gzip, dll.) di lokasi tertentu, bukan dari registry. Perintah ini hanya berlaku di modul root; dengan kata lain, jika modul digunakan sebagai dependensi oleh orang lain, penggantiannya sendiri akan diabaikan.

Parameter

Parameter Deskripsi
module_name string; wajib
Nama dependensi modul Bazel tempat penggantian ini akan diterapkan.
urls string; atau Iterable string; wajib
URL arsip; dapat berupa http(s):// atau URL file://.
integrity string; default-nya adalah ''
Checksum yang diharapkan dari file arsip, dalam format Integritas Subresource.
strip_prefix string; default-nya adalah ''
Awalan direktori yang akan dihapus dari file yang diekstrak.
patches Iterable string; defaultnya adalah []
Daftar label yang mengarah ke file patch yang akan diterapkan ke modul ini. File patch harus ada di hierarki sumber project tingkat atas. Aturan tersebut diterapkan dalam urutan daftar.
patch_cmds Iterable string; defaultnya adalah []
Urutan perintah Bash yang akan diterapkan di Linux/Macos setelah patch diterapkan.
patch_strip int; defaultnya adalah 0
Sama seperti argumen --strip patch Unix.

bazel_dep

None bazel_dep(name, version='', max_compatibility_level=-1, repo_name='', dev_dependency=False)

Mendeklarasikan dependensi langsung pada modul Bazel lainnya.

Parameter

Parameter Deskripsi
name string; wajib
Nama modul yang akan ditambahkan sebagai dependensi langsung.
version string; defaultnya adalah ''
Versi modul yang akan ditambahkan sebagai dependensi langsung.
max_compatibility_level int; defaultnya adalah -1
compatibility_level maksimum yang didukung untuk modul yang akan ditambahkan sebagai dependensi langsung. Versi modul menyiratkan kompatibilitas_level minimum yang didukung, serta level maksimum jika atribut ini tidak ditentukan.
repo_name string; defaultnya adalah ''
Nama repo eksternal yang mewakili dependensi ini. Ini secara default adalah nama modul.
dev_dependency bool; defaultnya adalah False
Jika true (benar), dependensi ini akan diabaikan jika modul saat ini bukan modul root atau `--ignore_dev_dependency` diaktifkan.

git_override

None git_override(module_name, remote, commit='', patches=[], patch_cmds=[], patch_strip=0, init_submodules=False, strip_prefix='')

Menentukan bahwa dependensi harus berasal dari commit tertentu dalam repositori Git. Perintah ini hanya berlaku di modul root; dengan kata lain, jika modul digunakan sebagai dependensi oleh orang lain, penggantiannya sendiri akan diabaikan.

Parameter

Parameter Deskripsi
module_name string; wajib
Nama dependensi modul Bazel tempat penggantian ini akan diterapkan.
remote string; wajib
URL repositori Git jarak jauh.
commit string; defaultnya adalah ''
Commit yang harus diperiksa.
patches Iterable string; defaultnya adalah []
Daftar label yang mengarah ke file patch yang akan diterapkan ke modul ini. File patch harus ada di hierarki sumber project tingkat atas. Aturan tersebut diterapkan dalam urutan daftar.
patch_cmds Iterable string; defaultnya adalah []
Urutan perintah Bash yang akan diterapkan di Linux/Macos setelah patch diterapkan.
patch_strip int; defaultnya adalah 0
Sama seperti argumen --strip patch Unix.
init_submodules bool; defaultnya adalah False
Apakah submodul git dalam repo yang diambil harus diinisialisasi secara rekursif.
strip_prefix string; default-nya adalah ''
Awalan direktori yang akan dihapus dari file yang diekstrak. Ini dapat digunakan untuk menargetkan subdirektori dari repositori git. Perhatikan bahwa subdirektori harus memiliki file `MODULE.bazel` sendiri dengan nama modul yang sama dengan argumen `module_name` yang diteruskan ke `git_override` ini.

sertakan

None include(label)

Menyertakan konten file lain yang mirip MODULE.bazel. Secara efektif, include() berperilaku seolah-olah file yang disertakan ditempatkan secara tekstual di lokasi panggilan include(), kecuali bahwa binding variabel (seperti yang digunakan untuk use_extension) hanya terlihat dalam file tempat file tersebut berada, bukan dalam file yang disertakan atau disertakan.

Hanya modul root yang dapat menggunakan include(); akan terjadi error jika file MODULE bazel_dep menggunakan include().

Hanya file di repo utama yang dapat disertakan.

include() memungkinkan Anda mengelompokkan file modul root menjadi beberapa bagian, untuk menghindari file MODULE.bazel yang sangat besar atau mengelola kontrol akses dengan lebih baik untuk setiap segmen semantik.

Parameter

Parameter Deskripsi
label string; wajib
Label yang mengarah ke file yang akan disertakan. Label harus mengarah ke file dalam repo utama; dengan kata lain, label harus diawali dengan garis miring ganda (//).

local_path_override

None local_path_override(module_name, path)

Menentukan bahwa dependensi harus berasal dari direktori tertentu pada disk lokal. Perintah ini hanya berlaku di modul root; dengan kata lain, jika modul digunakan sebagai dependensi oleh orang lain, penggantiannya sendiri akan diabaikan.

Parameter

Parameter Deskripsi
module_name string; wajib
Nama dependensi modul Bazel tempat penggantian ini akan diterapkan.
path string; wajib
Jalur ke direktori tempat modul ini berada.

modul

None module(name='', version='', compatibility_level=0, repo_name='', bazel_compatibility=[])

Mendeklarasikan properti modul Bazel tertentu yang diwakili oleh repo Bazel saat ini. Properti ini merupakan metadata penting modul (seperti nama dan versi), atau memengaruhi perilaku modul saat ini dan dependensinya.

Kode ini harus dipanggil paling banyak sekali, dan jika dipanggil, perintah itu harus merupakan arahan pertama dalam file MODULE.bazel. Elemen ini hanya dapat dihilangkan jika modul ini merupakan modul root (misalnya, jika modul tersebut tidak akan bergantung pada modul lain).

Parameter

Parameter Deskripsi
name string; default-nya adalah ''
Nama modul. Hanya dapat dihilangkan jika modul ini merupakan modul root (misalnya, jika modul ini tidak akan bergantung pada modul lain). Nama modul yang valid harus: 1) hanya berisi huruf kecil (a-z), angka (0-9), titik (.), tanda hubung (-), dan garis bawah (_); 2) dimulai dengan huruf kecil; 3) diakhiri dengan huruf kecil atau angka.
version string; default-nya adalah ''
Versi modul. Hanya dapat dihilangkan jika modul ini merupakan modul root (misalnya, jika modul ini tidak akan bergantung pada modul lain). Versi harus dalam format SemVer santai; lihat dokumentasi untuk detail selengkapnya.
compatibility_level int; default-nya adalah 0
Tingkat kompatibilitas modul; ini harus diubah setiap kali ada perubahan besar yang tidak kompatibel. Ini pada dasarnya adalah "versi utama" modul dalam hal SemVer, kecuali bahwa modul ini tidak disematkan dalam string versi itu sendiri, tetapi ada sebagai kolom terpisah. Modul dengan tingkat kompatibilitas yang berbeda berpartisipasi dalam resolusi versi seolah-olah merupakan modul dengan nama yang berbeda, tetapi grafik dependensi akhir tidak boleh berisi beberapa modul dengan nama yang sama, tetapi tingkat kompatibilitasnya berbeda (kecuali jika multiple_version_override diberlakukan). Lihat dokumentasi untuk detail selengkapnya.
repo_name string; default-nya adalah ''
Nama repositori yang mewakili modul ini, seperti yang terlihat oleh modul itu sendiri. Secara default, nama repo adalah nama modul. Nama ini dapat ditentukan untuk memudahkan migrasi project yang telah menggunakan nama repo untuk dirinya sendiri yang berbeda dengan nama modulnya.
bazel_compatibility Iterasi string; defaultnya adalah []
Daftar versi bazel yang memungkinkan pengguna mendeklarasikan versi Bazel mana yang kompatibel dengan modul ini. Ini TIDAK memengaruhi resolusi dependensi, tetapi bzlmod akan menggunakan informasi ini untuk memeriksa apakah versi Bazel Anda saat ini kompatibel. Format nilai ini adalah string beberapa nilai batasan yang dipisahkan oleh koma. Tiga batasan didukung: <=X.X.X: Versi Bazel harus sama atau lebih lama dari X.X.X. Digunakan jika ada perubahan yang diketahui tidak kompatibel dalam versi yang lebih baru. >=X.X.X: Versi Bazel harus sama atau lebih baru dari X.X.X.Digunakan jika Anda bergantung pada beberapa fitur yang hanya tersedia sejak X.X.X. -X.X.X: Versi Bazel X.X.X tidak kompatibel. Digunakan saat ada bug di X.X.X yang mengganggu Anda, tetapi diperbaiki di versi yang lebih baru.

multiple_version_override

None multiple_version_override(module_name, versions, registry='')

Menentukan bahwa dependensi harus tetap berasal dari registry, tetapi beberapa versi harus diizinkan untuk berdampingan. Lihat dokumentasi untuk mengetahui detail selengkapnya. Perintah ini hanya berlaku di modul root; dengan kata lain, jika modul digunakan sebagai dependensi oleh orang lain, penggantiannya sendiri akan diabaikan.

Parameter

Parameter Deskripsi
module_name string; wajib
Nama dependensi modul Bazel tempat penggantian ini akan diterapkan.
versions Iterable string; diperlukan
Secara eksplisit menentukan versi yang diizinkan untuk berdampingan. Versi ini harus sudah ada di pra-pemilihan grafik dependensi. Dependensi pada modul ini akan "diupgrade" ke versi terdekat yang diizinkan dan lebih tinggi pada tingkat kompatibilitas yang sama, sedangkan dependensi yang memiliki versi lebih tinggi daripada versi yang diizinkan pada tingkat kompatibilitas yang sama akan menyebabkan error.
registry string; defaultnya adalah ''
Mengganti registry untuk modul ini. Sebaiknya gunakan registry yang ditentukan, bukan dari daftar default registry tersebut.

register_execution_platforms

None register_execution_platforms(dev_dependency=False, *platform_labels)

Menentukan platform eksekusi yang telah ditentukan untuk didaftarkan saat modul ini dipilih. Harus berupa pola target absolut (yaitu dimulai dengan @ atau //). Lihat resolusi toolchain untuk informasi selengkapnya. Pola yang diperluas ke beberapa target, seperti :all, akan didaftarkan dalam urutan leksikografis berdasarkan nama.

Parameter

Parameter Deskripsi
dev_dependency bool; defaultnya adalah False
Jika true (benar), platform eksekusi tidak akan terdaftar jika modul saat ini bukan modul root atau `--ignore_dev_dependency` diaktifkan.
platform_labels Urutan string; wajib diisi
Pola target yang akan didaftarkan.

register_toolchains

None register_toolchains(dev_dependency=False, *toolchain_labels)

Menentukan toolchain yang telah ditetapkan untuk didaftarkan saat modul ini dipilih. Harus berupa pola target absolut (yaitu dimulai dengan @ atau //). Lihat resolusi toolchain untuk informasi selengkapnya. Pola yang diperluas ke beberapa target, seperti :all, akan didaftarkan dalam urutan leksikografis berdasarkan nama target (bukan nama implementasi toolchain).

Parameter

Parameter Deskripsi
dev_dependency bool; defaultnya adalah False
Jika true (benar), toolchain tidak akan didaftarkan jika modul saat ini bukan modul root atau `--ignore_dev_dependency` diaktifkan.
toolchain_labels Urutan string; wajib diisi
Pola target yang akan didaftarkan.

single_version_override

None single_version_override(module_name, version='', registry='', patches=[], patch_cmds=[], patch_strip=0)

Menentukan bahwa dependensi harus tetap berasal dari registry, tetapi versinya harus disematkan, atau registrynya diganti, atau daftar patch diterapkan. Perintah ini hanya berlaku di modul root; dengan kata lain, jika modul digunakan sebagai dependensi oleh orang lain, penggantiannya sendiri akan diabaikan.

Parameter

Parameter Deskripsi
module_name string; wajib
Nama dependensi modul Bazel tempat penggantian ini akan diterapkan.
version string; defaultnya adalah ''
Mengganti versi yang dideklarasikan modul ini dalam grafik dependensi. Dengan kata lain, modul ini akan "disematkan" ke versi pengganti ini. Atribut ini dapat dihilangkan jika semua yang ingin diganti adalah registry atau patch.
registry string; defaultnya adalah ''
Mengganti registry untuk modul ini. Sebaiknya gunakan registry yang ditentukan, bukan dari daftar default registry tersebut.
patches Iterable string; defaultnya adalah []
Daftar label yang mengarah ke file patch yang akan diterapkan ke modul ini. File patch harus ada di hierarki sumber project tingkat atas. Aturan tersebut diterapkan dalam urutan daftar.
patch_cmds Iterable string; defaultnya adalah []
Urutan perintah Bash yang akan diterapkan di Linux/Macos setelah patch diterapkan.
patch_strip int; defaultnya adalah 0
Sama seperti argumen --strip patch Unix.

use_extension

module_extension_proxy use_extension(extension_bzl_file, extension_name, *, dev_dependency=False, isolate=False)

Menampilkan objek proxy yang mewakili ekstensi modul; metodenya dapat dipanggil untuk membuat tag ekstensi modul.

Parameter

Parameter Deskripsi
extension_bzl_file string; wajib
Label ke file Starlark yang menentukan ekstensi modul.
extension_name string; wajib
Nama ekstensi modul yang akan digunakan. Simbol dengan nama ini harus diekspor oleh file Starlark.
dev_dependency bool; defaultnya adalah False
Jika true (benar), penggunaan ekstensi modul ini akan diabaikan jika modul saat ini bukan modul root atau `--ignore_dev_dependency` diaktifkan.
isolate bool; default-nya adalah False
Eksperimental. Parameter ini bersifat eksperimental dan dapat berubah kapan saja. Harap tidak bergantung padanya. Fitur ini dapat diaktifkan secara eksperimental dengan menyetel --experimental_isolated_extension_usages
Jika true (benar), penggunaan ekstensi modul ini akan diisolasi dari semua penggunaan lain, baik dalam modul ini maupun modul lainnya. Tag yang dibuat untuk penggunaan ini tidak memengaruhi penggunaan lain dan repositori yang dihasilkan oleh ekstensi untuk penggunaan ini akan berbeda dengan semua repositori lain yang dihasilkan oleh ekstensi.

Parameter ini saat ini bersifat eksperimental dan hanya tersedia dengan tanda --experimental_isolated_extension_usages.

use_repo

None use_repo(extension_proxy, *args, **kwargs)

Mengimpor satu atau beberapa repositori yang dihasilkan oleh ekstensi modul tertentu ke dalam cakupan modul saat ini.

Parameter

Parameter Deskripsi
extension_proxy module_extension_proxy; diperlukan
Objek proxy ekstensi modul yang ditampilkan oleh panggilan use_extension.
args wajib
Nama repositori yang akan diimpor.
kwargs required
Menentukan repositori tertentu yang akan diimpor ke dalam cakupan modul saat ini dengan nama yang berbeda. Kunci harus berupa nama yang akan digunakan dalam cakupan saat ini, sedangkan nilai harus berupa nama asli yang diekspor oleh ekstensi modul.

use_repo_rule

repo_rule_proxy use_repo_rule(repo_rule_bzl_file, repo_rule_name)

Menampilkan nilai proxy yang bisa langsung dipanggil dalam file MODULE.bazel sebagai aturan repositori, satu kali atau lebih. Repositori yang dibuat sedemikian rupa hanya terlihat oleh modul saat ini, dengan nama yang dideklarasikan menggunakan atribut name pada proxy. Atribut dev_dependency Boolean implisit juga dapat digunakan pada proxy untuk menunjukkan bahwa repo tertentu hanya akan dibuat ketika modul saat ini adalah modul root.

Parameter

Parameter Deskripsi
repo_rule_bzl_file string; wajib
Label ke file Starlark yang menentukan aturan repo.
repo_rule_name string; wajib
Nama aturan repo yang akan digunakan. Simbol dengan nama ini harus diekspor oleh file Starlark.