Üyeler
- tümü
- analysis_test_transition
- herhangi biri
- archive_override
- aspect
- bazel_dep
- bağla
- bool
- configuration_field
- depset
- dict
- dir
- enumerate
- exec_group
- başarısız
- float
- getattr
- git_override
- hasattr
- hash
- int
- len
- list
- local_path_override
- max
- dk.
- module
- module_extension
- multiple_version_override
- sağlayıcı
- aralık
- register_execution_platforms()
- register_execution_platforms(dev_dependency)
- register_toolchains()
- register_toolchains(dev_dependency)
- repository_rule(APPLICATION, attrs, local, environ, configuration, remotable, doc)
- repository_rule(implementation, attrs, local, environ, configure, remotable, doc)
- repr
- ters
- rule
- seç
- single_version_override
- sıralı
- str
- tag_class
- tuple
- type
- use_extension
- use_repo
- visibility
- workspace
- zip
tümü
bool all(elements)Tüm öğeler doğru olarak değerlendiriliyorsa veya koleksiyon boşsa doğru değerini döndürür. Öğeler, bool işlevi kullanılarak doğru/yanlış değerine dönüştürülür.
all(["hello", 3, True]) == True all([-1, 0, 1]) == False
Parametreler
Parametre | Açıklama |
---|---|
elements
|
required Bir dize veya öğe koleksiyonu. |
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
içeren kuralların özelliklerine uygulanabilir. Bu tür kuralların işlevleri sınırlı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, geçiş 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 dokümanlarına (veya uygulanmasına) bakın.
Parametreler
Parametre | Açıklama |
---|---|
settings
|
required 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 tüm ayarlar değişmez. Bir analiz testinin geçmesi için ayarlanması gereken belirli yapılandırma ayarlarını belirtmek amacıyla bunu kullanın. |
herhangi
bool any(elements)En az bir öğe doğru olarak değerlendirilirse doğru değerini döndürür. Öğeler, bool işlevi kullanılarak doğru/yanlış değerine dönüştürülür.
any([-1, 0, 1]) == True any([False, 0, ""]) == False
Parametreler
Parametre | Açıklama |
---|---|
elements
|
required 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, kayıt otoritesinden 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ülde geçerli olur. Diğer bir deyişle, bir modül başkaları tarafından bağımlılık olarak kullanılırsa kendi geçersiz kılma işlemleri yoksayılır.
Parametreler
Parametre | Açıklama |
---|---|
module_name
|
required 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
|
varsayılan = "' Alt Kaynak Bütünlüğü biçiminde arşiv dosyasının beklenen sağlama toplamı. |
strip_prefix
|
varsayılan = '' Çıkarılan dosyalardan kaldırılacak bir dizin ön eki. |
patches
|
Iterable of strings ;
default = []Bu modüle uygulanacak yamalar dosyalarını işaret eden etiketlerin listesi. Yama dosyaları, üst düzey projenin kaynak ağacında bulunmalıdır. Bunlar liste sırasına göre uygulanır. |
patch_cmds
|
Iterable of strings ;
varsayılan = []Yamalar uygulandıktan sonra Linux/Macos'ta uygulanacak Bash komutları dizisi. |
patch_strip
|
varsayılan = 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 unsur yaratır. Bu işlevin sonucu bir genel değerde depolanmalıdır. Daha fazla bilgi için lütfen yönlere giriş başlıklı makaleyi inceleyin.
Parametreler
Parametre | Açıklama |
---|---|
implementation
|
required Bu yönü uygulayan ve tam olarak iki parametre içeren bir Starlark işlevi: Hedef (yönün uygulandığı hedef) ve ctx (hedefin oluşturulduğu kural bağlamı). Hedefin özelliklerine ctx.rule alanı aracılığıyla erişilebilir. Bu işlev, analiz aşamasında bir özelliğin hedefe her uygulanması için değerlendirilir.
|
attr_aspects
|
sequence of strings ;
varsayılan = []Özellik adlarının listesi. Yön, bu adlara sahip bir hedefin özelliklerinde belirtilen bağımlılıklara göre 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; or None ;
default = NoneÖzelliğin tüm özelliklerini açıklayan bir sözlük. Bir özellik adını "attr.label" veya "attr.string" gibi bir özellik nesnesine eşler (attr modülüne bakın). Yön özellik değerleri, uygulama işlevi tarafından ctx parametresinin alanları olarak kullanılabilir.
Açık atıf özellikleri |
required_providers
|
default = [] Bu özellik, özelliğin yayılmasını, yalnızca kuralları zorunlu sağlayıcıların reklamını yapan hedeflerle sınırlandırmasına olanak tanır. Değer, ya tek tek sağlayıcılar ya da sağlayıcı listeleri içeren (ikisini birden değil) bir liste olmalıdır. Örneğin, [[FooInfo], [BarInfo], [BazInfo, QuxInfo]] geçerli bir değerken [FooInfo, BarInfo, [BazInfo, QuxInfo]] geçerli değildir.İç içe yerleştirilmemiş bir sağlayıcı listesi, otomatik olarak tek bir sağlayıcı listesi içeren bir listeye dönüştürülür. Yani Bazı kural (ör. |
required_aspect_providers
|
default = [] Bu özellik, bu özelliğin diğer unsurları incelemesine olanak tanır. Değer, ya tek tek sağlayıcılar ya da sağlayıcı listeleri içeren (ikisini birden değil) bir liste olmalıdır. Örneğin, [[FooInfo], [BarInfo], [BazInfo, QuxInfo]] geçerli bir değerken [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 Başka bir yönü (ö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önüş değerinden çıkarırsa hata oluşur. Ancak uygulama işlevi, burada listelenmeyen ek sağlayıcılar döndürebilir. Listenin her öğesi, |
requires
|
sequence of Aspects ;
default = []Bu özellikten önce dağıtılması gereken özelliklerin listesi. |
fragments
|
sequence of strings ;
default = []Yönelinin hedef yapılandırmada gerektirdiği yapılandırma parçalarının adları. |
host_fragments
|
sequence of strings ;
default = []Ana makine yapılandırmasında detayın gerektirdiği yapılandırma parçalarının 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 nesneleri içerebilir. Araçlar zincirleri, mevcut platform kontrol edilerek bulunur ve ctx.toolchain aracılığıyla kural uygulamasına sağlanır.
|
incompatible_use_toolchain_transition
|
default = False Deprecated, this is no longer in use and should be removed. |
doc
|
default = '' Belge oluşturma araçları tarafından çıkarılabilecek özelliğin açıklaması. |
apply_to_generating_rules
|
varsayılan = Yanlış Doğru ise bir çıkış dosyasına uygulanan yön, çıkış dosyasının oluşturma kuralına uygulanır. Örneğin, bir özelliğin "deps" özelliği aracılığıyla aktarmalı olarak yayıldığını ve "alpha" hedefine uygulandığını varsayalım. "alpha"nın "deps = [':beta_output']" değerine sahip olduğunu varsayalım. Burada "beta_output", bir "beta" hedefinin tanımlanmış bir çıkışıdır. "beta"nın "deps" özelliklerinden biri olarak "charlie" hedefinin olduğunu varsayalım. Özellik için "apply_to_generating_rules=True" ise özellik "alpha", "beta" ve "charlie" aracılığıyla yayılır. Yanlış ise özellik yalnızca "alpha"ya yayılır. Varsayılan olarak yanlıştır. |
exec_compatible_with
|
sequence of strings ;
default = []Yürütme platformundaki, bu özelliğin tüm örnekleri için geçerli olan kısıtlamaların listesi. |
exec_groups
|
dict; or None ;
default = YokYürütme grubu adı (dize) ile exec_group arasındakiler. Ayarlanırsa yönlerin tek bir örnek içinde birden fazla yürütme platformunda işlemler çalıştırmasına olanak tanır. Daha fazla bilgi için yürütme grupları belgelerine bakın.
|
bazel_dep
None bazel_dep(name, version='', max_compatibility_level=-1, repo_name='', dev_dependency=False)Başka bir Bazel modülüne doğrudan bağımlılık belirtir.
Parametreler
Parametre | Açıklama |
---|---|
name
|
required 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ü. |
max_compatibility_level
|
default = -1 Modülün doğrudan bağımlılık olarak eklenmesi için desteklenen maksimum compatibility_level . Modülün sürümü, desteklenen minimum compatibility_level değerini ve bu özellik belirtilmemişse maksimum değeri belirtir.
|
repo_name
|
default = '' Bu bağımlılığı temsil eden harici deponun adı. Bu, varsayılan olarak modülün adıdır. |
dev_dependency
|
varsayılan = False Doğruysa 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 alternatifleri hakkında ayrıntılı bilgi için bind işlevini kaldırmayı düşünün başlıklı makaleyi inceleyin.
Bir hedefe //external
paketinde bir takma ad verir.
Parametreler
Parametre | Açıklama |
---|---|
name
|
required "//external" altındaki etiket, takma ad olarak kullanılır. |
actual
|
string; or None ;
default = NoneTakma ad verilecek gerçek etiket |
bool
bool bool(x=False)bool türü için kurucu. Nesne
None
, False
, boş dize (""
), 0
sayısı veya boş bir koleksiyon (ör. ()
, []
) ise False
döndürür. Aksi takdirde True
döndürür.
Parametreler
Parametre | Açıklama |
---|---|
x
|
default = False Dönüştürülecek değişken. |
configuration_field
LateBoundDefault configuration_field(fragment, name)Etiket türündeki bir özellik için geç bağlanmış varsayılan değeri referans verir. Bir değer, değeri belirlemeden önce yapılandırmanın oluşturulmasını gerektiriyorsa "geç bağlanma" özelliğine sahiptir. Bu değeri kullanan tüm özellikler özel olmalıdır.
Örnek kullanım:
Kural özelliğini 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
|
required Geç bağlanan değeri içeren bir yapılandırma parçasının adı. |
name
|
required Yapılandırma parçasından alınacak değerin adı. |
depset
depset depset(direct=None, order="default", *, transitive=None)depset oluşturur.
direct
parametresi, bağımlılık grubunun doğrudan öğelerinin bir listesi, transitive
parametresi ise öğeleri oluşturulan bağımlılık grubunun dolaylı öğeleri haline gelen bağımlılık gruplarının bir listesidir. Depset bir listeye dönüştürüldüğünde öğelerin döndürülme sırası order
parametresi tarafından belirtilir. Daha fazla bilgi için Depset'lere genel bakış başlıklı makaleyi inceleyin.
Bir depsetteki tüm öğeler (doğrudan ve dolaylı), type(x)
ifadesiyle elde edilen türde olmalıdır.
Yineleme sırasında yinelemeleri ortadan kaldırmak için karma oluşturmaya dayalı bir küme kullanıldığından, depset'in tüm öğeleri karma oluşturmaya uygun olmalıdır. Ancak bu değişmez özellik şu anda tüm kurucularda tutarlı bir şekilde kontrol edilmemektedir. Tutarlı kontrolü etkinleştirmek için --incompatible_always_check_depset_elements işaretini kullanın. Bu, gelecekteki sürümlerde varsayılan davranış olacaktır. Sayı 10313 sorununa bakın.
Ayrıca, öğeler şu anda değiştirilemez olmalıdır ancak bu kısıtlama gelecekte gevşetilecektir.
Oluşturulan depsetin sırası, transitive
depsetlerinin sırası ile 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 dönük/ileri dönük uyumlulukla ilgili not. Bu işlev şu anda konumsal bir items
parametresini kabul etmektedir. Bu işlev için destek sonlandırılmış olup gelecekte kaldırılacaktır. Kaldırıldıktan sonra direct
, depset
işlevinin tek konumsal parametresi haline gelecektir. Bu nedenle, aşağıdaki çağrıların ikisi de eşdeğerdir ve gelecekte de geçerli olacaktır:
depset(['a', 'b'], transitive = [...]) depset(direct = ['a', 'b'], transitive = [...])
Parametreler
Parametre | Açıklama |
---|---|
direct
|
sequence; or None ;
default = NoneBir depsetin doğrudan öğelerinin listesi. |
order
|
default = "default" Yeni depset için tarama stratejisi. Olası değerler için buraya bakın. |
transitive
|
sequence of depsets; or None ;
default = NoneÖğeleri depsetin dolaylı öğeleri olacak depsetlerin listesi. |
dict
dict dict(pairs=[], **kwargs)İsteğe bağlı bir konumsal bağımsız değişkenden 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 verildiği durumlarda son değer kullanılır. Anahtar kelime bağımsız değişkenleri aracılığıyla sağlanan girişlerin, konumsal bağımsız değişken aracılığıyla sağlanan girişlerden sonra geldiği kabul edilir.
Parametreler
Parametre | Açıklama |
---|---|
pairs
|
default = [] Öğelerinin her biri uzunluk olarak 2 (anahtar, değer) olan bir dikte veya yineleme. |
kwargs
|
required Ek girişler sözlüğü. |
dir
list dir(x)Parametre nesnesinin özelliklerinin ve yöntemlerinin adlarını içeren bir dize listesi döndürür.
Parametreler
Parametre | Açıklama |
---|---|
x
|
required Kontrol edilecek nesne. |
numaralandırmak
list enumerate(list, start=0)Giriş dizisindeki dizini (int) ve öğeyi içeren bir çiftler listesi (iki öğeli tuple) 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şlem oluşturmak üzere 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 ;
default = []Yürütme platformundaki kısıtlamaların listesi. |
copy_from_rule
|
default = False Doğru olarak ayarlanırsa bu yürütme grubu, bu grubun bağlı olduğu kuralın araç zincirlerini ve kısıtlamalarını devralır. Başka bir dize olarak ayarlanırsa hata oluşur. |
başarısız
None fail(msg=None, attr=None, *args)Yürütmenin bir hatayla başarısız olmasına neden olur.
Parametreler
Parametre | Açıklama |
---|---|
msg
|
default = None Deprecated: bunun yerine konumsal bağımsız değişkenleri kullanın. Bu bağımsız değişken, gizli bir başlangıç konumsal bağımsız değişkeni gibi davranır. |
attr
|
string; or None ;
default = NoneDesteği sonlandırıldı. Bu dizeyi içeren isteğe bağlı bir ön ekin hata mesajına eklenmesine neden olur. |
args
|
required Hata mesajında görünen, str ile biçimlendirilmiş ve boşluklarla birleştirilmiş değerlerin listesi. |
kayan noktalı
float float(x=unbound)Kayan noktalı değer olarak x'i döndürür.
x
zaten kayan noktalı bir değersefloat
, değeri değiştirmeden döndürür.x
bir bool isefloat
, Doğru için 1,0, Yanlış için 0,0 döndürür.x
bir int isefloat
, x'e en yakın sonlu kayan nokta değerini döndürür veya büyüklük çok büyükse bir hata döndürür.x
bir dize ise geçerli bir kayan noktalı değişmez değer veyaNaN
,Inf
ya daInfinity
ile eşit (büyük/küçük harf duyarlılığı yoksayılır) olmalıdır. Dilerseniz+
veya-
işareti de ekleyebilirsiniz.
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)Varsa yapının, belirtilen ada sahip alanını döndürür. Aksi takdirde
default
değerini (belirtilmişse) döndürür veya hata oluşturur. getattr(x, "foobar")
, x.foobar
ile eşdeğerdir.getattr(ctx.attr, "myattr") getattr(ctx.attr, "myattr", "mydefault")
Parametreler
Parametre | Açıklama |
---|---|
x
|
required Özelliğine erişilen yapı. |
name
|
required Yapı özelliğinin adı. |
default
|
default = unbound Yapının belirtilen ada sahip bir özelliği 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ık için Git deposunun belirli bir gönderiminden gelmesi gerektiğini belirtir. Bu yönerge yalnızca kök modülde geçerli olur. Diğer bir deyişle, bir modül başkaları tarafından bağımlılık olarak kullanılırsa kendi geçersiz kılma işlemleri yoksayılır.
Parametreler
Parametre | Açıklama |
---|---|
module_name
|
required Bu geçersiz kılma işleminin uygulanacağı Bazel modülü bağımlılığının adı. |
remote
|
zorunlu Uzak Git deposunun URL'si. |
commit
|
default = '' Check out yapılması gereken commit. |
patches
|
Iterable of strings ;
default = []Bu modüle uygulanacak yamalar dosyalarını 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'ta uygulanacak Bash komutları dizisi. |
patch_strip
|
varsayılan = 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ğine veya yöntemine sahipse True (Doğru), aksi takdirde False (Yanlış) değerini döndürür. Örnek:hasattr(ctx.attr, "myattr")
Parametreler
Parametre | Açıklama |
---|---|
x
|
required Kontrol edilecek nesne. |
name
|
required Özelliğin adı. |
hash
int hash(value)Bir dize için karma değer döndürür. Bu değer, Java'nın
String.hashCode()
ile aynı algoritma kullanılarak belirlenir. Şöyle ki: s[0] * (31^(n-1)) + s[1] * (31^(n-2)) + ... + s[n-1]Dizeler dışındaki değerlerin karma oluşturma işlemi şu anda desteklenmiyor.
Parametreler
Parametre | Açıklama |
---|---|
value
|
required Karma oluşturma işlemi uygulanacak dize değeri. |
int
int int(x, base=unbound)x değerini tam sayı olarak döndürür.
x
zaten bir tam sayı iseint
bunu değiştirmeden döndürür.x
bir boole iseint
, True için 1 ve False için 0 değerini döndürür.x
bir dizeyse<sign><prefix><digits>
biçiminde olmalıdır.<sign>
,"+"
,"-"
veya boştur (pozitif olarak yorumlanır).<digits>
, 0 ilebase
- 1 arasındaki bir basamak dizisidir. Bu dizede, 10-35 için a-z harfleri (veya eşdeğeri olarak A-Z) basamak olarak kullanılır.base
2/8/16 ise<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 dışında başka bir değer veya özel değer 0 ise ön ek boş olmalıdır.base
değerinin 0 olduğu durumda dize, kullanılan ön eke bağlı olarak 2/8/10/16 tabanlarından birinin seçilmesi anlamında tam sayı sabit değeri olarak yorumlanır.base
değeri 0 ise, herhangi bir ön ek kullanılmaz ve birden fazla basamak varsa baştaki basamak 0 olamaz. Bunun amacı, sekizlik ve ondalık arasında karışıklık olmasını önlemektir. Dizeyle temsil edilen sayının büyüklüğü, int türü için izin verilen aralık içinde olmalıdır.x
bir kayan noktalı sayıysaint
, sıfıra yuvarlanarak kayan noktalı değerin tam sayı değerini döndürür. x sonlu değilse (NaN veya sonsuzluk) bir hatadır.
x
başka bir türse veya değer yukarıdaki biçimi karşılamayan bir dizeyse bu işlev başarısız olur. Python'un int
işlevinin aksine bu işlev, sıfır bağımsız değişkene ve dize bağımsız değişkenlerinde gereksiz 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
|
required Dönüştürülecek dize. |
base
|
default = unbound Bir dize değerini yorumlamak için kullanılan taban; varsayılan olarak 10'dur. 2 ile 36 arasında (dahil) veya x bir tam sayı değişmeziymiş gibi taban değerini algılamak için 0 olmalıdır. Değer bir dize değilse bu parametre sağlanmamalıdır.
|
Len
int len(x)Dize, adım sırası (ör. liste veya demet), dikim veya başka bir yinelemenin uzunluğunu döndürür.
Parametreler
Parametre | Açıklama |
---|---|
x
|
gerekli Uzunluğu bildirilecek değer. |
list
list list(x=[])Belirtilen yinelenebilir değerle aynı öğeleri içeren 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ülde geçerli olur. Başka bir deyişle, bir modül başkaları tarafından bağımlılık olarak kullanılırsa kendi geçersiz kılmaları yok sayılır.
Parametreler
Parametre | Açıklama |
---|---|
module_name
|
required Bu geçersiz kılma işleminin uygulanacağı Bazel modülü bağımlılığının adı. |
path
|
required Bu modülün bulunduğu dizinin yolu. |
maks.
unknown max(*args)Verilen tüm bağımsız değişkenler arasından en büyük olanı döndürür. Yalnızca bir bağımsız değişken sağlanırsa bu bağımsız değişken boş olmayan bir iteratör olmalıdır. Öğeler karşılaştırılabilir değilse (ör. tam sayı ile dize) veya bağımsız değişken sağlanmamışsa hata oluşur.
max(2, 5, 4) == 5 max([5, 6, 3]) == 6
Parametreler
Parametre | Açıklama |
---|---|
args
|
gerekli Kontrol edilecek öğeler. |
dk
unknown min(*args)Verilen tüm bağımsız değişkenler arasından en küçük olanı döndürür. Yalnızca bir bağımsız değişken sağlanırsa bu bağımsız değişken boş olmayan bir iteratör olmalıdır. Öğeler karşılaştırılabilir değilse (ör. tam sayı ile dize) veya bağımsız değişken verilmezse hata oluşur.
min(2, 5, 4) == 2 min([5, 6, 3]) == 3
Parametreler
Parametre | Açıklama |
---|---|
args
|
required Kontrol edilecek öğeler. |
modül
None module(name='', version='', compatibility_level=0, repo_name='', bazel_compatibility=[])Mevcut Bazel deposu tarafından temsil edilen Bazel modülünün belirli özelliklerini belirtir. Bu özellikler, modülün temel meta verileridir (ad ve sürüm gibi) veya mevcut modülün ve bağımlılarının davranışını etkiler.
En fazla bir kez aranmalıdır. Yalnızca bu modül kök modülse (yani başka bir modül tarafından bağımlı 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ğımlı olmayacaksa olduğu gibi) atlanabilir. Geçerli bir 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 (yani başka bir modül tarafından bağımlı olmayacaksa) atlanabilir. |
compatibility_level
|
default = 0 Modülün uyumluluk seviyesi. Bu değer, uyumsuz büyük bir değişiklik her uygulandığında değiştirilmelidir. Bu, SemVer açısından modülün "büyük sürümü"dür. Bununla birlikte, sürüm dizesine yerleştirilmez ve ayrı bir alan olarak bulunur. Farklı uyumluluk düzeylerine sahip modüller, farklı ada sahip modüllermiş gibi sürüm çözümüne katılır ancak nihai bağımlılık grafiği, aynı ada sahip ancak farklı uyumluluk düzeylerine sahip birden fazla modül içeremez ( multiple_version_override etkin değilse; daha fazla bilgi için buraya bakın).
|
repo_name
|
default = '' Bu modülün kendisinin gördüğü şekilde, modülü temsil eden deponun adı. Varsayılan olarak deponun adı modülün adıdır. Bu, modül adından farklı bir depo adı kullanan projeler için taşımayı kolaylaştırmak amacıyla belirtilebilir. |
bazel_compatibility
|
Iterable of strings ;
default = []Kullanıcıların bu modülle uyumlu Bazel sürümlerini belirtmesine olanak tanıyan Bazel sürümlerinin listesi. Bağımlılık çözümünü etkilemez ancak bzlmod, mevcut Bazel sürümünüzün uyumlu olup olmadığını kontrol etmek için bu bilgileri kullanır. Bu değerin biçimi, virgülle ayrılmış bazı kısıtlama değerlerinin dizesidir. Üç kısıtlama desteklenir: <=X.X.X: Bazel sürümü X.X.X'e eşit veya bu sürümden 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 ile aynı veya daha yeni olmalıdır.Yalnızca X.X.X tarihinden sonra kullanılabilen bazı özelliklere ihtiyacınız olduğunda kullanılır. -X.X.X: Bazel sürümü X.X.X 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. Dışa aktarılıp MODULE.bazel dosyasında kullanılabilmesi için global bir değerde saklayın.
Parametreler
Parametre | Açıklama |
---|---|
implementation
|
required Bu modül uzantısını uygulayan işlev. Tek bir parametre olmalıdır: module_ctx . Mevcut depo grubunu belirlemek için işlev, derlemenin başında bir kez çağrılır.
|
tag_classes
|
default = {} Uzantı tarafından kullanılan tüm etiket sınıflarını beyan etmek için bir sözlük. Etiket sınıfının adından bir tag_class nesnesiyle eşlenir.
|
doc
|
default = '' Doküman oluşturma araçları tarafından ayıklanabilen modül uzantısının açıklaması. |
multiple_version_override
None multiple_version_override(module_name, versions, registry='')Bir bağımlılık için yine de bir kayıt defteri kullanılacağını ancak birden fazla sürümünün birlikte var olmasına izin verilmesi gerektiğini belirtir. Daha fazla ayrıntı için dokümanları inceleyin. Bu yönerge yalnızca kök modülde geçerli olur. Diğer bir deyişle, bir modül başkaları tarafından bağımlılık olarak kullanılırsa kendi geçersiz kılma işlemleri yoksayılır.
Parametreler
Parametre | Açıklama |
---|---|
module_name
|
required Bu geçersiz kılma işleminin uygulanacağı Bazel modülü bağımlılığının adı. |
versions
|
Iterable of strings ;
requiredBir arada bulunmasına izin verilen sürümleri açıkça belirtir. Bu sürümler bağımlılık grafiği ön seçiminde zaten mevcut olmalıdır. Bu modülün bağımlılıkları, aynı uyumluluk düzeyinde izin verilen en yakın üst sürüme "yükseltilir". Aynı uyumluluk düzeyinde izin verilen sürümlerden daha yüksek sürüme sahip 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 defteri listesinden bulunmaz, belirtilen kayıt defteri kullanılır. |
yazdır
None print(sep=" ", *args)Hata ayıklama çıkışı olarak
args
yazdırır. Ön ek, "DEBUG"
dizesi ve bu çağrının konumuyla (dosya ve satır numarası) eklenir. Argümanların dizelere dönüştürülme şekli belirtilmez ve herhangi bir zamanda değişebilir. Özellikle str()
ve repr()
tarafından yapılan biçimlendirmeden farklı (ve daha ayrıntılı) olabilir.Kullanıcılar için spam oluşturduğundan, üretim kodunda print
kullanılması önerilmez. Desteği sonlandırılan özellikler için mümkün olduğunda fail()
kullanarak kesin hata tercih edin.
Parametreler
Parametre | Açıklama |
---|---|
sep
|
default = " " Nesneler arasındaki ayırıcı dize. Varsayılan olarak boşluk (" ") kullanılır. |
args
|
required Yazdırılacak nesneler. |
sağlayıcı
unknown provider(doc='', *, fields=None, init=None)Bir sağlayıcı simgesini tanımlar. Sağlayıcı, çağrılarak örneklendirilebilir veya doğrudan bir hedeften ilgili 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 kılavuz 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şlatılması) bölümüne ve init
parametresiyle ilgili açıklamaya bakın.
Parametreler
Parametre | Açıklama |
---|---|
doc
|
default = '' Doküman oluşturma araçları tarafından ayıklanabilen sağlayıcının açıklaması. |
fields
|
sequence of strings; or dict; or None ;
default = NoneBelirtilirse izin verilen alanlar grubunu kısıtlar. Olası değerler:
|
init
|
callable; or None ;
default = NoneOluşturma 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 işlevi. init belirtilirse provider() , 2 öğeden oluşan bir tuple döndürür: normal sağlayıcı sembolü ve bir ham kurucu.Aşağıda bu konu hakkında ayrıntılı bir açıklama verilmiştir. 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ğırma işlevi verilmediği durumlarda, P simgesine yapılan çağrı, varsayılan yapıcı işlevi c 'e yapılan çağrı gibi davranı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 'un m.foo == 1 içeren bir MyInfo örneği olmasını sağlar.Ancak
Not: Yukarıdaki adımlar, Bu şekilde
MyInfo, _new_myinfo = provider(init = ...) |
aralık
sequence range(start_or_stop, stop_or_none=None, step=1)
step
artışı kullanılarak öğelerin start
ile stop
arasında olduğu bir liste oluşturur. Tek bir bağımsız değişken sağlanırsa öğeler 0 ile ilgili öğ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
|
required durma sağlanırsa başlangıç öğesinin değeri, aksi takdirde durma değerinin değeri ve gerçek başlangıç 0 olur |
stop_or_none
|
int; or None ;
varsayılan = NoneSonuçta elde edilen listeye dahil edilmeyecek ilk öğenin isteğe bağlı dizini; liste oluşturma işlemi stop değerine ulaşılmadan durdurulur.
|
step
|
default = 1 Artış (varsayılan değer 1). Olumsuz olabilir. |
register_execution_platforms()
None register_execution_platforms(*platform_labels)Bazel'in araç zinciri çözümü sırasında çalışma platformu olarak kullanabilmesi için önceden tanımlanmış bir platformu kaydedin.
Parametreler
Parametre | Açıklama |
---|---|
platform_labels
|
sequence of strings ;
zorunluKaydedilecek platformların etiketleri. |
register_execution_platforms(dev_dependency)
None register_execution_platforms(dev_dependency=False, *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 (ör.
@
veya //
ile başlar). Daha fazla bilgi için araç zinciri çözünürlüğü bölümüne bakın.
Parametreler
Parametre | Açıklama |
---|---|
dev_dependency
|
varsayılan = False Doğru ise mevcut modül kök modül değilse veya `--ignore_dev_dependency` etkinse yürütme platformları kaydedilmez. |
platform_labels
|
sequence of strings ;
zorunluKaydedilecek platformların etiketleri. |
register_toolchains()
None register_toolchains(*toolchain_labels)Bazel'in toolchain çözümü sırasında kullanabilmesi için önceden tanımlanmış bir toolchain'i kaydedin. Araç zincirlerini tanımlama ve kaydetme örneklerine bakın.
Parametreler
Parametre | Açıklama |
---|---|
toolchain_labels
|
sequence of strings ;
zorunluKaydedilecek araç zincirlerinin etiketleri. |
register_toolchains(dev_dependency)
None register_toolchains(dev_dependency=False, *toolchain_labels)Bu modül seçildiğinde kaydedilecek, önceden tanımlanmış araç zincirlerini belirtir. Mutlak hedef kalıpları olmalıdır (ör.
@
veya //
ile başlamalıdır). Daha fazla bilgi için araç zinciri çözünürlüğünü inceleyin.
Parametreler
Parametre | Açıklama |
---|---|
dev_dependency
|
default = False Geçerli modül kök modül değilse veya "--ignore_dev_dependency" etkinse araç zincirleri True (doğru) değerine ayarlanırsa kaydedilmez. |
toolchain_labels
|
sequence of strings ;
requiredKaydedilecek araç zincirlerinin etiketleri. |
repository_rule(implementation, attrs, local, environ, configure, remotable, doc)
callable repository_rule(implementation, *, attrs=None, local=False, environ=[], configure=False, remotable=False, doc='')Yeni bir depo kuralı oluşturur. WORKSPACE dosyasından yüklenmesi ve çağrılabilmesi için genel bir değerde depolayın.
Parametreler
Parametre | Açıklama |
---|---|
implementation
|
required Bu kuralı uygulayan işlev. Tek bir parametre ( repository_ctx ) içermelidir. İşlev, kuralın her örneği için yükleme aşamasında çağrılır.
|
attrs
|
dict; or None ;
default = Nonekuralın tüm özelliklerini bildirmek için kullanılan sözlük. Özellik adı, özellik nesnesiyle eşlenir (attr modülüne bakın). _ ile başlayan özellikler gizlidir ve bir dosyaya etikete yönelik gizli bir 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
|
default = False Bu kuralın her şeyi yerel sistemden getirdiğini ve her getirme işleminde yeniden değerlendirilmesi gerektiğini belirtir. |
environ
|
sequence of strings ;
default = []Bu depo kuralının bağlı olduğu ortam değişkenlerinin listesini sağlar. Bu listedeki bir ortam değişkeni değişirse depo yeniden getirilir. |
configure
|
varsayılan = False Deponun, yapılandırma amacıyla sistemi denetlediğine dair işaret |
remotable
|
default = False Deneysel. Bu parametre deneyseldir ve herhangi bir zamanda değişebilir. Lütfen bu yönteme güvenmeyin. ---experimental_repo_remote_exec Uzaktan yürütmeyle uyumlu olarak ayarlanarak deneysel olarak etkinleştirilebilir |
doc
|
default = '' Belge oluşturma araçları tarafından ayıklanabilen depolama alanı kuralının açıklaması. |
repository_rule(implementation, attrs, local, environ, configure, remotable, doc)
callable repository_rule(implementation, *, attrs=None, local=False, environ=[], configure=False, remotable=False, doc='')Yeni bir depo kuralı oluşturur. WORKSPACE dosyasından yüklenmesi ve çağrılabilmesi için genel bir değerde depolayın.
Parametreler
Parametre | Açıklama |
---|---|
implementation
|
gerekli bu kuralı uygulayan işlevin gerçekleştirilmesi gerekir. Tek bir parametre ( repository_ctx ) içermelidir. İşlev, kuralın her örneği için yükleme aşamasında çağrılır.
|
attrs
|
dict; or None ;
default = Nonekuralın tüm özelliklerini bildirmek için kullanılan sözlük. Bir özellik adından özellik nesnesine eşleme yapar (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
|
default = False Bu kuralın, yerel sistemdeki her şeyi aldığını ve her getirmede yeniden değerlendirilmesi gerektiğini belirtin. |
environ
|
sequence of strings ;
default = []Bu depo kuralının bağlı olduğu ortam değişkenlerinin listesini sağlar. Bu listedeki bir ortam değişkeni değişirse depo yeniden getirilir. |
configure
|
varsayılan = False Deponun, yapılandırma amacıyla sistemi denetlediğine dair işaret |
remotable
|
default = False Deneysel. Bu parametre deneyseldir ve herhangi bir zamanda değişebilir. Lütfen bu yönteme güvenmeyin. ---experimental_repo_remote_exec Uzaktan yürütmeyle uyumlu olarak ayarlanarak deneysel olarak etkinleştirilebilir |
doc
|
default = '' Belge oluşturma araçları tarafından ayıklanabilecek depo kuralının açıklaması. |
yir
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
|
required Dönüştürülecek nesne. |
tersine çevrildi
list reversed(sequence)Yinelenebilir orijinal dizinin öğelerini ters sırada, yeni ve dondurulmuş bir liste döndürür.
reversed([3, 5, 4]) == [4, 5, 3]
Parametreler
Parametre | Açıklama |
---|---|
sequence
|
gerekli Tersine çevrilecek 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 DERLE dosyası veya makrodan çağrılabilecek yeni bir kural oluşturur.
Kurallar, .bzl dosyasındaki genel değişkenlere atanmalıdır. Genel değişkenin adı, kuralın adıdır.
Test kurallarının adının _test
ile bitmesi gerekir. Diğer tüm kuralların adında bu son ek bulunmamalıdır. (Bu kısıtlama yalnızca kurallar için geçerli olup hedeflerinin kapsamına girmez.)
Parametreler
Parametre | Açıklama |
---|---|
implementation
|
required Bu kuralı uygulayan Starlark işlevi tam olarak bir parametreye sahip 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. Bildirilen tüm çıkışları oluşturmak için işlemler oluşturmalıdır. |
test
|
default = False Bu kuralın test kuralı olup olmadığı, yani bir blaze test komutunun konusu olup olamayacağı. 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). Daha fazla bilgi için Kurallar sayfasına göz atın.
|
attrs
|
dict; or None ;
default = Nonekuralın tüm özelliklerini bildirmek için kullanılan sözlük. Bir özellik adından özellik nesnesine eşleme yapar (attr modülüne bakın). _ ile başlayan özellikler özeldir 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 dolaylı 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ırlamak için attrs boyutuna bir sınır uygular.
|
outputs
|
dict; or None; or function ;
default = YokKullanımdan kaldırıldı. Bu parametrenin desteği sonlandırılmıştır ve yakında kaldırılacaktır. Lütfen bu yönteme güvenmeyin. ---incompatible_no_rule_outputs_param ile devre dışı bırakıldı. Kodunuzun yakında kaldırılacak olan işlevlerle uyumlu olup olmadığını doğrulamak için bu işareti kullanın. Bu parametrenin desteği sonlandırılmıştır. Kuralları, OutputGroupInfo veya attr.output yerine kullanacak şekilde taşıyın. Önceden beyan edilen çıkışları tanımlamak için kullanılan 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 işlevi, hesaplanmış bağımlılık özelliklerine benzer şekilde çalışır: İşlevin parametre adları, kuralın özellikleriyle eşleştirilir. Örneğin, Sözlükteki her giriş, anahtarın bir tanımlayıcı ve değerin, çıktının etiketini belirleyen bir dize şablonu olduğu önceden bildirilmiş bir çıktı oluşturur. Kuralın uygulama işlevinde tanımlayıcı,
Uygulamada en yaygın yer tutucu |
executable
|
default = False Bu kuralın yürütülebilir olarak kabul edilip edilmeyeceğini, yani bir blaze run komutunun konusu olup olmayacağını belirtir. Daha fazla bilgi için Kurallar sayfasına bakın.
|
output_to_genfiles
|
default = False True (doğru) ise dosyalar bin dizini yerine genfiles dizininde oluşturulur. Mevcut kurallarla uyumluluk için ihtiyacınız olmadığı sürece (ör. C++ için başlık dosyaları oluştururken) bu işareti ayarlamayınız. |
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ı. |
_skylark_testable
|
default = False (Deneysel) True (doğru) değerine ayarlanırsa bu kural, işlemlerini bir Actions sağlayıcısı aracılığıyla ona bağlı kurallar tarafından incelenmek üzere kullanıma sunar. Sağlayıcı, ctx.created_actions() çağrısı yapılarak kuralın kendisi tarafından da kullanılabilir. Bu, yalnızca Starlark kurallarının analiz sırasındaki 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 nesneleri içerebilir. Araçlar zincirleri, mevcut platform kontrol edilerek bulunur ve ctx.toolchain aracılığıyla kural uygulamasına sağlanır.
|
incompatible_use_toolchain_transition
|
default = False Deprecated, this is no longer in use and should be removed. |
doc
|
default = '' Belge oluşturma araçları tarafından ayıklanabilen kural 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önüş değerinden çıkarırsa 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 ;
default = []Yürütme platformundaki, 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 ise bu kural bir analiz testi olarak değerlendirilir. Not: Analiz testi kuralları, temel Starlark kitaplıklarında sağlanan altyapı kullanılarak tanımlanır. Yardım için Test bölümüne bakın. Bir kural analiz testi 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; or None ;
default = NoneAyarlanırsa bu kuralın ne tür bir build setting olduğunu açıklar. config modülüne bakın. Bu ayar belirlenirse bu kurala, burada iletilen değere karşılık gelen bir türde "build_setting_default" adlı zorunlu bir özellik otomatik olarak eklenir.
|
cfg
|
default = None Ayarlanırsa kuralın analizden önce kendi yapılandırmasına uygulayacağı yapılandırma geçişini gösterir. |
exec_groups
|
dict; or None ;
default = NoneYürütme grubu adı (dize) ile exec_group s arasındaki sözlük. 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 bakın.
|
compile_one_filetype
|
sequence of strings; or None ;
default = None--compile_one_dependency tarafından kullanılır: Belirtilen dosyayı birden fazla kural kullanıyorsa diğer kurallar yerine bu kuralı seçmeli miyiz? |
name
|
string; or None ;
default = NoneDesteği sonlandırıldı. Bu parametrenin desteği sonlandırıldı ve yakında kaldırılacak. Lütfen bu yönteme güvenmeyin. --+incompatible_remove_rule_name_parameter ile devre dışı bırakılır. Kodunuzun yakında kaldırılacak olan işlevlerle uyumlu olup olmadığını doğrulamak için bu işareti kullanın. Kullanımdan kaldırıldı: Kullanmayın. Bazel tarafından anlaşılan ve günlük kaydı, Bu parametre atlanırsa kuralın adı, tanımlayan .bzl modülü içinde bu kurala bağlanacak ilk Starlark genel değişkeninin adıyla ayarlanır. Bu nedenle, ad Bir kural için açık bir ad belirtmek, kuralı örneklendirmenize izin verilen yeri değiştirmez. |
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
|
gerekli Yapılandırma koşullarını değerlerle eşleyen bir diktedir. Her anahtar, bir config_setting veya constraint_value örneğini tanımlayan bir etiket ya da etiket dizesidir. Dize yerine etiketin ne zaman kullanılacağı hakkında bilgi edinmek için makrolarla ilgili dokümanlara bakın. |
no_match_error
|
default = '' Hiçbir koşul eşleşmezse raporlanacak 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ık yine de bir kayıt defteri tarafından sağlanmalıdır ancak sürümünün sabitlenmesi, kayıt defterinin geçersiz kılınması veya bir düzeltme listesi uygulanması gerekir. Bu yönerge yalnızca kök modülde geçerli olur. Diğer bir deyişle, bir modül başkaları tarafından bağımlılık olarak kullanılırsa kendi geçersiz kılma işlemleri yoksayılır.
Parametreler
Parametre | Açıklama |
---|---|
module_name
|
required 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. Diğer bir deyişle, bu modül bu geçersiz kılma sürümüne "sabitlenir". Yalnızca kayıt otoritesini veya yamaları geçersiz kılmak istiyorsanız bu özellik atlanabilir. |
registry
|
default = '' Bu modülün kayıt defterini geçersiz kılar; bu modül, varsayılan kayıt defteri listesinden bulunmaz, belirtilen kayıt defteri kullanılır. |
patches
|
Iterable of strings ;
default = []Bu modül için uygulanacak yama dosyalarını işaret eden etiketlerin listesi. Yama dosyaları, üst düzey projenin kaynak ağacında bulunmalıdır. Bunlar liste sırasına göre uygulanır. |
patch_cmds
|
Iterable of strings ;
default = []Yamalar uygulandıktan sonra Linux/Macos'ta uygulanacak Bash komutları dizisi. |
patch_strip
|
varsayılan = 0 Unix yamasının --strip bağımsız değişkeniyle aynıdır. |
sıralanmış
list sorted(iterable, *, key=None, reverse=False)Sağlanan iterlenebilir dizinin tüm öğelerini içeren yeni bir sıralanmış liste döndürür. x < y kullanılarak x, y öğe çifti karşılaştırılamazsa hata oluşabilir. Ters bağımsız değişken Doğru değerine sahip olmadığı sürece öğeler artan düzende sıralanır. True olarak ayarlanmış bu durumda, sıra azalan düzendedir. Sıralama sabit kalır: Eşit olarak karşılaştırılan öğeler orijinal göreceli sıralarını korur.
sorted([3, 5, 4]) == [3, 4, 5]
Parametreler
Parametre | Açıklama |
---|---|
iterable
|
required Sırlanacak iterlenebilir sıra. |
key
|
default = None Karşılaştırmadan önce her öğeye uygulanan isteğe bağlı bir işlev. |
reverse
|
default = False 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 konusunda faydalıdır.
str("ab") == "ab" str(8) == "8"
Parametreler
Parametre | Açıklama |
---|---|
x
|
required Dönüştürülecek nesne. |
tag_class
tag_class tag_class(attrs={}, *, doc='')Bir modül uzantısı tarafından kullanılabilen veri nesneleri olan etiket sınıfı için bir özellik şemasını 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 bildirmek için bir sözlük. Bir özellik adından özellik nesnesine eşleme yapar (attr modülüne bakın). |
doc
|
default = '' Etiket sınıfının, doküman oluşturma araçları tarafından ayıklanabilen açıklaması. |
tuple
tuple tuple(x=())Belirtilen yinelenebilir değerle aynı öğelere sahip bir demet 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şkeninin tür adını döndürür. Bu, hata ayıklama ve tür kontrolü 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 yazmak ve gelecekte sorun yaşamamak için bu işlevi 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
|
required Kontrol edilecek nesnenin türü. |
use_extension
module_extension_proxy use_extension(extension_bzl_file, extension_name, *, dev_dependency=False, isolate=False)Bir modül uzantısını temsil eden bir proxy nesnesi döndürür. Modül uzantısı etiketleri oluşturmak için yöntemleri çağrılabilir.
Parametreler
Parametre | Açıklama |
---|---|
extension_bzl_file
|
required Starlark dosyasında modül uzantısını tanımlayan bir etiket. |
extension_name
|
required Kullanılacak modül uzantısının adı. Bu ada sahip bir simge, Starlark dosyası tarafından dışa aktarılmalıdır. |
dev_dependency
|
varsayılan = False Doğru ise 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. |
isolate
|
varsayılan = Yanlış Doğru ise modül uzantısının bu kullanımı hem bu modüldeki hem de diğer modüllerdeki diğer tüm kullanımlardan izole edilir. Bu kullanım için oluşturulan etiketler diğer kullanımları etkilemez ve uzantı tarafından bu kullanım için oluşturulan depolar, uzantı tarafından oluşturulan diğer tüm depolardan farklı olur. |
use_repo
None use_repo(extension_proxy, *args, **kwargs)Belirtilen modül uzantısı tarafından oluşturulan bir veya daha fazla deposu mevcut modülün kapsamına 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
|
required Mevcut modülün kapsamına farklı adlarla içe aktarılacak belirli depoları belirtir. Anahtarlar, geçerli kapsamda kullanılacak ad, 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)
Şu anda başlatılmakta olan .bzl modülünün yük görünürlüğünü ayarlar.
Bir modülün yükleme görünürlüğü, diğer BUILD ve .bzl dosyalarının bu modülü yükleyip yükleyemeyeceğini belirler. (Bu, dosyanın diğer hedeflerin bağımlılığı olarak görünüp görünmeyeceğini yöneten temel .bzl kaynak dosyasının hedef görünürlüğünden farklıdır.) 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üğünden bağımsız olarak her zaman kendi paketi içinde yüklenebilir.
visibility()
, .bzl dosyası başına yalnızca bir kez çağrılabilir ve işlev içinde değil, yalnızca üst düzeyde çağrılabilir. Tercih edilen stil, bu çağrıyı load()
ifadelerinin ve bağımsız değişkeni belirlemek için gereken kısa mantığın hemen altına yerleştirmektir.
--check_bzl_visibility
işareti yanlış değerine ayarlanırsa yük görünürlüğü ihlalleri uyarı verir ancak derleme başarısız olmaz.
Parametreler
Parametre | Açıklama |
---|---|
value
|
required Paket spesifikasyonu dizelerinin listesi veya tek bir paket spesifikasyonu dizesi. Negatif paket özelliklerine izin verilmemesi dışında paket spesifikasyonları
"@" söz dizimine izin verilmiyor. Tüm özellikler mevcut 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 tanımlanmalıdır. Her WORKSPACE
dosyasında bir workspace
işlevi olmalıdır.
Bu çalışma alanının adını belirler. Workspace adları, ayırıcı olarak alt çizgilerin kullanıldığı, projenin Java paketi tarzında bir açıklaması olmalıdır. Örneğin, github.com/bazelbuild/bazel için com_github_bazelbuild_bazel kullanılmalıdır.
Bu ad, deponun çalıştırma dosyalarının depolandığı dizin için kullanılır. Örneğin, yerel depoda foo/bar
adlı bir çalıştırma dosyası varsa ve WORKSPACE dosyası workspace(name = 'baz')
içeriyorsa çalıştırma dosyası mytarget.runfiles/baz/foo/bar
altında kullanılabilir. Workspace adı belirtilmezse çalıştırma dosyası bar.runfiles/foo/bar
ile sembolik bağlantı oluşturur.
Uzak depo kural adları geçerli çalışma alanı adları olmalıdır. Örneğin, Bazel workspace(name = 'foo%bar')
içeren maven_jar
için bir WORKSPACE dosyası yazmaya çalışacağından maven_jar(name = 'foo')
olabilir ancak maven_jar(name = 'foo%bar')
olamaz.
Parametreler
Parametre | Açıklama |
---|---|
name
|
zorunlu çalışma alanının adı. Adlar harfle başlamalıdır ve yalnızca harf, rakam, alt çizgi, kısa çizgi ve nokta içerebilir. |
zip
list zip(*args)
tuple
sn. için bir list
döndürür. Burada i'inci unsur, bağımsız değişken dizilerinin veya yinelemelerin her birindeki i'inci öğeyi içerir. Liste, en kısa girişin boyutuna sahiptir. Yinelenebilir tek bir bağımsız değişkenle, 1 unsurlu bir liste döndürür. Bağımsız değişken olmadan çağrıldığı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
|
gerekli listeleri sıkıştırın. |