Información de plantilla

Informar un problema Ver fuente

Encapsula variables de plantilla, es decir, variables a las que se puede hacer referencia con strings como $(VARIABLE) en archivos BUILD y que se pueden expandir mediante ctx.expand_make_variables y de forma implícita en ciertos atributos de reglas integradas.

Para crear TemplateVariableInfo, llama a su constructor del mismo nombre con un diccionario de string a string como argumento que especifique las variables proporcionadas.

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

Miembros

to_json

string TemplateVariableInfo.to_json()

Obsoleto.. Esta API dejó de estar disponible y se quitará pronto. No dependas de ello. Está inhabilitada con ---incompatible_struct_has_no_methods. Usa esta marca para verificar que tu código sea compatible con la eliminación inminente.
Crea una string JSON a partir del parámetro struct. Este método solo funciona si todos los elementos de la estructura (de forma recurrente) son strings, ints, booleanos, otras estructuras, una lista de estos tipos o un diccionario con claves de string y valores de estos tipos. Las comillas y las líneas nuevas en las strings tienen formato de escape. Ejemplos:
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: En su lugar, usa json.encode(x) o json.encode_indent(x), que funcionan para valores distintos de structs y no contaminan el espacio de nombres del campo struct.

to_proto

string TemplateVariableInfo.to_proto()

Obsoleto.. Esta API dejó de estar disponible y se quitará pronto. No dependas de ello. Está inhabilitada con ---incompatible_struct_has_no_methods. Usa esta marca para verificar que tu código sea compatible con la eliminación inminente.
Crea un mensaje de texto a partir del parámetro struct. Este método solo funciona si todos los elementos de la estructura (de forma recurrente) son strings, ints, booleanos, otras estructuras, diccionarios o listas de estos tipos. Las comillas y las líneas nuevas en las strings tienen formato de escape. Las claves de struct se iteran en el orden ordenado. Ejemplos:
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: usa proto.encode_text(x) en su lugar.

variables

dict TemplateVariableInfo.variables

Muestra las variables de Make definidas por este objetivo como un diccionario con claves de string y valores de string