özelliği

Sorun bildirin Kaynağı göster

Bu, bir kuralın veya unsurun özellik şemalarını tanımlamaya yönelik ü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() 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

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 şeklindedir
Kural ö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 sahiptir
Dokü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 şeklindedir
Kural ö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 sahiptir
Dokü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 [] şeklindedir
Kural ö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 sahiptir
Dokü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 sahiptir
Doküman oluşturma araçları tarafından çıkarılabilen bir özelliğin açıklamasıdır.
executable varsayılan değer False şeklindedir
Bağı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: provider() tarafından döndürülen *Info nesneleri (veya eski sağlayıcı söz konusu olduğunda dize adı). Bağımlılık, iç listelerin en az BİRinde belirtilen TÜM sağlayıcıları döndürmelidir. Kolaylık sağlaması açısından, bu bağımsız değişken tek düzeyli bir sağlayıcılar listesi de olabilir. Bu durumda, tek öğeli bir dış listede sarmalanır. Bağımlılık kuralının provides parametresinde bu sağlayıcıları tanıtması GEREKMEZ ancak en iyi uygulama olarak kabul edilir.

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 sahiptir
Dokü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: provider() tarafından döndürülen *Info nesneleri (veya eski sağlayıcı söz konusu olduğunda dize adı). Bağımlılık, iç listelerin en az BİRinde belirtilen TÜM sağlayıcıları döndürmelidir. Kolaylık sağlaması açısından, bu bağımsız değişken tek düzeyli bir sağlayıcılar listesi de olabilir. Bu durumda, tek öğeli bir dış listede sarmalanır. Bağımlılık kuralının provides parametresinde bu sağlayıcıları tanıtması GEREKMEZ ancak en iyi uygulama olarak kabul edilir.

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ğeridir
Kural ö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 sahiptir
Dokü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: provider() tarafından döndürülen *Info nesneleri (veya eski sağlayıcı söz konusu olduğunda dize adı). Bağımlılık, iç listelerin en az BİRinde belirtilen TÜM sağlayıcıları döndürmelidir. Kolaylık sağlaması açısından, bu bağımsız değişken tek düzeyli bir sağlayıcılar listesi de olabilir. Bu durumda, tek öğeli bir dış listede sarmalanır. Bağımlılık kuralının provides parametresinde bu sağlayıcıları tanıtması GEREKMEZ ancak en iyi uygulama olarak kabul edilir.

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 sahiptir
Dokü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 sahiptir
Dokü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 '''dir
Kural ö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 sahiptir
Dokü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 {} şeklindedir
Kural ö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 sahiptir
Dokü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 sahiptir
Dokü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 {} şeklindedir
Kural ö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 sahiptir
Dokü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).