yerel depo kuralları

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

Yerel dosya sistemindeki dizinleri depo olarak kullanılabilir hale getirme kuralları.

Kurulum

Bu kuralları bir modül uzantısında kullanmak için .bzl dosyanıza yükleyin ve ardından uzantınızın uygulama işlevinden çağırın. Örneğin, local_repository simgesini kullanmak için:

load("@bazel_tools//tools/build_defs/repo:local.bzl", "local_repository")

def _my_extension_impl(mctx):
  local_repository(name = "foo", path = "foo")

my_extension = module_extension(implementation = _my_extension_impl)

Alternatif olarak, bu repo kurallarını doğrudan MODULE.bazel dosyanızda use_repo_rule ile çağırabilirsiniz:

local_repository = use_repo_rule("@bazel_tools//tools/build_defs/repo:local.bzl", "local_repository")
local_repository(name = "foo", path = "foo")

local_repository

load("@bazel//tools/build_defs/repo:local.bzl", "local_repository")

local_repository(name, path, repo_mapping)

Halihazırda Bazel dosyalarını içeren bir yerel dizini depo olarak kullanılabilir hale getirir. Bu dizin, Bazel BUILD dosyalarını ve halihazırda bir depo sınır dosyası içermelidir. Söz konusu dosyalar bu dosyaları içermiyorsa bunun yerine new_local_repository kullanmayı düşünebilirsiniz.

ÖZELLİKLER

name Ad; zorunlu

Bu kod deposu için benzersiz bir ad.

path String; zorunlu

Depo olarak kullanılacak dizinin yolu. Yol mutlak veya çalışma alanı köküne göreli olabilir.

repo_mapping Sözlük: Dize -> Dize; isteğe bağlı

Yalnızca "WORKSPACE" bağlamında: Yerel depo adından genel depo adına sözlük. Bu, bu deposunun bağımlılıkları için çalışma alanı bağımlılık çözümü üzerinde kontrol sağlar. Örneğin, ""@foo": "@bar"" girişi, bu deponun "@foo" öğesine bağlı olduğu her durumda (örneğin, @foo//some:target'a bağlı olan bir bağımlılığın aslında genel olarak tanımlanan "@bar" ("@bar//some:target") içindeki bağımlılığı çözmesi gerektiğini belirtir. Bu özellik "MODULE.bazel" bağlamında _not_ desteklenir (modül uzantısının uygulama işlevinde bir depo kuralı çağrılırken).

new_local_repository

load("@bazel//tools/build_defs/repo:local.bzl", "new_local_repository")

new_local_repository(name, build_file, build_file_content, path, repo_mapping)

Bazel dosyalarının bulunmadığı bir yerel dizini depo olarak kullanılabilmesini sağlar. Bu dizinin Bazel BUILD dosyaları veya depo sınır dosyası içermesi gerekmez; bu depo kuralıyla oluşturulacaktır. Dizin zaten Bazel dosyaları içeriyorsa bunun yerine local_repository kullanabilirsiniz.

ÖZELLİKLER

name Ad; zorunlu

Bu depo için benzersiz bir ad.

build_file Etiket; isteğe bağlı

Bu depo için BUILD dosyası olarak kullanılacak bir dosya. "build_file" ve "build_file_content" değerlerinden biri belirtilmelidir. Bu etiket tarafından ele alınan dosyanın BUILD olarak adlandırılması gerekmez, ancak adlandırılabilir. "BUILD.new-repo-name" gibi bir komut dosyası, gerçek BUILD dosyalarından ayırt edilmesine yardımcı olabilir.

build_file_content Dize; isteğe bağlı

Bu depo için oluşturulacak BUILD dosyasının içeriği. "build_file" ve "build_file_content" değerlerinden biri belirtilmelidir.

path String; zorunlu

Depo olarak kullanılacak dizinin yolu. Yol, mutlak veya çalışma alanı köküne göre olabilir.

repo_mapping Sözlük: Dize -> String; isteğe bağlı

Yalnızca "WORKSPACE" bağlamında: yerel depolama alanı adından genel depolama alanı adına giden bir sözlük. Bu sayede, bu deponun bağımlılıkları için çalışma alanı bağımlılık çözümü üzerinde kontrol sahibi olursunuz. Örneğin, "@foo": "@bar" girişi, bu deposunun "@foo"a bağımlı olduğu her durumda (ör. "@foo//some:target" bağımlılığı) bu bağımlılığı aslında global olarak tanımlanmış "@bar" ("@bar//some:target") içinde çözmesi gerektiğini belirtir. Bu özellik, "MODULE.bazel" bağlamında (bir modül uzantısının uygulama işlevi içinde bir depo kuralı çağırırken) _desteklenmez_.