özelliği

Sorun bildir Kaynağı görüntüle Nightly · 8.3 · 8.2 · 8.1 · 8.0 · 7.6

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(), 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 şema oluşturur. İlgili ctx.attr özelliği bool türünde olur.

Parametreler

Parametre Açıklama
configurable bool; veya sınırsız; 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ğerini alamaz. configurable özelliği ya bağlantısızsa ya da açıkça True olarak ayarlanmışsa özellik yapılandırılabilir ve select() değeri alabilir.

Bir kuralın veya yönün özelliği için configurable sınırsız bırakılmalıdır. attr.output(), attr.output_list() ve attr.license() kural özellikleri hariç çoğu Starlark kural özelliği her zaman yapılandırılabilir. Bu üç kural özelliği ise her zaman yapılandırılamaz.

default bool; 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 bool; varsayılan değer False
Doğruysa değer açıkça belirtilmelidir (default olsa bile).

int

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

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

Parametreler

Parametre Açıklama
configurable bool; veya sınırsız; 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ğerini alamaz. configurable özelliği ya bağlantısızsa ya da açıkça True olarak ayarlanmışsa özellik yapılandırılabilir ve select() değeri alabilir.

Bir kuralın veya yönün özelliği için configurable sınırsız bırakılmalıdır. attr.output(), attr.output_list() ve attr.license() kural özellikleri hariç çoğu Starlark kural özelliği her zaman yapılandırılabilir. Bu üç kural özelliği ise her zaman yapılandırılamaz.

default int; 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 bool; varsayılan değer False
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, *, configurable=unbound, default=[], doc=None)

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 bool; varsayılan değer False
Doğruysa değer açıkça belirtilmelidir (default olsa bile).
allow_empty bool; varsayılan değer True
Öznitelik boş olabilirse True.
configurable bool; veya sınırsız; 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ğerini alamaz. configurable özelliği ya bağlantısızsa ya da açıkça True olarak ayarlanmışsa özellik yapılandırılabilir ve select() değeri alabilir.

Bir kuralın veya yönün özelliği için configurable sınırsız bırakılmalıdır. attr.output(), attr.output_list() ve attr.license() kural özellikleri hariç çoğu Starlark kural özelliği her zaman yapılandırılabilir. Bu üç kural özelliği ise her zaman yapılandırılamaz.

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(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 ş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
configurable bool; veya sınırsız; 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ğerini alamaz. configurable özelliği ya bağlantısızsa ya da açıkça True olarak ayarlanmışsa özellik yapılandırılabilir ve select() değeri alabilir.

Bir kuralın veya yönün özelliği için configurable sınırsız bırakılmalıdır. attr.output(), attr.output_list() ve attr.license() kural özellikleri hariç çoğu Starlark kural özelliği her zaman yapılandırılabilir. Bu üç kural özelliği ise 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 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").
materializer function; varsayılan değer None
Deneyseldir. Bu parametre deneyseldir ve herhangi bir zamanda değişebilir. Lütfen bu bilgileri kullanmayın. --experimental_dormant_deps
If set, the attribute materializes dormant dependencies from the transitive closure. ayarlanarak deneysel olarak etkinleştirilebilir. Bu parametrenin değeri, kuralın özelliklerinin değerlerine erişen bir işlev olmalıdır. Bu özellikler, bağımlılık olmayan veya bağımlılık çözümü için kullanılabilir olarak işaretlenen özelliklerdir. Özelliğin türüne bağlı olarak etkin olmayan bir bağımlılık veya bunların listesini döndürmelidir.
doc string; veya None; varsayılan değer None
Özelliğin, doküman oluşturma araçları tarafından çıkarılabilecek açıklaması.
executable bool; 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 bool; varsayılan değer False
Doğruysa değer açıkça belirtilmelidir (default olsa bile).
skip_validations bool; varsayılan değer False
Doğruysa bu özellikten gelen geçişli bağımlılıkların doğrulama işlemleri çalıştırılmaz. Bu geçici bir çözüm olup gelecekte KALDIRILACAKTIR.
providers sequence; varsayılan değer []
Bu özellikte görünen herhangi bir bağımlılık 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 (ör. [A, B], [[A, B]] anlamına gelir). Bağımlılık kuralının, bu sağlayıcıları provides parametresinde tanıtması GEREKLİ DEĞİLDİR ancak bu, en iyi uygulama olarak kabul edilir.

for_dependency_resolution Varsayılan değer unbound
'dir. Bu ayar yapılırsa özellik, materyal oluşturucular tarafından kullanılabilir. Bu tür özellikler aracılığıyla yalnızca aynı ada sahip işaretle işaretlenmiş kurallara referans verilmesine izin verilir.
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.
flags string'lerin sequence'ı; varsayılan değer []
Kullanımdan kaldırıldı, kaldırılacak.

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, skip_validations=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 bool; varsayılan değer True
Öznitelik boş olabilirse True.
configurable bool; veya sınırsız; 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ğerini alamaz. configurable özelliği ya bağlantısızsa ya da açıkça True olarak ayarlanmışsa özellik yapılandırılabilir ve select() değeri alabilir.

Bir kuralın veya yönün özelliği için configurable sınırsız bırakılmalıdır. attr.output(), attr.output_list() ve attr.license() kural özellikleri hariç çoğu Starlark kural özelliği her zaman yapılandırılabilir. Bu üç kural özelliği ise her zaman yapılandırılamaz.

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 sequence; varsayılan değer []
Bu özellikte görünen herhangi bir bağımlılık 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 (ör. [A, B], [[A, B]] anlamına gelir). Bağımlılık kuralının, bu sağlayıcıları provides parametresinde tanıtması GEREKLİ DEĞİLDİR ancak bu, en iyi uygulama olarak kabul edilir.

for_dependency_resolution Varsayılan değer unbound
'dir. Bu ayar yapılırsa özellik, materyal oluşturucular tarafından kullanılabilir. Bu tür özellikler aracılığıyla yalnızca aynı ada sahip işaretle işaretlenmiş kurallara referans verilmesine izin verilir.
flags string'lerin sequence'ı; varsayılan değer []
Kullanımdan kaldırıldı, kaldırılacak.
mandatory bool; varsayılan değer False
Doğruysa değer açıkça belirtilmelidir (default olsa bile).
skip_validations bool; varsayılan değer False
Doğruysa bu özellikten gelen geçişli bağımlılıkların doğrulama işlemleri çalıştırılmaz. Bu geçici bir çözüm olup gelecekte KALDIRILACAKTIR.
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, *, 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=[])

