depo

Yardımcı işlevleri ve özelliklerle ilgili bilgileri içeren depo kuralının bağlamı. Kod deposu 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 kullanılan bir yapı. Değerler kullanıcı tarafından sağlanır (değilse varsayılan bir 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 gösteren bir Bool döndürür.

Parametreler

Parametre Açıklama
path string; or path; zorunlu
Silinecek dosyanın yolu (depo dizinine göre veya mutlak). Yol veya dize olabilir.

indirme

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

Sağlanan URL'nin çıkış yoluna bir dosya indirir ve success içeren bir struct döndürür. success, indirme işlemi başarıyla tamamlanırsa true işaretidir ve başarılı olursa sha256 ve integrity alanlarını içeren dosyanın karmasını döndürür.

Parametreler

Parametre Açıklama
url string; or Iterable of strings; zorunlu
Aynı dosyaya referans veren yansıtma URL'lerinin listesi.
output string; or Label; or path; default = ''
depo dizinine göreli çıkış dosyası yolu.
sha256 default = ''
indirilen dosyanın beklenen SHA-256 karmasıdır. Bu değer, indirilen dosyanın SHA-256 karmasıyla eşleşmelidir. Uzak dosyalar değişebileceği için SHA-256'nın atlanması güvenlik riski oluşturur. Bu alanın atlanması, derlemenizin hermetik olmamasına neden olur. Geliştirmeyi kolaylaştırmak için isteğe bağlıdır ancak gönderim öncesinde ayarlanmalıdır.
executable default = False
Oluşturulan dosyadaki yürütülebilir işareti varsayılan olarak false (yanlış) değerine ayarlayın.
allow_fail default = False
Ayarlanırsa başarısız olan indirme işlemleri için hata oluşturmak yerine döndürülen değerde hatayı belirtin
canonical_id default = ''
Ayarlanırsa önbellek isabetleri, dosyanın aynı standart kimlikle önbelleğe eklendiği durumlarla kısıtlanır
auth default = {}
Bazı URL'ler için kimlik doğrulama bilgilerini belirten isteğe bağlı bir ifade.
integrity default = ''
İndirilen dosyanın, Alt Kaynak 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ı atlamak güvenlik açısından risk taşır. Bu alanın atlanması, derlemenizin hermetik olmamasına neden olur. Geliştirmeyi kolaylaştırmak için isteğe bağlıdır ancak gönderim öncesinde 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={})

Sağlanan URL'nin çıkış yoluna bir dosya indirir, dosyayı çıkarır ve success işaretini içeren bir struct döndürür. true Bu işaret, indirme işlemi başarıyla tamamlanırsa sha256 ve integrity alanlarını içeren dosyanın karmasını içerir.

Parametreler

Parametre Açıklama
url string; or Iterable of strings; zorunlu
Aynı dosyaya referans veren yansıtma URL'lerinin listesi.
output string; or Label; or path; default = ''
depo dizinine göre, arşivin paketinin açılacağı dizine giden yol.
sha256 default = ''
indirilen dosyanın beklenen SHA-256 karmasıdır. Bu değer, indirilen dosyanın SHA-256 karmasıyla eşleşmelidir. Uzak dosyalar değişebileceği için SHA-256'nın atlanması güvenlik riski oluşturur. Bu alanın atlanması, derlemenizin hermetik olmamasına neden olur. Geliştirmeyi kolaylaştırmak için isteğe bağlıdır ancak gönderim öncesinde ayarlanmalıdır. Kod deposu önbelleği sağlanırsa önce belirtilen karmaya sahip bir dosya olup olmadığı kontrol edilir. İndirme işlemi yalnızca dosyanın önbellekte bulunmaması durumunda denenir. İndirme işlemi başarılı olduktan sonra dosya önbelleğe eklenir.
type default = ''
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 burada açık bir şekilde "zip", "jar", "war", "aar", "tar", "tar.gz", "txz", "tar.xz", "txz", ".tar.zst", ".tzst", "tar.bz2", ".ar" veya ".deb" değerlerini belirtebilirsiniz.
stripPrefix default = ''
ayıklanan dosyalardan çıkarılacak bir dizin önekidir. 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 zorunda kalmak yerine, bu alan onu ayıklanan dosyalardan çıkarmak için kullanılabilir.
allow_fail default = False
Ayarlanırsa başarısız olan indirme işlemleri için hata oluşturmak yerine döndürülen değerde hatayı belirtin
canonical_id default = ''
Ayarlanırsa önbellek isabetleri, dosyanın aynı standart kimlikle önbelleğe eklendiği durumlarla kısıtlanır
auth default = {}
Bazı URL'ler için kimlik doğrulama bilgilerini belirten isteğe bağlı bir ifade.
integrity default = ''
İndirilen dosyanın, Alt Kaynak 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ı atlamak güvenlik açısından risk taşır. Bu alanın atlanması, derlemenizin hermetik olmamasına neden olur. Geliştirmeyi kolaylaştırmak için isteğe bağlıdır ancak gönderim öncesinde ayarlanmalıdır.
rename_files default = {}
Ayıklama sırasında yeniden adlandırılacak dosyaları belirten isteğe bağlı bir dikte. Adları bir anahtarla tam olarak eşleşen arşiv girişleri, herhangi bir dizin öneki düzenlemesinden önce değer olarak yeniden adlandırılır. Bu, Unicode olmayan dosya adları veya büyük/küçük harfe duyarlı olmayan dosya sistemlerinde aynı yola çıkarılacak 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 listesinde verilen komutu yürütür. Komutun yürütülme süresi timeout ile sınırlıdır (saniye cinsinden, varsayılan olarak 600 saniye). Bu yöntem, komutun çıkışını içeren bir exec_result yapısı döndürür. environment eşlemesi, işleme geçirilecek bazı ortam değişkenlerini geçersiz kılmak için kullanılabilir.

