attrs de rule() e aspect().Consulte a página "Regras" para mais informações sobre como definir e usar atributos.
Membros
- bool
- int
- int_list
- label
- label_keyed_string_dict
- label_list
- resultado
- output_list
- string
- string_dict
- string_list
- string_list_dict
bool
Attribute attr.bool(default=False, doc='', mandatory=False)
Parâmetros
| Parâmetro | Descrição |
|---|---|
default
|
padrão = Falso Um valor padrão a ser usado se nenhum valor para esse atributo for fornecido ao instanciar a regra. |
doc
|
padrão = '' Uma descrição do atributo que pode ser extraída por ferramentas de geração de documentação. |
mandatory
|
padrão = Falso Se verdadeiro, o valor precisa ser especificado explicitamente, mesmo que tenha um default.
|
int
Attribute attr.int(default=0, doc='', mandatory=False, values=[])
Parâmetros
| Parâmetro | Descrição |
|---|---|
default
|
padrão = 0 Um valor padrão a ser usado se nenhum valor para esse atributo for fornecido ao instanciar a regra. |
doc
|
padrão = '' Uma descrição do atributo que pode ser extraída por ferramentas de geração de documentação. |
mandatory
|
padrão = Falso Se verdadeiro, o valor precisa ser especificado explicitamente, mesmo que tenha um default.
|
values
|
sequence of ints
padrão = []Lista de valores permitidos para o atributo. Um erro será gerado se outro valor for fornecido. |
int_list
Attribute attr.int_list(mandatory=False, allow_empty=True, *, default=[], doc='')
Parâmetros
| Parâmetro | Descrição |
|---|---|
mandatory
|
padrão = Falso Se verdadeiro, o valor precisa ser especificado explicitamente, mesmo que tenha um default.
|
allow_empty
|
padrão = Verdadeiro Verdadeiro se o atributo puder estar vazio. |
default
|
sequence of ints
padrão = []Um valor padrão a ser usado se nenhum valor para esse atributo for fornecido ao instanciar a regra. |
doc
|
padrão = '' Uma descrição do atributo que pode ser extraída por ferramentas de geração de documentação. |
o rótulo.
Attribute attr.label(default=None, doc='', executable=False, allow_files=None, allow_single_file=None, mandatory=False, providers=[], allow_rules=None, cfg=None, aspects=[])
Cria um esquema para um atributo de rótulo. Esse é um atributo de dependência.
Esse atributo contém valores Label exclusivos. Se uma string for fornecida no lugar de um Label, ela será convertida usando o construtor de rótulos. As partes relativas do caminho do rótulo, incluindo o repositório (possivelmente renomeado), são resolvidas em relação ao pacote de destino instanciado.
No momento da análise (dentro da função de implementação da regra), ao recuperar o valor do atributo de ctx.attr, os rótulos são substituídos pelos Targets correspondentes. Isso permite que você acesse os provedores das dependências do destino atual.
Além dos arquivos de origem comuns, esse tipo de atributo é frequentemente usado para se referir a uma ferramenta, como um compilador. Essas ferramentas são consideradas dependências, assim como os arquivos de origem. Para evitar exigir que os usuários especifiquem o rótulo da ferramenta sempre que usarem a regra nos arquivos BUILD, codifique o rótulo de uma ferramenta canônica como o valor default desse atributo. Se você também quiser impedir que os usuários substituam esse padrão, torne o atributo privado atribuindo um nome que comece com um sublinhado. Consulte a página Regras para mais informações.
Parâmetros
| Parâmetro | Descrição |
|---|---|
default
|
Label; or string; or LateBoundDefault; or NativeComputedDefault; or function; or None
padrão = NenhumUm valor padrão a ser usado se nenhum valor para esse atributo for fornecido ao instanciar a regra.Use uma string ou a função Label para especificar um valor padrão, por exemplo, attr.label(default = "//a:b").
|
doc
|
padrão = '' Uma descrição do atributo que pode ser extraída por ferramentas de geração de documentação. |
executable
|
padrão = Falso Verdadeiro se a dependência precisar ser executável. Isso significa que o rótulo precisa se referir a um arquivo executável ou a uma regra que gere um arquivo executável. Acesse o marcador com ctx.executable.<attribute_name>.
|
allow_files
|
bool; or sequence of strings; or None
padrão = NenhumDefine se as segmentações File são permitidas. Pode ser True, False (padrão) ou uma lista de extensões de arquivo permitidas (por exemplo, [".cc", ".cpp"]).
|
allow_single_file
|
padrão = Nenhum Esse processo é semelhante a allow_files, com a restrição de que o rótulo precisa corresponder a um único Arquivo. Acesse o recurso pelo ctx.file.<attribute_name>.
|
mandatory
|
padrão = Falso Se verdadeiro, o valor precisa ser especificado explicitamente, mesmo que tenha um default.
|
providers
|
padrão = [] Os provedores que precisam ser fornecidos por qualquer dependência que apareça nesse atributo. O formato desse argumento é uma lista de listas de provedores: objetos |
allow_rules
|
sequence of strings; or None
padrão = NenhumQuais segmentações de regras (nomes das classes) são permitidas. Isso foi descontinuado (mantido apenas para compatibilidade). Em vez disso, use provedores. |
cfg
|
padrão = Nenhum Configuração do atributo. Pode ser "exec", que indica que a dependência foi criada para o execution platform, ou "target", que indica que a dependência foi criada para o target platform. Um exemplo típico da diferença é ao criar apps para dispositivos móveis, em que target platform é Android ou iOS, enquanto execution platform é Linux, macOS ou Windows. Esse parâmetro será necessário se executable for verdadeiro para evitar a criação acidental de ferramentas de host na configuração de destino. A "target" não tem efeito semântico. Portanto, não a defina quando executable for falsa, a menos que isso realmente ajude a esclarecer suas intenções.
|
aspects
|
sequence of Aspects
padrão = []Aspectos que precisam ser aplicados à dependência ou às dependências especificadas por esse atributo. |
label_keyed_string_dict
Attribute attr.label_keyed_string_dict(allow_empty=True, *, default={}, doc='', allow_files=None, allow_rules=None, providers=[], flags=[], mandatory=False, cfg=None, aspects=[])
Cria um esquema para um atributo que contém um dicionário, no qual as chaves são rótulos e os valores são strings. Esse é um atributo de dependência.
Esse atributo contém valores Label exclusivos. Se uma string for fornecida no lugar de um Label, ela será convertida usando o construtor de rótulos. As partes relativas do caminho do rótulo, incluindo o repositório (possivelmente renomeado), são resolvidas em relação ao pacote de destino instanciado.
No momento da análise (dentro da função de implementação da regra), ao recuperar o valor do atributo de ctx.attr, os rótulos são substituídos pelos Targets correspondentes. Isso permite que você acesse os provedores das dependências do destino atual.
Parâmetros
| Parâmetro | Descrição |
|---|---|
allow_empty
|
padrão = Verdadeiro Verdadeiro se o atributo puder estar vazio. |
default
|
dict; or function
default = {}Um valor padrão a ser usado se nenhum valor para esse atributo for fornecido ao instanciar a regra.Use strings ou a função Label para especificar valores padrão, por exemplo, attr.label_keyed_string_dict(default = {"//a:b": "value", "//a:c": "string"}).
|
doc
|
padrão = '' Uma descrição do atributo que pode ser extraída por ferramentas de geração de documentação. |
allow_files
|
bool; or sequence of strings; or None
padrão = NenhumDefine se as segmentações File são permitidas. Pode ser True, False (padrão) ou uma lista de extensões de arquivo permitidas (por exemplo, [".cc", ".cpp"]).
|
allow_rules
|
sequence of strings; or None
padrão = NenhumQuais segmentações de regras (nomes das classes) são permitidas. Isso foi descontinuado (mantido apenas para compatibilidade). Em vez disso, use provedores. |
providers
|
padrão = [] Os provedores que precisam ser fornecidos por qualquer dependência que apareça nesse atributo. O formato desse argumento é uma lista de listas de provedores: objetos |
flags
|
sequence of strings
padrão = []Obsoleto e será removido. |
mandatory
|
padrão = Falso Se verdadeiro, o valor precisa ser especificado explicitamente, mesmo que tenha um default.
|
cfg
|
padrão = Nenhum Configuração do atributo. Pode ser "exec", que indica que a dependência foi criada para o execution platform, ou "target", que indica que a dependência foi criada para o target platform. Um exemplo típico da diferença é ao criar apps para dispositivos móveis, em que target platform é Android ou iOS, enquanto execution platform é Linux, macOS ou Windows.
|
aspects
|
sequence of Aspects
padrão = []Aspectos que precisam ser aplicados à dependência ou às dependências especificadas por esse atributo. |
label_list
Attribute attr.label_list(allow_empty=True, *, default=[], doc='', allow_files=None, allow_rules=None, providers=[], flags=[], mandatory=False, cfg=None, aspects=[])
Cria um esquema para um atributo de lista de rótulos. Esse é um atributo de dependência.
Esse atributo contém valores Label exclusivos. Se uma string for fornecida no lugar de um Label, ela será convertida usando o construtor de rótulos. As partes relativas do caminho do rótulo, incluindo o repositório (possivelmente renomeado), são resolvidas em relação ao pacote de destino instanciado.
No momento da análise (dentro da função de implementação da regra), ao recuperar o valor do atributo de ctx.attr, os rótulos são substituídos pelos Targets correspondentes. Isso permite que você acesse os provedores das dependências do destino atual.
Parâmetros
| Parâmetro | Descrição |
|---|---|
allow_empty
|
padrão = Verdadeiro Verdadeiro se o atributo puder estar vazio. |
default
|
sequence of Labels; or function
padrão = []Um valor padrão a ser usado se nenhum valor para esse atributo for fornecido ao instanciar a regra.Use strings ou a função Label para especificar valores padrão, por exemplo, attr.label_list(default = ["//a:b", "//a:c"]).
|
doc
|
padrão = '' Uma descrição do atributo que pode ser extraída por ferramentas de geração de documentação. |
allow_files
|
bool; or sequence of strings; or None
padrão = NenhumDefine se as segmentações File são permitidas. Pode ser True, False (padrão) ou uma lista de extensões de arquivo permitidas (por exemplo, [".cc", ".cpp"]).
|
allow_rules
|
sequence of strings; or None
padrão = NenhumQuais segmentações de regras (nomes das classes) são permitidas. Isso foi descontinuado (mantido apenas para compatibilidade). Em vez disso, use provedores. |
providers
|
padrão = [] Os provedores que precisam ser fornecidos por qualquer dependência que apareça nesse atributo. O formato desse argumento é uma lista de listas de provedores: objetos |
flags
|
sequence of strings
padrão = []Obsoleto e será removido. |
mandatory
|
padrão = Falso Se verdadeiro, o valor precisa ser especificado explicitamente, mesmo que tenha um default.
|
cfg
|
padrão = Nenhum Configuração do atributo. Pode ser "exec", que indica que a dependência foi criada para o execution platform, ou "target", que indica que a dependência foi criada para o target platform. Um exemplo típico da diferença é ao criar apps para dispositivos móveis, em que target platform é Android ou iOS, enquanto execution platform é Linux, macOS ou Windows.
|
aspects
|
sequence of Aspects
padrão = []Aspectos que precisam ser aplicados à dependência ou às dependências especificadas por esse atributo. |
output
Attribute attr.output(doc='', mandatory=False)
Cria um esquema para um atributo de saída (rótulo).
Esse atributo contém valores Label exclusivos. Se uma string for fornecida no lugar de um Label, ela será convertida usando o construtor de rótulos. As partes relativas do caminho do rótulo, incluindo o repositório (possivelmente renomeado), são resolvidas em relação ao pacote de destino instanciado.
No momento da análise, o File correspondente pode ser recuperado usando ctx.outputs.
Parâmetros
| Parâmetro | Descrição |
|---|---|
doc
|
padrão = '' Uma descrição do atributo que pode ser extraída por ferramentas de geração de documentação. |
mandatory
|
padrão = Falso Se verdadeiro, o valor precisa ser especificado explicitamente, mesmo que tenha um default.
|
output_list
Attribute attr.output_list(allow_empty=True, *, doc='', mandatory=False)
Esse atributo contém valores Label exclusivos. Se uma string for fornecida no lugar de um Label, ela será convertida usando o construtor de rótulos. As partes relativas do caminho do rótulo, incluindo o repositório (possivelmente renomeado), são resolvidas em relação ao pacote de destino instanciado.
No momento da análise, o File correspondente pode ser recuperado usando ctx.outputs.
Parâmetros
| Parâmetro | Descrição |
|---|---|
allow_empty
|
padrão = Verdadeiro Verdadeiro se o atributo puder estar vazio. |
doc
|
padrão = '' Uma descrição do atributo que pode ser extraída por ferramentas de geração de documentação. |
mandatory
|
padrão = Falso Se verdadeiro, o valor precisa ser especificado explicitamente, mesmo que tenha um default.
|
string
Attribute attr.string(default='', doc='', mandatory=False, values=[])
Parâmetros
| Parâmetro | Descrição |
|---|---|
default
|
string; or NativeComputedDefault
padrão = ''Um valor padrão a ser usado se nenhum valor para esse atributo for fornecido ao instanciar a regra. |
doc
|
padrão = '' Uma descrição do atributo que pode ser extraída por ferramentas de geração de documentação. |
mandatory
|
padrão = Falso Se verdadeiro, o valor precisa ser especificado explicitamente, mesmo que tenha um default.
|
values
|
sequence of strings
padrão = []Lista de valores permitidos para o atributo. Um erro será gerado se outro valor for fornecido. |
string_dict
Attribute attr.string_dict(allow_empty=True, *, default={}, doc='', mandatory=False)
Parâmetros
| Parâmetro | Descrição |
|---|---|
allow_empty
|
padrão = Verdadeiro Verdadeiro se o atributo puder estar vazio. |
default
|
default = {} Um valor padrão a ser usado se nenhum valor para esse atributo for fornecido ao instanciar a regra. |
doc
|
padrão = '' Uma descrição do atributo que pode ser extraída por ferramentas de geração de documentação. |
mandatory
|
padrão = Falso Se verdadeiro, o valor precisa ser especificado explicitamente, mesmo que tenha um default.
|
string_list
Attribute attr.string_list(mandatory=False, allow_empty=True, *, default=[], doc='')
Parâmetros
| Parâmetro | Descrição |
|---|---|
mandatory
|
padrão = Falso Se verdadeiro, o valor precisa ser especificado explicitamente, mesmo que tenha um default.
|
allow_empty
|
padrão = Verdadeiro Verdadeiro se o atributo puder estar vazio. |
default
|
sequence of strings; or NativeComputedDefault
padrão = []Um valor padrão a ser usado se nenhum valor para esse atributo for fornecido ao instanciar a regra. |
doc
|
padrão = '' Uma descrição do atributo que pode ser extraída por ferramentas de geração de documentação. |
string_list_dict
Attribute attr.string_list_dict(allow_empty=True, *, default={}, doc='', mandatory=False)
Parâmetros
| Parâmetro | Descrição |
|---|---|
allow_empty
|
padrão = Verdadeiro Verdadeiro se o atributo puder estar vazio. |
default
|
default = {} Um valor padrão a ser usado se nenhum valor para esse atributo for fornecido ao instanciar a regra. |
doc
|
padrão = '' Uma descrição do atributo que pode ser extraída por ferramentas de geração de documentação. |
mandatory
|
padrão = Falso Se verdadeiro, o valor precisa ser especificado explicitamente, mesmo que tenha um default.
|