yerel depo kuralları

Sorun bildir Kaynağı göster Nightly 8.1 · 8.0 · 7.5 · 7.4 · 7.3 · 7.2

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ı içeren yerel bir dizini depo olarak kullanılabilir hale getirir. Bu dizinde zaten Bazel BUILD dosyaları ve bir depo sınırı dosyası bulunmalıdır. Bu dosyaları içermiyorsa bunun yerine new_local_repository kullanabilirsiniz.

ÖZELLİKLER

name Ad; zorunlu

Bu depo için benzersiz bir ad.

path Dize; 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 depolama alanı adından genel depolama alanı adına giden bir sözlük. Bu, bu deposunun bağımlılıkları için çalışma alanı bağımlılık çözümü üzerinde kontrol sahibi olmanızı sağlar. Ö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_.

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ı içermeyen yerel bir dizini depo olarak kullanılabilir hale getirir. Bu dizinin Bazel BUILD dosyaları veya depo sınırı dosyası içermesi gerekmez. Bunlar bu depo kuralı tarafından oluşturulur. 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" arasından tam olarak biri belirtilmelidir. Bu etiketin belirttiği dosyanın BUILD olarak adlandırılması gerekmez ancak adlandırılabilir. "BUILD.yeni-repo-adı" gibi bir ad, gerçek BUILD dosyalarından ayırt etmek için iyi bir seçim 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" arasından tam olarak biri belirtilmelidir.

path Dize; 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 depolama alanı adından genel depolama alanı adına giden bir sözlük. Bu, bu deposunun bağımlılıkları için çalışma alanı bağımlılık çözümü üzerinde kontrol sahibi olmanızı sağlar. Ö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_.