Yardımcı işlevler ve özelliklerle ilgili bilgileri içeren depolama alanı kuralının bağlamı. Bir depo kuralı oluşturduğunuzda, implementation
işlevinin bağımsız değişkeni olarak bir repository_ctx nesnesi alırsınız.
Üyeler
- attr
- sil
- download
- download_and_extract
- execute
- extract
- dosya
- getenv
- name
- os
- yama
- path
- oku
- yeniden adlandır
- report_progress
- symlink
- şablonu
- watch
- watch_tree
- which
- workspace_root
attr
struct repository_ctx.attr
delete
bool repository_ctx.delete(path)
Parametreler
Parametre | Açıklama |
---|---|
path
|
dize veya yol;
zorunlu Depo dizine göre veya mutlak olarak silinecek dosyanın yolu. 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)
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, depo dizinine göre çıkış dosyasının '' yoludur. |
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ı atlamak, derlemenizi hermetik hale getirmez. 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 değer False Oluşturulan dosyada yürütülebilirlik işaretini ayarlayın. Varsayılan olarak yanlıştır. |
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 olarak {} şeklindedirBazı URL'ler için kimlik doğrulama bilgilerini belirten isteğe bağlı bir ifadedir. |
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ğ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 isteğe bağlıdır ancak gönderimden ö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. |
block
|
bool;
varsayılan değer True false 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='', 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. Kod deposu önbelleği sağlanmışsa öncelikle belirtilen karmaya sahip bir dosya olup olmadığı kontrol edilir. İndirme işlemi yalnızca dosya önbellekte bulunamadığında denenir. İndirme işlemi başarılı olduktan sonra dosya önbelleğe eklenir. |
type
|
string;
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 ayırmak için kullanılan bir dizin önekidir. Birçok arşiv, arşivdeki tüm dosyaları içeren üst düzey bir dizin içerir. Bu alan, bu ön eki build_file içinde tekrar tekrar belirtmek yerine, çıkarılan dosyalardan ayırmak için kullanılabilir.
Uyumluluk için bu parametre, desteği sonlandırılan |
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
|
string;
varsayılan değer '' Ayarlanırsa önbellek isabetlerini, dosyanın aynı standart kimlikle önbelleğe eklendiği durumlarla kısıtlayın. Varsayılan olarak önbelleğe alma işleminde sağlama toplamı kullanılı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 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 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 isteğe bağlıdır ancak gönderimden ö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 repository_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, 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
|
sequence;
zorunlu Parametre listesi. İlk öğe, çalıştırılacak programın yolu 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 {} Bazı ortam değişkenlerinin işleme aktarılacak şekilde ayarlanmasını zorunlu kılar. 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 dizinidir. Depo köküne göre göreli veya mutlak olabilir. Varsayılan dizin, depo köküdür. |
ayıklamak
None
repository_ctx.extract(archive, output='', strip_prefix='', *, rename_files={}, watch_archive='auto')
Parametreler
Parametre | Açıklama |
---|---|
archive
|
dize; veya Etiket; veya yol;
zorunlu Arşivin, depolama alanı dizine göreli yolu. |
output
|
dize; veya Etiket; veya yol; varsayılan olarak, depo dizinine göre arşivin paketinin açılacağı dizine giden '' yoludur. |
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 amacıyla, bu parametre kullanımdan kaldırılan |
rename_files
|
dict;
varsayılan olarak {} şeklindedirAyıklama sırasında yeniden adlandırılacak dosyaları belirten isteğe bağlı bir dikt. 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
|
dize;
varsayılan değer 'auto' Arşiv dosyasının izlenip izlenmeyeceği. "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).
|
dosya
None
repository_ctx.file(path, content='', executable=True, legacy_utf8=True)
Parametreler
Parametre | Açıklama |
---|---|
path
|
dize; veya Etiket; veya yol;
gerekli Oluşturulacak dosyanın depo dizinine göre 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 şeklindedirDosya içeriğini varsayılan olarak true (doğru) olarak UTF-8 olarak kodlayın. Gelecek sürümlerde varsayılan ayar değiştirilecek ve bu parametre kaldırılacaktır. |
getenv
string repository_ctx.getenv(name, default=None)
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;
gerekli İ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.
ad
string repository_ctx.name
os
repository_os repository_ctx.os
patch
None
repository_ctx.patch(patch_file, strip=0, *, watch_patch='auto')
Parametreler
Parametre | Açıklama |
---|---|
patch_file
|
dize; veya Etiket; veya yol;
zorunlu Uygulanacak yama dosyası. Etiket, göreli yol veya mutlak yol olabilir. Göreli bir yolsa depo dizininde çözümlenir. |
strip
|
int;
varsayılan olarak 0 şeklindedirBelirtilen sayıda önde gelen bileşeni dosya adlarından çıkarır. |
watch_patch
|
dize;
varsayılan değer 'auto' Yama dosyasının izlenip izlenmeyeceği. "yes", "no" veya "auto" dizesi olabilir. "Evet"i iletmek, watch() yöntemini hemen çağırmak anlamına gelir. 'no' iletildiğinde dosyayı izlemeye çalışmaz, 'auto' (otomatik) komutu iletildiğinde yalnızca yasal olduğu durumlarda izlenmeye çalışılır (daha fazla bilgi için watch() dokümanlarına bakın).
|
yol
path repository_ctx.path(path)
Parametreler
Parametre | Açıklama |
---|---|
path
|
dize; veya Etiket; veya yol;
zorunlustring , Label veya path 'ten yol oluşturma.
|
okuma
string repository_ctx.read(path, *, watch='auto')
Parametreler
Parametre | Açıklama |
---|---|
path
|
dize; veya Etiket; veya yol;
gerekli Okumanın yapılacağı dosyanın yolu. |
watch
|
string;
varsayılan değer 'auto' Dosyanın izlenip izlenmeyeceğini belirler. "yes", "no" veya "auto" dizesi olabilir. "Evet"i iletmek, watch() yöntemini hemen çağırmak anlamına gelir. 'no' iletildiğinde dosyayı izlemeye çalışmaz, 'auto' (otomatik) komutu iletildiğinde yalnızca yasal olduğu durumlarda izlenmeye çalışılır (daha fazla bilgi için watch() dokümanlarına bakın).
|
adını değiştir
None
repository_ctx.rename(src, dst)
src
yerine dst
olarak yeniden adlandırır. Gerekirse üst dizinler oluşturulur. Hedef yol zaten mevcutsa başarısız olur. Her iki yol da depoda bulunmalıdır.
Parametreler
Parametre | Açıklama |
---|---|
src
|
dize; veya Etiket; veya yol;
zorunlu Yeniden adlandırılacak mevcut dosya veya dizinin, depo dizine göre yolu. |
dst
|
dize; veya Etiket; veya yol;
zorunlu Dosya veya dizinin, depo dizine göre yeniden adlandırılacağı yeni ad. |
report_progress
None
repository_ctx.report_progress(status='')
Parametreler
Parametre | Açıklama |
---|---|
status
|
dize;
varsayılan olarak '' string , getirme işleminin mevcut durumunu açıklar.
|
sembolik bağlantı
None
repository_ctx.symlink(target, link_name)
Parametreler
Parametre | Açıklama |
---|---|
target
|
dize; 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. template
içindeki substitutions
anahtarının her tekrarı, ilgili değerle değiştirilir. Sonuç path
dilinde yazılır. İsteğe bağlı bir executable
bağımsız değişkeni (varsayılan olarak doğrudur) yürütülebilir bitini etkinleştirmek veya devre dışı bırakmak için ayarlanabilir.
Parametreler
Parametre | Açıklama |
---|---|
path
|
dize; veya Etiket; veya yol;
zorunlu Repo dizine göre oluşturulacak dosyanın yolu. |
template
|
dize; veya Etiket; veya yol;
zorunlu Şablon dosyasının yolu. |
substitutions
|
dict;
varsayılan ayar {} Şablon genişletilirken yapılacak ikameler. |
executable
|
bool;
varsayılan değer True Oluşturulan dosyada yürütülebilirlik işaretini ayarlayın. Varsayılan olarak doğrudur. |
watch_template
|
dize;
varsayılan değer 'auto' Şablon dosyasının izlenip izlenmeyeceği. "yes", "no" veya "auto" dizesi olabilir. "Evet"i iletmek, watch() yöntemini hemen çağırmak anlamına gelir. 'no' iletildiğinde dosyayı izlemeye çalışmaz, 'auto' (otomatik) komutu iletildiğinde yalnızca yasal olduğu durumlarda izlenmeye çalışılır (daha fazla bilgi için watch() dokümanlarına bakın).
|
kol saati
None
repository_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. 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. |
watch_tree
None
repository_ctx.watch_tree(path)
Şu anda getirilmekte olan depodaki yolları izlemeye çalışmanın hatayla sonuçlanacağını unutmayın.
Parametreler
Parametre | Açıklama |
---|---|
path
|
dize; veya Etiket; veya yol;
zorunlu İzlenecek dizin ağacının yolu. |
hangi
path repository_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
değerini döndürebilir.
workspace_root
path repository_ctx.workspace_root