rule() ve aspect() işlevlerinin attrs sözlük bağımsız değişkeninin değerleri olarak kullanılır.Özellikleri tanımlama ve kullanma hakkında daha fazla bilgi için Kurallar sayfasını inceleyin.
Üyeler
- bool
- int
- int_list
- etiket
- 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)
Parametreler
| Parametre | Açıklama |
|---|---|
default
|
default = False Kural oluşturulurken bu özellik için değer verilmezse kullanılacak varsayılan değer. |
doc
|
default = '' Belge oluşturma araçları tarafından ayıklanabilen özelliğin açıklaması. |
mandatory
|
default = False Doğruysa değer açıkça belirtilmelidir ( default olsa bile).
|
int
Attribute attr.int(default=0, doc='', mandatory=False, values=[])
Parametreler
| Parametre | Açıklama |
|---|---|
default
|
default = 0 Kural oluşturulurken bu özellik için değer verilmezse kullanılacak varsayılan değer. |
doc
|
default = '' Belge oluşturma araçları tarafından ayıklanabilen özelliğin açıklaması. |
mandatory
|
default = False Doğruysa değer açıkça belirtilmelidir ( default olsa bile).
|
values
|
sequence of ints;
default = []Özellik için izin verilen değerlerin listesi. Başka bir değer verilirse hata oluşur. |
int_list
Attribute attr.int_list(mandatory=False, allow_empty=True, *, default=[], doc='')
Parametreler
| Parametre | Açıklama |
|---|---|
mandatory
|
default = False Doğruysa değer açıkça belirtilmelidir ( default olsa bile).
|
allow_empty
|
default = True Özellik boş olabiliyorsa True. |
default
|
sequence of ints;
default = []Kural oluşturulurken bu özellik için değer verilmezse kullanılacak varsayılan değer. |
doc
|
default = '' Belge oluşturma araçları tarafından ayıklanabilen özelliğin açıklaması. |
etiket
Attribute attr.label(default=None, doc='', executable=False, allow_files=None, allow_single_file=None, mandatory=False, providers=[], allow_rules=None, cfg=None, aspects=[])
Etiket özelliği için şema oluşturur. Bu, bir bağımlılık özelliğidir.
Bu özellik, benzersiz Label değerleri içeriyor. Label yerine bir dize sağlanırsa bu dize, etiket oluşturucu kullanılarak dönüştürülür. Etiket yolunun göreli kısımları (depo dahil, yeniden adlandırılmış olabilir), oluşturulan hedefin paketiyle ilgili olarak çözülür.
Analiz sırasında (kuralın uygulama işlevi içinde), ctx.attr öğesinden özellik değeri alınırken etiketler ilgili Target ile değiştirilir. Bu sayede, mevcut hedefin bağımlılıklarının sağlayıcılarına erişebilirsiniz.
Bu tür özellik, normal kaynak dosyalarına ek olarak genellikle bir aracı (ör. derleyici) ifade etmek için kullanılır. Bu tür araçlar, kaynak dosyalar gibi bağımlılık olarak kabul edilir. Kullanıcıların, kuralı BUILD dosyalarında her kullandıklarında aracın etiketini belirtmelerini önlemek için kanonik bir aracın etiketini bu özelliğin default değeri olarak sabit kodlayabilirsiniz. Kullanıcıların bu varsayılanı geçersiz kılmasını da engellemek istiyorsanız alt çizgiyle başlayan bir ad vererek özelliği özel yapabilirsiniz. Daha fazla bilgi için Kurallar sayfasına bakın.
Parametreler
| Parametre | Açıklama |
|---|---|
default
|
Label; or string; or LateBoundDefault; or NativeComputedDefault; or function; or None;
default = NoneKural oluşturulurken bu özellik için değer verilmezse kullanılacak varsayılan değer. Varsayılan değeri belirtmek için dize veya Label işlevini kullanın. Örneğin, attr.label(default = "//a:b").
|
doc
|
default = '' Belge oluşturma araçları tarafından ayıklanabilen özelliğin açıklaması. |
executable
|
varsayılan = False Bağımlılığın yürütülebilir olması gerekiyorsa True. Bu nedenle, etiketin yürütülebilir bir dosyayı veya yürütülebilir bir dosya çıkışı veren bir kuralı ifade etmesi gerekir. ctx.executable.<attribute_name> ile etikete erişin.
|
allow_files
|
bool; or sequence of strings; or None;
default = NoneWhether File targets are allowed. True, False (varsayılan) veya izin verilen dosya uzantılarının listesi (örneğin, [".cc", ".cpp"]) olabilir.
|
allow_single_file
|
default = None Bu, allow_files etiketine benzer ancak etiketin tek bir Dosya'ya karşılık gelmesi gerekir. ctx.file.<attribute_name> üzerinden erişebilirsiniz.
|
mandatory
|
default = False Doğruysa değer açıkça belirtilmelidir ( default olsa bile).
|
providers
|
default = [] Bu özellikte görünen bağımlılıklar tarafından sağlanması gereken sağlayıcılar. Bu bağımsız değişkenin biçimi, sağlayıcı listelerinin listesidir. |
allow_rules
|
sequence of strings; or None;
default = NoneHangi kural hedeflerine (sınıfların adı) izin verilir? Bu işlevin desteği sonlandırıldı (yalnızca uyumluluk için tutuluyor). Bunun yerine sağlayıcıları kullanın. |
cfg
|
default = None Özelliğin yapılandırması. Bağımlılığın execution platform için oluşturulduğunu belirten "exec" veya bağımlılığın target platform için oluşturulduğunu belirten "target" olabilir. Bu farkın tipik bir örneği, mobil uygulamalar oluşturulurken görülür. Bu durumda target platform, Android veya iOS iken execution platform, Linux, macOS veya Windows olur. Hedef yapılandırmada yanlışlıkla ana makine araçları oluşturulmasını önlemek için executable True ise bu parametre gereklidir. "target"'nın anlamsal bir etkisi yoktur. Bu nedenle, executable Yanlış olduğunda, niyetinizi netleştirmeye gerçekten yardımcı olmadığı sürece bu değeri ayarlamayın.
|
aspects
|
sequence of Aspects;
default = []Bu özellik tarafından belirtilen bağımlılığa veya bağımlılıklara uygulanması gereken yönler. |
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=[])
Anahtarların etiket, değerlerin ise dize olduğu bir sözlük içeren özellik için şema oluşturur. Bu, bir bağımlılık özelliğidir.
Bu özellik, benzersiz Label değerleri içeriyor. Label yerine bir dize sağlanırsa bu dize, etiket oluşturucu kullanılarak dönüştürülür. Etiket yolunun göreli kısımları (depo dahil, yeniden adlandırılmış olabilir), oluşturulan hedefin paketiyle ilgili olarak çözülür.
Analiz sırasında (kuralın uygulama işlevi içinde), ctx.attr öğesinden özellik değeri alınırken etiketler ilgili Target ile değiştirilir. Bu sayede, mevcut hedefin bağımlılıklarının sağlayıcılarına erişebilirsiniz.
Parametreler
| Parametre | Açıklama |
|---|---|
allow_empty
|
default = True Özellik boş olabiliyorsa True. |
default
|
dict; or function;
default = {}Kural oluşturulurken bu özellik için değer verilmezse kullanılacak varsayılan değer. Varsayılan değerleri belirtmek için dizeleri veya Label işlevini kullanın (ör. attr.label_keyed_string_dict(default = {"//a:b": "value", "//a:c": "string"})).
|
doc
|
default = '' Belge oluşturma araçları tarafından ayıklanabilen özelliğin açıklaması. |
allow_files
|
bool; or sequence of strings; or None;
default = NoneWhether File targets are allowed. True, False (varsayılan) veya izin verilen dosya uzantılarının listesi (örneğin, [".cc", ".cpp"]) olabilir.
|
allow_rules
|
sequence of strings; or None;
default = NoneHangi kural hedeflerine (sınıfların adı) izin verilir? Bu işlevin desteği sonlandırıldı (yalnızca uyumluluk için tutuluyor). Bunun yerine sağlayıcıları kullanın. |
providers
|
default = [] Bu özellikte görünen bağımlılıklar tarafından sağlanması gereken sağlayıcılar. Bu bağımsız değişkenin biçimi, sağlayıcı listelerinin listesidir. |
flags
|
sequence of strings;
default = []Kullanımdan kaldırıldı, kaldırılacak. |
mandatory
|
default = False Doğruysa değer açıkça belirtilmelidir ( default olsa bile).
|
cfg
|
default = None Özelliğin yapılandırması. Bağımlılığın execution platform için oluşturulduğunu belirten "exec" veya bağımlılığın target platform için oluşturulduğunu belirten "target" olabilir. Bu farkın tipik bir örneği, mobil uygulamalar oluşturulurken görülür. Bu durumda target platform, Android veya iOS iken execution platform, Linux, macOS veya Windows olur.
|
aspects
|
sequence of Aspects;
default = []Bu özellik tarafından belirtilen bağımlılığa veya bağımlılıklara uygulanması gereken yönler. |
label_list
Attribute attr.label_list(allow_empty=True, *, default=[], doc='', allow_files=None, allow_rules=None, providers=[], flags=[], mandatory=False, cfg=None, aspects=[])
Bir etiket listesi özelliği için şema oluşturur. Bu, bir bağımlılık özelliğidir.
Bu özellik, benzersiz Label değerleri içeriyor. Label yerine bir dize sağlanırsa bu dize, etiket oluşturucu kullanılarak dönüştürülür. Etiket yolunun göreli kısımları (depo dahil, yeniden adlandırılmış olabilir), oluşturulan hedefin paketiyle ilgili olarak çözülür.
Analiz sırasında (kuralın uygulama işlevi içinde), ctx.attr öğesinden özellik değeri alınırken etiketler ilgili Target ile değiştirilir. Bu sayede, mevcut hedefin bağımlılıklarının sağlayıcılarına erişebilirsiniz.
Parametreler
| Parametre | Açıklama |
|---|---|
allow_empty
|
default = True Özellik boş olabiliyorsa True. |
default
|
sequence of Labels; or function;
default = []Kural oluşturulurken bu özellik için değer verilmezse kullanılacak varsayılan değer. Varsayılan değerleri belirtmek için dizeleri veya Label işlevini kullanın (ör. attr.label_list(default = ["//a:b", "//a:c"])).
|
doc
|
default = '' Belge oluşturma araçları tarafından ayıklanabilen özelliğin açıklaması. |
allow_files
|
bool; or sequence of strings; or None;
default = NoneWhether File targets are allowed. True, False (varsayılan) veya izin verilen dosya uzantılarının listesi (örneğin, [".cc", ".cpp"]) olabilir.
|
allow_rules
|
sequence of strings; or None;
default = NoneHangi kural hedeflerine (sınıfların adı) izin verilir? Bu işlevin desteği sonlandırıldı (yalnızca uyumluluk için tutuluyor). Bunun yerine sağlayıcıları kullanın. |
providers
|
default = [] Bu özellikte görünen bağımlılıklar tarafından sağlanması gereken sağlayıcılar. Bu bağımsız değişkenin biçimi, sağlayıcı listelerinin listesidir. |
flags
|
sequence of strings;
default = []Kullanımdan kaldırıldı, kaldırılacak. |
mandatory
|
default = False Doğruysa değer açıkça belirtilmelidir ( default olsa bile).
|
cfg
|
default = None Özelliğin yapılandırması. Bağımlılığın execution platform için oluşturulduğunu belirten "exec" veya bağımlılığın target platform için oluşturulduğunu belirten "target" olabilir. Bu farkın tipik bir örneği, mobil uygulamalar oluşturulurken görülür. Bu durumda target platform, Android veya iOS iken execution platform, Linux, macOS veya Windows olur.
|
aspects
|
sequence of Aspects;
default = []Bu özellik tarafından belirtilen bağımlılığa veya bağımlılıklara uygulanması gereken yönler. |
çıkış
Attribute attr.output(doc='', mandatory=False)
Bir çıkış (etiket) özelliği için şema oluşturur.
Bu özellik, benzersiz Label değerleri içeriyor. Label yerine bir dize sağlanırsa bu dize, etiket oluşturucu kullanılarak dönüştürülür. Etiket yolunun göreli kısımları (depo dahil, yeniden adlandırılmış olabilir), oluşturulan hedefin paketiyle ilgili olarak çözülür.
Analiz sırasında, ilgili File, ctx.outputs kullanılarak alınabilir.
Parametreler
| Parametre | Açıklama |
|---|---|
doc
|
default = '' Belge oluşturma araçları tarafından ayıklanabilen özelliğin açıklaması. |
mandatory
|
default = False Doğruysa değer açıkça belirtilmelidir ( default olsa bile).
|
output_list
Attribute attr.output_list(allow_empty=True, *, doc='', mandatory=False)
Bu özellik, benzersiz Label değerleri içeriyor. Label yerine bir dize sağlanırsa bu dize, etiket oluşturucu kullanılarak dönüştürülür. Etiket yolunun göreli kısımları (depo dahil, yeniden adlandırılmış olabilir), oluşturulan hedefin paketiyle ilgili olarak çözülür.
Analiz sırasında, ilgili File, ctx.outputs kullanılarak alınabilir.
Parametreler
| Parametre | Açıklama |
|---|---|
allow_empty
|
default = True Özellik boş olabiliyorsa True. |
doc
|
default = '' Belge oluşturma araçları tarafından ayıklanabilen özelliğin açıklaması. |
mandatory
|
default = False Doğruysa değer açıkça belirtilmelidir ( default olsa bile).
|
dize
Attribute attr.string(default='', doc='', mandatory=False, values=[])
Parametreler
| Parametre | Açıklama |
|---|---|
default
|
string; or NativeComputedDefault;
default = ''Kural oluşturulurken bu özellik için değer verilmezse kullanılacak varsayılan değer. |
doc
|
default = '' Belge oluşturma araçları tarafından ayıklanabilen özelliğin açıklaması. |
mandatory
|
default = False Doğruysa değer açıkça belirtilmelidir ( default olsa bile).
|
values
|
sequence of strings;
default = []Özellik için izin verilen değerlerin listesi. Başka bir değer verilirse hata oluşur. |
string_dict
Attribute attr.string_dict(allow_empty=True, *, default={}, doc='', mandatory=False)
Parametreler
| Parametre | Açıklama |
|---|---|
allow_empty
|
default = True Özellik boş olabiliyorsa True. |
default
|
default = {} Kural oluşturulurken bu özellik için değer verilmezse kullanılacak varsayılan değer. |
doc
|
default = '' Belge oluşturma araçları tarafından ayıklanabilen özelliğin açıklaması. |
mandatory
|
default = False Doğruysa değer açıkça belirtilmelidir ( default olsa bile).
|
string_list
Attribute attr.string_list(mandatory=False, allow_empty=True, *, default=[], doc='')
Parametreler
| Parametre | Açıklama |
|---|---|
mandatory
|
default = False Doğruysa değer açıkça belirtilmelidir ( default olsa bile).
|
allow_empty
|
default = True Özellik boş olabiliyorsa True. |
default
|
sequence of strings; or NativeComputedDefault;
default = []Kural oluşturulurken bu özellik için değer verilmezse kullanılacak varsayılan değer. |
doc
|
default = '' Belge oluşturma araçları tarafından ayıklanabilen özelliğin açıklaması. |
string_list_dict
Attribute attr.string_list_dict(allow_empty=True, *, default={}, doc='', mandatory=False)
Parametreler
| Parametre | Açıklama |
|---|---|
allow_empty
|
default = True Özellik boş olabiliyorsa True. |
default
|
default = {} Kural oluşturulurken bu özellik için değer verilmezse kullanılacak varsayılan değer. |
doc
|
default = '' Belge oluşturma araçları tarafından ayıklanabilen özelliğin açıklaması. |
mandatory
|
default = False Doğruysa değer açıkça belirtilmelidir ( default olsa bile).
|