rule()
ve aspect()
işlevinin 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
- output
- output_list
- dize
- string_dict
- string_list
- string_list_dict
bool
Attribute attr.bool(default=False, doc='', mandatory=False)Boole özelliği için bir şema oluşturur.
Parametreler
Parametre | Açıklama |
---|---|
default
|
default = False Kural oluşturulurken bu özellik için bir değer belirtilmezse kullanılacak varsayılan değer. |
doc
|
default = '' Doküman oluşturma araçları tarafından ayıklanabilen özelliğin açıklaması. |
mandatory
|
default = False Doğru ise değer açıkça belirtilmelidir ( default içerse bile).
|
int
Attribute attr.int(default=0, doc='', mandatory=False, values=[])Tam sayı özelliği için bir şema oluşturur. Değer, imzalı 32 bit aralığında olmalıdır.
Parametreler
Parametre | Açıklama |
---|---|
default
|
default = 0 Kural oluşturulurken bu özellik için herhangi bir değer belirtilmezse kullanılacak varsayılan değer. |
doc
|
default = '' Doküman oluşturma araçları tarafından ayıklanabilen özelliğin açıklaması. |
mandatory
|
default = False Doğru ise değer açıkça belirtilmelidir ( default içerse 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='')Tam sayı listesi özelliği için bir şema oluşturur. Her öğe, imzalı 32 bit aralığında olmalıdır.
Parametreler
Parametre | Açıklama |
---|---|
mandatory
|
default = False Doğru ise değer açıkça belirtilmelidir ( default içerse bile).
|
allow_empty
|
default = True Öznitelik boş olabilirse doğru değerini alır. |
default
|
sequence of ints ;
default = []Kural oluşturulurken bu özellik için herhangi bir değer belirtilmezse kullanılacak varsayılan değer. |
doc
|
default = '' Doküman 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 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. (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, mevcut hedefin bağımlılıklarının sağlayıcılarına erişmenize olanak tanır.
Bu tür özellikler, sıradan kaynak dosyalara ek olarak genellikle bir araca (ör. 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 bakın.
Parametreler
Parametre | Açıklama |
---|---|
default
|
Label; or string; or LateBoundDefault; or NativeComputedDefault; or function; or None ;
default = NoneKural örneklenirken bu özellik için herhangi bir değer verilmezse kullanılacak varsayılan değer. Varsayılan değer (ör. attr.label(default = "//a:b") ) belirtmek için bir dize veya Label işlevi kullanın.
|
doc
|
default = '' Doküman oluşturma araçları tarafından ayıklanabilen özelliğin açıklaması. |
executable
|
default = False Bağımlılığın yürütülebilir olması gerekiyorsa doğru değerini alı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; or sequence of strings; or None ;
default = YokFile 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
|
default = None Bu, etiketin tek bir Dosya'ya karşılık gelmesi kısıtlamasıyla allow_files 'e benzer. ctx.file.<attribute_name> üzerinden erişebilirsiniz.
|
mandatory
|
default = False Doğru ise değer açıkça belirtilmelidir ( default içerse bile).
|
providers
|
varsayılan = [] 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 strings; or None ;
default = NoneHangi kural hedeflerine (sınıfların adı) izin verilir? Bu özelliğin desteği sonlandırıldı (yalnızca uyumluluk için tutulur). Bunun yerine sağlayıcıları kullanın. |
cfg
|
default = 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 'in Android veya iOS , execution platform 'in ise Linux , macOS veya Windows olmasıdır. Hedef yapılandırmada ana makine araçlarının yanlışlıkla oluşturulmasını önlemek için executable doğruysa 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
|
sequence of Aspects ;
default = []Bu özellik tarafından belirtilen bağımlılık 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ı 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şlevi içinde), özellik değeri ctx.attr
kaynağından alınırken etiketler ilgili 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
|
default = True Özellik boş olabiliyorsa True değerini alır. |
default
|
dict; or function ;
default = {}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
|
default = '' Doküman oluşturma araçları tarafından ayıklanabilen özelliğin açıklaması. |
allow_files
|
bool; or sequence of strings; or None ;
default = YokFile 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
|
sequence of strings; or None ;
default = NoneHangi 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
|
default = [] 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 of strings ;
default = []Deprecated, will be removed. |
mandatory
|
default = False Doğru ise değer açıkça belirtilmelidir ( default içerse bile).
|
cfg
|
default = Yok Ö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 'in Android veya iOS , execution platform 'in ise Linux , macOS veya Windows olmasıdır.
|
aspects
|
sequence of Aspects ;
default = []Bu özellik tarafından belirtilen bağımlılık 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=[])
Etiket listesi ö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. (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.
Parametreler
Parametre | Açıklama |
---|---|
allow_empty
|
default = True Özellik boş olabiliyorsa True değerini alır. |
default
|
sequence of Labels; or function ;
default = []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
|
default = '' Belge oluşturma araçları tarafından çıkarılabilecek özelliğin açıklaması. |
allow_files
|
bool; or sequence of strings; or None ;
default = NoneFile hedeflerine izin verilip verilmeyeceğini belirtir. 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 desteğin sonlandırılması (yalnızca uyumluluk için korunmuştur), bunun yerine sağlayıcıları kullanın. |
providers
|
default = [] 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 of strings ;
default = []Deprecated, will be removed. |
mandatory
|
default = False Doğru ise değer açıkça belirtilmelidir ( default içerse bile).
|
cfg
|
default = 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 'in Android veya iOS , execution platform 'in ise Linux , macOS veya Windows olmasıdır.
|
aspects
|
sequence of Aspects ;
default = []Bu özellik tarafından belirtilen bağımlılık veya bağımlılıklara uygulanması gereken yönler. |
çıkış
Attribute attr.output(doc='', mandatory=False)
Çıkış (etiket) özelliği için bir ş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. (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 zamanında, karşılık gelen File
ctx.outputs
kullanılarak alınabilir.
Parametreler
Parametre | Açıklama |
---|---|
doc
|
default = '' Doküman oluşturma araçları tarafından ayıklanabilen özelliğin açıklaması. |
mandatory
|
default = False Doğru ise değer açıkça belirtilmelidir ( default içerse bile).
|
output_list
Attribute attr.output_list(allow_empty=True, *, doc='', mandatory=False)Çıkış listesi özelliği için bir ş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 |
---|---|
allow_empty
|
default = True Öznitelik boş olabilirse doğru değerini alır. |
doc
|
default = '' Doküman oluşturma araçları tarafından ayıklanabilen özelliğin açıklaması. |
mandatory
|
default = False Doğru ise değer açıkça belirtilmelidir ( default içerse bile).
|
dize
Attribute attr.string(default='', doc='', mandatory=False, values=[])Dize özelliği için bir şema oluşturur.
Parametreler
Parametre | Açıklama |
---|---|
default
|
string; or NativeComputedDefault ;
default = ''Kuralın örneği oluşturulurken bu özellik için herhangi bir değer verilmezse kullanılacak varsayılan değer. |
doc
|
default = '' Doküman oluşturma araçları tarafından ayıklanabilen özelliğin açıklaması. |
mandatory
|
default = False Doğru ise değer açıkça belirtilmelidir ( default içerse 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)Anahtarları ve değerlerin dize olduğu bir sözlük içeren bir özellik için şema oluşturur.
Parametreler
Parametre | Açıklama |
---|---|
allow_empty
|
default = True Öznitelik boş bırakılabiliyorsa doğru değerini alır. |
default
|
default = {} Kural oluşturulurken bu özellik için herhangi bir değer belirtilmezse kullanılacak varsayılan değer. |
doc
|
default = '' Doküman oluşturma araçları tarafından ayıklanabilen özelliğin açıklaması. |
mandatory
|
default = 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='')Dize listesi özelliği için bir şema oluşturur.
Parametreler
Parametre | Açıklama |
---|---|
mandatory
|
default = False Doğru ise değer açıkça belirtilmelidir ( default içerse bile).
|
allow_empty
|
default = True Öznitelik boş bırakılabiliyorsa doğru değerini alır. |
default
|
sequence of strings; or NativeComputedDefault ;
default = []Kuralın örneği oluşturulurken bu özellik için herhangi bir değer belirtilmezse kullanılacak varsayılan değer. |
doc
|
default = '' Doküman 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)Anahtarlar dize, değerler ise dize listeleri olan bir sözlük içeren bir özellik için şema oluşturur.
Parametreler
Parametre | Açıklama |
---|---|
allow_empty
|
default = True Öznitelik boş bırakılabiliyorsa doğru değerini alır. |
default
|
default = {} Kural oluşturulurken bu özellik için herhangi bir değer belirtilmezse kullanılacak varsayılan değer. |
doc
|
default = '' Doküman oluşturma araçları tarafından ayıklanabilen özelliğin açıklaması. |
mandatory
|
default = False Doğru ise değer açıkça belirtilmelidir ( default içerse bile).
|