Yardımcı işlevler ve özelliklerle ilgili bilgileri içeren depolama alanı kuralının bağlamı. Depo kuralı oluşturduğunuzda implementation
işlevine bir repository_ctx nesnesi bağımsız değişkeni olarak alırsınız.
Üyeler
- attr
- sil
- indirin
- download_and_extract
- execute
- extract
- dosya
- getenv
- name
- os
- yama
- path
- oku
- report_progress
- sembolik bağlantı
- template
- watch
- watch_tree
- which
- workspace_root
özlk
struct repository_ctx.attrÖzelliklerin değerlerine erişmek için bir struct. Değerler kullanıcı tarafından sağlanır (aksi takdirde varsayılan değer kullanılır).
delete
bool repository_ctx.delete(path)Bir dosyayı veya dizini siler. Dosyanın veya dizinin gerçekten bu çağrı tarafından silinip silinmediğini belirten bir bool döndürür.
Parametreler
Parametre | Açıklama |
---|---|
path
|
string; veya path (yol)
gerekli Silinecek dosyanın yolu (dosyanın depo dizinine göre) veya mutlaktır. Bir yol veya dize olabilir. |
indir
unknown repository_ctx.download(url, output='', sha256='', executable=False, allow_fail=False, canonical_id='', auth={}, headers={}, *, integrity='', block=True)Bir dosyayı, sağlanan URL'nin çıkış yoluna indirir 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. İndirme işlemi başarılı olursa sha256
ve integrity
alanlarını içeren dosyanın karmasını döndürü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 olarak '' indirilen dosyanın beklenen SHA-256 karması. Bu değer, 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önderimden önce ayarlanmalıdır. |
executable
|
varsayılan değer False oluşturulan dosyada yürütülebilir bayrağı varsayılan olarak false (yanlış) değerine ayarlayın. |
allow_fail
|
varsayılan değer False Ayarlanırsa, başarısız indirmeler için hata mesajı iletmek yerine döndürülen değerde hatayı belirtin |
canonical_id
|
varsayılan değer '' Ayarlanırsa önbellek isabetlerini, dosyanın önbelleğe aynı standart kimlikle eklendiği durumlarla sınırlandırın |
auth
|
varsayılan değer {} Bazı URL'lerin kimlik doğrulama bilgilerini belirten isteğe bağlı bir ifade. |
headers
|
varsayılan değer {} Tüm URL'ler için http üstbilgilerini belirten isteğe bağlı bir ifade. |
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ği için sağlama toplamı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önderimden ö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öntem (wait()) içeren bir jeton döndürülür. |
download_and_extract
struct repository_ctx.download_and_extract(url, output='', sha256='', type='', stripPrefix='', allow_fail=False, canonical_id='', auth={}, headers={}, *, integrity='', rename_files={})Sağlanan URL'nin çıkış yoluna bir dosya indirir, dosyayı ayıklar ve
success
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ında dosyanın karmasını oluşturur.
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 '' Arşivin, depo dizine göre paketten çıkarılacağı dizinin yolu. |
sha256
|
varsayılan olarak '' indirilen dosyanın beklenen SHA-256 karması. Bu değer, 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 için isteğe bağlıdır ancak gönderimden önce ayarlanmalıdır. Sağlanırsa ilk olarak depo önbelleği, belirtilen karma oluşturma işlemine 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
|
varsayılan olarak '' indirilen 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", "tar", "tar.gz", "tgz", "tar.xz", "txz", ".tar.zst", ".tzst", "tar.bz2", ".tbz", ".deb" veya ".debz" değerlerini belirtebilirsiniz. burayı tıklayın. |
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 bir üst düzey 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 mesajı iletmek yerine döndürülen değerde hatayı belirtin |
canonical_id
|
varsayılan değer '' Ayarlanırsa önbellek isabetlerini, dosyanın önbelleğe aynı standart kimlikle eklendiği durumlarla sınırlandırın |
auth
|
varsayılan değer {} Bazı URL'lerin kimlik doğrulama bilgilerini belirten isteğe bağlı bir ifade. |
headers
|
varsayılan değer {} Tüm URL'ler için http üstbilgilerini belirten isteğe bağlı bir ifade. |
integrity
|
varsayılan değer '' İndirilen dosyanın, alt öğe bütünlüğü biçiminde beklenen sağlama toplamı. Bu değer, 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önderimden önce ayarlanmalıdır. |
rename_files
|
varsayılan değer {} Ayıklama sırasında yeniden adlandırılacak dosyaları belirten isteğe bağlı bir dikt. 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 repository_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ütme süresi
timeout
ile sınırlıdır (saniye cinsinden, varsayılan olarak 600 saniye). Bu yöntem, komutun çıktısı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 değer "" Komut yürütme için çalışma dizini. Depo köküne göre göreli veya mutlak olabilir. |
ayıklama
None
repository_ctx.extract(archive, output='', stripPrefix='', *, rename_files={}, watch_archive='auto')
Depo dizinine bir arşiv çıkarın.
Parametreler
Parametre | Açıklama |
---|---|
archive
|
dize; veya Etiket; veya yol;
zorunlu Arşivin, depolama alanı dizine göreli yolu. |
output
|
string; veya Etiket; veya yol;
varsayılan ayar '' arşivin paketten çıkarılacağı dizine giden yol. |
stripPrefix
|
varsayılan değer '' ayıklanmış dosyalardan ayırmak için bir dizin öneki. Birçok arşiv, arşivdeki tüm dosyaları içeren bir üst düzey 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.
|
rename_files
|
varsayılan değer {} Çıkarma 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, herhangi bir dizin öneki ayarlamasından önce değer olarak 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
|
varsayılan değer 'auto' arşiv dosyasını izleyip izlemeyeceğinizi belirleyin. "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
repository_ctx.file(path, content='', executable=True, legacy_utf8=True)
Depo dizininde, sağlanan içerikle bir dosya oluşturur.
Parametreler
Parametre | Açıklama |
---|---|
path
|
string; veya Etiket; veya yol;
gerekli depo dizininize göre belirlenecek dosyanın yolu. |
content
|
varsayılan değer '' dosyanın içeriği varsayılan olarak boştur. |
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 varsayılan olarak true (doğru) olarak UTF-8 olarak kodlayın. Gelecekteki sürümlerde varsayılan ayar değiştirilecek ve bu parametre kaldırılacaktır. |
getenv
string repository_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ı 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 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.
ad
string repository_ctx.nameBu kural tarafından oluşturulan harici deponun adı.
os
repository_os repository_ctx.osSistemdeki bilgilere erişmek için kullanılan bir yapı.
patch
None
repository_ctx.patch(patch_file, strip=0, *, watch_patch='auto')
Harici deponun kök dizinine bir düzeltme dosyası uygulayın. Yama dosyası, standart bir birleştirilmiş fark biçimi dosyası olmalıdır. Bazel'e özgü yamalar uygulaması, patch komut satırı aracı gibi bulanık eşleşmeyi ve ikili yamayı desteklemez.
Parametreler
Parametre | Açıklama |
---|---|
patch_file
|
string; veya Etiket; veya yol;
gerekli Uygulanacak yama dosyası; etiket, göreli yol veya mutlak yol olabilir. Göreli bir yolsa, kod deposu dizinine çözümlenir. |
strip
|
varsayılan değer 0 belirtilen sayıda önde gelen bileşeni dosya adlarından ayırır. |
watch_patch
|
varsayılan değer 'auto' yama dosyasının izlenip izlenmeyeceğini kontrol edebilirsiniz. "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).
|
yol
path repository_ctx.path(path)Bir dizeden, etiketten veya yoldan yol döndürür. Yol göreceliyse, depo dizinine göre çözümlenir. Yol bir etiketse ilgili dosyanın yoluna çözümlenir. Uzak depoların analiz aşamasında yürütüldüğünü ve dolayısıyla bir hedef sonuca bağlı olamayacağını unutmayın (etiket, oluşturulmamış bir dosyaya işaret etmelidir). Yol bir yol ise bu yolu olduğu gibi döndürür.
Parametreler
Parametre | Açıklama |
---|---|
path
|
string; veya Etiket; veya yol;
gerekli içinden yol oluşturacağınız dize, etiket veya yol |
okuma
string repository_ctx.read(path, *, watch='auto')Dosya sistemindeki bir dosyanın içeriğini okur.
Parametreler
Parametre | Açıklama |
---|---|
path
|
string; veya Etiket; veya yol;
gerekli dosyanın yolunu ekler. |
watch
|
varsayılan değer 'auto' dosyanın izlenip izlenmeyeceği. "Evet", "hayır" veya "otomatik" dizesi olabilir. "Evet" cevabını verin watch() yöntemini hemen çağırmaya eşdeğerdir; "hayır" denme dosyayı izlemeye çalışmaz; "auto" geçen dosyayı yalnızca yasal olduğunda izlemeye çalışır (daha fazla bilgi için watch() dokümanlarına bakın.
|
report_progress
None
repository_ctx.report_progress(status='')
Bu depo veya modül uzantısının getirilmesiyle ilgili ilerleme durumunu günceller
Parametreler
Parametre | Açıklama |
---|---|
status
|
string;
varsayılan değer: '' getirme işleminin mevcut durumunu açıklayan dize |
sembolik bağlantı
None
repository_ctx.symlink(target, link_name)
Dosya sisteminde sembolik bir bağlantı oluşturur.
Parametreler
Parametre | Açıklama |
---|---|
target
|
string; veya Etiket; veya yol;
gerekli Sembolik bağlantının işaret etmesi gereken yol. |
link_name
|
dize; veya Etiket; veya yol;
zorunlu Oluşturulacak sembolik bağlantının yolu. |
şablon
None
repository_ctx.template(path, template, substitutions={}, executable=True, *, watch_template='auto')
template
kullanarak yeni bir dosya oluşturur. substitutions
anahtarının template
politikasında her geçtiği yer, ilgili değerle değiştirilecek. Sonuç path
dilinde yazılır. Yürütülebilir biti açmak veya kapatmak için isteğe bağlı executable
bağımsız değişkeni (varsayılan olarak true değerine ayarlanır) ayarlanabilir.
Parametreler
Parametre | Açıklama |
---|---|
path
|
dize; veya Etiket; veya yol;
zorunlu Oluşturulacak dosyanın, depolama alanı dizine göre yolu. |
template
|
string; veya Etiket; veya yol;
gerekli şablon dosyasının yoludur. |
substitutions
|
varsayılan değer {} temel öğeleri içerir. |
executable
|
varsayılan değer True oluşturulan dosyada yürütülebilir işareti varsayılan olarak true olarak ayarlayın. |
watch_template
|
varsayılan değer 'auto' şablon dosyasının izlenip izlenmeyeceği. "Evet", "hayır" veya "otomatik" dizesi olabilir. "Evet" cevabını verin watch() yöntemini hemen çağırmaya eşdeğerdir; "hayır" denme dosyayı izlemeye çalışmaz; "auto" geçen dosyayı yalnızca yasal olduğunda izlemeye çalışır (daha fazla bilgi için watch() dokümanlarına bakın.
|
kol saati
None
repository_ctx.watch(path)
Bazel'a, belirtilen yoldaki (mevcut değil) veya bir dosya ya da dizin olan değişiklikleri izlemesini söyler. Dosya veya dizinde yapılan herhangi bir değişiklik, bu depo veya modül uzantısını geçersiz kılar ve tekrar getirilmesine veya bir sonraki sefer yeniden değerlendirilmesine neden olur."Değişiklikler" dosyanın içeriğinde yapılan değişiklikleri dahil etme (yol bir dosyaysa); yol bir dosyaysa ancak şimdi bir dizinse (veya tam tersi) ve yolun mevcut olup olmadığını
görebilirsiniz. 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 yolu izlemeye çalışan modül uzantıları da hatayla sonuçlanır.
Parametreler
Parametre | Açıklama |
---|---|
path
|
string; veya Etiket; veya yol;
gerekli dosyanın yolunu izleyin. |
watch_tree
None
repository_ctx.watch_tree(path)
Bazel'e, belirtilen yol altındaki tüm dosya veya dizinlerde geçişli olarak değişiklikleri izlemesini söyler. Dosyaların içeriğinde, dosyaların veya dizinlerin varlığında, dosya adlarında ya da dizin adlarında yapılan değişiklikler bu deposunun yeniden getirilmesine neden olur.Şu anda getirilmekte olan depodaki yolları izlemeye çalışırsanız hatayla karşılaşacağınızı unutmayın.
Parametreler
Parametre | Açıklama |
---|---|
path
|
string; veya Etiket; veya yol;
gerekli yolunu izleyin. |
hangi
path repository_ctx.which(program)İlgili programın yolunu veya yolda böyle bir program yoksa Yok değerini döndürür.
Parametreler
Parametre | Açıklama |
---|---|
program
|
zorunlu programda bulabilirsiniz. |
None
sonucunu döndürebilir.
workspace_root
path repository_ctx.workspace_rootBazel çağrısının kök çalışma alanının yolu.