reglas de repositorio local

Las siguientes funciones se pueden cargar desde @bazel_tools//tools/build_defs/repo:local.bzl

Son las reglas para que los directorios del sistema de archivos local estén disponibles como repositorios.

Configuración

Para usar estas reglas en una extensión de módulo, cárgalas en tu archivo .bzl y, luego, llámalas desde la función de implementación de tu extensión. Por ejemplo, para usar local_repository, haz lo siguiente:

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)

Como alternativa, puedes llamar directamente a estas reglas del repositorio en tu archivo MODULE.bazel con use_repo_rule:

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)

Hace que un directorio local que ya contiene archivos de Bazel esté disponible como un repositorio. Este directorio ya debe contener archivos BUILD de Bazel y un archivo de límite de repositorio. Si no contiene estos archivos, considera usar new_local_repository en su lugar.

ATRIBUTOS

name Nombre: obligatorio.

Un nombre único para este repositorio.

path Cadena; obligatorio

Es la ruta de acceso al directorio que se pondrá a disposición como repositorio. La ruta de acceso puede ser absoluta o relativa a la raíz del lugar de trabajo.

repo_mapping Diccionario: Cadena -> Cadena (opcional)

Solo en el contexto "WORKSPACE": Un diccionario del nombre del repositorio local al nombre del repositorio global. Esto permite controlar la resolución de dependencias de Workspace para las dependencias de este repositorio. Por ejemplo, una entrada "@foo": "@bar" declara que, cada vez que este repositorio dependa de "@foo" (como una dependencia de "@foo//some:target", en realidad debería resolver esa dependencia dentro de "@bar" declarado globalmente ("@bar//some:target"). Este atributo _no_ se admite en el contexto "MODULE.bazel" (cuando se invoca una regla de repositorio dentro de la función de implementación de una extensión de módulo).

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)

Hace que un directorio local que no contiene archivos de Bazel esté disponible como repositorio. Este directorio no necesita contener archivos BUILD de Bazel ni un archivo de límite de repositorio. se crearán con esta regla del repositorio. Si el directorio ya contiene archivos de Bazel, considera usar local_repository en su lugar.

ATRIBUTOS

name Nombre: obligatorio.

Un nombre único para este repositorio.

build_file Etiqueta; opcional

Es un archivo que se usará como archivo BUILD para este repositorio. Se debe especificar solamente uno de "build_file" y "build_file_content". No es necesario que el archivo al que se dirige esta etiqueta se llame BUILD, pero puede hacerlo. Algo como "BUILD.new-repo-name" puede funcionar bien para distinguirlo de los archivos BUILD reales.

build_file_content Cadena (opcional)

El contenido del archivo COMPILACIÓN que se creará para este repositorio. Se debe especificar solamente uno de "build_file" y "build_file_content".

path String; obligatorio.

La ruta de acceso al directorio que estará disponible como repositorio. La ruta de acceso puede ser absoluta o relativa a la raíz del lugar de trabajo.

repo_mapping Diccionario: Cadena -> Cadena (opcional)

Solo en el contexto “WORKSPACE”: un diccionario del nombre del repositorio local al nombre del repositorio global. Esto permite controlar la resolución de dependencias de Workspace para las dependencias de este repositorio. Por ejemplo, una entrada "@foo": "@bar"` declara que, en cualquier momento, este repositorio depende de `@foo` (por ejemplo, una dependencia de `@foo//some:target`, en realidad debería resolver esa dependencia dentro de `@bar`, declarada de manera global, `@bar//some:target`). Este atributo _no_ se admite en el contexto `MODULE.bazel` (cuando se invoca una regla de repositorio dentro de la función de implementación de la extensión de un módulo).