utils deposu kuralları

Aşağıdaki işlevler @bazel_tools//tools/build_defs/repo:utils.bzl üzerinden yüklenebilir.

Alındıktan sonra harici depoları değiştirmek için kullanılan yardımcı araçlar.

Kurulum

Bu yardımcı programlar, diğer depo kuralları tarafından kullanılmak üzere tasarlanmıştır. Bunlar aşağıdaki gibi yüklenebilir.

load(
    "@bazel_tools//tools/build_defs/repo:utils.bzl",
    "workspace_and_buildfile",
    "patch",
    "update_attrs",
)

belki

maybe(repo_rule, name, kwargs)

Mevcut olmayan bir depoyu yalnızca eklemek için yardımcı program işlevi.

Burada amaç, https://bazel.build/rules/distributioning#dependencies belgesinde açıklanan güvenli depolar.bzl makrosunu uygulamaktır.

Parametreler

repo_rule gerekir.

kod deposu kuralı işlevi görür.

name gerekir.

kod deposunun adını girin.

kwargs isteğe bağlıdır.

repo_rule işlevine aktarılan kalan bağımsız değişkenlerdir.

İlerlemeler

Hiçbir şey, gerektiğinde depoyu yan etki olarak tanımlar.

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 gerekir.

ayrıştırıcının girdisidir.

filename isteğe bağlıdır. varsayılan değer: None

(varsa) hata mesajlarında kullanılacak dosya adını girin.

İlerlemeler

Makine adları hakkında sağlanan bilgilerle birlikte makine adlarını bir metne eşleme

patch

patch(ctx, patches, patch_cmds, patch_cmds_win, patch_tool, patch_args, auth)

Önceden ayıklanmış 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 belirtilmezse ctx.attr parametresinden alınır.

Parametreler

ctx gerekir.

Bu yardımcı program işlevini çağıran depo kuralının depo bağlamıdır.

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ı, bash -c komutu için teker teker iletildi. Dize listesi

patch_cmds_win isteğe bağlıdır. varsayılan değer: None

Yama için çalıştırılacak ve powershell /c'ye her seferinde bir tane iletilen Powershell komutları. Dize listesi. Bu parametrenin boole değeri false ise patch_cmds kullanılır ve bu parametre yok sayılır.

patch_tool isteğe bağlıdır. varsayılan değer: None

Yamaların uygulanması 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 iletilecek 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 kural.

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 gerekir.

Bu yardımcı program işlevini çağıran depo kuralının depo bağlamıdır.

filename gerekir.

okunacak .netrc dosyasının adı

İlerlemeler

Makine adları hakkında sağlanan bilgilerle birlikte makine adlarını bir metne eşleme

read_user_netrc

read_user_netrc(ctx)

Kullanıcının varsayılan netrc dosyasını oku.

Parametreler

ctx gerekir.

Bu yardımcı program işlevini çağıran depo kuralının deposu bağlamı.

İlerlemeler

Makine adları hakkında sağlanan bilgilerle birlikte makine adlarının bir sesle eşleştirilmesini sağlayın.

update_attrs

update_attrs(orig, keys, override)

Belirtilen özellikleri değiştirmek ve belirli bir depo kuralı çağrısına eklemek için kullanılan yardımcı program işlevi.

Bu, bir kuralı yeniden oluşturulabilir hale getirmek için kullanılır.

Parametreler

orig gerekir.

belirli bir kural çağrısına dayalı olarak belirlenen özellikleri (açıkça veya dolaylı olarak)

keys gerekir.

bu kuralda tanımlanan eksiksiz özellik kümesi

override gerekir.

orijinale eklenecek veya geçersiz kılınacak özellik sırası

İlerlemeler

eklenen/güncellenen geçersiz kılma anahtarlarına sahip özelliklerin dizesi

use_netrc

use_netrc(netrc, urls, patterns)

Ayrıştırılmış bir netrc dosyasından ve bir URL listesinden kimlik doğrulama diktesi hesaplayın.

Parametreler

netrc gerekir.

zaten bir dikte olarak ayrıştırılmış bir netrc dosyası; ör.

urls gerekir.

listeleyeceğiz.

patterns gerekir.

yetkilendirme kalıpları için isteğe bağlı URL bölümü

İlerlemeler

ctx.download için kimlik doğrulama bağımsız değişkeni olarak uygun komut dosyası; daha kesin belirtmek gerekirse, netrc dosyasının giriş ve şifre sağladığı tüm URL'leri, karşılık gelen giriş, şifre ve isteğe bağlı yetkilendirme kalıbının yanı sıra "tür" ile "temel" veya "kalıp" eşleştirmesini içeren bir metinle eşler.

workspace_and_buildfile

workspace_and_buildfile(ctx)

WORKSPACE ve istenirse BUILD dosyası yazmak için yardımcı program işlevi.

Bu kuralın, bir depo kuralının uygulama işlevinde kullanılması amaçlanmıştır. name, build_file, build_file_content, workspace_file ve workspace_file_content parametrelerinin ctx.attr hizmetinde olduğunu varsayar. Son dört parametrelerinin muhtemelen Yok değerine sahip olması.

Parametreler

ctx gerekir.

Bu yardımcı program işlevini çağıran depo kuralının depo bağlamıdır.