Bir etiket listesi özelliği için şema oluşturur. Bu, bir bağımlılık özelliğidir. İlgili ctx.attr özelliği, Targets 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 bool; varsayılan değer True
Öznitelik boş olabilirse True.
configurable bool; veya sınırsız; 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ğerini alamaz. configurable özelliği ya bağlantısızsa ya da açıkça True olarak ayarlanmışsa özellik yapılandırılabilir ve select() değeri alabilir.

Bir kuralın veya yönün özelliği için configurable sınırsız bırakılmalıdır. attr.output(), attr.output_list() ve attr.license() kural özellikleri hariç çoğu Starlark kural özelliği her zaman yapılandırılabilir. Bu üç kural özelliği ise her zaman yapılandırılamaz.

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"])).
materializer function; varsayılan değer None
Deneyseldir. Bu parametre deneyseldir ve herhangi bir zamanda değişebilir. Lütfen bu bilgileri kullanmayın. --experimental_dormant_deps
If set, the attribute materializes dormant dependencies from the transitive closure. ayarlanarak deneysel olarak etkinleştirilebilir. Bu parametrenin değeri, kuralın özelliklerinin değerlerine erişen bir işlev olmalıdır. Bu özellikler, bağımlılık olmayan veya bağımlılık çözümü için kullanılabilir olarak işaretlenen özelliklerdir. Özelliğin türüne bağlı olarak etkin olmayan bir bağımlılık veya bunların listesini döndürmelidir.
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 sequence; varsayılan değer []
Bu özellikte görünen herhangi bir bağımlılık 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 (ör. [A, B], [[A, B]] anlamına gelir). Bağımlılık kuralının, bu sağlayıcıları provides parametresinde tanıtması GEREKLİ DEĞİLDİR ancak bu, en iyi uygulama olarak kabul edilir.

for_dependency_resolution Varsayılan değer unbound
'dir. Bu ayar yapılırsa özellik, materyal oluşturucular tarafından kullanılabilir. Bu tür özellikler aracılığıyla yalnızca aynı ada sahip işaretle işaretlenmiş kurallara referans verilmesine izin verilir.
flags string'lerin sequence'ı; varsayılan değer []
Kullanımdan kaldırıldı, kaldırılacak.
mandatory bool; varsayılan değer False
Doğruysa değer açıkça belirtilmelidir (default olsa bile).
skip_validations bool; varsayılan değer False
Doğruysa bu özellikten gelen geçişli bağımlılıkların doğrulama işlemleri çalıştırılmaz. Bu geçici bir çözüm olup gelecekte KALDIRILACAKTIR.
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 bool; varsayılan değer False
Doğruysa değer açıkça belirtilmelidir (default olsa bile).

output_list

