regras de repositório git

Informar um problema Ver fonte Nightly · 8.3 · 8.2 · 8.1 · 8.0 · 7.6

As seguintes funções podem ser carregadas de @bazel_tools//tools/build_defs/repo:git.bzl.

Regras para clonar repositórios git externos.

git_repository

load("@bazel//tools/build_defs/repo:git.bzl", "git_repository")

git_repository(name, branch, build_file, build_file_content, commit, init_submodules, patch_args,
               patch_cmds, patch_cmds_win, patch_strip, patch_tool, patches,
               recursive_init_submodules, remote, remote_module_file_integrity,
               remote_module_file_urls, shallow_since, sparse_checkout_file, sparse_checkout_patterns,
               strip_prefix, tag, verbose, workspace_file, workspace_file_content)

Clona um repositório git externo.

Clona um repositório Git, faz o check-out da tag ou commit especificado e disponibiliza os destinos para vinculação. Também determine o ID do commit realmente verificado e a data dele, e retorne um dict com parâmetros que fornecem uma versão reproduzível dessa regra (que uma tag não necessariamente é).

O Bazel primeiro tenta fazer uma busca superficial apenas do commit especificado. Se isso falhar (geralmente devido à falta de suporte do servidor), ele vai voltar a uma busca completa do repositório.

Prefira http_archive a git_repository. Os motivos são:

  • As regras do repositório Git dependem do sistema git(1), enquanto o downloader HTTP é integrado ao Bazel e não tem dependências do sistema.
  • http_archive é compatível com uma lista de urls como espelhos, e git_repository é compatível apenas com um único remote.
  • http_archive funciona com o cache do repositório, mas não com git_repository. Consulte #5116 para mais informações.

ATRIBUTOS

name Nome: obrigatório

Um nome exclusivo para este repositório.

branch String; opcional

ramificação no repositório remoto para fazer o check-out. É preciso especificar exatamente um dos campos: branch, tag ou commit.

build_file Marcador: opcional

O arquivo a ser usado como o arquivo BUILD para este repositório. Esse atributo é um rótulo absoluto. Use "@//" para o repositório principal. O arquivo não precisa ser chamado BUILD, mas pode ser (algo como BUILD.new-repo-name pode funcionar bem para diferenciá-lo dos arquivos BUILD reais do repositório).

build_file_content String; opcional

O conteúdo do arquivo BUILD para este repositório.

commit String; opcional

commit específico a ser verificado. É preciso especificar exatamente um dos campos: branch, tag ou commit.

init_submodules Booleano; opcional

Define se os submódulos serão clonados no repositório.

patch_args Lista de strings; opcional

Os argumentos fornecidos à ferramenta de patch. O padrão é -p0 (consulte o atributo "patch_strip"), mas geralmente é necessário -p1 para patches gerados pelo git. Se vários argumentos -p forem especificados, o último vai entrar em vigor.Se argumentos diferentes de -p forem especificados, o Bazel vai usar a ferramenta de linha de comando patch em vez da implementação de patch nativa do Bazel. Quando o fallback é feito para a ferramenta de linha de comando patch e o atributo patch_tool não é especificado, "patch" é usado.

patch_cmds Lista de strings; opcional

Sequência de comandos Bash a serem aplicados no Linux/macOS depois que os patches forem aplicados.

patch_cmds_win Lista de strings; opcional

Sequência de comandos do PowerShell a serem aplicados no Windows após a aplicação dos patches. Se esse atributo não for definido, patch_cmds será executado no Windows, o que exige a existência do binário Bash.

patch_strip Número inteiro; opcional

Quando definido como "N", isso equivale a inserir "-pN" no início de "patch_args".

patch_tool String; opcional

O utilitário patch(1) a ser usado. Se especificado, o Bazel vai usar a ferramenta de patch especificada em vez da implementação de patch nativa do Bazel.

patches Lista de rótulos: opcional

Uma lista de arquivos que serão aplicados como patches após a extração do arquivo. Por padrão, ele usa a implementação de patch nativa do Bazel, que não oferece suporte a correspondência aproximada e patch binário. No entanto, o Bazel volta a usar a ferramenta de linha de comando patch se o atributo "patch_tool" for especificado ou se houver argumentos diferentes de "-p" no atributo "patch_args".

recursive_init_submodules Booleano; opcional

Define se os submódulos serão clonados recursivamente no repositório.

remote String; obrigatório

O URI do repositório Git remoto

remote_module_file_integrity String; opcional

Apenas para uso interno.

remote_module_file_urls Lista de strings; opcional

Apenas para uso interno.

shallow_since String; opcional

uma data opcional, não posterior ao commit especificado. O argumento não é permitido se uma tag ou ramificação for especificada (que sempre pode ser clonada com --depth=1). Definir uma data próxima ao commit especificado pode permitir um clone superficial do repositório, mesmo que o servidor não ofereça suporte a buscas superficiais de commits arbitrários. Devido a bugs na implementação "--shallow-since" do git, não é recomendável usar esse atributo, porque ele pode resultar em falhas de busca.

sparse_checkout_file Marcador: opcional

Arquivo que contém padrões no estilo .gitignore para um checkout esparso de arquivos neste repositório. É possível especificar `sparse_checkout_patterns` ou `sparse_checkout_file`, ou nenhum dos dois, mas não ambos.

sparse_checkout_patterns Lista de strings; opcional

Sequência de padrões para um checkout esparso de arquivos neste repositório.

strip_prefix String; opcional

Um prefixo de diretório a ser removido dos arquivos extraídos.

tag String; opcional

tag no repositório remoto para fazer o check-out. É preciso especificar exatamente um dos campos: branch, tag ou commit.

verbose Booleano; opcional
workspace_file Marcador: opcional

