atributos_da_regra

Informar um problema Ver código-fonte

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 Files. É 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"