Üyeler
- depset
- existing_rule
- existing_rules
- exports_files
- glob
- module_name
- module_version
- package_group
- package_name
- package_relative_label
- repository_name
- seç
- alt paketler
bitirmek
depset depset(direct=None, order="default", *, transitive=None)Bir dpset oluşturur.
direct
parametresi, depset öğesinin doğrudan öğelerinin listesidir. transitive
parametresi ise öğeleri oluşturulan desteğin dolaylı öğeleri haline gelen alt kaynakların listesidir. Depset bir listeye dönüştürüldüğünde öğelerin döndürülme sırası order
parametresi ile belirtilir. Daha fazla bilgi için Derinlere genel bakış konusuna bakın.
Depset'in tüm öğeleri (doğrudan ve dolaylı), type(x)
ifadesiyle elde edilen aynı türde olmalıdır.
Yineleme sırasında yinelemeleri ortadan kaldırmak için karma tabanlı bir küme kullanıldığından, depset kümesinin tüm öğelerine karma oluşturma işlemi uygulanabilir. Ancak bu değişmez değer, şu anda tüm oluşturucularda tutarlı bir şekilde kontrol edilmemektedir. Tutarlı kontrol sağlamak için --incompatible_always_check_depset_elements işaretini kullanın. Bu, gelecekteki sürümlerde varsayılan davranış olacaktır. Sorun 10313'e bakın.
Ayrıca, öğeler şu anda sabit olmalıdır, ancak bu kısıtlama gelecekte gevşetilecektir.
Oluşturulan dep kümesinin sırası, transitive
alt kümelerinin sıralamasıyla uyumlu olmalıdır. "default"
siparişi diğer tüm siparişlerle uyumludur, diğer tüm siparişler yalnızca kendileriyle uyumludur.
Parametreler
Parametre | Açıklama |
---|---|
direct
|
sequence veya None ;
varsayılan olarak None değerine sahiptir.Bir kullanımdan kaldırma işleminin doğrudan öğelerinin listesi. |
order
|
varsayılan değer: "default" Yeni erişim grubunun geçiş stratejisi. Olası değerler için buraya bakın. |
transitive
|
depset'lerin dizisi veya None ; varsayılan olarak None değerine sahiptirÖğeleri kullanımdan kaldırma işleminin dolaylı öğeleri olacak alt kümelerin listesi. |
existing_rule
unknown existing_rule(name)Bu iş parçacığının paketinde somutlaşan bir kuralın özelliklerini açıklayan sabit, dikte benzeri bir nesne veya bu ada ait herhangi bir kural örneği yoksa
None
döndürür.Burada, dikte benzeri bir nesne, dikte gibi yinelemeyi destekleyen, son derece sabit bir x
nesnesi anlamına gelir. Bu nesne, len(x)
, name in x
, x[name]
, x.get(name)
, x.items()
, x.keys()
ve x.values()
anlamına gelir.
--noincompatible_existing_rules_immutable_view
işareti ayarlanmışsa bunun yerine, aynı içeriğe sahip yeni bir değişken komut döndürür.
Sonuç, özel özellikler (adı bir harfle başlamayan) ve temsil edilemeyen birkaç eski özellik türü hariç olmak üzere her özellik için bir giriş içerir. Ayrıca, kural örneğinin name
ve kind
(örneğin, 'cc_binary'
) için girişler de içerir.
Sonucun değerleri, özellik değerlerini aşağıdaki gibi temsil eder:
- str, int ve bool türleri olduğu gibi gösterilir.
- Etiketler, aynı paketteki hedefler için
':foo'
veya farklı bir paketteki hedefler için'//pkg:name'
biçiminde dizelere dönüştürülür. - Listeler tuple olarak temsil edilir ve dikteler yeni, değişebilir komutlara dönüştürülür. Bunların öğeleri yinelemeli olarak aynı şekilde dönüştürülür.
select
değerleri, içerikleri yukarıda açıklandığı gibi dönüştürülerek döndürülür.- Kural örneklendirmesi sırasında herhangi bir değer belirtilmeyen ve varsayılan değeri hesaplanan özellikler sonuçtan hariç tutulur. (Hesaplanan varsayılan değerler, analiz aşamasına kadar hesaplanamaz.)
Mümkünse bu işlevi kullanmaktan kaçının. BUILD dosyalarını kırılgan ve sıraya bağımlı hale getirir. Ayrıca, bir tanesi hesaplanmış varsayılanlar tarafından, diğeri ctx.attr.foo
tarafından kullanılan, dahili formdan Starlark'a yapılan kural özelliği değerlerinin diğer iki dönüşümünden çok küçük farkları olduğunu unutmayın.
Parametreler
Parametre | Açıklama |
---|---|
name
|
gerekli Hedefin adı. |
existing_rules
unknown existing_rules()Bu iş parçacığının paketinde şimdiye kadar somutlaşan kuralları açıklayan sabit bir dikt benzeri nesne döndürür. Dikt benzeri nesnenin her bir girişi, kural örneğinin adını
existing_rule(name)
tarafından döndürülecek sonuçla eşleştirir.Burada, dikte benzeri bir nesne, dikte gibi yinelemeyi destekleyen, son derece sabit bir x
nesnesi anlamına gelir. Bu nesne, len(x)
, name in x
, x[name]
, x.get(name)
, x.items()
, x.keys()
ve x.values()
anlamına gelir.
--noincompatible_existing_rules_immutable_view
işareti ayarlanmışsa bunun yerine, aynı içeriğe sahip yeni bir değişken komut döndürür.
Not: Mümkünse bu işlevi kullanmaktan kaçının. BUILD dosyalarını kırılgan ve sıraya bağımlı hale getirir. Ayrıca, --noincompatible_existing_rules_immutable_view
işareti ayarlanmışsa bu işlev özellikle bir döngü içinde çağrıldığında çok pahalı olabilir.
exports_files
None
exports_files(srcs, visibility=None, licenses=None)
Diğer paketlere aktarılan, bu pakete ait dosyaların listesini belirtir.
Parametreler
Parametre | Açıklama |
---|---|
srcs
|
dize'nin sequence;
gerekli Dışa aktarılacak dosyaların listesi. |
visibility
|
sequence veya None ;
varsayılan olarak None değeridirBir görünürlük bildirimi belirtilebilir. Dosyalar, belirtilen hedefler tarafından görülebilir. Görünürlük belirtilmezse dosyalar her paket tarafından görülebilir. |
licenses
|
dize'nin sekansı veya None ; varsayılan olarak None Belirtilecek lisans sayısı. |
glob
sequence glob(include=[], exclude=[], exclude_directories=1, allow_empty=unbound)Glob, geçerli pakette bulunan ve aşağıdaki özelliklere sahip her dosyanın yeni, değişebilir, sıralanmış listesini döndürür:
include
içinde en az bir kalıpla eşleşiyor.exclude
içindeki kalıpların hiçbiriyle eşleşmiyor (varsayılan[]
).
exclude_directories
bağımsız değişkeni etkinse (1
olarak ayarlanır) dizin türündeki dosyalar sonuçlardan çıkarılır (varsayılan 1
).
Parametreler
Parametre | Açıklama |
---|---|
include
|
dize'nin sequence;
varsayılan değeri [] Dahil edilecek glob kalıpları listesi. |
exclude
|
dize'nin sequence;
varsayılan değeri [] Hariç tutulacak glob kalıpları listesi. |
exclude_directories
|
varsayılan değer: 1 Dizinlerin hariç tutulup tutulmayacağına dair bir işaret. |
allow_empty
|
varsayılan değer unbound şeklindedirGlob kalıplarının hiçbir şeyle eşleşmemesine izin verilip verilmeyeceği. "allow_Blank" değeri Yanlış değerine ayarlanırsa her bir dahil etme kalıbı bir şeyle eşleşmelidir ve nihai sonuç da boş olmamalıdır ("hariç tut" kalıplarının eşleşmeleri hariç tutulduktan sonra). |
module_name
string module_name()Bu paketin bulunduğu depoyla ilişkili Bazel modülünün adı. Bu paket, MODULE.bazel yerine WORKSPACE içinde tanımlanmış bir depodan geliyorsa bu alan boş olur. Modül uzantıları tarafından oluşturulan depolar için bu, uzantıyı barındıran modülün adıdır.
module_ctx.modules
özelliğinde görülen module.name
alanı ile aynıdır.
None
cihazı döndürülebilir.
module_version
string module_version()Bu paketin bulunduğu depoyla ilişkili Bazel modülünün sürümü. Bu paket, MODULE.bazel yerine WORKSPACE içinde tanımlanmış bir depodan geliyorsa bu alan boş olur. Modül uzantıları tarafından oluşturulan depolar için bu, modülün uzantıyı barındıran sürümüdür.
module_ctx.modules
özelliğinde görülen module.version
alanı ile aynıdır.
None
cihazı döndürülebilir.
package_group
None
package_group(name, packages=[], includes=[])
Bu işlev, bir paket kümesi tanımlar ve gruba bir etiket atar. Etikete visibility
özelliklerinde referans verilebilir.
Parametreler
Parametre | Açıklama |
---|---|
name
|
gerekli Bu kural için benzersiz ad. |
packages
|
string'in sequence; varsayılan değeri [] Bu gruptaki paketlerin tam sıralaması. |
includes
|
dize'nin sequence;
varsayılan değeri [] Buna dahil edilen diğer paket grupları. |
package_name
string package_name()Değerlendirilen paketin adı. Örneğin,
some/package/BUILD
DERLEME dosyasının değeri some/package
olur. DERLEME dosyası, .bzl dosyasında tanımlanmış bir işlevi çağırırsa package_name()
, çağrıyı yapan BUILD dosya paketiyle eşleşir. Bu işlev, kullanımdan kaldırılan PACKAGE_NAME
değişkenine eşdeğer.
package_relative_label
Label package_relative_label(input)Girdi dizesini, başlatılmakta olan paket bağlamında (yani geçerli makronun çalıştırıldığı
BUILD
dosyası) bir Label nesnesine dönüştürür. Giriş zaten Label
ise değiştirilmeden döndürülür.Bu işlev yalnızca DERLEME dosyası ve doğrudan veya dolaylı olarak çağırdığı makroları değerlendirirken çağrılabilir; örneğin, bir kural uygulama işlevinde çağrılamaz.
Bu işlevin sonucu, belirtilen dizenin DERLEME dosyasında tanımlanan bir hedefin etiket değerli bir özelliğine geçirilmesiyle elde edilecek olan Label
değeriyle aynıdır.
Kullanım notu: Bu işlev ile Label() arasındaki fark, Label()
ürününün BUILD
dosyasının paketini değil, onu çağıran .bzl
dosyasının paketinin bağlamını kullanmasıdır. Derleyici gibi koda gömülmüş sabit bir hedefe başvurmanız gerektiğinde Label()
kullanın. DERLEME dosyası tarafından bir Label
nesnesine sağlanan etiket dizesini normalleştirmeniz gerektiğinde package_relative_label()
kullanın. (Bir dizeyi, DERLEME dosyası veya çağıran .bzl dosyası dışında bir paket bağlamında Label
öğesine dönüştürmenin yolu yoktur. Bu nedenle, dış makrolar her zaman Etiket nesnelerini etiket dizeleri yerine iç makrolara geçirmeyi tercih etmelidir.)
Parametreler
Parametre | Açıklama |
---|---|
input
|
string veya Label;
zorunlu Giriş etiketi dizesi veya Etiket nesnesi. Bir Etiket nesnesi aktarılırsa olduğu gibi döndürülür. |
repository_name
string repository_name()Kuralın veya derleme uzantısının çağrıldığı deponun adı. Örneğin, WORKSPACE kıtası
local_repository(name='local', path=...)
ile çağrılan paketlerde, @local
olarak ayarlanır. Ana depodaki paketlerde @
olarak ayarlanır. Bu işlev, kullanımdan kaldırılan REPOSITORY_NAME
değişkenine eşdeğer.
seçer
unknown select(x, no_match_error='')
select()
, kural özelliğini yapılandırılabilir hale getiren yardımcı işlevdir. Ayrıntılı bilgi için ansiklopedi oluşturma bölümünü inceleyin.
Parametreler
Parametre | Açıklama |
---|---|
x
|
gerekli Yapılandırma koşullarını değerlerle eşleştiren bir komut. Her anahtar, config_setting veya restricted_value örneğini tanımlayan bir Label ya da etiket dizesidir. Dize yerine Etiketin ne zaman kullanılacağını öğrenmek için makrolarla ilgili dokümanlara bakın. |
no_match_error
|
varsayılan değer: '' Hiçbir koşul eşleşmediğinde raporlanacak isteğe bağlı özel hata. |
alt paketler
sequence subpackages(include, exclude=[], allow_empty=False)Dosya sistemi dizini derinliğinden bağımsız olarak, geçerli paketin her doğrudan alt paketinin yeni değişken listesini döndürür. Döndürülen liste sıralanır ve geçerli pakete göre alt paketlerin adlarını içerir. Bu işlevi doğrudan çağırmak yerine bazel_skylib.subpackages modülündeki yöntemleri kullanmayı tercih etmeniz önerilir.
Parametreler
Parametre | Açıklama |
---|---|
include
|
string'in sequence; gerekli Alt paket taramasına dahil edilecek glob kalıplarının listesi. |
exclude
|
dize'nin sequence; varsayılan olarak [] şeklindedirAlt paket taramasından hariç tutulacak glob kalıpları listesi. |
allow_empty
|
varsayılan değer: False Çağrı boş bir liste döndürürse başarısız olup olmadığımız. Varsayılan olarak boş liste, DERLEME dosyasında subpackages() çağrısının aşırı olduğu olası bir hatayı gösterir. Doğru değerine ayarlamak, bu işlevin bu durumda başarılı olmasına olanak tanır. |