özelliği

Sorun bildir Kaynağı görüntüleyin Nightly · 7.4 . 7.3 · 7.2 · 7.1 · 7.0 · 6.5

Bu, bir kuralın veya özelliğin ö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(), aspect(), repository_rule() ve tag_class() 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ına bakın.

Üyeler

bool

Attribute attr.bool(configurable=unbound, default=False, doc=None, mandatory=False)

Boole özelliği için bir şema oluşturur. İlgili ctx.attr özelliği bool türüne sahip olacaktır.

Parametreler

Parametre Açıklama
configurable bool; veya unbound; varsayılan olarak unbound
Bu bağımsız değişken yalnızca sembolik bir makronun özelliği için belirtilebilir.

configurable açıkça False olarak ayarlanırsa sembolik makro özelliği yapılandırılamaz. Diğer bir deyişle, select() değeri alamaz. configurable bağlı değilse veya açıkça True olarak ayarlanmışsa özellik yapılandırılabilir ve select() değeri alabilir.

Kural veya özelliğin bir özelliği için configurable bağlı bırakılmalıdır. Starlark kural özelliklerinin çoğu her zaman yapılandırılabilir. Bununla birlikte, attr.output(), attr.output_list() ve attr.license() kural özellikleri her zaman yapılandırılamaz.

default bool; varsayılan değer False
Kuralın örneği oluşturulurken bu özellik için bir değer sağlanmazsa kullanılacak varsayılan değer.
doc dize veya None; varsayılan değer None
Belge oluşturma araçları tarafından ayıklanabilen özelliğin açıklaması.
mandatory bool; varsayılan değer False
Doğru ise değer açıkça belirtilmelidir (default içerse bile).

int

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

Tam sayı özelliği için bir şema oluşturur. Değer, imzalı 32 bit aralığında olmalıdır. İlgili ctx.attr özelliği int türüne sahip olacaktır.

Parametreler

Parametre Açıklama
configurable bool; veya unbound; varsayılan olarak unbound
Bu bağımsız değişken yalnızca sembolik bir makronun özelliği için belirtilebilir.

configurable açıkça False olarak ayarlanırsa sembolik makro özelliği yapılandırılamaz. Diğer bir deyişle, select() değeri alamaz. configurable bağlı değilse veya açıkça True olarak ayarlanmışsa özellik yapılandırılabilir ve select() değeri alabilir.

Kural veya özelliğin bir özelliği için configurable bağlı bırakılmalıdır. Starlark kural özelliklerinin çoğu her zaman yapılandırılabilir. Bununla birlikte, attr.output(), attr.output_list() ve attr.license() kural özellikleri her zaman yapılandırılamaz.

default int; varsayılan değer 0
Kuralın örneği oluşturulurken bu özellik için bir değer sağlanmazsa kullanılacak varsayılan değer.
doc dize veya None; varsayılan değer None
Belge oluşturma araçları tarafından ayıklanabilen özelliğin açıklaması.
mandatory bool; varsayılan değer False
Doğru ise değer açıkça belirtilmelidir (default içerse bile).
values int dizisi; 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, *, configurable=unbound, default=[], doc=None)

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

Parametreler

Parametre Açıklama
mandatory bool; varsayılan değer False
Doğru ise değer açıkça belirtilmelidir (default içerse bile).
allow_empty bool; varsayılan değer True
Öznitelik boş olabilirse doğru değerini döndürür.
configurable bool; veya unbound; varsayılan olarak unbound
Bu bağımsız değişken yalnızca sembolik bir makronun özelliği için belirtilebilir.

configurable açıkça False olarak ayarlanırsa sembolik makro özelliği yapılandırılamaz. Diğer bir deyişle, select() değeri alamaz. configurable bağlı değilse veya açıkça True olarak ayarlanmışsa özellik yapılandırılabilir ve select() değeri alabilir.

Kural veya özelliğin bir özelliği için configurable bağlı bırakılmalıdır. Starlark kural özelliklerinin çoğu her zaman yapılandırılabilir. Bununla birlikte, attr.output(), attr.output_list() ve attr.license() kural özellikleri her zaman yapılandırılamaz.

default int dizisi; varsayılan değer []
Kuralın örneği oluşturulurken bu özellik için bir değer sağlanmazsa kullanılacak varsayılan değer.
doc dize veya None; varsayılan değer None
Belge oluşturma araçları tarafından ayıklanabilen özelliğin açıklaması.

