depo

Yardımcı işlevler ve özelliklerle ilgili bilgileri içeren depo kuralının bağlamı. Depo kuralı oluşturduğunuzda implementation işlevine bağımsız değişken olarak bir repository_ctx nesnesi iletilir.

Üyeler

özlk

struct repository_ctx.attr

Özelliklerin değerlerine erişmek için kullanılan bir yapı. Değerler kullanıcı tarafından sağlanır (sağlanmazsa varsayılan değer kullanılır).

delete

bool repository_ctx.delete(path)

Bir dosyayı veya dizini siler. Dosyanın veya dizinin bu çağrı tarafından gerçekten silinip silinmediğini belirten bir boole değeri döndürür.

Parametreler

Parametre Açıklama
path string veya path; required
Silinecek dosyanın, depo dizinine göreli veya mutlak yolu. Yol veya dize olabilir.

indir

struct repository_ctx.download(url, output='', sha256='', executable=False, allow_fail=False, canonical_id='', auth={}, *, integrity='')

Belirtilen URL'deki dosyayı çıkış yoluna indirir ve success içeren bir yapı döndürür. Bu yapı, indirme işlemi başarıyla tamamlandıysa true olan bir işarettir. Başarılı olursa sha256 ve integrity alanlarıyla birlikte dosyanın karmasını içerir.

Parametreler

Parametre Açıklama
url dize veya dize yinelemesi; zorunlu
Aynı dosyaya referans veren yansıtma URL'lerinin listesi.
output string; veya Label; veya path; varsayılan değer ''
çıkış dosyasının yolu (depo dizinine göre).
sha256 Varsayılan değer ''
indirilen dosyanın beklenen SHA-256 karmasıdır. Bu, 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 olmamasına neden olur. 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
'dir. Oluşturulan dosyada yürütülebilir işaretini ayarlayın. Varsayılan olarak false değerini alır.
allow_fail varsayılan değer False
Ayarlanırsa başarısız indirmeler için hata oluşturmak yerine döndürülen değerde hatayı belirtin.
canonical_id varsayılan değer ''
Ayarlanırsa önbellek isabetlerini, dosyanın önbelleğe aynı kanonik kimlikle eklendiği durumlarla sınırlandırır.
auth varsayılan değer {}
Bazı URL'ler için kimlik doğrulama bilgilerini belirten isteğe bağlı bir sözlük.
integrity varsayılan değer ''
İndirilen dosyanın, alt kaynak bütünlüğü biçimindeki beklenen sağlama toplamı. Bu, indirilen dosyanın sağlama toplamıyla eşleşmelidir. Uzak dosyalar değişebileceğinden sağlama toplamını atlamak güvenlik riski oluşturur. Bu alanın atlanması en iyi ihtimalle derlemenizin hermetik olmamasına neden olur. Geliştirmeyi kolaylaştırmak için isteğe bağlıdır ancak gönderimden önce ayarlanmalıdır.

download_and_extract

struct repository_ctx.download_and_extract(url, output='', sha256='', type='', stripPrefix='', allow_fail=False, canonical_id='', auth={}, *, integrity='', rename_files={})

Belirtilen URL için bir dosyayı çıkış yoluna indirir, dosyayı ayıklar ve success içeren bir yapı döndürür. Bu yapı, indirme işlemi başarıyla tamamlandıysa true olan bir işarettir. İndirme işlemi başarılıysa sha256 ve integrity alanlarını içeren dosyanın karmasını döndürür.

Parametreler

Parametre Açıklama
url dize veya dize yinelemesi; zorunlu
Aynı dosyaya referans veren yansıtma URL'lerinin listesi.
output string; veya Label; veya path; varsayılan değer ''
arşivin açılacağı dizinin yolu (depo dizinine göre).
sha256 Varsayılan değer ''
indirilen dosyanın beklenen SHA-256 karmasıdır. Bu, 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 olmamasına neden olur. Geliştirmeyi kolaylaştırmak için isteğe bağlıdır ancak gönderimden önce ayarlanmalıdır. Sağlanırsa önce verilen karma değerine sahip bir dosya için depo önbelleği kontrol edilir. Yalnızca dosya önbellekte bulunamazsa indirme işlemi 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ü olan ''
'dir. Varsayılan olarak, arşiv türü URL'nin dosya uzantısından belirlenir. Dosyanın uzantısı yoksa "zip", "jar", "war", "aar", "tar", "tar.gz", "tgz", "tar.xz", "txz", ".tar.zst", ".tzst", "tar.bz2", ".tbz", ".ar" veya ".deb" uzantılarını açıkça belirtebilirsiniz.
stripPrefix Varsayılan değer ''
çıkarılan dosyalardan kaldırılacak bir dizin önekidir. 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 öneki kaldırmak için kullanılabilir.
allow_fail varsayılan değer False
Ayarlanırsa başarısız indirmeler için hata oluşturmak yerine döndürülen değerde hatayı belirtin.
canonical_id varsayılan değer ''
Ayarlanırsa önbellek isabetlerini, dosyanın önbelleğe aynı kanonik kimlikle eklendiği durumlarla sınırlandırır.
auth varsayılan değer {}
Bazı URL'ler için kimlik doğrulama bilgilerini belirten isteğe bağlı bir sözlük.
integrity varsayılan değer ''
İndirilen dosyanın, alt kaynak bütünlüğü biçimindeki beklenen sağlama toplamı. Bu, indirilen dosyanın sağlama toplamıyla eşleşmelidir. Uzak dosyalar değişebileceğinden sağlama toplamını atlamak güvenlik riski oluşturur. Bu alanın atlanması en iyi ihtimalle derlemenizin hermetik olmamasına neden olur. 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 {}
'dir. Çıkarma işlemi 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, dizin öneki ayarlanmadan önce değer olarak yeniden adlandırılır. Bu seçenek, Unicode olmayan dosya adları içeren veya büyük/küçük harfe duyarsız dosya sistemlerinde aynı yola çıkarılacak dosyalar içeren arşivleri çıkarmak 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 600 saniye). Bu yöntem, komutun çıkışını içeren bir exec_result yapısı döndürür. environment haritası, 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şkenlerin listesi. İlk öğe, yürütülecek 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 {}
'dir. Bazı ortam değişkenlerinin işleme iletilecek şekilde ayarlanmasını zorlar.
quiet Varsayılan değer True
'dir. stdout ve stderr'in terminale yazdırılıp yazdırılmayacağı.
working_directory Varsayılan değer ""
'dir. Komut yürütme için çalışma dizini. Depo köküne göre göreceli veya mutlak olabilir.

