. Tüm .bzl dosyalarında kullanılabilen global yöntemler.
Ü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)
Bir 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
olan kuralların özelliklerine uygulanabilir. Bu tür kuralların özellikleri kısıtlıdır (örneğin, bağımlılık ağacının boyutu sınırlıdır). Bu nedenle, bu işlev kullanılarak oluşturulan geçişler, transition()
kullanılarak oluşturulan geçişlere kıyasla potansiyel kapsam açısından sınırlıdır.
Bu işlev, temel olarak Analysis Test Framework temel kitaplığını kolaylaştırmak için tasarlanmıştır. En iyi uygulamalar için bu programın dokümanlarına (veya uygulanmasına) bakın.
Parametreler
Parametre | Açıklama |
---|---|
settings
|
zorunlu 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 de geçiş sonrası yeni değerleridir. Diğer ayarlar değişmez. Bir analiz testinin başarılı olması için ayarlanması gereken belirli yapılandırma ayarlarını bildirmek 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 unsur yaratır. Bu işlevin sonucu, genel bir değerde depolanmalıdır. Daha fazla bilgi için lütfen Yönler'e giriş bölümünü inceleyin.
Parametreler
Parametre | Açıklama |
---|---|
implementation
|
zorunlu Tam olarak iki parametre ile bu özelliği uygulayan bir Starlark işlevi: Target (enlemin uygulandığı hedef) ve ctx (hedefin oluşturulduğu kural bağlamı). Hedefin özelliklerine ctx.rule alanından erişilebilir. Bu işlev, bir özelliğin bir hedefe her uygulanması için analiz aşamasında değerlendirilir.
|
attr_aspects
|
sequence of dize;
varsayılan değer [] Özellik adlarının listesi. Görünüm, bu adlara sahip bir hedefin özelliklerinde belirtilen bağımlılıklar boyunca yayılır. Buradaki yaygın değerler arasında deps ve exports bulunur. Liste, bir hedefin tüm bağımlılıkları boyunca yayılacak tek bir "*" dizesi de içerebilir.
|
attrs
|
dict;
varsayılan değer: {} Özelliğin tüm özelliklerini açıklayan bir sözlük. Özellik adından "attr.label" veya "attr.string" gibi bir özellik nesnesiyle eşlenir (attr modülüne bakın). En boy özellikleri, uygulama işlevinde ctx parametresinin alanları olarak kullanılabilir.
Açık özelliklerin türü |
required_providers
|
varsayılan değer [] Bu özellik, özelliğin yayılmasını, yalnızca kuralları zorunlu sağlayıcıların reklamını yapan hedeflerle sınırlamasına olanak tanır. Değer, ya tek tek sağlayıcılar ya da sağlayıcı listeleri içeren bir liste olmalıdır (ikisini birden değil). Örneğin, [[FooInfo], [BarInfo], [BazInfo, QuxInfo]] geçerli bir değerdir ancak [FooInfo, BarInfo, [BazInfo, QuxInfo]] geçerli değildir.İç içe yerleştirilmemiş sağlayıcılar listesi, otomatik olarak bir sağlayıcı listesi içeren bir listeye dönüştürülecektir. Yani Bazı kural (ör. |
required_aspect_providers
|
varsayılan değer [] Bu özellik, ilgili unsurun diğer unsurları incelemesine olanak tanır. Değer, ya tek tek sağlayıcılar ya da sağlayıcı listeleri içeren bir liste olmalıdır (ikisini birden değil). Örneğin, [[FooInfo], [BarInfo], [BazInfo, QuxInfo]] geçerli bir değerdir ancak [FooInfo, BarInfo, [BazInfo, QuxInfo]] geçerli değildir.İç içe yerleştirilmemiş sağlayıcılar listesi, otomatik olarak bir sağlayıcı listesi içeren bir listeye dönüştürülecektir. Yani Bu unsura başka bir özelliğin (ö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 bu bir hatadır. Ancak uygulama işlevi, burada listelenmeyen ek sağlayıcıları döndürebilir. Listenin her öğesi, |
requires
|
Aspect'lerin sequence (dizi)
varsayılan değer [] Bu özellikten önce uygulanması gereken özelliklerin listesi. |
fragments
|
sequence of dize;
varsayılan değer [] Özelliğin hedef yapılandırmada gerektirdiği yapılandırma parçalarının adlarının listesi. |
host_fragments
|
sequence of dize;
varsayılan değer [] Özelliğin ana makine yapılandırmasında gerektirdiği yapılandırma parçalarının adlarının listesi. |
toolchains
|
sequence;
varsayılan değer: [] Ayarlanırsa bu kuralın gerektirdiği araç zincirleri grubu. Liste, herhangi bir kombinasyonda String, Label veya StarlarkToolchainTypeApi nesnelerini içerebilir. Araç zincirleri, mevcut platform kontrol edilerek bulunur ve ctx.toolchain aracılığıyla kuralın uygulanmasına sağlanır.
|
incompatible_use_toolchain_transition
|
varsayılan değer False Kullanımdan kaldırıldı ve artık kullanılmıyor ve kaldırılması gerekiyor. |
doc
|
string; veya None ;
varsayılan değer: None Belge oluşturma araçları ile çıkarılabilecek unsurun açıklaması. |
apply_to_generating_rules
|
varsayılan değer False Doğru değerine ayarlanırsa öğe, çıkış dosyasına uygulandığında çıkış dosyasının oluşturma kuralına uygulanır. Örneğin, bir unsurun "deps" özelliği aracılığıyla geçişli olarak yayıldığını ve "alfa" hedefine uygulandığını varsayalım. "alfa"nın "deps = [':beta_çıkış"]" değerine sahip olduğunu ve burada "beta_çıkış" değerinin hedef "beta"nın bildirilen çıkışı olduğunu varsayalım. "Beta"nın "dep"lerinden biri olarak "charlie" hedefini içerdiğini varsayalım. En boy için "apply_to_generating_rules=True" değerini döndürürse en boy oranı "alfa", "beta" ve "charlie" üzerinden yayılır. Yanlış değerine ayarlanırsa en boy oranı yalnızca "alfa"ya aktarılır. Varsayılan olarak False (yanlış) değerini alır. |
exec_compatible_with
|
sequence of dize;
varsayılan değer [] Yürütme platformunda bu özelliğin tüm örnekleri için geçerli olan kısıtlamaların listesi. |
exec_groups
|
dict; veya None ;
varsayılan değer: None Yürütme grubu adının (dize) exec_group sn. sayısına. Ayarlanırsa özelliklerin tek bir örnek içinde birden fazla yürütme platformunda işlem çalıştırmasına olanak tanır. Daha fazla bilgi için yürütme grupları belgelerine göz atın.
|
subrules
|
Alt Kural'ın sequence'ı;
varsayılan değer [] Deneysel: Bu özellik tarafından kullanılan alt kuralların listesi. |
configuration_field
LateBoundDefault configuration_field(fragment, name)Etiket türündeki bir özellik için geç sınırlanan bir varsayılan değere başvuruda bulunuyor. Bir değer "geç sınırlanmış" yapılandırmanın gerekli olup olmadığını belirtmenizi öneririz. Bunu değer olarak kullanan tüm özellikler gizli olmalıdır.
Örnek kullanım:
Kural özelliği tanımlama:
'_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
|
zorunlu Geç sınır değeri içeren bir yapılandırma parçasının adı. |
name
|
zorunlu Yapılandırma parçasından alınacak değerin adı. |
çökmüş
depset depset(direct=None, order="default", *, transitive=None)depset oluşturur.
direct
parametresi, depset'in doğrudan öğelerinin listesidir. transitive
parametresi ise öğeleri, oluşturulan görüntünün dolaylı öğeleri haline gelen depset'lerin listesidir. Depset bir listeye dönüştürüldüğünde öğelerin döndürülme sırası order
parametresiyle belirtilir. Daha fazla bilgi için Depsise genel bakış başlıklı makaleyi inceleyin.
Bir kümenin tüm öğeleri (doğrudan ve dolaylı), type(x)
ifadesiyle elde edilenle aynı türde olmalıdır.
Yineleme sırasında yinelemeleri ortadan kaldırmak için karma tabanlı bir küme kullanıldığından, kümedeki tüm öğeler karma hale getirilebilir olmalıdır. Ancak bu değişken, şu anda tüm kurucularda tutarlı bir şekilde kontrol edilmemektedir. Tutarlı denetim sağlamak için --incompliance_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 ileride gevşetilecektir.
Oluşturulan depsetin sırası, transitive
depsetlerinin sırasıyla uyumlu olmalıdır. "default"
siparişi diğer siparişlerle uyumludur, diğer tüm siparişler yalnızca kendileri ile uyumludur.
Parametreler
Parametre | Açıklama |
---|---|
direct
|
sequence; veya None ;
varsayılan değer: None Bir kümenin doğrudan öğelerinin listesi. |
order
|
varsayılan değer "default" Yeni konsol için geçiş stratejisi. Olası değerler için buraya bakın. |
transitive
|
sequence of depset'ler; veya None ;
varsayılan değer None Öğeleri, derinliğin dolaylı öğeleri haline gelecek olan depset'lerin listesi. |
exec_group
exec_group exec_group(toolchains=[], exec_compatible_with=[])Kural uygulaması 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ç zincirleri grubu. Liste, herhangi bir kombinasyonda String, Label veya StarlarkToolchainTypeApi nesnelerini içerebilir. |
exec_compatible_with
|
sequence of dize;
varsayılan değer [] Yürütme platformundaki kısıtlamaların listesi. |
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. Dışa aktarılıp MODULE.bazel dosyasında kullanılabilmesi için global bir değerde depolayın.
Parametreler
Parametre | Açıklama |
---|---|
implementation
|
zorunlu Bu modül uzantısını uygulayan işlev. Tek bir parametre olmalıdır: module_ctx . Bu işlev, kullanılabilir depo kümesini belirlemek için bir 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ı bildiren bir sözlük. Etiket sınıfının adından bir tag_class nesnesiyle eşlenir.
|
doc
|
string; veya None ;
varsayılan değer: None Belge oluşturma araçları ile çıkarılabilecek modül uzantısının açıklaması. |
environ
|
sequence of dize;
varsayılan değer [] Bu modül uzantısının bağımlı olduğu ortam değişkeninin listesini sağlar. Listedeki bir ortam değişkeni değişirse uzantı yeniden değerlendirilir. |
os_dependent
|
varsayılan değer False Bu uzantının işletim sistemine bağlı olup olmadığını belirtir |
arch_dependent
|
varsayılan değer 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ı sembolünü tanımlar. Sağlayıcı, çağırılarak örneklenebilir veya doğrudan bir hedeften bu sağlayıcının bir örneğini almak için 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 rehber için Kurallar (Sağlayıcılar) başlıklı makaleyi inceleyin.
init
belirtilmezse Provider
çağrılabilir bir değer döndürür.
init
belirtilirse 2 öğeden oluşan bir öğe döndürür: bir Provider
çağrılabilir değer ve ham oluşturucu çağrılabilir değer. Ayrıntılar için Kurallar (Özel sağlayıcıların özel başlatma) bölümüne ve init
parametresiyle ilgili tartışmaya göz atın.
Parametreler
Parametre | Açıklama |
---|---|
doc
|
string; veya None ;
varsayılan değer: None Belge oluşturma araçları ile çıkarılabilecek sağlayıcı açıklaması. |
fields
|
sequence of dize; veya dikkat; veya None ;
varsayılan ayar None Belirtilirse izin verilen alanlar grubunu kısıtlar. Olası değerler şunlardır:
|
init
|
çağrılabilir; veya None ;
varsayılan değer None Örnekleme sırasında sağlayıcının alan değerlerini ön işleme ve doğrulamak için isteğe bağlı bir geri çağırma. init belirtilirse provider() , 2 öğeden oluşan bir öğe döndürür: normal sağlayıcı sembolü ve ham oluşturucu.Net bir açıklama şöyledir: Kolay anlaşılır bir tartışma ve kullanım alanları için Kurallar (Sağlayıcıların özel başlatılması) başlıklı makaleyi inceleyin.
init geri çağırması verilmediğinde, P simgesine yapılan bir çağrı, varsayılan oluşturucu işlevi c için bir çağrı olarak işlev görür; 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ımlar, 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
|
zorunlu bu kuralı uygulayan fonksiyondur. Tek bir parametre olmalıdır: repository_ctx . İşlev, kuralın her örneği için yükleme aşamasında çağrılır.
|
attrs
|
dict; veya None ;
varsayılan değer: None sözlüğünü kullanmanızı öneririz. Özellik adı, özellik nesnesiyle eşlenir (attr modülüne bakın). _ ile başlayan özellikler gizlidir ve bir dosyaya etiket için örtülü bağımlılık eklemek için kullanılabilir (depo kuralı, oluşturulan bir yapıya bağlı olamaz). name özelliği dolaylı olarak eklenir ve belirtilmemelidir.
|
local
|
varsayılan değer False Bu kuralın, yerel sistemden her şeyi getirdiğini ve her getirme işleminde yeniden değerlendirilmesi gerektiğini belirtin. |
environ
|
sequence of dize;
varsayılan değer [] Kullanımdan kaldırıldı. Bu parametre kullanımdan kaldırıldı. Bunun yerine repository_ctx.getenv ürününe geçiş yapın.Bu depo kuralının bağlı olduğu ortam değişkeninin listesini sağlar. Listedeki bir ortam değişkeni değişirse depo yeniden getirilir. |
configure
|
varsayılan değer False Deponun, sistemi yapılandırma amacıyla incelediğini belirtir |
remotable
|
varsayılan değer False Deneyseldir. Bu parametre deneme amaçlıdır ve herhangi bir zamanda değişebilir. Lütfen bu metrikten yararlanmayın. ---experimental_repo_remote_exec Uzaktan yürütmeyle uyumlu olarak ayarlanarak deneysel olarak etkinleştirilebilir |
doc
|
string; veya None ;
varsayılan değer: None Belge oluşturma araçları ile çıkarılabilecek 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 DERLE dosyası veya makrodan çağrılabilecek yeni bir kural oluşturur.
Kurallar, bir .bzl dosyasındaki genel değişkenlere atanmalıdır; genel değişkenin adı kuralın adıdır.
Test kurallarında adın _test
ile bitmesi gerekir. Diğer hiçbir kuralda ise 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
|
zorunlu bu kuralı uygulayan Starlark işlevinin tam olarak bir parametresi olmalıdır: ctx. İşlev, kuralın her örneği için analiz aşamasında çağrılır. Kullanıcının sağladığı özelliklere erişebilir. Tanımlanan tüm çıkışları oluşturmak için işlemler oluşturması gerekir. |
test
|
bool;
varsayılan değer: unbound Bu kuralın bir test kuralı olup olmadığı, yani bir blaze test komutunun konusu olup olmadığı. Tüm test kuralları otomatik olarak yürütülebilir 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;
varsayılan değer: {} sözlüğünü kullanmanızı öneririz. Özellik adı, özellik nesnesiyle eşlenir (attr modülüne bakın). _ ile başlayan özellikler gizlidir ve bir etikete dolaylı bağımlılık eklemek için kullanılabilir. name özelliği dolaylı olarak eklenir ve belirtilmemelidir. visibility , deprecation , tags , testonly ve features özellikleri örtülü olarak eklenir ve geçersiz kılınamaz. Çoğu kural için yalnızca birkaç özellik gerekir. Kural işlevi, bellek kullanımını sınırlandırmak için özelliklerin boyutuna bir sınır uygular.
|
outputs
|
dict; veya None ; veya function;
varsayılan değer: None Kullanımdan kaldırıldı. Bu parametrenin desteği sonlandırılmıştır ve yakında kaldırılacaktır. Lütfen bu metrikten yararlanmayın. ---incompatible_no_rule_outputs_param ile devre dışı bırakıldı. Kodunuzun, kaldırılma olasılığı yüksek olan içerikle uyumlu olduğunu doğrulamak için bu işareti kullanın. Bu parametrenin desteği sonlandırıldı. Kuralları, bunun yerine OutputGroupInfo veya attr.output kullanacak şekilde taşıyın. Önceden beyan edilmiş çıkışları tanımlayan bir şema. Bu bağımsız değişkenin değeri ya bir sözlük ya da sözlük oluşturan bir geri çağırma işlevidir. Geri çağırma, hesaplanan bağımlılık özelliklerine benzer: İşlevin parametre adları, kuralın özellikleriyle eşleştirilir. Örneğin, Sözlükten her giriş, önceden beyan edilmiş bir çıkış oluşturur. Bu çıkışta anahtar bir tanımlayıcıdır, değer ise çıkışın etiketini belirleyen bir dize şablonudur. 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 True (doğru) değerine ayarlanırsa dosyalar bin dizini yerine genfiles dizininde oluşturulur. Mevcut kurallarla uyumluluk için gerekli olmadığı sürece (ör. C++ için başlık dosyaları oluştururken) bu işareti ayarlamayın. |
fragments
|
sequence of dize;
varsayılan değer [] Kuralın hedef yapılandırmada gerektirdiği yapılandırma parçalarının adlarının listesi. |
host_fragments
|
sequence of dize;
varsayılan değer [] Kuralın ana makine yapılandırmasında gerektirdiği yapılandırma parçalarının adlarının listesi. |
_skylark_testable
|
varsayılan değer False (Deneysel) Doğru ise bu kural, işlemlerini bir Actions sağlayıcısı aracılığıyla ona bağımlı kurallar tarafından incelenmek üzere kullanıma sunar. Sağlayıcı, ctx.created_actions() işlevini çağırarak da kuralın kendisi tarafından kullanılabilir.Bu yalnızca Starlark kurallarının analiz zamanı davranışını test etmek için kullanılmalıdır. Bu işaret ileride kaldırılabilir. |
toolchains
|
sequence;
varsayılan değer: [] Ayarlanırsa bu kuralın gerektirdiği araç zincirleri grubu. Liste, herhangi bir kombinasyonda String, Label veya StarlarkToolchainTypeApi nesnelerini içerebilir. Araç zincirleri, mevcut platform kontrol edilerek bulunur ve ctx.toolchain aracılığıyla kuralın uygulanmasına sağlanır.
|
incompatible_use_toolchain_transition
|
varsayılan değer False Kullanımdan kaldırıldı ve artık kullanılmıyor ve kaldırılması gerekiyor. |
doc
|
string; veya None ;
varsayılan değer: None Belge oluşturma araçları ile çıkarılabilecek kuralın açıklaması. |
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 bu bir hatadır. Ancak uygulama işlevi, burada listelenmeyen ek sağlayıcıları döndürebilir. Listenin her öğesi, |
exec_compatible_with
|
sequence of dize;
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ın listesi. |
analysis_test
|
varsayılan değer False Doğru ise, bu kural bir 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 bölümüne bakın. Bir kural analiz test kuralı olarak tanımlanırsa, özelliklerinde analysis_test_transition kullanılarak tanımlanan yapılandırma geçişlerinin kullanılmasına izin verilir ancak bazı kısıtlamalar etkinleştirilir:
|
build_setting
|
BuildSetting; veya None ;
varsayılan değer: None Ayarlanmışsa bu kuralın ne tür bir build setting olduğunu açıklar. config modülünü inceleyin. Bu ayarlanırsa "build_setting_default" adlı zorunlu bir özellik ayarlanır. değeri, buraya geçirilen değere karşılık gelen bir türle otomatik olarak bu kurala eklenir.
|
cfg
|
varsayılan değer None Ayarlanırsa, analizden önce kuralın kendi yapılandırmasına uygulayacağı yapılandırma geçişine işaret eder. |
exec_groups
|
dict; veya None ;
varsayılan değer: None Yürütme grubu adının (dize) exec_group sn. sayısına. Ayarlanırsa kuralların tek bir hedef 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ı belgelerine 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 sırasında çağrılır. Özellik adlarından istenen değerlere bir sözlük döndürmesi gerekir. 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 değerler içeriyorsa özellik tanımındaki varsayılan değerin üzerine yazılır ( Benzer şekilde, başlatıcının imzasındaki bir parametrenin varsayılan değeri yoksa parametre zorunlu hale gelir. Bu tür durumlarda bir özellik tanımında varsayılan/zorunlu ayarların kullanılmaması önerilir. İşlenmeyen özellikler için Genişletilmiş kurallar söz konusu olduğunda tüm başlatıcılar alt öğeden üst öğeye ilerleme olarak adlandırılır. Her başlatıcıya yalnızca bilgi sahibi olduğu herkese açık özellikler aktarılır. |
parent
|
varsayılan değer None Deneysel: Süresi uzatılan Stalark kuralı. Ayarlandığında, herkese açık özellikler, reklamı yapılan sağlayıcıların yanı sıra birleştirilir. Kural, üst öğeden executable ve test ile eşleşir. fragments , toolchains , exec_compatible_with ve exec_groups değerleri birleştirildi. Eski veya desteği sonlandırılmış parametreler ayarlanamaz. Bu kuralın gelen yapılandırmasından sonra üst kuruluş biriminin gelen yapılandırma geçişi (cfg ) uygulandı.
|
extendable
|
bool; veya Etiket; veya dize; veya None ;
varsayılan ayar None Deneysel: Bu kuralın kapsamını genişletebilecek kuralları tanımlayan bir izin verilenler listesi etiketi. Genişletmeye her zaman izin vermek veya izin vermemek için Doğru/Yanlış olarak da ayarlanabilir. Bazel varsayılan olarak uzantılara her zaman izin verir. |
subrules
|
Alt Kural'ın sequence'ı;
varsayılan değer [] Deneysel: Bu kural tarafından kullanılan alt kuralların listesi. |
seç
unknown select(x, no_match_error='')
select()
, kural özelliğini yapılandırılabilir hale getiren yardımcı işlevdir. Ayrıntılar için ansiklopedi oluşturma bölümüne bakın.
Parametreler
Parametre | Açıklama |
---|---|
x
|
zorunlu Yapılandırma koşullarını değerlerle eşleyen bir dikte. Her anahtar, config_setting veyarestriction_value örneğini tanımlayan bir Etiket veya etiket dizesidir. Dize yerine Etiket 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şmezse bildirilecek isteğe bağlı özel hata. |
alt kural
Subrule subrule(implementation, attrs={}, toolchains=[], fragments=[], subrules=[])Bir 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 fonksiyonu |
attrs
|
dict;
varsayılan değer: {} Alt kuralın tüm (gizli) özelliklerini bildirmek için kullanılan bir sözlük. Alt kurallar yalnızca etiketle yazılmış (ör. etiket veya etiket listesi) gizli özelliklere sahip olabilir. Bu etiketlere karşılık gelen çözümlenen değerler Bazel tarafından alt kuralın uygulama işlevine otomatik olarak adlandırılmış bağımsız değişkenler olarak aktarılır (böylece, uygulama işlevinin özellik adlarıyla eşleşen adlandırılmış parametreleri kabul etmesi gerekir). Bu değerlerin türü şu şekilde olur:
|
toolchains
|
sequence;
varsayılan değer: [] Ayarlanırsa bu alt kuralın gerektirdiği araç zincirleri grubu. Liste, herhangi bir kombinasyonda String, Label veya StarlarkToolchainTypeApi nesnelerini içerebilir. Araç zincirleri, mevcut platform kontrol edilerek bulunur ve ctx.toolchains aracılığıyla alt kuralın uygulanmasına sağlanır.
|
fragments
|
sequence of dize;
varsayılan değer [] Alt kuralın hedef yapılandırmada gerektirdiği yapılandırma parçalarının adlarının listesi. |
subrules
|
Alt Kural'ın sequence'ı;
varsayılan değer [] Bu alt kuralın ihtiyaç duyduğu 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 bir etiket sınıfı için özellik şemasını 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 bildiren bir sözlük. Özellik adı, özellik nesnesiyle eşlenir (attr modülüne bakın). |
doc
|
string; veya None ;
varsayılan değer: None Belge oluşturma araçları tarafından çıkarılabilecek etiket sınıfının açıklaması. |
görünürlük
None
visibility(value)
Şu anda başlatılmakta olan .bzl modülünün yük görünürlüğünü ayarlar.
Bir modülün yük görünürlüğü, diğer BUILD ve .bzl dosyalarının o modülü yükleyip yükleyemeyeceğini belirler. (Bu, temel .bzl kaynak dosyasının hedef görünürlüğünden farklıdır ve dosyanın başka hedeflerin bağımlılığı olarak görünüp görünmeyeceğini belirler.) Yükleme görünürlüğü, paket düzeyinde çalışır: Bir modülü yüklemek için yüklemeyi yapan dosya, modüle görünürlüğü verilen bir pakette bulunmalıdır. Bir modül, görünürlüğüne bakılmaksızın her zaman kendi paketine yüklenebilir.
visibility()
, her .bzl dosyası için yalnızca bir kez ve bir işlevin içinde değil, yalnızca en üst düzeyde çağrılabilir. Tercih edilen stil, bu çağrıyı load()
ifadelerinin hemen altına ve bağımsız değişkeni belirlemek için gereken kısa mantığın altına yerleştirmektir.
--check_bzl_visibility
işareti yanlış değerine ayarlanırsa yükleme görünürlüğü ihlalleri uyarı verir ancak derlemede başarısız olmaz.
Parametreler
Parametre | Açıklama |
---|---|
value
|
zorunlu Paket spesifikasyonu dizelerinin listesi veya tek bir paket spesifikasyonu dizesi. Negatif paket özelliklerine izin verilmemesi dışında paket spesifikasyonları
"@" söz dizimine izin verilmez; tüm spesifikasyonlar mevcut modülün deposuna göre yorumlanır.
|