Participantes
- todos
- analysis_test_transition
- any
- archive_override
- aspect (em inglês).
- bazel_dep
- bind
- bool
- configuration_field
- depset (link em inglês)
- dict
- dir
- enumerate
- exec_group
- falha
- float
- getattr (em inglês)
- git_override
- hasattr (em inglês)
- hash (em inglês)
- int
- len
- list
- local_path_override
- max
- min
- module
- module_extension
- multiple_version_override
- provedor
- range
- register_execution_platforms()
- register_execution_platforms()
- register_toolchains()
- register_toolchains()
- repository_rule(implementation, attrs, local, environ, configure, remotoble, doc)
- repository_rule(implementation, attrs, local, environ, configure, remotoble, doc)
- repr
- revertido
- regra
- selecionar
- single_version_override
- classificado
- str
- tag_class
- tuple
- tipo
- use_extension
- use_repo
- visibilidade
- espaço de trabalho
- zip
todas
bool all(elements)Retorna verdadeiro se todos os elementos forem avaliados como verdadeiros ou se a coleção estiver vazia. Os elementos são convertidos em booleanos usando a função bool.
all(["hello", 3, True]) == True all([-1, 0, 1]) == False
Parâmetros
Parâmetro | Descrição |
---|---|
elements
|
obrigatório Uma string ou uma coleção de elementos. |
analysis_test_transition
transition analysis_test_transition(settings)
Cria uma transição de configuração que será aplicada às dependências de uma regra de teste de análise. Essa transição só pode ser aplicada em atributos de regras com analysis_test = True
. Essas regras têm recursos restritos (por exemplo, o tamanho da árvore de dependências é limitado). Portanto, as transições criadas usando essa função têm um escopo limitado em comparação com as transições criadas usando a transição.
Essa função foi projetada principalmente para facilitar a biblioteca principal do Analysis Test Framework. Consulte a documentação ou implementação dele para conferir as práticas recomendadas.
Parâmetros
Parâmetro | Descrição |
---|---|
settings
|
obrigatório Um dicionário contendo informações sobre as definições de configuração que devem ser definidas por essa transição de configuração. As chaves são os rótulos de configuração do build, e os valores são os novos valores pós-transição. As demais configurações não foram alteradas. Use-o para declarar definições de configuração específicas que precisam ser definidas para aprovação em um teste de análise. |
qualquer um
bool any(elements)Retorna verdadeiro se pelo menos um elemento for avaliado como verdadeiro. Os elementos são convertidos em booleanos usando a função bool.
any([-1, 0, 1]) == True any([False, 0, ""]) == False
Parâmetros
Parâmetro | Descrição |
---|---|
elements
|
obrigatório Uma string ou uma coleção de elementos. |
archive_override
None archive_override(module_name, urls, integrity='', strip_prefix='', patches=[], patch_cmds=[], patch_strip=0)Especifica que a dependência precisa vir de um arquivo (zip, gzip etc.) em um determinado local, e não de um registro. Essa diretiva só pode ser usada pelo módulo raiz. Em outras palavras, se um módulo especificar substituições, ele não poderá ser usado como dependência por outros.
Parâmetros
Parâmetro | Descrição |
---|---|
module_name
|
obrigatório O nome da dependência do módulo do Bazel em que essa substituição vai ser aplicada. |
urls
|
string; or Iterable of strings ;
obrigatórioOs URLs do arquivo, que podem ser http(s):// ou file://. |
integrity
|
default = '' A soma de verificação esperada do arquivo, no formato Sub-resource Integrity. |
strip_prefix
|
default = '' Um prefixo de diretório para remover dos arquivos extraídos. |
patches
|
Iterable of strings ;
default = []Uma lista de rótulos que apontam para arquivos de patch para aplicar neste módulo. Os arquivos de patch precisam estar na árvore de origem do projeto de nível superior. Elas são aplicadas na ordem da lista. |
patch_cmds
|
Iterable of strings ;
default = []Sequência de comandos de Bash a serem aplicados no Linux/Macos após a aplicação dos patches. |
patch_strip
|
default = 0 Igual ao argumento --strip do patch Unix. |
aspecto
Aspect aspect(implementation, attr_aspects=[], attrs=None, required_providers=[], required_aspect_providers=[], provides=[], requires=[], fragments=[], host_fragments=[], toolchains=[], incompatible_use_toolchain_transition=False, doc='', *, apply_to_generating_rules=False, exec_compatible_with=[], exec_groups=None)Cria um novo aspecto. O resultado dessa função precisa ser armazenado em um valor global. Consulte a introdução aos aspectos para mais detalhes.
Parâmetros
Parâmetro | Descrição |
---|---|
implementation
|
obrigatório Uma função Starlark que implementa esse aspecto, com exatamente dois parâmetros: Target (o destino a que o aspecto é aplicado) e ctx (o contexto da regra de onde o target é criado). Os atributos do destino estão disponíveis no campo ctx.rule . Essa função é avaliada durante a fase de análise para cada aplicação de um aspecto a um destino.
|
attr_aspects
|
sequence of strings ;
default = []Lista de nomes de atributos. O aspecto é propagado pelas dependências especificadas nos atributos de um destino com esses nomes. Os valores comuns aqui incluem deps e exports . A lista também pode conter uma única string "*" para propagar em todas as dependências de um destino.
|
attrs
|
dict; or None ;
default = NoneUm dicionário que declara todos os atributos do aspecto. Ele é mapeado de um nome de atributo para um objeto de atributo, como "attr.label" ou "attr.string". Consulte o módulo attr. Os atributos de aspecto estão disponíveis para a função de implementação como campos do parâmetro ctx . Atributos implícitos que começam com Atributos explícitos precisam ter o tipo |
required_providers
|
default = [] Esse atributo permite que o aspecto limite a propagação dele apenas aos destinos com regras que divulgam os provedores exigidos. O valor precisa ser uma lista com provedores individuais ou listas de provedores, mas não ambos. Por exemplo, [[FooInfo], [BarInfo], [BazInfo, QuxInfo]] é um valor válido, mas [FooInfo, BarInfo, [BazInfo, QuxInfo]] não é.Uma lista não aninhada de provedores será automaticamente convertida em uma lista que contém uma lista de provedores. Ou seja, Para tornar as segmentações de regras (por exemplo, |
required_aspect_providers
|
default = [] Esse atributo permite que o aspecto inspecione outros. O valor precisa ser uma lista com provedores individuais ou listas de provedores, mas não ambos. Por exemplo, [[FooInfo], [BarInfo], [BazInfo, QuxInfo]] é um valor válido, mas [FooInfo, BarInfo, [BazInfo, QuxInfo]] não é.Uma lista não aninhada de provedores será automaticamente convertida em uma lista que contém uma lista de provedores. Ou seja, Para que outro aspecto (por exemplo, |
provides
|
default = [] Uma lista de provedores que a função de implementação precisa retornar. Se a função de implementação omitir qualquer um dos tipos de provedores listados aqui do valor de retorno, isso constituirá um erro. No entanto, a função de implementação pode retornar outros provedores não listados aqui. Cada elemento da lista é um objeto |
requires
|
sequence of Aspects ;
default = []Lista de aspectos que precisam ser propagados antes deste aspecto. |
fragments
|
sequence of strings ;
default = []Lista de nomes de fragmentos de configuração que o aspecto exige na configuração de destino. |
host_fragments
|
sequence of strings ;
default = []Lista de nomes de fragmentos de configuração que o aspecto exige na configuração do host. |
toolchains
|
sequence ;
default = []Se definido, o conjunto de conjuntos de ferramentas exigido por essa regra. A lista pode conter objetos String, Label ou StarlarkToolchainTypeApi, em qualquer combinação. Os conjuntos de ferramentas são encontrados verificando a plataforma atual e fornecidos à implementação da regra via ctx.toolchain .
|
incompatible_use_toolchain_transition
|
default = False Obsoleto, esse elemento não está mais em uso e precisa ser removido. |
doc
|
default = '' Uma descrição do aspecto que pode ser extraído pelas ferramentas geradoras de documentação. |
apply_to_generating_rules
|
default = False Se for verdadeiro, o aspecto será aplicado à regra de geração do arquivo de saída, quando aplicado a um arquivo de saída. Por exemplo, suponha que um aspecto se propaga de forma transitiva pelo atributo `deps` e ele é aplicado ao destino `alpha`. Suponha que `alpha` tenha `deps = [':beta_output']`, em que `beta_output` é uma saída declarada de um destino `beta`. Suponha que `beta` tenha um de destino `charlie` como um dos `deps` e que ele seja aplicado a `alpha`. Se `apply_to_generate_rules=the,'. Falso por padrão. |
exec_compatible_with
|
sequence of strings ;
default = []Uma lista de restrições na plataforma de execução que se aplica a todas as instâncias desse aspecto. |
exec_groups
|
dict; or None ;
default = NoneDitado do nome do grupo de execução (string) para exec_group s. Se definido, permite que aspectos executem ações em várias plataformas de execução em uma única instância. Consulte a documentação dos grupos de execução para mais informações.
|
bazel_dep
None bazel_dep(name, version='', repo_name='', dev_dependency=False)Declara uma dependência direta em outro módulo do Bazel.
Parâmetros
Parâmetro | Descrição |
---|---|
name
|
obrigatório O nome do módulo a ser adicionado como uma dependência direta. |
version
|
default = '' A versão do módulo a ser adicionada como dependência direta. |
repo_name
|
default = '' O nome do repositório externo que representa essa dependência. Por padrão, esse é o nome do módulo. |
dev_dependency
|
default = False Se verdadeiro, essa dependência será ignorada se o módulo atual não for o módulo raiz ou se "--ignore_dev_dependency" estiver ativado. |
bind
None bind(name, actual=None)
Aviso: não recomendamos o uso de bind()
. Consulte Considerar a remoção da vinculação para ver uma longa discussão sobre os problemas e alternativas.
Fornece um alias ao destino no pacote //external
.
Parâmetros
Parâmetro | Descrição |
---|---|
name
|
obrigatório O rótulo em "//external" para servir como o nome do alias |
actual
|
string; or None ;
default = NoneO rótulo real para ter alias |
bool
bool bool(x=False)Construtor para o tipo booleano. Ela retorna
False
se o objeto for None
, False
, uma string vazia (""
), o número 0
ou uma coleção vazia (por exemplo, ()
, []
). Caso contrário, retorna True
.
Parâmetros
Parâmetro | Descrição |
---|---|
x
|
default = False Variável a ser convertida. |
configuration_field
LateBoundDefault configuration_field(fragment, name)Refere-se a um valor padrão vinculado tardio para um atributo do tipo label. Um valor é "late-bound" se exigir que a configuração seja criada antes de determinar o valor. Qualquer atributo que use esse valor como um valor precisa ser particular.
Exemplo de uso:
Definindo um atributo de regra:
'_foo': attr.label(default=configuration_field(fragment='java', name='toolchain'))
Como acessar na implementação da regra:
def _rule_impl(ctx): foo_info = ctx.attr._foo ...
Parâmetros
Parâmetro | Descrição |
---|---|
fragment
|
obrigatório O nome de um fragmento de configuração que contém o valor de limite final. |
name
|
obrigatório O nome do valor que você vai extrair do fragmento de configuração. |
depset
depset depset(direct=None, order="default", *, transitive=None)Cria um depset. O parâmetro
direct
é uma lista de elementos diretos do desset, e o parâmetro transitive
é uma lista de depsets cujos elementos se tornam elementos indiretos do depset criado. A ordem em que os elementos são retornados quando o depset é convertido em uma lista é especificada pelo parâmetro order
. Consulte a Visão geral de Depsets para ver mais informações.
Todos os elementos (diretos e indiretos) de um conjunto de dados precisam ser do mesmo tipo, conforme recebido pela expressão type(x)
.
Como um conjunto baseado em hash é usado para eliminar cópias durante a iteração, todos os elementos de um depset precisam ser criptografados com hash. No entanto, essa invariante não é verificada atualmente de forma consistente em todos os construtores. Use a sinalização --incompatible_always_check_depset_elements para ativar a verificação consistente. Esse será o comportamento padrão em versões futuras. Consulte o Problema 10313.
Além disso, os elementos precisam ser imutáveis no momento, embora essa restrição seja flexibilizada no futuro.
A ordem do conjunto de dados criado deve ser compatível com a ordem das dependências transitive
. O pedido "default"
é compatível com qualquer outro pedido, e todos os outros só são compatíveis com eles mesmos.
Observação sobre compatibilidade com versões anteriores. No momento, essa função aceita um parâmetro items
de posição. Ele foi descontinuado e vai ser removido no futuro. Após a remoção, direct
vai se tornar um único parâmetro de posição da função depset
. Assim, as duas chamadas a seguir são equivalentes e preparadas para o futuro:
depset(['a', 'b'], transitive = [...]) depset(direct = ['a', 'b'], transitive = [...])
Parâmetros
Parâmetro | Descrição |
---|---|
direct
|
sequence; or None ;
default = NoneUma lista de elementos diretos de um conjunto de dados. |
order
|
default = "default" A estratégia de travessia do novo conjunto. Consulte aqui os valores possíveis. |
transitive
|
sequence of depsets; or None ;
default = NoneUma lista de desativações cujos elementos se tornarão elementos indiretos do depset. |
dict
dict dict(pairs=[], **kwargs)Cria um dicionário a partir de um argumento posicional opcional e um conjunto opcional de argumentos de palavras-chave. Caso a mesma chave seja fornecida várias vezes, o último valor será usado. As entradas fornecidas por argumentos de palavra-chave são consideradas depois das entradas fornecidas pelo argumento posicional.
Parâmetros
Parâmetro | Descrição |
---|---|
pairs
|
default = [] Um dict ou um iterável com elementos de comprimento 2 (chave, valor). |
kwargs
|
obrigatório Dicionário de entradas adicionais. |
dir
list dir(x)Retorna uma lista de strings: os nomes dos atributos e métodos do objeto de parâmetro.
Parâmetros
Parâmetro | Descrição |
---|---|
x
|
obrigatório O objeto a ser verificado. |
enumerar
list enumerate(list, start=0)Retorna uma lista de pares (tuplas de dois elementos), com o índice (int) e o item da sequência de entrada.
enumerate([24, 21, 84]) == [(0, 24), (1, 21), (2, 84)]
Parâmetros
Parâmetro | Descrição |
---|---|
list
|
sequência de entrada necessária. |
start
|
default = 0 índice inicial. |
exec_group
exec_group exec_group(toolchains=[], exec_compatible_with=[], copy_from_rule=False)Cria um grupo de execução que pode ser usado para gerar ações a uma plataforma específica durante a implementação da regra.
Parâmetros
Parâmetro | Descrição |
---|---|
toolchains
|
sequence ;
default = []O conjunto de conjuntos de ferramentas que este grupo de execução exige. A lista pode conter objetos String, Label ou StarlarkToolchainTypeApi, em qualquer combinação. |
exec_compatible_with
|
sequence of strings ;
default = []Uma lista de restrições na plataforma de execução. |
copy_from_rule
|
default = False Se definido como verdadeiro, esse grupo de execução herda os conjuntos de ferramentas e as restrições da regra a que esse grupo está anexado. Se definido como qualquer outra string, um erro será gerado. |
fail
None fail(msg=None, attr=None, *args)Faz com que a execução falhe com um erro.
Parâmetros
Parâmetro | Descrição |
---|---|
msg
|
default = None Obsoleto: use argumentos posicionais. Esse argumento atua como um argumento posicional principal implícito. |
attr
|
string; or None ;
default = NoneObsoleto. Faz com que um prefixo opcional contendo essa string seja adicionado à mensagem de erro. |
args
|
obrigatório Uma lista de valores, formatados com str e unidos com espaços, que aparecem na mensagem de erro. |
float
float float(x=unbound)Retorna x como um valor flutuante.
- Se
x
já for um flutuante,float
a retornará inalterada. - Se
x
for um booleano,float
retornará 1.0 para True e 0.0 para False. - Se
x
for um inteiro,float
vai retornar o valor de ponto flutuante finito mais próximo de x ou um erro se a magnitude for muito grande. - Se
x
for uma string, ele precisará ser um literal de ponto flutuante válido ou ser igual (ignorando maiúsculas e minúsculas) aNaN
,Inf
ouInfinity
, opcionalmente precedido por um sinal+
ou-
.
float()
retorna 0,0.
Parâmetros
Parâmetro | Descrição |
---|---|
x
|
default = unbound O valor a ser convertido. |
Getattr
unknown getattr(x, name, default=unbound)Retorna o campo de struct com o nome informado, se houver. Caso contrário, ele retorna
default
(se especificado) ou gera um erro. getattr(x, "foobar")
é equivalente a x.foobar
.getattr(ctx.attr, "myattr") getattr(ctx.attr, "myattr", "mydefault")
Parâmetros
Parâmetro | Descrição |
---|---|
x
|
obrigatório O struct cujo atributo é acessado. |
name
|
obrigatório O nome do atributo struct. |
default
|
default = unbound O valor padrão a ser retornado caso o struct não tenha um atributo com o nome fornecido. |
git_override
None git_override(module_name, remote, commit='', patches=[], patch_cmds=[], patch_strip=0)Especifica que uma dependência precisa vir de uma determinada confirmação de um repositório Git. Essa diretiva só pode ser usada pelo módulo raiz. Em outras palavras, se um módulo especificar substituições, ele não poderá ser usado como dependência por outros.
Parâmetros
Parâmetro | Descrição |
---|---|
module_name
|
obrigatório O nome da dependência do módulo do Bazel em que essa substituição vai ser aplicada. |
remote
|
obrigatório O URL do repositório Git remoto. |
commit
|
default = '' A confirmação que precisa ser verificada. |
patches
|
Iterable of strings ;
default = []Uma lista de rótulos que apontam para arquivos de patch para aplicar neste módulo. Os arquivos de patch precisam estar na árvore de origem do projeto de nível superior. Elas são aplicadas na ordem da lista. |
patch_cmds
|
Iterable of strings ;
default = []Sequência de comandos de Bash a serem aplicados no Linux/Macos após a aplicação dos patches. |
patch_strip
|
default = 0 Igual ao argumento --strip do patch Unix. |
Hasattr
bool hasattr(x, name)Retorna "True" se o objeto
x
tem um atributo ou método do name
especificado. Caso contrário, "False". Exemplo:hasattr(ctx.attr, "myattr")
Parâmetros
Parâmetro | Descrição |
---|---|
x
|
obrigatório O objeto a ser verificado. |
name
|
obrigatório O nome do atributo. |
jogo da velha
int hash(value)Retorna um valor de hash para uma string. Isso é calculado deterministicamente usando o mesmo algoritmo do
String.hashCode()
do Java, ou seja: s[0] * (31^(n-1)) + s[1] * (31^(n-2)) + ... + s[n-1]o hash de valores além das strings não é compatível no momento.
Parâmetros
Parâmetro | Descrição |
---|---|
value
|
obrigatório Valor de string a ser gerado com hash. |
int
int int(x, base=unbound)Retorna x como um valor int.
- Se
x
já for um int,int
o retornará sem alterações. - Se
x
for um booleano,int
retornará 1 para True e 0 para False. - Se
x
for uma string, ela precisa ter o formato<sign><prefix><digits>
.<sign>
é"+"
,"-"
ou está vazio (interpretado como positivo).<digits>
são uma sequência de dígitos de 0 abase
- 1, em que as letras de a a z (ou equivalente de A a Z) são usadas como dígitos para 10 a 35. No caso em quebase
é 2/8/16,<prefix>
é opcional e pode ser 0b/0o/0x (ou equivalente, 0B/0O/0X), respectivamente. Sebase
for qualquer outro valor além dessas bases ou do valor especial 0, o prefixo precisa estar vazio. No caso em quebase
é 0, a string é interpretada como um literal de número inteiro, no sentido de que uma das bases 2/8/10/16 é escolhida dependendo de qual prefixo, se houver. Sebase
for 0, nenhum prefixo será usado e houver mais de um dígito, o dígito inicial não poderá ser 0. Isso evita confusão entre octal e decimal. A magnitude do número representado pela string precisa estar dentro do intervalo permitido para o tipo int. - Se
x
for um valor flutuante,int
vai retornar o valor inteiro, arredondando para zero. Se x for não finito, ocorrerá um erro (NaN ou infinito).
x
for de qualquer outro tipo ou se o valor for uma string que não atende ao formato acima. Ao contrário da função int
do Python, essa função não permite argumentos zero nem espaços em branco irrelevantes para argumentos de string.Exemplos:
int("123") == 123 int("-123") == -123 int("+123") == 123 int("FF", 16) == 255 int("0xFF", 16) == 255 int("10", 0) == 10 int("-0x10", 0) == -16 int("-0x10", 0) == -16 int("123.456") == 123
Parâmetros
Parâmetro | Descrição |
---|---|
x
|
obrigatório A string a ser convertida. |
base
|
padrão = não vinculado A base usada para interpretar um valor de string. O padrão é 10. Precisa estar entre 2 e 36 (inclusive) ou 0 para detectar a base como se x fosse um literal de número inteiro. Esse parâmetro não poderá ser fornecido se o valor não for uma string.
|
len
int len(x)Retorna o tamanho de uma string, sequência (como uma lista ou um conjunto de dados), um dict ou outro iterável.
Parâmetros
Parâmetro | Descrição |
---|---|
x
|
obrigatório O valor com o tamanho a ser informado. |
list
list list(x=[])Retorna uma nova lista com os mesmos elementos do valor iterável fornecido.
list([1, 2]) == [1, 2] list((2, 3, 2)) == [2, 3, 2] list({5: "a", 2: "b", 4: "c"}) == [5, 2, 4]
Parâmetros
Parâmetro | Descrição |
---|---|
x
|
default = [] O objeto a ser convertido. |
local_path_override
None local_path_override(module_name, path)Especifica que uma dependência deve vir de um determinado diretório no disco local. Essa diretiva só pode ser usada pelo módulo raiz. Em outras palavras, se um módulo especificar substituições, ele não poderá ser usado como dependência por outros.
Parâmetros
Parâmetro | Descrição |
---|---|
module_name
|
obrigatório O nome da dependência do módulo do Bazel em que essa substituição vai ser aplicada. |
path
|
obrigatório O caminho para o diretório em que o módulo está. |
máx
unknown max(*args)Retorna o maior de todos os argumentos fornecidos. Se apenas um argumento for fornecido, ele precisará ser um iterável não vazio.É um erro se os elementos não forem comparáveis (por exemplo, int com string) ou se nenhum argumento for fornecido.
max(2, 5, 4) == 5 max([5, 6, 3]) == 6
Parâmetros
Parâmetro | Descrição |
---|---|
args
|
obrigatório Os elementos a serem verificados. |
min
unknown min(*args)Retorna o menor de todos os argumentos fornecidos. Se apenas um argumento for fornecido, ele precisará ser um iterável não vazio. É um erro se os elementos não são comparáveis (por exemplo, int com string) ou se nenhum argumento é fornecido.
min(2, 5, 4) == 2 min([5, 6, 3]) == 3
Parâmetros
Parâmetro | Descrição |
---|---|
args
|
obrigatório Os elementos a serem verificados. |
módulo
None module(name='', version='', compatibility_level=0, repo_name='', bazel_compatibility=[])Declara determinadas propriedades do módulo do Bazel representadas pelo repositório atual do Bazel. Essas propriedades são metadados essenciais do módulo, como nome e versão, ou afetam o comportamento do módulo atual e dos dependentes dele.
Ele deve ser chamado no máximo uma vez. Ele só pode ser omitido se esse módulo for o módulo raiz (por exemplo, se ele não for dependente de outro módulo).
Parâmetros
Parâmetro | Descrição |
---|---|
name
|
default = '' O nome do módulo. Pode ser omitido somente se esse módulo for o módulo raiz (por exemplo, se ele não for dependente de outro módulo). Um nome de módulo válido precisa: 1) ter apenas letras minúsculas (a-z), dígitos (0-9), pontos (.), hifens (-) e sublinhados (_); 2) começar com uma letra minúscula; 3) terminar com uma letra minúscula ou um dígito. |
version
|
default = '' A versão do módulo. Pode ser omitido somente se esse módulo for o módulo raiz (por exemplo, se ele não for dependente de outro módulo). |
compatibility_level
|
default = 0 O nível de compatibilidade do módulo, que precisa ser mudado sempre que uma grande mudança incompatível for introduzida. Ela é essencialmente a "versão principal" do módulo em termos do SemVer, exceto pelo fato de não estar incorporada na própria string da versão, mas existir como um campo separado. Módulos com diferentes níveis de compatibilidade participam da resolução de versão como se fossem módulos com nomes diferentes, mas o gráfico de dependência final não pode conter vários módulos com o mesmo nome, mas com diferentes níveis de compatibilidade (a menos que multiple_version_override esteja em vigor. Confira mais detalhes aqui).
|
repo_name
|
default = '' O nome do repositório que representa este módulo, conforme visto pelo próprio módulo. Por padrão, o nome do repositório é o nome do módulo. Isso pode ser especificado para facilitar a migração de projetos que estão usando um nome de repositório diferente do nome do módulo. |
bazel_compatibility
|
Iterable of strings ;
default = []Uma lista de versões do Bazel que permite aos usuários declarar quais versões do Bazel são compatíveis com esse módulo. Isso NÃO afeta a resolução de dependências, mas o bzlmod usará essas informações para verificar se sua versão atual do Bazel é compatível. O formato desse valor é uma string de alguns valores de restrição separados por vírgula. Três restrições são compatíveis: <=X.X.X: a versão do Bazel precisa ser igual ou anterior a X.X.X. É usada quando há uma mudança incompatível conhecida em uma versão mais recente. >=X.X.X: a versão do Bazel precisa ser igual ou mais recente que X.X.X.Usada quando você depende de alguns recursos que estão disponíveis apenas desde X.X.X. -X.X.X: a versão do Bazel X.X.X não é compatível. Usado quando há um bug no X.X.X que interrompe você, mas corrigido nas versões posteriores. |
module_extension
unknown module_extension(implementation, *, tag_classes={}, doc='')Cria uma nova extensão de módulo. Armazene-o em um valor global para que ele possa ser exportado e usado em um arquivo MODULE.bazel.
Parâmetros
Parâmetro | Descrição |
---|---|
implementation
|
obrigatório A função que implementa a extensão desse módulo. É necessário usar um único parâmetro, module_ctx . A função é chamada uma vez no início de um build para determinar o conjunto de repositórios disponíveis.
|
tag_classes
|
default = {} Um dicionário para declarar todas as classes de tag usadas pela extensão. Ele é mapeado do nome da classe de tags para um objeto tag_class .
|
doc
|
default = '' Uma descrição da extensão do módulo que pode ser extraída pelas ferramentas de geração de documentação. |
multiple_version_override
None multiple_version_override(module_name, versions, registry='')Especifica que uma dependência ainda precisa vir de um registro, mas várias versões dela precisam coexistir. Essa diretiva só pode ser usada pelo módulo raiz. Em outras palavras, se um módulo especificar substituições, ele não poderá ser usado como dependência por outros.
Parâmetros
Parâmetro | Descrição |
---|---|
module_name
|
obrigatório O nome da dependência do módulo do Bazel em que essa substituição vai ser aplicada. |
versions
|
Iterable of strings ;
obrigatórioEspecifica explicitamente as versões permitidas para coexistir. Essas versões já precisam estar presentes na pré-seleção do gráfico de dependências. As dependências deste módulo vão receber upgrade para a maior versão permitida mais próxima no mesmo nível de compatibilidade, enquanto as dependências com uma versão mais recente do que qualquer versão permitida no mesmo nível de compatibilidade vão causar um erro. |
registry
|
default = '' Substitui o registro desse módulo. Em vez de encontrar o módulo na lista padrão de registros, use o registro fornecido. |
mostrar
None print(sep=" ", *args)Mostra
args
como saída de depuração. Ela será prefixada com a string "DEBUG"
e o local (arquivo e número da linha) dessa chamada. A maneira exata em que os argumentos são convertidos em strings não é especificada e pode mudar a qualquer momento. Em particular, ele pode ser diferente e mais detalhado do que a formatação feita por str()
e repr()
.Não é recomendável usar print
no código de produção devido ao spam criado para os usuários. Para descontinuações, prefira um erro físico usando fail()
sempre que possível.
Parâmetros
Parâmetro | Descrição |
---|---|
sep
|
default = " " A string do separador entre os objetos. O padrão é espaço (" "). |
args
|
obrigatório Os objetos a serem impressos. |
provider
unknown provider(doc='', *, fields=None, init=None)Define um símbolo de provedor. O provedor pode ser instanciado chamando-o ou usado diretamente como chave para recuperar uma instância desse provedor de um destino. Exemplo:
MyInfo = provider() ... def _my_library_impl(ctx): ... my_info = MyInfo(x = 2, y = 3) # my_info.x == 2 # my_info.y == 3 ...
Consulte Regras (provedores) para ver um guia completo sobre como usar provedores.
Retorna um valor chamável Provider
se init
não for especificado.
Se init
for especificado, retorna uma tupla de dois elementos: um valor chamável de Provider
e um valor chamável de construtor bruto. Consulte Regras (inicialização personalizada de provedores personalizados) e veja os detalhes na discussão sobre o parâmetro init
abaixo.
Parâmetros
Parâmetro | Descrição |
---|---|
doc
|
default = '' Uma descrição do provedor que pode ser extraída por ferramentas geradoras de documentação. |
fields
|
sequence of strings; or dict; or None ;
padrão = NoneSe especificado, restringe o conjunto de campos permitidos. Os valores possíveis são:
|
init
|
callable; or None ;
default = NoneUm callback opcional para pré-processamento e validação dos valores de campo do provedor durante a instanciação. Se init for especificado, provider() retornará uma tupla de dois elementos: o símbolo de provedor normal e um construtor bruto.Confira a seguir uma descrição precisa. Consulte Regras (inicialização personalizada de provedores) para conferir uma discussão intuitiva e casos de uso. Permita que
init não é fornecido, uma chamada para o símbolo P atua como uma chamada para a função de construtor padrão c . Em outras palavras, P(*args, **kwargs) retorna c(*args, **kwargs) . Por exemplo,MyInfo = provider() m = MyInfo(foo = 1)vai fazer com que m seja uma instância MyInfo com m.foo == 1 .Mas, no caso em que
Observação: as etapas acima implicam que um erro ocorre se Dessa forma, o callback Quando MyInfo, _new_myinfo = provider(init = ...) |
range
sequence range(start_or_stop, stop_or_none=None, step=1)Cria uma lista em que os itens vão de
start
para stop
, usando um incremento step
. Se um único argumento for fornecido, os itens vão variar de 0 a esse elemento.range(4) == [0, 1, 2, 3] range(3, 9, 2) == [3, 5, 7] range(3, 0, -1) == [3, 2, 1]
Parâmetros
Parâmetro | Descrição |
---|---|
start_or_stop
|
obrigatório Valor do elemento de início se a parada for fornecida. Caso contrário, o valor da parada e do início real será 0 |
stop_or_none
|
int; or None ;
default = Noneíndice opcional do primeiro item não a ser incluído na lista resultante. A geração da lista é interrompida antes de stop ser alcançado.
|
step
|
default = 1 O incremento (o padrão é 1). Ela pode ser negativa. |
register_execution_platforms()
None register_execution_platforms(*platform_labels)Registre uma plataforma já definida para que o Bazel possa usá-la como plataforma de execução durante a resolução do conjunto de ferramentas.
Parâmetros
Parâmetro | Descrição |
---|---|
platform_labels
|
sequence of strings ;
obrigatórioOs rótulos das plataformas a serem registradas. |
register_execution_platforms()
None register_execution_platforms(*platform_labels)Especifica as plataformas de execução já definidas para serem registradas quando este módulo for selecionado. Precisam ser padrões de destino absolutos (ou seja, começando com
@
ou //
). Consulte a resolução do conjunto de ferramentas para mais informações.
Parâmetros
Parâmetro | Descrição |
---|---|
platform_labels
|
sequence of strings ;
obrigatórioOs rótulos das plataformas a serem registradas. |
register_toolchains()
None register_toolchains(*toolchain_labels)Registre um conjunto de ferramentas já definido para que o Bazel possa usá-lo durante a resolução do conjunto de ferramentas. Confira exemplos de como definir e registrar conjuntos de ferramentas.
Parâmetros
Parâmetro | Descrição |
---|---|
toolchain_labels
|
sequence of strings ;
obrigatórioOs rótulos dos conjuntos de ferramentas a serem registrados. |
register_toolchains()
None register_toolchains(*toolchain_labels)Especifica conjuntos de ferramentas já definidos a serem registrados quando este módulo for selecionado. Precisam ser padrões de destino absolutos (ou seja, começando com
@
ou //
). Consulte a resolução do conjunto de ferramentas para mais informações.
Parâmetros
Parâmetro | Descrição |
---|---|
toolchain_labels
|
sequence of strings ;
obrigatórioOs rótulos dos conjuntos de ferramentas a serem registrados. |
DataStore_rule(implementation, attrs, local, environ, configure, remotoble, documento)
callable repository_rule(implementation, *, attrs=None, local=False, environ=[], configure=False, remotable=False, doc='')Cria uma nova regra de repositório. Armazene-o em um valor global para que ele possa ser carregado e chamado no arquivo do ESPAÇO DE TRABALHO.
Parâmetros
Parâmetro | Descrição |
---|---|
implementation
|
necessária a função que implementa essa regra. É necessário ter um único parâmetro, repository_ctx . A função é chamada durante a fase de carregamento de cada instância da regra.
|
attrs
|
dict; or None ;
padrão = Nonepara declarar todos os atributos da regra. Ele é mapeado de um nome de atributo para um objeto de atributo (consulte o módulo attr). Atributos que começam com _ são particulares e podem ser usados para adicionar uma dependência implícita a um marcador em um arquivo (uma regra de repositório não pode depender de um artefato gerado). O atributo name é adicionado implicitamente e não deve ser especificado.
|
local
|
default = False Indica que essa regra busca tudo no sistema local e precisa ser reavaliada a cada busca. |
environ
|
sequence of strings ;
default = []Fornece uma lista das variáveis de ambiente de que esta regra de repositório depende. Se uma variável de ambiente dessa lista mudar, a busca do repositório será feita novamente. |
configure
|
default = False Indica que o repositório inspeciona o sistema para fins de configuração |
remotable
|
default = False Experimental. Esse parâmetro é experimental e pode ser alterado a qualquer momento. Não dependa disso. Ela pode ser ativada de forma experimental configurando ---experimental_repo_remote_exec Compatível com execução remota. |
doc
|
default = '' Uma descrição da regra de repositório que pode ser extraída por ferramentas geradoras de documentação. |
DataStore_rule(implementation, attrs, local, environ, configure, remotoble, documento)
callable repository_rule(implementation, *, attrs=None, local=False, environ=[], configure=False, remotable=False, doc='')Cria uma nova regra de repositório. Armazene-o em um valor global para que ele possa ser carregado e chamado no arquivo do ESPAÇO DE TRABALHO.
Parâmetros
Parâmetro | Descrição |
---|---|
implementation
|
necessária a função que implementa essa regra. É necessário ter um único parâmetro, repository_ctx . A função é chamada durante a fase de carregamento de cada instância da regra.
|
attrs
|
dict; or None ;
padrão = Nonepara declarar todos os atributos da regra. Ele é mapeado de um nome de atributo para um objeto de atributo (consulte o módulo attr). Atributos que começam com _ são particulares e podem ser usados para adicionar uma dependência implícita a um marcador em um arquivo (uma regra de repositório não pode depender de um artefato gerado). O atributo name é adicionado implicitamente e não deve ser especificado.
|
local
|
default = False Indica que essa regra busca tudo no sistema local e precisa ser reavaliada a cada busca. |
environ
|
sequence of strings ;
default = []Fornece uma lista das variáveis de ambiente de que esta regra de repositório depende. Se uma variável de ambiente dessa lista mudar, a busca do repositório será feita novamente. |
configure
|
default = False Indica que o repositório inspeciona o sistema para fins de configuração |
remotable
|
default = False Experimental. Esse parâmetro é experimental e pode ser alterado a qualquer momento. Não dependa disso. Ela pode ser ativada de forma experimental configurando ---experimental_repo_remote_exec Compatível com execução remota. |
doc
|
default = '' Uma descrição da regra de repositório que pode ser extraída por ferramentas geradoras de documentação. |
Repr
string repr(x)Converte qualquer objeto em uma representação em string. Isso é útil para depuração.
repr("ab") == '"ab"'
Parâmetros
Parâmetro | Descrição |
---|---|
x
|
obrigatório O objeto a ser convertido. |
anulou
list reversed(sequence)Retorna uma lista nova e descongelada que contém os elementos da sequência iterável original em ordem invertida.
reversed([3, 5, 4]) == [4, 5, 3]
Parâmetros
Parâmetro | Descrição |
---|---|
sequence
|
obrigatório A sequência iterável (por exemplo, lista) a ser revertida. |
regra
callable rule(implementation, test=False, attrs=None, outputs=None, executable=False, output_to_genfiles=False, fragments=[], host_fragments=[], _skylark_testable=False, toolchains=[], incompatible_use_toolchain_transition=False, doc='', *, provides=[], exec_compatible_with=[], analysis_test=False, build_setting=None, cfg=None, exec_groups=None, compile_one_filetype=None, name=None)Cria uma nova regra, que pode ser chamada a partir de um arquivo BUILD ou de uma macro para criar destinos.
As regras precisam ser atribuídas às variáveis globais em um arquivo .bzl. O nome da variável global é o nome da regra.
As regras de teste precisam ter um nome terminado em _test
, enquanto outras regras não podem ter esse sufixo. Essa restrição se aplica somente às regras, não aos destinos delas.
Parâmetros
Parâmetro | Descrição |
---|---|
implementation
|
necessária a função Starlark que implementa essa regra precisa ter exatamente um parâmetro: ctx. A função é chamada durante a fase de análise para cada instância da regra. Ela pode acessar os atributos fornecidos pelo usuário. Ela precisa criar ações para gerar todas as saídas declaradas. |
test
|
default = False Indica se a regra é de teste, ou seja, se ela pode ser o assunto de um comando blaze test . Todas as regras de teste são automaticamente consideradas executáveis. É desnecessário (e não recomendado) definir explicitamente executable = True para uma regra de teste. Consulte a página Regras para mais informações.
|
attrs
|
dict; or None ;
padrão = Nonepara declarar todos os atributos da regra. Ele é mapeado de um nome de atributo para um objeto de atributo (consulte o módulo attr). Atributos que começam com _ são particulares e podem ser usados para adicionar uma dependência implícita a um rótulo. O atributo name é adicionado implicitamente e não deve ser especificado. Os atributos visibility , deprecation , tags , testonly e features são adicionados implicitamente e não podem ser substituídos. A maioria das regras só precisa de alguns atributos. Para limitar o uso da memória, a função de regra impõe um limite no tamanho das atributos.
|
outputs
|
dict; or None; or function ;
default = NoneDescontinuado. Este parâmetro foi descontinuado e será removido em breve. Não dependa disso. Ela está desativada com o ---incompatible_no_rule_outputs_param . Use essa sinalização para verificar se seu código é compatível com a remoção iminente. Este parâmetro foi descontinuado. Migre as regras para usar OutputGroupInfo ou attr.output . Um esquema para definir saídas pré-declaradas. Ao contrário dos atributos O valor desse argumento é um dicionário ou uma função de callback que produz um dicionário. O callback funciona de maneira semelhante aos atributos de dependência computados: os nomes de parâmetro da função são comparados aos atributos da regra. Por exemplo, se você transmitir Cada entrada no dicionário cria uma saída pré-declarada em que a chave é um identificador e o valor é um modelo de string que determina o rótulo da saída. Na função de implementação da regra, o identificador se torna o nome do campo usado para acessar o
Na prática, o marcador de substituição de substituição mais comum é |
executable
|
default = False Define se esta regra é considerada executável, ou seja, se pode ser assunto de um comando blaze run . Consulte a página Regras para mais informações.
|
output_to_genfiles
|
default = False Se verdadeiro, os arquivos serão gerados no diretório genfiles em vez do diretório bin. A menos que você precise dessa sinalização para compatibilidade com as regras existentes (por exemplo, ao gerar arquivos principais para C++), não defina essa sinalização. |
fragments
|
sequence of strings ;
default = []Lista de nomes de fragmentos de configuração que a regra exige na configuração de destino. |
host_fragments
|
sequence of strings ;
default = []Lista de nomes de fragmentos de configuração que a regra exige na configuração do host. |
_skylark_testable
|
default = False (Experimental) Se for verdadeiro, essa regra vai expor as ações para inspeção por regras que dependem dela usando um provedor de Ações. O provedor também fica disponível para a própria regra chamando ctx.created_actions(). Isso deve ser usado somente para testar o comportamento do tempo de análise das regras do Starlark. Essa sinalização poderá ser removida no futuro. |
toolchains
|
sequence ;
default = []Se definido, o conjunto de conjuntos de ferramentas exigido por essa regra. A lista pode conter objetos String, Label ou StarlarkToolchainTypeApi, em qualquer combinação. Os conjuntos de ferramentas são encontrados verificando a plataforma atual e fornecidos à implementação da regra via ctx.toolchain .
|
incompatible_use_toolchain_transition
|
default = False Obsoleto, esse elemento não está mais em uso e precisa ser removido. |
doc
|
default = '' Uma descrição da regra que pode ser extraída pelas ferramentas que geram documentação. |
provides
|
default = [] Uma lista de provedores que a função de implementação precisa retornar. Se a função de implementação omitir qualquer um dos tipos de provedores listados aqui do valor de retorno, isso constituirá um erro. No entanto, a função de implementação pode retornar outros provedores não listados aqui. Cada elemento da lista é um objeto |
exec_compatible_with
|
sequence of strings ;
default = []Uma lista de restrições na plataforma de execução que se aplica a todos os destinos desse tipo de regra. |
analysis_test
|
default = False Se verdadeiro, essa regra é tratada como um teste de análise. Observação: as regras de teste de análise são definidas principalmente usando a infraestrutura fornecida nas principais bibliotecas do Starlark. Consulte Testes para conferir as orientações. Se uma regra for definida como uma regra de teste de análise, ela poderá usar transições de configuração definidas com analysis_test_transition nos atributos, mas aceita algumas restrições:
|
build_setting
|
BuildSetting; or None ;
default = NoneSe definido, descreve o tipo de build setting dessa regra. Consulte o módulo config . Se isso for definido, um atributo obrigatório chamado "build_setting_default" será adicionado automaticamente a esta regra, com um tipo correspondente ao valor transmitido aqui.
|
cfg
|
default = None Se definido, aponta para a transição de configuração que a regra vai aplicar à própria configuração antes da análise. |
exec_groups
|
dict; or None ;
default = NoneDitado do nome do grupo de execução (string) para exec_group s. Se definido, permite que as regras executem ações em várias plataformas de execução em um único destino. Consulte a documentação dos grupos de execução para mais informações.
|
compile_one_filetype
|
sequence of strings; or None ;
default = NoneUsado por --compile_one_dependency: se várias regras consumirem o arquivo especificado, devemos escolher essa regra em vez das outras. |
name
|
string; or None ;
default = NoneDescontinuado. Este parâmetro foi descontinuado e será removido em breve. Não dependa disso. Ela está desativada com o --+incompatible_remove_rule_name_parameter . Use essa sinalização para verificar se seu código é compatível com a remoção iminente. Descontinuado: não use. O nome desta regra, conforme compreendido pelo Bazel e relatado em contextos como geração de registros, Se esse parâmetro for omitido, o nome da regra será definido como o nome da primeira variável global do Starlark a ser vinculada a essa regra no módulo .bzl declarado. Assim, Especificar um nome explícito para uma regra não muda o local em que você pode instanciar a regra. |
select
unknown select(x, no_match_error='')
select()
é a função auxiliar que torna um atributo de regra configurável. Consulte a enciclopédia de criação para mais detalhes.
Parâmetros
Parâmetro | Descrição |
---|---|
x
|
obrigatório Um dict que mapeia condições de configuração para valores. Cada chave é um Label ou uma string de rótulo que identifica uma instância config_setting ou constraint_value. Consulte a documentação sobre macros para saber quando usar um rótulo em vez de uma string. |
no_match_error
|
default = '' Erro personalizado opcional a ser informado se nenhuma condição corresponder. |
single_version_override
None single_version_override(module_name, version='', registry='', patches=[], patch_cmds=[], patch_strip=0)Especifica que uma dependência ainda precisa vir de um registro, mas a versão precisa ser fixada, o registro substituído ou uma lista de patches aplicados. Essa diretiva só pode ser usada pelo módulo raiz. Em outras palavras, se um módulo especificar substituições, ele não poderá ser usado como dependência por outros.
Parâmetros
Parâmetro | Descrição |
---|---|
module_name
|
obrigatório O nome da dependência do módulo do Bazel em que essa substituição vai ser aplicada. |
version
|
default = '' Substitui a versão declarada desse módulo no gráfico de dependências. Em outras palavras, o módulo será "fixado" a essa versão de substituição. Este atributo pode ser omitido se você quiser substituir apenas o registro ou os patches. |
registry
|
default = '' Substitui o registro desse módulo. Em vez de encontrar o módulo na lista padrão de registros, use o registro fornecido. |
patches
|
Iterable of strings ;
default = []Uma lista de rótulos que apontam para arquivos de patch para aplicar neste módulo. Os arquivos de patch precisam estar na árvore de origem do projeto de nível superior. Elas são aplicadas na ordem da lista. |
patch_cmds
|
Iterable of strings ;
default = []Sequência de comandos de Bash a serem aplicados no Linux/Macos após a aplicação dos patches. |
patch_strip
|
default = 0 Igual ao argumento --strip do patch Unix. |
ordenado
list sorted(iterable, *, key=None, reverse=False)Retorna uma nova lista classificada contendo todos os elementos da sequência iterável fornecida. Pode ocorrer um erro se qualquer par de elementos x, y não puder ser comparado usando x < y. Os elementos são classificados em ordem crescente, a menos que o argumento reverso seja True. Nesse caso, a ordem é decrescente. A classificação é estável: elementos iguais mantêm sua ordem relativa original.
sorted([3, 5, 4]) == [3, 4, 5]
Parâmetros
Parâmetro | Descrição |
---|---|
iterable
|
obrigatório A sequência iterável a ser classificada. |
key
|
default = None Uma função opcional aplicada a cada elemento antes da comparação. |
reverse
|
default = False Retorna resultados em ordem decrescente. |
str
string str(x)Converte qualquer objeto em string. Isso é útil para depuração.
str("ab") == "ab" str(8) == "8"
Parâmetros
Parâmetro | Descrição |
---|---|
x
|
obrigatório O objeto a ser convertido. |
tag_class
tag_class tag_class(attrs={}, *, doc='')Cria um novo objeto tag_class, que define um esquema de atributo para uma classe de tags, que são objetos de dados utilizáveis por uma extensão de módulo.
Parâmetros
Parâmetro | Descrição |
---|---|
attrs
|
default = {} Um dicionário para declarar todos os atributos dessa classe de tag. Ele é mapeado de um nome de atributo para um objeto de atributo (consulte o módulo attr). |
doc
|
default = '' Uma descrição da classe de tag que pode ser extraída pelas ferramentas de geração de documentação. |
tuple
tuple tuple(x=())Retorna uma tupla com os mesmos elementos do valor iterável fornecido.
tuple([1, 2]) == (1, 2) tuple((2, 3, 2)) == (2, 3, 2) tuple({5: "a", 2: "b", 4: "c"}) == (5, 2, 4)
Parâmetros
Parâmetro | Descrição |
---|---|
x
|
default = () O objeto a ser convertido. |
digitar
string type(x)Retorna o nome do tipo do argumento. Isso é útil para depuração e verificação de tipo. Exemplos:
type(2) == "int" type([1]) == "list" type(struct(a = 2)) == "struct"Esta função pode mudar no futuro. Para escrever um código compatível com Python e se preparar para o futuro, use-o somente para comparar valores de retorno:
if type(x) == type([]): # if x is a list
Parâmetros
Parâmetro | Descrição |
---|---|
x
|
obrigatório O objeto que terá o tipo verificado. |
use_extension
module_extension_proxy use_extension(extension_bzl_file, extension_name, *, dev_dependency=False)Retorna um objeto de proxy que representa uma extensão de módulo. Seus métodos podem ser invocados para criar tags de extensão de módulo.
Parâmetros
Parâmetro | Descrição |
---|---|
extension_bzl_file
|
obrigatório Um rótulo para o arquivo Starlark que define a extensão do módulo. |
extension_name
|
obrigatório O nome da extensão do módulo a ser usada. Um símbolo com esse nome deve ser exportado pelo arquivo Starlark. |
dev_dependency
|
default = False Se for verdadeiro, esse uso da extensão do módulo será ignorado se o módulo atual não for o módulo raiz ou se "--ignore_dev_dependency" estiver ativado. |
use_repo
None use_repo(extension_proxy, *args, **kwargs)Importa um ou mais repositórios gerados pela extensão de módulo especificada para o escopo do módulo atual.
Parâmetros
Parâmetro | Descrição |
---|---|
extension_proxy
|
obrigatório Um objeto de proxy de extensão de módulo retornado por uma chamada use_extension .
|
args
|
obrigatório Os nomes dos repositórios a serem importados. |
kwargs
|
obrigatório Especifica determinados repositórios a serem importados para o escopo do módulo atual com nomes diferentes. As chaves precisam ser o nome que será usado no escopo atual, enquanto os valores precisam ser os nomes originais exportados pela extensão do módulo. |
visibilidade
None visibility(value)
Define a visibilidade de carregamento do módulo .bzl que está sendo inicializado.
A visibilidade de carregamento de um módulo determina se outros arquivos BUILD e .bzl podem carregá-lo. Isso é diferente da visibilidade de destino do arquivo de origem .bzl subjacente, que determina se o arquivo pode aparecer como uma dependência de outros destinos. A visibilidade do carregamento funciona no nível dos pacotes: para carregar um módulo, o arquivo que está fazendo o carregamento deve estar em um pacote que tenha recebido visibilidade ao módulo. Um módulo pode sempre ser carregado dentro do próprio pacote, independentemente da visibilidade dele.
visibility()
só pode ser chamado uma vez por arquivo .bzl e apenas no nível superior, não dentro de uma função. O estilo preferencial é colocar essa chamada logo abaixo das instruções load()
e de qualquer lógica breve necessária para determinar o argumento.
Se a flag --check_bzl_visibility
for definida como falsa, as violações de visibilidade do carregamento vão emitir avisos, mas não gerarão falha no build.
Parâmetros
Parâmetro | Descrição |
---|---|
value
|
obrigatório Uma lista de strings de especificação do pacote ou uma única string de especificação de pacote. As especificações do pacote seguem o mesmo formato de
A sintaxe "@" não é permitida. Todas as especificações são interpretadas em relação ao repositório do módulo atual. Se As sinalizações |
espaço de trabalho
None workspace(name)
Essa função só pode ser usada em um arquivo WORKSPACE
e precisa ser declarada antes de todas as outras funções no arquivo WORKSPACE
. Cada arquivo WORKSPACE
precisa ter uma função workspace
.
Define o nome deste espaço de trabalho. Os nomes dos espaços de trabalho precisam ser uma descrição no estilo de pacote Java do projeto, usando sublinhados como separadores. Por exemplo, github.com/bazelbuild/bazel deve usar com_github_bazelbuild_bazel.
Esse nome é usado para o diretório em que os arquivos de execução do repositório estão armazenados. Por exemplo, se houver um arquivo de execução foo/bar
no repositório local e o arquivo do ESPAÇO DE TRABALHO contiver workspace(name = 'baz')
, o arquivo de execução estará disponível em mytarget.runfiles/baz/foo/bar
. Se nenhum nome de espaço de trabalho for especificado, o runfile será simbólico para bar.runfiles/foo/bar
.
Os nomes das regras do repositório remoto precisam ser nomes de espaço de trabalho válidos. Por exemplo, é possível usar maven_jar(name = 'foo')
, mas não maven_jar(name = 'foo%bar')
, porque o Bazel tentaria gravar um arquivo de ESPAÇO DE TRABALHO para o maven_jar
que contém workspace(name = 'foo%bar')
.
Parâmetros
Parâmetro | Descrição |
---|---|
name
|
obrigatório o nome do espaço de trabalho. Os nomes precisam começar com uma letra e só podem conter letras, números, sublinhados, traços e pontos. |
zip
list zip(*args)Retorna uma
list
de tuple
s, em que a tupla i-th contém o elemento i-th de cada uma das sequências ou iteráveis de argumentos. A lista tem o tamanho da entrada mais curta. Com um único argumento iterável, ela retorna uma lista de 1 tuplas. Sem argumentos, ela retorna uma lista vazia. Exemplos:zip() # == [] zip([1, 2]) # == [(1,), (2,)] zip([1, 2], [3, 4]) # == [(1, 3), (2, 4)] zip([1, 2], [3, 4, 5]) # == [(1, 3), (2, 4)]
Parâmetros
Parâmetro | Descrição |
---|---|
args
|
listas necessárias para compactar. |