etiket

Attribute attr.label(configurable=unbound, default=None, materializer=None, doc=None, executable=False, allow_files=None, allow_single_file=None, mandatory=False, skip_validations=False, providers=[], for_dependency_resolution=unbound, allow_rules=None, cfg=None, aspects=[], flags=[])

Etiket özelliği için bir ş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. (Olasılıkla yeniden adlandırılmış) depo da dahil olmak üzere etiket yolunun göreli bölümleri, örneklendirilmiş hedefin paketine göre çözülür.

Analiz sırasında (kuralın uygulama işlevi içinde), özellik değeri ctx.attr kaynağından 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 özellikler, sıradan kaynak dosyalara ek olarak 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 BUILD dosyalarında kuralı her kullandıklarında aracın etiketini belirtmelerini gerektirmemek için bu özelliğin default değeri olarak bir standart aracın etiketini sabit kodlayabilirsiniz. Kullanıcıların bu varsayılan değeri geçersiz kılmasını da engellemek istiyorsanız özelliği alt çizgiyle başlayan bir adla adlandırarak özel yapabilirsiniz. Daha fazla bilgi için Kurallar sayfasına bakın.

Parametreler

Parametre Açıklama
configurable bool; veya unbound; varsayılan olarak unbound
Bu bağımsız değişken yalnızca sembolik bir makronun özelliği için belirtilebilir.

configurable açıkça False olarak ayarlanırsa sembolik makro özelliği yapılandırılamaz. Diğer bir deyişle, select() değeri alamaz. configurable bağlı değilse veya açıkça True olarak ayarlanmışsa özellik yapılandırılabilir ve select() değeri alabilir.

Kural veya görünümün bir özelliği için configurable bağlı bırakılmalıdır. Starlark kural özelliklerinin çoğu her zaman yapılandırılabilir. Bununla birlikte, attr.output(), attr.output_list() ve attr.license() kural özellikleri her zaman yapılandırılamaz.

default Etiket; veya dize; veya LateBoundDefault; veya NativeComputedDefault; veya işlev; veya None; varsayılan değer None
Kuralın örneği oluşturulurken bu özellik için bir değer verilmezse kullanılacak varsayılan değer. Varsayılan bir değer belirtmek için bir dize veya Label işlevini kullanın (ör. attr.label(default = "//a:b")).
materializer function; varsayılan değer None
Deneysel. Bu parametre deneyseldir ve herhangi bir zamanda değişebilir. Lütfen bu yönteme güvenmeyin. --experimental_dormant_deps
ayarlanarak deneysel olarak etkinleştirilebilir. Ayarlanırsa özellik, geçişli kapatmadaki etkin olmayan bağımlılıkları somutlaştırır. Bu parametrenin değeri, kuralın bağımlılığı olmayan veya bağımlılık çözümü için kullanılabilir olarak işaretlenmiş özelliklerinin değerlerine erişen bir işlev olmalıdır. Özelliğin türüne bağlı olarak etkin olmayan bir bağımlılık veya bu bağımlılıkların listesini döndürmelidir.
doc dize veya None; varsayılan değer None
Belge oluşturma araçları tarafından ayıklanabilen özelliğin açıklaması.
executable bool; varsayılan değer False
Bağımlılığın yürütülebilir olması gerekiyorsa doğru değerini döndürür. Bu, etiketin bir yürütülebilir dosyayı veya yürütülebilir dosya veren bir kuralı referans alacağı anlamına gelir. ctx.executable.<attribute_name> ile etikete erişin.
allow_files bool; veya dize dizisi; veya None; varsayılan değer None
File hedeflerine izin verilip verilmeyeceğini belirtir. 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'ya karşılık gelmesi kısıtlamasıyla allow_files'ye benzer. ctx.file.<attribute_name> üzerinden erişebilirsiniz.
mandatory bool; varsayılan değer False
Doğru ise değer açıkça belirtilmelidir (default içerse bile).
skip_validations bool; varsayılan değer False
Doğru ise bu özellikten gelen geçişli bağımlılıkların doğrulama işlemleri çalışmaz. Bu geçici bir çözümdür ve gelecekte kaldırılacaktır.
providers sequence; 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ı listelerinin listesidir (provider() tarafından döndürülen *Info nesneleri veya eski bir sağlayıcı söz konusu olduğunda dize adı). Bağımlılık, iç listelerden en az BİRİNDE belirtilen TÜM sağlayıcıları döndürmelidir. Bu bağımsız değişken, kolaylık sağlamak amacıyla tek düzeyli bir sağlayıcı listesi de olabilir. Bu durumda, tek bir öğe içeren bir dış listeye sarılır. Bağımlılığın kuralının provides parametresinde bu sağlayıcıların reklamını yapması zorunlu DEĞİLDİR ancak bu en iyi uygulama olarak kabul edilir.

