Información predeterminada

Es un proveedor que brinda información general sobre los archivos directos y transitivos de un destino. Todos los tipos de reglas tienen este proveedor, incluso si la función de implementación de la regla no lo devuelve de forma explícita. Cada instancia de DefaultInfo tiene los siguientes campos:
  • files
  • files_to_run
  • data_runfiles
  • default_runfiles
Consulta la página de reglas para obtener guías detalladas sobre cómo usar este proveedor.

Miembros

DefaultInfo

DefaultInfo DefaultInfo(files=None, runfiles=None, data_runfiles=None, default_runfiles=None, executable=None)

Es el constructor de DefaultInfo.

Parámetros

Parámetro Descripción
files depset o None; el valor predeterminado es None
Un depset de objetos File que representan los resultados predeterminados que se deben compilar cuando se especifica este destino en la línea de comandos de Bazel. De forma predeterminada, se incluyen todos los resultados predeclarados.
runfiles runfiles o None; El valor predeterminado es None
Descriptor de runfiles que describe los archivos que necesita este destino cuando se ejecuta (a través del comando run o como una dependencia de la herramienta).
data_runfiles runfiles o None; el valor predeterminado es None

Se recomienda que evites usar este parámetro (consulta "Funciones de runfiles que debes evitar")

Descriptor de archivos ejecutables que describe los archivos ejecutables que este destino necesita para ejecutarse cuando es una dependencia a través del atributo data.
default_runfiles runfiles o None; el valor predeterminado es None

Se recomienda que evites usar este parámetro (consulta "Funciones de runfiles que debes evitar")

Descriptor de archivos ejecutables que describe los archivos ejecutables que necesita este destino para ejecutarse cuando es una dependencia a través de cualquier atributo que no sea el atributo data.
executable Archivo o None; el valor predeterminado es None
Si esta regla está marcada como executable o test, se trata de un objeto File que representa el archivo que se debe ejecutar para ejecutar el destino. De forma predeterminada, es la salida predeclarada ctx.outputs.executable.

data_runfiles

runfiles DefaultInfo.data_runfiles

Descriptor de runfiles que describe los archivos que este destino necesita cuando se ejecuta en la condición de que es un atributo de dependencia data. En la mayoría de los casos, usa el parámetro default_runfiles. Consulta "runfiles features to avoid" para obtener más detalles. Puede devolver None.

default_runfiles

runfiles DefaultInfo.default_runfiles

Descriptor de runfiles que describe los archivos que este destino necesita cuando se ejecuta (a través del comando run o como una dependencia de herramienta). Puede devolver None.

archivos

depset DefaultInfo.files

Un depset de objetos File que representan los resultados predeterminados que se deben compilar cuando se especifica este destino en la línea de comandos de Bazel. De forma predeterminada, se incluyen todos los resultados predeclarados. Puede devolver None.

files_to_run

FilesToRunProvider DefaultInfo.files_to_run

Es un objeto FilesToRunProvider que contiene información sobre los archivos ejecutables y los archivos de ejecución del destino. Puede devolver None.

to_json

string DefaultInfo.to_json()

(Obsoleto). Esta API dejó de estar disponible y se quitará pronto. No dependas de ella. Se inhabilita con ---incompatible_struct_has_no_methods. Usa esta marca para verificar que tu código sea compatible con esta eliminación inminente.
Crea una cadena JSON a partir del parámetro struct. Este método solo funciona si todos los elementos del struct (de forma recursiva) son cadenas, números enteros, booleanos, otros structs, una lista de estos tipos o un diccionario con claves y valores de cadena de estos tipos. Las comillas y las líneas nuevas de las cadenas se marcan con cadenas 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 que no son structs y no contaminan el espacio de nombres del campo struct.

to_proto

string DefaultInfo.to_proto()

(Obsoleto). Esta API dejó de estar disponible y se quitará pronto. No dependas de ella. Se inhabilita con ---incompatible_struct_has_no_methods. Usa esta marca para verificar que tu código sea compatible con esta eliminación inminente.
Crea un mensaje de texto a partir del parámetro struct. Este método solo funciona si todos los elementos de struct (de forma recursiva) son cadenas, números enteros, booleanos, otros structs o diccionarios, o bien listas de estos tipos. Las comillas y las líneas nuevas de las cadenas se marcan con cadenas de escape. Las claves de struct se iteran siguiendo el orden de clasificación. 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.