Aşağıdaki işlevler @bazel_tools//tools/build_defs/repo:utils.bzl
konumundan yüklenebilir.
Harici depoları getirdikten sonra değiştirmek için kullanılan yardımcı programlar.
Kurulum
Bu yardımcı programlar, diğer depo kuralları tarafından kullanılmak üzere tasarlanmıştır. Bunlar aşağıdaki ş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 kullanılan yardımcı işlev.
Bu kuralın, bir depo kuralının uygulama işlevinde kullanılması amaçlanmıştır. remote_file_urls
ve remote_file_integrity
parametrelerinin ctx.attr
içinde bulunduğunu varsayar.
Parametreler
ctx |
gerekir.
Bu yardımcı işlevi çağıran depo kuralının depo bağlamı. |
auth |
isteğe bağlıdır.
varsayılan değer None
Bazı URL'ler için kimlik doğrulama bilgilerini belirten isteğe bağlı bir sözlük. |
get_auth
load("@bazel//tools/build_defs/repo:utils.bzl", "get_auth") get_auth(ctx, urls)
.netrc dosyasındaki bir URL listesi için doğru kimlik doğrulama sözlüğünü elde etmeye yarayan işlev.
Varsa isteğe bağlı netrc ve auth_patterns özelliklerini destekleyin.
Parametreler
ctx |
gerekir.
Bu yardımcı işlevi çağıran depo kuralının depo bağlamı. |
urls |
gerekir.
Okunacak URL'lerin listesi |
İadeler
repository_ctx.download'a iletilebilen kimlik doğrulama sözlüğü
belki
load("@bazel//tools/build_defs/repo:utils.bzl", "maybe") maybe(repo_rule, name, **kwargs)
Yalnızca mevcut olmayan bir depoyu eklemek için kullanılan yardımcı işlev.
Bu, https://bazel.build/rules/deploying#dependencies adresinde belgelenen safe_repositories.bzl makrosunu uygulamak içindir.
Parametreler
repo_rule |
gerekir.
depo kuralı işlevi. |
name |
gerekir.
Oluşturulacak deponun adı. |
kwargs |
isteğe bağlıdır.
repo_rule işlevine iletilen kalan bağımsız değişkenler. |
İadeler
Hiçbir şey. Gerekli olduğunda depoyu yan etki olarak 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 kullanılan yardımcı işlev.
Parametreler
contents |
gerekir.
ayrıştırıcı için giriş. |
filename |
isteğe bağlıdır.
varsayılan değer "a .netrc file"
Hata mesajlarında (varsa) kullanılacak dosya adı. |
İadeler
Makine adlarını, bunlar hakkında sağlanan bilgileri içeren bir sözlüğe eşleyen sözlük
patch
load("@bazel//tools/build_defs/repo:utils.bzl", "patch") patch(ctx, patches, patch_cmds, patch_cmds_win, patch_tool, patch_args, auth)
Zaten çıkarılmış bir depoya yama uygulama.
Bu kuralın, bir depo kuralının uygulama işlevinde kullanılması amaçlanmıştır. patches
, patch_tool
, patch_args
, patch_cmds
ve patch_cmds_win
parametreleri belirtilmemişse ctx.attr
parametresinden alınır.
Parametreler
ctx |
gerekir.
Bu yardımcı işlevi çağıran depo kuralının depo bağlamı. |
patches |
isteğe bağlıdır.
varsayılan değer None
Uygulanacak yama dosyaları. Dizelerin, etiketlerin veya yolların listesi. |
patch_cmds |
isteğe bağlıdır.
varsayılan değer None
Yama için çalıştırılacak Bash komutları, bash -c'ye tek tek aktarılır. 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ı, Powershell /c'ye tek tek iletilir. Dize listesi. Bu parametrenin boolean değeri yanlışsa patch_cmds kullanılır ve bu parametre yoksayılır. |
patch_tool |
isteğe bağlıdır.
varsayılan değer None
Yamaları uygulamak için yürütülecek yama aracının yolu. 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'ler için kimlik doğrulama bilgilerini belirten isteğe bağlı bir sözlük. |
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 kullanılan yardımcı işlev.
Parametreler
ctx |
gerekir.
Bu yardımcı işlevi çağıran depo kuralının depo bağlamı. |
filename |
gerekir.
Okunacak .netrc dosyasının adı |
İadeler
Makine adlarını, bunlar hakkında sağlanan bilgileri içeren bir sözlüğe eşleyen sözlük
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ı okuma.
Parametreler
ctx |
gerekir.
Bu yardımcı program işlevini çağıran depo kuralının depo bağlamı. |
İadeler
Makine adlarını, bunlar hakkında sağlanan bilgileri içeren bir sözlüğe eşleyen sözlük.
update_attrs
load("@bazel//tools/build_defs/repo:utils.bzl", "update_attrs") update_attrs(orig, keys, override)
Belirtilen özellikleri belirli bir depo kuralı çağırmasına değiştirmek ve eklemek için kullanılan yardımcı işlev.
Bu, bir kuralın yeniden üretilebilir olmasını sağlamak için kullanılır.
Parametreler
orig |
gerekir.
Belirli bir kural çağrısıyla açıkça veya örtülü olarak ayarlanan özelliklerin sözlüğü |
keys |
gerekir.
Bu kuralda tanımlanan özelliklerin tamamı |
override |
gerekir.
orig öğesine eklenecek veya orig öğesinde geçersiz kılınacak özelliklerin sözlüğü |
İadeler
Geçersiz kılma işleminden sonra eklenen/güncellenen anahtarlara sahip özelliklerin sözlüğü
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 URL listesinden bir kimlik doğrulama sözlüğü hesaplayın.
Parametreler
netrc |
gerekir.
Daha önce sözlüğe ayrıştırılmış bir netrc dosyası (ör. read_netrc'den alınmış) |
urls |
gerekir.
URL listesi |
patterns |
gerekir.
URL'den yetkilendirme kalıplarına isteğe bağlı sözlük |
İadeler
ctx.download için kimlik doğrulama bağımsız değişkeni olarak uygun sözlük; daha doğrusu, netrc dosyasının giriş ve şifre sağladığı tüm URL'ler, ilgili giriş, şifre ve isteğe bağlı yetkilendirme kalıbını içeren bir sözlüğe ve "tür"ün "basic" veya "pattern" ile eşlenmesine eşlenir.
workspace_and_buildfile
load("@bazel//tools/build_defs/repo:utils.bzl", "workspace_and_buildfile") workspace_and_buildfile(ctx)
BUILD dosyası yazmak için yardımcı işlev.
Bu kural, bir depo kuralının uygulama işlevinde kullanılmak üzere tasarlanmıştır.
name
, build_file
ve build_file_content
parametrelerinin ctx.attr
içinde bulunduğunu varsayar. Son iki parametre, None değeriyle birlikte olabilir.
Parametreler
ctx |
gerekir.
Bu yardımcı işlevi çağıran depo kuralının depo bağlamı. |