for_dependency_resolution varsayılan değer unbound
Bu ayarlanırsa özellik, materyalize ediciler tarafından kullanılabilir. Bu tür özellikler aracılığıyla yalnızca aynı ada sahip işaretle işaretlenmiş kurallara referans verilebilir.
allow_rules Dize dizisi veya None; varsayılan değer None
Hangi kural hedeflerine (sınıfların adı) izin verilir? Bu özelliğin desteği sonlandırıldı (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ı. Bu değer, bağımlığın execution platform için derlendiğini belirten "exec" veya bağımlığın target platform için derlendiğini belirten "target" olabilir. Bu farkın tipik bir örneği, mobil uygulamalar oluştururken target platform'ün Android veya iOS, execution platform'ün ise Linux, macOS veya Windows olmasıdır. executable doğruysa hedef yapılandırmada ana makine araçlarının yanlışlıkla oluşturulmasını önlemek için bu parametre gereklidir. "target" semantik bir etkiye sahip değildir. Bu nedenle, executable Yanlış olduğunda, niyetlerinizi netleştirmeye gerçekten yardımcı olmadığı sürece bu özelliği ayarlamamalısınız.
aspects Aspect sıralı; varsayılan değer []
Bu özellik tarafından belirtilen bağımlılıklara veya bağımlılıklara uygulanması gereken Aspect'ler.
flags Dize dizisi; varsayılan değer []
Desteği sonlandırılmıştır, kaldırılacaktır.

label_keyed_string_dict

Attribute attr.label_keyed_string_dict(allow_empty=True, *, configurable=unbound, default={}, doc=None, allow_files=None, allow_rules=None, providers=[], for_dependency_resolution=unbound, flags=[], mandatory=False, cfg=None, aspects=[])

Anahtarların etiketler, 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. (Olasılıkla yeniden adlandırılmış) depo da dahil olmak üzere etiket yolunun göreli bölümleri, örneklendirilmiş hedefin paketine göre çözülür.

Analiz sırasında (kuralın uygulama işlevi içinde), özellik değeri ctx.attr kaynağından 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 bool; varsayılan değer True
Öznitelik boş olabilirse doğru değerini döndürür.
configurable bool; veya unbound; varsayılan değer unbound
Bu bağımsız değişken yalnızca sembolik bir makronun özelliği için belirtilebilir.

configurable açıkça False olarak ayarlanırsa sembolik makro özelliği yapılandırılamaz. Diğer bir deyişle, select() değeri alamaz. configurable bağlı değilse veya açıkça True olarak ayarlanmışsa özellik yapılandırılabilir ve select() değeri alabilir.

Kural veya özelliğin bir özelliği için configurable bağlı bırakılmalıdır. Starlark kural özelliklerinin çoğu her zaman yapılandırılabilir. Bununla birlikte, attr.output(), attr.output_list() ve attr.license() kural özellikleri her zaman yapılandırılamaz.

default dict veya function; varsayılan değer {}
Kuralın örneği oluşturulurken bu özellik için herhangi bir değer verilmezse kullanılacak varsayılan değer. Varsayılan değerleri belirtmek için dize veya Label işlevini kullanın (ör. attr.label_keyed_string_dict(default = {"//a:b": "value", "//a:c": "string"})).
doc dize veya None; varsayılan değer None
Belge oluşturma araçları tarafından ayıklanabilen özelliğin açıklaması.
allow_files bool; veya dize dizisi; veya None; varsayılan değer None
File hedeflerine izin verilip verilmeyeceğini belirtir. 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 özelliğin desteği sonlandırıldı (yalnızca uyumluluk için tutulur). Bunun yerine sağlayıcıları kullanın.
providers sequence; 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ı listelerinin listesidir (provider() tarafından döndürülen *Info nesneleri veya eski bir sağlayıcı söz konusu olduğunda dize adı). Bağımlılık, iç listelerden en az BİRİNDE belirtilen TÜM sağlayıcıları döndürmelidir. Bu bağımsız değişken, kolaylık sağlamak amacıyla tek düzeyli bir sağlayıcı listesi de olabilir. Bu durumda, tek bir öğe içeren bir dış listeye sarılır. Bağımlılığın kuralının provides parametresinde bu sağlayıcıların reklamını yapması zorunlu DEĞİLDİR ancak bu en iyi uygulama olarak kabul edilir.

for_dependency_resolution varsayılan değer unbound
Bu ayarlanırsa özellik, materyalize ediciler tarafından kullanılabilir. Yalnızca aynı ada sahip işaretle işaretlenmiş kurallara bu tür özellikler aracılığıyla referans verilebilir.
flags Dize dizisi; varsayılan değer []
Desteği sonlandırılmıştır, kaldırılacaktır.
mandatory bool; varsayılan değer False
Doğru ise değer açıkça belirtilmelidir (default içerse bile).
cfg varsayılan değer None
Özelliğin yapılandırması. Bu değer, bağımlığın execution platform için derlendiğini belirten "exec" veya bağımlığın target platform için derlendiğini belirten "target" olabilir. Bu farkın tipik bir örneği, mobil uygulamalar oluştururken target platform'ün Android veya iOS, execution platform'ün ise Linux, macOS veya Windows olmasıdır.
aspects Aspect sıralı listesi; varsayılan değer []
Bu özellik tarafından belirtilen bağımlılıklara veya bağımlılıklara uygulanması gereken Aspect'ler.

label_list

Attribute attr.label_list(allow_empty=True, *, configurable=unbound, default=[], materializer=None, doc=None, allow_files=None, allow_rules=None, providers=[], for_dependency_resolution=unbound, flags=[], mandatory=False, skip_validations=False, cfg=None, aspects=[])

Etiket listesi özelliği için bir şema oluşturur. Bu bir bağımlılık özelliğidir. İlgili ctx.attr özelliği, Target listesi türünde olacaktır.

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. (Olasılıkla yeniden adlandırılmış) depo da dahil olmak üzere etiket yolunun göreli bölümleri, örneklendirilmiş hedefin paketine göre çözülür.

Analiz sırasında (kuralın uygulama işlevi içinde), özellik değeri ctx.attr kaynağından 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 bool; varsayılan değer True
Öznitelik boş olabilirse doğru değerini döndürür.
configurable bool; veya unbound; varsayılan değer unbound
Bu bağımsız değişken yalnızca sembolik bir makronun özelliği için belirtilebilir.

configurable açıkça False olarak ayarlanırsa sembolik makro özelliği yapılandırılamaz. Diğer bir deyişle, select() değeri alamaz. configurable bağlı değilse veya açıkça True olarak ayarlanmışsa özellik yapılandırılabilir ve select() değeri alabilir.

Kural veya özelliğin bir özelliği için configurable bağlı bırakılmalıdır. Starlark kural özelliklerinin çoğu her zaman yapılandırılabilir. Bununla birlikte, attr.output(), attr.output_list() ve attr.license() kural özellikleri her zaman yapılandırılamaz.

default Etiket dizisi veya işlev; varsayılan değer []
Kuralın örneği oluşturulurken bu özellik için bir değer verilmezse kullanılacak varsayılan değer. Varsayılan değerleri belirtmek için dize veya Label işlevini kullanın (ör. attr.label_list(default = ["//a:b", "//a:c"])).
materializer function; varsayılan değer None
Deneysel. Bu parametre deneyseldir ve herhangi bir zamanda değişebilir. Lütfen bu yönteme güvenmeyin. --experimental_dormant_deps
ayarlanarak deneysel olarak etkinleştirilebilir. Ayarlanırsa özellik, geçişli kapatmadaki etkin olmayan bağımlılıkları somutlaştırır. Bu parametrenin değeri, kuralın bağımlılığı olmayan veya bağımlılık çözümü için kullanılabilir olarak işaretlenmiş özelliklerinin değerlerine erişen bir işlev olmalıdır. Özelliğin türüne bağlı olarak, etkin olmayan bir bağımlılık veya bu bağımlılıkların listesini döndürmelidir.
doc dize veya None; varsayılan değer None
Belge oluşturma araçları tarafından ayıklanabilen özelliğin açıklaması.
allow_files bool; veya dize dizisi; veya None; varsayılan değer None
File hedeflerine izin verilip verilmeyeceğini belirtir. 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 özelliğin desteği sonlandırıldı (yalnızca uyumluluk için tutulur). Bunun yerine sağlayıcıları kullanın.
providers sequence; 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ı listelerinin bir listesidir (provider() tarafından döndürülen *Info nesneleri veya eski bir sağlayıcı söz konusu olduğunda dize adı). Bağımlılık, iç listelerden en az BİRİNDE belirtilen TÜM sağlayıcıları döndürmelidir. Bu bağımsız değişken, kolaylık sağlamak amacıyla tek düzeyli bir sağlayıcı listesi de olabilir. Bu durumda, tek bir öğe içeren bir dış listeye sarılır. Bağımlılığın kuralının provides parametresinde bu sağlayıcıların reklamını yapması zorunlu DEĞİLDİR ancak bu en iyi uygulama olarak kabul edilir.

for_dependency_resolution varsayılan değer unbound
Bu ayarlanırsa özellik, materyalize ediciler tarafından kullanılabilir. Bu tür özellikler aracılığıyla yalnızca aynı ada sahip işaretle işaretlenmiş kurallara referans verilebilir.
flags Dize dizisi; varsayılan değer []
Desteği sonlandırılmıştır, kaldırılacaktır.
mandatory bool; varsayılan değer False
Doğru ise değer açıkça belirtilmelidir (default içerse bile).
skip_validations bool; varsayılan değer False
Doğru ise bu özellikteki geçişli bağımlılıkların doğrulama işlemleri çalışmaz. Bu geçici bir çözümdür ve gelecekte kaldırılacaktır.
cfg varsayılan değer None
Özelliğin yapılandırması. Bu değer, bağımlığın execution platform için derlendiğini belirten "exec" veya bağımlığın target platform için derlendiğini belirten "target" olabilir. Bu farkın tipik bir örneği, mobil uygulamalar oluştururken target platform'ün Android veya iOS, execution platform'ün ise Linux, macOS veya Windows olmasıdır.
aspects Aspect sıralı; varsayılan değer []
Bu özellik tarafından belirtilen bağımlılıklara veya bağımlılıklara uygulanması gereken Aspect'ler.

çı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. (Olasılıkla yeniden adlandırılmış) depo da dahil olmak üzere etiket yolunun göreli bölümleri, örneklendirilmiş hedefin paketine göre çözülür.

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

Parametreler

Parametre Açıklama
doc dize veya None; varsayılan değer None
Belge oluşturma araçları tarafından ayıklanabilen özelliğin açıklaması.
mandatory bool; varsayılan değer False
Doğru ise değer açıkça belirtilmelidir (default içerse bile).

output_list

Attribute attr.output_list(allow_empty=True, *, doc=None, mandatory=False)

Çıkış listesi ö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. (Olasılıkla yeniden adlandırılmış) depo da dahil olmak üzere etiket yolunun göreli bölümleri, örneklenmiş hedefin paketine göre çözülür.

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

Parametreler

Parametre Açıklama
allow_empty bool; varsayılan değer True
Öznitelik boş olabilirse doğru değerini döndürür.
doc dize veya None; varsayılan değer None
Belge oluşturma araçları tarafından ayıklanabilen özelliğin açıklaması.
mandatory bool; varsayılan değer False
Doğru ise değer açıkça belirtilmelidir (default içerse bile).

dize

Attribute attr.string(configurable=unbound, default='', doc=None, mandatory=False, values=[])

Dize özelliği için bir şema oluşturur.

Parametreler

Parametre Açıklama
configurable bool; veya unbound; varsayılan olarak unbound
Bu bağımsız değişken yalnızca sembolik bir makronun özelliği için belirtilebilir.

configurable açıkça False olarak ayarlanırsa sembolik makro özelliği yapılandırılamaz. Diğer bir deyişle, select() değeri alamaz. configurable bağlı değilse veya açıkça True olarak ayarlanmışsa özellik yapılandırılabilir ve select() değeri alabilir.

Kural veya özelliğin bir özelliği için configurable bağlı bırakılmalıdır. Starlark kural özelliklerinin çoğu her zaman yapılandırılabilir. Bununla birlikte, attr.output(), attr.output_list() ve attr.license() kural özellikleri her zaman yapılandırılamaz.

default dize; veya NativeComputedDefault; varsayılan değer ''
Kuralın örneği oluşturulurken bu özellik için herhangi bir değer sağlanmazsa kullanılacak varsayılan değer.
doc dize veya None; varsayılan değer None
Belge oluşturma araçları tarafından ayıklanabilen özelliğin açıklaması.
mandatory bool; varsayılan değer False
Doğru ise değer açıkça belirtilmelidir (default içerse bile).
values Dize dizisi; varsayılan değer []
Öznitelik 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, *, configurable=unbound, default={}, doc=None, mandatory=False)

