Pelanggan
- semua
- analisis_pengujian_transisi
- apa pun
- arsip_ganti
- aspek
- bazel_dep
- pengikat
- bool
- kolom_konfigurasi
- depset
- dikte
- dir
- enumerasi
- grup_exec
- gagal
- float
- getattr
- git_ganti
- hasattr
- hash
- int
- kita
- list
- local_path_override
- maks
- mnt
- modul
- ekstensi_modul
- beberapa_versi_ganti
- penyedia
- rentang
- register_eksekusi_platforms()
- register_eksekusi_platforms()
- register_ETags()
- register_ETags()
- repository_rule(penerapan, attr, lokal, lingkungan, konfigurasi, jarak jauh, dokumen)
- repository_rule(penerapan, attr, lokal, lingkungan, konfigurasi, jarak jauh, dokumen)
- PR
- terbalik
- aturan
- pilih
- ganti_versi_tunggal
- diurutkan
- str
- tag_class
- tuple
- jenis
- penggunaan_ekstensi
- penggunaan_repo
- visibilitas
- ruang kerja
- zip
all
bool all(elements)Menampilkan nilai benar jika semua elemen bernilai Benar atau jika koleksi kosong. Elemen dikonversi menjadi boolean menggunakan fungsi bool.
all(["hello", 3, True]) == True all([-1, 0, 1]) == False
Parameter
Parameter | Deskripsi |
---|---|
elements
|
wajib String atau kumpulan elemen. |
analisis_pengujian_transisi
transition analysis_test_transition(settings)
Membuat transisi konfigurasi yang akan diterapkan pada dependensi aturan pengujian analisis. Transisi ini hanya dapat diterapkan pada atribut aturan dengan analysis_test = True
. Aturan tersebut dibatasi dalam kemampuan (misalnya, ukuran hierarki dependensinya terbatas), sehingga transisi yang dibuat menggunakan fungsi ini memiliki batasan potensi cakupan yang dibandingkan dengan transisi yang dibuat menggunakan transisi.
Fungsi ini dirancang terutama untuk memfasilitasi library inti Analysis Test Framework. Lihat dokumentasinya (atau penerapannya) untuk mengetahui praktik terbaik.
Parameter
Parameter | Deskripsi |
---|---|
settings
|
wajib Kamus yang berisi informasi tentang setelan konfigurasi yang harus ditetapkan oleh transisi konfigurasi ini. Kunci adalah label setelan build dan nilai merupakan nilai baru setelah transisi. Semua setelan lainnya tidak berubah. Gunakan metode ini untuk mendeklarasikan setelan konfigurasi tertentu yang harus ditetapkan agar pengujian analisis lulus. |
Sembarang
bool any(elements)Menampilkan nilai benar jika setidaknya satu elemen bernilai Benar. Elemen dikonversi menjadi boolean menggunakan fungsi bool.
any([-1, 0, 1]) == True any([False, 0, ""]) == False
Parameter
Parameter | Deskripsi |
---|---|
elements
|
wajib String atau kumpulan elemen. |
arsip_ganti
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 dapat digunakan oleh modul root. Dengan kata lain, jika modul menentukan penggantian apa pun, perintah ini tidak dapat digunakan sebagai dependensi oleh pihak lain.
Parameter
Parameter | Deskripsi |
---|---|
module_name
|
wajib Nama dependensi modul Bazel yang akan menerima penggantian ini. |
urls
|
string; or Iterable of strings ;
wajibURL arsip; dapat berupa URL http(s):// atau file://. |
integrity
|
default = '' Checksum yang diharapkan untuk file arsip, dalam format Integritas Subresource. |
strip_prefix
|
default = '' Awalan direktori untuk menghapus file yang diekstrak. |
patches
|
Iterable of strings ;
default = []Daftar label yang mengarah ke file patch yang akan diterapkan untuk modul ini. File patch harus ada di hierarki sumber project level atas. Aturan tersebut diterapkan dalam urutan daftar. |
patch_cmds
|
Iterable of strings ;
default = []Urutan perintah Bash yang akan diterapkan di Linux/Macos setelah patch diterapkan. |
patch_strip
|
default = 0 Sama dengan argumen --strip patch Unix. |
aspek
Aspect aspect(implementation, attr_aspects=[], attrs=None, required_providers=[], required_aspect_providers=[], provides=[], requires=[], fragments=[], host_fragments=[], toolchains=[], incompatible_use_toolchain_transition=False, doc='', *, apply_to_generating_rules=False, exec_compatible_with=[], exec_groups=None)Membuat aspek baru. Hasil dari fungsi ini harus disimpan dalam nilai global. Lihat pengantar Aspek untuk detail selengkapnya.
Parameter
Parameter | Deskripsi |
---|---|
implementation
|
diperlukan Fungsi Starlark yang menerapkan aspek ini, dengan tepat dua parameter: Target (target tempat aspek diterapkan) dan ctx (konteks aturan tempat target dibuat). Atribut target tersedia melalui kolom ctx.rule . Fungsi ini dievaluasi selama fase analisis untuk setiap penerapan aspek pada target.
|
attr_aspects
|
sequence of strings ;
default = []Daftar nama atribut. Aspek menyebar bersama dependensi yang ditentukan dalam atribut target dengan nama ini. Nilai umum di sini meliputi deps dan exports . Daftar ini juga dapat berisi satu string "*" untuk menyebarkan semua dependensi target.
|
attrs
|
dict; or None ;
default = Tidak adaKamus yang mendeklarasikan semua atribut dari aspek. Atribut ini dipetakan dari nama atribut ke objek atribut, seperti `attr.label` atau `attr.string` (lihat modul attr). Atribut aspek tersedia untuk fungsi implementasi sebagai kolom parameter ctx . Atribut implisit yang dimulai dengan Atribut eksplisit harus memiliki jenis |
required_providers
|
default = [] Atribut ini memungkinkan aspek membatasi penyebarannya hanya ke target yang aturannya mengiklankan penyedia yang diperlukan. Nilainya harus berupa daftar yang berisi masing-masing penyedia atau daftar penyedia, tetapi tidak keduanya. Misalnya, [[FooInfo], [BarInfo], [BazInfo, QuxInfo]] adalah nilai yang valid sedangkan [FooInfo, BarInfo, [BazInfo, QuxInfo]] tidak valid.Daftar penyedia yang tidak bertingkat akan otomatis dikonversi menjadi daftar yang berisi satu daftar penyedia. Artinya, Untuk membuat beberapa target aturan (misalnya |
required_aspect_providers
|
default = [] Atribut ini memungkinkan aspek ini memeriksa aspek lainnya. Nilainya harus berupa daftar yang berisi masing-masing penyedia atau daftar penyedia, tetapi tidak keduanya. Misalnya, [[FooInfo], [BarInfo], [BazInfo, QuxInfo]] adalah nilai yang valid sedangkan [FooInfo, BarInfo, [BazInfo, QuxInfo]] tidak valid.Daftar penyedia yang tidak bertingkat akan otomatis dikonversi menjadi daftar yang berisi satu daftar penyedia. Artinya, Untuk membuat aspek lain (misalnya |
provides
|
default = [] Daftar penyedia yang harus ditampilkan oleh fungsi implementasi. Suatu error akan dianggap sebagai fungsi implementasi menghapus salah satu jenis penyedia yang tercantum di sini dari nilai hasil. Namun, fungsi implementasi dapat menampilkan penyedia tambahan yang tidak tercantum di sini. Setiap elemen daftar adalah objek |
requires
|
sequence of Aspects ;
default = []Daftar aspek yang harus disebarkan sebelum aspek ini. |
fragments
|
sequence of strings ;
default = []Daftar nama fragmen konfigurasi yang diperlukan aspek dalam konfigurasi target. |
host_fragments
|
sequence of strings ;
default = []Daftar nama fragmen konfigurasi yang diperlukan aspek dalam konfigurasi host. |
toolchains
|
sequence ;
default = []Jika disetel, kumpulan toolchain yang diperlukan aturan ini. Daftar ini dapat berisi objek String, Label, atau Starlark Toolchain, dalam kombinasi apa pun. Toolchain akan ditemukan dengan memeriksa platform saat ini, dan diberikan ke penerapan aturan melalui ctx.toolchain .
|
incompatible_use_toolchain_transition
|
default = False Tidak digunakan lagi, ini tidak lagi digunakan dan harus dihapus. |
doc
|
default = '' Deskripsi dari aspek yang dapat diekstrak oleh alat pembuat dokumentasi. |
apply_to_generating_rules
|
default = False Jika true (benar), aspek akan diterapkan saat file output diterapkan ke aturan output file output. Misalnya, aspek tertentu menyebar secara transitif melalui atribut `deps` dan diterapkan ke target `alpha`. Misalnya `alpha` memiliki `deps = [':beta_output']`, dengan `beta_output` adalah output yang dideklarasikan dari target `beta`. Misalkan `beta` memiliki target `charlie` sebagai salah satu dari `deps`, jika `apply_to_generate_rules=True`, akan diterapkan ke aspek, ini Salah secara default. |
exec_compatible_with
|
sequence of strings ; default = []Daftar batasan pada platform eksekusi yang berlaku untuk semua instance aspek ini. |
exec_groups
|
dict; or None ;
default = NoneDikte nama grup eksekusi (string) menjadi exec_group s. Jika disetel, aspek akan dapat menjalankan tindakan pada beberapa platform eksekusi dalam satu instance. Lihat dokumentasi grup eksekusi untuk info selengkapnya.
|
baz_dep
None bazel_dep(name, version='', repo_name='', dev_dependency=False)Mendeklarasikan dependensi langsung pada modul Bazel lainnya.
Parameter
Parameter | Deskripsi |
---|---|
name
|
wajib Nama modul yang akan ditambahkan sebagai dependensi langsung. |
version
|
default = '' Versi modul yang akan ditambahkan sebagai dependensi langsung. |
repo_name
|
default = '' Nama repo eksternal yang mewakili dependensi ini. Ini secara default adalah nama modul. |
dev_dependency
|
default = False Jika true (benar), dependensi ini akan diabaikan jika modul saat ini bukan modul root atau `--ignore_dev_dependensi` diaktifkan. |
mengikat
None bind(name, actual=None)
Peringatan: penggunaan bind()
tidak direkomendasikan. Lihat Pertimbangkan untuk menghapus binding untuk diskusi panjang tentang masalah dan alternatifnya.
Memberi target alias dalam paket //external
.
Parameter
Parameter | Deskripsi |
---|---|
name
|
wajib Label di bagian '//external' untuk digunakan sebagai nama alias |
actual
|
string; or None ;
default = Tidak adaLabel yang sebenarnya akan diberi alias |
bool
bool bool(x=False)Konstruktor untuk jenis bool. Metode ini menampilkan
False
jika objeknya adalah None
, False
, string kosong (""
), angka 0
, atau koleksi kosong (misalnya ()
, []
). Jika tidak, objek akan menampilkan True
.
Parameter
Parameter | Deskripsi |
---|---|
x
|
default = Salah Variabel yang akan dikonversi. |
kolom_konfigurasi
LateBoundDefault configuration_field(fragment, name)Mereferensikan nilai default terikat akhir untuk atribut jenis label. Nilai adalah 'terikat akhir' jika konfigurasi harus dibuat sebelum menentukan nilai. Setiap atribut yang menggunakan ini sebagai nilai harus bersifat pribadi.
Contoh penggunaan:
Menentukan atribut aturan:
'_foo': attr.label(default=configuration_field(fragment='java', name='toolchain'))
Mengakses dalam penerapan aturan:
def _rule_impl(ctx): foo_info = ctx.attr._foo ...
Parameter
Parameter | Deskripsi |
---|---|
fragment
|
wajib Nama fragmen konfigurasi yang berisi nilai batas akhir. |
name
|
wajib Nama nilai yang akan diperoleh dari fragmen konfigurasi. |
depset
depset depset(direct=None, order="default", *, transitive=None)Membuat depset. Parameter
direct
adalah daftar elemen langsung dari depset, dan parameter transitive
adalah daftar depset yang elemennya menjadi elemen tidak langsung dari depset yang dibuat. Urutan elemen yang ditampilkan saat depset dikonversi ke daftar ditentukan oleh parameter order
. Lihat ringkasan Depset untuk mengetahui informasi selengkapnya.
Semua elemen (langsung dan tidak langsung) dari depset harus memiliki jenis yang sama, seperti yang diperoleh oleh ekspresi type(x)
.
Karena set berbasis hash digunakan untuk menghapus duplikat selama iterasi, semua elemen depset harus dapat di-hash. Namun, invarian ini saat ini tidak diperiksa secara konsisten di semua konstruktor. Gunakan flag --incompatible_always_check_depset_elements untuk mengaktifkan pemeriksaan yang konsisten; ini akan menjadi perilaku default dalam rilis mendatang; lihat Masalah 10313.
Selain itu, elemen harus tetap tidak dapat diubah, meskipun pembatasan ini akan dilonggarkan pada masa mendatang.
Urutan depset yang dibuat harus kompatibel dengan urutan depset transitive
. Pesanan "default"
kompatibel dengan pesanan lain, semua pesanan lainnya hanya kompatibel dengan pesanan mereka sendiri.
Catatan tentang kompatibilitas mundur/maju. Fungsi ini saat ini menerima parameter items
posisi. Metode ini tidak digunakan lagi dan akan dihapus pada masa mendatang, dan setelah dihapus, direct
akan menjadi parameter posisi tunggal dari fungsi depset
. Dengan demikian, kedua panggilan berikut bernilai setara dan dapat diandalkan di masa mendatang:
depset(['a', 'b'], transitive = [...]) depset(direct = ['a', 'b'], transitive = [...])
Parameter
Parameter | Deskripsi |
---|---|
direct
|
sequence; or None ;
default = NoneDaftar elemen direct dari depset. |
order
|
default = "default" Strategi traversal untuk depset baru. Lihat di sini untuk mengetahui kemungkinan nilai. |
transitive
|
sequence of depsets; or None ;
default = Tidak adaDaftar depset yang elemennya akan menjadi elemen tidak langsung dari depset tersebut. |
Dikte
dict dict(pairs=[], **kwargs)Membuat kamus dari argumen posisi opsional dan kumpulan argumen kata kunci opsional. Jika kunci yang sama diberikan beberapa kali, nilai terakhir akan digunakan. Entri yang disediakan melalui argumen kata kunci dianggap muncul setelah entri yang diberikan melalui argumen posisi.
Parameter
Parameter | Deskripsi |
---|---|
pairs
|
default = [] Sebuah dikte, atau iterable dengan elemen yang masing-masing memiliki panjang 2 (kunci, nilai). |
kwargs
|
wajib Kamus entri tambahan. |
kotor
list dir(x)Menampilkan daftar string: nama atribut dan metode objek parameter.
Parameter
Parameter | Deskripsi |
---|---|
x
|
wajib Objek yang akan diperiksa. |
menghitung
list enumerate(list, start=0)Menampilkan daftar pasangan (tuple dua elemen), dengan indeks (int) dan item dari urutan input.
enumerate([24, 21, 84]) == [(0, 24), (1, 21), (2, 84)]
Parameter
Parameter | Deskripsi |
---|---|
list
|
urutan input yang diperlukan. |
start
|
default = 0 indeks awal. |
grup_exec
exec_group exec_group(toolchains=[], exec_compatible_with=[], copy_from_rule=False)Membuat grup eksekusi yang dapat digunakan untuk membuat tindakan bagi platform eksekusi tertentu selama penerapan aturan.
Parameter
Parameter | Deskripsi |
---|---|
toolchains
|
sequence ;
default = []Kumpulan toolchain yang diperlukan grup eksekusi ini. Daftar ini dapat berisi objek String, Label, atau Starlark Toolchain, dalam kombinasi apa pun. |
exec_compatible_with
|
sequence of strings ;
default = []Daftar batasan pada platform eksekusi. |
copy_from_rule
|
default = False Jika disetel ke benar (true), grup eksekutif ini akan mewarisi toolchain dan batasan aturan yang mengaitkan grup ini. Jika ditetapkan ke string lain, error akan ditampilkan. |
fail
None fail(msg=None, attr=None, *args)Menyebabkan eksekusi gagal dengan error.
Parameter
Parameter | Deskripsi |
---|---|
msg
|
default = None Tidak digunakan lagi: sebagai gantinya, gunakan argumen posisi. Argumen ini berfungsi sebagai argumen posisi implisit yang implisit. |
attr
|
string; or None ; default = NoneTidak digunakan lagi. Menyebabkan awalan opsional yang berisi string ini yang akan ditambahkan ke pesan error. |
args
|
wajib Daftar nilai, yang diformat dengan str dan digabungkan dengan spasi, yang muncul dalam pesan error. |
float
float float(x=unbound)Menampilkan x sebagai nilai float.
- Jika
x
sudah menjadi float,float
akan menampilkannya tanpa perubahan. - Jika
x
adalah bool,float
akan menampilkan 1.0 untuk True dan 0.0 untuk False. - Jika
x
adalah int,float
akan menampilkan nilai floating point terbatas terdekat ke x, atau error jika magnitudonya terlalu besar. - Jika
x
adalah string, string tersebut harus berupa literal floating point yang valid, atau sama dengan (abaikan huruf besar/kecil) denganNaN
,Inf
, atauInfinity
, (opsional) dengan tanda+
atau-
.
float()
menampilkan 0,0.
Parameter
Parameter | Deskripsi |
---|---|
x
|
default = tidak terikat Nilai yang akan dikonversi. |
getattr
unknown getattr(x, name, default=unbound)Menampilkan kolom struct untuk nama tertentu jika ada. Jika tidak, fungsi ini akan menampilkan
default
(jika ditentukan) atau memunculkan error. getattr(x, "foobar")
setara dengan x.foobar
.getattr(ctx.attr, "myattr") getattr(ctx.attr, "myattr", "mydefault")
Parameter
Parameter | Deskripsi |
---|---|
x
|
wajib Struktur yang atributnya diakses. |
name
|
wajib Nama atribut struktur. |
default
|
default = unbound Nilai default yang akan ditampilkan jika struct tidak memiliki atribut dari nama yang diberikan. |
penggantian_git
None git_override(module_name, remote, commit='', patches=[], patch_cmds=[], patch_strip=0)Menentukan bahwa dependensi harus berasal dari commit tertentu dari repositori Git. Perintah ini hanya dapat digunakan oleh modul root. Dengan kata lain, jika modul menentukan penggantian apa pun, perintah ini tidak dapat digunakan sebagai dependensi oleh pihak lain.
Parameter
Parameter | Deskripsi |
---|---|
module_name
|
wajib Nama dependensi modul Bazel yang akan menerima penggantian ini. |
remote
|
wajib URL repositori Git jarak jauh. |
commit
|
default = '' Commit yang harus diperiksa. |
patches
|
Iterable of strings ;
default = []Daftar label yang mengarah ke file patch yang akan diterapkan untuk modul ini. File patch harus ada di hierarki sumber project level atas. Aturan tersebut diterapkan dalam urutan daftar. |
patch_cmds
|
Iterable of strings ;
default = []Urutan perintah Bash yang akan diterapkan di Linux/Macos setelah patch diterapkan. |
patch_strip
|
default = 0 Sama dengan argumen --strip patch Unix. |
Hasattr
bool hasattr(x, name)Menampilkan Benar jika objek
x
memiliki atribut atau metode name
yang diberikan, jika tidak, Salah akan ditampilkan. Contoh:hasattr(ctx.attr, "myattr")
Parameter
Parameter | Deskripsi |
---|---|
x
|
wajib Objek yang akan diperiksa. |
name
|
wajib Nama atribut. |
hash
int hash(value)Menampilkan nilai hash untuk string. Hal ini dihitung secara deterministik menggunakan algoritme yang sama dengan
String.hashCode()
Java, yaitu: s[0] * (31^(n-1)) + s[1] * (31^(n-2)) + ... + s[n-1]Hashing nilai selain string saat ini tidak didukung.
Parameter
Parameter | Deskripsi |
---|---|
value
|
diperlukan Nilai string untuk di-hash. |
int
int int(x, base=unbound)Menampilkan x sebagai nilai int.
- Jika
x
sudah menjadi int,int
akan menampilkannya tanpa perubahan. - Jika
x
adalah bool,int
akan menampilkan 1 untuk Benar dan 0 untuk Salah. - Jika
x
adalah string, string tersebut harus memiliki format<sign><prefix><digits>
.<sign>
adalah"+"
,"-"
, atau kosong (diinterpretasikan sebagai positif).<digits>
adalah urutan digit dari 0 hinggabase
- 1, dengan huruf a-z (atau setara, A-Z) digunakan sebagai angka untuk 10-35. Jikabase
adalah 2/8/16,<prefix>
bersifat opsional dan dapat masing-masing 0b/0o/0x (atau setara, 0B/0O/0X); jikabase
adalah nilai lain selain basis ini atau nilai khusus 0, awalan harus kosong. Jikabase
adalah 0, string akan ditafsirkan sebagai literal integer, dalam arti bahwa salah satu basis 2/8/10/16 dipilih bergantung pada awalan mana jika digunakan. Jikabase
adalah 0, tidak ada awalan yang digunakan, dan ada lebih dari satu digit, digit pertama tidak boleh 0; ini untuk menghindari kebingungan antara oktal dan desimal. Besarnya angka yang diwakili oleh string harus berada dalam rentang yang diizinkan untuk jenis int. - Jika
x
adalah float,int
akan menampilkan nilai bilangan bulat float, yang dibulatkan ke nol. Akan dianggap error jika x tidak terbatas (NaN atau tidak terbatas).
x
adalah jenis lainnya, atau jika nilainya adalah string yang tidak memenuhi format di atas. Tidak seperti fungsi int
Python, fungsi ini tidak mengizinkan argumen nol, dan tidak mengizinkan spasi kosong yang tidak relevan untuk argumen string.Contoh:
int("123") == 123 int("-123") == -123 int("+123") == 123 int("FF", 16) == 255 int("0xFF", 16) == 255 int("10", 0) == 10 int("-0x10", 0) == -16 int("-0x10", 0) == -16 int("123.456") == 123
Parameter
Parameter | Deskripsi |
---|---|
x
|
wajib String yang akan dikonversi. |
base
|
default = tidak terikat Basis yang digunakan untuk menafsirkan nilai string; defaultnya adalah 10. Harus di antara 2 dan 36 (inklusif), atau 0 untuk mendeteksi basis seolah-olah x adalah literal bilangan bulat. Parameter ini tidak boleh diberikan jika nilainya bukan string.
|
Len
int len(x)Menampilkan panjang string, urutan (seperti daftar atau tuple), dict, atau iterable lainnya.
Parameter
Parameter | Deskripsi |
---|---|
x
|
wajib Nilai yang panjangnya akan dilaporkan. |
list
list list(x=[])Menampilkan daftar baru dengan elemen yang sama dengan nilai iterable yang diberikan.
list([1, 2]) == [1, 2] list((2, 3, 2)) == [2, 3, 2] list({5: "a", 2: "b", 4: "c"}) == [5, 2, 4]
Parameter
Parameter | Deskripsi |
---|---|
x
|
default = [] Objek yang akan dikonversi. |
local_path_override
None local_path_override(module_name, path)Menentukan bahwa dependensi harus berasal dari direktori tertentu pada disk lokal. Perintah ini hanya dapat digunakan oleh modul root. Dengan kata lain, jika modul menentukan penggantian apa pun, perintah ini tidak dapat digunakan sebagai dependensi oleh pihak lain.
Parameter
Parameter | Deskripsi |
---|---|
module_name
|
wajib Nama dependensi modul Bazel yang akan menerima penggantian ini. |
path
|
wajib Jalur ke direktori tempat modul ini berada. |
maks.
unknown max(*args)Menampilkan argumen terbesar dari semua argumen yang diberikan. Jika hanya satu argumen yang diberikan, maka tidak boleh kosong dan tidak dapat diubah.Merupakan error jika elemen tidak sebanding (misalnya int dengan string), atau jika tidak ada argumen yang diberikan.
max(2, 5, 4) == 5 max([5, 6, 3]) == 6
Parameter
Parameter | Deskripsi |
---|---|
args
|
wajib Elemen yang akan diperiksa. |
mnt
unknown min(*args)Menampilkan argumen terkecil dari semua argumen yang diberikan. Jika hanya satu argumen yang disediakan, maka argumen tersebut tidak boleh kosong dan tidak dapat diubah. Error akan terjadi jika elemen tidak sebanding (misalnya int dengan string), atau jika tidak ada argumen yang diberikan.
min(2, 5, 4) == 2 min([5, 6, 3]) == 3
Parameter
Parameter | Deskripsi |
---|---|
args
|
wajib Elemen yang akan diperiksa. |
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 dari modul (seperti nama dan versi), atau memengaruhi perilaku modul saat ini dan dependensinya.
Nama harus dipanggil maksimal sekali. Ini dapat dihilangkan hanya jika modul ini adalah modul root (seperti pada, jika tidak akan bergantung oleh modul lain).
Parameter
Parameter | Deskripsi |
---|---|
name
|
default = '' Nama modul. Dapat dihilangkan hanya jika modul ini adalah modul root (seperti pada modul tersebut, jika tidak 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
|
default = '' Versi modul. Dapat dihilangkan hanya jika modul ini adalah modul root (seperti pada modul tersebut, jika tidak bergantung pada modul lain). |
compatibility_level
|
default = 0 Tingkat kompatibilitas modul; ini harus diubah setiap kali terjadi perubahan besar yang tidak kompatibel. Pada dasarnya, ini 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 berbeda akan 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 namun tingkat kompatibilitas berbeda (kecuali jika multiple_version_override berlaku; lihat di sana untuk mengetahui detail selengkapnya).
|
repo_name
|
default = '' Nama repositori yang mewakili modul ini, seperti yang terlihat oleh modul itu sendiri. Secara default, nama repo adalah nama modul. Ini dapat ditentukan untuk memudahkan migrasi bagi project yang telah menggunakan nama repo untuk dirinya sendiri yang berbeda dengan nama modulnya. |
bazel_compatibility
|
Iterable of strings ;
default = []Daftar versi bazel yang memungkinkan pengguna mendeklarasikan versi Bazel mana yang kompatibel dengan modul ini. Hal 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 koma. Tiga batasan yang didukung: <=X.X.X: Versi Bazel harus sama atau lebih lama dari X.X.X. Digunakan saat ada perubahan yang tidak kompatibel dan diketahui dalam versi yang lebih baru. >=X.X.X: Versi Bazel harus sama atau lebih baru dari X.X.X.X. 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 merusak Anda, tetapi diperbaiki di versi yang lebih baru. |
modul_ekstensi
unknown module_extension(implementation, *, tag_classes={}, doc='')Membuat ekstensi modul baru. Simpan dalam nilai global, sehingga dapat diekspor dan digunakan di file MODULE.bazel.
Parameter
Parameter | Deskripsi |
---|---|
implementation
|
wajib Fungsi yang mengimplementasikan ekstensi modul ini. Harus mengambil satu parameter, module_ctx . Fungsi ini dipanggil sekali di awal build untuk menentukan kumpulan repo yang tersedia.
|
tag_classes
|
default = {} Kamus untuk mendeklarasikan semua class tag yang digunakan oleh ekstensi. Fungsi ini dipetakan dari nama class tag ke objek tag_class .
|
doc
|
default = '' Deskripsi ekstensi modul yang dapat diekstrak oleh alat pembuat dokumentasi. |
beberapa_versi_ganti
None multiple_version_override(module_name, versions, registry='')Menentukan bahwa dependensi harus tetap berasal dari registry, tetapi beberapa versi dari dependensi tersebut harus diizinkan untuk berdampingan. Perintah ini hanya dapat digunakan oleh modul root. Dengan kata lain, jika modul menentukan penggantian apa pun, perintah ini tidak dapat digunakan sebagai dependensi oleh pihak lain.
Parameter
Parameter | Deskripsi |
---|---|
module_name
|
wajib Nama dependensi modul Bazel yang akan menerima penggantian ini. |
versions
|
Iterable of strings ;
diperlukanMenentukan versi yang diizinkan untuk berdampingan secara eksplisit. Versi ini harus sudah ada di pra-pemilihan grafik dependensi. Dependensi pada modul ini akan "diupgrade" ke versi tertinggi yang diizinkan terdekat pada tingkat kompatibilitas yang sama, sedangkan dependensi yang memiliki versi lebih tinggi dari versi yang diizinkan di tingkat kompatibilitas yang sama akan menyebabkan error. |
registry
|
default = '' Mengganti registry untuk modul ini; registry ini harus digunakan, bukan menemukan modul ini dari daftar default registry. |
cetak
None print(sep=" ", *args)Mencetak
args
sebagai output debug. Ini akan diawali dengan string "DEBUG"
dan lokasi (file dan nomor baris) panggilan ini. Cara persis mengonversi argumen menjadi string tidak ditentukan dan dapat berubah kapan saja. Secara khusus, mungkin berbeda dengan (dan lebih mendetail daripada) pemformatan yang dilakukan oleh str()
dan repr()
.Menggunakan print
dalam kode produksi tidak disarankan karena spam yang dibuatnya untuk pengguna. Untuk penghentian penggunaan, pilih error yang berat menggunakan fail()
jika memungkinkan.
Parameter
Parameter | Deskripsi |
---|---|
sep
|
default = " " String pemisah antara objek, default-nya adalah spasi (" "). |
args
|
diperlukan Objek yang akan dicetak. |
penyedia
unknown provider(doc='', *, fields=None, init=None)Menentukan simbol penyedia. Penyedia dapat dibuat instance-nya dengan memanggilnya, atau digunakan langsung sebagai kunci untuk mengambil instance penyedia tersebut dari target. Contoh:
MyInfo = provider() ... def _my_library_impl(ctx): ... my_info = MyInfo(x = 2, y = 3) # my_info.x == 2 # my_info.y == 3 ...
Lihat Aturan (Penyedia) untuk panduan komprehensif tentang cara menggunakan penyedia.
Menampilkan nilai callable Provider
jika init
tidak ditentukan.
Jika init
ditentukan, akan menampilkan tuple 2 elemen: nilai callable Provider
dan nilai callable konstruktor mentah. Lihat Aturan (Inisialisasi kustom penyedia kustom) dan diskusi tentang parameter init
di bawah untuk mengetahui detailnya.
Parameter
Parameter | Deskripsi |
---|---|
doc
|
default = '' Deskripsi penyedia yang dapat diekstrak dengan alat pembuat dokumentasi. |
fields
|
sequence of strings; or dict; or None ;
default = NoneJika ditentukan, akan membatasi kumpulan kolom yang diizinkan. Nilai yang memungkinkan adalah:
|
init
|
callable; or None ;
default = NoneCallback opsional untuk pra-pemrosesan dan memvalidasi nilai kolom penyedia selama pembuatan instance. Jika init ditentukan, provider() akan menampilkan tuple 2 elemen: simbol penyedia normal dan konstruktor mentah.Deskripsi persis sebagai berikut; lihat Aturan (Inisialisasi kustom penyedia) untuk diskusi dan kasus penggunaan yang intuitif. Biarkan
init tidak diberikan, panggilan ke simbol P tersebut akan bertindak sebagai panggilan ke fungsi konstruktor default c ; dengan kata lain, P(*args, **kwargs) menampilkan c(*args, **kwargs) . Misalnya,MyInfo = provider() m = MyInfo(foo = 1)akan membuatnya sederhana sehingga m adalah instance MyInfo dengan m.foo == 1 .Namun, jika
Catatan: langkah-langkah di atas menyiratkan bahwa error terjadi jika Dengan cara ini, callback Jika MyInfo, _new_myinfo = provider(init = ...) |
rentang
sequence range(start_or_stop, stop_or_none=None, step=1)Membuat daftar tempat item beralih dari
start
ke stop
menggunakan penambahan step
. Jika satu argumen diberikan, item akan berkisar dari 0 hingga elemen tersebut.range(4) == [0, 1, 2, 3] range(3, 9, 2) == [3, 5, 7] range(3, 0, -1) == [3, 2, 1]
Parameter
Parameter | Deskripsi |
---|---|
start_or_stop
|
wajib Nilai elemen awal jika perhentian diberikan, jika tidak, nilai perhentian dan awal sebenarnya adalah 0 |
stop_or_none
|
int; or None ;
default = Tidak adaindeks opsional item pertama tidak akan disertakan dalam daftar yang dihasilkan; pembuatan daftar akan berhenti sebelum stop tercapai.
|
step
|
default = 1 Kenaikan (defaultnya adalah 1). Nilai tersebut mungkin negatif. |
register_Execution_platforms()
None register_execution_platforms(*platform_labels)Daftarkan platform yang sudah ditentukan sehingga Bazel dapat menggunakannya sebagai platform eksekusi selama resolusi toolchain.
Parameter
Parameter | Deskripsi |
---|---|
platform_labels
|
sequence of strings ;
wajibLabel platform yang akan didaftarkan. |
register_Execution_platforms()
None register_execution_platforms(*platform_labels)Menentukan platform eksekusi yang sudah ditentukan untuk didaftarkan saat modul ini dipilih. Harus berupa pola target absolut (misalnya, dimulai dengan
@
atau //
). Lihat resolusi toolchain untuk informasi selengkapnya.
Parameter
Parameter | Deskripsi |
---|---|
platform_labels
|
sequence of strings ;
wajibLabel platform yang akan didaftarkan. |
register_Toolchain
None register_toolchains(*toolchain_labels)Daftarkan toolchain yang sudah ditentukan sehingga Bazel dapat menggunakannya selama resolusi toolchain. Lihat contoh cara menentukan dan mendaftarkan toolchain.
Parameter
Parameter | Deskripsi |
---|---|
toolchain_labels
|
sequence of strings ;
wajibLabel toolchain untuk didaftarkan. |
register_Toolchain
None register_toolchains(*toolchain_labels)Menentukan toolchain yang telah ditentukan untuk didaftarkan saat modul ini dipilih. Harus berupa pola target absolut (misalnya, dimulai dengan
@
atau //
). Lihat resolusi toolchain untuk informasi selengkapnya.
Parameter
Parameter | Deskripsi |
---|---|
toolchain_labels
|
sequence of strings ;
wajibLabel toolchain untuk didaftarkan. |
repositori_rule(implementasi, atribut, lokal, lingkungan, konfigurasi, jarak jauh, dokumen)
callable repository_rule(implementation, *, attrs=None, local=False, environ=[], configure=False, remotable=False, doc='')Membuat aturan repositori baru. Simpan dalam nilai global, sehingga dapat dimuat dan dipanggil dari file WORKSPACE.
Parameter
Parameter | Deskripsi |
---|---|
implementation
|
diperlukan fungsi yang menerapkan aturan ini. Harus memiliki satu parameter, repository_ctx . Fungsi ini dipanggil selama fase pemuatan untuk setiap instance aturan.
|
attrs
|
dict; or None ;
default = Nonekamus untuk mendeklarasikan semua atribut aturan. Ini dipetakan dari nama atribut ke objek atribut (lihat modul attr). Atribut yang dimulai dengan _ bersifat pribadi, dan dapat digunakan untuk menambahkan dependensi implisit pada label ke file (aturan repositori tidak dapat bergantung pada artefak yang dihasilkan). Atribut name ditambahkan secara implisit dan tidak boleh ditentukan.
|
local
|
default = False Menunjukkan bahwa aturan ini mengambil semuanya dari sistem lokal dan harus dievaluasi ulang pada setiap pengambilan. |
environ
|
sequence of strings ;
default = []Memberikan daftar variabel lingkungan tempat aturan repositori ini bergantung. Jika variabel lingkungan dalam daftar tersebut berubah, repositori akan diambil ulang. |
configure
|
default = False Tunjukkan bahwa repositori memeriksa sistem untuk tujuan konfigurasi |
remotable
|
default = Salah Eksperimental. Parameter ini bersifat eksperimental dan dapat berubah kapan saja. Jangan bergantung padanya. Ini dapat diaktifkan secara eksperimental dengan menyetel ---experimental_repo_remote_exec Kompatibel dengan eksekusi jarak jauh |
doc
|
default = '' Deskripsi aturan repositori yang dapat diekstrak oleh alat pembuat dokumentasi. |
repositori_rule(implementasi, atribut, lokal, lingkungan, konfigurasi, jarak jauh, dokumen)
callable repository_rule(implementation, *, attrs=None, local=False, environ=[], configure=False, remotable=False, doc='')Membuat aturan repositori baru. Simpan dalam nilai global, sehingga dapat dimuat dan dipanggil dari file WORKSPACE.
Parameter
Parameter | Deskripsi |
---|---|
implementation
|
diperlukan fungsi yang menerapkan aturan ini. Harus memiliki satu parameter, repository_ctx . Fungsi ini dipanggil selama fase pemuatan untuk setiap instance aturan.
|
attrs
|
dict; or None ;
default = Nonekamus untuk mendeklarasikan semua atribut aturan. Ini dipetakan dari nama atribut ke objek atribut (lihat modul attr). Atribut yang dimulai dengan _ bersifat pribadi, dan dapat digunakan untuk menambahkan dependensi implisit pada label ke file (aturan repositori tidak dapat bergantung pada artefak yang dihasilkan). Atribut name ditambahkan secara implisit dan tidak boleh ditentukan.
|
local
|
default = False Menunjukkan bahwa aturan ini mengambil semuanya dari sistem lokal dan harus dievaluasi ulang pada setiap pengambilan. |
environ
|
sequence of strings ;
default = []Memberikan daftar variabel lingkungan tempat aturan repositori ini bergantung. Jika variabel lingkungan dalam daftar tersebut berubah, repositori akan diambil ulang. |
configure
|
default = False Tunjukkan bahwa repositori memeriksa sistem untuk tujuan konfigurasi |
remotable
|
default = Salah Eksperimental. Parameter ini bersifat eksperimental dan dapat berubah kapan saja. Jangan bergantung padanya. Ini dapat diaktifkan secara eksperimental dengan menyetel ---experimental_repo_remote_exec Kompatibel dengan eksekusi jarak jauh |
doc
|
default = '' Deskripsi aturan repositori yang dapat diekstrak oleh alat pembuat dokumentasi. |
PR
string repr(x)Mengonversi objek apa pun menjadi representasi string. Hal ini berguna untuk proses debug.
repr("ab") == '"ab"'
Parameter
Parameter | Deskripsi |
---|---|
x
|
wajib Objek yang akan dikonversi. |
dibalik
list reversed(sequence)Menampilkan daftar baru yang tidak dibekukan yang berisi elemen urutan iterable asli dalam urutan terbalik.
reversed([3, 5, 4]) == [4, 5, 3]
Parameter
Parameter | Deskripsi |
---|---|
sequence
|
diperlukan Urutan yang dapat diulang (misalnya daftar) akan dibalik. |
aturan
callable rule(implementation, test=False, attrs=None, outputs=None, executable=False, output_to_genfiles=False, fragments=[], host_fragments=[], _skylark_testable=False, toolchains=[], incompatible_use_toolchain_transition=False, doc='', *, provides=[], exec_compatible_with=[], analysis_test=False, build_setting=None, cfg=None, exec_groups=None, compile_one_filetype=None, name=None)Membuat aturan baru, yang dapat dipanggil dari file BUILD atau makro untuk membuat target.
Aturan harus ditetapkan ke variabel global dalam file .bzl; nama variabel global adalah nama aturan.
Aturan pengujian harus memiliki nama yang diakhiri dengan _test
, sementara semua aturan lainnya tidak boleh memiliki akhiran ini. (Pembatasan ini hanya berlaku untuk aturan, bukan untuk target.)
Parameter
Parameter | Deskripsi |
---|---|
implementation
|
diperlukan fungsi Starlark yang menerapkan aturan ini, harus memiliki satu parameter: ctx. Fungsi ini dipanggil selama fase analisis untuk setiap instance aturan. Elemen ini dapat mengakses atribut yang disediakan oleh pengguna. Aplikasi harus membuat tindakan untuk menghasilkan semua output yang dideklarasikan. |
test
|
default = False Baik aturan ini adalah aturan pengujian, yaitu, apakah aturan tersebut dapat menjadi subjek perintah blaze test . Semua aturan pengujian secara otomatis dianggap dapat dieksekusi; tidak perlu (dan tidak disarankan) untuk menetapkan executable = True secara eksplisit untuk aturan pengujian. Lihat halaman Aturan untuk mengetahui informasi selengkapnya.
|
attrs
|
dict; or None ;
default = Nonekamus untuk mendeklarasikan semua atribut aturan. Ini dipetakan dari nama atribut ke objek atribut (lihat modul attr). Atribut yang dimulai dengan _ bersifat pribadi, dan dapat digunakan untuk menambahkan dependensi implisit pada label. Atribut name ditambahkan secara implisit dan tidak boleh ditentukan. Atribut visibility , deprecation , tags , testonly , dan features ditambahkan secara implisit dan tidak dapat diganti. Sebagian besar aturan hanya memerlukan beberapa atribut. Untuk membatasi penggunaan memori, fungsi aturan menerapkan batas pada ukuran atribut.
|
outputs
|
dict; or None; or function ;
default = Tidak adaTidak digunakan lagi. Parameter ini tidak digunakan lagi dan akan segera dihapus. Jangan bergantung padanya. Fitur ini dinonaktifkan dengan ---incompatible_no_rule_outputs_param . Gunakan tanda ini untuk memverifikasi bahwa kode Anda kompatibel dengan segera penghapusannya. Parameter ini tidak digunakan lagi. Migrasikan aturan untuk menggunakan OutputGroupInfo atau attr.output . Skema untuk menentukan output yang telah dideklarasikan sebelumnya. Tidak seperti atribut Nilai argumen ini dapat berupa kamus atau fungsi callback yang menghasilkan kamus. Callback bekerja mirip dengan atribut dependensi yang dihitung: Nama parameter fungsi dicocokkan dengan atribut aturan, misalnya jika Anda meneruskan Setiap entri dalam kamus membuat output yang telah dideklarasikan sebelumnya dengan kunci sebagai ID dan nilainya adalah template string yang menentukan label output. Dalam fungsi implementasi aturan, ID akan menjadi nama kolom yang digunakan untuk mengakses
Dalam praktiknya, placeholder substitusi yang paling umum adalah |
executable
|
default = False Apakah aturan ini dianggap dapat dieksekusi, yaitu, apakah aturan tersebut adalah subjek perintah blaze run . Lihat halaman Aturan untuk mengetahui informasi selengkapnya.
|
output_to_genfiles
|
default = False Jika true (benar), file akan dibuat di direktori genfiles, bukan di direktori bin. Kecuali jika diperlukan untuk kompatibilitas dengan aturan yang ada (misalnya saat membuat file header untuk C++), jangan setel tanda ini. |
fragments
|
sequence of strings ;
default = []Daftar nama fragmen konfigurasi yang diperlukan aturan dalam konfigurasi target. |
host_fragments
|
sequence of strings ;
default = []Daftar nama fragmen konfigurasi yang diperlukan aturan dalam konfigurasi host. |
_skylark_testable
|
default = False (Eksperimental) Jika true (benar), aturan ini akan mengekspos tindakannya untuk diperiksa oleh aturan yang bergantung padanya melalui penyedia Actions. Penyedia juga tersedia untuk aturan itu sendiri dengan memanggil ctx.created_actions(). Ini hanya boleh digunakan untuk menguji perilaku waktu analisis aturan Starlark. Flag ini dapat dihapus di masa mendatang. |
toolchains
|
sequence ;
default = []Jika disetel, kumpulan toolchain yang diperlukan aturan ini. Daftar ini dapat berisi objek String, Label, atau Starlark Toolchain, dalam kombinasi apa pun. Toolchain akan ditemukan dengan memeriksa platform saat ini, dan diberikan ke penerapan aturan melalui ctx.toolchain .
|
incompatible_use_toolchain_transition
|
default = False Tidak digunakan lagi, ini tidak lagi digunakan dan harus dihapus. |
doc
|
default = '' Deskripsi aturan yang dapat diekstrak oleh alat pembuat dokumentasi. |
provides
|
default = [] Daftar penyedia yang harus ditampilkan oleh fungsi implementasi. Suatu error akan dianggap sebagai fungsi implementasi menghapus salah satu jenis penyedia yang tercantum di sini dari nilai hasil. Namun, fungsi implementasi dapat menampilkan penyedia tambahan yang tidak tercantum di sini. Setiap elemen daftar adalah objek |
exec_compatible_with
|
sequence of strings ;
default = []Daftar batasan pada platform eksekusi yang berlaku untuk semua target jenis aturan ini. |
analysis_test
|
default = False Jika true (benar), aturan ini diperlakukan sebagai pengujian analisis. Catatan: Aturan pengujian analisis umumnya ditentukan menggunakan infrastruktur yang disediakan di library Starlark inti. Lihat Pengujian untuk panduan. Jika aturan didefinisikan sebagai aturan pengujian analisis, aturan tersebut diizinkan untuk menggunakan transisi konfigurasi yang ditentukan menggunakan analisis_test_Transition pada atributnya, tetapi memilih untuk ikut serta dalam beberapa batasan:
|
build_setting
|
BuildSetting; or None ;
default = NoneJika ditetapkan, mendeskripsikan jenis build setting aturan ini. Lihat modul config . Jika disetel, atribut wajib bernama "build_setting_default" secara otomatis ditambahkan ke aturan ini, dengan jenis yang sesuai dengan nilai yang diteruskan di sini.
|
cfg
|
default = Tidak ada Jika ditetapkan, transisi ke aturan konfigurasi akan diterapkan ke konfigurasinya sendiri sebelum analisis. |
exec_groups
|
dict; or None ;
default = NoneDikte nama grup eksekusi (string) menjadi exec_group s. Jika ditetapkan, memungkinkan aturan untuk menjalankan tindakan di beberapa platform eksekusi dalam satu target. Lihat dokumentasi grup eksekusi untuk info selengkapnya.
|
compile_one_filetype
|
sequence of strings; or None ;
default = NoneDigunakan oleh --compile_one_Dependencies: jika beberapa aturan menggunakan file yang ditentukan, apakah kami harus memilih aturan ini daripada yang lain. |
name
|
string; or None ;
default = Tidak adaTidak digunakan lagi. Parameter ini tidak digunakan lagi dan akan segera dihapus. Jangan bergantung padanya. Fitur ini dinonaktifkan dengan --+incompatible_remove_rule_name_parameter . Gunakan tanda ini untuk memverifikasi bahwa kode Anda kompatibel dengan segera penghapusannya. Tidak digunakan lagi: jangan digunakan. Nama aturan ini, seperti yang dipahami oleh Bazel dan dilaporkan dalam konteks seperti logging, Jika parameter ini dihilangkan, nama aturan akan ditetapkan ke nama variabel global Starlark pertama yang akan dikaitkan ke aturan ini dalam modul .bzl yang mendeklarasikannya. Dengan demikian, Menentukan nama eksplisit untuk aturan tidak mengubah tempat Anda diizinkan untuk membuat instance aturan. |
pilih
unknown select(x, no_match_error='')
select()
adalah fungsi bantuan yang membuat atribut aturan dapat dikonfigurasi. Lihat membuat ensiklopedia untuk mengetahui detailnya.
Parameter
Parameter | Deskripsi |
---|---|
x
|
wajib Dikte yang memetakan kondisi konfigurasi ke nilai. Setiap kunci adalah Label atau string label yang mengidentifikasi instance config_setting atau constraint_value. Lihat dokumentasi tentang makro untuk mengetahui kapan harus menggunakan Label, bukan string. |
no_match_error
|
default = '' Error kustom opsional untuk dilaporkan jika tidak ada kondisi yang cocok. |
penggantian versi tunggal
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 yang diterapkan. Perintah ini hanya dapat digunakan oleh modul root. Dengan kata lain, jika modul menentukan penggantian apa pun, perintah ini tidak dapat digunakan sebagai dependensi oleh pihak lain.
Parameter
Parameter | Deskripsi |
---|---|
module_name
|
wajib Nama dependensi modul Bazel yang akan menerima penggantian ini. |
version
|
default = '' Mengganti versi yang dideklarasikan untuk modul ini dalam grafik dependensi. Dengan kata lain, modul ini akan "disematkan" ke versi penggantian ini. Atribut ini dapat dihilangkan jika semua yang ingin Anda ganti adalah registry atau patch. |
registry
|
default = '' Mengganti registry untuk modul ini; registry ini harus digunakan, bukan menemukan modul ini dari daftar default registry. |
patches
|
Iterable of strings ;
default = []Daftar label yang mengarah ke file patch yang akan diterapkan untuk modul ini. File patch harus ada di hierarki sumber project level atas. Aturan tersebut diterapkan dalam urutan daftar. |
patch_cmds
|
Iterable of strings ;
default = []Urutan perintah Bash yang akan diterapkan di Linux/Macos setelah patch diterapkan. |
patch_strip
|
default = 0 Sama dengan argumen --strip patch Unix. |
diurutkan
list sorted(iterable, *, key=None, reverse=False)Menampilkan daftar diurutkan baru yang berisi semua elemen dari urutan iterable yang disediakan. Error dapat terjadi jika pasangan elemen x, y mungkin tidak dibandingkan menggunakan x < y. Elemen diurutkan ke dalam urutan menaik, kecuali argumen terbaliknya adalah True, dalam hal ini urutannya menurun. Pengurutan stabil: elemen yang membandingkan elemen yang sama mempertahankan urutan relatif aslinya.
sorted([3, 5, 4]) == [3, 4, 5]
Parameter
Parameter | Deskripsi |
---|---|
iterable
|
diperlukan Urutan yang dapat diulang untuk diurutkan. |
key
|
default = Tidak ada Fungsi opsional yang diterapkan pada setiap elemen sebelum dibandingkan. |
reverse
|
default = False Menampilkan hasil dalam urutan menurun. |
Str
string str(x)Mengonversi objek apa pun menjadi string. Hal ini berguna untuk proses debug.
str("ab") == "ab" str(8) == "8"
Parameter
Parameter | Deskripsi |
---|---|
x
|
wajib Objek yang akan dikonversi. |
tag_class
tag_class tag_class(attrs={}, *, doc='')Membuat objek tag_class baru, yang menentukan skema atribut untuk class tag, yang merupakan objek data yang dapat digunakan oleh ekstensi modul.
Parameter
Parameter | Deskripsi |
---|---|
attrs
|
default = {} Kamus untuk mendeklarasikan semua atribut dari kelas tag ini. Ini dipetakan dari nama atribut ke objek atribut (lihat modul attr). |
doc
|
default = '' Deskripsi class tag yang dapat diekstrak oleh alat pembuat dokumentasi. |
tuple
tuple tuple(x=())Menampilkan tuple dengan elemen yang sama dengan nilai iterable yang diberikan.
tuple([1, 2]) == (1, 2) tuple((2, 3, 2)) == (2, 3, 2) tuple({5: "a", 2: "b", 4: "c"}) == (5, 2, 4)
Parameter
Parameter | Deskripsi |
---|---|
x
|
default = () Objek yang akan dikonversi. |
jenis
string type(x)Menampilkan nama jenis argumennya. Hal ini berguna untuk proses debug dan pemeriksaan jenis. Contoh:
type(2) == "int" type([1]) == "list" type(struct(a = 2)) == "struct"Fungsi ini dapat berubah di masa mendatang. Untuk menulis kode yang kompatibel dengan Python dan agar tahan terhadap masa depan, gunakan kode ini hanya untuk membandingkan nilai return:
if type(x) == type([]): # if x is a list
Parameter
Parameter | Deskripsi |
---|---|
x
|
wajib Objek yang akan diperiksa jenisnya. |
use_extension
module_extension_proxy use_extension(extension_bzl_file, extension_name, *, dev_dependency=False)Menampilkan objek proxy yang mewakili ekstensi modul; metodenya dapat dipanggil untuk membuat tag ekstensi modul.
Parameter
Parameter | Deskripsi |
---|---|
extension_bzl_file
|
wajib Label ke file Starlark yang menentukan ekstensi modul. |
extension_name
|
wajib Nama ekstensi modul yang akan digunakan. Simbol dengan nama ini harus diekspor oleh file Starlark. |
dev_dependency
|
default = False Jika true (benar), penggunaan ekstensi modul ini akan diabaikan jika modul saat ini bukan modul root atau `--ignore_dev_dependensi` diaktifkan. |
gunakan_repo
None use_repo(extension_proxy, *args, **kwargs)Mengimpor satu repositori atau lebih yang dihasilkan oleh ekstensi modul tertentu ke dalam cakupan modul saat ini.
Parameter
Parameter | Deskripsi |
---|---|
extension_proxy
|
diperlukan Objek proxy ekstensi modul yang ditampilkan oleh panggilan use_extension .
|
args
|
wajib Nama repo yang akan diimpor. |
kwargs
|
diperlukan 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. |
visibilitas
None visibility(value)
Menetapkan visibilitas pemuatan modul .bzl yang sedang diinisialisasi.
Visibilitas pemuatan modul mengatur apakah file BUILD dan .bzl lainnya dapat memuatnya atau tidak. (Ini berbeda dengan visibilitas target file sumber .bzl yang mendasarinya, yang mengatur apakah file tersebut dapat muncul sebagai dependensi target lain.) Visibilitas pemuatan bekerja pada level paket: Untuk memuat modul, file yang melakukan pemuatan harus berada dalam paket yang telah diberi visibilitas ke modul. Modul selalu dapat dimuat dalam paketnya sendiri, terlepas dari visibilitasnya.
visibility()
hanya dapat dipanggil sekali per file .bzl, dan hanya di tingkat atas, bukan di dalam fungsi. Gaya yang lebih disukai adalah menempatkan panggilan ini tepat di bawah pernyataan load()
dan logika singkat apa pun yang diperlukan untuk menentukan argumen.
Jika flag --check_bzl_visibility
disetel ke salah (false), pelanggaran visibilitas pemuatan akan menampilkan peringatan, tetapi tidak menggagalkan build.
Parameter
Parameter | Deskripsi |
---|---|
value
|
wajib Daftar string spesifikasi paket, atau string spesifikasi paket tunggal. Spesifikasi paket mengikuti format yang sama seperti untuk
Sintaksis "@" tidak diizinkan; semua spesifikasi ditafsirkan relatif terhadap repositori modul saat ini. Jika Perhatikan bahwa flag |
ruang kerja
None workspace(name)
Fungsi ini hanya dapat digunakan dalam file WORKSPACE
dan harus dideklarasikan sebelum semua fungsi lain dalam file WORKSPACE
. Setiap file WORKSPACE
harus memiliki fungsi workspace
.
Menetapkan nama untuk ruang kerja ini. Nama Workspace harus berupa deskripsi project bergaya paket Java, menggunakan garis bawah sebagai pemisah, misalnya github.com/bazelbuild/bazel harus menggunakan com_github_bazelbuild_bazel.
Nama ini digunakan untuk direktori tempat runfile repositori disimpan. Misalnya, jika terdapat foo/bar
runfile di repositori lokal dan file WORKSPACE berisi workspace(name = 'baz')
, maka runfile akan tersedia di bagian mytarget.runfiles/baz/foo/bar
. Jika nama ruang kerja tidak ditentukan, runfile akan symlink ke bar.runfiles/foo/bar
.
Nama aturan repositori jarak jauh harus berupa nama ruang kerja yang valid. Misalnya, Anda dapat memiliki maven_jar(name = 'foo')
, tetapi bukan maven_jar(name = 'foo%bar')
, karena Bazel akan mencoba menulis file WORKSPACE untuk maven_jar
yang berisi workspace(name = 'foo%bar')
.
Parameter
Parameter | Deskripsi |
---|---|
name
|
wajib nama ruang kerja. Nama harus diawali dengan huruf dan hanya boleh berisi huruf, angka, garis bawah, tanda hubung, dan titik. |
zip
list zip(*args)Menampilkan
list
dari tuple
, dengan tuple i-th berisi elemen i-th dari setiap urutan argumen atau iterable. Daftar ini memiliki ukuran input terpendek. Dengan argumen iterable tunggal, metode ini menampilkan daftar 1 tuple. Tanpa argumen, class ini akan menampilkan daftar kosong. Contoh:zip() # == [] zip([1, 2]) # == [(1,), (2,)] zip([1, 2], [3, 4]) # == [(1, 3), (2, 4)] zip([1, 2], [3, 4, 5]) # == [(1, 3), (2, 4)]
Parameter
Parameter | Deskripsi |
---|---|
args
|
daftar yang diperlukan untuk zip. |