attrs de rule() e aspect().Consulte a página "Regras" para saber mais sobre como definir e usar atributos.
Membros
- bool
- int
- int_list
- label
- label_keyed_string_dict
- label_list
- output
- output_list
- string
- string_dict
- string_keyed_label_dict
- string_list
- string_list_dict
bool
Attribute attr.bool(default=False, doc=None, mandatory=False)
ctx.attr correspondente será do tipo bool.
          
      Parâmetros
| Parâmetro | Descrição | 
|---|---|
| default | O padrão é FalseUm valor padrão a ser usado se nenhum valor for fornecido para esse atributo ao instanciar a regra. | 
| doc | string ou None;
                                     o padrão éNoneUma descrição do atributo que pode ser extraída por ferramentas de geração de documentação. | 
| mandatory | O padrão é False. Se for "true", o valor precisará ser especificado explicitamente, mesmo que tenha um default. | 
int
Attribute attr.int(default=0, doc=None, mandatory=False, values=[])
ctx.attr correspondente será do tipo int.
          
      Parâmetros
| Parâmetro | Descrição | 
|---|---|
| default | O padrão é 0Um valor padrão a ser usado se nenhum valor for fornecido para esse atributo ao instanciar a regra. | 
| doc | string ou None;
                                     o padrão éNoneUma descrição do atributo que pode ser extraída por ferramentas de geração de documentação. | 
| mandatory | O padrão é False. Se for "true", o valor precisará ser especificado explicitamente, mesmo que tenha um default. | 
| values | sequência de ints; o padrão é []A lista de valores permitidos para o atributo. Um erro será gerado se qualquer outro valor for fornecido. | 
int_list
Attribute attr.int_list(mandatory=False, allow_empty=True, *, default=[], doc=None)
Parâmetros
| Parâmetro | Descrição | 
|---|---|
| mandatory | O padrão é False. Se for "true", o valor precisará ser especificado explicitamente, mesmo que tenha um default. | 
| allow_empty | O padrão é TrueTrue se o atributo puder estar vazio. | 
| default | sequence de ints;
                                     o padrão é []Um valor padrão a ser usado se nenhum valor for fornecido para esse atributo ao instanciar a regra. | 
