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ı. Bir modül uzantısı oluşturduğunuzda, implementation
işlevinin bağımsız değişkeni olarak bir modül_ctx nesnesi alırsınız.
Üyeler
- download
- download_and_extract
- yürütme
- extension_metadata
- file
- getenv
- is_dev_dependency
- modules
- os
- path
- oku
- report_progress
- root_module_has_non_dev_dependency
- watch
- hangi
indir
unknown module_ctx.download(url, output='', sha256='', executable=False, allow_fail=False, canonical_id='', auth={}, headers={}, *, integrity='', block=True)Sağlanan URL için çıkış yoluna bir dosya indirir ve
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.
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
|
varsayılan değer '' indirilen 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ı atlamak, derlemenizi hermetik hale getirmez. Geliştirmeyi kolaylaştırmak isteğe bağlıdır ancak gönderimden önce ayarlanmalıdır. |
executable
|
varsayılan olarak False şeklindediroluşturulan dosyada yürütülebilir işareti varsayılan olarak false (yanlış) olarak ayarlar. |
allow_fail
|
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
|
varsayılan değer '' Ayarlanırsa önbellek isabetlerini, dosyanın önbelleğe aynı kanonikal kimlikle eklendiği durumlarla kısıtlayın |
auth
|
varsayılan değer {} 'tir.Bazı URL'ler için kimlik doğrulama bilgilerini belirten isteğe bağlı bir ifadedir. |
headers
|
varsayılan değer {} Tüm URL'ler için http üstbilgilerini belirten isteğe bağlı bir sözlük. |
integrity
|
varsayılan '' şeklindedirİndirilen dosyanın Alt Kaynak 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. |
block
|
varsayılan değer True Yanlış olarak ayarlanırsa çağrı hemen döndürülür ve normal döndürülen değer yerine, indirme işlemi tamamlanana kadar engelleyen ve normal döndürülen değeri döndüren veya her zamanki gibi hata atan tek bir yöntemi (wait()) içeren bir jeton döndürülür. |
download_and_extract
struct module_ctx.download_and_extract(url, output='', sha256='', type='', stripPrefix='', allow_fail=False, canonical_id='', auth={}, headers={}, *, integrity='', rename_files={})Bir dosyayı, sağlanan URL'nin çıkış yoluna indirir, dosyayı çıkarır ve
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.
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 paketten çıkarılacağı dizinin yolu. |
sha256
|
varsayılan değer '' indirilen 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ı atlamak, derlemenizi hermetik hale getirmez. 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ı olduğunda dosya önbelleğe eklenir. |
type
|
varsayılan değer '' olup indirilen dosyanın arşiv türüdür. Arşiv türü varsayılan olarak URL'nin dosya uzantısından belirlenir. Dosyanın uzantısı yoksa "zip", "jar", "war", "aar", "tar", "tar.gz", "tgz", "tar.xz", "txz", ".tar.zst", ".tzst", "tar.bz2", ".tbz", ".ar" veya ".deb" uzantılarından birini burada açıkça belirtebilirsiniz. |
stripPrefix
|
varsayılan olarak '' çıkarılan 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 ön eki build_file içinde tekrar tekrar belirtmek yerine, bu alan çıkarılan dosyalardan kaldırmak için kullanılabilir.
|
allow_fail
|
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
|
varsayılan değer '' Ayarlanırsa önbellek isabetlerini, dosyanın önbelleğe aynı kanonikal kimlikle eklendiği durumlarla kısıtlayın |
auth
|
varsayılan değer {} 'tir.Bazı URL'ler için kimlik doğrulama bilgilerini belirten isteğe bağlı bir ifadedir. |
headers
|
varsayılan değer {} Tüm URL'ler için http üstbilgilerini belirten isteğe bağlı bir sözlük. |
integrity
|
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. |
rename_files
|
varsayılan değer {} Çıkarma 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 komut, Unicode olmayan dosya adları veya büyük/küçük harfe duyarlı olmayan dosya sistemlerinde aynı yola çıkarılacak dosyalara sahip arşivleri ayıklamak için kullanılabilir. |
execute
exec_result module_ctx.execute(arguments, timeout=600, environment={}, quiet=True, working_directory="")Bağımsız değişkenler listesi tarafından verilen komutu yürütür. Komutun yürütülme süresi
timeout
ile sınırlıdır (saniye cinsinden, varsayılan 600 saniye). Bu yöntem, komut çıkışını içeren bir exec_result
yapısı döndürür. environment
eşlemesi, işleme iletilecek bazı ortam değişkenlerini geçersiz kılmak için kullanılabilir.
Parametreler
Parametre | Açıklama |
---|---|
arguments
|
required Parametre listesi. İlk öğe, çalıştırılacak programın yolu olmalıdır. |
timeout
|
varsayılan değer 600 komutun saniye cinsinden maksimum süresi (varsayılan değer 600 saniyedir). |
environment
|
varsayılan değer {} bazı ortam değişkenlerinin işleme aktarılacak şekilde ayarlanmasını zorunlu kılar. |
quiet
|
varsayılan değer True stdout ve stderr'nin terminale yazdırılıp yazdırılmayacağı. |
working_directory
|
varsayılan "" Komut yürütme için çalışma dizini. Depo köküne göre göreli veya mutlak olabilir. |
extension_metadata
extension_metadata module_ctx.extension_metadata(root_module_direct_deps=None, root_module_direct_dev_deps=None, reproducible=False)Modül uzantısının uygulama işlevinden döndürülebilecek opak bir nesne oluşturur. Bu nesne, uzantı tarafından oluşturulan depolarla ilgili meta verileri Bazel'e sağlar.
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 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 komutunu çalıştırmasını ister.
|
root_module_direct_dev_deps
|
dize'lerin sequence; veya dize; veya None ;
varsayılan olarak None Uzantının kök modülünün doğrudan geliştirici bağımlılığı olarak kabul ettiği depoların adları. Kök modül ek depolar içe aktarırsa veya use_extension(..., dev_dependency = True) ile oluşturulan bir uzantı proxy'sinde 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 'i çalıştırmasını bildiren bir uyarı yazdırır.
|
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. |
dosya
None
module_ctx.file(path, content='', executable=True, legacy_utf8=True)
Depo dizininde, sağlanan içeriği içeren bir dosya oluşturur.
Parametreler
Parametre | Açıklama |
---|---|
path
|
dize; veya Etiket; veya yol;
kod deposu dizinine göre oluşturulacak dosyanın gerekli yolu. |
content
|
'' varsayılan olarak boş olacak şekilde oluşturulacak dosyanın içeriğidir. |
executable
|
varsayılan değer True oluşturulan dosyada yürütülebilirlik işaretini ayarlar, varsayılan olarak doğrudur. |
legacy_utf8
|
varsayılan değer True dosya içeriğini UTF-8 olarak kodlar, varsayılan olarak doğrudur. Gelecek sürümlerde varsayılan ayar değiştirilecek ve bu parametre kaldırılacaktır. |
getenv
string module_ctx.getenv(name, default=None)Varsa bir ortam değişkeninin (
name
) değerini dize olarak, yoksa default
değerini döndürür.Artımlı derleme sırasında name
tarafından adlandırılan değişkenin değerinde yapılan herhangi bir değişiklik, bu deposunun yeniden getirilmesine neden olur.
Parametreler
Parametre | Açıklama |
---|---|
name
|
string;
required istenen ortam değişkeninin adı |
default
|
dize veya None ;
varsayılan değer None "ad" 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)Belirtilen etiketin,
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.modulesHarici bağımlılık grafiğinde, bu modül uzantısını kullanan tüm Bazel modüllerinin listesi. Bunların her biri, uzantı için belirttiği tüm etiketleri gösteren bir bazel_module nesnesidir. Bu sözlüğün iterasyon sırasının, kök modülden başlayarak kapsama öncelik veren aramayla aynı olması garanti edilmektedir.
os
repository_os module_ctx.osSistemdeki bilgilere erişmek için kullanılan bir yapı.
yol
path module_ctx.path(path)Bir dizeden, etiketten veya yoldan bir yol döndürür. Göreli bir yol ise kod deposu dizine göre çözümlenir. Yol bir etiketse ilgili dosyanın yoluna çözümlenir. Uzak depoların analiz aşamasında çalıştırıldığını ve bu nedenle hedef bir sonuca bağlı olamayacağını unutmayın (etiket, oluşturulmamış bir dosyayı işaret etmelidir). path bir yol ise bu yol olduğu gibi döndürülür.
Parametreler
Parametre | Açıklama |
---|---|
path
|
dize; veya Etiket; veya yol;
zorunlu yol oluşturmak için kullanılacak dize, etiket veya yol |
okuma
string module_ctx.read(path, *, watch='auto')Dosya sistemindeki bir dosyanın içeriğini okur.
Parametreler
Parametre | Açıklama |
---|---|
path
|
dize; veya Etiket; veya yol;
okunacak dosyanın gerekli yolu. |
watch
|
varsayılan ayar 'auto' olup dosyayı izleyip izlememek şeklindedir. "yes", "no" veya "auto" 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='')
Bu deposunun veya modül uzantısının getirilmesi işleminin ilerleme durumunu günceller
Parametreler
Parametre | Açıklama |
---|---|
status
|
string;
varsayılan değer '' getirme işleminin mevcut durumunu açıklayan dize |
root_module_has_non_dev_dependency
bool module_ctx.root_module_has_non_dev_dependencyKök modülün bu uzantıyı geliştirici dışı bir bağımlılık olarak kullanıp kullanmadığını belirtir.
kol saati
None
module_ctx.watch(path)
Bazel'e, belirtilen yoldaki değişiklikleri (var olup olmadığı veya dosya ya da dizin olup olmadığı fark etmeksizin) izlemesini söyler. Dosyada veya dizinde yapılan değişiklikler bu deposu veya modül uzantısını geçersiz kılar ve bir sonraki sefer yeniden getirilmesine ya da yeniden değerlendirilmesine neden olur."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. Dikkate değer bir nokta, yol bir dizinse dizin altındaki herhangi bir dosyada yapılan değişiklikleri içermez. 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)İlgili programın yolunu döndürür veya yolda böyle bir program yoksa None değerini döndürür.
Parametreler
Parametre | Açıklama |
---|---|
program
|
gerekli Yolda bulunacak programı kullanın. |
None
değerini döndürebilir.