Anahtarlar ve değerlerin dize olduğu bir sözlük içeren bir özellik için şema oluşturur.

Parametreler

Parametre Açıklama
allow_empty bool; varsayılan değer True
Öznitelik boş olabilirse doğru değerini döndürür.
configurable bool; veya unbound; varsayılan olarak unbound
Bu bağımsız değişken yalnızca sembolik bir makronun özelliği için belirtilebilir.

configurable açıkça False olarak ayarlanırsa sembolik makro özelliği yapılandırılamaz. Diğer bir deyişle, select() değeri alamaz. configurable bağlı değilse veya açıkça True olarak ayarlanmışsa özellik yapılandırılabilir ve select() değeri alabilir.

Kural veya özelliğin bir özelliği için configurable bağlı bırakılmalıdır. Starlark kural özelliklerinin çoğu her zaman yapılandırılabilir. Bununla birlikte, attr.output(), attr.output_list() ve attr.license() kural özellikleri her zaman yapılandırılamaz.

default dict; varsayılan değer {}
Kuralın örneği oluşturulurken bu özellik için bir değer sağlanmazsa kullanılacak varsayılan değer.
doc dize veya None; varsayılan değer None
Belge oluşturma araçları tarafından ayıklanabilen özelliğin açıklaması.
mandatory bool; varsayılan değer False
Doğru ise değer açıkça belirtilmelidir (default içerse bile).

