Informações sobre os atributos de uma regra a que um aspecto é aplicado.
Participantes
atribuição
struct rule_attributes.attr
Um struct 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 do struct e os tipos dos valores correspondem às chaves e aos valores do
dict attrs
fornecido à
função rule
(link em inglês).
Confira um exemplo de uso.
Executável
struct rule_attributes.executable
Uma
struct
contendo arquivos executáveis definidos nos
atributos de tipo de rótulo marcados como
executable=True
. Os campos struct correspondem aos nomes dos atributos. Cada valor no struct é um File
ou um
None
. Se um atributo opcional não for especificado na regra, o valor do struct correspondente será
None
. Se um tipo de rótulo não estiver marcado como
executable=True
, nenhum campo struct correspondente será gerado.
Confira um exemplo de uso.
arquivo
struct rule_attributes.file
Uma
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 do struct correspondente será
None
. Se um tipo de rótulo não estiver marcado como
allow_single_file
, nenhum campo struct correspondente será gerado. Ela é um atalho para as seguintes ações:
list(ctx.attr.<ATTR>.files)[0]
Em outras palavras, use
file
para acessar a
saída padrão (singular) de uma dependência.
Confira um exemplo de uso.
arquivos
struct rule_attributes.files
Uma
struct
contendo arquivos definidos nos atributos do tipo
label ou
lista de marcadores. Os campos struct correspondem aos nomes dos atributos. Os valores da estrutura são
list
de
File
s. Ele é 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.
Confira um exemplo de uso.
kind
string rule_attributes.kind
O tipo de regra, como "cc_library"