Attribute attr.output_list(allow_empty=True, *, doc=None, 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 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 bool; 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 bool; varsayılan değer False
Doğruysa değer açıkça belirtilmelidir (default olsa bile).

dize

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

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

Parametreler

Parametre Açıklama
configurable bool; veya sınırsız; 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ğerini alamaz. configurable özelliği ya bağlantısızsa ya da açıkça True olarak ayarlanmışsa özellik yapılandırılabilir ve select() değeri alabilir.

Bir kuralın veya yönün özelliği için configurable sınırsız bırakılmalıdır. attr.output(), attr.output_list() ve attr.license() kural özellikleri hariç çoğu Starlark kural özelliği her zaman yapılandırılabilir. Bu üç kural özelliği ise her zaman yapılandırılamaz.

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 bool; varsayılan değer False
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, *, configurable=unbound, default={}, doc=None, 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 bool; varsayılan değer True
Öznitelik boş olabilirse True.
configurable bool; veya sınırsız; 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ğerini alamaz. configurable özelliği ya bağlantısızsa ya da açıkça True olarak ayarlanmışsa özellik yapılandırılabilir ve select() değeri alabilir.

Bir kuralın veya yönün özelliği için configurable sınırsız bırakılmalıdır. attr.output(), attr.output_list() ve attr.license() kural özellikleri hariç çoğu Starlark kural özelliği her zaman yapılandırılabilir. Bu üç kural özelliği ise her zaman yapılandırılamaz.

default dict; 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 bool; varsayılan değer False
Doğruysa değer açıkça belirtilmelidir (default olsa 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=[])

Değeri, anahtarların dize, değerlerin 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. 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 bool; varsayılan değer True
Öznitelik boş olabilirse True.
configurable bool; veya sınırsız; 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ğerini alamaz. configurable özelliği ya bağlantısızsa ya da açıkça True olarak ayarlanmışsa özellik yapılandırılabilir ve select() değeri alabilir.

Bir kuralın veya yönün özelliği için configurable sınırsız bırakılmalıdır. attr.output(), attr.output_list() ve attr.license() kural özellikleri hariç çoğu Starlark kural özelliği her zaman yapılandırılabilir. Bu üç kural özelliği ise her zaman yapılandırılamaz.

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.string_keyed_label_dict(default = {"foo": "//a:b", "bar": "//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 sequence; varsayılan değer []
Bu özellikte görünen herhangi bir bağımlılık 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 (ör. [A, B], [[A, B]] anlamına gelir). Bağımlılık kuralının, bu sağlayıcıları provides parametresinde tanıtması GEREKLİ DEĞİLDİR ancak bu, en iyi uygulama olarak kabul edilir.

for_dependency_resolution Varsayılan değer unbound
'dir. Bu ayar yapılırsa özellik, materyal oluşturucular tarafından kullanılabilir. Bu tür özellikler aracılığıyla yalnızca aynı ada sahip işaretle işaretlenmiş kurallara referans verilmesine izin verilir.
flags string'lerin sequence'ı; varsayılan değer []
Kullanımdan kaldırıldı, kaldırılacak.
mandatory bool; varsayılan değer False
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.

string_list

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

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

Parametreler

Parametre Açıklama
mandatory bool; varsayılan değer False
Doğruysa değer açıkça belirtilmelidir (default olsa bile).
allow_empty bool; varsayılan değer True
Öznitelik boş olabilirse True.
configurable bool; veya sınırsız; 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ğerini alamaz. configurable özelliği ya bağlantısızsa ya da açıkça True olarak ayarlanmışsa özellik yapılandırılabilir ve select() değeri alabilir.

Bir kuralın veya yönün özelliği için configurable sınırsız bırakılmalıdır. attr.output(), attr.output_list() ve attr.license() kural özellikleri hariç çoğu Starlark kural özelliği her zaman yapılandırılabilir. Bu üç kural özelliği ise her zaman yapılandırılamaz.

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, *, configurable=unbound, default={}, doc=None, 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 bool; varsayılan değer True
Öznitelik boş olabilirse True.
configurable bool; veya sınırsız; 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ğerini alamaz. configurable özelliği ya bağlantısızsa ya da açıkça True olarak ayarlanmışsa özellik yapılandırılabilir ve select() değeri alabilir.

Bir kuralın veya yönün özelliği için configurable sınırsız bırakılmalıdır. attr.output(), attr.output_list() ve attr.license() kural özellikleri hariç çoğu Starlark kural özelliği her zaman yapılandırılabilir. Bu üç kural özelliği ise her zaman yapılandırılamaz.

default dict; 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 bool; varsayılan değer False
Doğruysa değer açıkça belirtilmelidir (default olsa bile).