string_keyed_label_dict

Attribute attr.string_keyed_label_dict(allow_empty=True, *, configurable=unbound, default={}, doc=None, allow_files=None, allow_rules=None, providers=[], for_dependency_resolution=unbound, flags=[], mandatory=False, cfg=None, aspects=[])

Anahtarlarının dize, değerlerinin ise etiket olduğu bir sözlük olan 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. (Olasılıkla yeniden adlandırılmış) depo da dahil olmak üzere etiket yolunun göreli bölümleri, örneklendirilmiş hedefin paketine göre çözülür.

Analiz sırasında (kuralın uygulama işlevi içinde), özellik değeri ctx.attr kaynağından 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 bool; varsayılan değer True
Öznitelik boş olabilirse doğru değerini döndürür.
configurable bool; veya unbound; varsayılan değer unbound
Bu bağımsız değişken yalnızca sembolik bir makronun özelliği için belirtilebilir.

configurable açıkça False olarak ayarlanırsa sembolik makro özelliği yapılandırılamaz. Diğer bir deyişle, select() değeri alamaz. configurable bağlı değilse veya açıkça True olarak ayarlanmışsa özellik yapılandırılabilir ve select() değeri alabilir.

Kural veya özelliğin bir özelliği için configurable bağlı bırakılmalıdır. Starlark kural özelliklerinin çoğu her zaman yapılandırılabilir. Bununla birlikte, attr.output(), attr.output_list() ve attr.license() kural özellikleri her zaman yapılandırılamaz.

