BazelCon 2022 findet vom 16. bis 17. November in New York und online statt.
Jetzt anmelden

Standardinfo

Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Ein Anbieter, der allgemeine Informationen zu den direkten und umgestellten Dateien eines Ziels liefert Jeder Regeltyp hat diesen Anbieter, auch wenn er nicht explizit von der Implementierungsfunktion der Regel zurückgegeben wird. Jede DefaultInfo-Instanz hat die folgenden Felder:
  • files
  • files_to_run
  • data_runfiles
  • default_runfiles
Auf der Seite Regeln finden Sie eine ausführliche Anleitung zur Verwendung dieses Anbieters.

Mitglieder

Standardinformationen

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

Der DefaultInfo-Konstruktor.

Parameter

Parameter Beschreibung
files depset; or None; default = None
Ein depset von File-Objekten, die die Standardausgaben darstellen, die erstellt werden, wenn geben Sie dieses Ziel in der Blaze-Befehlszeile an. Standardmäßig sind dies alle deklarierten Ausgaben.
runfiles runfiles; or None; default = None
Ausführungsdeskriptor, der die Dateien beschreibt, die bei der Ausführung des Ziels benötigt werden (über den Befehl run oder als Toolabhängigkeit).
data_runfiles runfiles; or None; default = None

Es wird empfohlen, diesen Parameter nicht zu verwenden. Weitere Informationen finden Sie im Hilfeartikel "Runfiles-Elemente vermeiden".

Runfiles-Beschreibung, der die Ausführungsdateien beschreibt, die dieses Ziel ausführen muss, wenn es eine Abhängigkeit über das Attribut data ist.
default_runfiles runfiles; or None; default = None

Es wird empfohlen, diesen Parameter nicht zu verwenden. Weitere Informationen finden Sie im Hilfeartikel "runfiles-Funktionen vermeiden".

Runfiles-Deskriptor, der die Ausführungsdateien beschreibt, die dieses Ziel ausführen muss, wenn es sich um ein Abhängigkeitenes von einem anderen Attribut als dem Attribut data handelt.
executable File; or None; default = None
Wenn diese Regel als executable oder test gekennzeichnet ist, handelt es sich um ein File-Objekt, das die Datei darstellt, die zur Ausführung des Ziels ausgeführt werden soll. Standardmäßig ist dies die deklarierte Ausgabe ctx.outputs.executable.

Datendateien

runfiles DefaultInfo.data_runfiles

Runfiles-Descriptor, der die Dateien angibt, die dieses Ziel beim Ausführen in der Bedingung benötigt, dass es sich um ein data-Abhängigkeitsattribut handelt. In den meisten Fällen verwenden Sie stattdessen den Parameter default_runfiles. Weitere Informationen finden Sie unter Zu vermeidende Runfiles-Funktionen. Kann None zurückgeben.

Standarddatei

runfiles DefaultInfo.default_runfiles

Runfiles-Beschreibung, der die Dateien angibt, die dieses Ziel beim Ausführen des Ziels benötigt (über den Befehl run oder als Toolabhängigkeit). Kann None zurückgeben.

files

depset DefaultInfo.files

Ein depset-Objekt von File-Objekten, die die Standardausgaben darstellen, die erstellt werden, wenn dieses Ziel in der Blame-Befehlszeile angegeben ist Standardmäßig sind dies alle deklarierten Ausgaben. Kann None zurückgeben.

Zu_laufende Dateien

FilesToRunProvider DefaultInfo.files_to_run

Ein FilesToRunProvider-Objekt, das Informationen über die ausführbare Datei und die Ausführungsdateien des Ziels enthält. Kann None zurückgeben.

to_json

string DefaultInfo.to_json()

Verworfen. Diese API ist veraltet und wird bald entfernt. Verlassen Sie sich nicht darauf. Sie ist mit ---incompatible_struct_has_no_methods deaktiviert. Verwenden Sie dieses Flag, um zu überprüfen, ob Ihr Code mit dem unmittelbaren Entfernen kompatibel ist.
Erstellt einen JSON-String aus dem Parameter „struct“. Diese Methode funktioniert nur, wenn alle Strukturelemente (rekursiv) Strings, Ganzzahlen, boolesche Werte, andere Strukturen, eine Liste dieser Typen oder ein Wörterbuch mit Stringschlüsseln und Werten dieser Typen sind. Anführungszeichen und neue Zeilen in Strings werden maskiert. Beispiele:
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"}}}
.

Verworfen: Verwenden Sie stattdessen json.encode(x) oder json.encode_merge(x). Diese funktionieren für Werte, die nicht für Strukturen gelten, und stören nicht den Namespace des Strukturfelds.

To_Proto

string DefaultInfo.to_proto()

Verworfen. Diese API ist veraltet und wird bald entfernt. Verlassen Sie sich nicht darauf. Sie ist mit ---incompatible_struct_has_no_methods deaktiviert. Verwenden Sie dieses Flag, um zu überprüfen, ob Ihr Code mit dem unmittelbaren Entfernen kompatibel ist.
Erstellt eine SMS aus dem Parameter „struct“. Diese Methode funktioniert nur, wenn alle Strukturelemente (rekursiv) Strings, Ganzzahlen, boolescher Werte, andere Strukturen oder Diktierungen oder Listen dieser Typen sind. Anführungszeichen und neue Zeilen in Strings werden maskiert. Struct-Schlüssel werden in der sortierten Reihenfolge wiederholt. Beispiele:
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
# }

Eingestellt: Verwenden Sie stattdessen proto.encode_text(x).