Atributo sem operação. Não use.

workspace_file_content String; opcional

Atributo sem operação. Não use.

new_git_repository

load("@bazel//tools/build_defs/repo:git.bzl", "new_git_repository")

new_git_repository(name, branch, build_file, build_file_content, commit, init_submodules,
                   patch_args, patch_cmds, patch_cmds_win, patch_strip, patch_tool, patches,
                   recursive_init_submodules, remote, remote_module_file_integrity,
                   remote_module_file_urls, shallow_since, sparse_checkout_file,
                   sparse_checkout_patterns, strip_prefix, tag, verbose, workspace_file,
                   workspace_file_content)

Clona um repositório git externo.

Clona um repositório Git, faz o check-out da tag ou commit especificado e disponibiliza os destinos para vinculação. Também determine o ID do commit realmente verificado e a data dele, e retorne um dict com parâmetros que fornecem uma versão reproduzível dessa regra (que uma tag não necessariamente é).

O Bazel primeiro tenta fazer uma busca superficial apenas do commit especificado. Se isso falhar (geralmente devido à falta de suporte do servidor), ele vai voltar a uma busca completa do repositório.

Prefira http_archive a git_repository. Os motivos são:

  • As regras do repositório Git dependem do sistema git(1), enquanto o downloader HTTP é integrado ao Bazel e não tem dependências do sistema.
  • http_archive é compatível com uma lista de urls como espelhos, e git_repository é compatível apenas com um único remote.
  • http_archive funciona com o cache do repositório, mas não com git_repository. Consulte #5116 para mais informações.

ATRIBUTOS

name Nome: obrigatório

Um nome exclusivo para este repositório.

branch String; opcional

ramificação no repositório remoto para fazer o check-out. É preciso especificar exatamente um dos campos: branch, tag ou commit.

build_file Marcador: opcional

O arquivo a ser usado como o arquivo BUILD para este repositório. Esse atributo é um rótulo absoluto. Use "@//" para o repositório principal. O arquivo não precisa ser chamado BUILD, mas pode ser (algo como BUILD.new-repo-name pode funcionar bem para diferenciá-lo dos arquivos BUILD reais do repositório).

build_file_content String; opcional

O conteúdo do arquivo BUILD para este repositório.

commit String; opcional

commit específico a ser verificado. É preciso especificar exatamente um dos campos: branch, tag ou commit.

init_submodules Booleano; opcional

Define se os submódulos serão clonados no repositório.

patch_args Lista de strings; opcional

Os argumentos fornecidos à ferramenta de patch. O padrão é -p0 (consulte o atributo "patch_strip"), mas geralmente é necessário -p1 para patches gerados pelo git. Se vários argumentos -p forem especificados, o último vai entrar em vigor.Se argumentos diferentes de -p forem especificados, o Bazel vai usar a ferramenta de linha de comando patch em vez da implementação de patch nativa do Bazel. Quando o fallback é feito para a ferramenta de linha de comando patch e o atributo patch_tool não é especificado, "patch" é usado.

patch_cmds Lista de strings; opcional

Sequência de comandos Bash a serem aplicados no Linux/macOS depois que os patches forem aplicados.

patch_cmds_win Lista de strings; opcional

Sequência de comandos do PowerShell a serem aplicados no Windows após a aplicação dos patches. Se esse atributo não for definido, patch_cmds será executado no Windows, o que exige a existência do binário Bash.

patch_strip Número inteiro; opcional

Quando definido como "N", isso equivale a inserir "-pN" no início de "patch_args".

patch_tool String; opcional

O utilitário patch(1) a ser usado. Se especificado, o Bazel vai usar a ferramenta de patch especificada em vez da implementação de patch nativa do Bazel.

patches Lista de rótulos: opcional

Uma lista de arquivos que serão aplicados como patches após a extração do arquivo. Por padrão, ele usa a implementação de patch nativa do Bazel, que não oferece suporte a correspondência aproximada e patch binário. No entanto, o Bazel volta a usar a ferramenta de linha de comando patch se o atributo "patch_tool" for especificado ou se houver argumentos diferentes de "-p" no atributo "patch_args".

recursive_init_submodules Booleano; opcional

Define se os submódulos serão clonados recursivamente no repositório.

remote String; obrigatório

O URI do repositório Git remoto

remote_module_file_integrity String; opcional

Apenas para uso interno.

remote_module_file_urls Lista de strings; opcional

Apenas para uso interno.

shallow_since String; opcional

uma data opcional, não posterior ao commit especificado. O argumento não é permitido se uma tag ou ramificação for especificada (que sempre pode ser clonada com --depth=1). Definir uma data próxima ao commit especificado pode permitir um clone superficial do repositório, mesmo que o servidor não ofereça suporte a buscas superficiais de commits arbitrários. Devido a bugs na implementação "--shallow-since" do git, não é recomendável usar esse atributo, porque ele pode resultar em falhas de busca.

sparse_checkout_file Marcador: opcional

Arquivo que contém padrões no estilo .gitignore para um checkout esparso de arquivos neste repositório. É possível especificar `sparse_checkout_patterns` ou `sparse_checkout_file`, ou nenhum dos dois, mas não ambos.

sparse_checkout_patterns Lista de strings; opcional

Sequência de padrões para um checkout esparso de arquivos neste repositório.

strip_prefix String; opcional

Um prefixo de diretório a ser removido dos arquivos extraídos.

tag String; opcional

tag no repositório remoto para fazer o check-out. É preciso especificar exatamente um dos campos: branch, tag ou commit.

verbose Booleano; opcional
workspace_file Marcador: opcional

Atributo sem operação. Não use.

workspace_file_content String; opcional

Atributo sem operação. Não use.