default dict veya function; varsayılan değer {}
Kuralın örneği oluşturulurken bu özellik için herhangi bir değer verilmezse kullanılacak varsayılan değer. Varsayılan değerleri belirtmek için dize veya Label işlevini kullanın (ör. attr.string_keyed_label_dict(default = {"foo": "//a:b", "bar": "//a:c"})).
doc dize veya None; varsayılan değer None
Belge oluşturma araçları tarafından ayıklanabilen özelliğin açıklaması.
allow_files bool; veya dize dizisi; veya None; varsayılan değer None
File hedeflerine izin verilip verilmeyeceğini belirtir. 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 özelliğin desteği sonlandırıldı (yalnızca uyumluluk için tutulur). Bunun yerine sağlayıcıları kullanın.
providers sequence; 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ı listelerinin bir listesidir (provider() tarafından döndürülen *Info nesneleri veya eski bir sağlayıcı söz konusu olduğunda dize adı). Bağımlılık, iç listelerden en az BİRİNDE belirtilen TÜM sağlayıcıları döndürmelidir. Bu bağımsız değişken, kolaylık sağlamak amacıyla tek düzeyli bir sağlayıcı listesi de olabilir. Bu durumda, tek bir öğe içeren bir dış listeye sarılır. Bağımlılığın kuralının provides parametresinde bu sağlayıcıların reklamını yapması zorunlu DEĞİLDİR ancak bu en iyi uygulama olarak kabul edilir.

