Las siguientes funciones se pueden cargar desde @bazel_tools//tools/build_defs/repo:local.bzl
.
Son 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 el archivo .bzl y, luego, llámalas desde la
función de implementación de la 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 de 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
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 debería contener archivos BUILD de Bazel y un archivo de límite del repositorio. Si no contiene estos archivos, considera usar <a href="#new_local_repository"><code>new_local_repository</code></a> 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 espacio de trabajo. |
repo_mapping |
Diccionario: Cadena -> Cadena; obligatorio
Un diccionario que va del nombre del repositorio local al nombre del repositorio global. Esto permite controlar la resolución de dependencias de lugares de trabajo 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 de forma global ("@bar//some:target"). |
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 del repositorio, ya que esta regla del repositorio los creará. Si el directorio ya contiene archivos de Bazel, considera usar <a href="#local_repository"><code>local_repository</code></a> en su lugar.
Atributos
name |
Nombre: Obligatorio
Un nombre único para este repositorio. |
build_file |
Etiqueta (opcional)
Es un archivo para usar como archivo de COMPILACIÓN para este repositorio. Se debe especificar exactamente uno de No es necesario que el archivo al que se dirige esta etiqueta se llame BUILD, pero puede hacerlo. Algo como |
build_file_content |
Cadena (opcional)
Es el contenido del archivo BUILD que se creará para este repo. Se debe especificar exactamente uno de |
path |
String; obligatoria
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 espacio de trabajo. |
repo_mapping |
Diccionario: Cadena -> Cadena; obligatorio
Un diccionario que va 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` (como una dependencia de `@foo//some:target`, en realidad debería resolver esa dependencia dentro de `@bar`, declarada de manera global, `@bar//some:target`). |