repositório_de_repositório

Informar um problema Mostrar fonte

O contexto da regra de repositório que contém funções auxiliares e informações sobre atributos. Você recebe um objetorepository_ctx como argumento para a função implementation ao criar uma regra de repositório.

Participantes

atribuir

struct repository_ctx.attr

Um 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.name

O nome do repositório externo criado por esta regra.

os

repository_os repository_ctx.os

Um 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

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.
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.
Pode retornar None.

workspace_root

path repository_ctx.workspace_root

O caminho para o espaço de trabalho raiz da invocação do Bazel.