for_dependency_resolution varsayılan değer unbound
Bu ayarlanırsa özellik, materyalize ediciler tarafından kullanılabilir. Yalnızca aynı ada sahip işaretle işaretlenmiş kurallara bu tür özellikler aracılığıyla referans verilebilir.
flags Dize dizisi; varsayılan değer []
Desteği sonlandırılmıştır, kaldırılacaktır.
mandatory bool; varsayılan değer False
Doğru ise değer açıkça belirtilmelidir (default içerse bile).
cfg varsayılan değer None
Özelliğin yapılandırması. Bu değer, bağımlığın execution platform için derlendiğini belirten "exec" veya bağımlığın target platform için derlendiğini belirten "target" olabilir. Bu farkın tipik bir örneği, mobil uygulamalar oluştururken target platform'ün Android veya iOS, execution platform'ün ise Linux, macOS veya Windows olmasıdır.
aspects Aspect sıralı; varsayılan değer []
Bu özellik tarafından belirtilen bağımlılıklara veya bağımlılıklara uygulanması gereken Aspect'ler.

string_list

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

Dize listesi özelliği için bir şema oluşturur.

Parametreler

Parametre Açıklama
mandatory bool; varsayılan değer False
Doğru ise değer açıkça belirtilmelidir (default içerse bile).
allow_empty bool; varsayılan değer True
Öznitelik boş olabilirse doğru değerini döndürür.
configurable bool; veya unbound; varsayılan değer unbound
Bu bağımsız değişken yalnızca sembolik bir makronun özelliği için belirtilebilir.

configurable açıkça False olarak ayarlanırsa sembolik makro özelliği yapılandırılamaz. Diğer bir deyişle, select() değeri alamaz. configurable bağlı değilse veya açıkça True olarak ayarlanmışsa özellik yapılandırılabilir ve select() değeri alabilir.

Kural veya özelliğin bir özelliği için configurable bağlı bırakılmalıdır. Starlark kural özelliklerinin çoğu her zaman yapılandırılabilir. Bununla birlikte, attr.output(), attr.output_list() ve attr.license() kural özellikleri her zaman yapılandırılamaz.

default Dize dizisi veya NativeComputedDefault; varsayılan değer []
Kuralın örneği oluşturulurken bu özellik için bir değer sağlanmazsa kullanılacak varsayılan değer.
doc dize veya None; varsayılan değer None
Belge oluşturma araçları tarafından ayıklanabilen özelliğin açıklaması.

string_list_dict

Attribute attr.string_list_dict(allow_empty=True, *, configurable=unbound, default={}, doc=None, mandatory=False)

Anahtarlar dize, değerler ise dize listeleri olan bir sözlük içeren bir özellik için şema oluşturur.

Parametreler

Parametre Açıklama
allow_empty bool; varsayılan değer True
Öznitelik boş olabilirse doğru değerini döndürür.
configurable bool; veya unbound; varsayılan değer unbound
Bu bağımsız değişken yalnızca sembolik bir makronun özelliği için belirtilebilir.

configurable açıkça False olarak ayarlanırsa sembolik makro özelliği yapılandırılamaz. Diğer bir deyişle, select() değeri alamaz. configurable bağlı değilse veya açıkça True olarak ayarlanmışsa özellik yapılandırılabilir ve select() değeri alabilir.

Kural veya özelliğin bir özelliği için configurable bağlı bırakılmalıdır. Starlark kural özelliklerinin çoğu her zaman yapılandırılabilir. Bununla birlikte, attr.output(), attr.output_list() ve attr.license() kural özellikleri her zaman yapılandırılamaz.

default dict; varsayılan değer {}
Kuralın örneği oluşturulurken bu özellik için bir değer sağlanmazsa kullanılacak varsayılan değer.
doc dize veya None; varsayılan değer None
Belge oluşturma araçları tarafından ayıklanabilen özelliğin açıklaması.
mandatory bool; varsayılan değer False
Doğru ise değer açıkça belirtilmelidir (default içerse bile).