Anggota
- analisis_test_transisi
- aspek
- kolom_konfigurasi
- depset
- grup_exec
- ekstensi_modul
- penyedia
- aturan_repositori
- aturan
- pilih
- tag_class
- visibilitas
Analysis_test_transisi
transition analysis_test_transition(settings)
Membuat transisi konfigurasi untuk diterapkan pada dependensi aturan pengujian analisis. Transisi ini hanya dapat diterapkan pada atribut aturan dengan analysis_test = True
. Aturan tersebut memiliki batasan kemampuan (misalnya, ukuran hierarki dependensinya terbatas), sehingga transisi yang dibuat menggunakan fungsi ini akan memiliki cakupan potensial yang terbatas jika dibandingkan dengan transisi yang dibuat menggunakan transition()
.
Fungsi ini terutama dirancang 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 nilainya adalah nilai pasca-transisinya yang baru. Semua setelan lainnya tidak berubah. Gunakan metode ini untuk mendeklarasikan setelan konfigurasi tertentu yang harus ditetapkan agar pengujian lulus. |
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=None, *, 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
|
wajib 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 suatu aspek ke target.
|
attr_aspects
|
sequence of strings ;
default = []Daftar nama atribut. Aspek ini disebarkan di sepanjang dependensi yang ditentukan dalam atribut target dengan nama-nama ini. Nilai umum di sini meliputi deps dan exports . Daftar ini juga dapat berisi satu string "*" untuk diterapkan di sepanjang dependensi target.
|
attrs
|
dict; or None ;
default = NoneKamus 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 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. Nilainya harus berupa daftar yang berisi penyedia individual atau daftar penyedia, tetapi tidak keduanya. Misalnya, [[FooInfo], [BarInfo], [BazInfo, QuxInfo]] adalah nilai yang valid, sementara [FooInfo, BarInfo, [BazInfo, QuxInfo]] tidak valid.Daftar penyedia yang tidak bertingkat akan secara otomatis dikonversi menjadi daftar yang berisi satu daftar penyedia. Artinya, Agar beberapa target aturan (mis. |
required_aspect_providers
|
default = [] Atribut ini memungkinkan aspek ini memeriksa aspek lainnya. Nilainya harus berupa daftar yang berisi penyedia individual atau daftar penyedia, tetapi tidak keduanya. Misalnya, [[FooInfo], [BarInfo], [BazInfo, QuxInfo]] adalah nilai yang valid, sementara [FooInfo, BarInfo, [BazInfo, QuxInfo]] tidak valid.Daftar penyedia yang tidak bertingkat akan secara otomatis dikonversi menjadi daftar yang berisi satu daftar penyedia. Artinya, Agar aspek lain (misalnya |
provides
|
default = [] Daftar penyedia yang harus ditampilkan oleh fungsi implementasi. Ini adalah error jika fungsi implementasi menghilangkan salah satu 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 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 oleh aspek dalam konfigurasi host. |
toolchains
|
sequence ;
default = []Jika disetel, rangkaian toolchain yang diperlukan aturan ini. Daftar ini dapat berisi objek String, Label, atau Starlark TypeTypeApi, dalam kombinasi apa pun. Toolchain akan dapat ditemukan dengan memeriksa platform saat ini, dan diberikan ke implementasi aturan melalui ctx.toolchain .
|
incompatible_use_toolchain_transition
|
default = False Tidak digunakan lagi, hal ini tidak digunakan lagi dan harus dihapus. |
doc
|
string; or None ;
default = NoneDeskripsi aspek yang dapat diekstrak oleh alat pembuat dokumentasi. |
apply_to_generating_rules
|
default = False Jika true (benar), aspek akan diterapkan ke file output jika diterapkan ke file output. Misalnya, aspek diperbanyak 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`. Misalnya `beta` memiliki target `charlie` sebagai salah satu dari `deps`. Jika `apply_to_generate_rules=True`, untuk 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 = NoneMengubah nama grup eksekusi (string) menjadi exec_group s. Jika disetel, memungkinkan aspek untuk menjalankan tindakan di beberapa platform eksekusi dalam satu instance. Lihat dokumentasi grup eksekusi untuk mengetahui info selengkapnya.
|
kolom_konfigurasi
LateBoundDefault configuration_field(fragment, name)Mereferensikan nilai default batas akhir untuk atribut jenis label. Nilai dianggap 'late-bound' jika memerlukan konfigurasi sebelum dibuat. 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 yang terikat 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 depsets untuk mengetahui informasi selengkapnya.
Semua elemen (langsung dan tidak langsung) dari depset harus berjenis 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, invarian ini saat ini tidak diperiksa secara konsisten di semua konstruktor. Gunakan tanda --incompatible_always_check_depset_elements untuk memungkinkan pemeriksaan yang konsisten; ini akan menjadi perilaku default dalam rilis mendatang; lihat Masalah 10313.
Selain itu, elemen harus tidak dapat diubah, meskipun pembatasan ini akan longgar di masa mendatang.
Urutan depset yang dibuat harus kompatibel dengan urutan depset transitive
. Pesanan "default"
kompatibel dengan pesanan lain, semua pesanan lain hanya kompatibel dengan pesanannya sendiri.
Catatan tentang kompatibilitas mundur/maju. Fungsi ini saat ini menerima parameter items
posisi. Library ini tidak digunakan lagi dan akan dihapus di masa mendatang, dan setelah dihapus, direct
akan menjadi parameter posisi tunggal dari fungsi depset
. Dengan demikian, kedua panggilan berikut setara dan tidak akan ketinggalan zaman:
depset(['a', 'b'], transitive = [...]) depset(direct = ['a', 'b'], transitive = [...])
Parameter
Parameter | Deskripsi |
---|---|
direct
|
sequence; or None ;
default = Tidak adaDaftar elemen langsung 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. |
grup_exec
exec_group exec_group(toolchains=[], exec_compatible_with=[])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 TypeTypeApi, dalam kombinasi apa pun. |
exec_compatible_with
|
sequence of strings ;
default = []Daftar batasan pada platform eksekusi. |
modul_ekstensi
unknown module_extension(implementation, *, tag_classes={}, doc='')Membuat ekstensi modul baru. Simpan dalam nilai global, sehingga dapat diekspor dan digunakan dalam file MODULE.bazel.
Parameter
Parameter | Deskripsi |
---|---|
implementation
|
wajib Fungsi yang mengimplementasikan ekstensi modul ini. Harus mengambil satu parameter, module_ctx . Fungsi ini dipanggil satu kali di awal build untuk menentukan kumpulan repo yang tersedia.
|
tag_classes
|
default = {} Kamus untuk mendeklarasikan semua class tag yang digunakan oleh ekstensi. Fungsi ini memetakan dari nama class tag ke objek tag_class .
|
doc
|
default = '' Deskripsi ekstensi modul yang dapat diekstrak oleh alat pembuat dokumentasi. |
penyedia
unknown provider(doc=None, *, 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 mengenai 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 ini untuk detailnya.
Parameter
Parameter | Deskripsi |
---|---|
doc
|
string; or None ;
default = NoneDeskripsi penyedia yang dapat diekstrak oleh 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 yang tepat akan diikuti; 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) 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 menunjukkan bahwa error terjadi jika Dengan cara ini, callback Jika MyInfo, _new_myinfo = provider(init = ...) |
repositori_rule
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
|
memerlukan 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 = Tidak adakamus 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 = 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 yang menjadi dependensi aturan repositori ini. Jika variabel lingkungan dalam daftar tersebut berubah, repositori akan diambil ulang. |
configure
|
default = False Tunjukkan bahwa repositori memeriksa sistem untuk tujuan konfigurasi |
remotable
|
default = False Eksperimental. Parameter ini bersifat eksperimental dan dapat berubah sewaktu-waktu. 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. |
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=None, *, 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 untuk targetnya.)
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. Aplikasi dapat mengakses atribut yang disediakan oleh pengguna. Class ini harus membuat tindakan untuk menghasilkan semua output yang dideklarasikan. |
test
|
default = False Apakah aturan ini merupakan aturan pengujian, yaitu apakah subjek iklan tersebut dapat menjadi subjek perintah blaze test . Semua aturan pengujian secara otomatis dianggap dapat dieksekusi; tidak perlu (dan tidak disarankan) menetapkan executable = True untuk aturan pengujian secara eksplisit. Lihat halaman Aturan untuk mengetahui informasi selengkapnya.
|
attrs
|
dict; or None ;
default = Tidak adakamus 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. 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 menetapkan batas 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 penghapusan yang akan segera dilakukan. Parameter ini tidak digunakan lagi. Migrasikan aturan untuk menggunakan OutputGroupInfo atau attr.output . Skema untuk menentukan output yang dinyatakan sebelumnya. Tidak seperti atribut Nilai argumen ini dapat berupa 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 membuat output yang dinyatakan sebelumnya dan kuncinya adalah ID, serta nilainya adalah template string yang menentukan label output. Dalam fungsi penerapan aturan, ID menjadi nama kolom yang digunakan untuk mengakses
Dalam praktiknya, placeholder pengganti yang paling umum adalah |
executable
|
default = False Apakah aturan ini dianggap dapat dieksekusi atau tidak, apakah berpotensi tunduk pada perintah blaze run atau tidak. Lihat halaman Aturan untuk mengetahui informasi selengkapnya.
|
output_to_genfiles
|
default = False Jika true, file akan dibuat di direktori genfiles, bukan direktori bin. Jangan gunakan flag ini, kecuali Anda memerlukannya untuk kompatibilitas dengan aturan yang ada (misalnya saat membuat file header untuk C++). |
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 benar, aturan ini akan mengekspos tindakan untuk pemeriksaan berdasarkan 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. Tanda ini dapat dihapus di masa mendatang. |
toolchains
|
sequence ;
default = []Jika disetel, rangkaian toolchain yang diperlukan aturan ini. Daftar ini dapat berisi objek String, Label, atau Starlark TypeTypeApi, dalam kombinasi apa pun. Toolchain akan dapat ditemukan dengan memeriksa platform saat ini, dan diberikan ke implementasi aturan melalui ctx.toolchain .
|
incompatible_use_toolchain_transition
|
default = False Tidak digunakan lagi, hal ini tidak digunakan lagi dan harus dihapus. |
doc
|
string; or None ;
default = NoneDeskripsi aturan yang dapat diekstrak oleh alat pembuat dokumentasi. |
provides
|
default = [] Daftar penyedia yang harus ditampilkan oleh fungsi implementasi. Ini adalah error jika fungsi implementasi menghilangkan salah satu 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 jenis aturan ini. |
analysis_test
|
default = False Jika true (benar), aturan ini akan diperlakukan sebagai pengujian 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, aturan diizinkan untuk menggunakan transisi konfigurasi yang ditentukan menggunakan analisis_test_transition pada atributnya, tetapi ikut serta dalam beberapa batasan:
|
build_setting
|
BuildSetting; or None ;
default = NoneJika ditetapkan, menjelaskan jenis build setting yang dimaksud. Lihat modul config . Jika diatur, atribut wajib bernama "build_setting_default" secara otomatis ditambahkan ke aturan ini, dengan jenis yang sesuai dengan nilai yang diteruskan di sini.
|
cfg
|
default = None Jika ditetapkan, mengarah ke transisi konfigurasi, aturan akan diterapkan pada konfigurasinya sendiri sebelum analisis. |
exec_groups
|
dict; or None ;
default = NoneMengubah nama grup eksekusi (string) menjadi exec_group s. Jika disetel, aturan akan diizinkan menjalankan tindakan pada beberapa platform eksekusi dalam satu target. Lihat dokumentasi grup eksekusi untuk mengetahui info selengkapnya.
|
compile_one_filetype
|
sequence of strings; or None ;
default = NoneDigunakan oleh --compile_one_Dependency: jika beberapa aturan menggunakan file yang ditentukan, apakah kami harus memilih aturan ini daripada aturan lainnya. |
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 penghapusan yang akan segera dilakukan. Tidak digunakan lagi: jangan gunakan. Nama aturan ini, seperti yang dipahami oleh Bazel dan dilaporkan dalam konteks seperti logging, Jika parameter ini dihilangkan, nama aturan ditetapkan ke nama variabel global Starlark pertama yang akan terikat dengan aturan ini dalam modul .bzl yang mendeklarasikannya. Dengan demikian, Menentukan nama eksplisit untuk suatu aturan tidak mengubah tempat Anda membuat instance aturan tersebut. |
pilih
unknown select(x, no_match_error='')
select()
adalah fungsi bantuan yang membuat atribut aturan menjadi dapat dikonfigurasi. Lihat ensiklopedia build 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. |
class_tag
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 kelas tag ini. Memetakan dari nama atribut ke objek atribut (lihat modul attr). |
doc
|
default = '' 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 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 lainnya.) 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 sekali per file .bzl, dan hanya di tingkat atas, bukan di dalam fungsi. Gaya yang disukai adalah menempatkan panggilan ini tepat di bawah pernyataan load()
dan logika singkat yang diperlukan untuk menentukan argumen.
Jika tanda --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
Sintaksis "@" tidak diizinkan; semua spesifikasi ditafsirkan relatif terhadap repositori modul saat ini. Jika Perhatikan bahwa flag |