regras de repositório git

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

git_repository(name, branch, build_file, build_file_content, commit, init_submodules, patch_args,
               patch_cmds, patch_cmds_win, patch_tool, patches, recursive_init_submodules, remote,
               repo_mapping, shallow_since, strip_prefix, tag, verbose, workspace_file,
               workspace_file_content)

Clonar um repositório git externo.

Clona um repositório Git, verifica a tag ou o commit especificado e e disponibiliza os destinos para vinculação. Determine também o ID do o commit foi verificado e a data dele e retorna um dict com parâmetros que fornecem uma versão reproduzível da regra (na qual uma tag não necessariamente é).

Primeiro, o Bazel tentará executar uma busca superficial apenas da confirmação especificada. Se isso falhar (geralmente devido à falta de suporte ao servidor), ele usará um busca completa do repositório.

Prefira http_archive a git_repository. Os motivos são:

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

Atributos

name Nome; obrigatório

Um nome exclusivo para este repositório.

branch String; opcional

no repositório remoto para fazer check-out. Precisa ser especificado um branch, tag ou commit.

build_file Rótulo opcional

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

build_file_content String; opcional

O conteúdo do arquivo BUILD deste repositório.

commit String; opcional

um compromisso específico a ser verificado. Precisa ser especificado um 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. No entanto, -p1 geralmente será necessário para patches gerados pelo git. Quando vários argumentos -p são especificados, o último entra em vigor.Se outros argumentos diferentes de -p forem especificados, o Bazel voltará a usar a ferramenta de linha de comando "patch" em vez da implementação de patch nativa do Bazel. Ao retornar à ferramenta de linha de comando de patch e o atributo patch_tool não for especificado, "patch" será usado.

patch_cmds Lista de strings opcional

Sequência de comandos Bash a serem aplicados no Linux/Macos após a aplicação dos patches.

patch_cmds_win Lista de strings opcional

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

patch_tool String; opcional

O utilitário patch(1) a ser usado. Se isso for 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, ela usa a implementação de patch nativa do Bazel que não oferece suporte à correspondência de fuzz e ao patch binário. No entanto, o Bazel voltará 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

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 o controle sobre a resolução de dependências do espaço de trabalho para dependências deste 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 deverá resolver essa dependência dentro do `@bar` declarado globalmente (`@bar//some:target`).

shallow_since String; opcional

uma data opcional, não após o 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 tão próxima da confirmação especificada 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, o uso desse atributo não é recomendado, já que isso pode resultar em falhas de busca.

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 check-out. Precisa ser especificado um branch, tag ou commit.

verbose Booleano; opcional
workspace_file Rótulo opcional

O arquivo a ser usado como o arquivo "WORKSPACE" para este repositório. É possível especificar `workspace_file` ou `workspace_file_content` ou nenhum deles, mas não ambos.

workspace_file_content String; opcional

O conteúdo do arquivo WORKSPACE deste repositório. É possível especificar `workspace_file` ou `workspace_file_content` ou nenhum deles, mas não ambos.

new_git_repository

new_git_repository(name, branch, build_file, build_file_content, commit, init_submodules,
                   patch_args, patch_cmds, patch_cmds_win, patch_tool, patches,
                   recursive_init_submodules, remote, repo_mapping, shallow_since, strip_prefix, tag,
                   verbose, workspace_file, workspace_file_content)

Clonar um repositório git externo.

Clona um repositório Git, verifica a tag ou o commit especificado e e disponibiliza os destinos para vinculação. Determine também o ID do o commit foi verificado e a data dele e retorna um dict com parâmetros que fornecem uma versão reproduzível da regra (na qual uma tag não necessariamente é).

Primeiro, o Bazel tentará executar uma busca superficial apenas da confirmação especificada. Se isso falhar (geralmente devido à falta de suporte ao servidor), ele usará um busca completa do repositório.

Prefira http_archive a git_repository. Os motivos são:

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

Atributos

name Nome; obrigatório

Um nome exclusivo para este repositório.

branch String; opcional

no repositório remoto para fazer check-out. Precisa ser especificado um branch, tag ou commit.

build_file Rótulo opcional

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

build_file_content String; opcional

O conteúdo do arquivo BUILD deste repositório.

commit String; opcional

um compromisso específico a ser verificado. Precisa ser especificado um 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. No entanto, -p1 geralmente será necessário para patches gerados pelo git. Quando vários argumentos -p são especificados, o último entra em vigor.Se outros argumentos diferentes de -p forem especificados, o Bazel voltará a usar a ferramenta de linha de comando "patch" em vez da implementação de patch nativa do Bazel. Ao retornar à ferramenta de linha de comando de patch e o atributo patch_tool não for especificado, "patch" será usado.

patch_cmds Lista de strings opcional

Sequência de comandos Bash a serem aplicados no Linux/Macos após a aplicação dos patches.

patch_cmds_win Lista de strings opcional

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

patch_tool String; opcional

O utilitário patch(1) a ser usado. Se isso for 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, ela usa a implementação de patch nativa do Bazel que não oferece suporte à correspondência de fuzz e ao patch binário. No entanto, o Bazel voltará 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

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 o controle sobre a resolução de dependências do espaço de trabalho para dependências deste 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 deverá resolver essa dependência dentro do `@bar` declarado globalmente (`@bar//some:target`).

shallow_since String; opcional

uma data opcional, não após o 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 tão próxima da confirmação especificada 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, o uso desse atributo não é recomendado, já que isso pode resultar em falhas de busca.

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 check-out. Precisa ser especificado um branch, tag ou commit.

verbose Booleano; opcional
workspace_file Rótulo opcional

O arquivo a ser usado como o arquivo "WORKSPACE" para este repositório. É possível especificar `workspace_file` ou `workspace_file_content` ou nenhum deles, mas não ambos.

workspace_file_content String; opcional

O conteúdo do arquivo WORKSPACE deste repositório. É possível especificar `workspace_file` ou `workspace_file_content` ou nenhum deles, mas não ambos.