yerel depo kuralları

Sorun bildir Kaynağı görüntüle Nightly · 8.4 · 8.3 · 8.2 · 8.1 · 8.0 · 7.6

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

Yerel dosya sistemindeki dizinleri depo olarak kullanıma sunma 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 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 depo kurallarını MODULE.bazel dosyanızda doğrudan 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)

Bazel dosyaları içeren yerel bir dizini depo olarak kullanılabilir hale getirir. Bu dizinde Bazel BUILD dosyaları ve bir depo sınırı dosyası bulunmalıdır. Bu dosyaları içermiyorsa bunun yerine new_local_repository kullanmayı düşünebilirsiniz.

Ö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 depo adından genel depo adına kadar olan sözlük. Bu, bu depodaki bağımlılıklar için çalışma alanı bağımlılığı çözümlemesi üzerinde kontrol sağlar. Örneğin, `"@foo": "@bar"` girişi, bu deponun `@foo` öğesine bağlı olduğu her durumda (ör. `@foo//some:target` öğesine bağımlılık) bu bağımlılığı aslında genel olarak bildirilen `@bar` içinde (`@bar//some:target`) çö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ılı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 dizin, Bazel BUILD dosyaları veya bir depo sınırı dosyası içermemelidir. Bu dosyalar, 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. Tam olarak bir tane "build_file" ve "build_file_content" belirtilmelidir. Bu etiketle belirtilen dosyanın BUILD olarak adlandırılması gerekmez ancak adlandırılabilir. Gerçek BUILD dosyalarından ayırt etmek için `BUILD.new-repo-name` gibi bir ad kullanabilirsiniz.

build_file_content Dize; isteğe bağlı

Bu depo için oluşturulacak BUILD dosyasının içeriği. Tam olarak bir tane "build_file" ve "build_file_content" 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 depo adından genel depo adına kadar olan sözlük. Bu, bu depodaki bağımlılıklar için çalışma alanı bağımlılığı çözümlemesi üzerinde kontrol sağlar. Örneğin, `"@foo": "@bar"` girişi, bu deponun `@foo` öğesine bağlı olduğu her durumda (ör. `@foo//some:target` öğesine bağımlılık) bu bağımlılığı aslında genel olarak bildirilen `@bar` içinde (`@bar//some:target`) çö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ılırken) _desteklenmez_.