As funções a seguir podem ser carregadas de
@bazel_tools//tools/build_defs/repo:local.bzl.
Regras para disponibilizar diretórios no sistema de arquivos local como repositórios.
Configuração
Para usar essas regras em uma extensão de módulo, carregue-as no arquivo .bzl e chame-as da
função de implementação da extensão. Por exemplo, para usar local_repository:
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, você pode chamar essas regras de repositório diretamente no arquivo MODULE.bazel com
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)
Disponibiliza um diretório local que já contém arquivos do Bazel como um repositório. Esse diretório já precisa conter arquivos BUILD do Bazel e um arquivo de limite de repositório. Se ele não contiver esses arquivos, use new_local_repository.
ATTRIBUTES
name |
Nome; obrigatório
Um nome exclusivo para esse repositório. |
path |
String; obrigatório
O caminho para o diretório a ser disponibilizado como um repositório. O caminho pode ser absoluto ou relativo à raiz do espaço de trabalho. |
repo_mapping |
Dicionário: string -> string; opcional
Somente no contexto `WORKSPACE`: um dicionário do nome do repositório local para o nome do repositório global. Isso permite controles sobre a resolução de dependência do espaço de trabalho para dependências desse repositório. Por exemplo, uma entrada `"@foo": "@bar"` declara que, sempre que esse repositório depender de `@foo` (como uma dependência de `@foo//some:target`), ele vai resolver essa dependência no `@bar` declarado globalmente (`@bar//some:target`). Esse atributo _não_ é compatível com o contexto `MODULE.bazel` (ao invocar uma regra de repositório dentro da função de implementação de uma extensão 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)
Disponibiliza um diretório local que não contém arquivos do Bazel como um repositório. Esse diretório não precisa conter arquivos BUILD do Bazel ou um arquivo de limite de repositório. Eles serão criados por essa regra de repositório. Se o diretório já contiver arquivos do Bazel, use local_repository.
ATTRIBUTES
name |
Nome; obrigatório
Um nome exclusivo para esse repositório. |
build_file |
Rótulo; opcional
Um arquivo a ser usado como um arquivo BUILD para esse repositório. É preciso especificar exatamente um de `build_file` e `build_file_content`. O arquivo endereçado por esse rótulo não precisa ser nomeado como BUILD, mas pode ser. Algo como `BUILD.new-repo-name` pode funcionar bem para distingui-lo dos arquivos BUILD reais. |
build_file_content |
String; opcional
O conteúdo do arquivo BUILD a ser criado para esse repositório. É preciso especificar exatamente um de `build_file` e `build_file_content`. |
path |
String; obrigatório
O caminho para o diretório a ser disponibilizado como um repositório. O caminho pode ser absoluto ou relativo à raiz do espaço de trabalho. |
repo_mapping |
Dicionário: string -> string; opcional
Somente no contexto `WORKSPACE`: um dicionário do nome do repositório local para o nome do repositório global. Isso permite controles sobre a resolução de dependência do espaço de trabalho para dependências desse repositório. Por exemplo, uma entrada `"@foo": "@bar"` declara que, sempre que esse repositório depender de `@foo` (como uma dependência de `@foo//some:target`), ele vai resolver essa dependência no `@bar` declarado globalmente (`@bar//some:target`). Esse atributo _não_ é compatível com o contexto `MODULE.bazel` (ao invocar uma regra de repositório dentro da função de implementação de uma extensão de módulo). |