utils deposu kuralları

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.