Thông tin về chuỗi công cụ

Nhà cung cấp được quy tắc chuỗi công cụ trả về để chia sẻ dữ liệu với các quy tắc phụ thuộc vào chuỗi công cụ. Hãy đọc bài viết về chuỗi công cụ để biết thêm thông tin.

Hội viên

to_json

string ToolchainInfo.to_json()

Không dùng nữa. API này không còn được dùng nữa và sẽ sớm bị xoá. Vui lòng không phụ thuộc vào nó. Tính năng này sẽ bị tắt bằng ---incompatible_struct_has_no_methods. Hãy sử dụng cờ này để xác minh rằng mã của bạn tương thích với việc xoá mã sắp xảy ra.
Tạo một chuỗi JSON qua tham số cấu trúc. Phương thức này chỉ hoạt động nếu tất cả các phần tử cấu trúc (đệ quy) là chuỗi, ints, boolean, các cấu trúc khác, danh sách các loại này hoặc từ điển có các khóa chuỗi và giá trị thuộc những loại này. Các dấu ngoặc kép và dòng mới trong chuỗi sẽ được thoát. Ví dụ:
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"}}}
.

Không dùng nữa: thay vào đó, hãy sử dụng json.encode(x) hoặc json.encode_indent(x). Các giá trị này dùng được cho các giá trị khác với cấu trúc và không làm ô nhiễm không gian tên trường cấu trúc.

to_proto

string ToolchainInfo.to_proto()

Không dùng nữa. API này không còn được dùng nữa và sẽ sớm bị xoá. Vui lòng không phụ thuộc vào nó. Tính năng này sẽ bị tắt bằng ---incompatible_struct_has_no_methods. Hãy sử dụng cờ này để xác minh rằng mã của bạn tương thích với việc xoá mã sắp xảy ra.
Tạo một tin nhắn văn bản từ tham số cấu trúc. Phương thức này chỉ hoạt động nếu tất cả các phần tử cấu trúc (đệ quy) là chuỗi, int, boolean, các cấu trúc, ký tự chính tả hoặc danh sách thuộc các loại này. Các dấu ngoặc kép và dòng mới trong chuỗi sẽ được thoát. Các khoá cấu trúc được lặp lại theo thứ tự được sắp xếp. Ví dụ:
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
# }

Không dùng nữa: thay vào đó dùng proto.encode_text(x).