Pelanggan
- semua
- analysis_test_transition
- apa pun
- archive_override
- aspek
- bazel_dep
- bind
- bool
- configuration_field
- dependensi
- dict
- dir
- enumerasi
- exec_group
- gagal
- float
- getattr
- git_override
- hasattr
- hash
- int
- len
- list
- local_path_override
- max
- mnt
- module
- module_extension
- multiple_version_override
- penyedia
- range
- register_execution_platforms()
- register_execution_platforms(dev_dependency)
- register_toolchains()
- register_toolchains(dev_dependency)
- repository_rule
- repr
- dibalik
- aturan
- pilih
- single_version_override
- diurutkan
- str
- tag_class
- tuple
- jenis
- use_extension
- use_repo
- visibilitas
- ruang kerja
- zip
semua
bool all(elements)Menampilkan true (benar) jika semua elemen bernilai Benar (True) atau jika kumpulan kosong. Elemen dikonversi ke boolean menggunakan fungsi bool.
all(["hello", 3, True]) == True all([-1, 0, 1]) == False
Parameter
Parameter | Deskripsi |
---|---|
elements
|
wajib String atau kumpulan elemen. |
analysis_test_transition
transition analysis_test_transition(settings)
Membuat transisi konfigurasi untuk diterapkan pada dependensi aturan analysis-test. Transisi ini hanya dapat diterapkan pada atribut aturan dengan analysis_test = True
. Kemampuan aturan tersebut dibatasi (misalnya, ukuran hierarki dependensinya terbatas), sehingga transisi yang dibuat menggunakan fungsi ini memiliki cakupan potensial yang terbatas jika dibandingkan dengan transisi yang dibuat menggunakan transisi.
Fungsi ini terutama dirancang untuk memfasilitasi library inti Analysis Test Framework. Lihat dokumentasi (atau penerapannya) untuk mengetahui praktik terbaik.
Parameter
Parameter | Deskripsi |
---|---|
settings
|
diperlukan Kamus yang berisi informasi tentang setelan konfigurasi yang harus disetel oleh transisi konfigurasi ini. Kunci adalah label setelan build dan nilai merupakan nilai pascatransisi yang baru. Semua setelan lainnya tidak berubah. Gunakan ini untuk mendeklarasikan setelan konfigurasi tertentu yang harus ditetapkan oleh pengujian analisis agar dapat lulus. |
apa pun
bool any(elements)Menampilkan nilai benar jika setidaknya satu elemen bernilai Benar. Elemen dikonversi ke boolean menggunakan fungsi bool.
any([-1, 0, 1]) == True any([False, 0, ""]) == False
Parameter
Parameter | Deskripsi |
---|---|
elements
|
wajib String atau kumpulan elemen. |
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
|
wajib Nama dependensi modul Bazel yang menjadi tujuan penerapan penggantian ini. |
urls
|
string; or Iterable of strings ;
wajibURL arsip; dapat berupa URL http(s):// atau file://. |
integrity
|
default = '' Checksum yang diharapkan dari file arsip, dalam format Subresource Integrity. |
strip_prefix
|
default = '' Awalan direktori yang akan dihapus dari file yang diekstrak. |
patches
|
Iterable of strings ;
default = []Daftar label yang mengarah ke file patch untuk diterapkan ke modul ini. File patch harus ada di hierarki sumber project level atas. Kolom tersebut diterapkan sesuai 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 seperti 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 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 di sepanjang dependensi yang ditentukan dalam atribut target dengan nama ini. Nilai umum di sini mencakup deps dan exports . Daftar ini juga dapat berisi string tunggal "*" untuk disebarkan di sepanjang semua dependensi target.
|
attrs
|
dict; or None ;
default = Tidak adaKamus yang mendeklarasikan semua atribut aspek. Elemen ini memetakan 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 propagasinya hanya ke target yang aturannya mengiklankan penyedia yang diperlukan. Nilai harus berupa daftar yang berisi penyedia individual atau daftar penyedia, tetapi bukan 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, Agar beberapa aturan (misalnya, |
required_aspect_providers
|
default = [] Atribut ini memungkinkan aspek ini memeriksa aspek lain. Nilai harus berupa daftar yang berisi penyedia individual atau daftar penyedia, tetapi bukan 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, Agar aspek lain (misalnya, |
provides
|
default = [] Daftar penyedia yang harus ditampilkan oleh fungsi penerapan. Akan terjadi error jika fungsi implementasi menghilangkan jenis penyedia yang tercantum di sini dari nilai yang ditampilkan. 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 perlu diterapkan 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, set toolchain yang diperlukan aturan ini. Daftar dapat berisi objek String, Label, atau StarlarkToolchainTypeApi, 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, tidak lagi digunakan dan harus dihapus. |
doc
|
default = '' Deskripsi aspek yang dapat diekstrak dengan alat pembuat dokumentasi. |
apply_to_generating_rules
|
default = False Jika benar, aspek akan, saat diterapkan ke file output, akan berlaku untuk aturan pembuatan file output. Misalnya, aspek menyebarkan secara transitif melalui atribut `deps` dan diterapkan ke `alpha` target. Misalkan `alpha` memiliki `deps = [':beta_output']`, dengan `beta_output` adalah output yang dideklarasikan dari target `beta`. Misalkan `beta` memiliki target `charlie` sebagai salah satu `alphas`-nya. Jika `apply_to_generated_rules=True aspek, maka akan menerapkan `Falsechar` untuk aspek `False`. 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 = NoneDict nama grup eksekusi (string) ke exec_group s. Jika ditetapkan, aspek dapat menjalankan tindakan di beberapa platform eksekusi dalam satu instance. Lihat dokumentasi grup eksekusi untuk info selengkapnya.
|
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
|
diperlukan Nama modul yang akan ditambahkan sebagai dependensi langsung. |
version
|
default = '' Versi modul yang akan ditambahkan sebagai dependensi langsung. |
max_compatibility_level
|
default = -1compatibility_level maksimum yang didukung untuk modul yang akan ditambahkan sebagai dependensi langsung. Versi modul menyiratkan kompatibilitas_level minimum yang didukung, serta maksimum jika atribut ini tidak ditentukan.
|
repo_name
|
default = '' Nama repositori 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_dependency` diaktifkan. |
bind
None bind(name, actual=None)
Peringatan: penggunaan bind()
tidak direkomendasikan. Lihat Mempertimbangkan penghapusan ikatan untuk diskusi panjang tentang masalah dan alternatifnya.
Memberikan alias kepada target dalam paket //external
.
Parameter
Parameter | Deskripsi |
---|---|
name
|
wajib Label di bawah '//eksternal' yang berfungsi sebagai nama alias |
actual
|
string; or None ;
default = Tidak adaLabel asli yang akan diberi alias |
bool
bool bool(x=False)Konstruktor untuk jenis bool. Metode ini akan menampilkan
False
jika objeknya adalah None
, False
, string kosong (""
), angka 0
, atau koleksi kosong (misalnya ()
, []
). Jika tidak, metode ini akan menampilkan True
.
Parameter
Parameter | Deskripsi |
---|---|
x
|
default = Salah Variabel yang akan dikonversi. |
configuration_field
LateBoundDefault configuration_field(fragment, name)Mereferensikan nilai default yang terikat akhir untuk atribut jenis label. Nilai 'terikat akhir' jika konfigurasi harus dibuat sebelum menentukan nilai. Atribut apa pun yang menggunakan ini sebagai nilai harus bersifat pribadi.
Contoh penggunaan:
Menentukan atribut aturan:
'_foo': attr.label(default=configuration_field(fragment='java', name='toolchain'))
Mengakses di penerapan aturan:
def _rule_impl(ctx): foo_info = ctx.attr._foo ...
Parameter
Parameter | Deskripsi |
---|---|
fragment
|
required Nama fragmen konfigurasi yang berisi nilai yang terikat akhir. |
name
|
diperlukan Nama nilai yang akan diperoleh dari fragmen konfigurasi. |
dependensi
depset depset(direct=None, order="default", *, transitive=None)Membuat dependensi. Parameter
direct
adalah daftar elemen langsung dari dependensi, dan parameter transitive
adalah daftar dependensi yang elemennya menjadi elemen tidak langsung dari dependensi yang dibuat. Urutan elemen yang ditampilkan saat dependensi dikonversi menjadi daftar ditentukan oleh parameter order
. Lihat Ringkasan Depset untuk mengetahui informasi selengkapnya.
Semua elemen (langsung dan tidak langsung) dari dependensi harus berjenis sama, seperti yang diperoleh dengan ekspresi type(x)
.
Karena kumpulan berbasis hash digunakan untuk menghilangkan duplikat selama iterasi, semua elemen dependensi harus dapat di-hash. Namun, invarian ini saat ini tidak diperiksa secara konsisten di semua konstruktor. Gunakan tanda --incompatible_always_check_depset_element untuk mengaktifkan pemeriksaan yang konsisten; ini akan menjadi perilaku default dalam rilis mendatang; lihat Masalah 10313.
Selain itu, elemen saat ini harus tidak dapat diubah, meskipun pembatasan ini akan dilonggarkan di masa mendatang.
Urutan dependensi yang dibuat harus kompatibel dengan urutan dependensi transitive
-nya. Pesanan "default"
kompatibel dengan pesanan lainnya, semua pesanan lainnya hanya kompatibel dengan pesanan itu sendiri.
Catatan tentang kompatibilitas mundur/maju. Fungsi ini saat ini menerima parameter items
posisi. Fungsi ini tidak digunakan lagi dan akan dihapus pada masa mendatang, dan setelah dihapus, direct
akan menjadi satu-satunya parameter posisi untuk fungsi depset
. Dengan demikian, kedua panggilan berikut setara dan siap menghadapi masa depan:
depset(['a', 'b'], transitive = [...]) depset(direct = ['a', 'b'], transitive = [...])
Parameter
Parameter | Deskripsi |
---|---|
direct
|
sequence; or None ;
default = NoneDaftar elemen langsung dari dependensi. |
order
|
default = "default" Strategi traversal untuk dependensi baru. Lihat di sini untuk nilai yang memungkinkan. |
transitive
|
sequence of depsets; or None ;
default = NoneDaftar dependensi yang elemennya akan menjadi elemen tidak langsung dari dependensi tersebut. |
dict
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 diberikan melalui argumen kata kunci dianggap muncul setelah entri yang diberikan melalui argumen posisional.
Parameter
Parameter | Deskripsi |
---|---|
pairs
|
default = [] dict, atau iterable yang elemennya masing-masing memiliki panjang 2 (kunci, nilai). |
kwargs
|
diperlukan Kamus entri tambahan. |
{i>dir<i}
list dir(x)Menampilkan daftar string: nama atribut dan metode objek parameter.
Parameter
Parameter | Deskripsi |
---|---|
x
|
diperlukan 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. |
exec_group
exec_group exec_group(toolchains=[], exec_compatible_with=[], copy_from_rule=False)Membuat grup eksekusi yang dapat digunakan untuk membuat tindakan untuk platform eksekusi tertentu selama penerapan aturan.
Parameter
Parameter | Deskripsi |
---|---|
toolchains
|
sequence ;
default = []Kumpulan toolchain yang diperlukan grup eksekusi ini. Daftar dapat berisi objek String, Label, atau StarlarkToolchainTypeApi, 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 tempat grup ini terpasang. Jika ditetapkan ke string lain, tindakan ini akan menampilkan error. |
fail
None fail(msg=None, attr=None, *args)Menyebabkan kegagalan eksekusi dengan menampilkan error.
Parameter
Parameter | Deskripsi |
---|---|
msg
|
default = None Tidak digunakan lagi: sebagai gantinya gunakan argumen posisi. Argumen ini bertindak seperti argumen posisi terdepan yang implisit. |
attr
|
string; or None ;
default = Tidak adaTidak digunakan lagi. Menyebabkan awalan opsional yang berisi string ini agar ditambahkan ke pesan error. |
args
|
diperlukan Daftar nilai, yang diformat dengan debugPrint (yang setara dengan str secara default) dan digabungkan dengan spasi, yang muncul di pesan error. |
float
float float(x=unbound)Menampilkan x sebagai nilai float.
- Jika
x
sudah berupa float,float
akan menampilkannya tanpa perubahan. - Jika
x
adalah bool,float
akan menampilkan 1,0 untuk Benar dan 0,0 untuk Salah. - Jika
x
adalah int,float
akan menampilkan nilai floating point terbatas yang terdekat ke x, atau error jika magnitudonya terlalu besar. - Jika
x
adalah string, string tersebut harus berupa literal floating point yang valid, atau sama (mengabaikan huruf besar/kecil) denganNaN
,Inf
, atauInfinity
, yang secara opsional diawali dengan tanda+
atau-
.
float()
akan 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, kode akan menampilkan
default
(jika ditentukan) atau menyebabkan error. getattr(x, "foobar")
setara dengan x.foobar
.getattr(ctx.attr, "myattr") getattr(ctx.attr, "myattr", "mydefault")
Parameter
Parameter | Deskripsi |
---|---|
x
|
diperlukan struct yang atributnya diakses. |
name
|
wajib Nama atribut struct. |
default
|
default = tidak terikat Nilai default yang akan ditampilkan jika struct tidak memiliki atribut dengan nama yang diberikan. |
git_override
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 berlaku di modul root; dengan kata lain, jika modul digunakan sebagai dependensi oleh orang lain, penggantiannya sendiri akan diabaikan.
Parameter
Parameter | Deskripsi |
---|---|
module_name
|
wajib Nama dependensi modul Bazel yang menjadi tujuan penerapan penggantian ini. |
remote
|
diperlukan URL repositori Git jarak jauh. |
commit
|
default = '' Commit yang harus diperiksa. |
patches
|
Iterable of strings ;
default = []Daftar label yang mengarah ke file patch untuk diterapkan ke modul ini. File patch harus ada di hierarki sumber project level atas. Kolom tersebut diterapkan sesuai 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 seperti argumen --strip patch Unix. |
Hasattr
bool hasattr(x, name)Menampilkan Benar jika objek
x
memiliki atribut atau metode name
yang diberikan, jika tidak, menampilkan Salah. Contoh:hasattr(ctx.attr, "myattr")
Parameter
Parameter | Deskripsi |
---|---|
x
|
diperlukan Objek yang akan diperiksa. |
name
|
wajib Nama atribut. |
hash
int hash(value)Menampilkan nilai hash untuk string. Nilai ini dihitung secara deterministik menggunakan algoritma 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 yang akan di-hash. |
int
int int(x, base=unbound)Menampilkan x sebagai nilai int.
- Jika
x
sudah merupakan 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 sampaibase
- 1, dengan huruf a-z (atau ekuivalen, A-Z) digunakan sebagai digit untuk 10-35. Jikabase
adalah 2/8/16,<prefix>
masing-masing bersifat opsional dan mungkin 0b/0o/0x (atau ekuivalen, 0B/0O/0X); jikabase
adalah nilai lain selain basis ini atau nilai khusus 0, awalan harus kosong. Dalam kasus di manabase
adalah 0, string ditafsirkan sebagai literal bilangan bulat, dalam arti bahwa salah satu basis 2/8/10/16 dipilih bergantung pada awalan mana jika ada yang digunakan. Jikabase
adalah 0, tidak ada awalan yang digunakan, dan ada lebih dari satu digit, digit terdepan 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 menuju nol. Ini merupakan error jika x tidak terbatas (NaN atau tidak terhingga).
x
adalah jenis lainnya, atau jika nilainya adalah string yang tidak memenuhi format di atas. Tidak seperti fungsi int
Python, fungsi ini tidak mengizinkan nol argumen, 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
|
diperlukan String yang akan dikonversi. |
base
|
default = tidak terikat Basis yang digunakan untuk menafsirkan nilai string; defaultnya adalah 10. Harus antara 2 dan 36 (inklusif), atau 0 untuk mendeteksi dasar seolah-olah x adalah literal bilangan bulat. Parameter ini tidak boleh diberikan jika nilai 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 durasinya akan dilaporkan. |
list
list list(x=[])Menampilkan daftar baru dengan elemen yang sama seperti 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 di 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
|
wajib Nama dependensi modul Bazel yang menjadi tujuan penerapan penggantian ini. |
path
|
diperlukan Jalur ke direktori tempat modul ini berada. |
maks.
unknown max(*args)Menampilkan salah satu argumen terbesar dari semua argumen yang diberikan. Jika hanya satu argumen yang diberikan, argumen tersebut harus berupa iterable yang tidak kosong.Akan terjadi error jika elemen tidak dapat dibandingkan (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 salah satu terkecil dari semua argumen yang diberikan. Jika hanya satu argumen yang diberikan, argumen tersebut harus berupa iterable yang tidak kosong. Akan terjadi error jika elemen tidak dapat dibandingkan (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 merupakan metadata penting modul (seperti nama dan versi), atau memengaruhi perilaku modul saat ini dan turunannya.
Ini harus dipanggil paling banyak sekali. Elemen ini hanya dapat dihilangkan jika modul ini merupakan modul root (seperti halnya, jika tidak akan bergantung oleh modul lain).
Parameter
Parameter | Deskripsi |
---|---|
name
|
default = '' Nama modul. Dapat dihilangkan hanya jika modul ini merupakan modul root (seperti, jika tidak akan bergantung oleh 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
|
default = '' Versi modul. Dapat dihilangkan hanya jika modul ini merupakan modul root (seperti, jika tidak akan bergantung oleh modul lain). |
compatibility_level
|
default = 0 Tingkat kompatibilitas modul; tingkat ini harus diubah setiap kali terjadi perubahan besar yang tidak kompatibel. Ini pada dasarnya adalah "versi utama" modul dalam kaitannya dengan SemVer, tetapi 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 kompatibilitas yang berbeda (kecuali jika multiple_version_override berlaku; lihat di sana untuk 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. Nama ini dapat ditentukan untuk memudahkan migrasi project yang telah menggunakan nama repo untuk project itu 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. 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 dari 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 saat 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 ketika ada bug dalam X.X.X yang merusak Anda, tetapi diperbaiki dalam versi yang lebih baru. |
module_extension
unknown module_extension(implementation, *, tag_classes={}, doc='', environ=[], os_dependent=False, arch_dependent=False)Membuat ekstensi modul baru. Simpan dalam nilai global agar dapat diekspor dan digunakan dalam file MODULE.bazel.
Parameter
Parameter | Deskripsi |
---|---|
implementation
|
diperlukan Fungsi yang mengimplementasikan ekstensi modul ini. Harus mengambil satu parameter, module_ctx . Fungsi ini dipanggil satu kali di awal build untuk menentukan set repo yang tersedia.
|
tag_classes
|
default = {} Kamus untuk mendeklarasikan semua class tag yang digunakan oleh ekstensi. Class tag ini dipetakan dari nama class tag ke objek tag_class .
|
doc
|
default = '' Deskripsi ekstensi modul yang dapat diekstrak dengan alat pembuat dokumentasi. |
environ
|
sequence of strings ;
default = []Menyediakan daftar variabel lingkungan yang menjadi dependensi ekstensi modul ini. Jika variabel lingkungan dalam daftar tersebut berubah, ekstensi akan dievaluasi ulang. |
os_dependent
|
default = False Menunjukkan apakah ekstensi ini bergantung pada OS atau tidak |
arch_dependent
|
default = False Menunjukkan apakah ekstensi ini bergantung pada arsitektur atau tidak |
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 beroperasi 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
|
wajib Nama dependensi modul Bazel yang menjadi tujuan penerapan penggantian ini. |
versions
|
Iterable of strings ;
diperlukanSecara eksplisit menentukan versi yang diizinkan untuk berdampingan. Versi ini harus sudah ada dalam 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
|
default = '' Mengganti registry untuk modul ini. Alih-alih menemukan modul ini dari daftar default registry, registry yang ditentukan sebaiknya digunakan. |
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 untuk mengonversi argumen menjadi string tidak ditentukan dan dapat berubah kapan saja. Secara khusus, format ini mungkin berbeda dengan (dan lebih mendetail daripada) pemformatan yang dilakukan oleh str()
dan repr()
.Penggunaan print
dalam kode produksi tidak disarankan karena spam yang dibuatnya untuk pengguna. Untuk penghentian penggunaan, pilih error sulit menggunakan fail()
jika memungkinkan.
Parameter
Parameter | Deskripsi |
---|---|
sep
|
default = " " String pemisah di antara objek, defaultnya adalah spasi (" "). |
args
|
diperlukan Objek yang akan dicetak. |
penyedia
unknown provider(doc='', *, fields=None, init=None)Mendefinisikan simbol penyedia. Penyedia bisa 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, menampilkan tuple yang berisi 2 elemen: nilai callable Provider
dan nilai callable konstruktor raw. Lihat Aturan (Inisialisasi kustom penyedia kustom) dan pembahasan 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 = Tidak adaJika ditentukan, akan membatasi kumpulan kolom yang diizinkan. Nilai yang memungkinkan adalah:
|
init
|
callable; or None ;
default = NoneCallback opsional untuk memproses sebelumnya dan memvalidasi nilai kolom penyedia selama pembuatan instance. Jika init ditentukan, provider() akan menampilkan tuple yang berisi 2 elemen: simbol penyedia normal dan konstruktor mentah.Deskripsi tepatnya dapat dilihat; lihat Aturan (Inisialisasi kustom penyedia) untuk diskusi dan kasus penggunaan yang intuitif. Biarkan
init tidak diberikan, panggilan ke simbol P itu sendiri akan bertindak sebagai panggilan ke fungsi konstruktor default c ; dengan kata lain, P(*args, **kwargs) akan menampilkan c(*args, **kwargs) . Misalnya,MyInfo = provider() m = MyInfo(foo = 1)akan langsung dibuat 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 berubah dari
start
ke stop
, menggunakan inkremental 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
|
diperlukan 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 dari item pertama yang tidak disertakan dalam daftar yang dihasilkan; pembuatan daftar akan berhenti sebelum stop tercapai.
|
step
|
default = 1 Pertambahan (default-nya adalah 1). Nilainya bisa 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(dev_dependency)
None register_execution_platforms(dev_dependency=False, *platform_labels)Menentukan platform eksekusi yang sudah ditetapkan untuk didaftarkan saat modul ini dipilih. Harus berupa pola target absolut (yaitu dimulai dengan
@
atau //
). Lihat resolusi toolchain untuk informasi lebih lanjut.
Parameter
Parameter | Deskripsi |
---|---|
dev_dependency
|
default = False Jika true (benar), platform eksekusi tidak akan terdaftar jika modul saat ini bukan modul root atau `--ignore_dev_dependency` diaktifkan. |
platform_labels
|
sequence of strings ;
wajibLabel platform yang akan didaftarkan. |
register_toolchains()
None register_toolchains(*toolchain_labels)Daftarkan toolchain yang sudah ditetapkan sehingga Bazel dapat menggunakannya selama resolusi toolchain. Lihat contoh cara menentukan dan mendaftarkan toolchain.
Parameter
Parameter | Deskripsi |
---|---|
toolchain_labels
|
sequence of strings ;
diperlukanLabel toolchain yang akan didaftarkan. |
register_toolchains(dev_dependency)
None register_toolchains(dev_dependency=False, *toolchain_labels)Menentukan toolchain yang sudah ditetapkan untuk didaftarkan saat modul ini dipilih. Harus berupa pola target absolut (yaitu dimulai dengan
@
atau //
). Lihat resolusi toolchain untuk informasi lebih lanjut.
Parameter
Parameter | Deskripsi |
---|---|
dev_dependency
|
default = False Jika true (benar), toolchain tidak akan terdaftar jika modul saat ini bukan modul root atau `--ignore_dev_dependency` diaktifkan. |
toolchain_labels
|
sequence of strings ;
diperlukanLabel toolchain yang akan didaftarkan. |
repository_rule
callable repository_rule(implementation, *, attrs=None, local=False, environ=[], configure=False, remotable=False, doc='')Membuat aturan repositori baru. Simpan dalam nilai global agar 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 ;
kamus default = Tidak adauntuk mendeklarasikan semua atribut aturan. Atribut ini memetakan 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 semua konten dari sistem lokal dan harus dievaluasi ulang setiap kali pengambilan. |
environ
|
sequence of strings ;
default = []Memberikan daftar variabel lingkungan yang diandalkan oleh aturan repositori ini. Jika variabel lingkungan dalam daftar tersebut berubah, repositori akan diambil kembali. |
configure
|
default = False Menunjukkan bahwa repositori memeriksa sistem untuk tujuan konfigurasi |
remotable
|
default = False Eksperimental. Parameter ini bersifat eksperimental dan dapat berubah kapan saja. Jangan bergantung padanya. Fitur ini dapat diaktifkan secara eksperimental dengan menyetel ---experimental_repo_remote_exec Kompatibel dengan eksekusi jarak jauh |
doc
|
default = '' Deskripsi aturan repositori yang dapat diekstrak dengan alat pembuat dokumentasi. |
repr
string repr(x)Mengonversi objek apa pun menjadi representasi string. Ini berguna untuk proses debug.
repr("ab") == '"ab"'
Parameter
Parameter | Deskripsi |
---|---|
x
|
diperlukan Objek yang akan dikonversi. |
terbalik
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
|
wajib Urutan iterable (misalnya daftar) yang 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
, sedangkan semua aturan lainnya tidak boleh memiliki akhiran ini. (Pembatasan ini hanya berlaku untuk aturan, bukan targetnya.)
Parameter
Parameter | Deskripsi |
---|---|
implementation
|
diperlukan fungsi Starlark yang menerapkan aturan ini, harus hanya memiliki satu parameter: ctx. Fungsi ini dipanggil selama fase analisis untuk setiap instance aturan. Dapat mengakses atribut yang disediakan oleh pengguna. SDK harus membuat tindakan untuk menghasilkan semua output yang dideklarasikan. |
test
|
default = False Apakah aturan ini adalah aturan pengujian, yaitu, apakah aturan tersebut mungkin subjek perintah blaze test . Semua aturan pengujian secara otomatis dianggap dapat dieksekusi; aturan pengujian tidak diperlukan (dan tidak disarankan) untuk secara eksplisit menetapkan executable = True . Lihat halaman Aturan untuk informasi selengkapnya.
|
attrs
|
dict; or None ;
kamus default = Tidak adauntuk mendeklarasikan semua atribut aturan. Atribut ini memetakan 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 memberlakukan 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. Kunci ini dinonaktifkan dengan ---incompatible_no_rule_outputs_param . Gunakan tanda ini untuk memverifikasi bahwa kode Anda kompatibel dengan penghapusan dalam waktu dekat. Parameter ini tidak digunakan lagi. Migrasikan aturan untuk menggunakan OutputGroupInfo atau attr.output sebagai gantinya. Skema untuk menentukan output yang telah dideklarasikan sebelumnya. Tidak seperti atribut Nilai argumen ini adalah kamus atau fungsi callback yang menghasilkan kamus. Callback berfungsi mirip dengan atribut dependensi yang dihitung: Nama parameter fungsi dicocokkan dengan atribut aturan, jadi misalnya jika Anda meneruskan Setiap entri dalam kamus akan membuat output yang telah dideklarasikan sebelumnya dengan kuncinya adalah ID dan nilainya berupa template string yang menentukan label output. Dalam fungsi implementasi aturan, ID 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 mungkin menjadi subjek perintah blaze run . Lihat halaman Aturan untuk informasi selengkapnya.
|
output_to_genfiles
|
default = False Jika true (benar), file akan dibuat dalam direktori genfiles, bukan direktori bin. Kecuali Anda membutuhkannya untuk kompatibilitas dengan aturan yang ada (misalnya saat membuat file header untuk C++), jangan tetapkan flag ini. |
fragments
|
sequence of strings ;
default = []Daftar nama fragmen konfigurasi yang diwajibkan 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 benar, aturan ini akan menampilkan tindakannya untuk diperiksa oleh aturan yang bergantung pada aturan tersebut melalui penyedia Actions. Penyedia juga tersedia untuk aturan itu sendiri dengan memanggil ctx.created_actions(). Perintah ini hanya boleh digunakan untuk menguji perilaku waktu analisis aturan Starlark. Tanda ini dapat dihapus pada masa mendatang. |
toolchains
|
sequence ;
default = []Jika disetel, set toolchain yang diperlukan aturan ini. Daftar dapat berisi objek String, Label, atau StarlarkToolchainTypeApi, 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, tidak lagi digunakan dan harus dihapus. |
doc
|
default = '' Deskripsi aturan yang dapat diekstrak dengan alat pembuat dokumentasi. |
provides
|
default = [] Daftar penyedia yang harus ditampilkan oleh fungsi penerapan. Akan terjadi error jika fungsi implementasi menghilangkan jenis penyedia yang tercantum di sini dari nilai yang ditampilkan. 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 dari jenis aturan ini. |
analysis_test
|
default = Salah Jika benar, aturan ini diperlakukan sebagai pengujian analisis. Catatan: Aturan pengujian analisis terutama ditentukan menggunakan infrastruktur yang disediakan dalam library Starlark inti. Lihat Pengujian untuk panduan. Jika ditentukan sebagai aturan pengujian analisis, aturan diizinkan untuk menggunakan transisi konfigurasi yang ditentukan menggunakan analysis_test_transition pada atributnya, tetapi dapat memilih untuk menerapkan beberapa batasan:
|
build_setting
|
BuildSetting; or None ;
default = Tidak adaJika ditetapkan, menjelaskan jenis build setting aturan ini. Lihat modul config . Jika kebijakan ini disetel, atribut wajib bernama "build_setting_default" akan otomatis ditambahkan ke aturan ini, dengan jenis yang sesuai dengan nilai yang diteruskan di sini.
|
cfg
|
default = Tidak ada Jika ditetapkan, akan mengarah ke transisi konfigurasi yang akan diterapkan aturan ke konfigurasinya sendiri sebelum analisis. |
exec_groups
|
dict; or None ;
default = NoneDict nama grup eksekusi (string) ke exec_group s. Jika ditetapkan, aturan dapat dijalankan oleh aturan di beberapa platform eksekusi dalam satu target. Lihat dokumentasi grup eksekusi untuk info selengkapnya.
|
compile_one_filetype
|
sequence of strings; or None ;
default = Tidak adaDigunakan oleh --compile_one_dependency: jika beberapa aturan menggunakan file yang ditentukan, apakah kita harus memilih aturan ini daripada aturan lain. |
name
|
string; or None ;
default = Tidak adaTidak digunakan lagi. Parameter ini tidak digunakan lagi dan akan segera dihapus. Jangan bergantung padanya. Kunci ini dinonaktifkan dengan --+incompatible_remove_rule_name_parameter . Gunakan tanda ini untuk memverifikasi bahwa kode Anda kompatibel dengan penghapusan dalam waktu dekat. Tidak digunakan lagi: jangan gunakan. Nama aturan ini, sebagaimana 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 terikat ke aturan ini dalam modul deklarasi .bzl. Dengan demikian, Menentukan nama eksplisit untuk suatu 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 ensiklopedia build untuk mengetahui detailnya.
Parameter
Parameter | Deskripsi |
---|---|
x
|
diperlukan dict 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 yang akan dilaporkan jika tidak ada kondisi yang cocok. |
single_version_override
None single_version_override(module_name, version='', registry='', patches=[], patch_cmds=[], patch_strip=0)Menentukan bahwa dependensi tetap harus berasal dari registry, tetapi versinya harus disematkan, atau registry-nya diganti, atau daftar patch yang 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
|
wajib Nama dependensi modul Bazel yang menjadi tujuan penerapan penggantian ini. |
version
|
default = '' Mengganti versi yang dideklarasikan dari modul ini dalam grafik dependensi. Dengan kata lain, modul ini akan "disematkan" ke versi penggantian ini. Atribut ini dapat dihilangkan jika yang ingin diganti hanyalah registry atau patch. |
registry
|
default = '' Mengganti registry untuk modul ini. Alih-alih menemukan modul ini dari daftar default registry, registry yang ditentukan sebaiknya digunakan. |
patches
|
Iterable of strings ;
default = []Daftar label yang mengarah ke file patch untuk diterapkan ke modul ini. File patch harus ada di hierarki sumber project level atas. Kolom tersebut diterapkan sesuai 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 seperti argumen --strip patch Unix. |
diurutkan
list sorted(iterable, *, key=None, reverse=False)Menampilkan daftar urut baru yang berisi semua elemen dari urutan iterable yang disediakan. Error dapat terjadi jika ada pasangan elemen x dan y yang tidak dapat dibandingkan menggunakan x < y. Elemen-elemen diurutkan dalam urutan menaik, kecuali jika argumen kebalikannya adalah Benar, dalam hal ini urutannya menurun. Penyortiran bersifat stabil: elemen yang membandingkan elemen yang sama akan mempertahankan urutan relatif aslinya.
sorted([3, 5, 4]) == [3, 4, 5]
Parameter
Parameter | Deskripsi |
---|---|
iterable
|
wajib Urutan iterable yang akan diurutkan. |
key
|
default = None Fungsi opsional yang diterapkan ke setiap elemen sebelum perbandingan. |
reverse
|
default = False Menampilkan hasil dalam urutan menurun. |
str
string str(x)Mengonversi objek apa pun menjadi string. Ini berguna untuk proses debug.
str("ab") == "ab" str(8) == "8"
Parameter
Parameter | Deskripsi |
---|---|
x
|
diperlukan 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 class tag ini. Atribut ini memetakan dari nama atribut ke objek atribut (lihat modul attr). |
doc
|
default = '' Deskripsi class tag yang dapat diekstrak dengan alat pembuat dokumentasi. |
tuple
tuple tuple(x=())Menampilkan tuple dengan elemen yang sama seperti 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. |
tipe
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 mungkin berubah di masa mendatang. Untuk menulis kode yang kompatibel dengan Python dan siap menghadapi masa depan, gunakan kode tersebut hanya untuk membandingkan nilai yang ditampilkan:
if type(x) == type([]): # if x is a list
Parameter
Parameter | Deskripsi |
---|---|
x
|
diperlukan Objek yang akan diperiksa jenisnya. |
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
|
diperlukan 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_dependency` diaktifkan. |
isolate
|
default = False Eksperimental. Parameter ini bersifat eksperimental dan dapat berubah kapan saja. Jangan 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 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 dibuat oleh ekstensi. Parameter ini saat ini bersifat eksperimental dan hanya tersedia dengan tanda |
use_repo
None use_repo(extension_proxy, *args, **kwargs)Mengimpor satu atau beberapa repositori yang dibuat 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
|
required Nama repositori 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)
Menyetel visibilitas pemuatan modul .bzl yang saat ini sedang diinisialisasi.
Visibilitas beban modul mengatur apakah file BUILD dan .bzl lain dapat memuatnya atau tidak. (Hal ini berbeda dengan visibilitas target file sumber .bzl yang mendasarinya, yang mengatur apakah file mungkin muncul sebagai dependensi dari target lainnya.) Visibilitas pemuatan berfungsi di level paket: Untuk memuat modul, file yang melakukan pemuatan harus aktif di 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 level teratas, 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 tanda --check_bzl_visibility
disetel ke salah (false), pelanggaran visibilitas pemuatan akan memberikan peringatan, tetapi tidak menggagalkan build.
Parameter
Parameter | Deskripsi |
---|---|
value
|
diperlukan Daftar string spesifikasi paket, atau string spesifikasi paket tunggal. Spesifikasi paket mengikuti format yang sama seperti untuk
Sintaksis "@" tidak diizinkan; semua spesifikasi ditafsirkan secara relatif terhadap repositori modul saat ini. Jika Perhatikan bahwa tanda |
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 ada runfile foo/bar
di repositori lokal dan file WORKSPACE berisi workspace(name = 'baz')
, runfile akan tersedia di mytarget.runfiles/baz/foo/bar
. Jika tidak ada nama ruang kerja yang ditentukan, runfile akan di-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 tidak 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 satu argumen iterable, metode ini akan menampilkan daftar 1 tuple. Tanpa argumen, kueri akan mengembalikan 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 ke zip. |