.
Bu, bir kuralın veya unsurun özellik şemalarını tanımlamak için kullanılan üst düzey bir modüldür. Her işlev, tek bir özelliğin şemasını temsil eden bir nesne döndürür. Bu nesneler, rule()
ve aspect()
öğesinin 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ına bakın.
Üyeler
- bool
- int
- int_list
- etiket
- label_keyed_string_dict
- label_list
- çıkış
- output_list
- dize
- string_dict
- string_list
- string_list_dict
bool
Attribute attr.bool(configurable=unbound, default=False, doc=None, mandatory=False)Boole özelliği için şema oluşturur. İlgili
ctx.attr
özelliği bool
türünde olur.
Parametreler
Parametre | Açıklama |
---|---|
configurable
|
bool; ya da sınırsız olması gerekir.
varsayılan değer: unbound Bu bağımsız değişken yalnızca sembolik bir makronun özelliği için belirtilebilir.
Bir kuralın veya unsurun özelliği için |
default
|
bool;
varsayılan değer: False Kural örneklenirken bu özellik için herhangi bir değer belirtilmemişse kullanılacak varsayılan değer. |
doc
|
string; veya None ;
varsayılan değer: None Belge oluşturma araçları tarafından çıkarılabilen özelliğin açıklaması. |
mandatory
|
bool;
varsayılan değer: False True (doğru) ise değer açıkça belirtilmelidir ( default içerse bile).
|
int
Attribute attr.int(configurable=unbound, default=0, doc=None, mandatory=False, values=[])Tam sayı özelliği için şema oluşturur. Değer, imzalı 32 bit aralığında olmalıdır. İlgili
ctx.attr
özelliği int
türünde olur.
Parametreler
Parametre | Açıklama |
---|---|
configurable
|
bool; ya da sınırsız olması gerekir.
varsayılan değer: unbound Bu bağımsız değişken yalnızca sembolik bir makronun özelliği için belirtilebilir.
Bir kuralın veya unsurun özelliği için |
default
|
int;
varsayılan değer: 0 Kural örneklenirken bu özellik için herhangi bir değer belirtilmemişse kullanılacak varsayılan değer. |
doc
|
string; veya None ;
varsayılan değer: None Belge oluşturma araçları tarafından çıkarılabilen özelliğin açıklaması. |
mandatory
|
bool;
varsayılan değer: False True (doğru) ise değer açıkça belirtilmelidir ( default içerse bile).
|
values
|
sequence of int;
varsayılan değer [] Özellik için izin verilen değerlerin listesi. Başka herhangi bir değer verilirse hata oluşur. |
int_list
Attribute attr.int_list(mandatory=False, allow_empty=True, *, configurable=unbound, default=[], doc=None)Tamsayılar listesi özelliği için bir şema oluşturur. Her öğe, imzalı 32 bit aralığında olmalıdır.
Parametreler
Parametre | Açıklama |
---|---|
mandatory
|
bool;
varsayılan değer: False True (doğru) ise değer açıkça belirtilmelidir ( default içerse bile).
|
allow_empty
|
bool;
varsayılan değer: True Özellik boş olabiliyorsa doğru değerini döndürür. |
configurable
|
bool; ya da sınırsız olması gerekir.
varsayılan değer: unbound Bu bağımsız değişken yalnızca sembolik bir makronun özelliği için belirtilebilir.
Bir kuralın veya unsurun özelliği için |
default
|
sequence of int;
varsayılan değer [] Kural örneklenirken bu özellik için herhangi bir değer belirtilmemişse kullanılacak varsayılan değer. |
doc
|
string; veya None ;
varsayılan değer: None Belge oluşturma araçları tarafından çıkarılabilen özelliğin açıklaması. |
etiket
Attribute attr.label(configurable=unbound, default=None, doc=None, executable=False, allow_files=None, allow_single_file=None, mandatory=False, skip_validations=False, providers=[], allow_rules=None, cfg=None, aspects=[], flags=[])
Etiket özelliği için bir şema oluşturur. Bu bir bağımlılık özelliğidir.
Bu özellikte benzersiz Label
değerleri bulunmaktadır. Label
yerine bir dize sağlanırsa etiket oluşturucu kullanılarak dönüştürülür. (Yeniden adlandırılabilecek) depo da dahil olmak üzere etiket yolunun göreli bölümleri, örneklenen hedefin paketine göre çözümlenir.
Analiz sırasında (kuralın uygulama işlevinde), ctx.attr
özellik değeri alınırken etiketler karşılık gelen 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 özellikler, normal kaynak dosyalarına ek olarak genellikle araçlara (örneğin, derleyici) atıfta bulunmak 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 gerektirmemek için standart bir aracın etiketini, bu özelliğin default
değeri olarak sabit kodlayabilirsiniz. Kullanıcıların bu varsayılan ayarı geçersiz kılmasını da önlemek istiyorsanız özelliği gizli hale getirmek için alt çizgiyle başlayan bir ad kullanabilirsiniz. Daha fazla bilgi için Kurallar sayfasına göz atın.
Parametreler
Parametre | Açıklama |
---|---|
configurable
|
bool; ya da sınırsız olması gerekir.
varsayılan değer: unbound Bu bağımsız değişken yalnızca sembolik bir makronun özelliği için belirtilebilir.
Bir kuralın veya unsurun özelliği için |
default
|
Etiket; veya string; veya LateBoundDefault kullanın; veya NativeComputedDefault veya function; veya None ;
varsayılan değer None Kural örneklenirken bu özellik için herhangi bir değer belirtilmezse kullanılacak varsayılan değer. Varsayılan değeri (ör. attr.label(default = "//a:b") ) belirtmek için bir dize veya Label işlevini kullanın.
|
doc
|
string; veya None ;
varsayılan değer: None Belge oluşturma araçları tarafından çıkarılabilen özelliğin açıklaması. |
executable
|
bool;
varsayılan değer: False Bağımlılığın yürütülebilir olması gerekiyorsa doğru değerini döndürür. Bu, etiketin yürütülebilir bir dosyaya veya yürütülebilir dosya oluşturan bir kurala başvurması gerektiği anlamına gelir. ctx.executable.<attribute_name> ile etikete erişin.
|
allow_files
|
bool; dize dizisi veya veya None ;
varsayılan ayar None File hedeflerine izin verilip verilmediği. True , False (varsayılan) veya izin verilen dosya uzantılarının listesi (örneğin, [".cc", ".cpp"] ) olabilir.
|
allow_single_file
|
varsayılan değer None Bu, allow_files ile benzerdir ve etiketin tek bir Dosyaya karşılık gelmesi gerekir. Bu özelliğe ctx.file.<attribute_name> üzerinden erişebilirsiniz.
|
mandatory
|
bool;
varsayılan değer: False True (doğru) ise değer açıkça belirtilmelidir ( default içerse bile).
|
skip_validations
|
bool;
varsayılan değer: False Doğru değerine ayarlanırsa bu özellikteki geçişli bağımlılıklarla ilgili doğrulama işlemleri çalışmaz. Bu geçici bir çözümdür ve gelecekte kaldırılacaktır. |
providers
|
sequence;
varsayılan değer: [] Bu özellikte görünen herhangi bir bağımlılık tarafından sağlanması gereken sağlayıcılar. Bu bağımsız değişkenin biçimi, sağlayıcı listelerinin bir listesidir. |
allow_rules
|
sequence of dize; veya None ;
varsayılan değer None Hangi kural hedeflerine (sınıfların adı) izin verildiği. Bu özellik artık kullanılmamaktadır (yalnızca uyumluluk için korunmuştur), bunun yerine sağlayıcıları kullanın. |
cfg
|
varsayılan değer None Özelliğin yapılandırması. Bağımlılığın execution platform için derlendiğini belirten "exec" veya bağımlılığın target platform için oluşturulduğunu belirten "target" olabilir. Aradaki farkın tipik bir örneği, mobil uygulama oluştururken ortaya çıkar. target platform değeri Android veya iOS iken execution platform değeri Linux , macOS veya Windows olduğunda. Hedef yapılandırmada yanlışlıkla ana makine araçlarının oluşturulmasına karşı koruma sağlamak için executable Doğru değerine ayarlanmışsa bu parametre gereklidir. "target" öğesinin anlamsal etkisi yoktur. Bu nedenle, amaçlarınızı netleştirmeye yardımcı olmadığı sürece executable Yanlış değerine ayarlandığında bu ayarı yapmayın.
|
aspects
|
Aspect'lerin sequence (dizi)
varsayılan değer [] Bu özellik tarafından belirtilen bağımlılığa veya bağımlılıklara uygulanması gereken yönler. |
flags
|
sequence of dize;
varsayılan değer [] Kullanımdan kaldırıldı, kaldırılacak. |
label_keyed_string_dict
Attribute attr.label_keyed_string_dict(allow_empty=True, *, configurable=unbound, default={}, doc=None, allow_files=None, allow_rules=None, providers=[], flags=[], mandatory=False, cfg=None, aspects=[])
Sözlüğü içeren bir özellik için şema oluşturur. Burada anahtarlar etiketler, değerler ise dizedir. Bu bir bağımlılık özelliğidir.
Bu özellikte benzersiz Label
değerleri bulunmaktadır. Label
yerine bir dize sağlanırsa etiket oluşturucu kullanılarak dönüştürülür. (Yeniden adlandırılabilecek) depo da dahil olmak üzere etiket yolunun göreli bölümleri, örneklenen hedefin paketine göre çözümlenir.
Analiz sırasında (kuralın uygulama işlevinde), ctx.attr
özellik değeri alınırken etiketler karşılık gelen 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
|
bool;
varsayılan değer: True Özellik boş olabiliyorsa doğru değerini döndürür. |
configurable
|
bool; ya da sınırsız olması gerekir.
varsayılan değer: unbound Bu bağımsız değişken yalnızca sembolik bir makronun özelliği için belirtilebilir.
Bir kuralın veya unsurun özelliği için |
default
|
dict; veya function;
varsayılan değer {} Kural örneklenirken bu özellik için herhangi bir değer belirtilmezse kullanılacak varsayılan değer. Varsayılan değerleri (ör. attr.label_keyed_string_dict(default = {"//a:b": "value", "//a:c": "string"}) ) belirtmek için dizeleri veya Label işlevini kullanın.
|
doc
|
string; veya None ;
varsayılan değer: None Belge oluşturma araçları tarafından çıkarılabilen özelliğin açıklaması. |
allow_files
|
bool; dize dizisi veya veya None ;
varsayılan ayar None File hedeflerine izin verilip verilmediği. True , False (varsayılan) veya izin verilen dosya uzantılarının listesi (örneğin, [".cc", ".cpp"] ) olabilir.
|
allow_rules
|
sequence of dize; veya None ;
varsayılan değer None Hangi kural hedeflerine (sınıfların adı) izin verildiği. Bu özellik artık kullanılmamaktadır (yalnızca uyumluluk için korunmuştur), bunun yerine sağlayıcıları kullanın. |
providers
|
sequence;
varsayılan değer: [] Bu özellikte görünen herhangi bir bağımlılık tarafından sağlanması gereken sağlayıcılar. Bu bağımsız değişkenin biçimi, sağlayıcı listelerinin bir listesidir. |
flags
|
sequence of dize;
varsayılan değer [] Kullanımdan kaldırıldı, kaldırılacak. |
mandatory
|
bool;
varsayılan değer: False True (doğru) ise değer açıkça belirtilmelidir ( default içerse bile).
|
cfg
|
varsayılan değer None Özelliğin yapılandırması. Bağımlılığın execution platform için derlendiğini belirten "exec" veya bağımlılığın target platform için oluşturulduğunu belirten "target" olabilir. Aradaki farkın tipik bir örneği, mobil uygulama oluştururken ortaya çıkar. target platform değeri Android veya iOS iken execution platform değeri Linux , macOS veya Windows olduğunda.
|
aspects
|
Aspect'lerin sequence (dizi)
varsayılan değer [] 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, *, configurable=unbound, default=[], doc=None, allow_files=None, allow_rules=None, providers=[], flags=[], mandatory=False, skip_validations=False, cfg=None, aspects=[])
Etiket listesi özelliği için şema oluşturur. Bu bir bağımlılık özelliğidir. İlgili ctx.attr
özelliği, Target
listesi türünde olur.
Bu özellikte benzersiz Label
değerleri bulunmaktadır. Label
yerine bir dize sağlanırsa etiket oluşturucu kullanılarak dönüştürülür. (Yeniden adlandırılabilecek) depo da dahil olmak üzere etiket yolunun göreli bölümleri, örneklenen hedefin paketine göre çözümlenir.
Analiz sırasında (kuralın uygulama işlevinde), ctx.attr
özellik değeri alınırken etiketler karşılık gelen 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
|
bool;
varsayılan değer: True Özellik boş olabiliyorsa doğru değerini döndürür. |
configurable
|
bool; ya da sınırsız olması gerekir.
varsayılan değer: unbound Bu bağımsız değişken yalnızca sembolik bir makronun özelliği için belirtilebilir.
Bir kuralın veya unsurun özelliği için |
default
|
Etiket sequence'ı; veya function;
varsayılan ayar [] Kural örneklenirken bu özellik için herhangi bir değer belirtilmezse kullanılacak varsayılan değer. Varsayılan değerleri (ör. attr.label_list(default = ["//a:b", "//a:c"]) ) belirtmek için dizeleri veya Label işlevini kullanın.
|
doc
|
string; veya None ;
varsayılan değer: None Belge oluşturma araçları tarafından çıkarılabilen özelliğin açıklaması. |
allow_files
|
bool; dize dizisi veya veya None ;
varsayılan ayar None File hedeflerine izin verilip verilmediği. True , False (varsayılan) veya izin verilen dosya uzantılarının listesi (örneğin, [".cc", ".cpp"] ) olabilir.
|
allow_rules
|
sequence of dize; veya None ;
varsayılan değer None Hangi kural hedeflerine (sınıfların adı) izin verildiği. Bu özellik artık kullanılmamaktadır (yalnızca uyumluluk için korunmuştur), bunun yerine sağlayıcıları kullanın. |
providers
|
sequence;
varsayılan değer: [] Bu özellikte görünen herhangi bir bağımlılık tarafından sağlanması gereken sağlayıcılar. Bu bağımsız değişkenin biçimi, sağlayıcı listelerinin bir listesidir. |
flags
|
sequence of dize;
varsayılan değer [] Kullanımdan kaldırıldı, kaldırılacak. |
mandatory
|
bool;
varsayılan değer: False True (doğru) ise değer açıkça belirtilmelidir ( default içerse bile).
|
skip_validations
|
bool;
varsayılan değer: False Doğru değerine ayarlanırsa bu özellikteki geçişli bağımlılıklarla ilgili doğrulama işlemleri çalışmaz. Bu geçici bir çözümdür ve gelecekte kaldırılacaktır. |
cfg
|
varsayılan değer None Özelliğin yapılandırması. Bağımlılığın execution platform için derlendiğini belirten "exec" veya bağımlılığın target platform için oluşturulduğunu belirten "target" olabilir. Aradaki farkın tipik bir örneği, mobil uygulama oluştururken ortaya çıkar. target platform değeri Android veya iOS iken execution platform değeri Linux , macOS veya Windows olduğunda.
|
aspects
|
Aspect'lerin sequence (dizi)
varsayılan değer [] Bu özellik tarafından belirtilen bağımlılığa veya bağımlılıklara uygulanması gereken yönler. |
çıkış
Attribute attr.output(doc=None, mandatory=False)
Çıkış (etiket) özelliği için şema oluşturur.
Bu özellikte benzersiz Label
değerleri bulunmaktadır. Label
yerine bir dize sağlanırsa etiket oluşturucu kullanılarak dönüştürülür. (Yeniden adlandırılabilecek) depo da dahil olmak üzere etiket yolunun göreli bölümleri, örneklenen hedefin paketine göre çözümlenir.
Analiz anında, karşılık gelen File
ctx.outputs
kullanılarak alınabilir.
Parametreler
Parametre | Açıklama |
---|---|
doc
|
string; veya None ;
varsayılan değer: None Belge oluşturma araçları tarafından çıkarılabilen özelliğin açıklaması. |
mandatory
|
bool;
varsayılan değer: False True (doğru) ise değer açıkça belirtilmelidir ( default içerse bile).
|
output_list
Attribute attr.output_list(allow_empty=True, *, doc=None, mandatory=False)Çıkışlar listesi özelliği için bir şema oluşturur.
Bu özellikte benzersiz Label
değerleri bulunmaktadır. Label
yerine bir dize sağlanırsa etiket oluşturucu kullanılarak dönüştürülür. (Yeniden adlandırılabilecek) depo da dahil olmak üzere etiket yolunun göreli bölümleri, örneklenen hedefin paketine göre çözümlenir.
Analiz anında, karşılık gelen File
ctx.outputs
kullanılarak alınabilir.
Parametreler
Parametre | Açıklama |
---|---|
allow_empty
|
bool;
varsayılan değer: True Özellik boş olabiliyorsa doğru değerini döndürür. |
doc
|
string; veya None ;
varsayılan değer: None Belge oluşturma araçları tarafından çıkarılabilen özelliğin açıklaması. |
mandatory
|
bool;
varsayılan değer: False True (doğru) ise değer açıkça belirtilmelidir ( default içerse bile).
|
dize
Attribute attr.string(configurable=unbound, default='', doc=None, mandatory=False, values=[])Bir string özelliği için şema oluşturur.
Parametreler
Parametre | Açıklama |
---|---|
configurable
|
bool; ya da sınırsız olması gerekir.
varsayılan değer: unbound Bu bağımsız değişken yalnızca sembolik bir makronun özelliği için belirtilebilir.
Bir kuralın veya unsurun özelliği için |
default
|
string; veya NativeComputedDefault
varsayılan değer: '' Kural örneklenirken bu özellik için herhangi bir değer belirtilmemişse kullanılacak varsayılan değer. |
doc
|
string; veya None ;
varsayılan değer: None Belge oluşturma araçları tarafından çıkarılabilen özelliğin açıklaması. |
mandatory
|
bool;
varsayılan değer: False True (doğru) ise değer açıkça belirtilmelidir ( default içerse bile).
|
values
|
sequence of dize;
varsayılan değer [] Özellik için izin verilen değerlerin listesi. Başka herhangi bir değer verilirse hata oluşur. |
string_dict
Attribute attr.string_dict(allow_empty=True, *, configurable=unbound, default={}, doc=None, mandatory=False)Sözlüğü içeren bir özellik için şema oluşturur. Burada anahtar ve değerler dizedir.
Parametreler
Parametre | Açıklama |
---|---|
allow_empty
|
bool;
varsayılan değer: True Özellik boş olabiliyorsa doğru değerini döndürür. |
configurable
|
bool; ya da sınırsız olması gerekir.
varsayılan değer: unbound Bu bağımsız değişken yalnızca sembolik bir makronun özelliği için belirtilebilir.
Bir kuralın veya unsurun özelliği için |
default
|
dict;
varsayılan değer: {} Kural örneklenirken bu özellik için herhangi bir değer belirtilmemişse kullanılacak varsayılan değer. |
doc
|
string; veya None ;
varsayılan değer: None Belge oluşturma araçları tarafından çıkarılabilen özelliğin açıklaması. |
mandatory
|
bool;
varsayılan değer: False True (doğru) ise değer açıkça belirtilmelidir ( default içerse bile).
|
string_list
Attribute attr.string_list(mandatory=False, allow_empty=True, *, configurable=unbound, default=[], doc=None)Dize listesi özelliği için bir şema oluşturur.
Parametreler
Parametre | Açıklama |
---|---|
mandatory
|
bool;
varsayılan değer: False True (doğru) ise değer açıkça belirtilmelidir ( default içerse bile).
|
allow_empty
|
bool;
varsayılan değer: True Özellik boş olabiliyorsa doğru değerini döndürür. |
configurable
|
bool; ya da sınırsız olması gerekir.
varsayılan değer: unbound Bu bağımsız değişken yalnızca sembolik bir makronun özelliği için belirtilebilir.
Bir kuralın veya unsurun özelliği için |
default
|
sequence of dize; veya NativeComputedDefault
varsayılan değer [] Kural örneklenirken bu özellik için herhangi bir değer belirtilmemişse kullanılacak varsayılan değer. |
doc
|
string; veya None ;
varsayılan değer: None Belge oluşturma araçları tarafından çıkarılabilen özelliğin açıklaması. |
string_list_dict
Attribute attr.string_list_dict(allow_empty=True, *, configurable=unbound, default={}, doc=None, mandatory=False)Sözlüğü içeren bir özellik için şema oluşturur. Burada anahtarlar dize, değerler ise dize listeleridir.
Parametreler
Parametre | Açıklama |
---|---|
allow_empty
|
bool;
varsayılan değer: True Özellik boş olabiliyorsa doğru değerini döndürür. |
configurable
|
bool; ya da sınırsız olması gerekir.
varsayılan değer: unbound Bu bağımsız değişken yalnızca sembolik bir makronun özelliği için belirtilebilir.
Bir kuralın veya unsurun özelliği için |
default
|
dict;
varsayılan değer: {} Kural örneklenirken bu özellik için herhangi bir değer belirtilmemişse kullanılacak varsayılan değer. |
doc
|
string; veya None ;
varsayılan değer: None Belge oluşturma araçları tarafından çıkarılabilen özelliğin açıklaması. |
mandatory
|
bool;
varsayılan değer: False True (doğru) ise değer açıkça belirtilmelidir ( default içerse bile).
|