attrs dari rule() dan aspect().Lihat halaman Aturan untuk mengetahui informasi selengkapnya tentang cara menentukan dan menggunakan atribut.
Anggota
- bool
- int
- int_list
- label
- label_keyed_string_dict
- label_list
- output
- output_list
- string
- string_dict
- string_list
- string_list_dict
bool
Attribute attr.bool(default=False, doc='', mandatory=False)
Parameter
| Parameter | Deskripsi |
|---|---|
default
|
default = False Nilai default yang akan digunakan jika tidak ada nilai untuk atribut ini saat membuat instance aturan. |
doc
|
default = '' Deskripsi atribut yang dapat diekstrak oleh alat pembuat dokumentasi. |
mandatory
|
default = False Jika benar, nilai harus ditentukan secara eksplisit (meskipun memiliki default).
|
int
Attribute attr.int(default=0, doc='', mandatory=False, values=[])
Parameter
| Parameter | Deskripsi |
|---|---|
default
|
default = 0 Nilai default yang akan digunakan jika tidak ada nilai untuk atribut ini saat membuat instance aturan. |
doc
|
default = '' Deskripsi atribut yang dapat diekstrak oleh alat pembuat dokumentasi. |
mandatory
|
default = False Jika benar, nilai harus ditentukan secara eksplisit (meskipun memiliki default).
|
values
|
sequence of ints;
default = []Daftar nilai yang diizinkan untuk atribut. Error akan muncul jika nilai lain diberikan. |
int_list
Attribute attr.int_list(mandatory=False, allow_empty=True, *, default=[], doc='')
Parameter
| Parameter | Deskripsi |
|---|---|
mandatory
|
default = False Jika benar, nilai harus ditentukan secara eksplisit (meskipun memiliki default).
|
allow_empty
|
default = True Benar (True) jika atribut dapat kosong. |
default
|
sequence of ints;
default = []Nilai default yang akan digunakan jika tidak ada nilai untuk atribut ini yang diberikan saat membuat instance aturan. |
doc
|
default = '' Deskripsi atribut yang dapat diekstrak oleh alat pembuat dokumentasi. |
label
Attribute attr.label(default=None, doc='', executable=False, allow_files=None, allow_single_file=None, mandatory=False, providers=[], allow_rules=None, cfg=None, aspects=[])
Membuat skema untuk atribut label. Ini adalah atribut dependensi.
Atribut ini berisi nilai Label yang unik. Jika string diberikan sebagai pengganti Label, string tersebut akan dikonversi menggunakan konstruktor label. Bagian relatif dari jalur label, termasuk repositori (yang mungkin diganti namanya), diselesaikan sehubungan dengan paket target yang di-instantiate.
Pada waktu analisis (dalam fungsi penerapan aturan), saat mengambil nilai atribut dari ctx.attr, label diganti dengan Target yang sesuai. Hal ini memungkinkan Anda mengakses penyedia dependensi target saat ini.
Selain file sumber biasa, jenis atribut ini sering digunakan untuk merujuk ke alat -- misalnya, compiler. Alat tersebut dianggap sebagai dependensi, seperti file sumber. Agar pengguna tidak perlu menentukan label alat setiap kali mereka menggunakan aturan dalam file BUILD, Anda dapat meng-hard code label alat kanonis sebagai nilai default dari atribut ini. Jika Anda juga ingin mencegah pengguna mengganti default ini, Anda dapat membuat atribut menjadi pribadi dengan memberinya nama yang diawali dengan garis bawah. Lihat halaman Aturan untuk mengetahui informasi selengkapnya.
Parameter
| Parameter | Deskripsi |
|---|---|
default
|
Label; or string; or LateBoundDefault; or NativeComputedDefault; or function; or None;
default = NoneNilai default yang akan digunakan jika tidak ada nilai untuk atribut ini saat membuat instance aturan.Gunakan string atau fungsi Label untuk menentukan nilai default, misalnya, attr.label(default = "//a:b").
|
doc
|
default = '' Deskripsi atribut yang dapat diekstrak oleh alat pembuat dokumentasi. |
executable
|
default = False True jika dependensi harus dapat dieksekusi. Artinya, label harus merujuk ke file yang dapat dieksekusi, atau ke aturan yang menghasilkan file yang dapat dieksekusi. Akses label dengan ctx.executable.<attribute_name>.
|
allow_files
|
bool; or sequence of strings; or None;
default = NoneApakah target File diizinkan. Dapat berupa True, False (default), atau daftar ekstensi file yang diizinkan (misalnya, [".cc", ".cpp"]).
|
allow_single_file
|
default = None Ini mirip dengan allow_files, dengan batasan bahwa label harus sesuai dengan satu File. Akses melalui ctx.file.<attribute_name>.
|
mandatory
|
default = False Jika benar, nilai harus ditentukan secara eksplisit (meskipun memiliki default).
|
providers
|
default = [] Penyedia yang harus diberikan oleh dependensi apa pun yang muncul dalam atribut ini. Format argumen ini adalah daftar daftar penyedia -- objek |
allow_rules
|
sequence of strings; or None;
default = NoneAturan mana yang menjadi target (nama class) yang diizinkan. Fungsi ini tidak digunakan lagi (hanya dipertahankan untuk kompatibilitas), gunakan penyedia sebagai gantinya. |
cfg
|
default = None Konfigurasi atribut. Nilainya bisa berupa "exec", yang menunjukkan bahwa dependensi dibangun untuk execution platform, atau "target", yang menunjukkan bahwa dependensi dibangun untuk target platform. Contoh umum perbedaannya adalah saat membuat aplikasi seluler, di mana target platform adalah Android atau iOS, sedangkan execution platform adalah Linux, macOS, atau Windows. Parameter ini wajib diisi jika executable adalah True untuk mencegah pembuatan alat host secara tidak sengaja dalam konfigurasi target. "target" tidak memiliki efek semantik, jadi jangan tetapkan saat executable adalah False, kecuali jika benar-benar membantu mengklarifikasi maksud Anda.
|
aspects
|
sequence of Aspects;
default = []Aspek yang harus diterapkan ke dependensi atau dependensi yang ditentukan oleh atribut ini. |
label_keyed_string_dict
Attribute attr.label_keyed_string_dict(allow_empty=True, *, default={}, doc='', allow_files=None, allow_rules=None, providers=[], flags=[], mandatory=False, cfg=None, aspects=[])
Membuat skema untuk atribut yang menyimpan kamus, dengan kunci adalah label dan nilai adalah string. Ini adalah atribut dependensi.
Atribut ini berisi nilai Label yang unik. Jika string diberikan sebagai pengganti Label, string tersebut akan dikonversi menggunakan konstruktor label. Bagian relatif dari jalur label, termasuk repositori (yang mungkin diganti namanya), diselesaikan sehubungan dengan paket target yang di-instantiate.
Pada waktu analisis (dalam fungsi penerapan aturan), saat mengambil nilai atribut dari ctx.attr, label diganti dengan Target yang sesuai. Hal ini memungkinkan Anda mengakses penyedia dependensi target saat ini.
Parameter
| Parameter | Deskripsi |
|---|---|
allow_empty
|
default = True Benar (True) jika atribut dapat kosong. |
default
|
dict; or function;
default = {}Nilai default yang akan digunakan jika tidak ada nilai untuk atribut ini saat membuat instance aturan.Gunakan string atau fungsi Label untuk menentukan nilai default, misalnya, attr.label_keyed_string_dict(default = {"//a:b": "value", "//a:c": "string"}).
|
doc
|
default = '' Deskripsi atribut yang dapat diekstrak oleh alat pembuat dokumentasi. |
allow_files
|
bool; or sequence of strings; or None;
default = NoneApakah target File diizinkan. Dapat berupa True, False (default), atau daftar ekstensi file yang diizinkan (misalnya, [".cc", ".cpp"]).
|
allow_rules
|
sequence of strings; or None;
default = NoneAturan mana yang menjadi target (nama class) yang diizinkan. Fungsi ini tidak digunakan lagi (hanya dipertahankan untuk kompatibilitas), gunakan penyedia sebagai gantinya. |
providers
|
default = [] Penyedia yang harus diberikan oleh dependensi apa pun yang muncul dalam atribut ini. Format argumen ini adalah daftar daftar penyedia -- objek |
flags
|
sequence of strings;
default = []Tidak digunakan lagi, akan dihapus. |
mandatory
|
default = False Jika benar, nilai harus ditentukan secara eksplisit (meskipun memiliki default).
|
cfg
|
default = None Konfigurasi atribut. Nilainya bisa berupa "exec", yang menunjukkan bahwa dependensi dibangun untuk execution platform, atau "target", yang menunjukkan bahwa dependensi dibangun untuk target platform. Contoh umum perbedaannya adalah saat membuat aplikasi seluler, di mana target platform adalah Android atau iOS, sedangkan execution platform adalah Linux, macOS, atau Windows.
|
aspects
|
sequence of Aspects;
default = []Aspek yang harus diterapkan ke dependensi atau dependensi yang ditentukan oleh atribut ini. |
label_list
Attribute attr.label_list(allow_empty=True, *, default=[], doc='', allow_files=None, allow_rules=None, providers=[], flags=[], mandatory=False, cfg=None, aspects=[])
Membuat skema untuk atribut daftar label. Ini adalah atribut dependensi.
Atribut ini berisi nilai Label yang unik. Jika string diberikan sebagai pengganti Label, string tersebut akan dikonversi menggunakan konstruktor label. Bagian relatif dari jalur label, termasuk repositori (yang mungkin diganti namanya), diselesaikan sehubungan dengan paket target yang di-instantiate.
Pada waktu analisis (dalam fungsi penerapan aturan), saat mengambil nilai atribut dari ctx.attr, label diganti dengan Target yang sesuai. Hal ini memungkinkan Anda mengakses penyedia dependensi target saat ini.
Parameter
| Parameter | Deskripsi |
|---|---|
allow_empty
|
default = True Benar (True) jika atribut dapat kosong. |
default
|
sequence of Labels; or function;
default = []Nilai default yang akan digunakan jika tidak ada nilai untuk atribut ini yang diberikan saat membuat instance aturan.Gunakan string atau fungsi Label untuk menentukan nilai default, misalnya, attr.label_list(default = ["//a:b", "//a:c"]).
|
doc
|
default = '' Deskripsi atribut yang dapat diekstrak oleh alat pembuat dokumentasi. |
allow_files
|
bool; or sequence of strings; or None;
default = NoneApakah target File diizinkan. Dapat berupa True, False (default), atau daftar ekstensi file yang diizinkan (misalnya, [".cc", ".cpp"]).
|
allow_rules
|
sequence of strings; or None;
default = NoneAturan mana yang menjadi target (nama class) yang diizinkan. Fungsi ini tidak digunakan lagi (hanya dipertahankan untuk kompatibilitas), gunakan penyedia sebagai gantinya. |
providers
|
default = [] Penyedia yang harus diberikan oleh dependensi apa pun yang muncul dalam atribut ini. Format argumen ini adalah daftar daftar penyedia -- objek |
flags
|
sequence of strings;
default = []Tidak digunakan lagi, akan dihapus. |
mandatory
|
default = False Jika benar, nilai harus ditentukan secara eksplisit (meskipun memiliki default).
|
cfg
|
default = None Konfigurasi atribut. Nilainya bisa berupa "exec", yang menunjukkan bahwa dependensi dibangun untuk execution platform, atau "target", yang menunjukkan bahwa dependensi dibangun untuk target platform. Contoh umum perbedaannya adalah saat membuat aplikasi seluler, di mana target platform adalah Android atau iOS, sedangkan execution platform adalah Linux, macOS, atau Windows.
|
aspects
|
sequence of Aspects;
default = []Aspek yang harus diterapkan ke dependensi atau dependensi yang ditentukan oleh atribut ini. |
hasil
Attribute attr.output(doc='', mandatory=False)
Membuat skema untuk atribut output (label).
Atribut ini berisi nilai Label yang unik. Jika string diberikan sebagai pengganti Label, string tersebut akan dikonversi menggunakan konstruktor label. Bagian relatif dari jalur label, termasuk repositori (yang mungkin diganti namanya), diselesaikan sehubungan dengan paket target yang di-instantiate.
Pada waktu analisis, File yang sesuai dapat diambil menggunakan ctx.outputs.
Parameter
| Parameter | Deskripsi |
|---|---|
doc
|
default = '' Deskripsi atribut yang dapat diekstrak oleh alat pembuat dokumentasi. |
mandatory
|
default = False Jika benar, nilai harus ditentukan secara eksplisit (meskipun memiliki default).
|
output_list
Attribute attr.output_list(allow_empty=True, *, doc='', mandatory=False)
Atribut ini berisi nilai Label yang unik. Jika string diberikan sebagai pengganti Label, string tersebut akan dikonversi menggunakan konstruktor label. Bagian relatif dari jalur label, termasuk repositori (yang mungkin diganti namanya), diselesaikan sehubungan dengan paket target yang di-instantiate.
Pada waktu analisis, File yang sesuai dapat diambil menggunakan ctx.outputs.
Parameter
| Parameter | Deskripsi |
|---|---|
allow_empty
|
default = True Benar (True) jika atribut dapat kosong. |
doc
|
default = '' Deskripsi atribut yang dapat diekstrak oleh alat pembuat dokumentasi. |
mandatory
|
default = False Jika benar, nilai harus ditentukan secara eksplisit (meskipun memiliki default).
|
string
Attribute attr.string(default='', doc='', mandatory=False, values=[])
Parameter
| Parameter | Deskripsi |
|---|---|
default
|
string; or NativeComputedDefault;
default = ''Nilai default yang akan digunakan jika tidak ada nilai untuk atribut ini saat membuat instance aturan. |
doc
|
default = '' Deskripsi atribut yang dapat diekstrak oleh alat pembuat dokumentasi. |
mandatory
|
default = False Jika benar, nilai harus ditentukan secara eksplisit (meskipun memiliki default).
|
values
|
sequence of strings;
default = []Daftar nilai yang diizinkan untuk atribut. Error akan muncul jika nilai lain diberikan. |
string_dict
Attribute attr.string_dict(allow_empty=True, *, default={}, doc='', mandatory=False)
Parameter
| Parameter | Deskripsi |
|---|---|
allow_empty
|
default = True Benar (True) jika atribut dapat kosong. |
default
|
default = {} Nilai default yang akan digunakan jika tidak ada nilai untuk atribut ini yang diberikan saat membuat instance aturan. |
doc
|
default = '' Deskripsi atribut yang dapat diekstrak oleh alat pembuat dokumentasi. |
mandatory
|
default = False Jika benar, nilai harus ditentukan secara eksplisit (meskipun memiliki default).
|
string_list
Attribute attr.string_list(mandatory=False, allow_empty=True, *, default=[], doc='')
Parameter
| Parameter | Deskripsi |
|---|---|
mandatory
|
default = False Jika benar, nilai harus ditentukan secara eksplisit (meskipun memiliki default).
|
allow_empty
|
default = True Benar (True) jika atribut dapat kosong. |
default
|
sequence of strings; or NativeComputedDefault;
default = []Nilai default yang akan digunakan jika tidak ada nilai untuk atribut ini yang diberikan saat membuat instance aturan. |
doc
|
default = '' Deskripsi atribut yang dapat diekstrak oleh alat pembuat dokumentasi. |
string_list_dict
Attribute attr.string_list_dict(allow_empty=True, *, default={}, doc='', mandatory=False)
Parameter
| Parameter | Deskripsi |
|---|---|
allow_empty
|
default = True Benar (True) jika atribut dapat kosong. |
default
|
default = {} Nilai default yang akan digunakan jika tidak ada nilai untuk atribut ini yang diberikan saat membuat instance aturan. |
doc
|
default = '' Deskripsi atribut yang dapat diekstrak oleh alat pembuat dokumentasi. |
mandatory
|
default = False Jika benar, nilai harus ditentukan secara eksplisit (meskipun memiliki default).
|