implementation işlevine bağımsız değişken olarak bir repository_ctx nesnesi iletilir.
Üyeler
- attr
- sil
- download
- download_and_extract
- execute
- extract
- file
- getenv
- name
- os
- patch
- path
- oku
- report_progress
- symlink
- template
- watch
- watch_tree
- which
- workspace_root
attr
struct repository_ctx.attr
delete
bool repository_ctx.delete(path)
Parametreler
| Parametre | Açıklama |
|---|---|
path
|
string; veya path;
required Silinecek dosyanın, depo dizinine göre göreli veya mutlak yolu. Yol veya dize olabilir. |
indir
unknown repository_ctx.download(url, output='', sha256='', executable=False, allow_fail=False, canonical_id='', auth={}, headers={}, *, integrity='', block=True)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
|
string veya string yinelemesi;
zorunlu Aynı dosyaya referans veren yansıtma URL'lerinin listesi. |
output
|
string; veya Label; veya path;
varsayılan değer ''çıktı 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'yı 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. |
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 FalseAyarlanı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ın. |
auth
|
varsayılan değer {}Bazı URL'ler için kimlik doğrulama bilgilerini belirten isteğe bağlı bir sözlük. |
headers
|
varsayılan değer {}Tüm URL'ler için HTTP üstbilgilerini 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. |
block
|
Varsayılan değer True'dır. false olarak ayarlanırsa çağrı hemen döndürülür ve normal dönüş değeri yerine, indirme işlemi tamamlanana kadar engellemeyi sürdüren ve normal dönüş değerini döndüren veya her zamanki gibi hata veren tek bir yönteme (wait()) sahip 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={})
success içeren bir yapı döndürür. success, 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ı döndürür.
Parametreler
| Parametre | Açıklama |
|---|---|
url
|
string veya string 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'yı 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. 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. Dosya başarıyla indirildikten sonra ö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 FalseAyarlanı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ın. |
auth
|
varsayılan değer {}Bazı URL'ler için kimlik doğrulama bilgilerini belirten isteğe bağlı bir sözlük. |
headers
|
varsayılan değer {}Tüm URL'ler için HTTP üstbilgilerini 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. Adları bir anahtarla tam olarak eşleşen arşiv girişleri, dizin önekinde herhangi bir düzenleme yapılmadan önce değerle 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="")
timeout ile sınırlıdır (saniye cinsinden, varsayılan değer 600 saniyedir). 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 600komutun 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öreli veya mutlak olabilir. |
çıkarma
None repository_ctx.extract(archive, output='', stripPrefix='', *, rename_files={}, watch_archive='auto')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. Adları bir anahtarla tam olarak eşleşen arşiv girişleri, dizin önekinde herhangi bir düzenleme yapılmadan önce değerle 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. |
watch_archive
|
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öntemini hemen çağırmaya eşdeğerdir; "no" değerini iletmek, dosyanın izlenmesini denemez; "auto" değerini iletmek ise yalnızca dosyanın izlenmesinin yasal olduğu durumlarda bu işlemi dener (daha fazla bilgi için watch() belgelerine bakın).
|
dosya
None repository_ctx.file(path, content='', executable=True, legacy_utf8=True)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'dir. Oluşturulan dosyada yürütülebilir işaretini ayarlayın. 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. |
getenv
string repository_ctx.getenv(name, default=None)
name ortam değişkeninin değerini dize olarak, yoksa default değerini döndürür.Artımlı olarak oluştururken name ile adlandırılan değişkenin değerinde yapılan herhangi bir değişiklik, bu deponun yeniden getirilmesine neden olur.
Parametreler
| Parametre | Açıklama |
|---|---|
name
|
string;
required name of desired environment variable |
default
|
dize; veya None;
varsayılan değer None"name" bulunamazsa döndürülecek varsayılan değer |
None.
ad
string repository_ctx.name
os
repository_os repository_ctx.os
patch
None repository_ctx.patch(patch_file, strip=0, *, watch_patch='auto')Parametreler
| Parametre | Açıklama |
|---|---|
patch_file
|
string; veya Label; veya path;
gerekli Uygulanacak yama dosyası. Etiket, göreli yol veya mutlak yol olabilir. Göreli bir yol ise depo dizinine çözümlenir. |
strip
|
varsayılan değer 0belirtilen sayıda öndeki bileşeni dosya adlarından kaldırır. |
watch_patch
|
Varsayılan değer 'auto''dir. Yama dosyasının izlenip izlenmeyeceği. "yes", "no" veya "auto" dizesi olabilir. "yes" değerini iletmek, watch() yöntemini hemen çağırmaya eşdeğerdir; "no" değerini iletmek, dosyanın izlenmesini denemez; "auto" değerini iletmek ise yalnızca dosyanın izlenmesinin yasal olduğu durumlarda bu işlemi dener (daha fazla bilgi için watch() belgelerine bakın).
|
yol
path repository_ctx.path(path)
Parametreler
| Parametre | Açıklama |
|---|---|
path
|
dize; veya etiket; veya yol;
gerekli yol oluşturulacak dize, etiket veya yol |
okuma
string repository_ctx.read(path, *, watch='auto')
Parametreler
| Parametre | Açıklama |
|---|---|
path
|
string; veya Label; veya path;
required Okunacak dosyanın yolu. |
watch
|
Varsayılan değer 'auto''dir.
Dosyanın izlenip izlenmeyeceği."yes", "no" veya "auto" dizesi olabilir. "yes" değerini iletmek, watch() yöntemini hemen çağırmaya eşdeğerdir; "no" değerini iletmek, dosyanın izlenmesini denemez; "auto" değerini iletmek ise yalnızca dosyanın izlenmesinin yasal olduğu durumlarda bu işlemi dener (daha fazla bilgi için watch() belgelerine bakın).
|
report_progress
None repository_ctx.report_progress(status='')Parametreler
| Parametre | Açıklama |
|---|---|
status
|
string;
varsayılan değer ''getirme ilerleme durumunun mevcut durumunu açıklayan dize |
sembolik bağlantı
None repository_ctx.symlink(target, link_name)Parametreler
| Parametre | Açıklama |
|---|---|
target
|
string; veya Label; veya path;
required Sembolik bağlantının işaret etmesi gereken yol. |
link_name
|
string; veya Label; veya path;
required 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ç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 {}'dir. Şablon genişletilirken yapılacak değiştirmeler. |
executable
|
Varsayılan değer True'dir. Oluşturulan dosyada yürütülebilir işaretini ayarlayın. Varsayılan olarak true değerini alır. |
watch_template
|
Varsayılan değer 'auto''dir. Şablon dosyasının izlenip izlenmeyeceği. "yes", "no" veya "auto" dizesi olabilir. "yes" değerini iletmek, watch() yöntemini hemen çağırmaya eşdeğerdir; "no" değerini iletmek, dosyanın izlenmesini denemez; "auto" değerini iletmek ise yalnızca dosyanın izlenmesinin yasal olduğu durumlarda bu işlemi dener (daha fazla bilgi için watch() belgelerine bakın).
|
kol saati
None repository_ctx.watch(path)"Değişiklikler", dosyanın içeriğinde yapılan değişiklikleri (yol bir dosya ise), yolun daha önce dosya olup şimdi dizin olmasını veya tam tersini ve yolun var olmaya başlamasını ya da sonlanmasını içerir. Özellikle, yol bir dizinse bu işlem dizin altındaki dosyalarda yapılan değişiklikleri içermez. Bunun için path.readdir() politikasını kullanın.
Şu anda getirilen depodaki veya mevcut modül uzantısının çalışma dizinindeki yolları izlemeye çalışmanın hataya neden olacağını unutmayın. Mevcut Bazel çalışma alanının dışındaki bir yolu izlemeye çalışan bir modül uzantısı 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)Şu anda getirilen depodaki yolları izlemeye çalışmanın hataya neden olacağını unutmayın.
Parametreler
| Parametre | Açıklama |
|---|---|
path
|
dize; veya etiket; veya yol;
zorunlu izlenecek dizin ağacının yolu. |
hangi
path repository_ctx.which(program)
Parametreler
| Parametre | Açıklama |
|---|---|
program
|
gerekli Yolda bulunacak program. |
None.
workspace_root
path repository_ctx.workspace_root