Informações padrão

Informar um problema Acessar fonte

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 conferir guias 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 ou None; o padrão é None
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.
runfiles runfiles ou None. O padrão é o descritor de arquivos de execução None
que descreve os arquivos que esse destino precisa quando executado (por meio do comando run ou como uma dependência de ferramenta).
data_runfiles runfiles ou None (o padrão é None
)

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

descritor de runfiles que descreve os arquivos de execução que este destino precisa executar quando é uma dependência pelo atributo data.
default_runfiles runfiles ou None (o padrão é None
)

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

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

data_runfiles

runfiles DefaultInfo.data_runfiles

descritor de runfiles 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. Para saber mais detalhes, consulte Recursos do runfiles a serem evitados. Poderá haver retorno em None.

default_runfiles

runfiles DefaultInfo.default_runfiles

descritor de runfiles que descreve os arquivos que este destino precisa para executar (por meio do comando run ou como uma dependência de ferramenta). Poderá haver retorno em None.

arquivos

depset DefaultInfo.files

Um depset de objetos File que representam 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. Poderá haver retorno em None.

files_to_run

FilesToRunProvider DefaultInfo.files_to_run

Um objeto FilesToRunProvider que contém informações sobre os arquivos executáveis e de execução do destino. Poderá haver retorno em None.

to_json

string DefaultInfo.to_json()

Obsoleto. Esta API foi descontinuada e vai ser removida em breve. Não dependa disso. Ela está desativada com o ---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 a partir do parâmetro struct. Esse método só funciona se todos os elementos de struct (recursivamente) forem strings, ints, booleanos, outras estruturas, uma lista desses tipos ou um dicionário com chaves de string e valores desses tipos. Aspas e novas linhas em strings têm escape. Por exemplo:
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 vai ser removida em breve. Não dependa disso. Ela está desativada com o ---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 a partir 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. Aspas e 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).