.
Özelliklerle ilgili yardımcı işlevleri ve bilgileri içeren depo 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
- indirin
- download_and_extract
- yürütme
- çıkar
- dosya
- getenv
- name
- işletim sistemi
- yama
- path
- oku
- report_progress
- sembolik bağlantı
- şablonu
- saat
- watch_tree
- hangi
- workspace_root
attr
struct repository_ctx.attrÖzelliklerin değerlerine erişmek için bir struct. Değerler kullanıcı tarafından sağlanır (değilse 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 (depo dizinine göre) veya mutlaktır. Bir yol veya dize olabilir. |
indirme
unknown repository_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. Kullanıcı tarafından sha256
veya integrity
belirtildiğinde açık bir canonical_id
ayarlanması önemle tavsiye edilir. ör. get_default_canonical_id
Parametreler
Parametre | Açıklama |
---|---|
url
|
string; veya dizeler yinelenebilir;
gerekli Aynı dosyaya referansta bulunan yansıtma URL'lerinin listesi. |
output
|
string; veya Etiket; veya yol;
varsayılan ayar '' yolunu işaret eder. |
sha256
|
string;
varsayılan değer: '' İndirilen dosyanın beklenen SHA-256 karma değeri. 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ı atlamak, derlemenizi hermetik hale getirmez. Geliştirmeyi kolaylaştırmak isteğe bağlıdır ancak gönderimden önce ayarlanmalıdır. Kod deposu önbelleği, sağlanırsa öncelikle verilen karmaya sahip bir dosya için kontrol edilir. İndirme işlemi yalnızca dosya önbellekte bulunmazsa denenir. İndirme işlemi başarılı olduktan sonra dosya önbelleğe eklenir. |
executable
|
bool;
varsayılan değer: False Oluşturulan dosyada yürütülebilir bayrağı 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 mesajı iletmek yerine döndürülen değerde hatayı belirtin. |
canonical_id
|
string;
varsayılan değer: '' Ayarlanırsa önbellek isabetlerini, dosyanın önbelleğe aynı standart kimlikle eklendiği durumlarla sınırlandırın. Önbelleğe alma varsayılan olarak sağlama toplamını ( sha256 veya integrity ) kullanır.
|
auth
|
dict;
varsayılan değer: {} Bazı URL'lerin kimlik doğrulama bilgilerini belirten isteğe bağlı bir metin. |
headers
|
dict;
varsayılan değer: {} Tüm URL'ler için http üstbilgilerini belirten isteğe bağlı bir ifade. |
integrity
|
string;
varsayılan değer: '' İndirilen dosyanın, Alt Kaynak 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ğ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. Kod deposu önbelleği sağlanmışsa önce sağlanan sağlama toplamına sahip bir dosya olup olmadığı kontrol edilir. İndirme işlemi yalnızca dosya önbellekte bulunmazsa denenir. İndirme işlemi başarılı olduktan sonra dosya önbelleğe eklenir. |
block
|
bool;
varsayılan değer: True False (yanlış) değerine ayarlanırsa çağrı hemen geri döner ve normal döndürülen değer yerine tek bir yönteme sahip (bekle) yöntemini döndürür. Bu yöntem indirme işlemi tamamlanana kadar engeller ve her zamanki gibi döndürülen değeri döndürür veya her zamanki gibi atar. |
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. Kullanıcı tarafından sha256
veya integrity
belirtildiğinde açık bir canonical_id
ayarlanması önemle tavsiye edilir. ör. get_default_canonical_id
Parametreler
Parametre | Açıklama |
---|---|
url
|
string; veya dizeler yinelenebilir;
gerekli Aynı dosyaya referansta bulunan yansıtma URL'lerinin listesi. |
output
|
string; veya Etiket; veya yol;
varsayılan ayar '' Arşivin paketinin açılacağı dizine giden yol (kod deposu dizinine göre). |
sha256
|
string;
varsayılan değer: '' İndirilen dosyanın beklenen SHA-256 karma değeri. 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ı atlamak, derlemenizi hermetik hale getirmez. Geliştirmeyi kolaylaştırmak isteğe bağlıdır ancak gönderimden önce ayarlanmalıdır. Kod deposu önbelleği, sağlanırsa öncelikle verilen karmaya sahip bir dosya için kontrol edilir. İndirme işlemi yalnızca dosya önbellekte bulunmazsa 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ü. Varsayılan olarak, arşiv türü URL'nin dosya uzantısına göre 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" öğelerini belirtebilirsiniz. burayı tıklayın. |
stripPrefix
|
string;
varsayılan değer: '' Ayıklanan dosyalardan alınacak 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, ayıklanan dosyalardan onu ayırmak için kullanılabilir.
|
allow_fail
|
bool;
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
|
string;
varsayılan değer: '' Ayarlanırsa önbellek isabetlerini, dosyanın önbelleğe aynı standart kimlikle eklendiği durumlarla sınırlandırın. Varsayılan olarak önbelleğe alma, sağlama toplamını kullanır" ( sha256 veya integrity ).
|
auth
|
dict;
varsayılan değer: {} Bazı URL'lerin kimlik doğrulama bilgilerini belirten isteğe bağlı bir metin. |
headers
|
dict;
varsayılan değer: {} Tüm URL'ler için http üstbilgilerini belirten isteğe bağlı bir ifade. |
integrity
|
string;
varsayılan değer: '' İndirilen dosyanın, Alt Kaynak 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ğ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. Kod deposu önbelleği sağlanmışsa önce sağlanan sağlama toplamına sahip bir dosya olup olmadığı kontrol edilir. İndirme işlemi yalnızca dosya önbellekte bulunmazsa denenir. İndirme işlemi başarılı olduktan sonra 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 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 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 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ü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
|
sequence;
gerekli Bağımsız değişkenler listesi. İlk öğe, yürütülecek programa giden yol olmalıdır. |
timeout
|
int;
varsayılan değer: 600 Komutun saniye cinsinden maksimum süresi (varsayılan değer 600 saniyedir). |
environment
|
dict;
varsayılan değer: {} Bazı ortam değişkenlerinin, işleme aktarılması için ayarlanmasını zorunlu kılın. |
quiet
|
bool;
varsayılan değer: True stdout ve stderr'in terminale yazdırılması gerekiyorsa. |
working_directory
|
string;
varsayılan değer: "" Komut yürütme için çalışma dizini. Depo kökü veya mutlak ile göreli olabilir. Varsayılan dizin, depo köküdür. |
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
|
string; veya Etiket; veya yol;
gerekli yolu. |
output
|
string; veya Etiket; veya yol;
varsayılan ayar '' arşivin paketten çıkarılacağı dizine giden yol. |
stripPrefix
|
string;
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 üst düzey bir dizin içerir. Bu ön eki build_file içinde tekrar tekrar belirtmek yerine bu alan, ayıklanan dosyalardan onu ayırmak için kullanılabilir.
|
rename_files
|
dict;
varsayılan değer: {} Ayı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 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. |
watch_archive
|
string;
varsayılan değer: 'auto' arşiv dosyasının izlenip izlenmeyeceğini seçebilirsiniz. "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.
|
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 Oluşturulacak dosyanın, depo dizinine göre belirlenen yolu. |
content
|
string;
varsayılan değer: '' Oluşturulacak dosyanın içeriği varsayılan olarak boştur. |
executable
|
bool;
varsayılan değer: True Oluşturulan dosyadaki yürütülebilir işareti varsayılan olarak true olarak ayarlayın. |
legacy_utf8
|
bool;
varsayılan değer: True Dosya içeriğini varsayılan olarak UTF-8 biçiminde 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)Bir ortam değişkeninin değerini
name
varsa 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;
gerekli İstenen ortam değişkeninin adı. |
default
|
string; veya None ;
varsayılan değer: None name bulunamazsa döndürülecek varsayılan değer.
|
None
sonucunu döndürebilir.
ad
string repository_ctx.nameBu kural tarafından oluşturulan harici deponun adı.
işletim sistemi
repository_os repository_ctx.osSistemdeki bilgilere erişmek için bir struct.
patch
None
repository_ctx.patch(patch_file, strip=0, *, watch_patch='auto')
Harici deponun kök dizinine bir yama dosyası uygulayın. Yama dosyası, standart bir birleşik fark biçimi dosyası olmalıdır. Bazel'de yerel yama uygulaması, fuzz eşlemeyi ve yama komut satırı aracı gibi 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
|
int;
varsayılan değer: 0 Belirtilen sayıda ön bileşeni dosya adlarından çıkarın. |
watch_patch
|
string;
varsayılan değer: 'auto' Yama dosyasının izlenip izlenmeyeceğini belirler. "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.
|
yol
path repository_ctx.path(path)Bir dize, etiket veya yoldan yol döndürür. Yol göreceliyse kod deposu dizinine göre çözümlenir. Yol bir etiketse karşılık gelen 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 Başlangıç noktası olarak yol oluşturmak için string , Label veya path kullanın.
|
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 Okumanın kaynaklanacağı dosyanın yolu. |
watch
|
string;
varsayılan değer: 'auto' Dosyanın izlenip izlenmeyeceğini belirler. "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: '' string , getirme işleminin mevcut durumunu açıklıyor.
|
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
|
string; veya Etiket; veya yol;
gerekli 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ı bir executable
bağımsız değişkeni (varsayılan olarak true değerine ayarlanır) ayarlanabilir.
Parametreler
Parametre | Açıklama |
---|---|
path
|
string; veya Etiket; veya yol;
gerekli Oluşturulacak dosyanın, depo dizinine göre belirlenen yolu. |
template
|
string; veya Etiket; veya yol;
gerekli Şablon dosyasının yolu. |
substitutions
|
dict;
varsayılan değer: {} Şablonu genişletirken yapılacak değişiklikler. |
executable
|
bool;
varsayılan değer: True Oluşturulan dosyadaki yürütülebilir işareti varsayılan olarak true olarak ayarlayın. |
watch_template
|
string;
varsayılan değer: 'auto' Şablon dosyasının izlenip izlenmeyeceğini belirler. "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. 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()
değerini kullanın.
Getirilmekte olan deponun içindeki veya mevcut modül uzantısının çalışma dizinindeki yolları izlemeye çalışırsanız hatayla karşılaşacaksınız. 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 İzlenecek dosyanın yolu. |
watch_tree
None
repository_ctx.watch_tree(path)
Bazel'a, belirtilen yoldaki dosyalarda veya dizinlerde yapılan değişiklikleri geçişli olarak izlemesini söyler. Dosyaların içeriğindeki, dosya veya dizinlerin varlığı, dosya adları veya dizin adlarında yapılan değişiklikler bu deponun 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 İzlenecek dizin ağacının yolu. |
hangi
path repository_ctx.which(program)İlgili programın
path
değerini veya yolda böyle bir program yoksa None
değerini döndürür.
Parametreler
Parametre | Açıklama |
---|---|
program
|
string;
gerekli programda bulabilirsiniz. |
None
sonucunu döndürebilir.
workspace_root
path repository_ctx.workspace_rootBazel çağrısının kök çalışma alanına giden yol.