Bu, bir kuralın veya özelliğin ö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
- label
- label_keyed_string_dict
- label_list
- çıkış
- output_list
- dize
- string_dict
- string_list
- string_list_dict
bool
Attribute attr.bool(default=False, doc=None, mandatory=False)
ctx.attr
özelliği bool
türüne sahip olacaktır.
Parametreler
Parametre | Açıklama |
---|---|
default
|
varsayılan değer False Kural oluşturulurken bu özellik için herhangi bir değer sağlanmazsa kullanılacak varsayılan değer. |
doc
|
string; veya None ; varsayılan olarak None şeklindedirBelge oluşturma araçları tarafından çıkarılabilen özelliğin açıklaması. |
mandatory
|
varsayılan False şeklindedirTrue ise değer açıkça belirtilmelidir ( default içerse bile).
|
int
Attribute attr.int(default=0, doc=None, mandatory=False, values=[])
ctx.attr
özelliği int
türüne sahip olacaktır.
Parametreler
Parametre | Açıklama |
---|---|
default
|
varsayılan değer 0 Kural oluşturulurken bu özellik için herhangi bir değer sağlanmazsa kullanılacak varsayılan değer. |
doc
|
dize veya None ;
varsayılan değer None Belge oluşturma araçları tarafından ayıklanabilen özelliğin açıklaması. |
mandatory
|
varsayılan False şeklindedirTrue ise değer açıkça belirtilmelidir ( default içerse bile).
|
values
|
int dizisi;
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, *, default=[], doc=None)
Parametreler
Parametre | Açıklama |
---|---|
mandatory
|
varsayılan False şeklindedirTrue ise değer açıkça belirtilmelidir ( default içerse bile).
|
allow_empty
|
varsayılan değer True Öznitelik boş bırakılabiliyorsa doğru değerini döndürür. |
default
|
int dizisi;
varsayılan değer [] Kuralın örneği oluşturulurken bu özellik için bir değer sağlanmazsa kullanılacak varsayılan değer. |
doc
|
string; veya None ; varsayılan olarak None şeklindedirBelge oluşturma araçları tarafından çıkarılabilen özelliğin açıklaması. |
etiket
Attribute attr.label(default=None, doc=None, executable=False, allow_files=None, allow_single_file=None, mandatory=False, providers=[], allow_rules=None, cfg=None, aspects=[])
Etiket özelliği için bir ş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 etiket oluşturucu kullanılarak dönüştürülür. (Olasılıkla yeniden adlandırılmış) depo da dahil olmak üzere etiket yolunun göreli bölümleri, örneklenmiş hedefin paketine göre çözülür.
Analiz sırasında (kuralın uygulama işlevi içinde), özellik değeri ctx.attr
kaynağından 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 ö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 BUILD dosyalarında kuralı her kullandıklarında aracın etiketini belirtmelerini gerektirmemek için bu özelliğin default
değeri olarak bir standart aracın etiketini sabit kodlayabilirsiniz. Kullanıcıların bu varsayılan değeri geçersiz kılmasını da engellemek istiyorsanız özelliği alt çizgiyle başlayan bir adla adlandırarak özel yapabilirsiniz. Daha fazla bilgi için Kurallar sayfasına göz atın.
Parametreler
Parametre | Açıklama |
---|---|
default
|
Etiket; veya dize; veya LateBoundDefault; veya NativeComputedDefault; veya işlev; veya None ;
varsayılan değer None Kuralın örneği oluşturulurken bu özellik için bir değer verilmezse kullanılacak varsayılan değer. Varsayılan bir değer belirtmek için bir dize veya Label işlevini kullanın (ör. attr.label(default = "//a:b") ).
|
doc
|
dize veya None ;
varsayılan değer None Belge oluşturma araçları tarafından ayıklanabilen özelliğin açıklaması. |
executable
|
Bağımlılığın yürütülebilir olması gerekiyorsa varsayılan değer False şeklindedir. Bu, etiketin bir yürütülebilir dosyayı veya yürütülebilir dosya veren bir kuralı referans alacağı anlamına gelir. ctx.executable.<attribute_name> ile etikete erişin.
|
allow_files
|
bool; veya dize dizisi veya None ;
varsayılan değer None File hedeflerine izin verilip verilmeyeceği. True , False (varsayılan) veya izin verilen dosya uzantılarının listesi (örneğin, [".cc", ".cpp"] ) olabilir.
|
allow_single_file
|
varsayılan olarak None şeklindedirBu, allow_files özelliğine benzerdir ve etiketin tek bir Dosyaya karşılık gelmesi gerekir. Bu özelliğe ctx.file.<attribute_name> üzerinden erişebilirsiniz.
|
mandatory
|
varsayılan False şeklindedirTrue ise değer açıkça belirtilmelidir ( default içerse bile).
|
providers
|
varsayılan değer [] Bu özellikte görünen herhangi bir bağımlılık tarafından verilmesi gereken sağlayıcılar. Bu bağımsız değişkenin biçimi, sağlayıcı listelerinin bir listesidir. |
allow_rules
|
sıra / dizes; veya None ;
varsayılan değer None İzin verilen kural hedefleri (sınıfların adı). Bu özelliğin desteği sonlandırıldı (yalnızca uyumluluk için tutulur). Bunun yerine sağlayıcıları kullanın. |
cfg
|
varsayılan değer None özelliğin yapılandırmasıdır. 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" semantik bir etkiye sahip değildir. Bu nedenle, executable Yanlış olduğunda, niyetlerinizi netleştirmeye gerçekten yardımcı olmadığı sürece "target" değerini ayarlamamalısınız.
|
aspects
|
Aspect'in sequence (sıralama) değeri;
varsayılan olarak [] şeklindedirBu ö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=None, allow_files=None, allow_rules=None, providers=[], flags=[], mandatory=False, cfg=None, aspects=[])
Anahtarları etiketler ve değerleri dize olan bir sözlük içeren bir ö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 etiket oluşturucu kullanılarak dönüştürülür. (Olasılıkla yeniden adlandırılmış) depo da dahil olmak üzere etiket yolunun göreli bölümleri, örneklenmiş hedefin paketine göre çözülür.
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
|
varsayılan değer True 'tir.Özellik boş olabiliyorsa True değerini döndürür. |
default
|
dict veya function;
varsayılan değer {} Kuralın örneği oluşturulurken bu özellik için herhangi bir değer verilmezse kullanılacak varsayılan değer. Varsayılan değerleri belirtmek için dize veya Label işlevini kullanın (ör. attr.label_keyed_string_dict(default = {"//a:b": "value", "//a:c": "string"}) ).
|
doc
|
dize veya None ;
varsayılan değer None Belge oluşturma araçları tarafından ayıklanabilen özelliğin açıklaması. |
allow_files
|
bool; veya dize dizisi veya None ;
varsayılan değer None File hedeflerine izin verilip verilmeyeceği. True , False (varsayılan) veya izin verilen dosya uzantılarının listesi (örneğin, [".cc", ".cpp"] ) olabilir.
|
allow_rules
|
Dize dizisi veya None ;
varsayılan değer None Hangi kural hedeflerine (sınıfların adı) izin verilir? Bu desteğin sonlandırılması (yalnızca uyumluluk için korunmuştur), bunun yerine sağlayıcıları kullanın. |
providers
|
varsayılan değer [] Bu özellikte görünen herhangi bir bağımlılık tarafından verilmesi gereken sağlayıcılar. Bu bağımsız değişkenin biçimi, sağlayıcı listelerinin bir listesidir ( |
flags
|
sequence/dize;
varsayılan değer [] Kullanımdan kaldırıldı, kaldırılacak. |
mandatory
|
varsayılan False şeklindedirTrue ise değer açıkça belirtilmelidir ( default içerse bile).
|
cfg
|
varsayılan değer None Özelliğin yapılandırması. Bu değer, bağımlığın execution platform için derlendiğini belirten "exec" veya bağımlığın target platform için derlendiğini belirten "target" olabilir. Bu farkın tipik bir örneği, mobil uygulamalar oluştururken target platform 'ün Android veya iOS , execution platform 'ün ise Linux , macOS veya Windows olmasıdır.
|
aspects
|
Aspect'in sequence (sıralama) değeri;
varsayılan olarak [] şeklindedirBu ö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=None, allow_files=None, allow_rules=None, providers=[], flags=[], mandatory=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 olacaktır.
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, mevcut hedefin bağımlılıklarının sağlayıcılarına erişmenize olanak tanır.
Parametreler
Parametre | Açıklama |
---|---|
allow_empty
|
varsayılan değer True Öznitelik boş bırakılabiliyorsa doğru değerini döndürür. |
default
|
Etiket dizisi veya işlev;
varsayılan değer [] Kuralın örneği oluşturulurken bu özellik için bir değer verilmezse kullanılacak varsayılan değer. Varsayılan değerleri belirtmek için dize veya Label işlevini kullanın (ör. attr.label_list(default = ["//a:b", "//a:c"]) ).
|
doc
|
dize veya None ;
varsayılan değer None Belge oluşturma araçları tarafından ayıklanabilen özelliğin açıklaması. |
allow_files
|
bool; veya dize dizisi veya None ;
varsayılan değer None File hedeflerine izin verilip verilmeyeceği. True , False (varsayılan) veya izin verilen dosya uzantılarının listesi (örneğin, [".cc", ".cpp"] ) olabilir.
|
allow_rules
|
sıra / dizes; veya None ;
varsayılan değer None İzin verilen kural hedefleri (sınıfların adı). Bu özelliğin desteği sonlandırıldı (yalnızca uyumluluk için tutulur). Bunun yerine sağlayıcıları kullanın. |
providers
|
varsayılan değer [] Bu özellikte görünen herhangi bir bağımlılık tarafından verilmesi gereken sağlayıcılar. Bu bağımsız değişkenin biçimi, sağlayıcı listelerinin bir listesidir. |
flags
|
Dize dizisi;
varsayılan değer [] Desteği sonlandırılmıştır, kaldırılacaktır. |
mandatory
|
varsayılan False şeklindedirTrue ise değer açıkça belirtilmelidir ( default içerse bile).
|
cfg
|
varsayılan değer None özelliğin yapılandırmasıdır. 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. Bu farkın tipik bir örneği, mobil uygulamalar oluştururken target platform 'in Android veya iOS , execution platform 'in ise Linux , macOS veya Windows olmasıdır.
|
aspects
|
Aspect sıralı;
varsayılan değer [] Bu özellik tarafından belirtilen bağımlılıklara veya bağımlılıklara uygulanması gereken Aspect'ler. |
çıkış
Attribute attr.output(doc=None, mandatory=False)
Çıkış (etiket) özelliği için şema oluşturur.
Bu özellik benzersiz Label
değerleri içeriyor. 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, ilgili File
, ctx.outputs
kullanılarak alınabilir.
Parametreler
Parametre | Açıklama |
---|---|
doc
|
dize veya None ;
varsayılan değer None Belge oluşturma araçları tarafından ayıklanabilen özelliğin açıklaması. |
mandatory
|
varsayılan False şeklindedirTrue ise değer açıkça belirtilmelidir ( default içerse bile).
|
output_list
Attribute attr.output_list(allow_empty=True, *, doc=None, mandatory=False)
Bu özellik benzersiz Label
değerleri içeriyor. Label
yerine bir dize sağlanırsa etiket oluşturucu kullanılarak dönüştürülür. (Olasılıkla yeniden adlandırılmış) depo da dahil olmak üzere etiket yolunun göreli bölümleri, örneklendirilmiş hedefin paketine göre çözülür.
Analiz sırasında, ilgili File
, ctx.outputs
kullanılarak alınabilir.
Parametreler
Parametre | Açıklama |
---|---|
allow_empty
|
varsayılan değer True Öznitelik boş bırakılabiliyorsa doğru değerini döndürür. |
doc
|
dize veya None ;
varsayılan değer None Belge oluşturma araçları tarafından ayıklanabilen özelliğin açıklaması. |
mandatory
|
varsayılan değer False Doğru ise değer açıkça belirtilmelidir ( default içerse bile).
|
dize
Attribute attr.string(default='', doc=None, mandatory=False, values=[])
Parametreler
Parametre | Açıklama |
---|---|
default
|
string; veya NativeComputedDefault;
'' varsayılan değerdir. Kural örneklenirken bu özellik için herhangi bir değer verilmezse kullanılacak varsayılan değerdir. |
doc
|
string; veya None ; varsayılan olarak None şeklindedirBelge oluşturma araçları tarafından çıkarılabilen özelliğin açıklaması. |
mandatory
|
varsayılan False şeklindedirTrue ise değer açıkça belirtilmelidir ( default içerse bile).
|
values
|
Dize dizisi;
varsayılan değer [] Öznitelik 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=None, mandatory=False)
Parametreler
Parametre | Açıklama |
---|---|
allow_empty
|
varsayılan değer True 'tir.Özellik boş olabiliyorsa True değerini döndürür. |
default
|
varsayılan değer: {} Kural örneklenirken bu özellik için herhangi bir değer verilmezse kullanılacak varsayılan değerdir. |
doc
|
string; veya None ; varsayılan olarak None şeklindedirBelge oluşturma araçları tarafından çıkarılabilen özelliğin açıklaması. |
mandatory
|
varsayılan değer False Doğru ise değer açıkça belirtilmelidir ( default içerse bile).
|
string_list
Attribute attr.string_list(mandatory=False, allow_empty=True, *, default=[], doc=None)
Parametreler
Parametre | Açıklama |
---|---|
mandatory
|
varsayılan False şeklindedirTrue ise değer açıkça belirtilmelidir ( default içerse bile).
|
allow_empty
|
varsayılan değer True 'tir.Özellik boş olabiliyorsa True değerini döndürür. |
default
|
Dize dizisi veya NativeComputedDefault;
varsayılan değer [] Kuralın örneği oluşturulurken bu özellik için bir değer sağlanmazsa kullanılacak varsayılan değer. |
doc
|
dize veya None ;
varsayılan değer None 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=None, mandatory=False)
Parametreler
Parametre | Açıklama |
---|---|
allow_empty
|
varsayılan değer True 'tir.Özellik boş olabiliyorsa True değerini döndürür. |
default
|
varsayılan değer {} Kural oluşturulurken bu özellik için herhangi bir değer sağlanmazsa kullanılacak varsayılan değer. |
doc
|
string; veya None ; varsayılan olarak None şeklindedirBelge oluşturma araçları tarafından çıkarılabilen özelliğin açıklaması. |
mandatory
|
varsayılan değer False Doğru ise değer açıkça belirtilmelidir ( default içerse bile).
|