| doc | string ou None;
                                     o padrão éNoneUma 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=None, executable=False, allow_files=None, allow_single_file=None, mandatory=False, providers=[], allow_rules=None, cfg=None, aspects=[], flags=[])
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 em vez de um Label, ela será convertida usando o construtor de rótulos. As partes relativas do caminho do rótulo, incluindo o repositório (que pode ter sido renomeado), são resolvidas em relação ao pacote do destino instanciado.
No momento da análise (na 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 acessar os provedores das dependências do destino atual.
Além dos arquivos de origem comuns, esse tipo de atributo costuma ser usado para se referir a uma ferramenta, por exemplo, um compilador. Essas ferramentas são consideradas dependências, assim como os arquivos de origem. Para evitar que os usuários especifiquem o rótulo da ferramenta sempre que usarem a regra nos arquivos BUILD, é possível codificar 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 particular a ele um nome que comece com um sublinhado. Consulte a página Regras para mais informações.
          
      
Parâmetros
| Parâmetro | Descrição | 
|---|---|
| default | Label, string, LateBoundDefault, NativeComputedDefault, function ou None. O padrão éNone. Um valor padrão a ser usado se nenhum valor for fornecido para esse atributo ao instanciar a regra. Use uma string ou a função Labelpara especificar um valor padrão, por exemplo,attr.label(default = "//a:b"). | 
| doc | string ou None;
                                     o padrão éNoneUma descrição do atributo que pode ser extraída por ferramentas de geração de documentação. | 
| executable | O padrão é FalseTrue 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, sequência de strings ou None. O padrão éNone. Indica se os destinos Filesão permitidos. Pode serTrue,False(padrão) ou uma lista de extensões de arquivo permitidas (por exemplo,[".cc", ".cpp"]). | 
| allow_single_file | O padrão é NoneIsso é semelhante a allow_files, com a restrição de que o rótulo precisa corresponder a um único Arquivo. Acesse emctx.file.<attribute_name>. | 
| mandatory | O padrão é False. Se for "true", o valor precisará ser especificado explicitamente, mesmo que tenha um default. | 
| providers | O 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 | sequência de strings ou None. O padrão éNone. Quais destinos de regra (nome das classes) são permitidos. Esse recurso está descontinuado (mantido apenas para compatibilidade). Use provedores. | 
| cfg | O padrão é NoneConfiguração do atributo. Pode ser "exec", que indica que a dependência foi criada para oexecution platform, ou"target", que indica que a dependência foi criada para otarget platform. Um exemplo típico da diferença é ao criar apps para dispositivos móveis, em que otarget platforméAndroidouiOS, enquanto oexecution platforméLinux,macOSouWindows. Esse parâmetro é obrigatório seexecutablefor "True" para evitar a criação acidental de ferramentas de host na configuração de destino."target"não tem efeito semântico. Portanto, não o defina quandoexecutablefor "False", a menos que isso realmente ajude a esclarecer suas intenções. | 
| aspects | sequence de Aspects;
                                     o padrão é []Aspectos que devem ser aplicados à dependência ou às dependências especificadas por esse atributo. | 
| flags | sequência de strings; o padrão é []. Descontinuado, será removido. | 
label_keyed_string_dict
Attribute attr.label_keyed_string_dict(allow_empty=True, *, default={}, doc=None, 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, em que 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 em vez de um Label, ela será convertida usando o construtor de rótulos. As partes relativas do caminho do rótulo, incluindo o repositório (que pode ter sido renomeado), são resolvidas em relação ao pacote do destino instanciado.
No momento da análise (na 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 acessar os provedores das dependências do destino atual.
          
      
Parâmetros
| Parâmetro | Descrição | 
|---|---|
| allow_empty | O padrão é TrueTrue se o atributo puder estar vazio. | 
| default | dict ou function. O padrão é {}. Um valor padrão a ser usado se nenhum valor for fornecido para esse atributo ao instanciar a regra. Use strings ou a função Labelpara especificar valores padrão, por exemplo,attr.label_keyed_string_dict(default = {"//a:b": "value", "//a:c": "string"}). | 
| doc | string ou None;
                                     o padrão éNoneUma descrição do atributo que pode ser extraída por ferramentas de geração de documentação. | 
| allow_files | bool, sequência de strings ou None. O padrão éNone. Indica se os destinos Filesão permitidos. Pode serTrue,False(padrão) ou uma lista de extensões de arquivo permitidas (por exemplo,[".cc", ".cpp"]). | 
| allow_rules | sequência de strings ou None. O padrão éNone. Quais destinos de regra (nome das classes) são permitidos. Esse recurso está descontinuado (mantido apenas para compatibilidade). Use provedores. | 
| providers | O 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 | sequência de strings; o padrão é []. Descontinuado, será removido. | 
| mandatory | O padrão é False. Se for "true", o valor precisará ser especificado explicitamente, mesmo que tenha um default. | 
| cfg | O padrão é NoneConfiguração do atributo. Pode ser "exec", que indica que a dependência foi criada para oexecution platform, ou"target", que indica que a dependência foi criada para otarget platform. Um exemplo típico da diferença é ao criar apps para dispositivos móveis, em que otarget platforméAndroidouiOS, enquanto oexecution platforméLinux,macOSouWindows. | 
| aspects | sequence de Aspects;
                                     o padrão é []Aspectos que devem ser aplicados à dependência ou às dependências especificadas por esse atributo. | 
label_list
Attribute attr.label_list(allow_empty=True, *, default=[], doc=None, 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. O atributo ctx.attr correspondente será do tipo lista de Targets.
Esse atributo contém valores Label exclusivos. Se uma string for fornecida em vez de um Label, ela será convertida usando o construtor de rótulos. As partes relativas do caminho do rótulo, incluindo o repositório (que pode ter sido renomeado), são resolvidas em relação ao pacote do destino instanciado.
No momento da análise (na 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 acessar os provedores das dependências do destino atual.
          
      
Parâmetros
| Parâmetro | Descrição | 
|---|---|
| allow_empty | O padrão é TrueTrue se o atributo puder estar vazio. | 
| default | sequência de rótulos ou função;
                                     o padrão é []Um valor padrão a ser usado se nenhum valor for fornecido para esse atributo ao instanciar a regra.Use strings ou a função Labelpara especificar valores padrão, por exemplo,attr.label_list(default = ["//a:b", "//a:c"]). | 
| doc | string ou None;
                                     o padrão éNoneUma descrição do atributo que pode ser extraída por ferramentas de geração de documentação. | 
| allow_files | bool, sequência de strings ou None. O padrão éNone. Indica se os destinos Filesão permitidos. Pode serTrue,False(padrão) ou uma lista de extensões de arquivo permitidas (por exemplo,[".cc", ".cpp"]). | 
| allow_rules | sequência de strings ou None. O padrão éNone. Quais destinos de regra (nome das classes) são permitidos. Esse recurso está descontinuado (mantido apenas para compatibilidade). Use provedores. | 
| providers | O 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 | sequência de strings; o padrão é []. Descontinuado, será removido. | 
| mandatory | O padrão é False. Se for "true", o valor precisará ser especificado explicitamente, mesmo que tenha um default. | 
| cfg | O padrão é NoneConfiguração do atributo. Pode ser "exec", que indica que a dependência foi criada para oexecution platform, ou"target", que indica que a dependência foi criada para otarget platform. Um exemplo típico da diferença é ao criar apps para dispositivos móveis, em que otarget platforméAndroidouiOS, enquanto oexecution platforméLinux,macOSouWindows. | 
| aspects | sequence de Aspects;
                                     o padrão é []Aspectos que devem ser aplicados à dependência ou às dependências especificadas por esse atributo. | 
output
Attribute attr.output(doc=None, 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 em vez de um Label, ela será convertida usando o construtor de rótulos. As partes relativas do caminho do rótulo, incluindo o repositório (que pode ter sido renomeado), são resolvidas em relação ao pacote do destino instanciado.
No momento da análise, o File correspondente pode ser recuperado usando ctx.outputs.
          
      
Parâmetros
| Parâmetro | Descrição | 
|---|---|
| doc | string ou None;
                                     o padrão éNoneUma descrição do atributo que pode ser extraída por ferramentas de geração de documentação. | 
| mandatory | O padrão é False. Se for "true", o valor precisará ser especificado explicitamente, mesmo que tenha um default. | 
output_list
Attribute attr.output_list(allow_empty=True, *, doc=None, mandatory=False)
Esse atributo contém valores Label exclusivos. Se uma string for fornecida em vez de um Label, ela será convertida usando o construtor de rótulos. As partes relativas do caminho do rótulo, incluindo o repositório (que pode ter sido renomeado), são resolvidas em relação ao pacote do destino instanciado.
No momento da análise, o File correspondente pode ser recuperado usando ctx.outputs.
          
      
Parâmetros
| Parâmetro | Descrição | 
|---|---|
| allow_empty | O padrão é TrueTrue se o atributo puder estar vazio. | 
| doc | string ou None;
                                     o padrão éNoneUma descrição do atributo que pode ser extraída por ferramentas de geração de documentação. | 
| mandatory | O padrão é False. Se for "true", o valor precisará ser especificado explicitamente, mesmo que tenha um default. | 
string
Attribute attr.string(default='', doc=None, mandatory=False, values=[])
Parâmetros
| Parâmetro | Descrição | 
|---|---|
| default | string ou NativeComputedDefault;
                                     o padrão é ''Um valor padrão a ser usado se nenhum valor for fornecido para esse atributo ao instanciar a regra. | 
| doc | string ou None;
                                     o padrão éNoneUma descrição do atributo que pode ser extraída por ferramentas de geração de documentação. | 
| mandatory | O padrão é False. Se for "true", o valor precisará ser especificado explicitamente, mesmo que tenha um default. | 
| values | sequência de strings. O padrão é []. A lista de valores permitidos para o atributo. Um erro será gerado se qualquer outro valor for fornecido. | 
string_dict
Attribute attr.string_dict(allow_empty=True, *, default={}, doc=None, mandatory=False)
Parâmetros
| Parâmetro | Descrição | 
|---|---|
| allow_empty | O padrão é TrueTrue se o atributo puder estar vazio. | 
| default | O padrão é {}Um valor padrão a ser usado se nenhum valor for fornecido para esse atributo ao instanciar a regra. | 
| doc | string ou None;
                                     o padrão éNoneUma descrição do atributo que pode ser extraída por ferramentas de geração de documentação. | 
| mandatory | O padrão é False. Se for "true", o valor precisará ser especificado explicitamente, mesmo que tenha um default. | 
string_keyed_label_dict
Attribute attr.string_keyed_label_dict(allow_empty=True, *, default={}, doc=None, allow_files=None, allow_rules=None, providers=[], flags=[], mandatory=False, cfg=None, aspects=[])
Cria um esquema para um atributo cujo valor é um dicionário em que as chaves são strings e os valores são rótulos. Esse é um atributo de dependência.
Esse atributo contém valores Label exclusivos. Se uma string for fornecida em vez de um Label, ela será convertida usando o construtor de rótulos. As partes relativas do caminho do rótulo, incluindo o repositório (que pode ter sido renomeado), são resolvidas em relação ao pacote do destino instanciado.
No momento da análise (na 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 acessar os provedores das dependências do destino atual.
          
      
Parâmetros
| Parâmetro | Descrição | 
|---|---|
| allow_empty | O padrão é TrueTrue se o atributo puder estar vazio. | 
| default | dict ou function. O padrão é {}. Um valor padrão a ser usado se nenhum valor for fornecido para esse atributo ao instanciar a regra. Use strings ou a função Labelpara especificar valores padrão, por exemplo,attr.string_keyed_label_dict(default = {"foo": "//a:b", "bar": "//a:c"}). | 
| doc | string ou None;
                                     o padrão éNoneUma descrição do atributo que pode ser extraída por ferramentas de geração de documentação. | 
| allow_files | bool, sequência de strings ou None. O padrão éNone. Indica se os destinos Filesão permitidos. Pode serTrue,False(padrão) ou uma lista de extensões de arquivo permitidas (por exemplo,[".cc", ".cpp"]). | 
| allow_rules | sequência de strings ou None. O padrão éNone. Quais destinos de regra (nome das classes) são permitidos. Esse recurso está descontinuado (mantido apenas para compatibilidade). Use provedores. | 
| providers | O 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 | sequência de strings; o padrão é []. Descontinuado, será removido. | 
| mandatory | O padrão é False. Se for "true", o valor precisará ser especificado explicitamente, mesmo que tenha um default. | 
| cfg | O padrão é NoneConfiguração do atributo. Pode ser "exec", que indica que a dependência foi criada para oexecution platform, ou"target", que indica que a dependência foi criada para otarget platform. Um exemplo típico da diferença é ao criar apps para dispositivos móveis, em que otarget platforméAndroidouiOS, enquanto oexecution platforméLinux,macOSouWindows. | 
| aspects | sequence de Aspects;
                                     o padrão é []Aspectos que devem ser aplicados à dependência ou às dependências especificadas por esse atributo. | 
string_list
Attribute attr.string_list(mandatory=False, allow_empty=True, *, default=[], doc=None)
Parâmetros
| Parâmetro | Descrição | 
|---|---|
| mandatory | O padrão é False. Se for "true", o valor precisará ser especificado explicitamente, mesmo que tenha um default. | 
| allow_empty | O padrão é TrueTrue se o atributo puder estar vazio. | 
| default | sequência de strings ou NativeComputedDefault;
                                     o padrão é []Um valor padrão a ser usado se nenhum valor for fornecido para esse atributo ao instanciar a regra. | 
| doc | string ou None;
                                     o padrão éNoneUma 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=None, mandatory=False)
Parâmetros
| Parâmetro | Descrição | 
|---|---|
| allow_empty | O padrão é TrueTrue se o atributo puder estar vazio. | 
| default | O padrão é {}Um valor padrão a ser usado se nenhum valor for fornecido para esse atributo ao instanciar a regra. | 
| doc | string ou None;
                                     o padrão éNoneUma descrição do atributo que pode ser extraída por ferramentas de geração de documentação. | 
| mandatory | O padrão é False. Se for "true", o valor precisará ser especificado explicitamente, mesmo que tenha um default. |