Bağımlılıklar grafiğindeki alakalı etiketlerle ilgili yardımcı işlevleri ve bilgileri içeren modül uzantısının bağlamı. Modül uzantısı oluşturduğunuzda implementation
işlevine bağımsız değişken olarak bir module_ctx nesnesi alırsınız.
Üyeler
- download
- download_and_extract
- execute
- extension_metadata
- çıkar
- file
- getenv
- is_dev_dependency
- modules
- işletim sistemi
- path
- oku
- report_progress
- root_module_has_non_dev_dependency
- watch
- which
indir
unknown module_ctx.download(url, output='', sha256='', executable=False, allow_fail=False, canonical_id='', auth={}, headers={}, *, integrity='', block=True)
success
öğesini içeren bir struct döndürür. Bu işaret, indirme işlemi başarıyla tamamlandıysa true
ve başarılıysa sha256
ile integrity
alanlarını içeren karma bir dosyadır. sha256
veya integrity
kullanıcı tarafından belirtildiğinde açık bir canonical_id
ayarlanması önemle tavsiye edilir. Ör. get_default_canonical_id
Parametreler
Parametre | Açıklama |
---|---|
url
|
dize veya dize öğelerinin Iterable dizisi;
zorunlu Aynı dosyaya atıfta bulunan ayna URL'lerin listesi. |
output
|
dize; veya Etiket; veya yol;
varsayılan değer '' depolama alanı dizine göre çıkış dosyasının yolu. |
sha256
|
dize;
varsayılan değer '' İndirilen dosyanın beklenen SHA-256 karması. Bu, indirilen dosyanın SHA-256 karmasıyla eşleşmelidir. Uzak dosyalar değişebileceğinden SHA-256'nın atlanması güvenlik riski oluşturur. Bu alanın atlanması, en iyi ihtimalle derlemenizin hermetik olmasını engeller. Geliştirmeyi kolaylaştırmak isteğe bağlıdır ancak gönderimden önce ayarlanmalıdır. Sağlanırsa ilk olarak depo önbelleği, belirtilen karmaya sahip bir dosya olup olmadığını kontrol eder. İndirme işlemi yalnızca dosya önbellekte bulunamazsa denenir. İndirme işlemi başarılı olduğunda dosya önbelleğe eklenir. |
executable
|
bool;
varsayılan olarak False şeklindedirOluşturulan dosyadaki yürütülebilir işareti varsayılan olarak false (yanlış) olarak ayarlar. |
allow_fail
|
bool;
varsayılan değer False Ayarlanırsa başarısız indirmeler için hata oluşturmak yerine hatayı döndürülen değerde belirtin. |
canonical_id
|
dize;
varsayılan değer '' Ayarlanırsa önbellek isabetlerini, dosyanın önbelleğe aynı standart kimlikle eklendiği durumlarla kısıtlayın. Varsayılan olarak önbelleğe alma işleminde sağlama toplamı ( sha256 veya integrity ) kullanılır.
|
auth
|
dict;
varsayılan değer {} URL'lerin bazıları için kimlik doğrulama bilgilerini belirten isteğe bağlı bir sözlük. |
headers
|
dict;
varsayılan değer {} Tüm URL'ler için HTTP üst bilgilerini belirten isteğe bağlı bir sözlük. |
integrity
|
dize;
varsayılan değer '' İndirilen dosyanın, Alt Öğe Bütünlüğü biçiminde beklenen sağlama toplamı. Bu, indirilen dosyanın sağlama toplamıyla eşleşmelidir. Uzak dosyalar değişebileceği için sağlama toplamının atlanması güvenlik riski oluşturur. Bu alanın atlanması, en iyi ihtimalle derlemenizin hermetik olmasını engeller. Geliştirmeyi kolaylaştırmak isteğe bağlıdır ancak gönderimden önce ayarlanmalıdır. Sağlanmışsa, depo önbelleği öncelikle belirtilen sağlama toplamına sahip bir dosya için kontrol edilir; indirme işlemi yalnızca dosya önbellekte bulunamadığında denenir. İndirme işlemi başarılı olduktan sonra dosya önbelleğe eklenir. |
block
|
bool;
varsayılan True değerine ayarlanırsa çağrı hemen geri döner ve normal döndürülen değer yerine tek bir yönteme sahip tek bir jeton döndürür. edinmek için Wait(), indirmenin tamamlanmasını engeller ve normal döndürülen değeri döndürür veya her zamanki gibi atar. |
download_and_extract
struct module_ctx.download_and_extract(url, output='', sha256='', type='', strip_prefix='', allow_fail=False, canonical_id='', auth={}, headers={}, *, integrity='', rename_files={})
success
içeren bir yapı döndürür. Bu yapı, indirme işlemi başarıyla tamamlanırsa true
olan bir işarettir. İşlem başarılı olursa sha256
ve integrity
alanlarını içeren dosyanın karmasını döndürür. sha256
veya integrity
kullanıcı tarafından belirtildiğinde açık bir canonical_id
ayarlanması önemle tavsiye edilir. Ör. get_default_canonical_id
Parametreler
Parametre | Açıklama |
---|---|
url
|
string; veya dizelerin yinelenebilir;
gerekli Aynı dosyaya referans veren yansıtma URL'lerinin listesi. |
output
|
dize; veya etiket; veya yol;
varsayılan değer '' Arşivin, depo dizine göre açılacağı dizinin yolu. |
sha256
|
dize;
varsayılan değer '' İndirilen dosyanın beklenen SHA-256 karması. Bu, indirilen dosyanın SHA-256 karmasıyla eşleşmelidir. Uzak dosyalar değişebileceğinden SHA-256'yı çıkarmak güvenlik riski oluşturur. Bu alanın atlanması, en iyi ihtimalle derlemenizin hermetik olmasını engeller. Geliştirmeyi kolaylaştırmak için isteğe bağlıdır ancak göndermeden önce ayarlanmalıdır. Sağlanırsa ilk olarak depo önbelleği, belirtilen karmaya sahip bir dosya olup olmadığını kontrol eder. İndirme işlemi yalnızca dosya önbellekte bulunamazsa denenir. İndirme işlemi başarılı olduktan sonra dosya önbelleğe eklenir. |
type
|
dize;
varsayılan değer '' İndirilen dosyanın arşiv türü. Arşiv türü varsayılan olarak URL'nin dosya uzantısından belirlenir. Dosyanın uzantısı yoksa, açık bir şekilde "zip", "jar", "war", "aar", "nupkg", "tar", "tar.gz", "tgz", "tar.xz", "txz", ".tar.zst", ".tzst", "tar.bz2", ".tbz" veya ".debz", ".debz" değerlerini belirtebilirsiniz. |
strip_prefix
|
dize;
varsayılan değer '' Ayıklanan dosyalardan kaldırılacak bir dizin ön eki. Birçok arşiv, arşivdeki tüm dosyaları içeren üst düzey bir dizin içerir. Bu öneki build_file içinde tekrar tekrar belirtmek yerine, bu alan çıkarılan dosyalardan kaldırmak için kullanılabilir.
Uyumluluk için bu parametre, desteği sonlandırılan |
allow_fail
|
bool;
varsayılan False şeklindedirAyarlanırsa, başarısız indirmeler için hata mesajı göndermek yerine döndürülen değerde hatayı belirtin. |
canonical_id
|
dize;
varsayılan değer '' Ayarlanırsa önbellek isabetlerini, dosyanın önbelleğe aynı standart kimlikle eklendiği durumlarla kısıtlayın. Önbelleğe alma varsayılan olarak sağlama toplamını kullanır" ( sha256 veya integrity ).
|
auth
|
dict;
varsayılan değer {} URL'lerin bazıları için kimlik doğrulama bilgilerini belirten isteğe bağlı bir sözlük. |
headers
|
dict;
varsayılan olarak {} şeklindedirTüm URL'ler için http başlıkları belirten isteğe bağlı bir ifade. |
integrity
|
dize;
varsayılan değer '' İndirilen dosyanın, Alt Öğe Bütünlüğü biçiminde beklenen sağlama toplamı. Bu, indirilen dosyanın sağlama toplamıyla eşleşmelidir. Uzak dosyalar değişebileceğinden sağlama toplamını çıkarmak güvenlik açısından risklidir. Bu alanın atlanması, en iyi ihtimalle derlemenizin hermetik olmasını engeller. Geliştirmeyi kolaylaştırmak için isteğe bağlıdır ancak göndermeden önce ayarlanmalıdır. Sağlanırsa depo önbelleği, önce belirtilen sağlama toplamına sahip bir dosya olup olmadığı açısından kontrol edilir. İndirme işlemi yalnızca dosya önbellekte bulunamazsa denenir. İndirme işlemi başarılı olduğunda dosya önbelleğe eklenir. |
rename_files
|
dict;
varsayılan değer {} Ayıklama sırasında yeniden adlandırılacak dosyaları belirten isteğe bağlı bir sözlük. Adları bir anahtarla tam olarak eşleşen arşiv girişleri, dizin ön ek düzenlemesinden önce değerle yeniden adlandırılır. Bu seçenek, Unicode olmayan dosya adları içeren veya büyük/küçük harf duyarlı olmayan dosya sistemlerinde aynı yola ayıklanacak dosyalar içeren arşivleri ayıklamak için kullanılabilir. |
execute
exec_result module_ctx.execute(arguments, timeout=600, environment={}, quiet=True, working_directory="")
timeout
ile sınırlıdır (saniye cinsinden, varsayılan olarak 600 saniye). Bu yöntem, komut çıkışını içeren bir exec_result
yapısı döndürür. environment
haritası, işleme iletilecek bazı ortam değişkenlerini geçersiz kılmak için kullanılabilir.
Parametreler
Parametre | Açıklama |
---|---|
arguments
|
sequence;
gerekli Bağımsız değişkenlerin listesi; ilk öğe, yürütülecek programa giden yol olmalıdır. |
timeout
|
int;
varsayılan değer 600 Saniye cinsinden komutun maksimum süresi (varsayılan değer 600 saniyedir). |
environment
|
dict;
varsayılan değer {} şeklindedirBazı ortam değişkenlerinin işleme aktarılması için ayarlanmasını zorunlu kılın. Ortam değişkenini kaldırmak için değer None olabilir.
|
quiet
|
bool;
varsayılan değer True stdout ve stderr'nin terminale yazdırılıp yazdırılmayacağını belirtir. |
working_directory
|
dize;
varsayılan olarak "" Komut yürütme için çalışma dizini. Depo köküne göre göreli veya mutlak olabilir. Varsayılan dizin, depo köküdür. |
extension_metadata
extension_metadata module_ctx.extension_metadata(root_module_direct_deps=None, root_module_direct_dev_deps=None, reproducible=False)
Parametreler
Parametre | Açıklama |
---|---|
root_module_direct_deps
|
dize'lerin sequence; veya dize; veya None ;
varsayılan olarak None Uzantının kök modülün doğrudan bağımlılığı olarak kabul ettiği depoların adları. Kök modül ek depolar içe aktarırsa veya bu depoların tümünü use_repo aracılığıyla içe aktarmazsa Bazel, uzantı değerlendirilirken kullanıcıya use_repo çağrılarını otomatik olarak düzeltmek için bazel mod tidy 'ı çalıştırmasını bildiren bir uyarı yazdırır.
|
root_module_direct_dev_deps
|
Dize dizisi; veya dize; veya None ;
varsayılan değer None Uzantı tarafından kök modülün doğrudan geliştirici bağımlılıkları olarak kabul edilen depoların adları. Kök modül ek depoları içe aktarırsa veya use_extension(..., dev_dependency = True) ile oluşturulan uzantı proxy'sinde use_repo aracılığıyla bu depoların tümünü içe aktarmazsa Bazel, uzantı değerlendirildiğinde bir uyarı yazdırarak use_repo çağrılarını otomatik olarak düzeltmek için kullanıcıdan bazel mod tidy çalıştırmasını ister.
|
reproducible
|
bool;
varsayılan değer False Bu modül uzantısının tamamen yeniden üretilebilir olduğunu ve bu nedenle kilit dosyasında depolanmamasını belirtir. |
ayıklamak
None
module_ctx.extract(archive, output='', strip_prefix='', *, rename_files={}, watch_archive='auto')
Parametreler
Parametre | Açıklama |
---|---|
archive
|
dize; veya Etiket; veya yol;
kod deposu dizinine göre paketi açılacak arşivin gerekli yolu. |
output
|
dize; veya etiket; veya yol;
varsayılan değer '' Arşivin, depo dizine göre paketten çıkarılacağı dizinin yolu. |
strip_prefix
|
dize;
varsayılan değer '' Ayıklanan dosyalardan kaldırılacak bir dizin ön eki. Birçok arşiv, arşivdeki tüm dosyaları içeren üst düzey bir dizin içerir. Bu öneki build_file içinde tekrar tekrar belirtmek yerine, bu alan çıkarılan dosyalardan kaldırmak için kullanılabilir.
Uyumluluk için bu parametre, desteği sonlandırılan |
rename_files
|
dict;
varsayılan değer {} Ayıklama sırasında yeniden adlandırılacak dosyaları belirten isteğe bağlı bir sözlük. Adları bir anahtarla tam olarak eşleşen arşiv girişleri, dizin ön ek düzenlemesinden önce değerle yeniden adlandırılır. Bu seçenek, Unicode olmayan dosya adları içeren veya büyük/küçük harf duyarlı olmayan dosya sistemlerinde aynı yola ayıklanacak dosyalar içeren arşivleri ayıklamak için kullanılabilir. |
watch_archive
|
dize;
varsayılan değer 'auto' Arşiv dosyasının izlenip izlenmeyeceği. "Evet", "hayır" veya "otomatik" dizesi olabilir. "yes" değerini iletmek, watch() yönteminin hemen çağrılmasına eşdeğerdir; "no" değerini iletmek, dosyayı izlemeye çalışmaz; "auto" değerini iletmek, dosyayı yalnızca izlemenin yasal olduğu durumlarda izlemeye çalışır (daha fazla bilgi için watch() belgelerine bakın).
|
dosya
None
module_ctx.file(path, content='', executable=True, legacy_utf8=True)
Parametreler
Parametre | Açıklama |
---|---|
path
|
dize; veya Etiket; veya yol;
zorunlu Repo dizine göre oluşturulacak dosyanın yolu. |
content
|
dize;
varsayılan değer '' Oluşturulacak dosyanın içeriğidir. Varsayılan olarak boştur. |
executable
|
bool;
varsayılan değer True Oluşturulan dosyada yürütülebilirlik işaretini ayarlayın. Varsayılan olarak doğrudur. |
legacy_utf8
|
bool;
varsayılan değer True Dosya içeriğini UTF-8 olarak kodlayın. Varsayılan olarak doğrudur. Gelecekteki sürümlerde varsayılan ayar değiştirilecek ve bu parametre kaldırılacaktır. |
Getenv
string module_ctx.getenv(name, default=None)
name
) değerini dize olarak, yoksa default
değerini döndürür. Artımlı olarak derleme yaparken name
tarafından adlandırılan değişken değerinde yapılacak herhangi bir değişiklik, bu deponun yeniden getirilmesine neden olur.
Parametreler
Parametre | Açıklama |
---|---|
name
|
string;
required İstenen ortam değişkeninin adı. |
default
|
dize veya None ;
varsayılan değer None name bulunamazsa döndürülecek varsayılan değer.
|
None
değerini döndürebilir.
is_dev_dependency
bool module_ctx.is_dev_dependency(tag)
devDependency = True
ile bir use_extension çağrısının sonucunda belirtilip belirtilmediğini döndürür.
Parametreler
Parametre | Açıklama |
---|---|
tag
|
bazel_module_tag;
zorunlu bazel_module.tags kaynağından alınan bir etiket. |
modüllerin
list module_ctx.modules
os
repository_os module_ctx.os
yol
path module_ctx.path(path)
Parametreler
Parametre | Açıklama |
---|---|
path
|
dize; veya Etiket; veya yol;
zorunlustring , Label veya path 'ten yol oluşturma.
|
okuma
string module_ctx.read(path, *, watch='auto')
Parametreler
Parametre | Açıklama |
---|---|
path
|
dize; veya Etiket; veya yol;
zorunlu İçinden okunacak dosyanın yolu. |
watch
|
dize;
varsayılan değer 'auto' Dosyanın izlenip izlenmeyeceği. "Evet", "hayır" veya "otomatik" dizesi olabilir. "yes" değerini iletmek, watch() yönteminin hemen çağrılmasına eşdeğerdir; "no" değerini iletmek, dosyayı izlemeye çalışmaz; "auto" değerini iletmek, dosyayı yalnızca izlemenin yasal olduğu durumlarda izlemeye çalışır (daha fazla bilgi için watch() belgelerine bakın).
|
report_progress
None
module_ctx.report_progress(status='')
Parametreler
Parametre | Açıklama |
---|---|
status
|
dize;
varsayılan olarak '' string , getirme işleminin mevcut durumunu açıklar.
|
root_module_has_non_dev_dependency
bool module_ctx.root_module_has_non_dev_dependency
kol saati
None
module_ctx.watch(path)
"Değişiklikler", dosyanın içeriğindeki değişiklikleri (yol bir dosyaysa), yolun dosya iken dizin haline gelmesini veya bunun tam tersini, yolun var olmaya başlamasını ya da varlığını sonlandırmasını içerir. Yol bir dizinse bu, dizin altındaki dosyalarda yapılan değişiklikleri kapsamaz. Bunun için path.readdir()
kullanın.
Şu anda getirilmekte olan deponun veya mevcut modül uzantısının çalışma dizininin içindeki yolları izlemeye çalışmanın hatayla sonuçlanacağını unutmayın. Mevcut Bazel çalışma alanının dışındaki bir yolu izlemeye çalışan modül uzantıları da hatayla sonuçlanır.
Parametreler
Parametre | Açıklama |
---|---|
path
|
dize; veya Etiket; veya yol;
zorunlu İzlenecek dosyanın yolu. |
hangi
path module_ctx.which(program)
path
değerini veya yolda böyle bir program yoksa None
değerini döndürür.
Parametreler
Parametre | Açıklama |
---|---|
program
|
string;
required Yolda bulunacak program. |
None
sonucunu döndürebilir.