depo

Sorun bildir Kaynağı görüntüleyin Nightly · 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ı. 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 yapı. 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. Dosya veya dizinin bu çağrıyla gerçekten silinip silinmediğini belirten bir boole döndürür.

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)

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. 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 {} şeklindedir
Bazı URL'ler için kimlik doğrulama bilgilerini belirten isteğe bağlı bir ifadedir.
headers dict; varsayılan olarak {} şeklindedir
Tü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={})

Bir dosyayı, sağlanan URL'nin çıkış yoluna indirir, dosyayı çıkarır 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. İş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 stripPrefix adı altında da kullanılabilir.

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="")

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 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')

Arşivi depo dizinine çıkarın.

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 stripPrefix adı altında da kullanılabilir.

rename_files dict; varsayılan olarak {} şeklindedir
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 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)

Depo dizininde, sağlanan içeriği içeren bir dosya oluşturur.

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 şeklindedir
Dosya 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)

Varsa bir ortam değişkeninin (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

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 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 şeklindedir
Belirtilen 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)

Bir dizeden, etiketten veya yoldan bir yol döndürür. Göreli bir yol ise kod deposu dizine göre çözümlenir. Yol bir etiketse ilgili dosyanın yoluna çözümlenir. Uzak depoların analiz aşamasında çalıştırıldığını ve bu nedenle hedef bir sonuca bağlı olamayacağını unutmayın (etiket, oluşturulmamış bir dosyayı işaret etmelidir). path bir yol ise bu yol olduğu gibi döndürülür.

Parametreler

Parametre Açıklama
path dize; veya Etiket; veya yol; zorunlu
string, Label veya path'ten yol oluşturma.

okuma

string repository_ctx.read(path, *, watch='auto')

Dosya sistemindeki bir dosyanın içeriğini okur.

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)

Dosya veya dizini 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='')

Bu deposunun veya modül uzantısının getirilmesi işleminin ilerleme durumunu günceller.

Parametreler

Parametre Açıklama
status dize; varsayılan olarak ''
string, getirme işleminin mevcut durumunu açıklar.

None repository_ctx.symlink(target, link_name)

Dosya sisteminde sembolik bağlantı oluşturur.

Parametreler

Parametre Açıklama
target dize; 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. 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)

Bazel'a, belirtilen yoldaki (mevcut değil) veya bir dosya ya da dizin olan değişiklikleri izlemesini söyler. Dosyada veya dizinde yapılan değişiklikler bu deposu veya modül uzantısını geçersiz kılar ve bir sonraki sefer yeniden getirilmesine ya da yeniden değerlendirilmesine neden olur.

"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)

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ış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)

İ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; required
Yolda bulunacak program.
None değerini döndürebilir.

workspace_root

path repository_ctx.workspace_root

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