depo

Sorun bildir Kaynağı göster Gece · 7,4 , 7.3 · 7.2 · 7,1 · 7,0 · 6,5

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

ö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.name

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

os

repository_os repository_ctx.os

Sistemdeki 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

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

Bazel çağrısının kök çalışma alanının yolu.