Informações padrão

Um provedor que fornece informações gerais sobre os arquivos diretos e transitivos de um destino. Todo tipo de regra tem esse provedor, mesmo que ele não seja retornado explicitamente pela função de implementação da regra. Cada instância de DefaultInfo tem os seguintes campos:
  • files
  • files_to_run
  • data_runfiles
  • default_runfiles
Consulte a página Regras para guias completos sobre como usar esse provedor.

Participantes

DefaultInfo

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

O construtor DefaultInfo.

Parâmetros

Parâmetro Descrição
files depset; or None; default = None
Um depset de objetos File que representa as saídas padrão a serem criadas quando esse destino for especificado na linha de comando do Bazel. Por padrão, todas as saídas são pré-declaradas.
runfiles runfiles; or None; default = None
descritor de runfiles que descreve os arquivos necessários para a execução desse destino (por meio do comando run ou como uma dependência de ferramenta).
data_runfiles runfiles; or None; padrão = None

É recomendável evitar o uso desse parâmetro. Consulte Recursos do runfiles a serem evitados.

descritor de arquivos de execução que descreve os arquivos de execução que esse destino precisa executar quando é uma dependência pelo atributo data.
default_runfiles runfiles; or None; padrão = None

É recomendável evitar o uso desse parâmetro. Consulte Recursos do runfiles a serem evitados.

descritor de arquivos de execução que descreve os arquivos de execução que esse destino precisa executar quando é uma dependência por qualquer atributo diferente do atributo data.
executable File; or None; default = None
Se essa regra estiver marcada como executable ou test, o objeto File vai representar o arquivo a ser executado para executar o destino. Por padrão, é a saída pré-declarada ctx.outputs.executable.

data_runfiles

runfiles DefaultInfo.data_runfiles

descritor de arquivos de execução que descreve os arquivos necessários para esse destino quando executado na condição de ser um atributo de dependência data. Na maioria das circunstâncias, use o parâmetro default_runfiles. Consulte Recursos do runfiles a serem evitados para mais detalhes. Poderá voltar em None.

default_runfiles

runfiles DefaultInfo.default_runfiles

descritor de arquivos de execução que descreve os arquivos de que o destino precisa quando executado (por meio do comando run ou como uma dependência de ferramenta). Poderá voltar em None.

arquivos

depset DefaultInfo.files

Um depset de objetos File que representam as saídas padrão a serem criadas quando esse destino é especificado na linha de comando do Bazel. Por padrão, todas as saídas são pré-declaradas. Poderá voltar em None.

files_to_run

FilesToRunProvider DefaultInfo.files_to_run

Um objeto FilesToRunProvider com informações sobre os arquivos executáveis e de execução do destino. Poderá voltar em None.

to_json

string DefaultInfo.to_json()

Obsoleto. Esta API foi descontinuada e será removida em breve. Não dependa disso. Ela está desativada com ---incompatible_struct_has_no_methods. Use essa sinalização para verificar se o código é compatível com a remoção iminente.
Cria uma string JSON a partir do parâmetro struct. Esse método só funciona se todos os elementos de struct (recursivamente) forem strings, ints, booleanos, outros structs, uma lista desses tipos ou um dicionário com chaves de string e valores desses tipos. As aspas e as novas linhas em strings têm escape. 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: em vez disso, use json.encode(x) ou json.encode_indent(x), que funcionam para valores diferentes de structs e não poluem o namespace do campo struct.

to_proto

string DefaultInfo.to_proto()

Obsoleto. Esta API foi descontinuada e será removida em breve. Não dependa disso. Ela está desativada com ---incompatible_struct_has_no_methods. Use essa sinalização para verificar se o código é compatível com a remoção iminente.
Cria uma mensagem de texto do parâmetro struct. Esse método só funciona se todos os elementos struct (recursivamente) forem strings, ints, booleanos, outras estruturas, dicts ou listas desses tipos. As aspas e as novas linhas em strings têm escape. As chaves struct são iteradas na ordem de classificação. 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).