özelliği

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

Attribute attr.bool(default=False, doc='', mandatory=False)

Boole özelliği için şema oluşturur.

Parametreler

Parametre Açıklama
default default = False
Kural oluşturulurken bu özellik için değer verilmezse kullanılacak varsayılan değer.
doc default = ''
Belge oluşturma araçları tarafından ayıklanabilen özelliğin açıklaması.
mandatory default = False
Doğruysa değer açıkça belirtilmelidir (default olsa bile).

int

Attribute attr.int(default=0, doc='', mandatory=False, values=[])

Bir tam sayı özelliği için ş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 değer verilmezse kullanılacak varsayılan değer.
doc default = ''
Belge oluşturma araçları tarafından ayıklanabilen özelliğin açıklaması.
mandatory default = False
Doğruysa değer açıkça belirtilmelidir (default olsa 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='')

Bir tam sayı listesi özelliği için şema oluşturur. Her öğe, imzalı 32 bit aralığında olmalıdır.

Parametreler

Parametre Açıklama
mandatory default = False
Doğruysa değer açıkça belirtilmelidir (default olsa bile).
allow_empty default = True
Özellik boş olabiliyorsa True.
default sequence of ints; default = []
Kural oluşturulurken bu özellik için değer verilmezse kullanılacak varsayılan değer.
doc default = ''
Belge 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 ş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 bu dize, 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ülür.

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ına ek olarak genellikle bir aracı (ör. derleyici) ifade etmek 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 engellemek 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 Label; or string; or LateBoundDefault; or NativeComputedDefault; or function; or None; default = 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 default = ''
Belge oluşturma araçları tarafından ayıklanabilen özelliğin açıklaması.
executable varsayılan = 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; or sequence of strings; or None; default = None
Whether File targets are allowed. True, False (varsayılan) veya izin verilen dosya uzantılarının listesi (örneğin, [".cc", ".cpp"]) olabilir.
allow_single_file default = None
Bu, allow_files etiketine benzer ancak etiketin tek bir Dosya'ya karşılık gelmesi gerekir. ctx.file.<attribute_name> üzerinden erişebilirsiniz.
mandatory default = False
Doğruysa değer açıkça belirtilmelidir (default olsa bile).
providers default = []
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. provider() tarafından döndürülen *Info nesneleri (veya eski bir sağlayıcı söz konusu olduğunda, dize adı) biçimindedir. Bağımlılık, iç listelerden EN AZ BİRİNDE belirtilen TÜM sağlayıcıları döndürmelidir. Kolaylık sağlamak amacıyla bu bağımsız değişken, tek düzeyli bir sağlayıcı listesi de olabilir. Bu durumda, tek öğeli bir dış liste içine alınır.

allow_rules sequence of strings; or None; default = 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 default = 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. Bu durumda target platform, Android veya iOS iken execution platform, Linux, macOS veya Windows olur. 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 netleştirmeye gerçekten yardımcı olmadığı sürece bu değeri ayarlamayın.
aspects sequence of Aspects; default = []
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='', 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 ö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 bu dize, 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ülür.

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 default = True
Özellik boş olabiliyorsa True.
default dict; or function; default = {}
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_keyed_string_dict(default = {"//a:b": "value", "//a:c": "string"})).
doc default = ''
Belge oluşturma araçları tarafından ayıklanabilen özelliğin açıklaması.
allow_files bool; or sequence of strings; or None; default = None
Whether File targets are allowed. 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 = 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 default = []
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. provider() tarafından döndürülen *Info nesneleri (veya eski bir sağlayıcı söz konusu olduğunda, dize adı) biçimindedir. Bağımlılık, iç listelerden EN AZ BİRİNDE belirtilen TÜM sağlayıcıları döndürmelidir. Kolaylık sağlamak amacıyla bu bağımsız değişken, tek düzeyli bir sağlayıcı listesi de olabilir. Bu durumda, tek öğeli bir dış liste içine alınır.

