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
- original_name
- os
- patch
- path
- oku
- rename
- repo_metadata
- report_progress
- symlink
- template
- watch
- watch_tree
- which
- workspace_root
özlk
structure repository_ctx.attr
delete
bool repository_ctx.delete(path)
Parametreler
Parametre | Açıklama |
---|---|
path
|
string veya path;
required Silinecek dosyanın, depo dizinine 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. sha256
veya integrity
kullanıcı tarafından belirtildiğinde açık bir canonical_id
ayarlanması önemle tavsiye edilir. Örneğin: get_default_canonical_id
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
|
string;
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'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. |
executable
|
bool;
varsayılan değer False Oluşturulan dosyada yürütülebilir işaretini ayarlayın (varsayılan olarak false). |
allow_fail
|
bool;
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
|
string;
varsayılan değer '' Ayarlanırsa önbellek isabetlerini, dosyanın önbelleğe aynı standart kimlikle eklendiği durumlarla sınırlandırın. Varsayılan olarak önbelleğe alma işleminde sağlama toplamı ( sha256 veya integrity ) kullanılır.
|
auth
|
dict;
varsayılan değer {} Bazı URL'ler 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
|
string;
default is '' İ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. Sağlanırsa, önce verilen sağlama toplamına 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. |
block
|
bool;
varsayılan değer True false olarak ayarlanırsa çağrı hemen döndürülür ve normal dönüş değeri yerine, indirme işlemi tamamlanana kadar engellenen 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='', strip_prefix='', allow_fail=False, canonical_id='', auth={}, headers={}, *, integrity='', rename_files={})
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. sha256
veya integrity
kullanıcı tarafından belirtildiğinde açık bir canonical_id
ayarlanması önemle tavsiye edilir. Örneğin: get_default_canonical_id
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
|
string;
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'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
|
string;
varsayılan değer '' İndirilen dosyanın arşiv türü. Varsayılan olarak, arşiv türü URL'nin dosya uzantısından belirlenir. Dosyanın uzantısı yoksa "zip", "jar", "war", "aar", "nupkg", "whl", "tar", "tar.gz", "tgz", "tar.xz", "txz", ".tar.zst", ".tzst", "tar.bz2", ".tbz", ".ar" veya ".deb" uzantılarını açıkça belirtebilirsiniz. |
strip_prefix
|
string;
varsayılan değer '' Çıkarılan dosyalardan kaldırılacak bir dizin öneki. Birçok arşiv, arşivdeki tüm dosyaları içeren bir üst düzey dizin içerir. build_file içinde bu öneki tekrar tekrar belirtmek yerine, bu alan çıkarılan dosyalardan öneki kaldırmak için kullanılabilir.
Bu parametre, uyumluluk için kullanımdan kaldırılan |
allow_fail
|
bool;
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
|
string;
varsayılan değer '' Ayarlanırsa önbellek isabetlerini, dosyanın önbelleğe aynı standart kimlikle eklendiği durumlarla sınırlandırın. Varsayılan olarak önbelleğe alma işleminde sağlama toplamı kullanılır ( sha256 veya integrity ).
|
auth
|
dict;
varsayılan değer {} Bazı URL'ler 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
|
string;
default is '' İ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. Sağlanırsa, önce verilen sağlama toplamına 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. |
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. 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="")
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
|
sequence;
required Bağımsız değişkenlerin listesi. İlk öğe, yürütülecek programın yolu olmalıdır. |
timeout
|
int;
varsayılan değer 600 Komutun saniye cinsinden maksimum süresi (varsayılan değer 600 saniyedir). |
environment
|
dict;
varsayılan değer {} Bazı ortam değişkenlerinin işleme aktarılmak üzere ayarlanmasını zorlar. Ortam değişkenini kaldırmak için değer None olabilir.
|
quiet
|
bool;
varsayılan değer True stdout ve stderr'in terminale yazdırılıp yazdırılmayacağı. |
working_directory
|
string;
varsayılan değer "" Komut yürütme için çalışma dizini. Depo köküne göre göreceli veya mutlak olabilir. Varsayılan dizin, depo köküdür. |
çıkarma
None
repository_ctx.extract(archive, output='', strip_prefix='', *, 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). |
strip_prefix
|
string;
varsayılan değer '' çıkarılan dosyalardan kaldırılacak bir dizin öneki. Birçok arşiv, arşivdeki tüm dosyaları içeren bir üst düzey 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.
Bu parametre, uyumluluk için kullanımdan kaldırılan |
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. 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. |
watch_archive
|
string;
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, dosyayı izlemeye çalışmaz; "auto" değerini iletmek ise 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=False)
Parametreler
Parametre | Açıklama |
---|---|
path
|
string; veya Label; veya path;
required Oluşturulacak dosyanın, depo dizinine göre yolu. |
content
|
string;
varsayılan değer '' Oluşturulacak dosyanın içeriği. Varsayılan olarak boştur. |
executable
|
bool;
varsayılan değer True Oluşturulan dosyada yürütülebilir işaretini ayarlayın. Varsayılan olarak true değerini alır. |
legacy_utf8
|
bool;
varsayılan değer False İşlem yapılmaz. Bu parametrenin desteği sonlandırılmıştır ve gelecekteki bir Bazel sürümünde kaldırılacaktır. |
getenv
string repository_ctx.getenv(name, default=None)
name
değerini varsa dize olarak, yoksa default
olarak 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
tarihine kadar iade edilebilir.
ad
string repository_ctx.name
name
olarak belirtilen adı almak için bunun yerine original_name
kullanın.
original_name
string repository_ctx.original_name
name
özelliği olarak belirtilen ad. Bu ad, harici depolar arasında benzersiz olmayabilir. Harici deponun standart adını almak için bunun yerine name
kullanın.
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;
required Uygulanacak yama dosyası. Etiket, göreli yol veya mutlak yol olabilir. Göreceli bir yol ise depo dizinine çözümlenir. |
strip
|
int;
varsayılan değer 0 Belirtilen sayıda öndeki bileşeni dosya adlarından kaldırın. |
watch_patch
|
string;
varsayılan değer 'auto' 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, dosyayı izlemeye çalışmaz; "auto" değerini iletmek ise 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)
repository_ctx
ise göreli yol, depo dizinine göre çözümlenir. module_ctx
ise göreli yol, bu modül uzantısı için geçici bir çalışma dizinine göre çözümlenir. Yol bir etiketse ilgili dosyanın yoluna çözümlenir. Uzak depoların ve modül uzantılarının analiz aşamasında yürütüldüğünü ve bu nedenle bir hedef sonuca bağlı olamayacağını (etiket, oluşturulmamış bir dosyayı işaret etmelidir) unutmayın. Yol bir yolsa bu yolu olduğu gibi döndürür.
Parametreler
Parametre | Açıklama |
---|---|
path
|
string; veya Label; veya path;
requiredstring , Label veya path .
|
okuma
string repository_ctx.read(path, *, watch='auto')
Parametreler
Parametre | Açıklama |
---|---|
path
|
string; veya Label; veya path;
required Okunacak dosyanın yolu. |
watch
|
string;
varsayılan değer 'auto' 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, dosyayı izlemeye çalışmaz; "auto" değerini iletmek ise dosyayı yalnızca izlemenin yasal olduğu durumlarda izlemeye çalışır (daha fazla bilgi için watch() belgelerine bakın).
|
adını değiştir
None
repository_ctx.rename(src, dst)
src
olarak yeniden adlandırır.dst
Üst dizinler gerektiğinde oluşturulur. Hedef yol zaten varsa işlem başarısız olur. Her iki yol da deponun içinde olmalıdır.
Parametreler
Parametre | Açıklama |
---|---|
src
|
string; veya Label; veya path;
required Yeniden adlandırılacak mevcut dosyanın veya dizinin yolu. Bu yol, depo dizinine göre belirlenir. |
dst
|
string; veya Label; veya path;
required Dosyanın veya dizinin yeniden adlandırılacağı yeni ad (depo dizinine göre). |
repo_metadata
repo_metadata repository_ctx.repo_metadata(*, reproducible=False, attrs_for_reproducibility={})
Parametreler
Parametre | Açıklama |
---|---|
reproducible
|
bool;
default is False Bu depoda yeniden getirmenin tekrarlanabilir olduğunu belirtir. Yani tam olarak aynı giriş özellikleri, depo kuralı tanımı, izlenen dosyalar ve ortam değişkenleriyle vb. başka bir kez getirilirse tam olarak aynı çıkış üretilir. Bu özellik, izlenmeyen diğer koşullar (ör. internetten alınan bilgiler, çalışma alanının kök dizin yolu, rastgele yürütülebilir dosyaların çalıştırılmasından elde edilen çıktı) değişse bile geçerli olmalıdır. True olarak ayarlanırsa getirilen depo içeriklerinin çalışma alanları arasında önbelleğe alınmasına izin verilir. Bunun True olarak ayarlanmasının, depo içerikleri önbelleğinde önbelleğe almayı garanti etmediğini unutmayın. Örneğin, yerel depo kuralları hiçbir zaman önbelleğe alınmaz. |
attrs_for_reproducibility
|
dict;
varsayılan değer {} reproducible False ise bu, Bazel'e orijinal depo kuralının hangi özelliklerinin değiştirilerek yeniden üretilebilir hale getirileceğini söylemek için belirtilebilir.
|
report_progress
None
repository_ctx.report_progress(status='')
Parametreler
Parametre | Açıklama |
---|---|
status
|
string;
varsayılan değer '' string olup getirme ilerleme durumunun mevcut durumunu açıklar.
|
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 yönlendirilmesi 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 Oluşturulacak dosyanın, depo dizinine göre yolu. |
template
|
string; veya Label; veya path;
required Şablon dosyasının yolu. |
substitutions
|
dict;
varsayılan değer {} Şablon genişletilirken yapılacak değiştirmeler. |
executable
|
bool;
varsayılan değer True Oluşturulan dosyada yürütülebilir işaretini ayarlayın. Varsayılan olarak true değerini alır. |
watch_template
|
string;
varsayılan değer 'auto' Ş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, dosyayı izlemeye çalışmaz; "auto" değerini iletmek ise dosyayı yalnızca izlemenin yasal olduğu durumlarda izlemeye çalışır (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
|
string; veya Label; veya path;
required İzlenecek dizin ağacının yolu. |
hangi
path repository_ctx.which(program)
path
değerini veya yolda böyle bir program yoksa None
değerini döndürür.
Parametreler
Parametre | Açıklama |
---|---|
program
|
string;
required Program to find in the path. |
None
tarihine kadar iade edilebilir.
workspace_root
path repository_ctx.workspace_root