Metode global tersedia di semua file .bzl.
Anggota
- analysis_test_transition
- aspek
- configuration_field
- depset
- exec_group
- module_extension
- penyedia
- repository_rule
- rule
- pilih
- subrule
- tag_class
- visibility
analysis_test_transition
transition analysis_test_transition(settings)
Membuat transisi konfigurasi yang akan diterapkan pada dependensi aturan analisis-pengujian. Transisi ini hanya dapat diterapkan pada atribut aturan dengan analysis_test = True
. Kemampuan aturan tersebut terbatas (misalnya, ukuran hierarki dependensinya terbatas), sehingga transisi yang dibuat menggunakan fungsi ini memiliki potensi cakupan yang terbatas dibandingkan dengan transisi yang dibuat menggunakan transition()
.
Fungsi ini terutama dirancang untuk memfasilitasi library inti Analysis Test Framework. Lihat dokumentasinya (atau implementasinya) 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 adalah nilai baru setelah transisi. Semua setelan lainnya tidak berubah. Gunakan ini untuk mendeklarasikan setelan konfigurasi tertentu yang harus ditetapkan agar lulus pengujian analisis. |
aspek
Aspect aspect(implementation, attr_aspects=[], attrs={}, required_providers=[], required_aspect_providers=[], provides=[], requires=[], fragments=[], host_fragments=[], toolchains=[], incompatible_use_toolchain_transition=False, doc=None, *, apply_to_generating_rules=False, exec_compatible_with=[], exec_groups=None, subrules=[])
Parameter
Parameter | Deskripsi |
---|---|
implementation
|
wajib Fungsi Starlark yang menerapkan aspek ini, dengan tepat dua parameter: Target (target yang diterapkan aspeknya) dan ctx (konteks aturan yang digunakan untuk membuat target). Atribut target tersedia melalui kolom ctx.rule . Fungsi ini dievaluasi selama fase analisis untuk setiap penerapan aspek ke target.
|
attr_aspects
|
sequence dari string;
default adalah [] Daftar nama atribut. Aspek ini disebarkan di sepanjang dependensi yang ditentukan dalam atribut target dengan nama ini. Nilai umum di sini mencakup deps dan exports . Daftar juga dapat berisi satu string "*" untuk disebarkan di semua dependensi target.
|
attrs
|
dict;
default adalah {} Kamus yang mendeklarasikan semua atribut aspek. Memetakan dari nama atribut ke objek atribut, seperti `attr.label` atau `attr.string` (lihat modul attr). Atribut aspek tersedia untuk fungsi penerapan sebagai kolom parameter ctx . Atribut implisit yang diawali dengan Atribut eksplisit harus memiliki jenis |
required_providers
|
default adalah [] Atribut ini memungkinkan aspek membatasi propagasinya hanya ke target yang aturannya mengiklankan penyedia yang diperlukan. Nilai 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, Agar beberapa target aturan (misalnya, |
required_aspect_providers
|
default adalah [] Atribut ini memungkinkan aspek ini memeriksa aspek lain. Nilai 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, Agar aspek lain (misalnya, |
provides
|
default adalah [] Daftar penyedia yang harus ditampilkan oleh fungsi penerapan. Terjadi error jika fungsi penerapan menghilangkan salah satu jenis penyedia yang tercantum di sini dari nilai yang ditampilkan. Namun, fungsi penerapan dapat menampilkan penyedia tambahan yang tidak tercantum di sini. Setiap elemen daftar adalah objek |
requires
|
urutan Aspek;
default adalah [] Daftar aspek yang harus dipropagasi sebelum aspek ini. |
fragments
|
sequence dari string;
default adalah [] Daftar nama fragmen konfigurasi yang diperlukan aspek dalam konfigurasi target. |
host_fragments
|
sequence dari string;
default adalah [] Daftar nama fragmen konfigurasi yang diperlukan aspek dalam konfigurasi host. |
toolchains
|
sequence;
default adalah [] Jika disetel, kumpulan 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 adalah False Tidak digunakan lagi, tidak digunakan lagi dan harus dihapus. |
doc
|
string; atau None ;
default adalah None Deskripsi aspek yang dapat diekstrak oleh alat pembuat dokumentasi. |
apply_to_generating_rules
|
default adalah False Jika benar, aspek akan, saat diterapkan ke file output, diterapkan ke aturan pembuatan file output. Misalnya, anggaplah suatu aspek berpropagasi secara transitif melalui atribut `deps` dan diterapkan ke target `alpha`. Anggaplah `alpha` memiliki `deps = [':beta_output']`, dengan `beta_output` adalah output yang dideklarasikan dari target `beta`. Anggaplah `beta` memiliki target `charlie` sebagai salah satu `deps`-nya. Jika `apply_to_generating_rules=True` untuk aspek tersebut, maka aspek tersebut akan berpropagasi melalui `alpha`, `beta`, dan `charlie`. Jika False, maka aspek tersebut hanya akan berpropagasi ke `alpha`. False secara default. |
exec_compatible_with
|
sequence dari string;
default adalah [] Daftar batasan pada platform eksekusi yang berlaku untuk semua instance aspek ini. |
exec_groups
|
dict; atau None ;
default adalah None Dict nama grup eksekusi (string) ke exec_group s. Jika disetel, memungkinkan aspek menjalankan tindakan di beberapa platform eksekusi dalam satu instance. Lihat dokumentasi grup eksekusi untuk mengetahui info selengkapnya.
|
subrules
|
urutan Subrule;
default adalah [] Eksperimental: daftar subaturan yang digunakan oleh aspek ini. |
configuration_field
LateBoundDefault configuration_field(fragment, name)
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
|
required Nama fragmen konfigurasi yang berisi nilai terikat lambat. |
name
|
wajib diisi Nama nilai yang akan diperoleh dari fragmen konfigurasi. |
depset
depset depset(direct=None, order="default", *, transitive=None)
direct
adalah daftar elemen langsung depset, dan parameter transitive
adalah daftar depset yang elemennya menjadi elemen tidak langsung dari depset yang dibuat. Urutan elemen yang ditampilkan saat depset dikonversi menjadi 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 dengan ekspresi type(x)
.
Karena set berbasis hash digunakan untuk menghilangkan duplikat selama iterasi, semua elemen depset harus dapat di-hash. Namun, saat ini invarian ini tidak diperiksa secara konsisten di semua konstruktor. Gunakan tanda --incompatible_always_check_depset_elements 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 batasan ini akan dilonggarkan pada masa mendatang.
Urutan depset yang dibuat harus kompatibel dengan urutan depset transitive
-nya. Urutan "default"
kompatibel dengan urutan lainnya, semua urutan lainnya hanya kompatibel dengan urutannya sendiri.
Parameter
Parameter | Deskripsi |
---|---|
direct
|
sequence; atau None ;
defaultnya adalah None Daftar elemen langsung dari depset. |
order
|
default adalah "default" Strategi penelusuran untuk depset baru. Lihat di sini untuk mengetahui kemungkinan nilai. |
transitive
|
urutan depset; atau None ;
default adalah None Daftar depset yang elemennya akan menjadi elemen tidak langsung dari depset. |
exec_group
exec_group exec_group(toolchains=[], exec_compatible_with=[])
Parameter
Parameter | Deskripsi |
---|---|
toolchains
|
sequence;
default is [] Kumpulan toolchain yang diperlukan oleh grup eksekusi ini. Daftar dapat berisi objek String, Label, atau StarlarkToolchainTypeApi, dalam kombinasi apa pun. |
exec_compatible_with
|
sequence dari string;
default adalah [] Daftar batasan pada platform eksekusi. |
module_extension
unknown module_extension(implementation, *, tag_classes={}, doc=None, environ=[], os_dependent=False, arch_dependent=False)
Parameter
Parameter | Deskripsi |
---|---|
implementation
|
wajib Fungsi yang menerapkan ekstensi modul ini. Harus mengambil satu parameter, module_ctx . Fungsi ini dipanggil sekali di awal build untuk menentukan kumpulan repositori yang tersedia.
|
tag_classes
|
default adalah {} Kamus untuk mendeklarasikan semua class tag yang digunakan oleh ekstensi. Peta ini memetakan dari nama class tag ke objek tag_class .
|
doc
|
string; atau None ;
default adalah None Deskripsi ekstensi modul yang dapat diekstrak oleh alat pembuat dokumentasi. |
environ
|
sequence string;
default adalah [] Menyediakan daftar variabel lingkungan yang menjadi tempat bergantung ekstensi modul ini. Jika variabel lingkungan dalam daftar tersebut berubah, ekstensi akan dievaluasi ulang. |
os_dependent
|
default adalah False Menunjukkan apakah ekstensi ini bergantung pada OS atau tidak |
arch_dependent
|
default adalah False Menunjukkan apakah ekstensi ini bergantung pada arsitektur atau tidak |
provider
unknown provider(doc=None, *, fields=None, init=None)
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 yang dapat dipanggil Provider
jika init
tidak ditentukan.
Jika init
ditentukan, akan menampilkan tuple 2 elemen: nilai yang dapat dipanggil Provider
dan nilai yang dapat dipanggil konstruktor mentah. Lihat Aturan (Inisialisasi kustom penyedia kustom) dan pembahasan parameter init
di bawah untuk mengetahui detailnya.
Parameter
Parameter | Deskripsi |
---|---|
doc
|
string; atau None ;
default adalah None Deskripsi penyedia yang dapat diekstrak oleh alat pembuat dokumentasi. |
fields
|
sequence dari string; atau dict; atau None ;
defaultnya adalah None Jika ditentukan, membatasi kumpulan kolom yang diizinkan. Nilai yang mungkin adalah:
|
init
|
dapat dipanggil; atau None ;
defaultnya adalah None Callback opsional untuk memproses dan memvalidasi nilai kolom penyedia selama instansiasi. Jika init ditentukan, provider() akan menampilkan tuple 2 elemen: simbol penyedia normal dan konstruktor mentah.Deskripsi yang tepat akan mengikuti; lihat Aturan (Inisialisasi penyedia kustom) untuk pembahasan dan kasus penggunaan yang intuitif. Biarkan
init tidak diberikan, panggilan ke simbol P itu sendiri 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) m menjadi instance MyInfo dengan m.foo == 1 .Namun, jika
NB: langkah-langkah di atas menyiratkan bahwa error terjadi jika Dengan cara ini, callback Jika MyInfo, _new_myinfo = provider(init = ...) |
repository_rule
callable repository_rule(implementation, *, attrs=None, local=False, environ=[], configure=False, remotable=False, doc=None)
Parameter
Parameter | Deskripsi |
---|---|
implementation
|
required fungsi yang menerapkan aturan ini. Harus memiliki satu parameter, repository_ctx . Fungsi ini dipanggil selama fase pemuatan untuk setiap instance aturan.
|
attrs
|
dict; atau None ;
defaultnya adalah None kamus untuk mendeklarasikan semua atribut aturan. 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 adalah False Menunjukkan bahwa aturan ini mengambil semuanya dari sistem lokal dan harus dievaluasi ulang pada setiap pengambilan. |
environ
|
sequence dari string;
defaultnya adalah [] Tidak digunakan lagi. Parameter ini tidak digunakan lagi. Sebagai gantinya, lakukan migrasi ke repository_ctx.getenv .Menyediakan daftar variabel lingkungan yang menjadi tempat bergantung aturan repositori ini. Jika variabel lingkungan dalam daftar tersebut berubah, repositori akan diambil ulang. |
configure
|
default adalah False Menunjukkan bahwa repositori memeriksa sistem untuk tujuan konfigurasi |
remotable
|
default-nya adalah False Eksperimental. Parameter ini bersifat eksperimental dan dapat berubah kapan saja. Jangan mengandalkannya. Fitur ini dapat diaktifkan secara eksperimental dengan menyetel ---experimental_repo_remote_exec Kompatibel dengan eksekusi jarak jauh |
doc
|
string; atau None ;
default adalah None Deskripsi aturan repositori yang dapat diekstrak oleh alat pembuat dokumentasi. |
aturan
callable rule(implementation, *, test=unbound, attrs={}, outputs=None, executable=unbound, output_to_genfiles=False, fragments=[], host_fragments=[], _skylark_testable=False, toolchains=[], incompatible_use_toolchain_transition=False, doc=None, provides=[], exec_compatible_with=[], analysis_test=False, build_setting=None, cfg=None, exec_groups=None, initializer=None, parent=None, extendable=None, subrules=[])
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
|
required fungsi Starlark yang menerapkan aturan ini, harus memiliki tepat satu parameter: ctx. Fungsi ini dipanggil selama fase analisis untuk setiap instance aturan. Aplikasi ini dapat mengakses atribut yang diberikan oleh pengguna. Tindakan ini harus membuat tindakan untuk menghasilkan semua output yang dideklarasikan. |
test
|
bool;
default is unbound Apakah aturan ini adalah aturan pengujian, yaitu apakah aturan ini dapat menjadi subjek perintah blaze test . Semua aturan pengujian otomatis dianggap dapat dieksekusi; tidak perlu (dan tidak disarankan) untuk menetapkan executable = True secara eksplisit untuk aturan pengujian. Nilai defaultnya adalah False . Lihat halaman Aturan untuk mengetahui informasi selengkapnya.
|
attrs
|
dict;
default adalah {} kamus untuk mendeklarasikan semua atribut aturan. Memetakan dari nama atribut ke objek atribut (lihat modul attr). Atribut yang diawali 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 membatasi ukuran attrs.
|
outputs
|
dict; atau None ; atau function;
default adalah None Tidak digunakan lagi. Parameter ini tidak digunakan lagi dan akan segera dihapus. Jangan mengandalkannya. Dinonaktifkan dengan ---incompatible_no_rule_outputs_param . Gunakan tanda ini untuk memverifikasi bahwa kode Anda kompatibel dengan penghapusannya yang akan segera dilakukan. 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 berupa kamus atau fungsi panggil balik yang menghasilkan kamus. Callback berfungsi mirip dengan atribut dependensi terkomputasi: Nama parameter fungsi dicocokkan dengan atribut aturan, jadi misalnya jika Anda meneruskan Setiap entri dalam kamus membuat output yang telah dideklarasikan sebelumnya dengan kunci berupa ID dan nilai berupa template string yang menentukan label output. Dalam fungsi penerapan aturan, ID menjadi nama kolom yang digunakan untuk mengakses
Dalam praktiknya, placeholder penggantian yang paling umum adalah |
executable
|
bool;
default adalah unbound Apakah aturan ini dianggap dapat dieksekusi, yaitu apakah aturan ini dapat menjadi subjek perintah blaze run . Nilai defaultnya adalah False . Lihat halaman Aturan untuk mengetahui informasi selengkapnya.
|
output_to_genfiles
|
defaultnya adalah False Jika benar (true), file akan dibuat di direktori genfiles, bukan di direktori bin. Jangan tetapkan tanda ini kecuali Anda memerlukannya untuk kompatibilitas dengan aturan yang ada (misalnya, saat membuat file header untuk C++). |
fragments
|
sequence dari string;
default adalah [] Daftar nama fragmen konfigurasi yang diperlukan aturan dalam konfigurasi target. |
host_fragments
|
sequence dari string;
default adalah [] Daftar nama fragmen konfigurasi yang diperlukan aturan dalam konfigurasi host. |
_skylark_testable
|
default adalah False (Eksperimental) Jika benar (true), 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. Bendera ini dapat dihapus pada masa mendatang. |
toolchains
|
sequence;
default adalah [] Jika disetel, kumpulan 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 adalah False Tidak digunakan lagi, tidak digunakan lagi dan harus dihapus. |
doc
|
string; atau None ;
default adalah None Deskripsi aturan yang dapat diekstrak oleh alat pembuat dokumentasi. |
provides
|
default adalah [] Daftar penyedia yang harus ditampilkan oleh fungsi penerapan. Terjadi error jika fungsi penerapan menghilangkan salah satu jenis penyedia yang tercantum di sini dari nilai yang ditampilkan. Namun, fungsi penerapan dapat menampilkan penyedia tambahan yang tidak tercantum di sini. Setiap elemen daftar adalah objek |
exec_compatible_with
|
sequence dari string;
default adalah [] Daftar batasan pada platform eksekusi yang berlaku untuk semua target jenis aturan ini. |
analysis_test
|
default adalah False Jika benar, aturan ini diperlakukan sebagai uji analisis. Catatan: Aturan pengujian analisis terutama ditentukan menggunakan infrastruktur yang disediakan di library Starlark inti. Lihat Pengujian untuk mendapatkan panduan. Jika ditentukan sebagai aturan pengujian analisis, aturan diizinkan untuk menggunakan transisi konfigurasi yang ditentukan menggunakan analysis_test_transition pada atributnya, tetapi memilih untuk menerapkan beberapa batasan:
|
build_setting
|
BuildSetting; atau None ;
defaultnya adalah None Jika disetel, menjelaskan jenis build setting aturan ini. Lihat modul config . Jika ini ditetapkan, atribut wajib bernama "build_setting_default" akan otomatis ditambahkan ke aturan ini, dengan jenis yang sesuai dengan nilai yang diteruskan di sini.
|
cfg
|
default adalah None Jika ditetapkan, mengarah ke transisi konfigurasi yang akan diterapkan aturan ke konfigurasinya sendiri sebelum analisis. |
exec_groups
|
dict; atau None ;
default adalah None Dict nama grup eksekusi (string) ke exec_group s. Jika disetel, memungkinkan aturan menjalankan tindakan di beberapa platform eksekusi dalam satu target. Lihat dokumentasi grup eksekusi untuk mengetahui info selengkapnya.
|
initializer
|
default adalah None Eksperimental: fungsi Stalark yang menginisialisasi atribut aturan. Fungsi ini dipanggil pada waktu pemuatan untuk setiap instance aturan. Fungsi ini dipanggil dengan Harus menampilkan kamus dari nama atribut ke nilai yang diinginkan. Atribut yang tidak ditampilkan tidak terpengaruh. Menampilkan Penginisialisasi dievaluasi sebelum nilai default yang ditentukan dalam definisi atribut. Akibatnya, jika parameter dalam tanda tangan penginisialisasi berisi nilai default, nilai tersebut akan menggantikan default dari definisi atribut (kecuali jika menampilkan Demikian pula, jika parameter dalam tanda tangan penginisialisasi tidak memiliki default, parameter akan menjadi wajib. Sebaiknya hilangkan setelan default/wajib pada definisi atribut dalam kasus seperti itu. Sebaiknya gunakan Dalam kasus aturan yang diperluas, semua penginisialisasi dipanggil dari turunan ke ancestor. Setiap penginisialisasi hanya meneruskan atribut publik yang diketahuinya. |
parent
|
default adalah None Eksperimental: aturan Stalark yang diperluas. Jika disetel, atribut publik akan digabungkan serta penyedia yang diiklankan. Aturan cocok dengan executable dan test dari induk. Nilai fragments , toolchains , exec_compatible_with , dan exec_groups digabungkan. Parameter lama atau yang tidak digunakan lagi mungkin tidak ditetapkan. Transisi konfigurasi masuk cfg induk diterapkan setelah konfigurasi masuk aturan ini.
|
extendable
|
bool; atau Label; atau string; atau None ;
default adalah None Eksperimental: Label daftar yang diizinkan yang menentukan aturan mana yang dapat memperluas aturan ini. Opsi ini juga dapat disetel ke Benar/Salah (True/False) untuk selalu mengizinkan/tidak mengizinkan perpanjangan. Secara default, Bazel selalu mengizinkan ekstensi. |
subrules
|
sequence dari Subrule;
default adalah [] Eksperimental: Daftar subaturan yang digunakan oleh aturan ini. |
pilih
unknown select(x, no_match_error='')
select()
adalah fungsi bantuan yang membuat atribut aturan dapat dikonfigurasi. Lihat membangun ensiklopedia untuk mengetahui detailnya.
Parameter
Parameter | Deskripsi |
---|---|
x
|
required 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 adalah '' Error kustom opsional yang akan dilaporkan jika tidak ada kondisi yang cocok. |
subaturan
Subrule subrule(implementation, attrs={}, toolchains=[], fragments=[], subrules=[])
Parameter
Parameter | Deskripsi |
---|---|
implementation
|
function;
required Fungsi Starlark yang menerapkan subaturan ini |
attrs
|
dict;
default adalah {} Kamus untuk mendeklarasikan semua atribut (pribadi) subaturan. Subaturan hanya boleh memiliki atribut pribadi yang berjenis label (yaitu label atau label-list). Nilai yang di-resolve yang sesuai dengan label ini secara otomatis diteruskan oleh Bazel ke fungsi penerapan subaturan sebagai argumen bernama (sehingga fungsi penerapan harus menerima parameter bernama yang cocok dengan nama atribut). Jenis nilai ini adalah:
|
toolchains
|
sequence;
default is [] Jika disetel, kumpulan toolchain yang diperlukan subaturan ini. Daftar dapat berisi objek String, Label, atau StarlarkToolchainTypeApi, dalam kombinasi apa pun. Toolchain akan ditemukan dengan memeriksa platform saat ini, dan diberikan ke implementasi subaturan melalui ctx.toolchains .
|
fragments
|
sequence dari string;
default adalah [] Daftar nama fragmen konfigurasi yang diperlukan subaturan dalam konfigurasi target. |
subrules
|
sequence dari Subrule;
default adalah [] Daftar subaturan lain yang diperlukan oleh subaturan ini. |
tag_class
tag_class tag_class(attrs={}, *, doc=None)
Parameter
Parameter | Deskripsi |
---|---|
attrs
|
default adalah {} Kamus untuk mendeklarasikan semua atribut class tag ini. Memetakan dari nama atribut ke objek atribut (lihat modul attr). |
doc
|
string; atau None ;
default adalah None Deskripsi class tag yang dapat diekstrak oleh alat pembuat dokumentasi. |
visibilitas
None
visibility(value)
Menetapkan visibilitas pemuatan modul .bzl yang saat ini sedang diinisialisasi.
Visibilitas pemuatan modul menentukan apakah file BUILD dan .bzl lainnya dapat memuatnya atau tidak. (Hal ini berbeda dengan visibilitas target dari file sumber .bzl yang mendasarinya, yang mengatur apakah file dapat muncul sebagai dependensi target lain.) Visibilitas pemuatan berfungsi di tingkat 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 satu kali per file .bzl, dan hanya di tingkat teratas, bukan di dalam fungsi. Gaya yang disarankan adalah menempatkan panggilan ini tepat di bawah pernyataan load()
dan logika singkat yang diperlukan untuk menentukan argumen.
Jika tanda --check_bzl_visibility
disetel ke false, pelanggaran visibilitas pemuatan akan memunculkan peringatan, tetapi tidak akan menyebabkan build gagal.
Parameter
Parameter | Deskripsi |
---|---|
value
|
wajib Daftar string spesifikasi paket, atau satu string spesifikasi paket. Spesifikasi paket mengikuti format yang sama seperti untuk
Sintaksis "@" tidak diizinkan; semua spesifikasi ditafsirkan relatif terhadap repositori modul saat ini. Jika Perhatikan bahwa tanda |