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

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 <a href="#new_local_repository"><code>new_local_repository</code></a> kullanabilirsiniz.

Özellikler

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 Dictionary: String -> String; zorunlu

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ığın aslında genel olarak tanımlanmış `@bar` içinde çözülmesi gerektiğini bildirir (`@bar//some:target`).

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. Dizinde zaten Bazel dosyaları varsa bunun yerine <a href="#local_repository"><code>local_repository</code></a> kullanabilirsiniz.

Özellikler

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 build_file ve build_file_content belirtilmelidir.

Bu etiketle belirtilen dosyanın BUILD olarak adlandırılması gerekmez ancak adlandırılabilir. BUILD.new-repo-name gibi bir ifade, gerçek BUILD dosyalarından ayırt etmek için iyi bir seçenek olabilir.

build_file_content Dize; isteğe bağlı

Bu depo için oluşturulacak BUILD dosyasının içeriği.

Tam olarak bir 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 Dictionary: String -> String; zorunlu

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ığın aslında genel olarak tanımlanmış `@bar` içinde çözülmesi gerektiğini bildirir (`@bar//some:target`).