Üyeler
- tümü
- analysis_test_transition
- herhangi bir
- archive_override
- en boy
- bazel_dep
- bind
- bool
- configuration_field
- depset
- dict
- dir
- listele
- exec_group
- başarısız
- float
- getattr
- git_override
- hasattr
- karma
- int
- len
- list
- local_path_override
- maks
- dk.
- modül
- module_extension
- multiple_version_override
- yazdır
- sağlayıcı
- aralık
- register_execution_platforms()
- register_execution_platforms()
- register_toolchains()
- register_toolchains()
- repository_rule(uygulama, attrs, yerel, environ, yapılandır, uzaklaştır, doküman)
- repository_rule(uygulama, attrs, yerel, environ, yapılandır, uzaklaştır, doküman)
- repr
- ters
- kural
- seç
- single_version_override
- sıralı
- str
- tag_class
- tuple
- tür
- use_extension
- use_repo
- görünürlük
- çalışma alanı
- zip
tümü
bool all(elements)Tüm öğeler Doğru olarak değerlendirilirse veya koleksiyon boşsa true değerini döndürür. Öğeler, bool işlevi kullanılarak boole'ye dönüştürülür.
all(["hello", 3, True]) == True all([-1, 0, 1]) == False
Parametreler
Parametre | Açıklama |
---|---|
elements
|
gerekli Bir dize veya öğe koleksiyonu. |
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, geçiş kullanılarak oluşturulan geçişlere kıyasla potansiyel kapsamla 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. |
Tümü
bool any(elements)En az bir öğe Doğru olarak değerlendirilirse true değerini döndürür. Öğeler, bool işlevi kullanılarak boole'ye dönüştürülür.
any([-1, 0, 1]) == True any([False, 0, ""]) == False
Parametreler
Parametre | Açıklama |
---|---|
elements
|
gerekli Bir dize veya öğe koleksiyonu. |
archive_override
None archive_override(module_name, urls, integrity='', strip_prefix='', patches=[], patch_cmds=[], patch_strip=0)Bu bağımlılığın, bir kayıt defterinden değil, belirli bir konumdaki bir arşiv dosyasından (zip, gzip vb.) gelmesi gerektiğini belirtir. Bu yönerge yalnızca kök modül tarafından kullanılabilir. Diğer bir deyişle, bir modül herhangi bir geçersiz kılma belirtiyorsa başkaları tarafından bağımlılık olarak kullanılamaz.
Parametreler
Parametre | Açıklama |
---|---|
module_name
|
gerekli Bu geçersiz kılma işleminin uygulanacağı Bazel modülü bağımlılığının adı. |
urls
|
string; or Iterable of strings ;
zorunluArşivin URL'leri http(s):// veya file:// URL'leri olabilir. |
integrity
|
default = '' Alt Kaynak Bütünlüğü biçiminde, arşiv dosyasının beklenen sağlama toplamı. |
strip_prefix
|
default = '' Ayıklanan dosyalardan çıkarılacak bir dizin öneki. |
patches
|
Iterable of strings ;
default = []Bu modüle uygulanacak yama dosyalarına işaret eden etiketlerin listesi. Yama dosyaları üst düzey projenin kaynak ağacında bulunmalıdır. Liste sırasına göre uygulanırlar. |
patch_cmds
|
Iterable of strings ;
default = []Yamalar uygulandıktan sonra Linux/Macos'a uygulanacak Bash komutlarının sırası. |
patch_strip
|
default = 0 Unix yamasının --strip bağımsız değişkeniyle aynıdır. |
ilişkili program
Aspect aspect(implementation, attr_aspects=[], attrs=None, required_providers=[], required_aspect_providers=[], provides=[], requires=[], fragments=[], host_fragments=[], toolchains=[], incompatible_use_toolchain_transition=False, doc='', *, apply_to_generating_rules=False, exec_compatible_with=[], exec_groups=None)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
|
sequence of strings ;
default = []Ö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; or None ;
varsayılan = YokÖ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
|
default = [] Bu özellik, ilgili öğenin yayılımını yalnızca kuralları gerekli sağlayıcıların tanıtımını yapan hedeflerle sınırlaması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
|
default = [] 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
|
default = [] 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
|
sequence of Aspects ;
varsayılan = []Bu yönden önce yayılması gereken özelliklerin listesi. |
fragments
|
sequence of strings ;
default = []Özelliğin hedef yapılandırmada gerektirdiği yapılandırma parçası adlarının listesi. |
host_fragments
|
sequence of strings ;
default = []Özelliğin ana makine yapılandırmasında gerektirdiği yapılandırma parçası adlarının listesi. |
toolchains
|
sequence ;
default = []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
|
default = False Kullanımdan kaldırıldı, artık kullanılmıyor ve kaldırılması gerekiyor. |
doc
|
default = '' Belge oluşturma araçlarıyla çıkarılabilecek özelliğin açıklaması. |
apply_to_generating_rules
|
default = False 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
|
sequence of strings ;
varsayılan = []Yürütme platformunda bu özelliğin tüm örnekleri için geçerli olan kısıtlamaların listesi. |
exec_groups
|
dict; or None ;
default = NoneYürütme grubu adını (dize) dikteyi exec_group s olarak ayarlayın. 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.
|
bazel_dep
None bazel_dep(name, version='', repo_name='', dev_dependency=False)Başka bir Bazel modülüne doğrudan bağımlılık bildiriyor.
Parametreler
Parametre | Açıklama |
---|---|
name
|
gerekli Doğrudan bağımlılık olarak eklenecek modülün adı. |
version
|
default = '' Doğrudan bağımlılık olarak eklenecek modülün sürümü. |
repo_name
|
default = '' Bu bağımlılığı temsil eden harici deponun adı. Bu, varsayılan olarak modülün adıdır. |
dev_dependency
|
default = False True (doğru) değerine ayarlanırsa mevcut modül kök modül değilse veya "--ignore_dev_dependency" etkinse bu bağımlılık yoksayılır. |
bind
None bind(name, actual=None)
Uyarı: bind()
kullanılması önerilmez. Sorunları ve alternatifleriyle ilgili uzun açıklamalar için Bağlamayı kaldırma bölümüne bakın.
//external
paketinde bir hedefe takma ad verir.
Parametreler
Parametre | Açıklama |
---|---|
name
|
gerekli '//external' altındaki etiket, takma ad olarak kullanılır |
actual
|
string; or None ;
varsayılan = YokDiğer adı kullanılacak gerçek etiket |
bool
bool bool(x=False)Bool türü için oluşturucu. Nesne
None
, False
, boş dize (""
), 0
sayısı veya boş bir koleksiyon (ör. ()
, []
) ise False
değerini döndürür. Aksi takdirde True
değerini döndürür.
Parametreler
Parametre | Açıklama |
---|---|
x
|
varsayılan = Yanlış Dönüştürülecek değişken. |
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.
Geriye-ileri uyumlulukla ilgili not alın. Bu işlev şu anda konumsal items
parametresini kabul ediyor. Artık desteği sonlandırılmış olup ileride kaldırılacaktır. Ayrıca, direct
kaldırıldıktan sonra depset
işlevinin tek konum parametresi olacaktır. Bu nedenle, aşağıdaki çağrıların ikisi de eşdeğerdir ve geleceğe hazırdır:
depset(['a', 'b'], transitive = [...]) depset(direct = ['a', 'b'], transitive = [...])
Parametreler
Parametre | Açıklama |
---|---|
direct
|
sequence; or None ;
varsayılan = YokBir kullanımdan kaldırma işleminin doğrudan öğelerinin listesi. |
order
|
default = "default" Yeni erişim kümesinin geçiş stratejisi. Olası değerler için buraya bakın. |
transitive
|
sequence of depsets; or None ;
default = NoneÖğeleri, desteğin dolaylı öğeleri olacak olan uygulamaların yer aldığı bir liste. |
dict
dict dict(pairs=[], **kwargs)İsteğe bağlı konumsal bir bağımsız değişken ve isteğe bağlı bir anahtar kelime bağımsız değişkeni grubundan bir sözlük oluşturur. Aynı anahtarın birden çok kez verilmesi durumunda son değer kullanılır. Anahtar kelime bağımsız değişkenleriyle sağlanan girişler, konumsal bağımsız değişkenle sağlanan girişlerden sonra gelir.
Parametreler
Parametre | Açıklama |
---|---|
pairs
|
default = [] Öğelerinin her biri 2 uzunluğunda (anahtar, değer) olan bir dikte veya tekrarlanabilir öğedir. |
kwargs
|
gerekli Ek girişlerin sözlüğü. |
dir
list dir(x)Bir dize listesi döndürür: parametre nesnesinin özelliklerinin ve yöntemlerinin adları.
Parametreler
Parametre | Açıklama |
---|---|
x
|
gerekli Kontrol edilecek nesne. |
numaralandırmak
list enumerate(list, start=0)Dizin (int) ve giriş dizisindeki öğeyle birlikte bir çift listesi (iki öğeli unsur) döndürür.
enumerate([24, 21, 84]) == [(0, 24), (1, 21), (2, 84)]
Parametreler
Parametre | Açıklama |
---|---|
list
|
gerekli giriş sırası. |
start
|
varsayılan = 0 başlangıç dizini. |
exec_group
exec_group exec_group(toolchains=[], exec_compatible_with=[], copy_from_rule=False)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 ;
default = []Bu yürütme grubunun gerektirdiği araç zinciri grubu. Liste, herhangi bir kombinasyonda String, Label veya StarlarkToolchainTypeApi nesnelerini içerebilir. |
exec_compatible_with
|
sequence of strings ;
varsayılan = []Yürütme platformundaki kısıtlamalar listesi. |
copy_from_rule
|
default = False Doğru değerine ayarlanırsa bu yönetici grubu, bu grubun eklendiği kuralın araç zincirlerini ve kısıtlamalarını devralır. Başka bir dizeye ayarlanırsa hata verilir. |
başarısız
None fail(msg=None, attr=None, *args)Yürütme işleminin bir hata nedeniyle başarısız olmasına neden oluyor.
Parametreler
Parametre | Açıklama |
---|---|
msg
|
default = Yok Kullanımdan kaldırıldı: Bunun yerine konumsal bağımsız değişkenler kullanın. Bu argüman gizli bir öncü konumsal bağımsız değişken gibi işlev görür. |
attr
|
string; or None ;
varsayılan = YokKullanımdan kaldırıldı. Bu dizeyi içeren isteğe bağlı bir ön ekin hata mesajına eklenmesine neden olur. |
args
|
gerekli Hata mesajında görünen, str ile biçimlendirilmiş ve boşluklarla birleştirilmiş değerlerin listesi. |
float
float float(x=unbound)Kayan değer olarak x değerini döndürür.
x
zaten bir kesirli sayıysafloat
bunu değiştirmeden döndürür.x
bir Bool isefloat
, Doğru için 1.0 ve Yanlış için 0.0 döndürür.x
bir tam sayıysafloat
, x'e en yakın sonlu kayan nokta değerini döndürür veya büyüklük çok büyükse hata döndürür.x
bir dizeyse bu, geçerli bir kayan nokta sabit değeri olmalı veyaNaN
,Inf
ya daInfinity
ile eşit olmalıdır (büyük/küçük harfe duyarlı değil). İsteğe bağlı olarak öncesinde+
veya-
işareti olmalıdır.
float()
işlevi 0.0 değerini döndürür.
Parametreler
Parametre | Açıklama |
---|---|
x
|
default = unbound Dönüştürülecek değer. |
Getattr
unknown getattr(x, name, default=unbound)Verilen adın struct alanını (varsa) döndürür. Aksi takdirde,
default
(belirtilmişse) döndürür veya bir hata verir. getattr(x, "foobar")
, x.foobar
ile eş değerdir.getattr(ctx.attr, "myattr") getattr(ctx.attr, "myattr", "mydefault")
Parametreler
Parametre | Açıklama |
---|---|
x
|
gerekli Özelliğine erişilen struct. |
name
|
gerekli struct özelliğinin adı. |
default
|
default = unbound struct'ın belirtilen ada sahip bir özelliğe sahip olmaması durumunda döndürülecek varsayılan değer. |
git_override
None git_override(module_name, remote, commit='', patches=[], patch_cmds=[], patch_strip=0)Bir bağımlılığın, bir Git deposunun belirli bir kaydından gelmesi gerektiğini belirtir. Bu yönerge yalnızca kök modül tarafından kullanılabilir. Diğer bir deyişle, bir modül herhangi bir geçersiz kılma belirtiyorsa başkaları tarafından bağımlılık olarak kullanılamaz.
Parametreler
Parametre | Açıklama |
---|---|
module_name
|
gerekli Bu geçersiz kılma işleminin uygulanacağı Bazel modülü bağımlılığının adı. |
remote
|
gerekli Uzak Git deposunun URL'si. |
commit
|
default = '' Kontrol edilmesi gereken kayıt. |
patches
|
Iterable of strings ;
default = []Bu modüle uygulanacak yama dosyalarına işaret eden etiketlerin listesi. Yama dosyaları üst düzey projenin kaynak ağacında bulunmalıdır. Liste sırasına göre uygulanırlar. |
patch_cmds
|
Iterable of strings ;
default = []Yamalar uygulandıktan sonra Linux/Macos'a uygulanacak Bash komutlarının sırası. |
patch_strip
|
default = 0 Unix yamasının --strip bağımsız değişkeniyle aynıdır. |
Hasattr
bool hasattr(x, name)
x
nesnesi, belirtilen name
özelliğinin bir özelliğine veya yöntemine sahipse Doğru değerini, aksi takdirde Yanlış değerini döndürür. Örnek:hasattr(ctx.attr, "myattr")
Parametreler
Parametre | Açıklama |
---|---|
x
|
gerekli Kontrol edilecek nesne. |
name
|
gerekli Özelliğin adı. |
hash
int hash(value)Bir dize için karma değeri döndürür. Bu değer, Java'nın
String.hashCode()
algoritmasıyla aynı algoritma kullanılarak deterministik olarak hesaplanır. Örneğin: s[0] * (31^(n-1)) + s[1] * (31^(n-2)) + ... + s[n-1]Dizelerin yanı sıra değerlerin karma oluşturma işlemi şu anda desteklenmemektedir.
Parametreler
Parametre | Açıklama |
---|---|
value
|
gerekli Karma oluşturma işlemi uygulanacak dize değeri. |
int
int int(x, base=unbound)X'i tam sayı değeri olarak döndürür.
x
zaten bir tam sayıysaint
bunu değiştirmeden döndürür.x
bir Bool iseint
, Doğru için 1 ve Yanlış için 0 değerini döndürür.x
bir dizeyse<sign><prefix><digits>
biçiminde olmalıdır.<sign>
,"+"
ya da"-"
değerine sahip veya boş (pozitif olarak yorumlanır).<digits>
, 0'danbase
- 1'e kadar olan bir sayı dizisidir. Burada, a-z (veya eşdeğer olarak A-Z) harfleri 10-35 için rakam olarak kullanılır.base
değerinin 08.02.2016 olduğu durumda<prefix>
isteğe bağlıdır ve sırasıyla 0b/0o/0x (veya eşdeğer olarak 0B/0O/0X) olabilir.base
, bu tabanlar veya 0 özel değeri dışında başka bir değerse önek boş olmalıdır.base
ifadesinin 0 olduğu durumda dize, kullanılan ön eke bağlı olarak 2/8/10/16 tabanlarından biri seçildiği için bir tam sayı olarak yorumlanır.base
0 ise, ön ek kullanılmaz ve birden fazla basamak varsa baştaki basamak 0 olamaz. Bunun amacı, sekizlik ve ondalık basamak arasında karışıklık olmasını önlemektir. Dizenin temsil ettiği sayının büyüklüğü, int türü için izin verilen aralıkta olmalıdır.x
bir ondalık sayıysaint
, sıfıra doğru yuvarlanarak ondalık değerinin tam sayı değerini döndürür. x sonlu değilse (NaN veya sonsuzsa) bir hatadır.
x
başka bir türse veya değer yukarıdaki biçime uymayan bir dizeyse bu işlev başarısız olur. Python'un int
işlevinden farklı olarak bu işlev, sıfır bağımsız değişkene ve dize bağımsız değişkenlerinde fazladan boşluklara izin vermez.Örnekler:
int("123") == 123 int("-123") == -123 int("+123") == 123 int("FF", 16) == 255 int("0xFF", 16) == 255 int("10", 0) == 10 int("-0x10", 0) == -16 int("-0x10", 0) == -16 int("123.456") == 123
Parametreler
Parametre | Açıklama |
---|---|
x
|
gerekli Dönüştürülecek dize. |
base
|
default = unbound Bir dize değerini yorumlamak için kullanılan taban değer, varsayılan olarak 10 değerine ayarlanır. 2 ile 36 (dahil) arasında veya x , değişmez tam sayıymış gibi tabanın algılanması için 0 olmalıdır. Değer bir dize değilse bu parametre sağlanmamalıdır.
|
len
int len(x)Bir dizenin, dizinin (liste veya unsur gibi), dikte veya tekrarlanabilir başka bir dizenin uzunluğunu döndürür.
Parametreler
Parametre | Açıklama |
---|---|
x
|
gerekli Uzunluğu raporlanacak değer. |
list
list list(x=[])Verilen yinelenebilir değerle aynı öğelere sahip yeni bir liste döndürür.
list([1, 2]) == [1, 2] list((2, 3, 2)) == [2, 3, 2] list({5: "a", 2: "b", 4: "c"}) == [5, 2, 4]
Parametreler
Parametre | Açıklama |
---|---|
x
|
default = [] Dönüştürülecek nesne. |
local_path_override
None local_path_override(module_name, path)Bir bağımlılığın yerel diskteki belirli bir dizinden gelmesi gerektiğini belirtir. Bu yönerge yalnızca kök modül tarafından kullanılabilir. Diğer bir deyişle, bir modül herhangi bir geçersiz kılma belirtiyorsa başkaları tarafından bağımlılık olarak kullanılamaz.
Parametreler
Parametre | Açıklama |
---|---|
module_name
|
gerekli Bu geçersiz kılma işleminin uygulanacağı Bazel modülü bağımlılığının adı. |
path
|
gerekli Bu modülün bulunduğu dizinin yolu. |
maks.
unknown max(*args)Verilen tüm bağımsız değişkenlerden en büyük olanı döndürür. Yalnızca tek bir bağımsız değişken sağlanırsa boş olmayan iterasyonlu olmalıdır.Öğeler karşılaştırılamıyorsa (örneğin, dizeyle int) veya bağımsız değişken sunulmuyorsa bu bir hatadır.
max(2, 5, 4) == 5 max([5, 6, 3]) == 6
Parametreler
Parametre | Açıklama |
---|---|
args
|
gerekli Kontrol edilecek öğeler. |
dak
unknown min(*args)Verilen tüm bağımsız değişkenlerden en küçük olanı döndürür. Tek bir bağımsız değişken sağlanırsa bu bağımsız değişken boş olmayan yinelenebilir olmalıdır. Öğeler karşılaştırılamıyorsa (örneğin, dizeyle int) veya hiçbir bağımsız değişken sunulmuyorsa bu bir hatadır.
min(2, 5, 4) == 2 min([5, 6, 3]) == 3
Parametreler
Parametre | Açıklama |
---|---|
args
|
gerekli Kontrol edilecek öğeler. |
modül
None module(name='', version='', compatibility_level=0, repo_name='', bazel_compatibility=[])Mevcut Bazel deposuyla temsil edilen Bazel modülünün belirli özelliklerini tanımlar. Bu özellikler ya modülün önemli meta verileridir (adı ve sürümü gibi) ya da mevcut modülün ve bağlı özelliklerinin davranışını etkiler.
En fazla bir kez çağrılmalıdır. Yalnızca bu modül kök modülse (başka bir modüle bağlı olmayacaksa) atlanabilir.
Parametreler
Parametre | Açıklama |
---|---|
name
|
default = '' Modülün adı. Yalnızca bu modül kök modülse (başka bir modüle bağlı olmayacaksa) atlanabilir. Geçerli modül adı: 1) yalnızca küçük harf (a-z), rakam (0-9), nokta (.), kısa çizgi (-) ve alt çizgi (_) içermelidir; 2) küçük harfle başlamalı; 3) küçük harf veya rakamla bitmelidir. |
version
|
default = '' Modülün sürümü. Yalnızca bu modül kök modülse (başka bir modüle bağlı olmayacaksa) atlanabilir. |
compatibility_level
|
varsayılan = 0 Modülün uyumluluk düzeyi. Uyumsuz önemli bir değişiklik yapıldığında bu değiştirilmelidir. Bu, SemVer açısından modülün "ana sürümü"dür. Tek fark, sürüm dizesinin içine yerleştirilmemiştir ve ayrı bir alan olarak mevcuttur. Farklı uyumluluk düzeylerine sahip modüller, farklı adlara sahip modüllermiş gibi sürüm çözünürlüğüne katılır. Ancak nihai bağımlılık grafiği, aynı ada ancak farklı uyumluluk düzeylerine sahip birden çok modül içeremez ( multiple_version_override etkin değilse; daha fazla ayrıntı için oraya bakın).
|
repo_name
|
default = '' Bu modülü temsil eden deponun, modülün kendisi tarafından görülen adı. Varsayılan olarak deponun adı, modülün adıdır. Kendisi modül adından farklı bir depo adı kullanan projeler için taşıma işlemini kolaylaştırmak amacıyla bu belirtilebilir. |
bazel_compatibility
|
Iterable of strings ;
default = []Kullanıcıların bu modülle hangi Bazel sürümlerinin uyumlu olduğunu bildirmesine olanak tanıyan Bazel sürümlerinin listesi. Bağımlılık çözümlemesini ETKİLEMEZ ancak bzlmod bu bilgileri mevcut Bazel sürümünüzün uyumlu olup olmadığını kontrol etmek için kullanır. Bu değerin biçimi, virgülle ayrılmış bazı sınırlama değerlerinden oluşan bir dizedir. Üç sınırlama desteklenir: <=X.X.X: Bazel sürümü X.X.X'e eşit veya bundan daha eski olmalıdır. Daha yeni bir sürümde uyumsuz olduğu bilinen bir değişiklik olduğunda kullanılır. >=X.X.X: Bazel sürümü, X.X.X.ye eşit veya daha yeni olmalıdır. Yalnızca X.X.X. -X.X.X ve sonrasında kullanılabilen bazı özelliklere bağlı olduğunuzda kullanılır. Bazel X.X.X sürümü uyumlu değildir. X.X.X'te sizi bozan ancak sonraki sürümlerde düzeltilen bir hata olduğunda kullanılır. |
module_extension
unknown module_extension(implementation, *, tag_classes={}, doc='')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
|
default = {} Uzantı tarafından kullanılan tüm etiket sınıflarını belirtmek için bir sözlük. Etiket sınıfı adından bir tag_class nesnesine eşlenir.
|
doc
|
default = '' Doküman oluşturma araçları tarafından çıkarılabilen modül uzantısının bir açıklaması. |
multiple_version_override
None multiple_version_override(module_name, versions, registry='')Bir bağımlılığın kayıt defterinden gelmeye devam etmesi gerektiğini ancak birden fazla sürümünün birlikte bulunmasına izin verilmesi gerektiğini belirtir. Bu yönerge yalnızca kök modül tarafından kullanılabilir. Diğer bir deyişle, bir modül herhangi bir geçersiz kılma belirtiyorsa başkaları tarafından bağımlılık olarak kullanılamaz.
Parametreler
Parametre | Açıklama |
---|---|
module_name
|
gerekli Bu geçersiz kılma işleminin uygulanacağı Bazel modülü bağımlılığının adı. |
versions
|
Iterable of strings ;
gerekliBirlikte kullanılmasına izin verilen sürümleri açıkça belirtir. Bu sürümler, bağımlılık grafiği ön seçiminde halihazırda mevcut olmalıdır. Bu modüldeki bağımlılıklar, aynı uyumluluk düzeyinde izin verilen en yakın sürüme "yükseltilir". Aynı uyumluluk düzeyindeki izin verilen tüm sürümlerden daha yüksek bir sürüme sahip olan bağımlılıklar ise hataya neden olur. |
registry
|
default = '' Bu modülün kayıt defterini geçersiz kılar. Bu modülü varsayılan kayıt otoriteleri listesinden bulmak yerine belirtilen kayıt otoritesi kullanılmalıdır. |
yazdır
None print(sep=" ", *args)
args
dosyasını hata ayıklama çıktısı olarak yazdırır. Bu aramanın önüne "DEBUG"
dizesi ve bu çağrının konumunu (dosya ve satır numarası) eklenir. Bağımsız değişkenlerin dizelere tam olarak hangi yöntemle dönüştürülmesi gerektiği belirtilmemiştir ve herhangi bir zamanda değiştirilebilir. Özellikle str()
ve repr()
tarafından yapılan biçimlendirmeden farklı (ve daha ayrıntılı) olabilir.Kullanıcılar için oluşturduğu spam nedeniyle, üretim kodunda print
kullanılması önerilmez. Kullanımdan kaldırma işlemleri için mümkünse fail()
kullanılmasını tercih edin.
Parametreler
Parametre | Açıklama |
---|---|
sep
|
default = " " Nesneler arasındaki ayırıcı dize. Varsayılan olarak boşluk (" ") kullanılır. |
args
|
gerekli Yazdırılacak nesneler. |
sağlayıcı
unknown provider(doc='', *, 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
|
default = '' Doküman oluşturma araçlarıyla alınabilen, sağlayıcının açıklaması. |
fields
|
sequence of strings; or dict; or None ;
varsayılan = YokBelirtilirse izin verilen alanlar grubunu kısıtlar. Olası değerler:
|
init
|
callable; or None ;
default = NoneÖrnekleme sırasında sağlayıcının alan değerlerinin ön işlemesi ve doğrulanması için 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 = ...) |
aralık
sequence range(start_or_stop, stop_or_none=None, step=1)
step
değerinde artış kullanarak, start
ile stop
aralığındaki öğelerin bulunduğu bir liste oluşturur. Tek bir bağımsız değişken sağlanırsa öğeler 0 ile söz konusu öğe arasında değişir.range(4) == [0, 1, 2, 3] range(3, 9, 2) == [3, 5, 7] range(3, 0, -1) == [3, 2, 1]
Parametreler
Parametre | Açıklama |
---|---|
start_or_stop
|
gerekli Durma sağlanırsa başlangıç öğesinin değeri, aksi takdirde durdurma ve gerçek başlangıç değeri 0 olur |
stop_or_none
|
int; or None ;
default = Yokoluşturulan listeye dahil edilmeyecek ilk öğenin isteğe bağlı dizini; stop değerine ulaşılmadan önce liste oluşturma işlemi durdurulur.
|
step
|
varsayılan = 1 Artım (varsayılan 1'dir). Olumsuz olabilir. |
register_execution_platforms()
None register_execution_platforms(*platform_labels)Önceden tanımlanmış bir platformu kaydederek Bazel'ın araç zinciri çözümü sırasında bu platformu bir yürütme platformu olarak kullanmasını sağlayın.
Parametreler
Parametre | Açıklama |
---|---|
platform_labels
|
sequence of strings ;
zorunluKaydedilecek platformların etiketleri. |
register_execution_platforms()
None register_execution_platforms(*platform_labels)Bu modül seçildiğinde kaydedilecek önceden tanımlanmış yürütme platformlarını belirtir. Mutlak hedef kalıpları olmalıdır (yani,
@
veya //
ile başlamalıdır). Daha fazla bilgi için araç zinciri çözünürlüğüne bakın.
Parametreler
Parametre | Açıklama |
---|---|
platform_labels
|
sequence of strings ;
zorunluKaydedilecek platformların etiketleri. |
register_toolchains()
None register_toolchains(*toolchain_labels)Önceden tanımlanmış bir araç zincirini kaydettirerek Bazel'in bu araç zincirini araç zinciri çözümü sırasında kullanabilirsiniz. Araç zincirlerini tanımlama ve kaydetme örneklerine bakın.
Parametreler
Parametre | Açıklama |
---|---|
toolchain_labels
|
sequence of strings ;
zorunluKaydedilecek araç zincirlerinin etiketleri. |
register_toolchains()
None register_toolchains(*toolchain_labels)Bu modül seçildiğinde kaydedilecek önceden tanımlanmış araç zincirlerini belirtir. Mutlak hedef kalıpları olmalıdır (yani,
@
veya //
ile başlamalıdır). Daha fazla bilgi için araç zinciri çözünürlüğüne bakın.
Parametreler
Parametre | Açıklama |
---|---|
toolchain_labels
|
sequence of strings ;
zorunluKaydedilecek araç zincirlerinin etiketleri. |
repository_rule(uygulama, attrs, yerel, environ, yapılandır, uzaklaştırılan, doküman)
callable repository_rule(implementation, *, attrs=None, local=False, environ=[], configure=False, remotable=False, doc='')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; or None ;
default = Yoksö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
|
varsayılan = Yanlış Bu kuralın yerel sistemden her şeyi getirdiğini ve her getirme işleminde yeniden değerlendirilmesi gerektiğini belirtin. |
environ
|
sequence of strings ;
default = []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
|
default = False Deponun, sistemi yapılandırma amacıyla incelediğini belirtin |
remotable
|
varsayılan = Yanlış Deneysel. 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
|
default = '' Doküman oluşturma araçları tarafından çıkarılabilen kod deposu kuralının açıklaması. |
repository_rule(uygulama, attrs, yerel, environ, yapılandır, uzaklaştırılan, doküman)
callable repository_rule(implementation, *, attrs=None, local=False, environ=[], configure=False, remotable=False, doc='')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; or None ;
default = Yoksö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
|
varsayılan = Yanlış Bu kuralın yerel sistemden her şeyi getirdiğini ve her getirme işleminde yeniden değerlendirilmesi gerektiğini belirtin. |
environ
|
sequence of strings ;
default = []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
|
default = False Deponun, sistemi yapılandırma amacıyla incelediğini belirtin |
remotable
|
varsayılan = Yanlış Deneysel. 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
|
default = '' Doküman oluşturma araçları tarafından çıkarılabilen kod deposu kuralının açıklaması. |
yy
string repr(x)Herhangi bir nesneyi dize gösterimine dönüştürür. Bu, hata ayıklama için yararlıdır.
repr("ab") == '"ab"'
Parametreler
Parametre | Açıklama |
---|---|
x
|
gerekli Dönüştürülecek nesne. |
tersine çevrildi
list reversed(sequence)Yinelenebilir orijinal dizinin öğelerini ters sırada içeren yeni, dondurulmamış bir listeyi döndürür.
reversed([3, 5, 4]) == [4, 5, 3]
Parametreler
Parametre | Açıklama |
---|---|
sequence
|
gerekli Ters alınacak yinelenebilir adım sırası (ör. liste). |
kural
callable rule(implementation, test=False, attrs=None, outputs=None, executable=False, output_to_genfiles=False, fragments=[], host_fragments=[], _skylark_testable=False, toolchains=[], incompatible_use_toolchain_transition=False, doc='', *, provides=[], exec_compatible_with=[], analysis_test=False, build_setting=None, cfg=None, exec_groups=None, compile_one_filetype=None, name=None)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
|
default = False 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 olarak kabul edilir; bir test kuralı için executable = True değerinin açıkça ayarlanması gerekmez (ve önerilmez). Daha fazla bilgi için Kurallar sayfasına göz atın.
|
attrs
|
dict; or None ;
default = Yoksözlüğü. 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; or None; or function ;
varsayılan = YokKullanımdan kaldırıldı. 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
|
default = False Bu kuralın yürütülebilir olarak kabul edilip edilmediği, yani bir blaze run komutunun konusu olup olmadığı. Daha fazla bilgi için Kurallar sayfasına göz atın.
|
output_to_genfiles
|
default = False 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
|
sequence of strings ;
default = []Kuralın hedef yapılandırmada gerektirdiği yapılandırma parçalarının adlarının listesi. |
host_fragments
|
sequence of strings ;
default = []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 = Yanlış (Deneysel) Doğru ise bu kural, Actions sağlayıcısı aracılığıyla kendisine bağlı kuralları temel alarak 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 ;
default = []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
|
default = False Kullanımdan kaldırıldı, artık kullanılmıyor ve kaldırılması gerekiyor. |
doc
|
default = '' Doküman oluşturma araçları tarafından çıkarılabilen kuralın açıklaması. |
provides
|
default = [] 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
|
sequence of strings ;
varsayılan = []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
|
default = False Doğru değerine ayarlanırsa 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; or None ;
varsayılan = YokAyarlanırsa bu kuralın ne tür bir build setting olduğunu açıklar. 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 = Yok Ayarlanırsa, kuralın analizden önce kendi yapılandırmasına uygulanacak yapılandırma geçişine işaret eder. |
exec_groups
|
dict; or None ;
default = NoneYürütme grubu adını (dize) dikteyi exec_group s olarak ayarlayın. 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.
|
compile_one_filetype
|
sequence of strings; or None ;
varsayılan = YokKullanan --der_one_dependency: Belirtilen dosya birden fazla kural tarafından tüketilirse bu kuralı diğerlerine göre seçmemiz gerekir. |
name
|
string; or None ;
varsayılan = YokKullanımdan kaldırıldı. Bu parametre artık kullanılmamaktadır ve yakında kaldırılacaktır. Lütfen bu özelliğe güvenmeyin. --+incompatible_remove_rule_name_parameter 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. Kullanımdan kaldırıldı: kullanmayın. Bu kuralın Bazel tarafından anlaşıldığı ve günlük kaydı, Bu parametre atlanırsa kuralın adı, bildirilen .bzl modülünde bu kurala bağlanacak ilk Starlark genel değişkeninin adı olarak ayarlanır. Dolayısıyla, ad Bir kural için açık bir ad belirtmeniz, kuralı oluşturmanıza izin verilen yeri değiştirmez. |
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
|
default = '' Hiçbir koşul eşleşmediğinde bildirilecek isteğe bağlı özel hata. |
single_version_override
None single_version_override(module_name, version='', registry='', patches=[], patch_cmds=[], patch_strip=0)Bir bağımlılığın yine de bir kayıt defterinden gelmesi gerektiğini ancak sürümünün sabitlenmesi, kayıt defterinin geçersiz kılınması veya bir yama listesinin uygulanması gerektiğini belirtir. Bu yönerge yalnızca kök modül tarafından kullanılabilir. Diğer bir deyişle, bir modül herhangi bir geçersiz kılma belirtiyorsa başkaları tarafından bağımlılık olarak kullanılamaz.
Parametreler
Parametre | Açıklama |
---|---|
module_name
|
gerekli Bu geçersiz kılma işleminin uygulanacağı Bazel modülü bağımlılığının adı. |
version
|
default = '' Bağımlılık grafiğinde bu modülün bildirilen sürümünü geçersiz kılar. Başka bir deyişle, bu modül bu geçersiz kılma sürümüne "sabitlenir". Geçersiz kılma işleminin tümü kayıt defteri veya yamalarsa bu özellik atlanabilir. |
registry
|
default = '' Bu modülün kayıt defterini geçersiz kılar. Bu modülü varsayılan kayıt otoriteleri listesinden bulmak yerine belirtilen kayıt otoritesi kullanılmalıdır. |
patches
|
Iterable of strings ;
default = []Bu modüle uygulanacak yama dosyalarına işaret eden etiketlerin listesi. Yama dosyaları üst düzey projenin kaynak ağacında bulunmalıdır. Liste sırasına göre uygulanırlar. |
patch_cmds
|
Iterable of strings ;
default = []Yamalar uygulandıktan sonra Linux/Macos'a uygulanacak Bash komutlarının sırası. |
patch_strip
|
default = 0 Unix yamasının --strip bağımsız değişkeniyle aynıdır. |
sıralandı
list sorted(iterable, *, key=None, reverse=False)Sağlanan yinelenebilir dizinin tüm öğelerini içeren yeni bir sıralanmış liste döndürür. Herhangi bir x ve y öğesi çifti x < y kullanılarak karşılaştırılamazsa bir hata oluşabilir. Ters bağımsız değişken Doğru değerine eşit olmadığı sürece öğeler azalan düzende sıralanır. Sıralama sabittir: Eşit olarak karşılaştırılan öğeler, orijinal göreli sıralarını korur.
sorted([3, 5, 4]) == [3, 4, 5]
Parametreler
Parametre | Açıklama |
---|---|
iterable
|
gerekli Sıralama için yinelenebilir sıradır. |
key
|
varsayılan = Yok Karşılaştırmadan önce her öğeye uygulanan isteğe bağlı bir işlev. |
reverse
|
varsayılan = Yanlış Sonuçları azalan düzende döndürür. |
str
string str(x)Herhangi bir nesneyi dizeye dönüştürür. Bu, hata ayıklama için yararlıdır.
str("ab") == "ab" str(8) == "8"
Parametreler
Parametre | Açıklama |
---|---|
x
|
gerekli Dönüştürülecek nesne. |
tag_class
tag_class tag_class(attrs={}, *, doc='')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
|
default = {} 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
|
default = '' Doküman oluşturma araçları tarafından çıkarılabilen etiket sınıfının açıklaması. |
tuple
tuple tuple(x=())Verilen yinelenebilir değerle aynı öğelere sahip bir tuple döndürür.
tuple([1, 2]) == (1, 2) tuple((2, 3, 2)) == (2, 3, 2) tuple({5: "a", 2: "b", 4: "c"}) == (5, 2, 4)
Parametreler
Parametre | Açıklama |
---|---|
x
|
default = () Dönüştürülecek nesne. |
tür
string type(x)Bağımsız değişkenin tür adını döndürür. Bu özellik, hata ayıklama ve tür denetimi için kullanışlıdır. Örnekler:
type(2) == "int" type([1]) == "list" type(struct(a = 2)) == "struct"Bu işlev gelecekte değişebilir. Python ile uyumlu kod yazıp geleceğe hazır olmak için bu kodu yalnızca döndürülen değerleri karşılaştırmak için kullanın:
if type(x) == type([]): # if x is a list
Parametreler
Parametre | Açıklama |
---|---|
x
|
gerekli Türü kontrol edilecek nesne. |
use_extension
module_extension_proxy use_extension(extension_bzl_file, extension_name, *, dev_dependency=False)Bir modül uzantısını temsil eden bir proxy nesnesi döndürür. Yöntemler, modül uzantı etiketleri oluşturmak için çağrılabilir.
Parametreler
Parametre | Açıklama |
---|---|
extension_bzl_file
|
gerekli Modül uzantısını tanımlayan Starlark dosyasının etiketi. |
extension_name
|
gerekli Kullanılacak modül uzantısının adı. Bu ada sahip bir sembol, Starlark dosyası tarafından dışa aktarılmalıdır. |
dev_dependency
|
default = False Doğru değerine ayarlanırsa mevcut modül kök modül değilse veya "--ignore_dev_dependency" etkinse modül uzantısının bu kullanımı yoksayılır. |
use_repo
None use_repo(extension_proxy, *args, **kwargs)Belirtilen modül uzantısı tarafından oluşturulan bir veya daha fazla depoyu geçerli modülün kapsamına içe aktarır.
Parametreler
Parametre | Açıklama |
---|---|
extension_proxy
|
gerekliuse_extension çağrısı tarafından döndürülen bir modül uzantısı proxy nesnesi.
|
args
|
gerekli İçe aktarılacak depoların adları. |
kwargs
|
gerekli Mevcut modülün kapsamına farklı adlarla içe aktarılacak belirli depoları belirtir. Anahtarlar geçerli kapsamda kullanılacak ad olmalıdır, değerler ise modül uzantısı tarafından dışa aktarılan orijinal adlar olmalı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.
|
çalışma alanı
None workspace(name)
Bu işlev yalnızca bir WORKSPACE
dosyasında kullanılabilir ve WORKSPACE
dosyasındaki diğer tüm işlevlerden önce bildirilmelidir. Her WORKSPACE
dosyası bir workspace
işlevine sahip olmalıdır.
Bu çalışma alanının adını ayarlar. Çalışma alanı adları, projenin Java paketi tarzında bir açıklaması olmalı ve ayırıcı olarak alt çizgi kullanılmalıdır. Örneğin, github.com/bazelbuild/bazel, com_github_bazelbuild_bazel kullanmalıdır.
Bu ad, deponun çalıştırma dosyalarının depolandığı dizin için kullanılır. Örneğin, yerel depoda çalıştırma dosyası foo/bar
bulunuyorsa ve WORKSPACE dosyası workspace(name = 'baz')
dosyası içeriyorsa çalıştırma dosyası mytarget.runfiles/baz/foo/bar
altında kullanılabilir. Çalışma alanı adı belirtilmezse çalıştırma dosyası, bar.runfiles/foo/bar
ile sembolik olarak bağlanır.
Uzak depo kural adları, geçerli çalışma alanı adları olmalıdır. Örneğin, maven_jar(name = 'foo')
olabilir ancak maven_jar(name = 'foo%bar')
olmayabilir. Çünkü Bazel, workspace(name = 'foo%bar')
içeren maven_jar
için bir WORKSPACE dosyası yazmaya çalışacaktır.
Parametreler
Parametre | Açıklama |
---|---|
name
|
gerekli çalışma alanının adı. Adlar bir harfle başlamalıdır ve yalnızca harf, rakam, alt çizgi, kısa çizgi ve nokta içerebilir. |
zip
list zip(*args)Bir
tuple
list
değerini döndürür. Burada i'inci unsur, bağımsız değişken dizilerinin veya iterasyonların her birinden i'inci öğeyi içerir. Liste, en kısa girişin boyutuna sahiptir. Tek bir yinelenebilir bağımsız değişkenle, 1 unsurdan oluşan bir liste döndürür. Bağımsız değişken olmadığında boş bir liste döndürür. Örnekler:zip() # == [] zip([1, 2]) # == [(1,), (2,)] zip([1, 2], [3, 4]) # == [(1, 3), (2, 4)] zip([1, 2], [3, 4, 5]) # == [(1, 3), (2, 4)]
Parametreler
Parametre | Açıklama |
---|---|
args
|
zorunlu listeler hazırlayın. |