As seguintes funções 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 na 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 diretamente essas regras de repositório 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
local_repository(name, path, repo_mapping)
Disponibiliza como um repositório um diretório local que já contém arquivos do Bazel. Esse diretório já deve conter arquivos BUILD do Bazel e um arquivo de limite do repositório. Se ele não contiver esses arquivos, use <a href="#new_local_repository"><code>new_local_repository</code></a>.
Atributos
name |
Nome: obrigatório
Um nome exclusivo para este 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; obrigatório
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ências do espaço de trabalho para dependências desse repositório. Por exemplo, uma entrada "@foo": "@bar" declara que, sempre que este repositório depender de "@foo" (como uma dependência de "@foo//some:target"), ele vai resolver essa dependência em "@bar" declarado globalmente ("@bar//some:target"). |
new_local_repository
new_local_repository(name, build_file, build_file_content, path, repo_mapping)
Disponibiliza como um repositório um diretório local que não contém arquivos do Bazel. Esse diretório não precisa conter arquivos Bazel BUILD ou um arquivo de limite do repositório. Eles serão criados por essa regra do repositório. Se o diretório já tiver arquivos do Bazel, use <a href="#local_repository"><code>local_repository</code></a>.
Atributos
name |
Nome: obrigatório
Um nome exclusivo para este repositório. |
build_file |
Marcador: opcional
Um arquivo a ser usado como um arquivo BUILD para este repositório. É preciso especificar exatamente um entre O arquivo abordado por esse rótulo não precisa ser chamado de BUILD, mas pode ser. Algo como |
build_file_content |
String; opcional
O conteúdo do arquivo BUILD a ser criado para este repositório. É preciso especificar exatamente um entre |
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; obrigatório
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ências do espaço de trabalho para dependências desse repositório. Por exemplo, uma entrada "@foo": "@bar" declara que, sempre que este repositório depender de "@foo" (como uma dependência de "@foo//some:target"), ele vai resolver essa dependência em "@bar" declarado globalmente ("@bar//some:target"). |