implementation
işlevine bağımsız değişken olarak bir module_ctx nesnesi iletilir.
Üyeler
- download
- download_and_extract
- execute
- extension_metadata
- file
- getenv
- is_dev_dependency
- modules
- os
- 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
içeren bir yapı döndürür. Bu yapı, indirme işlemi başarıyla tamamlandıysa true
olan bir işarettir. Başarılı olursa sha256
ve integrity
alanlarıyla birlikte dosyanın karmasını içerir.
Parametreler
Parametre | Açıklama |
---|---|
url
|
dize veya dize yinelemesi;
zorunlu Aynı dosyaya referans veren yansıtma URL'lerinin listesi. |
output
|
string; veya Label; veya path;
varsayılan değer '' çıkış dosyasının yolu (depo dizinine göre). |
sha256
|
Varsayılan değer '' indirilen dosyanın beklenen SHA-256 karmasıdır. 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 olmamasına neden olur. Geliştirmeyi kolaylaştırmak için isteğe bağlıdır ancak gönderimden önce ayarlanmalıdır. |
executable
|
varsayılan değer False 'dir. Oluşturulan dosyada yürütülebilir işaretini ayarlayın. Varsayılan olarak false değerini alır. |
allow_fail
|
varsayılan değer False Ayarlanırsa başarısız indirmeler için hata oluşturmak yerine döndürülen değerde hatayı belirtin. |
canonical_id
|
varsayılan değer '' Ayarlanırsa önbellek isabetlerini, dosyanın önbelleğe aynı kanonik kimlikle eklendiği durumlarla sınırlandırır. |
auth
|
varsayılan değer {} Bazı URL'ler için kimlik doğrulama bilgilerini belirten isteğe bağlı bir sözlük. |
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 kaynak bütünlüğü biçimindeki 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ı atlamak güvenlik riski oluşturur. Bu alanın atlanması en iyi ihtimalle derlemenizin hermetik olmamasına neden olur. Geliştirmeyi kolaylaştırmak için isteğe bağlıdır ancak gönderimden önce ayarlanmalıdır. |
block
|
Varsayılan değer True 'dır. false olarak ayarlanırsa çağrı hemen döndürülür ve normal dönüş değeri yerine, indirme işlemi tamamlanana kadar engellemeyi sürdüren ve normal dönüş değerini döndüren veya her zamanki gibi hata veren tek bir yönteme (wait()) sahip 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={})
success
içeren bir yapı döndürür. Bu yapı, indirme işlemi başarıyla tamamlandıysa true
olan bir işarettir. İndirme işlemi başarılıysa sha256
ve integrity
alanlarını içeren dosyanın karmasını döndürür.
Parametreler
Parametre | Açıklama |
---|---|
url
|
dize veya dize yinelemesi;
zorunlu Aynı dosyaya referans veren yansıtma URL'lerinin listesi. |
output
|
string; veya Label; veya path;
varsayılan değer '' arşivin açılacağı dizinin yolu (depo dizinine göre). |
sha256
|
Varsayılan değer '' indirilen dosyanın beklenen SHA-256 karmasıdır. 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 olmamasına neden olur. Geliştirmeyi kolaylaştırmak için isteğe bağlıdır ancak gönderimden önce ayarlanmalıdır. Sağlanırsa önce verilen karma değerine sahip bir dosya için depo önbelleği kontrol edilir. Yalnızca dosya önbellekte bulunamazsa indirme işlemi denenir. İndirme işlemi başarılı olduktan sonra dosya önbelleğe eklenir. |
type
|
Varsayılan değer, indirilen dosyanın arşiv türü olan '' 'dir. Varsayılan olarak, arşiv türü 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ını açıkça belirtebilirsiniz. |
stripPrefix
|
Varsayılan değer '' çıkarılan dosyalardan kaldırılacak bir dizin önekidir. 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 öneki 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 döndürülen değerde hatayı belirtin. |
canonical_id
|
varsayılan değer '' Ayarlanırsa önbellek isabetlerini, dosyanın önbelleğe aynı kanonik kimlikle eklendiği durumlarla sınırlandırır. |
auth
|
varsayılan değer {} Bazı URL'ler için kimlik doğrulama bilgilerini belirten isteğe bağlı bir sözlük. |
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 kaynak bütünlüğü biçimindeki 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ı atlamak güvenlik riski oluşturur. Bu alanın atlanması en iyi ihtimalle derlemenizin hermetik olmamasına neden olur. Geliştirmeyi kolaylaştırmak için isteğe bağlıdır ancak gönderimden önce ayarlanmalıdır. |
rename_files
|
varsayılan değer {} 'dir. Çıkarma işlemi sırasında yeniden adlandırılacak dosyaları belirten isteğe bağlı bir sözlük. Bir anahtarla tam olarak eşleşen adlara sahip arşiv girişleri, dizin öneki ayarlanmadan önce değer olarak yeniden adlandırılır. Bu seçenek, Unicode olmayan dosya adları içeren veya büyük/küçük harfe duyarsız dosya sistemlerinde aynı yola çıkarılacak dosyalar içeren arşivleri çıkarmak 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 600 saniye). Bu yöntem, komutun çı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
|
zorunlu Bağımsız değişkenlerin listesi. İlk öğe, yürütülecek 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 {} 'dir. Bazı ortam değişkenlerinin işleme iletilecek şekilde ayarlanmasını zorlar. |
quiet
|
Varsayılan değer True 'dir. stdout ve stderr'in terminale yazdırılıp yazdırılmayacağı. |
working_directory
|
Varsayılan değer "" 'dir. Komut yürütme için çalışma dizini. Depo köküne göre göreceli veya mutlak olabilir. |
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
|
string'lerin sırası; veya string; veya None ;
varsayılan değer None Uzantının, kök modülün doğrudan bağımlılıkları olarak kabul ettiği depoların adları. Kök modül ek depoları içe aktarıyorsa veya bu depoların tümünü use_repo aracılığıyla içe aktarmıyorsa Bazel, uzantı değerlendirilirken bir uyarı yazdırır ve kullanıcıya use_repo çağrılarını otomatik olarak düzeltmek için bazel mod tidy komutunu çalıştırmasını söyler.
|
root_module_direct_dev_deps
|
string'lerin sırası; veya string; veya None ;
varsayılan değer None Uzantının, kök modülün doğrudan geliştirme bağımlılıkları olarak kabul ettiği depoların adları. Kök modül ek depoları içe aktarıyorsa veya use_extension(..., dev_dependency = True) ile oluşturulan bir uzantı proxy'sinde use_repo aracılığıyla bu depoların tümünü içe aktarmıyorsa Bazel, uzantı değerlendirilirken bir uyarı yazdırır ve kullanıcıya use_repo çağrılarını otomatik olarak düzeltmek için bazel mod tidy komutunu çalıştırmasını söyler.
|
reproducible
|
bool;
varsayılan değer False Bu modül uzantısının tam tekrarlanabilirliği sağladığını belirtir. Bu nedenle, kilit dosyasında depolanmamalıdır. |
dosya
None
module_ctx.file(path, content='', executable=True, legacy_utf8=True)
Parametreler
Parametre | Açıklama |
---|---|
path
|
string; veya Label; veya path;
required path of the file to create, relative to the repository directory. |
content
|
varsayılan değer '' oluşturulacak dosyanın içeriği, varsayılan olarak boş. |
executable
|
varsayılan değer True Oluşturulan dosyada yürütülebilir işaretini ayarlar. Varsayılan olarak true değerini alır. |
legacy_utf8
|
Varsayılan değer True 'dir. Dosya içeriğini UTF-8 olarak kodlayın. Varsayılan olarak true değerini alır. Gelecekteki sürümlerde varsayılan değer değiştirilecek ve bu parametre kaldırılacak. |
getenv
string module_ctx.getenv(name, default=None)
name
değerini varsa dize olarak, yoksa default
olarak döndürür.Artımlı olarak oluştururken name
ile adlandırılan değişkenin değerinde yapılan herhangi bir değişiklik, bu deponun yeniden getirilmesine neden olur.
Parametreler
Parametre | Açıklama |
---|---|
name
|
string;
required name of desired environment variable |
default
|
dize; veya None ;
varsayılan değer None "ad" bulunamazsa döndürülecek varsayılan değer |
None
tarihine kadar iade edilebilir.
is_dev_dependency
bool module_ctx.is_dev_dependency(tag)
devDependency = True
ile use_extension çağrısının sonucunda belirtilen etiketin olup olmadığını döndürür.
Parametreler
Parametre | Açıklama |
---|---|
tag
|
bazel_module_tag;
required bazel_module.tags'den 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
|
string; veya Label; veya path;
required string, label or path from which to create a path from |
okuma
string module_ctx.read(path, *, watch='auto')
Parametreler
Parametre | Açıklama |
---|---|
path
|
string; veya Label; veya path;
required path of the file to read from. |
watch
|
Varsayılan değer 'auto' 'dir. Dosyanın izlenip izlenmeyeceğini belirler. "yes", "no" veya "auto" dizesi olabilir. "yes" değerini iletmek, watch() yöntemini hemen çağırmaya eşdeğerdir; "no" değerini iletmek, dosyayı izlemeye çalışmaz; "auto" değerini iletmek ise 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
|
string;
varsayılan değer '' getirme ilerleme durumunun mevcut durumunu açıklayan dize |
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ğinde yapılan değişiklikleri (yol bir dosya ise), yolun daha önce dosya olup şimdi dizin olmasını veya tam tersini ve yolun var olmaya başlamasını ya da sonlanmasını içerir. Özellikle, yol bir dizinse bu işlem dizin altındaki dosyalarda yapılan değişiklikleri içermez. Bunun için path.readdir()
politikasını kullanın.
Şu anda getirilen depodaki veya mevcut modül uzantısının çalışma dizinindeki yolları izlemeye çalışmanın hataya neden olacağını unutmayın. Mevcut Bazel çalışma alanının dışındaki bir yolu izlemeye çalışan bir modül uzantısı da hatayla sonuçlanır.
Parametreler
Parametre | Açıklama |
---|---|
path
|
dize; veya etiket; veya yol;
zorunlu izlenecek dosyanın yolu. |
hangi
path module_ctx.which(program)
Parametreler
Parametre | Açıklama |
---|---|
program
|
gerekli Yolda bulunacak program. |
None
tarihine kadar iade edilebilir.