File MODULE.bazel

Laporkan masalah Nightly · 8.4 · 8.3 · 8.2 · 8.1 · 8.0 · 7.6

Metode yang tersedia dalam file MODULE.bazel.

Anggota

archive_override

None archive_override(module_name, **kwargs)

Menentukan bahwa dependensi ini harus berasal dari file arsip (zip, gzip, dll.) di lokasi tertentu, bukan dari registry. Secara efektif, dependensi ini akan didukung oleh aturan http_archive.

Petunjuk ini hanya berlaku di modul root; dengan kata lain, jika modul digunakan sebagai dependensi oleh modul lain, penggantiannya sendiri akan diabaikan.

Parameter

Parameter Deskripsi
module_name string; required
Nama dependensi modul Bazel yang akan diterapkan penggantian ini.
kwargs wajib
Semua argumen lainnya diteruskan ke aturan repo http_archive yang mendasarinya. Perhatikan bahwa atribut name tidak boleh ditentukan; gunakan module_name sebagai gantinya.

bazel_dep

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

Mendeklarasikan dependensi langsung pada modul Bazel lain.

Parameter

Parameter Deskripsi
name string; required
Nama modul yang akan ditambahkan sebagai dependensi langsung.
version string; default adalah ''
Versi modul yang akan ditambahkan sebagai dependensi langsung.
max_compatibility_level int; default adalah -1
compatibility_level maksimum yang didukung untuk modul yang akan ditambahkan sebagai dependensi langsung. Versi modul menyiratkan compatibility_level minimum yang didukung, serta maksimum jika atribut ini tidak ditentukan.
repo_name string; atau None; default adalah ''
Nama repo eksternal yang merepresentasikan dependensi ini. Secara default, ini adalah nama modul. Dapat disetel ke None untuk menjadikan dependensi ini sebagai dependensi "nodep": dalam hal ini, spesifikasi bazel_dep ini hanya diterapkan jika modul target sudah ada dalam grafik dependensi dengan cara lain.
dev_dependency bool; default is False
Jika benar (true), dependensi ini akan diabaikan jika modul saat ini bukan modul root atau --ignore_dev_dependency diaktifkan.

git_override

None git_override(module_name, **kwargs)

Menentukan bahwa dependensi ini harus berasal dari commit tertentu di repositori Git, bukan dari registry. Secara efektif, dependensi ini akan didukung oleh aturan git_repository.

Petunjuk ini hanya berlaku di modul root; dengan kata lain, jika modul digunakan sebagai dependensi oleh modul lain, penggantiannya sendiri akan diabaikan.

Parameter

Parameter Deskripsi
module_name string; required
Nama dependensi modul Bazel yang akan diterapkan penggantian ini.
kwargs wajib
Semua argumen lainnya diteruskan ke aturan repo git_repository yang mendasarinya. Perhatikan bahwa atribut name tidak boleh ditentukan; gunakan module_name sebagai gantinya.

sertakan

None include(label)

