Para conferir a documentação da versão estável, use o menu suspenso "Documentos com controle de versão". A visualização padrão reflete a versão mais recente em HEAD.
Informar um problemaopen_in_new
Ver código-fonteopen_in_new
Informações sobre os atributos de uma regra a que um aspecto é aplicado.
Participantes
attr
struct rule_attributes.attr
Uma estrutura para acessar os valores dos
atributos. Os valores são fornecidos pelo usuário (se não forem, um valor padrão será usado). Os atributos da estrutura e os tipos de seus valores correspondem às chaves e aos valores do
dict attrs
fornecido para a
função rule
.
Veja um exemplo de uso.
Executável
struct rule_attributes.executable
Um
struct
contendo arquivos executáveis definidos em
atributos de tipo de rótulo marcados como
executable=True
. Os campos struct correspondem aos nomes dos atributos. Cada valor na estrutura é um
File
ou
None
. Se um atributo opcional não for especificado na regra, o valor da estrutura correspondente será
None
. Se um tipo de rótulo não estiver marcado como
executable=True
, nenhum campo de estrutura correspondente será gerado.
Veja um exemplo de uso.
arquivo
struct rule_attributes.file
Um
struct
contendo arquivos definidos nos
atributos de tipo de rótulo marcados como
allow_single_file
. Os campos struct correspondem aos nomes dos atributos. O valor da estrutura é sempre
File
ou
None
. Se um atributo opcional não for especificado na regra, o valor da estrutura correspondente será
None
. Se um tipo de rótulo não estiver marcado como
allow_single_file
, nenhum campo de estrutura correspondente será gerado. É um atalho para:
list(ctx.attr.<ATTR>.files)[0]
Em outras palavras, usar
file
para acessar a
saída padrão (singular) de uma dependência.
Veja um exemplo de uso.
arquivos
struct rule_attributes.files
Um
struct
contendo arquivos definidos nos atributos do tipo
label ou
label list. Os campos struct correspondem aos nomes dos atributos. Os valores da estrutura são
list
de
File
s. É um atalho para:
[f for t in ctx.attr.<ATTR> for f in t.files]
Em outras palavras, usar
files
para acessar as
saídas padrão de uma dependência.
Veja um exemplo de uso.
kind
string rule_attributes.kind
O tipo de uma regra, como "cc_library"