Bu, bir kuralın veya yönün ö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()
işlevlerinin 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ını inceleyin.
Üyeler
- bool
- int
- int_list
- label
- label_keyed_string_dict
- label_list
- output
- output_list
- string
- string_dict
- string_list
- string_list_dict
bool
Attribute attr.bool(default=False, doc=None, mandatory=False)
ctx.attr
özelliği bool
türünde olur.
Parametreler
Parametre | Açıklama |
---|---|
default
|
varsayılan değer False Kural oluşturulurken bu özellik için değer verilmezse kullanılacak varsayılan değer. |
doc
|
string; veya None ;
varsayılan değer None Özelliğin, doküman oluşturma araçları tarafından çıkarılabilecek açıklaması. |
mandatory
|
Varsayılan değer False 'dir. Doğruysa değer açıkça belirtilmelidir ( default olsa bile).
|
int
Attribute attr.int(default=0, doc=None, mandatory=False, values=[])
ctx.attr
özelliği int
türünde olur.
Parametreler
Parametre | Açıklama |
---|---|
default
|
varsayılan değer 0 Kural oluşturulurken bu özellik için değer verilmezse kullanılacak varsayılan değer. |
doc
|
string; veya None ;
varsayılan değer None Özelliğin, doküman oluşturma araçları tarafından çıkarılabilecek açıklaması. |
mandatory
|
Varsayılan değer False 'dir. Doğruysa değer açıkça belirtilmelidir ( default olsa bile).
|
values
|
int'lerin sequence'ı;
varsayılan değer [] Ö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=None)
Parametreler
Parametre | Açıklama |
---|---|
mandatory
|
Varsayılan değer False 'dir. Doğruysa değer açıkça belirtilmelidir ( default olsa bile).
|
allow_empty
|
varsayılan değer True Öznitelik boş olabilirse True. |
default
|
int'lerin sırası;
varsayılan değer [] Kural oluşturulurken bu özellik için değer verilmezse kullanılacak varsayılan değer. |
doc
|
string; veya None ;
varsayılan değer None Özelliğin, doküman oluşturma araçları tarafından çıkarılabilecek 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 ş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 göreli kısımları (depo dahil, yeniden adlandırılmış olabilir), oluşturulan hedefin paketiyle ilgili olarak çözümlenir.
Analiz sırasında (kuralın uygulama işlevi içinde), ctx.attr
öğesinden özellik değeri 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 özellik, normal kaynak dosyaların yanı sıra 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, kuralı BUILD dosyalarında her kullandıklarında aracın etiketini belirtmelerini önlemek için kanonik bir aracın etiketini bu özelliğin default
değeri olarak sabit kodlayabilirsiniz. Kullanıcıların bu varsayılanı geçersiz kılmasını da önlemek istiyorsanız alt çizgiyle başlayan bir ad vererek özelliği özel yapabilirsiniz. Daha fazla bilgi için Kurallar sayfasına bakın.
Parametreler
Parametre | Açıklama |
---|---|
default
|
Etiket; veya dize; veya LateBoundDefault; veya NativeComputedDefault; veya işlev; veya None ;
varsayılan değer None Kural oluşturulurken bu özellik için değer verilmezse kullanılacak varsayılan değer. Varsayılan değeri belirtmek için dize veya Label işlevini kullanın. Örneğin, attr.label(default = "//a:b") .
|
doc
|
string; veya None ;
varsayılan değer None Özelliğin, doküman oluşturma araçları tarafından çıkarılabilecek açıklaması. |
executable
|
Varsayılan değer False Bağımlılığın yürütülebilir olması gerekiyorsa True. Bu nedenle, etiketin yürütülebilir bir dosyayı veya yürütülebilir bir dosya çıkışı veren bir kuralı ifade etmesi gerekir. ctx.executable.<attribute_name> ile etikete erişin.
|
allow_files
|
bool; veya string'lerin sequence'ı; 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 değer None Bu, etiketin tek bir Dosya ile eşleşmesi kısıtlamasıyla allow_files 'ye benzer. ctx.file.<attribute_name> üzerinden erişebilirsiniz.
|
mandatory
|
Varsayılan değer False 'dir. Doğruysa değer açıkça belirtilmelidir ( default olsa bile).
|
providers
|
Varsayılan değer [] 'dir. Bu özellikte görünen bağımlılıklar tarafından sağlanması gereken sağlayıcılar. Bu bağımsız değişkenin biçimi, sağlayıcı listelerinin listesidir. |
allow_rules
|
Dize dizisi veya None ;
varsayılan değer None Hangi kural hedeflerine (sınıfların adı) izin verilir? Bu işlevin desteği sonlandırıldı (yalnızca uyumluluk için tutuluyor), 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. Bu farkın tipik bir örneği, mobil uygulamalar oluşturulurken görülür. Burada target platform , Android veya iOS iken execution platform , Linux , macOS veya Windows 'dir. Hedef yapılandırmada yanlışlıkla ana makine araçları oluşturulmasını önlemek için executable True ise bu parametre gereklidir. "target" 'nın anlamsal bir etkisi yoktur. Bu nedenle, executable Yanlış olduğunda, niyetinizi gerçekten netleştirmeye yardımcı olmadığı sürece bu parametreyi ayarlamayın.
|
aspects
|
Aspect'lerin sequence'ı;
varsayılan değer [] 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=[])
Anahtarların etiket, değerlerin ise dize olduğu 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. Etiket yolunun göreli kısımları (depo dahil, yeniden adlandırılmış olabilir), oluşturulan hedefin paketiyle ilgili olarak çözümlenir.
Analiz sırasında (kuralın uygulama işlevi içinde), ctx.attr
öğesinden özellik değeri 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
|
varsayılan değer True Öznitelik boş olabilirse True. |
default
|
dict veya function;
varsayılan değer {} Kural oluşturulurken bu özellik için değer verilmezse kullanılacak varsayılan değer. Varsayılan değerleri belirtmek için dizeleri veya Label işlevini kullanın. Örneğin, attr.label_keyed_string_dict(default = {"//a:b": "value", "//a:c": "string"}) .
|
doc
|
string; veya None ;
varsayılan değer None Özelliğin, doküman oluşturma araçları tarafından çıkarılabilecek açıklaması. |
allow_files
|
bool; veya string'lerin sequence'ı; 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 işlevin desteği sonlandırıldı (yalnızca uyumluluk için tutuluyor), bunun yerine sağlayıcıları kullanın. |
providers
|
Varsayılan değer [] 'dir. Bu özellikte görünen bağımlılıklar tarafından sağlanması gereken sağlayıcılar. Bu bağımsız değişkenin biçimi, sağlayıcı listelerinin listesidir. |
flags
|
string'lerin sequence'ı;
varsayılan değer [] Kullanımdan kaldırıldı, kaldırılacak. |
mandatory
|
Varsayılan değer False 'dir. Doğruysa değer açıkça 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. Bu farkın tipik bir örneği, mobil uygulamalar oluşturulurken görülür. Burada target platform , Android veya iOS iken execution platform , Linux , macOS veya Windows 'dir.
|
aspects
|
Aspect'lerin sequence'ı;
varsayılan değer [] 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=[])
Bir etiket listesi özelliği için şema oluşturur. Bu, bir bağımlılık özelliğidir. İlgili ctx.attr
özelliği, Target
s list 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 göreli kısımları (depo dahil, yeniden adlandırılmış olabilir), oluşturulan hedefin paketiyle ilgili olarak çözümlenir.
Analiz sırasında (kuralın uygulama işlevi içinde), ctx.attr
öğesinden özellik değeri 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
|
varsayılan değer True Öznitelik boş olabilirse True. |
default
|
Etiket'lerin sırası veya işlev;
varsayılan değer [] Kural oluşturulurken bu özellik için değer verilmezse kullanılacak varsayılan değer. Varsayılan değerleri belirtmek için dizeleri veya Label işlevini kullanın (ör. attr.label_list(default = ["//a:b", "//a:c"]) ).
|
doc
|
string; veya None ;
varsayılan değer None Özelliğin, doküman oluşturma araçları tarafından çıkarılabilecek açıklaması. |
allow_files
|
bool; veya string'lerin sequence'ı; 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 işlevin desteği sonlandırıldı (yalnızca uyumluluk için tutuluyor), bunun yerine sağlayıcıları kullanın. |
providers
|
Varsayılan değer [] 'dir. Bu özellikte görünen bağımlılıklar tarafından sağlanması gereken sağlayıcılar. Bu bağımsız değişkenin biçimi, sağlayıcı listelerinin listesidir. |
flags
|
string'lerin sequence'ı;
varsayılan değer [] Kullanımdan kaldırıldı, kaldırılacak. |
mandatory
|
Varsayılan değer False 'dir. Doğruysa değer açıkça 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. Bu farkın tipik bir örneği, mobil uygulamalar oluşturulurken görülür. Burada target platform , Android veya iOS iken execution platform , Linux , macOS veya Windows 'dir.
|
aspects
|
Aspect'lerin sequence'ı;
varsayılan değer [] 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)
Bir çı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. Etiket yolunun göreli kısımları (depo dahil, yeniden adlandırılmış olabilir), oluşturulan hedefin paketiyle ilgili olarak çözümlenir.
Analiz sırasında, ilgili File
, ctx.outputs
kullanılarak alınabilir.
Parametreler
Parametre | Açıklama |
---|---|
doc
|
string; veya None ;
varsayılan değer None Özelliğin, doküman oluşturma araçları tarafından çıkarılabilecek açıklaması. |
mandatory
|
Varsayılan değer False 'dir. Doğruysa değer açıkça belirtilmelidir ( default olsa 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. Etiket yolunun göreli kısımları (depo dahil, yeniden adlandırılmış olabilir), oluşturulan hedefin paketiyle ilgili olarak çö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 Öznitelik boş olabilirse True. |
doc
|
string; veya None ;
varsayılan değer None Özelliğin, doküman oluşturma araçları tarafından çıkarılabilecek açıklaması. |
mandatory
|
Varsayılan değer False 'dir. Doğruysa değer açıkça belirtilmelidir ( default olsa bile).
|
dize
Attribute attr.string(default='', doc=None, mandatory=False, values=[])
Parametreler
Parametre | Açıklama |
---|---|
default
|
string; veya NativeComputedDefault;
varsayılan değer '' Kural oluşturulurken bu özellik için değer verilmezse kullanılacak varsayılan değer. |
doc
|
string; veya None ;
varsayılan değer None Özelliğin, doküman oluşturma araçları tarafından çıkarılabilecek açıklaması. |
mandatory
|
Varsayılan değer False 'dir. Doğruysa değer açıkça belirtilmelidir ( default olsa bile).
|
values
|
Dize dizisi;
varsayılan değer [] Ö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=None, mandatory=False)
Parametreler
Parametre | Açıklama |
---|---|
allow_empty
|
varsayılan değer True Öznitelik boş olabilirse True. |
default
|
varsayılan değer {} Kural oluşturulurken bu özellik için değer verilmezse kullanılacak varsayılan değer. |
doc
|
string; veya None ;
varsayılan değer None Özelliğin, doküman oluşturma araçları tarafından çıkarılabilecek açıklaması. |
mandatory
|
Varsayılan değer False 'dir. Doğruysa değer açıkça belirtilmelidir ( default olsa bile).
|
string_list
Attribute attr.string_list(mandatory=False, allow_empty=True, *, default=[], doc=None)
Parametreler
Parametre | Açıklama |
---|---|
mandatory
|
Varsayılan değer False 'dir. Doğruysa değer açıkça belirtilmelidir ( default olsa bile).
|
allow_empty
|
varsayılan değer True Öznitelik boş olabilirse True. |
default
|
Dize dizisi veya NativeComputedDefault;
varsayılan değer [] Kural oluşturulurken bu özellik için değer verilmezse kullanılacak varsayılan değer. |
doc
|
string; veya None ;
varsayılan değer None Özelliğin, doküman oluşturma araçları tarafından çıkarılabilecek 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 Öznitelik boş olabilirse True. |
default
|
varsayılan değer {} Kural oluşturulurken bu özellik için değer verilmezse kullanılacak varsayılan değer. |
doc
|
string; veya None ;
varsayılan değer None Özelliğin, doküman oluşturma araçları tarafından çıkarılabilecek açıklaması. |
mandatory
|
Varsayılan değer False 'dir. Doğruysa değer açıkça belirtilmelidir ( default olsa bile).
|