çıkarma

None repository_ctx.extract(archive, output='', stripPrefix='', *, rename_files={})

Bir arşivi depo dizinine çıkarın.

Parametreler

Parametre Açıklama
archive string; veya Label; veya path; required
path to the archive that will be unpacked, relative to the repository directory.
output string; veya Label; veya path; varsayılan değer ''
arşivin açılacağı dizinin yolu (depo dizinine göre).
stripPrefix Varsayılan değer ''
çıkarılan dosyalardan kaldırılacak bir dizin önekidir. 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 öneki kaldırmak için kullanılabilir.
rename_files varsayılan değer {}
'dir. Çıkarma işlemi 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, dizin öneki ayarlanmadan önce değer olarak yeniden adlandırılır. Bu seçenek, Unicode olmayan dosya adları içeren veya büyük/küçük harfe duyarsız dosya sistemlerinde aynı yola çıkarılacak dosyalar içeren arşivleri çıkarmak için kullanılabilir.

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 Label; veya path; required
path of the file to create, relative to the repository directory.
content varsayılan değer ''
oluşturulacak dosyanın içeriği, varsayılan olarak boş.
executable varsayılan değer True
Oluşturulan dosyada yürütülebilir işaretini ayarlar. Varsayılan olarak true değerini alır.
legacy_utf8 Varsayılan değer True
'dir. Dosya içeriğini UTF-8 olarak kodlayın. Varsayılan olarak true değerini alır. Gelecekteki sürümlerde varsayılan değer değiştirilecek ve bu parametre kaldırılacak.

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)

Harici deponun kök dizinine bir yama dosyası uygulayın. Yama dosyası, standart bir birleştirilmiş farklılık biçimi dosyası olmalıdır. Bazel'e özgü yama uygulaması, yama komut satırı aracı gibi bulanık eşleşmeyi ve ikili yamayı desteklemez.

Parametreler

Parametre Açıklama
patch_file string; veya Label; veya path; required
Uygulanacak yama dosyası. Etiket, göreli yol veya mutlak yol olabilir. Göreceli bir yol ise depo dizinine çözümlenir.
strip Varsayılan değer 0
Belirtilen sayıda öndeki bileşeni dosya adlarından kaldırır.

yol

path repository_ctx.path(path)

Dize, etiket veya yoldan bir yol döndürür. Yol göreliyse 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 bu nedenle hedef sonuca bağlı olamayacağını (etiket, oluşturulmamış bir dosyayı işaret etmelidir) unutmayın. Yol bir yol ise bu yolu olduğu gibi döndürür.

Parametreler

Parametre Açıklama
path string; veya Label; veya path; required
string, label or path from which to create a path from

okuma

string repository_ctx.read(path)

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

Parametreler

Parametre Açıklama
path string; veya Label; veya path; required
path of the file to read from.

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 ilerleme durumunun mevcut durumunu açıklayan dize

None repository_ctx.symlink(target, link_name)

Dosya sisteminde sembolik bağlantı oluşturur.

Parametreler

Parametre Açıklama
target string; veya Label; veya path; required
Sembolik bağlantının yönlendirilmesi gereken yol.
string; veya Label; veya path; required
Oluşturulacak sembolik bağlantının, depo dizinine göre yolu.

şablon

None repository_ctx.template(path, template, substitutions={}, executable=True)

template kullanarak yeni bir dosya oluşturur. template içinde substitutions anahtarının her tekrarı, ilgili değerle değiştirilir. 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şken (varsayılan olarak doğru) ayarlanabilir.

Parametreler

Parametre Açıklama
path string; veya Label; veya path; required
path of the file to create, relative to the repository directory.
template string; veya Label; veya path; required
path to the template file.
substitutions Varsayılan değer {}
şablon genişletilirken yapılacak değiştirmelerdir.
executable varsayılan değer True
Oluşturulan dosyada yürütülebilir işaretini ayarlar. Varsayılan olarak true değerini alır.

hangi

path repository_ctx.which(program)

İlgili programın yolunu veya yolda böyle bir program yoksa None değerini döndürür.

Parametreler

Parametre Açıklama
program gerekli
Yolda bulunacak program.
None tarihine kadar iade edilebilir.

workspace_root

path repository_ctx.workspace_root

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