Métodos globais disponíveis em todos os arquivos .bzl.
Membros
- analysis_test_transition
- aspect
- configuration_field
- depset (link em inglês)
- exec_group
- exec_transition
- module_extension
- provedor
- repository_rule
- regra
- selecionar
- subrule
- tag_class
- visibilidade
analysis_test_transition
transition analysis_test_transition(settings)
Cria uma transição de configuração a 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 limitados (por exemplo, o tamanho da árvore de dependências é limitado). Portanto, as transições criadas usando essa função têm um escopo potencial limitado em comparação com as transições criadas usando transition()
.
Essa função foi projetada principalmente para facilitar a biblioteca principal do Analysis Test Framework. Consulte a documentação (ou a implementação) para conferir as práticas recomendadas.
Parâmetros
Parâmetro | Descrição |
---|---|
settings
|
dict;
obrigatório Um dicionário com informações sobre as configurações que precisam ser definidas por essa transição. As chaves são rótulos de configurações de build e os valores são os novos valores pós-transição. Todas as outras configurações permanecem inalteradas. Use-o para declarar definições de configuração específicas que um teste de análise exige para ser aprovado. |
aspecto
Aspect aspect(implementation, attr_aspects=[], toolchains_aspects=[], attrs={}, required_providers=[], required_aspect_providers=[], provides=[], requires=[], fragments=[], host_fragments=[], toolchains=[], incompatible_use_toolchain_transition=False, doc=None, *, apply_to_generating_rules=False, exec_compatible_with=[], exec_groups=None, subrules=[])
Parâmetros
Parâmetro | Descrição |
---|---|
implementation
|
function;
required 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 em que o destino é 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
|
sequência de strings.
O padrão é [] Lista de nomes de atributos. O aspecto se propaga com as dependências especificadas nos atributos de um destino com esses nomes. Os valores comuns incluem deps e exports . A lista também pode conter uma única string "*" para propagar todas as dependências de um destino.
|
toolchains_aspects
|
sequência:
o padrão é [] Lista de tipos de toolchain. O aspecto é propagado para os conjuntos de ferramentas de destino que correspondem a esses tipos. |
attrs
|
dict;
o padrão é {} Um dicionário que declara todos os atributos do aspecto. Ele mapeia 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 . Os atributos implícitos que começam com Os atributos explícitos precisam ser do tipo Os atributos declarados vão converter |
required_providers
|
sequência:
o padrão é [] . Esse atributo permite que o aspecto limite a propagação apenas para os destinos cujas regras anunciam os provedores obrigatórios. O valor precisa ser uma lista que contenha provedores individuais ou listas de provedores, mas não ambos. Por exemplo, [[FooInfo], [BarInfo], [BazInfo, QuxInfo]] é um valor válido, enquanto [FooInfo, BarInfo, [BazInfo, QuxInfo]] não é.Uma lista de provedores não aninhada é convertida automaticamente em uma lista que contém uma lista de provedores. Ou seja, Para tornar algumas regras (por exemplo, |
required_aspect_providers
|
sequência;
o padrão é [] Esse atributo permite que esse aspecto inspecione outros aspectos. O valor precisa ser uma lista que contenha provedores individuais ou listas de provedores, mas não ambos. Por exemplo, [[FooInfo], [BarInfo], [BazInfo, QuxInfo]] é um valor válido, enquanto [FooInfo, BarInfo, [BazInfo, QuxInfo]] não é.Uma lista de provedores não aninhados será automaticamente convertida em uma lista com uma lista de provedores. Ou seja, Para tornar outro aspecto (por exemplo, |
provides
|
Sequência;
o padrão é [] Uma lista de provedores que a função de implementação precisa retornar. É um erro se a função de implementação omitir qualquer um dos tipos de provedores listados aqui do valor de retorno. No entanto, a função de implementação pode retornar outros provedores não listados aqui. Cada elemento da lista é um objeto |
requires
|
Sequência de aspectos:
o padrão é [] Lista de aspectos que precisam ser propagados antes desse aspecto. |
fragments
|
Sequência de strings.
O padrão é [] . Lista de nomes de fragmentos de configuração que o aspecto exige na configuração de destino. |
host_fragments
|
Sequência de strings.
O padrão é [] . Lista de nomes de fragmentos de configuração que o aspecto exige na configuração do host. |
toolchains
|
sequência;
o padrão é [] . Se definido, o conjunto de conjuntos de ferramentas exigido por esse aspecto. A lista pode conter objetos String, Label ou StarlarkToolchainTypeApi, em qualquer combinação. As cadeias de ferramentas serão encontradas verificando a plataforma atual e fornecidas à implementação do aspecto por meio de ctx.toolchain .
|
incompatible_use_toolchain_transition
|
bool;
o padrão é False Descontinuado, não está mais em uso e precisa ser removido. |
doc
|
string ou None ;
o padrão é None Uma descrição do aspecto que pode ser extraído por ferramentas de geração de documentação. |
apply_to_generating_rules
|
bool;
o padrão é False Se for verdadeiro, o aspecto será, quando aplicado a um arquivo de saída, aplicado à regra de geração desse arquivo. Por exemplo, suponha que um aspecto se propague transitivamente pelo atributo "deps" e seja 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 destino "charlie" como um dos "deps". Se "apply_to_generating_rules=True" para o aspecto, ele vai se propagar por "alpha", "beta" e "charlie". Se for falso, o aspecto vai se propagar apenas para "alpha". O padrão é "falso". |
exec_compatible_with
|
Sequência de strings.
O padrão é [] . Uma lista de restrições na plataforma de execução que se aplicam a todas as instâncias desse aspecto. |
exec_groups
|
dict ou None ;
o padrão é None Dict do nome do grupo de execução (string) para exec_group s. Se definido, permite que os aspectos executem ações em várias plataformas de execução em uma única instância. Consulte a documentação sobre grupos de execução para mais informações.
|
subrules
|
sequência de Sub-regras. O padrão é [] Experimental: lista de subregras usadas por este aspecto. |
configuration_field
LateBoundDefault configuration_field(fragment, name)
Exemplo de uso:
Definição de um atributo de regra:
'_foo': attr.label(default=configuration_field(fragment='java', name='toolchain'))
Acesso na implementação de regras:
def _rule_impl(ctx): foo_info = ctx.attr._foo ...
Parâmetros
Parâmetro | Descrição |
---|---|
fragment
|
string;
obrigatório O nome de um fragmento de configuração que contém o valor limite tardio. |
name
|
string;
obrigatório O nome do valor a ser extraído do fragmento de configuração. |
Depset
depset depset(direct=None, order="default", *, transitive=None)
direct
é uma lista de elementos diretos do depset, 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 dispositivo é convertido em uma lista é especificada pelo parâmetro order
. Consulte a Visão geral dos conjuntos de dependências para mais informações.
Todos os elementos (diretos e indiretos) de um depset precisam ser do mesmo tipo, conforme obtido pela expressão type(x)
.
Como um conjunto baseado em hash é usado para eliminar duplicatas durante a iteração, todos os elementos de um depset precisam ser passíveis de hash. No entanto, esse invariante não é verificado de forma consistente em todos os construtores. Use a flag --incompatible_always_check_depset_elements para ativar a verificação consistente. Esse será o comportamento padrão em versões futuras. Consulte Issue 10313.
Além disso, os elementos precisam ser imutáveis, embora essa restrição seja relaxada no futuro.
A ordem do depset criado precisa ser compatível com a ordem dos depsets transitive
. O pedido "default"
é compatível com qualquer outro pedido, e todos os outros pedidos são compatíveis apenas com eles mesmos.
Parâmetros
Parâmetro | Descrição |
---|---|
direct
|
sequência ou None ;
o padrão é None Uma lista de elementos diretos de um depset. |
order
|
string;
O padrão é "default" A estratégia de travessia para o novo depset. Consulte aqui os valores possíveis. |
transitive
|
sequência de depsets ou None ;
o padrão é None Uma lista de depsets cujos elementos se tornarão elementos indiretos do depset. |
exec_group
exec_group exec_group(toolchains=[], exec_compatible_with=[])
Parâmetros
Parâmetro | Descrição |
---|---|
toolchains
|
sequência;
o padrão é [] O conjunto de toolchains necessário para esse grupo de execução. A lista pode conter objetos String, Label ou StarlarkToolchainTypeApi, em qualquer combinação. |
exec_compatible_with
|
Sequência de strings;
o padrão é [] Uma lista de restrições na plataforma de execução. |
exec_transition
transition exec_transition(implementation, inputs, outputs)
transition()
usada para definir a transição de execução. Consulte a documentação (ou implementação) dele para conhecer as práticas recomendadas. Só pode ser usado dos builtins do Bazel.
Parâmetros
Parâmetro | Descrição |
---|---|
implementation
|
chamável;
obrigatório |
inputs
|
sequência de strings;
obrigatório |
outputs
|
sequência de strings;
obrigatório |
module_extension
unknown module_extension(implementation, *, tag_classes={}, doc=None, environ=[], os_dependent=False, arch_dependent=False)
use_extension
.
Parâmetros
Parâmetro | Descrição |
---|---|
implementation
|
callable;
required A função que implementa essa extensão de módulo. Precisa 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
|
dict;
o padrão é {} Um dicionário para declarar todas as classes de tags usadas pela extensão. Ela é mapeada do nome da classe de tag para um objeto tag_class .
|
doc
|
string ou None ;
o padrão é None Uma descrição da extensão do módulo que pode ser extraída por ferramentas de geração de documentação. |
environ
|
Sequência de strings.
O padrão é [] Fornece uma lista de variáveis de ambiente das quais a extensão do módulo depende. Se uma variável de ambiente dessa lista mudar, a extensão será reavaliada. |
os_dependent
|
bool;
O padrão é False Indica se a extensão depende do SO ou não |
arch_dependent
|
bool;
o padrão é False Indica se essa extensão depende da arquitetura ou não |
provider
unknown provider(doc=None, *, fields=None, init=None)
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 conferir um guia completo sobre como usar provedores.
Retorna um valor Provider
que pode ser chamado se init
não for especificado.
Se init
for especificado, ele vai retornar uma tupla de dois elementos: um valor acionável Provider
e um valor acionável construtor bruto. Consulte Regras (Inicialização personalizada de provedores personalizados) e a discussão sobre o parâmetro init
abaixo para ver mais detalhes.
Parâmetros
Parâmetro | Descrição |
---|---|
doc
|
string ou None ;
O padrão é None Uma descrição do provedor que pode ser extraída por ferramentas de geração de documentação. |
fields
|
Sequência de strings ou dicionário ou None .
O padrão é None . Se especificado, restringe o conjunto de campos permitidos. Os valores possíveis são:
|
init
|
chamável; ou None ;
o padrão é None .Um 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 do provedor normal e um construtor bruto.A seguir, há uma descrição precisa. Consulte Regras (inicialização personalizada de provedores) para ter uma discussão intuitiva e casos de uso. Deixe
init não é fornecido, uma chamada para o próprio símbolo P age 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) m seja uma instância MyInfo com m.foo == 1 .No entanto, 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 = ...) |
repository_rule
callable repository_rule(implementation, *, attrs=None, local=False, environ=[], configure=False, remotable=False, doc=None)
module_extension()
ou usado por use_repo_rule()
.
Parâmetros
Parâmetro | Descrição |
---|---|
implementation
|
callable;
required a função que implementa essa regra. Precisa ter um único parâmetro, repository_ctx . A função é chamada durante a fase de carregamento para cada instância da regra.
|
attrs
|
dict; ou None ;
o padrão é None .Um dicionário para declarar todos os atributos da regra de repositório. Ele mapeia 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 de um rótulo a um arquivo. Uma regra de repositório não pode depender de um artefato gerado. O atributo name é adicionado implicitamente e não precisa ser especificado.
Os atributos declarados vão converter |
local
|
bool;
o padrão é False Indica que essa regra busca tudo do sistema local e precisa ser reavaliada em cada busca. |
environ
|
Sequência de strings.
O padrão é [] . Descontinuado. Este parâmetro foi suspenso. Migre para repository_ctx.getenv .Fornece uma lista de variáveis de ambiente das quais esta regra de repositório depende. Se uma variável de ambiente nessa lista mudar, o repositório será buscado novamente. |
configure
|
bool;
o padrão é False Indica que o repositório inspeciona o sistema para fins de configuração |
remotable
|
bool;
o padrão é False Experimental. Esse parâmetro é experimental e pode ser alterado a qualquer momento. Não dependa disso. Para ativar esse recurso experimental, defina --experimental_repo_remote_exec Compatível com a execução remota |
doc
|
string; ou None ;
o padrão é None .Uma descrição da regra de repositório que pode ser extraída por ferramentas que geram documentação. |
regra
callable rule(implementation, *, test=unbound, attrs={}, outputs=None, executable=unbound, output_to_genfiles=False, fragments=[], host_fragments=[], _skylark_testable=False, toolchains=[], incompatible_use_toolchain_transition=False, doc=None, provides=[], dependency_resolution_rule=False, exec_compatible_with=[], analysis_test=False, build_setting=None, cfg=None, exec_groups=None, initializer=None, parent=None, extendable=None, subrules=[])
As regras precisam ser atribuídas a 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 que termine em _test
, enquanto todas as outras regras não podem ter esse sufixo. Essa restrição se aplica apenas às regras, não aos alvos delas.
Parâmetros
Parâmetro | Descrição |
---|---|
implementation
|
function;
required 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. Ele pode acessar os atributos fornecidos pelo usuário. Ele precisa criar ações para gerar todas as saídas declaradas. |
test
|
bool;
O padrão é unbound Indica se essa 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. Não é necessário (e não recomendado) definir explicitamente executable = True para uma regra de teste. O padrão é False . Consulte a página Regras para mais informações.
|
attrs
|
dict:
o padrão é {} . Um dicionário para declarar todos os atributos da regra. Ele mapeia um nome de atributo para um objeto de atributo (consulte o módulo attr ). Os atributos que começam com _ são privados e podem ser usados para adicionar uma dependência implícita a um rótulo. O atributo name é adicionado implicitamente e não precisa 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 precisa apenas de alguns atributos. Para limitar o uso de memória, há um limite no número de atributos que podem ser declarados.
Os atributos declarados vão converter |
outputs
|
dict, None ou function. O padrão é None Descontinuado. Este parâmetro foi descontinuado e será removido em breve. Não dependa disso. Ele está desativado com --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 forma semelhante aos atributos de dependência computados: os nomes de parâmetro da função são comparados com os atributos da regra. Por exemplo, se você transmitir Cada entrada no dicionário cria uma saída predeclarada 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 posição de substituição mais comum é |
executable
|
bool;
o padrão é unbound Indica se essa regra é considerada executável, ou seja, se ela pode ser o assunto de um comando blaze run . O padrão é False . Consulte a página Regras para mais informações.
|
output_to_genfiles
|
bool;
o padrão é False Se verdadeiro, os arquivos serão gerados no diretório genfiles em vez do diretório bin. Não defina essa flag, a menos que você precise dela para compatibilidade com regras atuais (por exemplo, ao gerar arquivos de cabeçalho para C++). |
fragments
|
Sequência de strings.
O padrão é [] . Lista de nomes de fragmentos de configuração que a regra exige na configuração de destino. |
host_fragments
|
Sequência de strings.
O padrão é [] . Lista de nomes de fragmentos de configuração necessários para a regra na configuração do host. |
_skylark_testable
|
bool;
o padrão é False (Experimental) Se verdadeiro, essa regra vai expor as ações para inspeção por regras que dependem dela por um provedor Actions . O provedor também está disponível para a regra chamando ctx.created_actions().Ele só deve ser usado para testar o comportamento no momento da análise das regras do Starlark. Essa flag pode ser removida no futuro. |
toolchains
|
Sequência;
o padrão é [] 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. As cadeias de ferramentas serão encontradas verificando a plataforma atual e fornecidas à implementação da regra por meio de ctx.toolchain .
|
incompatible_use_toolchain_transition
|
bool;
o padrão é False Descontinuado, não está mais em uso e precisa ser removido. |
doc
|
string ou None .
O padrão é None . Uma descrição da regra que pode ser extraída por ferramentas de geração de documentação. |
provides
|
sequence:
o padrão é [] . Uma lista de provedores que a função de implementação precisa retornar. É um erro se a função de implementação omitir qualquer um dos tipos de provedores listados aqui do valor de retorno. No entanto, a função de implementação pode retornar outros provedores não listados aqui. Cada elemento da lista é um objeto |
dependency_resolution_rule
|
bool;
o padrão é False . Se definido, a regra pode ser uma dependência por atributos também marcados como disponíveis nos materializadores. Todos os atributos de regras com essa flag definida também precisam ser marcados como disponíveis nos materializadores. Isso serve para que as regras marcadas não dependam de regras não marcadas. |
exec_compatible_with
|
sequência de strings. O padrão é [] Uma lista de restrições na plataforma de execução que se aplicam a todos os destinos desse tipo de regra. |
analysis_test
|
bool;
o padrão é 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 bibliotecas principais do Starlark. Consulte Testes para ver orientações. Se uma regra for definida como uma regra de teste de análise, ela poderá usar as transições de configuração definidas com analysis_test_transition nos atributos, mas com algumas restrições:
|
build_setting
|
BuildSetting ou None .
O padrão é None . Se definido, descreve o tipo de build setting desta regra. Consulte o módulo config . Se esse valor 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
|
O padrão é 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 ou None ;
o padrão é None Dict 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 sobre grupos de execução para mais informações.
|
initializer
|
o padrão é None Experimental: a função Stalark inicializando os atributos da regra. A função é chamada no momento do carregamento para cada instância da regra. Ele é chamado com Ele precisa retornar um dicionário dos nomes dos atributos para os valores desejados. Os atributos que não são retornados não são afetados. Retornar Os inicializadores são avaliados antes dos valores padrão especificados em uma definição de atributo. Consequentemente, se um parâmetro na assinatura do inicializador contiver valores padrão, ele vai substituir o padrão da definição do atributo, exceto se retornar Da mesma forma, se um parâmetro na assinatura do inicializador não tiver um padrão, ele se tornará obrigatório. Nesses casos, é recomendável omitir as configurações padrão/obrigatórias em uma definição de atributo. É uma prática recomendada usar No caso de regras estendidas, todos os inicializadores são chamados de filhos para ancestrais. Cada inicializador recebe apenas os atributos públicos que ele conhece. |
parent
|
O padrão é None Experimental: a regra Stalark que é estendida. Ao serem definidos, os atributos públicos são mesclados com os provedores anunciados. A regra corresponde a executable e test da mãe. Os valores de fragments , toolchains , exec_compatible_with e exec_groups são mesclados. Parâmetros legados ou descontinuados podem não ser definidos. A transição de configuração cfg do pai é aplicada após a configuração de entrada desta regra.
|
extendable
|
bool; ou Label; ou string; ou None ;
O padrão é None Experimental: um rótulo de uma lista de permissões que define quais regras podem estender essa regra. Ela também pode ser definida como verdadeira/falsa para permitir/proibir sempre a extensão. O Bazel sempre permite extensões. |
subrules
|
Sequência de subregras;
o padrão é [] Experimental: lista de subregras usadas por esta 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 builds para mais detalhes.
Parâmetros
Parâmetro | Descrição |
---|---|
x
|
dict;
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 de config_setting ou constraints_value. Consulte a documentação sobre macros para saber quando usar um rótulo em vez de uma string. |
no_match_error
|
string;
o padrão é '' Erro personalizado opcional a ser informado se nenhuma condição corresponder. |
subregra
Subrule subrule(implementation, attrs={}, toolchains=[], fragments=[], subrules=[])
Parâmetros
Parâmetro | Descrição |
---|---|
implementation
|
function;
required A função Starlark que implementa essa subregrinha |
attrs
|
dict:
o padrão é {} Um dicionário para declarar todos os atributos (privados) da subregra. As subregras só podem ter atributos particulares do tipo rótulo (ou seja, rótulo ou lista de rótulos). Os valores resolvidos correspondentes a esses rótulos são transmitidos automaticamente pelo Bazel para a função de implementação da subregrinha como argumentos nomeados. Portanto, a função de implementação é necessária para aceitar parâmetros nomeados que correspondem aos nomes dos atributos. Estes são os tipos desses valores:
|
toolchains
|
sequência:
o padrão é [] . Se definido, o conjunto de toolchains necessário para essa subregra. A lista pode conter objetos String, Label ou StarlarkToolchainTypeApi, em qualquer combinação. As cadeias de ferramentas serão encontradas verificando a plataforma atual e fornecidas à implementação da subregra por meio de ctx.toolchains . As AEGs precisam ser ativadas nas regras de consumo se esse parâmetro estiver definido. Caso você ainda não tenha migrado para os AEGs, consulte https://bazel.build/extending/auto-exec-groups#migration-aegs.
|
fragments
|
sequência de strings. O padrão é [] Lista de nomes dos fragmentos de configuração que a sub-regra exige na configuração de destino. |
subrules
|
Sequência de subregras:
o padrão é [] Lista de outras subregras necessárias para essa subregrinha. |
tag_class
tag_class tag_class(attrs={}, *, doc=None)
Parâmetros
Parâmetro | Descrição |
---|---|
attrs
|
dict; o padrão é {} . 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). Ao contrário de |
doc
|
string ou None ;
o padrão é None Uma descrição da classe de tags que pode ser extraída por ferramentas de geração de documentação. |
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 ou não. Isso é diferente da visibilidade do destino do arquivo de origem .bzl subjacente, que determina se o arquivo pode aparecer como uma dependência de outros destinos. A visibilidade de carregamento funciona no nível dos pacotes: para carregar um módulo, o arquivo que faz o carregamento precisa estar em um pacote que tenha recebido visibilidade para o módulo. Um módulo sempre pode ser carregado no próprio pacote, independentemente da visibilidade.
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 preferido é 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
estiver definida como falsa, as violações de visibilidade de carregamento vão emitir avisos, mas não vão falhar no build.
Parâmetros
Parâmetro | Descrição |
---|---|
value
|
required Uma lista de strings de especificação de pacote ou uma única string de especificação de pacote. As especificações de 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 flags |