Mencakup konten file lain yang mirip dengan 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 di file tempat variabel tersebut muncul, bukan di file yang disertakan atau menyertakan.

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 menyegmentasikan file modul root menjadi beberapa bagian, untuk menghindari file MODULE.bazel yang sangat besar atau untuk mengelola kontrol akses yang 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 di repo utama; dengan kata lain, label harus dimulai dengan garis miring ganda (//). Nama file harus diakhiri dengan .MODULE.bazel dan tidak boleh dimulai dengan ..

inject_repo

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

Menyuntikkan satu atau beberapa repositori baru ke dalam ekstensi modul yang diberikan. Nilai ini akan diabaikan jika modul saat ini bukan modul root atau --ignore_dev_dependency diaktifkan.

Gunakan override_repo sebagai gantinya untuk mengganti repo yang ada.

Parameter

Parameter Deskripsi
extension_proxy module_extension_proxy; required
Objek proxy ekstensi modul yang ditampilkan oleh panggilan use_extension.
args wajib
Repos yang terlihat oleh modul saat ini yang harus disuntikkan ke ekstensi dengan nama yang sama.
kwargs required
Repositori baru yang akan disuntikkan ke dalam ekstensi, dengan nilai berupa nama repositori dalam cakupan modul saat ini dan kunci berupa nama yang akan terlihat di ekstensi.

Kunci yang bukan ID yang valid dapat ditentukan melalui dict literal yang diteruskan sebagai argumen kata kunci tambahan, misalnya, inject_repo(extension_proxy, **{"foo.2": "foo"}).

local_path_override

None local_path_override(module_name, path)

Menentukan bahwa dependensi ini harus berasal dari direktori tertentu di disk lokal, bukan dari registry. Secara efektif, dependensi ini akan didukung oleh aturan local_repository.

Petunjuk ini hanya berlaku di modul root; dengan kata lain, jika modul digunakan sebagai dependensi oleh modul lain, penggantiannya sendiri akan diabaikan.

Parameter

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

modul

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

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

Metode ini paling banyak dipanggil sekali, dan jika dipanggil, metode ini harus menjadi direktif pertama dalam file MODULE.bazel. Dapat dihilangkan hanya jika modul ini adalah modul root (yaitu, jika tidak akan bergantung pada modul lain).

Parameter

Parameter Deskripsi
name string; default adalah ''
Nama modul. Dapat dihilangkan hanya jika modul ini adalah modul root (yaitu, jika 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) diawali dengan huruf kecil; 3) diakhiri dengan huruf kecil atau angka.
version string; default adalah ''
Versi modul. Dapat dihilangkan hanya jika modul ini adalah modul root (yaitu, jika tidak akan bergantung pada modul lain). Versi harus dalam format SemVer yang longgar; lihat dokumentasi untuk mengetahui detail selengkapnya.
compatibility_level int; default adalah 0
Tingkat kompatibilitas modul; ini harus diubah setiap kali perubahan utama yang tidak kompatibel diperkenalkan. Pada dasarnya, ini adalah "versi utama" modul dalam hal SemVer, kecuali bahwa versi ini tidak disematkan dalam string versi itu sendiri, tetapi ada sebagai kolom terpisah. Modul dengan tingkat kompatibilitas yang berbeda berpartisipasi dalam penyelesaian versi seolah-olah merupakan modul dengan nama yang berbeda, tetapi grafik dependensi akhir tidak boleh berisi beberapa modul dengan nama yang sama tetapi tingkat kompatibilitas yang berbeda (kecuali jika multiple_version_override berlaku). Lihat dokumentasi untuk detail selengkapnya.
repo_name string; default adalah ''
Nama repositori yang merepresentasikan modul ini, seperti yang terlihat oleh modul itu sendiri. Secara default, nama repo adalah nama modul. Hal ini dapat ditentukan untuk mempermudah migrasi project yang telah menggunakan nama repo untuk dirinya sendiri yang berbeda dari nama modulnya.
bazel_compatibility Iterable string; default adalah []
Daftar versi bazel yang memungkinkan pengguna mendeklarasikan versi Bazel yang kompatibel dengan modul ini. Hal ini TIDAK memengaruhi penyelesaian dependensi, tetapi bzlmod akan menggunakan informasi ini untuk memeriksa apakah versi Bazel Anda saat ini kompatibel. Format nilai ini adalah string dari beberapa nilai batasan yang dipisahkan dengan koma. Tiga batasan didukung: <=X.X.X: Versi Bazel harus sama dengan atau lebih lama dari X.X.X. Digunakan jika ada perubahan yang tidak kompatibel dalam versi yang lebih baru. >=X.X.X: Versi Bazel harus sama atau lebih baru dari X.X.X.Digunakan saat Anda bergantung pada beberapa fitur yang hanya tersedia sejak X.X.X. -X.X.X: Versi Bazel X.X.X tidak kompatibel. Digunakan jika ada bug di X.X.X yang merusak 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 versinya harus diizinkan untuk berjalan bersama. Lihat dokumentasi untuk mengetahui detail selengkapnya. Arahan ini hanya berlaku di modul root; dengan kata lain, jika modul digunakan sebagai dependensi oleh modul lain, penggantiannya sendiri akan diabaikan.

Parameter

Parameter Deskripsi
module_name string; required
Nama dependensi modul Bazel yang akan diterapkan penggantian ini.
versions Iterable string; wajib
Menentukan secara eksplisit versi yang diizinkan untuk berjalan bersama. Versi ini harus sudah ada dalam pra-pemilihan grafik dependensi. Dependensi pada modul ini akan "diupgrade" ke versi yang diizinkan lebih tinggi terdekat 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; default is ''
Menggantikan pendaftaran untuk modul ini; alih-alih menemukan modul ini dari daftar pendaftaran default, pendaftaran yang diberikan harus digunakan.

override_repo

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

Mengganti satu atau beberapa repositori yang ditentukan oleh ekstensi modul tertentu dengan repositori tertentu yang terlihat oleh modul saat ini. Nilai ini diabaikan jika modul saat ini bukan modul root atau `--ignore_dev_dependency` diaktifkan.

Gunakan inject_repo sebagai gantinya untuk menambahkan repo baru.

Parameter

Parameter Deskripsi
extension_proxy module_extension_proxy; required
Objek proxy ekstensi modul yang ditampilkan oleh panggilan use_extension.
args wajib
Repositori dalam ekstensi yang harus diganti dengan repositori dengan nama yang sama dalam modul saat ini.
kwargs required
Penggantian yang akan diterapkan ke repositori yang dihasilkan oleh ekstensi, dengan nilai adalah nama repositori dalam cakupan modul saat ini dan kunci adalah nama repositori yang akan diganti dalam ekstensi.

