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