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=None, mandatory=False)Bir boole özelliği için şema oluşturur. İlgili
ctx.attr
özelliği bool
türünde olacaktır.
Parametreler
Parametre | Açıklama |
---|---|
default
|
varsayılan değer False şeklindedirKural örneklenirken bu özellik için hiçbir değer sağlanmazsa kullanılacak varsayılan bir değerdir. |
doc
|
string; veya None ;
varsayılan olarak None değerine sahiptirDoküman oluşturma araçları tarafından çıkarılabilen bir özelliğin açıklamasıdır. |
mandatory
|
varsayılan değer: False Doğru ise değer açık bir şekilde belirtilmelidir ( default olsa bile).
|
int
Attribute attr.int(default=0, doc=None, mandatory=False, values=[])Bir tam sayı özelliği için şema oluşturur. Değerin işaretli 32 bit aralığında olması gerekir. İlgili
ctx.attr
özelliği int
türünde olacaktır.
Parametreler
Parametre | Açıklama |
---|---|
default
|
varsayılan değer 0 şeklindedirKural örneklenirken bu özellik için hiçbir değer sağlanmazsa kullanılacak varsayılan bir değerdir. |
doc
|
string; veya None ;
varsayılan olarak None değerine sahiptirDoküman oluşturma araçları tarafından çıkarılabilen bir özelliğin açıklamasıdır. |
mandatory
|
varsayılan değer: False Doğru ise değer açık bir şekilde belirtilmelidir ( default olsa bile).
|
values
|
int'in sequence; varsayılan değeri [] Ö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)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 değer: False Doğru ise değer açık bir şekilde belirtilmelidir ( default olsa bile).
|
allow_empty
|
varsayılan değer True şeklindedirÖzellik boş olabiliyorsa doğru değerini alır. |
default
|
int sequence; varsayılan olarak [] şeklindedirKural örneklenirken bu özellik için hiçbir değer sağlanmazsa kullanılacak varsayılan değer. |
doc
|
string; veya None ;
varsayılan olarak None değerine sahiptirDoküman oluşturma araçları tarafından çıkarılabilen bir özelliğin açıklamasıdır. |
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=[])
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; veya string, ya da LateBoundDefault veya NativeComputedDefault ya da function veya None ;
varsayılan olarak None kullanın. Kural örneği oluşturulurken bu özellik için hiçbir değer verilmezse kullanılacak varsayılan değer. Varsayılan bir değer (ör. attr.label(default = "//a:b") ) belirtmek için bir dize veya Label işlevi kullanın.
|
doc
|
string; veya None ;
varsayılan olarak None değerine sahiptirDoküman oluşturma araçları tarafından çıkarılabilen bir özelliğin açıklamasıdır. |
executable
|
varsayılan değer False şeklindedirBağımlılığın yürütülebilir olması gerekiyorsa doğru değerini alı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; veya dize'nin dizisi veya None ; varsayılan değer None File 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 değer: None Bu, etiketin tek bir Dosya'ya karşılık gelmesi gerektiği kısıtlamasıyla allow_files 'ye benzer. Bu modüle ctx.file.<attribute_name> üzerinden erişebilirsiniz.
|
mandatory
|
varsayılan değer: False Doğru ise değer açık bir şekilde belirtilmelidir ( default olsa 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ı listelerinden oluşan bir listedir: |
allow_rules
|
dize'nin dizisi veya None ; varsayılan olarak None Hangi 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
|
varsayılan değer None Ö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
|
Aspect'in sırası;
varsayılan olarak [] Bu ö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=[])
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
|
varsayılan değer True şeklindedirÖzellik boş olabiliyorsa doğru değerini alır. |
default
|
dict veya function;
varsayılan olarak {} Kuralın örneği oluşturulurken bu özellik için hiçbir değer sağlanmazsa kullanılacak varsayılan bir 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 olarak None değerine sahiptirDoküman oluşturma araçları tarafından çıkarılabilen bir özelliğin açıklamasıdır. |
allow_files
|
bool; veya dize'nin dizisi veya None ; varsayılan değer None File hedeflerine izin verilip verilmeyeceği. True , False (varsayılan) veya izin verilen dosya uzantıları listesi (örneğin, [".cc", ".cpp"] ) olabilir.
|
allow_rules
|
dize'nin dizisi veya None ; varsayılan olarak None Hangi 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
|
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ı listelerinden oluşan bir listedir: |
flags
|
dize'nin sequence;
varsayılan değeri [] Kullanımdan kaldırıldı ve kaldırılacak. |
mandatory
|
varsayılan değer: False Doğru ise değer açık bir şekilde belirtilmelidir ( default olsa bile).
|
cfg
|
varsayılan değer None Ö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
|
Aspect'in sırası;
varsayılan olarak [] 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, *, default=[], doc=None, 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. Karşılık gelen ctx.attr
özelliği Target
listesi türünde olur.
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
|
varsayılan değer True şeklindedirÖzellik boş olabiliyorsa doğru değerini alır. |
default
|
Label'in dizisi veya işlev;
varsayılan olarak [] değeridirKural örneklenirken bu özellik için hiçbir değer verilmezse kullanılacak varsayılan değerdir. 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 olarak None değerine sahiptirDoküman oluşturma araçları tarafından çıkarılabilen bir özelliğin açıklamasıdır. |
allow_files
|
bool; veya dize'nin dizisi veya None ; varsayılan değer None File hedeflerine izin verilip verilmeyeceği. True , False (varsayılan) veya izin verilen dosya uzantıları listesi (örneğin, [".cc", ".cpp"] ) olabilir.
|
allow_rules
|
dize'nin dizisi veya None ; varsayılan olarak None Hangi 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
|
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ı listelerinden oluşan bir listedir: |
flags
|
dize'nin sequence;
varsayılan değeri [] Kullanımdan kaldırıldı ve kaldırılacak. |
mandatory
|
varsayılan değer: False Doğru ise değer açık bir şekilde belirtilmelidir ( default olsa bile).
|
cfg
|
varsayılan değer None Ö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
|
Aspect'in sırası;
varsayılan olarak [] 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 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, ilgili File
ctx.outputs
kullanılarak alınabilir.
Parametreler
Parametre | Açıklama |
---|---|
doc
|
string; veya None ;
varsayılan olarak None değerine sahiptirDoküman oluşturma araçları tarafından çıkarılabilen bir özelliğin açıklamasıdır. |
mandatory
|
varsayılan değer: False Doğru ise değer açık bir şekilde belirtilmelidir ( default olsa bile).
|
output_list
Attribute attr.output_list(allow_empty=True, *, doc=None, 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, ilgili File
ctx.outputs
kullanılarak alınabilir.
Parametreler
Parametre | Açıklama |
---|---|
allow_empty
|
varsayılan değer True şeklindedirÖzellik boş olabiliyorsa doğru değerini alır. |
doc
|
string; veya None ;
varsayılan olarak None değerine sahiptirDoküman oluşturma araçları tarafından çıkarılabilen bir özelliğin açıklamasıdır. |
mandatory
|
varsayılan değer: False Doğru ise değer açık bir şekilde belirtilmelidir ( default olsa bile).
|
dize
Attribute attr.string(default='', doc=None, mandatory=False, values=[])Bir string özelliği için şema oluşturur.
Parametreler
Parametre | Açıklama |
---|---|
default
|
string veya NativeComputedDefault;
varsayılan olarak '' 'dirKural örneklenirken bu özellik için herhangi bir değer sağlanmazsa kullanılacak varsayılan değer. |
doc
|
string; veya None ;
varsayılan olarak None değerine sahiptirDoküman oluşturma araçları tarafından çıkarılabilen bir özelliğin açıklamasıdır. |
mandatory
|
varsayılan değer: False Doğru ise değer açık bir şekilde belirtilmelidir ( default olsa bile).
|
values
|
dize'nin sequence; varsayılan değeri [] Ö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=None, 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
|
varsayılan değer True şeklindedirÖzellik boş olabiliyorsa doğru değerini alır. |
default
|
varsayılan değer {} şeklindedirKural örneklenirken bu özellik için hiçbir değer sağlanmazsa kullanılacak varsayılan bir değerdir. |
doc
|
string; veya None ;
varsayılan olarak None değerine sahiptirDoküman oluşturma araçları tarafından çıkarılabilen bir özelliğin açıklamasıdır. |
mandatory
|
varsayılan değer: False Doğru ise değer açık bir şekilde belirtilmelidir ( default olsa bile).
|
string_list
Attribute attr.string_list(mandatory=False, allow_empty=True, *, default=[], doc=None)list-of-strings özelliği için şema oluşturur.
Parametreler
Parametre | Açıklama |
---|---|
mandatory
|
varsayılan değer: False Doğru ise değer açık bir şekilde belirtilmelidir ( default olsa bile).
|
allow_empty
|
varsayılan değer True şeklindedirÖzellik boş olabiliyorsa doğru değerini alır. |
default
|
dizi / dizes; veya NativeComputedDefault;
varsayılan değeri [] Kural için anlık bir değer verilmezse kullanılacak varsayılan bir değerdir. |
doc
|
string; veya None ;
varsayılan olarak None değerine sahiptirDoküman oluşturma araçları tarafından çıkarılabilen bir özelliğin açıklamasıdır. |
string_list_dict
Attribute attr.string_list_dict(allow_empty=True, *, default={}, doc=None, 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
|
varsayılan değer True şeklindedirÖzellik boş olabiliyorsa doğru değerini alır. |
default
|
varsayılan değer {} şeklindedirKural örneklenirken bu özellik için hiçbir değer sağlanmazsa kullanılacak varsayılan bir değerdir. |
doc
|
string; veya None ;
varsayılan olarak None değerine sahiptirDoküman oluşturma araçları tarafından çıkarılabilen bir özelliğin açıklamasıdır. |
mandatory
|
varsayılan değer: False Doğru ise değer açık bir şekilde belirtilmelidir ( default olsa bile).
|