Parametreler

Parametre Açıklama
arguments gerekli
Bağımsız değişkenler listesi için ilk öğe, yürütülecek programın yolu olmalıdır.
timeout varsayılan = 600
komutun saniye cinsinden maksimum süresi (varsayılan değer 600 saniyedir).
environment default = {}
bazı ortam değişkenlerini işleme geçirilecek şekilde ayarlamaya zorlar.
quiet default = True
stdout ve stderr'in terminale yazdırılması gerekiyorsa.
working_directory default = ""
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={})

Depo dizinine bir arşiv çıkarın.

Parametreler

Parametre Açıklama
archive string; or Label; or path; kod deposu dizinine göre, paketi açılacak arşivin gerekli
yolu.
output string; or Label; or path; default = ''
depo dizinine göre, arşivin paketinin açılacağı dizine giden yol.
stripPrefix default = ''
ayıklanan dosyalardan çıkarılacak bir dizin önekidir. 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 zorunda kalmak yerine, bu alan onu ayıklanan dosyalardan çıkarmak için kullanılabilir.
rename_files default = {}
Ayıklama sırasında yeniden adlandırılacak dosyaları belirten isteğe bağlı bir dikte. Adları bir anahtarla tam olarak eşleşen arşiv girişleri, herhangi bir dizin öneki düzenlemesinden önce değer olarak yeniden adlandırılır. Bu, Unicode olmayan dosya adları veya büyük/küçük harfe duyarlı olmayan dosya sistemlerinde aynı yola çıkarılacak dosyalar içeren arşivleri ayıklamak için kullanılabilir.

file

None repository_ctx.file(path, content='', executable=True, legacy_utf8=True)

Kod deposu dizininde, sağlanan içerikle bir dosya oluşturur.

Parametreler

Parametre Açıklama
path string; or Label; or path; zorunlu
oluşturulacak dosyanın yolu (repository dizinine göre).
content varsayılan = ''
oluşturulacak dosyanın içeriği varsayılan olarak boştur.
executable varsayılan = Doğru
Oluşturulan dosyadaki yürütülebilir işareti varsayılan olarak true şeklinde ayarlar.
legacy_utf8 default = True
Dosya içeriğini varsayılan olarak doğru olan UTF-8 olarak kodlar. Gelecekteki sürümler varsayılanı değiştirecek ve bu parametreyi kaldıracak.

ad

string repository_ctx.name

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

os

repository_os repository_ctx.os

Sistemden 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ş fark biçimi dosyası olmalıdır. Bazel'de yerel yama uygulaması, yama komut satırı aracı gibi fuzz match ve ikili yamayı desteklemez.

Parametreler

Parametre Açıklama
patch_file string; or Label; or path; gerekli
Uygulanacak yama dosyası; etiket, göreli yol veya mutlak yol olabilir. Göreli bir yol ise depo dizinine çözümlenir.
strip default = 0
belirtilen sayıda öncü bileşeni dosya adlarından çıkarır.

yol

path repository_ctx.path(path)

Bir 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ı unutmayın (etiket, oluşturulmamış bir dosyayı işaret etmelidir). Yol bir yolsa bu yolu olduğu gibi döndürür.

Parametreler

Parametre Açıklama
path string; or Label; or path; zorunlu
dize, etiket veya yol oluşturmak için

okuma

string repository_ctx.read(path)

Bir dosyanın içeriğini dosya sisteminde okur.

Parametreler

Parametre Açıklama
path string; or Label; or path; okuma için zorunlu
dosyanın yolu.

report_progress

None repository_ctx.report_progress(status='')

Bu kod deposunun veya modül uzantısının getirilmesiyle ilgili ilerleme durumunu günceller

Parametreler

Parametre Açıklama
status string; default = ''
getirme işleminin mevcut durumunu açıklayan dize

None repository_ctx.symlink(target, link_name)

Dosya sisteminde bir sembolik bağlantı oluşturur.

Parametreler

Parametre Açıklama
target string; or Label; or path; zorunlu
Sembolik bağlantının işaret etmesi gereken yol.
string; or Label; or path; gerekli
Oluşturulacak sembolik bağlantının, depo dizinine göre yolu.

template

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

template kullanarak yeni bir dosya oluşturur. substitutions anahtarının template bölümünde geçtiği her yerde karşılık gelen 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ı birexecutable bağımsız değişkeni (varsayılan olarak true) ayarlanabilir.

Parametreler

Parametre Açıklama
path string; or Label; or path; zorunlu
oluşturulacak dosyanın yolu (repository dizinine göre).
template string; or Label; or path; zorunlu
şablon dosyasının yolu.
substitutions default = {}
şablonu genişletilirken yapılacak değişiklikler.
executable varsayılan = Doğru
Oluşturulan dosyadaki yürütülebilir işareti varsayılan olarak true şeklinde ayarlar.

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 cihazı döndürülebilir.

workspace_root

path repository_ctx.workspace_root

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