Aşağıdaki işlevler şuradan yüklenebilir:
@bazel_tools//tools/build_defs/repo:utils.bzl
Getirildikten sonra harici depoları değiştirmeye yönelik yardımcılar.
Kurulum
Bu yardımcı programlar, diğer depo kuralları tarafından kullanılmak üzere tasarlanmıştır. Onlar şu şekilde yüklenebilir.
load(
"@bazel_tools//tools/build_defs/repo:utils.bzl",
"workspace_and_buildfile",
"patch",
"update_attrs",
)
download_remote_files
load("@bazel//tools/build_defs/repo:utils.bzl", "download_remote_files") download_remote_files(ctx, auth)
Uzak dosyaları indirmek için yardımcı program işlevi.
Bu kural,
bir kural oluşturacağım. remote_file_urls
ve
remote_file_integrity
, ctx.attr
kapsamında yer alacak.
Parametreler
ctx |
gereklidir.
Bu yardımcı programı çağıran depo kuralının depo bağlamı işlevini kullanın. |
auth |
isteğe bağlıdır.
varsayılan değer None
Bazı URL'lerin kimlik doğrulama bilgilerini belirten isteğe bağlı bir metin. |
get_auth
load("@bazel//tools/build_defs/repo:utils.bzl", "get_auth") get_auth(ctx, urls)
.netrc dosyasındaki URL listesi için doğru kimlik doğrulama işlemini almaya yarayan yardımcı program işlevi.
Varsa isteğe bağlı netrc ve auth_patterns özelliklerini destekler.
Parametreler
ctx |
gereklidir.
Bu yardımcı programı çağıran depo kuralının depo bağlamı işlevini kullanın. |
urls |
gereklidir.
okunacak url'lerin listesi |
İadeler
repository_ctx.download öğesine iletilebilecek kimlik doğrulama beyanı
belki
load("@bazel//tools/build_defs/repo:utils.bzl", "maybe") maybe(repo_rule, name, **kwargs)
Kod deposunu yalnızca halihazırda mevcut değilse eklemek için yardımcı program işlevi.
Bu, https://bazel.build/rules/deploying#dependencies.
Parametreler
repo_rule |
gereklidir.
depo kuralı işlevine atanmıştır. |
name |
gereklidir.
deponuzun adını girin. |
kwargs |
isteğe bağlıdır.
repo_rule işlevine aktarılan kalan bağımsız değişkenleri ifade eder. |
İadeler
Hiçbir şey, gerektiğinde yan etki olarak depoyu tanımlar.
parse_netrc
load("@bazel//tools/build_defs/repo:utils.bzl", "parse_netrc") parse_netrc(contents, filename)
En azından temel bir .netrc dosyasını ayrıştırmak için yardımcı program işlevi.
Parametreler
contents |
gereklidir.
ayrıştırıcının girdisi. |
filename |
isteğe bağlıdır.
varsayılan değer None
hata mesajlarında kullanılacak dosya adını (varsa) belirtin. |
İadeler
sağlanan bilgilerle makine adlarını bir dile eşleyeceğini dikte etme bunlar hakkında
patch
load("@bazel//tools/build_defs/repo:utils.bzl", "patch") patch(ctx, patches, patch_cmds, patch_cmds_win, patch_tool, patch_args, auth)
Çıkarılmış bir depoya yama uygulama.
Bu kural,
bir kural oluşturacağım. patches
, patch_tool
,
patch_args
, patch_cmds
ve patch_cmds_win
belirtilmedi
ardından ctx.attr
konumundan alınırlar.
Parametreler
ctx |
gereklidir.
Bu yardımcı programı çağıran depo kuralının depo bağlamı işlevini kullanın. |
patches |
isteğe bağlıdır.
varsayılan değer None
Uygulanacak yama dosyaları. Dize, Etiket veya yol listesi. |
patch_cmds |
isteğe bağlıdır.
varsayılan değer None
Yama için çalıştırılacak Bash komutları, tek seferde bir bash zamanı -c. Dize listesi |
patch_cmds_win |
isteğe bağlıdır.
varsayılan değer None
Yama için çalıştırılacak Powershell komutları başarılı teker teker powershell /c'ye yönlendirir. Dize listesi. Öğe bu parametrenin Boole değeri false, patch_cmds kullanılır ve bu parametre yoksayılır. |
patch_tool |
isteğe bağlıdır.
varsayılan değer None
Uygulanmak üzere yürütülecek yama aracının yolu yama uygulayın. Dize. |
patch_args |
isteğe bağlıdır.
varsayılan değer None
Yama aracına aktarılacak bağımsız değişkenler. Dize listesi. |
auth |
isteğe bağlıdır.
varsayılan değer None
Bazı URL'lerin kimlik doğrulama bilgilerini belirten isteğe bağlı bir metin. |
read_netrc
load("@bazel//tools/build_defs/repo:utils.bzl", "read_netrc") read_netrc(ctx, filename)
En azından temel bir .netrc dosyasını ayrıştırmak için yardımcı program işlevi.
Parametreler
ctx |
gereklidir.
Bu yardımcı programı çağıran depo kuralının depo bağlamı işlevini kullanın. |
filename |
gereklidir.
okunacak .netrc dosyasının adı |
İadeler
sağlanan bilgilerle makine adlarını bir dile eşleyeceğini dikte etme bunlar hakkında
read_user_netrc
load("@bazel//tools/build_defs/repo:utils.bzl", "read_user_netrc") read_user_netrc(ctx)
Kullanıcının varsayılan netrc dosyasını okur.
Parametreler
ctx |
gereklidir.
Bu yardımcı program işlevini çağıran depo kuralının depo bağlamı. |
İadeler
makine adlarını bunlar hakkında sağlanan bilgilerle bir dile eşleme dikte yazar.
update_attrs
load("@bazel//tools/build_defs/repo:utils.bzl", "update_attrs") update_attrs(orig, keys, override)
Belirtilen özellikleri belirli bir depo kuralı çağrısına eklemek ve değiştirmek için yardımcı işlev.
Bu, bir kuralı tekrarlanabilir hale getirmek için kullanılır.
Parametreler
orig |
gereklidir.
gerçekten ayarlanan özelliklerin (açık veya örtülü) kuralı belirli bir kural çağrısıyla |
keys |
gereklidir.
bu kuralda tanımlanan özelliklerin tamamı |
override |
gereklidir.
geçersiz kılınacak veya orijinale eklenecek özelliklerin talimatı |
İadeler
geçersiz kılma eklenmiş/güncellenmiş anahtarlara sahip özelliklerin özeti
use_netrc
load("@bazel//tools/build_defs/repo:utils.bzl", "use_netrc") use_netrc(netrc, urls, patterns)
Ayrıştırılmış bir netrc dosyasından ve bir URL listesinden bir kimlik doğrulama kodu hesaplayın.
Parametreler
netrc |
gereklidir.
Daha önce bir dict dosyasına ayrıştırılmış bir netrc dosyası (ör. read_netrc |
urls |
gereklidir.
bir URL listesidir. |
patterns |
gereklidir.
isteğe bağlı yetkilendirme kalıpları için url talimatı |
İadeler
ctx.download için kimlik doğrulama bağımsız değişkeni olarak uygun diyelim; daha net ifade etmek gerekirse, netrc dosyasının giriş ve şifre bilgilerini sağladığı tüm URL'leri ilgili giriş bilgisi, şifre ve isteğe bağlı yetkilendirme kalıbını içeren bir liste "type" "temel" olarak "desen" yapabilirsiniz.
workspace_and_buildfile
load("@bazel//tools/build_defs/repo:utils.bzl", "workspace_and_buildfile") workspace_and_buildfile(ctx)
WORKSPACE ve istenirse BUILD dosyası yazmak için yardımcı program.
Bu kuralın, aşağıdaki işlevlerin uygulama işlevinde kullanılması amaçlanmıştır:
repository kuralı.
name
, build_file
, build_file_content
,
workspace_file
ve workspace_file_content
olacak
ctx.attr
bölgesinde mevcut; diğer dördü muhtemelen Yok değerine sahiptir.
Parametreler
ctx |
gereklidir.
Bu yardımcı programı çağıran depo kuralının depo bağlamı işlevini kullanın. |