Información de plantilla

Denunciar un problema Ver código fuente Nightly · 8.0 7.4 . 7.3 · 7.2 · 7.1 · 7.0 · 6.5

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

Para crear TemplateVariableInfo, llama a su constructor epónimo con un diccionario de cadena a cadena 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 ella. Está inhabilitado con ---incompatible_struct_has_no_methods. Usa esta marca para verificar que tu código sea compatible con su eliminación inminente.
Crea una cadena JSON a partir del parámetro struct. Este método solo funciona si todos los elementos de la struct (de forma recursiva) son cadenas, números enteros, valores booleanos, otras estructuras, una lista de estos tipos o un diccionario con claves y valores de cadenas de estos tipos. Se escapan las comillas y las líneas nuevas en las cadenas. 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 las estructuras y no contaminan el espacio de nombres del campo de la estructura.

to_proto

string TemplateVariableInfo.to_proto()

Obsoleto.. Esta API dejó de estar disponible y se quitará pronto. No dependas de ella. Está inhabilitado con ---incompatible_struct_has_no_methods. Usa esta marca para verificar que tu código sea compatible con su eliminación inminente.
Crea un mensaje de texto a partir del parámetro de struct. Este método solo funciona si todos los elementos de la estructura (de forma recursiva) son cadenas, números enteros, valores booleanos, otras estructuras, diccionarios o listas de estos tipos. Se escapan las comillas y las líneas nuevas en las cadenas. Las claves de la estructura 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 destino como un diccionario con claves y valores de cadenas.