Extensions >
API reference >
ToolchainInfo
Provider which allows rule-specific toolchains to communicate data back to the actual rule implementation. Read more about
toolchains for more information.
to_json
string ToolchainInfo.to_json()
Creates a JSON string from the struct parameter. This method only works if all struct elements (recursively) are strings, ints, booleans, other structs, a list of these types or a dictionary with string keys and values of these types. Quotes and new lines in strings are escaped. Examples:
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"}}}
to_proto
string ToolchainInfo.to_proto()
Creates a text message from the struct parameter. This method only works if all struct elements (recursively) are strings, ints, booleans, other structs or dicts or lists of these types. Quotes and new lines in strings are escaped. Struct keys are iterated in the sorted order. Examples:
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
# }