depo

. Sorun bildir Kaynağı göster Gece · 7,3 · 7,2 · 7,1 · 7,0 · 6,5

. Ö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

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.

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 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.
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 metin.
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 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.
block 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, indirmenin tamamlanmasını engeller ve normal döndürülen değeri döndürür ya da 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.

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 paketten çıkarılacağı dizine giden yol.
sha256 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 varsayılan değer ''
indirilen 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" değerlerini belirtebilirsiniz. burayı tıklayın.
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 ü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 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 metin.
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 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.
rename_files 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 zorunlu
Bağımsız değişkenler listesi, ilk öğe yürütülecek programa giden yol 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 {}
işleme tabi tutulması için bazı ortam değişkenlerinin ayarlanmasını zorunlu kılar.
quiet varsayılan değer True
stdout ve stderr'in terminale yazdırılması gerekiyorsa.
working_directory varsayılan değer ""
Komut yürütme için çalışma dizini. Depo kökü veya mutlak ile göreli 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 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 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 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 varsayılan değer 'auto'
arşiv dosyasını izleyip izlemeyeceğinizi belirleyin. "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
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ülebilir işareti varsayılan olarak true olarak ayarlayın.
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)

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
istenen ortam değişkeninin adı
default string; veya None; varsayılan değer: None
"ad" bulunmazsa döndürülecek varsayılan değer
None sonucunu döndürebilir.

ad

string repository_ctx.name

Bu kural tarafından oluşturulan harici deponun adı.

işletim sistemi

repository_os repository_ctx.os

Sistemdeki 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ştirilmiş 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 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. "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, depo 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
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'
dosyayı izleyip izlemeyeceğinizi belirleyin. "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

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.
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ı 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
depo dizininize göre belirlenecek dosyanın 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ı izleyip izlemeyeceğinizi seçin. "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
dosyanın yolunu izleyin.

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
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_root

Bazel çağrısının kök çalışma alanına giden yol.