implementation
ao criar uma regra de repositório.
Participantes
- attr (em inglês)
- excluir
- fazer download
- download_and_extract
- execute
- extrair
- file
- name
- os
- patch
- path
- ler
- report_progress
- link simbólico
- modelo
- que
- workspace_root
atribuir
struct repository_ctx.attrUm struct para acessar os valores dos atributos. Os valores são fornecidos pelo usuário (caso contrário, será utilizado um valor padrão).
excluir
bool repository_ctx.delete(path)Exclui um arquivo ou diretório. Retorna um booleano, indicando se o arquivo ou diretório foi realmente excluído por essa chamada.
Parâmetros
Parâmetro | Descrição |
---|---|
path
|
string ou path;
required Caminho do arquivo a ser excluído, relativo ao diretório do repositório ou absoluto. Pode ser um caminho ou uma string. |
Baixar
struct repository_ctx.download(url, output='', sha256='', executable=False, allow_fail=False, canonical_id='', auth={}, *, integrity='')Faz o download de um arquivo para o caminho de saída do URL fornecido e retorna uma estrutura contendo
success
, uma sinalização true
se o download for concluído e, se for bem-sucedido, um hash do arquivo com os campos sha256
e integrity
.
Parâmetros
Parâmetro | Descrição |
---|---|
url
|
string ou Iterable de strings;
obrigatório Lista de URLs espelhados que fazem referência ao mesmo arquivo. |
output
|
string, Label ou path. O padrão é o caminho '' para o arquivo de saída, relativo ao diretório do repositório. |
sha256
|
o padrão é '' o hash SHA-256 esperado do arquivo transferido por download. Ele precisa corresponder ao hash SHA-256 do arquivo transferido por download. É um risco à segurança omitir o SHA-256 porque os arquivos remotos podem mudar. Na melhor das hipóteses, a omissão desse campo tornará sua construção não hermética. Ele é opcional para facilitar o desenvolvimento, mas deve ser definido antes do envio. |
executable
|
O padrão é False define a flag executável no arquivo criado, que é "false" por padrão. |
allow_fail
|
o padrão é False Se definido, indica o erro no valor de retorno em vez de gerar um erro para downloads com falha |
canonical_id
|
o padrão é '' Se definido, restringe as ocorrências em cache aos casos em que o arquivo foi adicionado ao cache com o mesmo ID canônico. |
auth
|
o padrão é {} Um dict opcional que especifica informações de autenticação para alguns dos URLs. |
integrity
|
o padrão é '' Soma de verificação esperada do arquivo transferido por download, no formato Sub-resource Integrity. Ela precisa corresponder à soma de verificação do arquivo baixado. É um risco à segurança omitir a soma de verificação porque os arquivos remotos podem mudar. Na melhor das hipóteses, a omissão desse campo tornará sua construção não hermética. Ele é opcional para facilitar o desenvolvimento, mas deve ser definido antes do envio. |
download_and_extract
struct repository_ctx.download_and_extract(url, output='', sha256='', type='', stripPrefix='', allow_fail=False, canonical_id='', auth={}, *, integrity='', rename_files={})Faz o download de um arquivo para o caminho de saída do URL fornecido, extrai esse arquivo e retorna um struct contendo
success
, uma sinalização true
se o download for concluído e, se for bem-sucedido, um hash do arquivo com os campos sha256
e integrity
.
Parâmetros
Parâmetro | Descrição |
---|---|
url
|
string ou Iterable de strings;
obrigatório Lista de URLs espelhados que fazem referência ao mesmo arquivo. |
output
|
string, Label ou path. O padrão é '' o caminho para o diretório em que o arquivo será descompactado, em relação ao diretório do repositório. |
sha256
|
o padrão é '' o hash SHA-256 esperado do arquivo transferido por download. Ele precisa corresponder ao hash SHA-256 do arquivo transferido por download. É um risco à segurança omitir o SHA-256 porque os arquivos remotos podem mudar. Na melhor das hipóteses, a omissão desse campo tornará sua construção não hermética. Ele é opcional para facilitar o desenvolvimento, mas deve ser definido antes do envio. Se fornecido, o cache do repositório será verificado primeiro em busca de um arquivo com o hash fornecido. Só será feita uma tentativa de download se o arquivo não for encontrado no cache. Após um download bem-sucedido, o arquivo será adicionado ao cache. |
type
|
O padrão é '' o tipo do arquivo transferido por download. Por padrão, o tipo de arquivo é determinado a partir da extensão do arquivo do URL. Se o arquivo não tiver extensão, você poderá especificar explicitamente "zip", "jar", "war", "aar", "tar", "tar.gz", "tgz", "tar.xz", "txz", ".tar.zst", ".tzst", "tar.bz2", ".tbz", ".ar" ou ".deb". |
stripPrefix
|
o padrão é '' um prefixo de diretório a ser removido dos arquivos extraídos. Muitos arquivos contêm um diretório de nível superior que contém todos os arquivos do arquivamento. Em vez de especificar esse prefixo várias vezes no build_file , esse campo pode ser usado para removê-lo dos arquivos extraídos.
|
allow_fail
|
o padrão é False Se definido, indica o erro no valor de retorno em vez de gerar um erro para downloads com falha |
canonical_id
|
o padrão é '' Se definido, restringe as ocorrências em cache aos casos em que o arquivo foi adicionado ao cache com o mesmo ID canônico. |
auth
|
o padrão é {} Um dict opcional que especifica informações de autenticação para alguns dos URLs. |
integrity
|
o padrão é '' Soma de verificação esperada do arquivo transferido por download, no formato Sub-resource Integrity. Ela precisa corresponder à soma de verificação do arquivo baixado. É um risco à segurança omitir a soma de verificação porque os arquivos remotos podem mudar. Na melhor das hipóteses, a omissão desse campo tornará sua construção não hermética. Ele é opcional para facilitar o desenvolvimento, mas deve ser definido antes do envio. |
rename_files
|
o padrão é {} Um dict opcional que especifica os arquivos que serão renomeados durante a extração. Entradas de arquivo com nomes que correspondem exatamente a uma chave serão renomeadas para o valor, antes de qualquer ajuste de prefixo de diretório. Isso pode ser usado para extrair arquivos que contenham nomes de arquivo não Unicode ou que tenham arquivos que seriam extraídos para o mesmo caminho em sistemas de arquivos que não diferenciam maiúsculas de minúsculas. |
execute
exec_result repository_ctx.execute(arguments, timeout=600, environment={}, quiet=True, working_directory="")Executa o comando fornecido pela lista de argumentos. O tempo de execução do comando é limitado por
timeout
(em segundos, o padrão é 600 segundos). Esse método retorna uma estrutura exec_result
que contém a saída do comando. O mapa environment
pode ser usado para substituir algumas variáveis de ambiente a serem transmitidas para o processo.
Parâmetros
Parâmetro | Descrição |
---|---|
arguments
|
obrigatório Lista de argumentos. O primeiro elemento precisa ser o caminho para o programa a ser executado. |
timeout
|
o padrão é a duração máxima de 600 do comando em segundos (o padrão é de 600 segundos). |
environment
|
o padrão é {} força algumas variáveis de ambiente a serem definidas para serem transmitidas ao processo. |
quiet
|
o padrão é True Se stdout e stderr precisam ser impressos no terminal. |
working_directory
|
o padrão é "" Diretório de trabalho para a execução do comando. Pode ser absoluto ou relativo à raiz do repositório. |
extrair
None
repository_ctx.extract(archive, output='', stripPrefix='', *, rename_files={})
Extrair um arquivo para o diretório do repositório.
Parâmetros
Parâmetro | Descrição |
---|---|
archive
|
string, Label ou path,
o caminho obrigatório para o arquivo que será descompactado, relativo ao diretório do repositório. |
output
|
string, Label ou path. O padrão é '' o caminho para o diretório em que o arquivo será descompactado, em relação ao diretório do repositório. |
stripPrefix
|
o padrão é '' um prefixo de diretório a ser removido dos arquivos extraídos. Muitos arquivos contêm um diretório de nível superior que contém todos os arquivos do arquivamento. Em vez de especificar esse prefixo várias vezes no build_file , esse campo pode ser usado para removê-lo dos arquivos extraídos.
|
rename_files
|
o padrão é {} Um dict opcional que especifica os arquivos que serão renomeados durante a extração. Entradas de arquivo com nomes que correspondem exatamente a uma chave serão renomeadas para o valor, antes de qualquer ajuste de prefixo de diretório. Isso pode ser usado para extrair arquivos que contenham nomes de arquivo não Unicode ou que tenham arquivos que seriam extraídos para o mesmo caminho em sistemas de arquivos que não diferenciam maiúsculas de minúsculas. |
arquivo
None
repository_ctx.file(path, content='', executable=True, legacy_utf8=True)
Gera um arquivo no diretório do repositório com o conteúdo fornecido.
Parâmetros
Parâmetro | Descrição |
---|---|
path
|
string ou Label, ou path,
o caminho obrigatório do arquivo a ser criado, relativo ao diretório do repositório. |
content
|
o padrão é '' o conteúdo do arquivo a ser criado, vazio por padrão. |
executable
|
O padrão é True define a sinalização executável no arquivo criado, como verdadeiro por padrão. |
legacy_utf8
|
o padrão é True codifique o conteúdo do arquivo como UTF-8, "true" por padrão. Versões futuras vão mudar o padrão e remover esse parâmetro. |
nome
string repository_ctx.nameO nome do repositório externo criado por esta regra.
os
repository_os repository_ctx.osUm struct para acessar informações do sistema.
patch
None
repository_ctx.patch(patch_file, strip=0)
Aplique um arquivo de patch ao diretório raiz do repositório externo. O arquivo de patch precisa estar no formato de diferenças unificados padrão. A implementação de patch nativa do Bazel não oferece suporte à correspondência de fuzz e ao patch binário como a ferramenta de linha de comando patch.
Parâmetros
Parâmetro | Descrição |
---|---|
patch_file
|
string ou Label; ou path;
required O arquivo de patch a ser aplicado, pode ser um rótulo, um caminho relativo ou um caminho absoluto. Se for um caminho relativo, ele será resolvido para o diretório do repositório. |
strip
|
o padrão é 0 remove o número especificado de componentes principais dos nomes dos arquivos. |
caminho
path repository_ctx.path(path)Retorna um caminho de uma string, um rótulo ou um caminho. Se o caminho for relativo, ele será resolvido em relação ao diretório do repositório. Se o caminho for um rótulo, ele será resolvido para o caminho do arquivo correspondente. Os repositórios remotos são executados durante a fase de análise e, portanto, não podem depender de um resultado pretendido (o rótulo precisa apontar para um arquivo não gerado). Se o caminho for um caminho, ele será retornado no estado em que se encontra.
Parâmetros
Parâmetro | Descrição |
---|---|
path
|
string; ou Label; ou path;
string, rótulo ou caminho obrigatório que será usado para criar um caminho |
leitura
string repository_ctx.read(path)Lê o conteúdo de um arquivo no sistema de arquivos.
Parâmetros
Parâmetro | Descrição |
---|---|
path
|
string ou Label ou path,
o caminho obrigatório do arquivo de leitura. |
report_progress
None
repository_ctx.report_progress(status='')
Atualiza o status do progresso para a busca deste repositório ou extensão de módulo
Parâmetros
Parâmetro | Descrição |
---|---|
status
|
string;
o padrão é '' que descreve o status atual da busca |
link simbólico
None
repository_ctx.symlink(target, link_name)
Cria um link simbólico no sistema de arquivos.
Parâmetros
Parâmetro | Descrição |
---|---|
target
|
string; ou Rótulo; ou caminho;
obrigatório O caminho para o qual o link simbólico deve apontar. |
link_name
|
string; ou Label; ou path;
required O caminho do link simbólico a ser criado, relativo ao diretório do repositório. |
modelo
None
repository_ctx.template(path, template, substitutions={}, executable=True)
Gera um novo arquivo usando um template
. Cada ocorrência em template
de uma chave de substitutions
será substituída pelo valor correspondente. O resultado é escrito em path
. Um argumento executable
opcional (o padrão é verdadeiro) pode ser configurado para ativar ou desativar o bit executável.
Parâmetros
Parâmetro | Descrição |
---|---|
path
|
string ou Label, ou path,
o caminho obrigatório do arquivo a ser criado, relativo ao diretório do repositório. |
template
|
string, Label ou path,
o caminho obrigatório do arquivo de modelo. |
substitutions
|
o padrão é {} substituições a serem feitas ao expandir o modelo. |
executable
|
O padrão é True define a sinalização executável no arquivo criado, como verdadeiro por padrão. |
qual
path repository_ctx.which(program)Retorna o caminho do programa correspondente ou None, se esse programa não estiver no caminho.
Parâmetros
Parâmetro | Descrição |
---|---|
program
|
obrigatório Programa a ser encontrado no programa. |
None
.
workspace_root
path repository_ctx.workspace_rootO caminho para o espaço de trabalho raiz da invocação do Bazel.