Üyeler
- analysis_test_transition
- en boy
- configuration_field
- depset
- exec_group
- module_extension
- sağlayıcı
- repository_rule
- kural
- seç
- alt kural
- tag_class
- görünürlük
analysis_test_transition
transition analysis_test_transition(settings)
Analiz-test kuralının bağımlılıklarına uygulanacak bir yapılandırma geçişi oluşturur. Bu geçiş yalnızca analysis_test = True
içeren kuralların özelliklerine uygulanabilir. Bu tür kuralların özellikleri kısıtlıdır (örneğin, bağımlılık ağaçlarının boyutu sınırlıdır). Bu nedenle, bu işlevi kullanarak oluşturulan geçişler, transition()
kullanılarak oluşturulan geçişlerle karşılaştırıldığında potansiyel kapsam açısından sınırlıdır.
Bu işlev, temel olarak Analysis Test Çerçevesi çekirdek kitaplığını kolaylaştırmak amacıyla tasarlanmıştır. En iyi uygulamalar için ürünün dokümanlarına (veya uygulamasına) bakın.
Parametreler
Parametre | Açıklama |
---|---|
settings
|
gerekli Bu yapılandırma geçişi tarafından ayarlanması gereken yapılandırma ayarları hakkında bilgi içeren bir sözlük. Anahtarlar, derleme ayarı etiketleridir ve değerler, geçiş sonrası yeni değerlerdir. Diğer ayarların hiçbiri değişmez. Bir analiz testinin geçmesi için ayarlanması gereken belirli yapılandırma ayarlarını tanımlamak için bunu kullanın. |
ilişkili program
Aspect aspect(implementation, attr_aspects=[], attrs={}, required_providers=[], required_aspect_providers=[], provides=[], requires=[], fragments=[], host_fragments=[], toolchains=[], incompatible_use_toolchain_transition=False, doc=None, *, apply_to_generating_rules=False, exec_compatible_with=[], exec_groups=None, subrules=[])Yeni bir özellik oluşturur. Bu işlevin sonucu global bir değerde depolanmalıdır. Daha fazla ayrıntı için lütfen Özellikler'e giriş bölümünü inceleyin.
Parametreler
Parametre | Açıklama |
---|---|
implementation
|
gerekli Tam olarak iki parametreyle bu özelliği uygulayan bir Starlark işlevi: Target (özelliğin uygulandığı hedef) ve ctx (hedefin oluşturulduğu kural bağlamı). Hedefin özelliklerine ctx.rule alanı üzerinden ulaşabilirsiniz. Bu işlev, analiz aşamasında bir unsurun hedefe her bir uygulaması için değerlendirilir.
|
attr_aspects
|
dize'nin sequence; varsayılan değeri [] Özellik adlarının listesi. En boy, bu adlara sahip bir hedefin özelliklerinde belirtilen bağımlılıklar boyunca yayılır. Buradaki genel değerler arasında deps ve exports yer alır. Liste, bir hedefin tüm bağımlılıkları boyunca yayılacak tek bir "*" dizesi de içerebilir.
|
attrs
|
dict;
varsayılan {} 'dirÖzelliğin tüm özelliklerini belirten bir sözlük. Bir özellik adından "attr.label" veya "attr.string" gibi bir özellik nesnesine eşlenir (attr modülüne bakın). En boy özellikleri, ctx parametresinin alanları olarak uygulama işlevi için kullanılabilir.
Açık özellikler |
required_providers
|
varsayılan değer [] şeklindedir.Bu özellik, ilgili öğenin yayılımını yalnızca kuralları gerekli sağlayıcıları tanıtan hedeflerle sınırlandırmasına olanak tanır. Değer, tek tek sağlayıcıları veya sağlayıcı listelerini içeren bir liste olmalıdır, ancak her ikisini birden içeremez. Örneğin, [[FooInfo], [BarInfo], [BazInfo, QuxInfo]] geçerli bir değerdir ancak [FooInfo, BarInfo, [BazInfo, QuxInfo]] geçerli değildir.İç içe aktarılmamış sağlayıcılar listesi otomatik olarak bir sağlayıcı listesi içeren bir listeye dönüştürülecek. Yani Bazı kural (ör. |
required_aspect_providers
|
varsayılan değer: [] Bu özellik, bu özelliğin diğer yönleri incelemesine olanak tanır. Değer, tek tek sağlayıcıları veya sağlayıcı listelerini içeren bir liste olmalıdır, ancak her ikisini birden içeremez. Örneğin, [[FooInfo], [BarInfo], [BazInfo, QuxInfo]] geçerli bir değerdir ancak [FooInfo, BarInfo, [BazInfo, QuxInfo]] geçerli değildir.İç içe aktarılmamış sağlayıcılar listesi otomatik olarak bir sağlayıcı listesi içeren bir listeye dönüştürülecek. Yani Başka bir özelliği (ör. |
provides
|
varsayılan değer: [] Uygulama işlevinin döndürmesi gereken sağlayıcıların listesi. Uygulama işlevi, burada listelenen sağlayıcı türlerinden herhangi birini döndürdüğü değerden çıkarırsa bir hata oluşur. Ancak, uygulama işlevi burada listelenmeyen ek sağlayıcılar döndürebilir. Listenin her öğesi, |
requires
|
En boyların sırası;
varsayılan olarak [] Bu taraftan önce dağıtılması gereken özelliklerin listesi. |
fragments
|
dize sequence; varsayılan olarak [] şeklindedirÖzelliğin hedef yapılandırmada gerektirdiği yapılandırma parçası adlarının listesi. |
host_fragments
|
dize'nin sequence; varsayılan olarak [] şeklindedirÖzelliğin ana makine yapılandırmasında gerektirdiği yapılandırma parçası adlarının listesi. |
toolchains
|
sequence; varsayılan değer: [] Ayarlanırsa bu kuralın gerektirdiği araç zinciri grubu. Liste, herhangi bir kombinasyonda String, Label veya StarlarkToolchainTypeApi nesnelerini içerebilir. Araç zincirleri, mevcut platform kontrol edilerek bulunur ve kural uygulamasına ctx.toolchain üzerinden sağlanır.
|
incompatible_use_toolchain_transition
|
varsayılan: False Kullanımdan kaldırıldı, artık kullanılmıyor ve kaldırılması gerekiyor. |
doc
|
string; veya None ;
varsayılan olarak None şeklindedirBelge oluşturma araçları tarafından çıkarılabilecek özelliğin açıklamasıdır. |
apply_to_generating_rules
|
varsayılan değer False şeklindedir.True (doğru) değerine ayarlanırsa en boy, çıkış dosyasına uygulandığında çıkış dosyasının oluşturma kuralına uygulanır. Örneğin, bir özelliğin "True" özelliği üzerinden geçişli olarak yayıldığını ve "False" (Yanlış) özelliği üzerinden yayıldığını ve "alpha" hedefine yayıldığını varsayalım. "alpha"nın "deps = [":beta_output"]" değerine sahip olduğunu ve burada "beta_output"un, bir hedef "beta" hedef çıkışı olduğunu varsayalım. "beta"nın "alfa" en boylarından biri için hedef "charlie" olduğunu varsayın ve "alfa" en boylarından biri olarak "charlie"yi hedef alır ve ardından "alfa" en boy oranına uygulayacağını varsayalım. Varsayılan olarak yanlış değerini alır. |
exec_compatible_with
|
dize sequence; varsayılan olarak [] şeklindedirYürütme platformunda bu yönün tüm örnekleri için geçerli olan kısıtlamaların listesidir. |
exec_groups
|
dict veya None ;
varsayılan olarak None Yürütme grubu adının (dize) dikte değeri exec_group s'dir. Ayarlanırsa özelliklerin tek bir örnek içinde birden fazla yürütme platformunda işlem çalıştırmasına izin verir. Daha fazla bilgi için yürütme grupları dokümanlarına göz atın.
|
subrules
|
Alt kuralların dizisi;
varsayılan değeri [] Deneysel: Bu özellik tarafından kullanılan alt kuralların listesi. |
configuration_field
LateBoundDefault configuration_field(fragment, name)label türündeki bir özellik için geç sınır varsayılan bir değere başvuruda bulunur. Değer, değer belirlenmeden önce yapılandırmanın oluşturulmasını gerektiriyorsa "gecikme sınırı"dır. Bunu değer olarak kullanan tüm özellikler gizli olmalıdır.
Örnek kullanım:
Kural özelliği tanımlanıyor:
'_foo': attr.label(default=configuration_field(fragment='java', name='toolchain'))
Kural uygulamasında erişim:
def _rule_impl(ctx): foo_info = ctx.attr._foo ...
Parametreler
Parametre | Açıklama |
---|---|
fragment
|
gerekli Geç sınır değeri içeren bir yapılandırma parçasının adı. |
name
|
gerekli Yapılandırma parçasından alınacak değerin adı. |
bitirmek
depset depset(direct=None, order="default", *, transitive=None)Bir dpset oluşturur.
direct
parametresi, depset öğesinin doğrudan öğelerinin listesidir. transitive
parametresi ise öğeleri oluşturulan desteğin dolaylı öğeleri haline gelen alt kaynakların listesidir. Depset bir listeye dönüştürüldüğünde öğelerin döndürülme sırası order
parametresi ile belirtilir. Daha fazla bilgi için Derinlere genel bakış konusuna bakın.
Depset'in tüm öğeleri (doğrudan ve dolaylı), type(x)
ifadesiyle elde edilen aynı türde olmalıdır.
Yineleme sırasında yinelemeleri ortadan kaldırmak için karma tabanlı bir küme kullanıldığından, depset kümesinin tüm öğelerine karma oluşturma işlemi uygulanabilir. Ancak bu değişmez değer, şu anda tüm oluşturucularda tutarlı bir şekilde kontrol edilmemektedir. Tutarlı kontrol sağlamak için --incompatible_always_check_depset_elements işaretini kullanın. Bu, gelecekteki sürümlerde varsayılan davranış olacaktır. Sorun 10313'e bakın.
Ayrıca, öğeler şu anda sabit olmalıdır, ancak bu kısıtlama gelecekte gevşetilecektir.
Oluşturulan dep kümesinin sırası, transitive
alt kümelerinin sıralamasıyla uyumlu olmalıdır. "default"
siparişi diğer tüm siparişlerle uyumludur, diğer tüm siparişler yalnızca kendileriyle uyumludur.
Parametreler
Parametre | Açıklama |
---|---|
direct
|
sequence veya None ;
varsayılan olarak None değerine sahiptir.Bir kullanımdan kaldırma işleminin doğrudan öğelerinin listesi. |
order
|
varsayılan değer: "default" Yeni erişim grubunun geçiş stratejisi. Olası değerler için buraya bakın. |
transitive
|
depset'lerin dizisi veya None ; varsayılan olarak None değerine sahiptirÖğeleri kullanımdan kaldırma işleminin dolaylı öğeleri olacak alt kümelerin listesi. |
exec_group
exec_group exec_group(toolchains=[], exec_compatible_with=[])Kural uygulama sırasında belirli bir yürütme platformu için işlemler oluşturmak amacıyla kullanılabilecek bir yürütme grubu oluşturur.
Parametreler
Parametre | Açıklama |
---|---|
toolchains
|
sequence; varsayılan değer: [] Bu yürütme grubunun gerektirdiği araç zinciri grubu. Liste, herhangi bir kombinasyonda String, Label veya StarlarkToolchainTypeApi nesnelerini içerebilir. |
exec_compatible_with
|
dize sequence;
varsayılan olarak [] Yürütme platformundaki kısıtlamalar listesidir. |
module_extension
unknown module_extension(implementation, *, tag_classes={}, doc=None, environ=[], os_dependent=False, arch_dependent=False)Yeni bir modül uzantısı oluşturur. MODULE.bazel dosyasında dışa aktarılıp kullanılabilmesi için global bir değerde depolayın.
Parametreler
Parametre | Açıklama |
---|---|
implementation
|
gerekli Bu modül uzantısını uygulayan işlev. Tek bir parametre ( module_ctx ) alınmalıdır. İşlev, kullanılabilir depo kümesini belirlemek için derlemenin başında bir kez çağrılır.
|
tag_classes
|
varsayılan değer: {} Uzantı tarafından kullanılan tüm etiket sınıflarını tanımlayan bir sözlük. Etiket sınıfı adından bir tag_class nesnesine eşlenir.
|
doc
|
string; veya None ;
varsayılan değer: None Doküman oluşturma araçları tarafından çıkarılabilen modül uzantısının bir açıklamasıdır. |
environ
|
sequence of string; varsayılan değer: [] Bu modül uzantısının bağımlı olduğu ortam değişkeninin listesini sağlar. Bu listedeki bir ortam değişkeni değişirse uzantı yeniden değerlendirilir. |
os_dependent
|
varsayılan: False Bu uzantının işletim sistemine bağlı olup olmadığını belirtir |
arch_dependent
|
varsayılan: False Bu uzantının mimariye bağlı olup olmadığını belirtir |
sağlayıcı
unknown provider(doc=None, *, fields=None, init=None)Sağlayıcı simgesi tanımlar. Sağlayıcı, çağrı yapılarak örneklenebilir veya bir hedeften söz konusu sağlayıcının bir örneğini almak için doğrudan bir anahtar olarak kullanılabilir. Örnek:
MyInfo = provider() ... def _my_library_impl(ctx): ... my_info = MyInfo(x = 2, y = 3) # my_info.x == 2 # my_info.y == 3 ...
Sağlayıcıların nasıl kullanılacağıyla ilgili kapsamlı bir kılavuz için Kurallar (Sağlayıcılar) bölümüne bakın.
init
belirtilmezse Provider
çağrılabilir bir değer döndürür.
init
belirtilirse 2 öğeden oluşan bir çift döndürür: Provider
çağrılabilir değeri ve ham oluşturucu çağrılabilir değeri. Ayrıntılar için Kurallar (Özel sağlayıcıların özelleştirmesi) bölümüne ve aşağıdaki init
parametresine ilişkin açıklamalara bakın.
Parametreler
Parametre | Açıklama |
---|---|
doc
|
string; veya None ;
varsayılan değer: None Doküman oluşturma araçları tarafından çıkarılabilen, sağlayıcının açıklaması. |
fields
|
sequence of strings veya dict; None ; varsayılan olarak None değerine ayarlanırBelirtilirse izin verilen alanlar grubunu kısıtlar. Olası değerler:
|
init
|
çağrılabilir; veya None ;
varsayılan None değeridirÖrnekleme sırasında sağlayıcının alan değerlerini önceden işlemek ve doğrulamak için kullanılan isteğe bağlı bir geri çağırma. init belirtilirse provider() , 2 öğeden oluşan bir unsur döndürür: normal sağlayıcı simgesi ve ham kurucu.Kesin bir açıklama aşağıda verilmiştir. Pratik bir tartışma ve kullanım alanları için Kurallar (Sağlayıcıların özel başlatma) bölümüne bakın.
init geri çağırmasının verilmediği durumda, P simgesine yapılan bir çağrı, c varsayılan oluşturucu işlevine bir çağrı olarak hareket eder; diğer bir deyişle, P(*args, **kwargs) c(*args, **kwargs) değerini döndürür. Örneğin,MyInfo = provider() m = MyInfo(foo = 1), m öğesini m.foo == 1 içeren bir MyInfo örneği olacak şekilde doğrudan yapar.Ancak
Not: Yukarıdaki adımlarda, Bu şekilde
MyInfo, _new_myinfo = provider(init = ...) |
repository_rule
callable repository_rule(implementation, *, attrs=None, local=False, environ=[], configure=False, remotable=False, doc=None)Yeni bir depo kuralı oluşturur. WORKSPACE dosyasından yüklenip çağrılabilmesi için genel bir değerde depolayın.
Parametreler
Parametre | Açıklama |
---|---|
implementation
|
gerekli bu kuralı uygulayan işlev. Tek bir parametre olmalıdır, repository_ctx . İşlev, kuralın her bir örneği için yükleme aşamasında çağrılır.
|
attrs
|
dict veya None ;
varsayılan olarak, kuralın tüm özelliklerini tanımlamak için kullanılan None sözlüğü. Bir özellik adından özellik nesnesine eşlenir (bkz. attr modülü). _ ile başlayan özellikler gizlidir ve bir dosyaya dolaylı bağımlılık eklemek için kullanılabilir (depo kuralı, oluşturulan bir yapıya bağlı olamaz). name özelliği dolaylı yoldan eklenmiştir ve belirtilmemelidir.
|
local
|
False varsayılandırBu kuralın yerel sistemden her şeyi getirdiğini ve her getirmede yeniden değerlendirilmesi gerektiğini belirtin. |
environ
|
sequence of strings; varsayılan değer: [] Bu depo kuralının bağlı olduğu ortam değişkeninin listesini sağlar. Bu listedeki bir ortam değişkeni değişirse depo yeniden getirilir. |
configure
|
False varsayılandırDeponun yapılandırma amacıyla sistemi incelediğini belirtin |
remotable
|
varsayılan ayar False Deneysel'dir. Bu parametre deneme amaçlıdır ve herhangi bir zamanda değiştirilebilir. Lütfen bu özelliğe güvenmeyin. ---experimental_repo_remote_exec ayarıyla Uzaktan yürütmeyle uyumlu |
doc
|
string; veya None ;
varsayılan değer: None Belge oluşturma araçları tarafından çıkarılabilen depo kuralının açıklaması. |
kural
callable rule(implementation, *, test=unbound, attrs={}, outputs=None, executable=unbound, output_to_genfiles=False, fragments=[], host_fragments=[], _skylark_testable=False, toolchains=[], incompatible_use_toolchain_transition=False, doc=None, provides=[], exec_compatible_with=[], analysis_test=False, build_setting=None, cfg=None, exec_groups=None, initializer=None, parent=None, extendable=None, subrules=[])Hedef oluşturmak için BUILD dosyasından veya makrodan çağrılabilecek yeni bir kural oluşturur.
Kurallar, .bzl dosyası içindeki genel değişkenlere atanmalıdır. Genel değişkenin adı, kuralın adıdır.
Test kurallarının adı _test
ile bitmelidir. Diğer kurallarda bu son ek bulunmamalıdır. (Bu kısıtlama yalnızca kurallar için geçerlidir, hedefleri için geçerli değildir.)
Parametreler
Parametre | Açıklama |
---|---|
implementation
|
gerekli Bu kuralı uygulayan Starlark işlevi, tam olarak bir parametreye sahip olmalıdır: ctx. İşlev, kuralın her bir örneği için analiz aşamasında çağrılır. Kullanıcı tarafından sağlanan özelliklere erişebilir. Belirtilen tüm çıkışları oluşturacak işlemler oluşturmalıdır. |
test
|
bool;
varsayılan değer: unbound Bu kuralın bir test kuralı olup olmadığı, yani blaze test komutunun konusu olup olmadığı. Tüm test kuralları otomatik olarak yürütülebilir olarak kabul edilir; bir test kuralı için executable = True değerinin açıkça ayarlanması gerekmez (ve önerilmez). Değer varsayılan olarak False değerine ayarlanır. Daha fazla bilgi için Kurallar sayfasına göz atın.
|
attrs
|
dict; kuralın tüm özelliklerini tanımlamak için varsayılan olarak {} sözlüğü kullanılır. Bir özellik adından özellik nesnesine eşlenir (bkz. attr modülü). _ ile başlayan özellikler gizlidir ve bir etikete dolaylı bağımlılık eklemek için kullanılabilir. name özelliği dolaylı yoldan eklenmiştir ve belirtilmemelidir. visibility , deprecation , tags , testonly ve features özellikleri dolaylı yoldan eklenir ve geçersiz kılınamaz. Çoğu kural yalnızca birkaç özelliğe ihtiyaç duyar. Kural işlevi, bellek kullanımını sınırlamak için attr'lerin boyutuna bir sınır uygular.
|
outputs
|
dict veya None ; veya function;
varsayılan None Desteği sonlandırılmış'tır. Bu parametre artık kullanılmamaktadır ve yakında kaldırılacaktır. Lütfen bu özelliğe güvenmeyin. ---incompatible_no_rule_outputs_param ile devre dışı bırakılır. Kodunuzun, hemen kaldırılmak üzere uygun olduğunu doğrulamak için bu işareti kullanın. Bu parametre kullanımdan kaldırıldı. Bunun yerine OutputGroupInfo veya attr.output kullanacak şekilde kuralları taşıyın. Önceden tanımlanmış çıkışları tanımlayan bir şema. Bu bağımsız değişkenin değeri, bir sözlük veya sözlük oluşturan bir geri çağırma işlevidir. Geri çağırma, hesaplanan bağımlılık özelliklerine benzer şekilde çalışır: İşlevin parametre adları, kuralın özellikleriyle eşleştirilir. Örneğin, Sözlükte her giriş, anahtarın bir tanımlayıcı, değerin ise çıkışın etiketini belirleyen bir dize şablonu olduğu önceden tanımlanmış bir çıkış oluşturur. Kuralın uygulama işlevinde tanımlayıcı,
Pratikte en yaygın değiştirme yer tutucusu |
executable
|
bool;
varsayılan değer: unbound Bu kuralın yürütülebilir olarak kabul edilip edilmediği, yani bir blaze run komutunun konusu olup olmadığı. Varsayılan olarak False değerine ayarlanır. Daha fazla bilgi için Kurallar sayfasına göz atın.
|
output_to_genfiles
|
varsayılan değer False şeklindedir.Doğru değerine ayarlanırsa dosyalar bin dizini yerine genfiles dizininde oluşturulur. Mevcut kurallarla uyumluluk açısından gerekli olmadığı sürece (ör. C++ için üstbilgi dosyaları oluştururken) bu işareti ayarlamayın. |
fragments
|
dize sequence; varsayılan olarak [] şeklindedirKuralın hedef yapılandırmada gerektirdiği yapılandırma parçası adlarının listesi. |
host_fragments
|
dize sequence; varsayılan olarak [] şeklindedirKuralın ana makine yapılandırmasında gerektirdiği yapılandırma parçası adlarının listesi. |
_skylark_testable
|
varsayılan değer şudur: False (Deneysel) Doğru ise bu kural, Actions sağlayıcısı aracılığıyla kendisine dayalı kurallara göre yaptığı işlemleri inceleme için gösterir. Sağlayıcı, ctx.created_actions() işlevini çağırarak kuralın kendisi için de kullanılabilir.Bu, yalnızca Starlark kurallarının analiz zamanı davranışını test etmek için kullanılmalıdır. Bu işaret gelecekte kaldırılabilir. |
toolchains
|
sequence; varsayılan değer: [] Ayarlanırsa bu kuralın gerektirdiği araç zinciri grubu. Liste, herhangi bir kombinasyonda String, Label veya StarlarkToolchainTypeApi nesnelerini içerebilir. Araç zincirleri, mevcut platform kontrol edilerek bulunur ve kural uygulamasına ctx.toolchain üzerinden sağlanır.
|
incompatible_use_toolchain_transition
|
varsayılan: False Kullanımdan kaldırıldı, artık kullanılmıyor ve kaldırılması gerekiyor. |
doc
|
string; veya None ;
varsayılan olarak None şeklindedirDoküman oluşturma araçları tarafından çıkarılabilen bir kuralın açıklamasıdır. |
provides
|
varsayılan değer: [] Uygulama işlevinin döndürmesi gereken sağlayıcıların listesi. Uygulama işlevi, burada listelenen sağlayıcı türlerinden herhangi birini döndürdüğü değerden çıkarırsa bir hata oluşur. Ancak, uygulama işlevi burada listelenmeyen ek sağlayıcılar döndürebilir. Listenin her öğesi, |
exec_compatible_with
|
dize sekanası; varsayılan değer [] Yürütme platformunda bu kural türünün tüm hedefleri için geçerli olan kısıtlamalar listesidir. |
analysis_test
|
varsayılandır: False Doğru ise bu kural analiz testi olarak değerlendirilir. Not: Analysis test kuralları, temel Starlark kitaplıklarında sağlanan altyapı kullanılarak tanımlanır. Yol gösterici bilgiler için Test konusuna bakın. Bir kural analiz testi kuralı olarak tanımlanırsa kuralın özelliklerinde analysis_test_transition kullanılarak tanımlanan yapılandırma geçişlerinin kullanılmasına izin verilir, ancak bazı kısıtlamalar uygulanır:
|
build_setting
|
BuildSetting veya None ;
varsayılan olarak None değerine sahiptir.Ayarlanırsa bu kuralın ne tür bir build setting olduğunu tanımlar. config modülüne bakın. Ayarlanırsa bu kurala, buraya iletilen değere karşılık gelen bir türle birlikte "build_setting_default" adlı zorunlu bir özellik otomatik olarak eklenir.
|
cfg
|
varsayılan değer: None Bu ayarlanırsa, yapılandırma geçişinin işaret ettiği noktalar, kural analizden önce kendi yapılandırmasına uygulanır. |
exec_groups
|
dict veya None ;
varsayılan olarak None Yürütme grubu adının (dize) dikte değeri exec_group s'dir. Ayarlanırsa kuralların tek bir hedef içinde birden çok yürütme platformunda işlem çalıştırmasına izin verir. Daha fazla bilgi için yürütme grupları dokümanlarına göz atın.
|
initializer
|
varsayılan değer: None Deneysel: Kuralın özelliklerini başlatan Stalark işlevi. İşlev, kuralın her örneği için yükleme zamanında çağrılır. Kural tarafından tanımlanan herkese açık özelliklerin değerleriyle çağrılır (örneğin, Özellik adlarından istenen değerlere bir sözlük döndürmelidir. Döndürülmeyen özellikler etkilenmez. Başlatıcılar, özellik tanımında belirtilen varsayılan değerlerden önce değerlendirilir. Sonuç olarak, başlatıcının imzasındaki bir parametre varsayılan bir değer içeriyorsa özellik tanımındaki varsayılan değerin üzerine yazar ( Benzer şekilde, başlatıcının imzasındaki bir parametrenin varsayılan değeri yoksa parametre zorunlu hale gelir. Bu gibi durumlarda bir özellik tanımına varsayılan/zorunlu ayarları atlamanız önerilir. İşlenmeyen özellikler için Genişletilmiş kurallar söz konusu olduğunda tüm başlatıcılar alt öğeden üst öğelere ilerleme olarak adlandırılır. Her başlatıcıya yalnızca bildiği herkese açık özellikler iletilir. |
parent
|
varsayılan değer: None Deneysel: Genişletilmiş Stalark kuralı. Ayarlandığında, herkese açık özellikler ile reklamı yapılan sağlayıcılar birleştirilir. Kural, üst öğedeki executable ve test ile eşleşiyor. fragments , toolchains , exec_compatible_with ve exec_groups değerleri birleştirilir. Eski veya kullanımdan kaldırılan parametreler ayarlanamaz.
|
extendable
|
bool; veya Label; veya string ya da None ;
varsayılan olarak None şeklindedirDeneysel: Bu kuralın kapsamını hangi kuralların genişletebileceğini tanımlayan bir izin verilenler listesi etiketi. Ayrıca, genişletmeye her zaman izin vermek/vermemek için Doğru/Yanlış değerine de ayarlanabilir. Bazel varsayılan olarak uzantılara her zaman izin verir. |
subrules
|
Alt kural dizisi; varsayılan değer: [] Deneysel: Bu kural tarafından kullanılan alt kuralların listesi. |
seçer
unknown select(x, no_match_error='')
select()
, kural özelliğini yapılandırılabilir hale getiren yardımcı işlevdir. Ayrıntılı bilgi için ansiklopedi oluşturma bölümünü inceleyin.
Parametreler
Parametre | Açıklama |
---|---|
x
|
gerekli Yapılandırma koşullarını değerlerle eşleştiren bir komut. Her anahtar, config_setting veya restricted_value örneğini tanımlayan bir Label ya da etiket dizesidir. Dize yerine Etiketin ne zaman kullanılacağını öğrenmek için makrolarla ilgili dokümanlara bakın. |
no_match_error
|
varsayılan değer: '' Hiçbir koşul eşleşmediğinde raporlanacak isteğe bağlı özel hata. |
alt kural
Subrule subrule(implementation, attrs={}, toolchains=[], fragments=[], subrules=[])Alt kuralın yeni bir örneğini oluşturur. Bu işlevin sonucu, kullanılabilmesi için bir genel değişkende depolanmalıdır.
Parametreler
Parametre | Açıklama |
---|---|
implementation
|
function;
gerekli Bu alt kuralı uygulayan Starlark işlevi |
attrs
|
dict;
varsayılan {} 'dirAlt kuralın tüm (gizli) özelliklerini tanımlayan bir sözlük. Alt kuralların yalnızca etiket türünde (ör. etiket veya etiket listesi) gizli özellikleri olabilir. Bu etiketlere karşılık gelen çözümlenmiş değerler Bazel tarafından otomatik olarak alt kuralın uygulama işlevine adlandırılmış bağımsız değişkenler olarak aktarılır (dolayısıyla uygulama işlevinin özellik adlarıyla eşleşen adlandırılmış parametreleri kabul etmek için kullanılması gerekir). Bu değerlerin türleri şu şekildedir:
|
toolchains
|
sequence; varsayılan değer: [] Ayarlanırsa bu alt kural için gereken araç zinciri grubu. Liste, herhangi bir kombinasyonda String, Label veya StarlarkToolchainTypeApi nesnelerini içerebilir. Araç zincirleri, mevcut platform kontrol edilerek bulunur ve alt kural uygulamasına ctx.toolchains üzerinden sağlanır.
|
fragments
|
dize'nin sequence; varsayılan olarak [] şeklindedirAlt kuralın hedef yapılandırmada gerektirdiği yapılandırma parçası adlarının listesi. |
subrules
|
Alt kuralların dizisi;
varsayılan olarak [] Bu alt kuralın gerektirdiği diğer alt kuralların listesi. |
tag_class
tag_class tag_class(attrs={}, *, doc=None)Modül uzantısı tarafından kullanılabilen veri nesneleri olan etiket sınıfı için özellik şeması tanımlayan yeni bir tag_class nesnesi oluşturur.
Parametreler
Parametre | Açıklama |
---|---|
attrs
|
varsayılan değer: {} Bu etiket sınıfının tüm özelliklerini tanımlamak için kullanılan bir sözlük. Bir özellik adından özellik nesnesine eşlenir (bkz. attr modülü). |
doc
|
string; veya None ;
varsayılan değer: None Doküman oluşturma araçları tarafından çıkarılabilen etiket sınıfının bir açıklamasıdır. |
görünürlük
None
visibility(value)
Başlatılmakta olan .bzl modülünün yükleme görünürlüğünü ayarlar.
Bir modülün yük görünürlüğü, diğer BUILD ve .bzl dosyalarının onu yükleyip yükleyemeyeceğini belirler. (Bu, temel .bzl kaynak dosyasının hedef görünürlüğünden farklıdır. Bu kaynak, dosyanın diğer hedeflerin bağımlılığı olarak görünüp görünemeyeceğini belirler.) Yük görünürlüğü, paket düzeyinde çalışır: Bir modül yüklemek için, yüklemeyi yapan dosyanın, modülün görünürlüğüne izin verilen bir pakette bulunması gerekir. Bir modül, görünürlüğü ne olursa olsun her zaman kendi paketi içinde yüklenebilir.
visibility()
, her .bzl dosyası için yalnızca bir kez ve yalnızca üst düzeyde çağrılabilir, bir işlevin içinde çağırılamaz. Tercih edilen stil, bu çağrının load()
ifadelerinin ve bağımsız değişkeni belirlemek için gereken kısa mantığın hemen altına yerleştirilmesidir.
--check_bzl_visibility
işareti false (yanlış) değerine ayarlanırsa yük görünürlüğü ihlalleri uyarı verir ancak derlemede başarısız olmaz.
Parametreler
Parametre | Açıklama |
---|---|
value
|
gerekli Paket spesifikasyonu dizeleri listesi veya tek bir paket spesifikasyonu dizesi. Paket özellikleri,
"@" söz dizimine izin verilmez; tüm spesifikasyonlar geçerli modülün deposuna göre yorumlanır.
|