ModeloDeInformaçõesDeModelo

Informar um problema Mostrar fonte Noite · 7,4 do Google. 7,3 · 7.2 · 7,1 · 7,0 · 6,5

Encapsula variáveis de modelo, ou seja, variáveis que podem ser referenciadas por strings como $(VARIABLE) em arquivos BUILD e expandidas por ctx.expand_make_variables e implicitamente em determinados atributos de regras integradas.

TemplateVariableInfo pode ser criado chamando o construtor de mesmo nome com um dicionário de string para string como um argumento que especifica as variáveis fornecidas.

Exemplo: platform_common.TemplateVariableInfo({'FOO': 'bar'})

Membros

to_json

string TemplateVariableInfo.to_json()

Descontinuado. Esta API foi descontinuada e será removida em breve. Não dependa dele. Ele está desativado com ---incompatible_struct_has_no_methods. Use essa sinalização para verificar se seu código é compatível com a remoção iminente.
Cria uma string JSON usando o parâmetro struct. Esse método só funciona se todos os elementos de struct (recursivamente) forem strings, números inteiros, booleanos, outros structs, uma lista desses tipos ou um dicionário com chaves e valores de string desses tipos. Aspas e novas linhas em strings são escapadas. Exemplos:
struct(key=123).to_json()
# {"key":123}

struct(key=True).to_json()
# {"key":true}

struct(key=[1, 2, 3]).to_json()
# {"key":[1,2,3]}

struct(key='text').to_json()
# {"key":"text"}

struct(key=struct(inner_key='text')).to_json()
# {"key":{"inner_key":"text"}}

struct(key=[struct(inner_key=1), struct(inner_key=2)]).to_json()
# {"key":[{"inner_key":1},{"inner_key":2}]}

struct(key=struct(inner_key=struct(inner_inner_key='text'))).to_json()
# {"key":{"inner_key":{"inner_inner_key":"text"}}}
.

Obsoleto: use json.encode(x) ou json.encode_indent(x), que funcionam para valores diferentes de structs e não poluem o namespace do campo de struct.

to_proto

string TemplateVariableInfo.to_proto()

Descontinuado. Esta API foi descontinuada e será removida em breve. Não dependa dele. Ele está desativado com ---incompatible_struct_has_no_methods. Use essa sinalização para verificar se seu código é compatível com a remoção iminente.
Cria uma mensagem de texto com base no parâmetro de estrutura. Esse método só funciona se todos os elementos struct (recursivamente) forem strings, ints, booleanos, outros structs ou dicts ou listas desses tipos. Aspas e novas linhas em strings são escapadas. As chaves de estrutura são iteradas na ordem classificada. Exemplos:
struct(key=123).to_proto()
# key: 123

struct(key=True).to_proto()
# key: true

struct(key=[1, 2, 3]).to_proto()
# key: 1
# key: 2
# key: 3

struct(key='text').to_proto()
# key: "text"

struct(key=struct(inner_key='text')).to_proto()
# key {
#   inner_key: "text"
# }

struct(key=[struct(inner_key=1), struct(inner_key=2)]).to_proto()
# key {
#   inner_key: 1
# }
# key {
#   inner_key: 2
# }

struct(key=struct(inner_key=struct(inner_inner_key='text'))).to_proto()
# key {
#    inner_key {
#     inner_inner_key: "text"
#   }
# }

struct(foo={4: 3, 2: 1}).to_proto()
# foo: {
#   key: 4
#   value: 3
# }
# foo: {
#   key: 2
#   value: 1
# }

Obsoleto: use proto.encode_text(x).

variables

dict TemplateVariableInfo.variables

Retorna as variáveis do make definidas por este destino como um dicionário com chaves e valores de string