flags sequence of strings; default = []
Kullanımdan kaldırıldı, kaldırılacak.
mandatory default = False
Doğruysa değer açıkça belirtilmelidir (default olsa bile).
cfg default = 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. Bu durumda target platform, Android veya iOS iken execution platform, Linux, macOS veya Windows olur.
aspects sequence of Aspects; default = []
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='', 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 bu dize, 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ülür.

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 default = True
Özellik boş olabiliyorsa True.
default sequence of Labels; or function; default = []
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 default = ''
Belge oluşturma araçları tarafından ayıklanabilen özelliğin açıklaması.
allow_files bool; or sequence of strings; or None; default = None
Whether File targets are allowed. 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 = 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 default = []
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. provider() tarafından döndürülen *Info nesneleri (veya eski bir sağlayıcı söz konusu olduğunda, dize adı) biçimindedir. Bağımlılık, iç listelerden EN AZ BİRİNDE belirtilen TÜM sağlayıcıları döndürmelidir. Kolaylık sağlamak amacıyla bu bağımsız değişken, tek düzeyli bir sağlayıcı listesi de olabilir. Bu durumda, tek öğeli bir dış liste içine alınır.

flags sequence of strings; default = []
Kullanımdan kaldırıldı, kaldırılacak.
mandatory default = False
Doğruysa değer açıkça belirtilmelidir (default olsa bile).
cfg default = 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. Bu durumda target platform, Android veya iOS iken execution platform, Linux, macOS veya Windows olur.
aspects sequence of Aspects; default = []
Bu özellik tarafından belirtilen bağımlılığa veya bağımlılıklara uygulanması gereken yönler.

çıkış

Attribute attr.output(doc='', 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 bu dize, 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ülür.

Analiz sırasında, ilgili File, ctx.outputs kullanılarak alınabilir.

Parametreler

Parametre Açıklama
doc default = ''
Belge oluşturma araçları tarafından ayıklanabilen özelliğin açıklaması.
mandatory default = False
Doğruysa değer açıkça belirtilmelidir (default olsa 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 bu dize, 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ülür.

Analiz sırasında, ilgili File, ctx.outputs kullanılarak alınabilir.

Parametreler

Parametre Açıklama
allow_empty default = True
Özellik boş olabiliyorsa True.
doc default = ''
Belge oluşturma araçları tarafından ayıklanabilen özelliğin açıklaması.
mandatory default = False
Doğruysa değer açıkça belirtilmelidir (default olsa 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 oluşturulurken bu özellik için değer verilmezse kullanılacak varsayılan değer.
doc default = ''
Belge oluşturma araçları tarafından ayıklanabilen özelliğin açıklaması.
mandatory default = False
Doğruysa değer açıkça belirtilmelidir (default olsa 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ın ve değerlerin dizeler olduğu bir sözlük içeren bir özellik için şema oluşturur.

Parametreler

Parametre Açıklama
allow_empty default = True
Özellik boş olabiliyorsa True.
default default = {}
Kural oluşturulurken bu özellik için değer verilmezse kullanılacak varsayılan değer.
doc default = ''
Belge oluşturma araçları tarafından ayıklanabilen özelliğin açıklaması.
mandatory default = False
Doğruysa değer açıkça belirtilmelidir (default olsa bile).

string_list

Attribute attr.string_list(mandatory=False, allow_empty=True, *, default=[], doc='')

Bir dize listesi özelliği için şema oluşturur.

Parametreler

Parametre Açıklama
mandatory default = False
Doğruysa değer açıkça belirtilmelidir (default olsa bile).
allow_empty default = True
Özellik boş olabiliyorsa True.
default sequence of strings; or NativeComputedDefault; default = []
Kural oluşturulurken bu özellik için değer verilmezse kullanılacak varsayılan değer.
doc default = ''
Belge 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ın dize, değerlerin ise dize listeleri olduğu bir sözlük içeren bir özellik için şema oluşturur.

Parametreler

Parametre Açıklama
allow_empty default = True
Özellik boş olabiliyorsa True.
default default = {}
Kural oluşturulurken bu özellik için değer verilmezse kullanılacak varsayılan değer.
doc default = ''
Belge oluşturma araçları tarafından ayıklanabilen özelliğin açıklaması.
mandatory default = False
Doğruysa değer açıkça belirtilmelidir (default olsa bile).