rule()
ve aspect()
'in 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(default=False, doc='', mandatory=False)Bir boole özelliği için şema oluşturur.
Parametreler
Parametre | Açıklama |
---|---|
default
|
default = False Kural örneği oluşturulurken bu özellik için hiçbir değer sağlanmazsa kullanılacak varsayılan bir değerdir. |
doc
|
default = '' Belge oluşturma araçları tarafından alınabilecek özelliğin açıklaması. |
mandatory
|
default = False True ise, değer açıkça belirtilmelidir ( default içerse bile).
|
int
Attribute attr.int(default=0, doc='', mandatory=False, values=[])Bir tam sayı özelliği için şema oluşturur. Değer, işaretli 32 bit aralığında olmalıdır.
Parametreler
Parametre | Açıklama |
---|---|
default
|
default = 0 Kural oluşturulurken bu özellik için hiçbir değer verilmezse kullanılacak varsayılan değerdir. |
doc
|
default = '' Belge oluşturma araçları tarafından alınabilecek özelliğin açıklaması. |
mandatory
|
default = False True 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 herhangi bir değer sağlanırsa hata oluşur. |
int_list
Attribute attr.int_list(mandatory=False, allow_empty=True, *, default=[], doc='')Tamsayılar listesi özelliği için şema oluşturur. Her öğe, işaretli 32 bit aralığında olmalıdır.
Parametreler
Parametre | Açıklama |
---|---|
mandatory
|
default = False True ise, değer açıkça belirtilmelidir ( default içerse bile).
|
allow_empty
|
default = True Özellik boş olabiliyorsa doğru değerini döndürür. |
default
|
sequence of ints ;
varsayılan = []Kural oluşturulurken bu özellik için herhangi bir değer verilmezse kullanılacak varsayılan değerdir. |
doc
|
default = '' Belge oluşturma araçları tarafından alınabilecek ö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=[])
Bir 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 etiket oluşturucu ile dönüştürülür. Etiket yolunun (muhtemelen yeniden adlandırılmış olan) depo dahil olmak üzere göreli bölümleri, örneklenen hedefin paketine göre çözümlenir.
Analiz sırasında (kuralın uygulama işlevi dahilinde), ctx.attr
özelliğinden özellik değeri alınırken etiketler, karşılık gelen Target
ile değiştirilir. Bu sayede geçerli hedefin bağımlılıklarının sağlayıcılarına erişebilirsiniz.
Normal kaynak dosyalarına ek olarak, bu özellik türü çoğu zaman bir aracı (ör. derleyici) belirtmek için kullanılır. Bu tür araçlar, tıpkı kaynak dosyalar gibi bağımlılık olarak kabul edilir. Kullanıcılar DERLEME dosyalarında kuralı her kullandıklarında aracın etiketini belirtmelerini gerektirmemek için standart bir aracın etiketini bu özelliğin default
değeri olarak sabit bir şekilde kodlayabilirsiniz. Kullanıcıların bu varsayılan ayarı geçersiz kılmasını da engellemek istiyorsanız alt çizgiyle başlayan bir ad vererek özelliği gizli hale getirebilirsiniz. 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 ;
varsayılan = YokKural oluşturulurken bu özellik için herhangi bir değer verilmezse kullanılacak varsayılan değerdir. Varsayılan değeri belirtmek için bir dize veya Label işlevi kullanın (ör. attr.label(default = "//a:b") ).
|
doc
|
default = '' Belge oluşturma araçları tarafından alınabilecek özelliğin açıklaması. |
executable
|
default = False Bağımlılığın yürütülebilir olması gerekiyorsa True değerini alır. Bu, etiketin yürütülebilir bir dosyaya veya yürütülebilir dosya oluşturan bir kurala başvuruda bulunması gerektiği anlamına gelir. ctx.executable.<attribute_name> ile etikete erişin.
|
allow_files
|
bool; or sequence of strings; or None ;
varsayılan = YokFile hedeflerine izin verilip verilmeyeceği. True , False (varsayılan) veya izin verilen dosya uzantıları listesi (örneğin, [".cc", ".cpp"] ) olabilir.
|
allow_single_file
|
default = Yok Bu, etiketin tek bir Dosya'ya karşılık gelmesi şartıyla allow_files özelliğine benzer. ctx.file.<attribute_name> üzerinden erişin.
|
mandatory
|
default = False True ise, değer açıkça belirtilmelidir ( default içerse bile).
|
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ı listeleridir: |
allow_rules
|
sequence of strings; or None ;
varsayılan = YokHangi kural hedeflerine (sınıfların adı) izin verildiği. Bu destek sonlandırılmıştır (yalnızca uyumluluk için tutulur), bunun yerine sağlayıcıları kullanın. |
cfg
|
default = Yok Ö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. Farklılıkların tipik bir örneği, mobil uygulama oluştururken target platform değeri Android veya iOS iken execution platform değeri Linux , macOS veya Windows olur. executable Doğru değerine ayarlanırsa bu parametre, hedef yapılandırmada yanlışlıkla ana makine araçları oluşturulmasını önlemek için gereklidir. "target" semantik etkiye sahip değildir. Bu nedenle, amaçlarınızı açıklığa kavuşturmaya yardımcı olmadıkça executable Yanlış olduğunda bu ifadeyi ayarlamayın.
|
aspects
|
sequence of Aspects ;
varsayılan = []Bu özellik tarafından belirtilen 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=[])
Sözlükte anahtarların etiket, değerlerin ise dize olduğu bir sözlük içeren özellik 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 ile dönüştürülür. Etiket yolunun (muhtemelen yeniden adlandırılmış olan) depo dahil olmak üzere göreli bölümleri, örneklenen hedefin paketine göre çözümlenir.
Analiz sırasında (kuralın uygulama işlevi dahilinde), ctx.attr
özelliğinden özellik değeri alınırken etiketler, karşılık gelen Target
ile değiştirilir. Bu sayede geçerli 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 doğru değerini döndürür. |
default
|
dict; or function ;
default = {}Kural oluşturulurken bu özellik için herhangi bir değer verilmezse kullanılacak varsayılan değerdir. Varsayılan değerleri belirtmek için dizeler 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 alınabilecek özelliğin açıklaması. |
allow_files
|
bool; or sequence of strings; or None ;
varsayılan = YokFile hedeflerine izin verilip verilmeyeceği. True , False (varsayılan) veya izin verilen dosya uzantıları listesi (örneğin, [".cc", ".cpp"] ) olabilir.
|
allow_rules
|
sequence of strings; or None ;
varsayılan = YokHangi kural hedeflerine (sınıfların adı) izin verildiği. Bu destek sonlandırılmıştır (yalnızca uyumluluk için tutulur), 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ı listeleridir: |
flags
|
sequence of strings ;
varsayılan = []Kullanımdan kaldırıldı, kaldırılacak. |
mandatory
|
default = False True ise, değer açıkça belirtilmelidir ( default içerse bile).
|
cfg
|
default = Yok Ö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. Farklılıkların tipik bir örneği, mobil uygulama oluştururken target platform değeri Android veya iOS iken execution platform değeri Linux , macOS veya Windows olur.
|
aspects
|
sequence of Aspects ;
varsayılan = []Bu özellik tarafından belirtilen 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 etiket oluşturucu ile dönüştürülür. Etiket yolunun (muhtemelen yeniden adlandırılmış olan) depo dahil olmak üzere göreli bölümleri, örneklenen hedefin paketine göre çözümlenir.
Analiz sırasında (kuralın uygulama işlevi dahilinde), ctx.attr
özelliğinden özellik değeri alınırken etiketler, karşılık gelen Target
ile değiştirilir. Bu sayede geçerli 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 doğru değerini döndürür. |
default
|
sequence of Labels; or function ;
default = []Kural oluşturulurken bu özellik için herhangi bir değer verilmezse kullanılacak varsayılan değerdir. Varsayılan değerleri belirtmek için dizeler veya Label işlevini kullanın (ör. attr.label_list(default = ["//a:b", "//a:c"]) ).
|
doc
|
default = '' Belge oluşturma araçları tarafından alınabilecek özelliğin açıklaması. |
allow_files
|
bool; or sequence of strings; or None ;
varsayılan = YokFile hedeflerine izin verilip verilmeyeceği. True , False (varsayılan) veya izin verilen dosya uzantıları listesi (örneğin, [".cc", ".cpp"] ) olabilir.
|
allow_rules
|
sequence of strings; or None ;
varsayılan = YokHangi kural hedeflerine (sınıfların adı) izin verildiği. Bu destek sonlandırılmıştır (yalnızca uyumluluk için tutulur), 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ı listeleridir: |
flags
|
sequence of strings ;
varsayılan = []Kullanımdan kaldırıldı, kaldırılacak. |
mandatory
|
default = False True ise, değer açıkça belirtilmelidir ( default içerse bile).
|
cfg
|
default = Yok Ö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. Farklılıkların tipik bir örneği, mobil uygulama oluştururken target platform değeri Android veya iOS iken execution platform değeri Linux , macOS veya Windows olur.
|
aspects
|
sequence of Aspects ;
varsayılan = []Bu özellik tarafından belirtilen 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 ile dönüştürülür. Etiket yolunun (muhtemelen yeniden adlandırılmış olan) depo dahil olmak üzere göreli bölümleri, örneklenen hedefin paketine göre çözümlenir.
Analiz sırasında, karşılık gelen File
ctx.outputs
kullanılarak alınabilir.
Parametreler
Parametre | Açıklama |
---|---|
doc
|
default = '' Belge oluşturma araçları tarafından alınabilecek özelliğin açıklaması. |
mandatory
|
default = False True 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 şema oluşturur.
Bu özellik benzersiz Label
değerleri içeriyor. Label
yerine bir dize sağlanırsa etiket oluşturucu ile dönüştürülür. Etiket yolunun (muhtemelen yeniden adlandırılmış olan) depo dahil olmak üzere göreli bölümleri, örneklenen hedefin paketine göre çözümlenir.
Analiz sırasında, karşılık gelen File
ctx.outputs
kullanılarak alınabilir.
Parametreler
Parametre | Açıklama |
---|---|
allow_empty
|
default = True Özellik boş olabiliyorsa doğru değerini döndürür. |
doc
|
default = '' Belge oluşturma araçları tarafından alınabilecek özelliğin açıklaması. |
mandatory
|
default = False True ise, değer açıkça belirtilmelidir ( default içerse bile).
|
dize
Attribute attr.string(default='', doc='', mandatory=False, values=[])Bir dize özelliği için şema oluşturur.
Parametreler
Parametre | Açıklama |
---|---|
default
|
string; or NativeComputedDefault ;
default = ''Kural örneği oluşturulurken bu özellik için hiçbir değer sağlanmazsa kullanılacak varsayılan bir değerdir. |
doc
|
default = '' Belge oluşturma araçları tarafından alınabilecek özelliğin açıklaması. |
mandatory
|
default = False True 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 herhangi bir değer sağlanırsa hata oluşur. |
string_dict
Attribute attr.string_dict(allow_empty=True, *, default={}, doc='', mandatory=False)Sözlük içeren bir özellik için şema oluşturur. Bu özellikte anahtarlar ve değerler dize olur.
Parametreler
Parametre | Açıklama |
---|---|
allow_empty
|
default = True Özellik boş olabiliyorsa doğru değerini döndürür. |
default
|
default = {} Kural örneği oluşturulurken bu özellik için hiçbir değer verilmezse kullanılacak varsayılan değerdir. |
doc
|
default = '' Belge oluşturma araçları tarafından alınabilecek özelliğin açıklaması. |
mandatory
|
default = False True 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 şema oluşturur.
Parametreler
Parametre | Açıklama |
---|---|
mandatory
|
default = False True ise, değer açıkça belirtilmelidir ( default içerse bile).
|
allow_empty
|
default = True Özellik boş olabiliyorsa doğru değerini döndürür. |
default
|
sequence of strings; or NativeComputedDefault ;
varsayılan = []Kural oluşturulurken bu özellik için herhangi bir değer verilmezse kullanılacak varsayılan değerdir. |
doc
|
default = '' Belge oluşturma araçları tarafından alınabilecek özelliğin açıklaması. |
string_list_dict
Attribute attr.string_list_dict(allow_empty=True, *, default={}, doc='', mandatory=False)Sözlük içeren bir özellik için şema oluşturur. Bu şemada anahtarlar dize, değerler ise dize listeleridir.
Parametreler
Parametre | Açıklama |
---|---|
allow_empty
|
default = True Özellik boş olabiliyorsa doğru değerini döndürür. |
default
|
default = {} Kural örneği oluşturulurken bu özellik için hiçbir değer verilmezse kullanılacak varsayılan değerdir. |
doc
|
default = '' Belge oluşturma araçları tarafından alınabilecek özelliğin açıklaması. |
mandatory
|
default = False True ise, değer açıkça belirtilmelidir ( default içerse bile).
|