Kunci yang bukan ID yang valid dapat ditentukan melalui dict literal yang diteruskan sebagai argumen kata kunci tambahan, misalnya, override_repo(extension_proxy, **{"foo.2": "foo"}).

register_execution_platforms

None register_execution_platforms(dev_dependency=False, *platform_labels)

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

Parameter

Parameter Deskripsi
dev_dependency bool; default adalah False
Jika benar, platform eksekusi tidak akan didaftarkan jika modul saat ini bukan modul root atau `--ignore_dev_dependency` diaktifkan.
platform_labels sequence dari string; wajib
Pola target yang akan didaftarkan.

register_toolchains

None register_toolchains(dev_dependency=False, *toolchain_labels)

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

Parameter

Parameter Deskripsi
dev_dependency bool; default is False
Jika benar, toolchain tidak akan didaftarkan jika modul saat ini bukan modul root atau `--ignore_dev_dependency` diaktifkan.
toolchain_labels sequence dari string; wajib
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 registry-nya diganti, atau daftar patch diterapkan. Arahan ini hanya berlaku di modul root; dengan kata lain, jika modul digunakan sebagai dependensi oleh modul lain, penggantiannya sendiri akan diabaikan.

Parameter

Parameter Deskripsi
module_name string; required
Nama dependensi modul Bazel yang akan diterapkan penggantian ini.
version string; default adalah ''
Menggantikan versi modul ini yang dideklarasikan dalam grafik dependensi. Dengan kata lain, modul ini akan "disematkan" ke versi penggantian ini. Atribut ini dapat dihilangkan jika yang ingin diganti hanyalah registri atau patch.
registry string; default is ''
Menggantikan pendaftaran untuk modul ini; alih-alih menemukan modul ini dari daftar pendaftaran default, pendaftaran yang diberikan harus digunakan.
patches Iterable string; default adalah []
Daftar label yang mengarah ke file patch untuk diterapkan pada modul ini. File patch harus ada di hierarki sumber project tingkat teratas. Aturan diterapkan sesuai urutan daftar.

Jika patch membuat perubahan pada file MODULE.bazel, perubahan ini hanya akan berlaku jika file patch disediakan oleh modul root.

patch_cmds Iterable string; default adalah []
Urutan perintah Bash yang akan diterapkan di Linux/MacOS setelah patch diterapkan.

Perubahan pada file MODULE.bazel tidak akan efektif.

patch_strip int; default adalah 0
Sama dengan 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 merepresentasikan ekstensi modul; metodenya dapat dipanggil untuk membuat tag ekstensi modul.

Parameter

Parameter Deskripsi
extension_bzl_file string; required
Label ke file Starlark yang menentukan ekstensi modul.
extension_name string; wajib diisi
Nama ekstensi modul yang akan digunakan. Simbol dengan nama ini harus diekspor oleh file Starlark.
dev_dependency bool; default is False
Jika benar (true), penggunaan ekstensi modul ini akan diabaikan jika modul saat ini bukan modul root atau `--ignore_dev_dependency` diaktifkan.
isolate bool; defaultnya adalah False
Eksperimental. Parameter ini bersifat eksperimental dan dapat berubah kapan saja. Jangan mengandalkannya. Fitur ini dapat diaktifkan secara eksperimental dengan menyetel --experimental_isolated_extension_usages
Jika benar (true), penggunaan ekstensi modul ini akan diisolasi dari semua penggunaan lainnya, baik di 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 dari 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; required
Objek proxy ekstensi modul yang ditampilkan oleh panggilan use_extension.
args required
Nama repositori yang akan diimpor.
kwargs required
Menentukan repos tertentu yang akan diimpor ke cakupan modul saat ini dengan nama yang berbeda. Kuncinya harus berupa nama yang akan digunakan dalam cakupan saat ini, sedangkan nilainya harus berupa nama asli yang diekspor oleh ekstensi modul.

Kunci yang bukan ID yang valid dapat ditentukan melalui dict literal yang diteruskan sebagai argumen kata kunci tambahan, misalnya, use_repo(extension_proxy, **{"foo.2": "foo"}).

use_repo_rule

repo_rule_proxy use_repo_rule(repo_rule_bzl_file, repo_rule_name)

Menampilkan nilai proxy yang dapat dipanggil secara langsung dalam file MODULE.bazel sebagai aturan repositori, satu atau beberapa kali. Repositori yang dibuat dengan cara ini hanya terlihat oleh modul saat ini, dengan nama yang dideklarasikan menggunakan atribut name pada proxy. Atribut Boolean implisit dev_dependency juga dapat digunakan pada proxy untuk menunjukkan bahwa repo tertentu hanya akan dibuat jika 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.