rule()
ve aspect()
attrs
sözlük bağımsız değişkeni 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
- çı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 çıkarılabilen özelliğin açıklaması. |
mandatory
|
varsayılan = Yanlış Doğru 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ğerin işaretli 32 bit aralığında olması gerekir.
Parametreler
Parametre | Açıklama |
---|---|
default
|
default = 0 Kural örneği oluşturulurken bu özellik için hiçbir değer sağlanmazsa kullanılacak varsayılan bir değer. |
doc
|
default = '' Belge oluşturma araçları tarafından çıkarılabilen özelliğin açıklaması. |
mandatory
|
varsayılan = Yanlış 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 herhangi bir değer verilirse hata oluşur. |
int_list
Attribute attr.int_list(mandatory=False, allow_empty=True, *, default=[], doc='')Tamsayı listesi özelliği için şema oluşturur. Her öğe, imzalı 32 bit aralığında olmalıdır.
Parametreler
Parametre | Açıklama |
---|---|
mandatory
|
varsayılan = Yanlış Doğru ise, değer açıkça belirtilmelidir ( default içerse bile).
|
allow_empty
|
default = True Özellik boş olabiliyorsa doğru değerini alır. |
default
|
sequence of ints ;
varsayılan = []Kural örneklenirken bu özellik için hiçbir değer sağlanmazsa kullanılacak varsayılan değer. |
doc
|
default = '' Belge oluşturma araçları tarafından çıkarılabilen ö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 kullanılarak 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şlevinde), ctx.attr
özelliğinden özellik değeri alınırken etiketler karşılık gelen Target
'lerle değiştirilir. Bu sayede geçerli hedefin bağımlılıklarının sağlayıcılarına erişebilirsiniz.
Sıradan kaynak dosyalarına ek olarak, bu özellik türü genellikle bir aracı (örneğin, 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 belirtmek zorunda kalmamak 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 önlemek isterseniz, 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 örneklenirken bu özellik için herhangi bir değer sağlanmazsa kullanılacak varsayılan bir değerdir. Varsayılan değer (ör. attr.label(default = "//a:b") ) belirtmek için bir dize veya Label işlevi kullanın.
|
doc
|
default = '' Belge oluşturma araçları tarafından çıkarılabilen özelliğin açıklaması. |
executable
|
default = False Bağımlılığın yürütülebilir olması gerekiyorsa doğru değerini döndürür. Yani, etiketin yürütülebilir bir dosyaya veya yürütülebilir dosya çıkışını veren bir kurala referans vermesi gerekir. 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
|
varsayılan = Yok Bu, etiketin tek bir Dosyaya karşılık gelmesi gerektiği kısıtlamasıyla birlikte allow_files etiketine benzer. Bu modüle ctx.file.<attribute_name> üzerinden erişebilirsiniz.
|
mandatory
|
varsayılan = Yanlış Doğru 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ı listelerinden oluşan bir listedir: |
allow_rules
|
sequence of strings; or None ;
varsayılan = YokHangi kural hedeflerine (sınıfların adı) izin verilir. Bu özellik kullanımdan kaldı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. Mobil uygulama oluşturulduğunda bu farkın tipik bir örneği, target platform değerinin Android veya iOS , execution platform değerinin ise Linux , macOS veya Windows olmasıdır. executable Doğru değerine ayarlanırsa bu parametre, hedef yapılandırmada yanlışlıkla ana makine araçlarının oluşturulmasını önlemek için gereklidir. "target" anlamlı bir etkiye sahip değildir. Bu nedenle, amaçlarınızı netleştirmenize gerçekten yardımcı olacaksa executable Yanlış olduğunda bunu 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üğe sahip bir özellik için şema oluşturur. Bu şemada anahtarlar etiketler, değerler ise dize olur. 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. 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şlevinde), ctx.attr
özelliğinden özellik değeri alınırken etiketler karşılık gelen Target
'lerle 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 alır. |
default
|
dict; or function ;
default = {}Kural örneklenirken bu özellik için herhangi bir değer verilmezse kullanılacak varsayılan değerdir. 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 = '' Belge oluşturma araçları tarafından çıkarılabilen ö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 verilir. Bu özellik kullanımdan kaldı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ı listelerinden oluşan bir listedir: |
flags
|
sequence of strings ;
varsayılan = []Kullanımdan kaldırıldı, kaldırılacak. |
mandatory
|
varsayılan = Yanlış Doğru 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. Mobil uygulama oluşturulduğunda bu farkın tipik bir örneği, target platform değerinin Android veya iOS , execution platform değerinin ise Linux , macOS veya Windows olmasıdır.
|
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=[])
Liste-etiketleri ö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 kullanılarak 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şlevinde), ctx.attr
özelliğinden özellik değeri alınırken etiketler karşılık gelen Target
'lerle 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 alır. |
default
|
sequence of Labels; or function ;
default = []Kural örneklenirken bu özellik için herhangi bir değer verilmezse kullanılacak varsayılan değerdir. 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 çıkarılabilen ö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 verilir. Bu özellik kullanımdan kaldı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ı listelerinden oluşan bir listedir: |
flags
|
sequence of strings ;
varsayılan = []Kullanımdan kaldırıldı, kaldırılacak. |
mandatory
|
varsayılan = Yanlış Doğru 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. Mobil uygulama oluşturulduğunda bu farkın tipik bir örneği, target platform değerinin Android veya iOS , execution platform değerinin ise Linux , macOS veya Windows olmasıdır.
|
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 kullanılarak 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 çıkarılabilen özelliğin açıklaması. |
mandatory
|
varsayılan = Yanlış 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)List-of-outputs ö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. 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 alır. |
doc
|
default = '' Belge oluşturma araçları tarafından çıkarılabilen özelliğin açıklaması. |
mandatory
|
varsayılan = Yanlış Doğru 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 örneklenirken bu özellik için hiçbir değer sağlanmazsa kullanılacak varsayılan değer. |
doc
|
default = '' Belge oluşturma araçları tarafından çıkarılabilen özelliğin açıklaması. |
mandatory
|
varsayılan = Yanlış 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 herhangi bir değer verilirse hata oluşur. |
string_dict
Attribute attr.string_dict(allow_empty=True, *, default={}, doc='', mandatory=False)Sözlüğü olan bir özellik için şema oluşturur; burada anahtarlar ve değerler dize olur.
Parametreler
Parametre | Açıklama |
---|---|
allow_empty
|
default = True Özellik boş olabiliyorsa doğru değerini alır. |
default
|
default = {} Kural örneği oluşturulurken bu özellik için hiçbir değer sağlanmazsa kullanılacak varsayılan bir değer. |
doc
|
default = '' Belge oluşturma araçları tarafından çıkarılabilen özelliğin açıklaması. |
mandatory
|
varsayılan = Yanlış 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='')list-of-strings özelliği için şema oluşturur.
Parametreler
Parametre | Açıklama |
---|---|
mandatory
|
varsayılan = Yanlış Doğru ise, değer açıkça belirtilmelidir ( default içerse bile).
|
allow_empty
|
default = True Özellik boş olabiliyorsa doğru değerini alır. |
default
|
sequence of strings; or NativeComputedDefault ;
varsayılan = []Kural örneklenirken bu özellik için hiçbir değer sağlanmazsa kullanılacak varsayılan değer. |
doc
|
default = '' Belge oluşturma araçları tarafından çıkarılabilen ö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 alır. |
default
|
default = {} Kural örneği oluşturulurken bu özellik için hiçbir değer sağlanmazsa kullanılacak varsayılan bir değer. |
doc
|
default = '' Belge oluşturma araçları tarafından çıkarılabilen özelliğin açıklaması. |
mandatory
|
varsayılan = Yanlış Doğru ise, değer açıkça belirtilmelidir ( default içerse bile).
|