Thông tin Proto

Cung cấp thông tin do proto_library cung cấp.

Vui lòng cân nhắc sử dụng `load("@rules_proto//proto:defs.bzl", "ProtoInfo")` để tải biểu tượng này từ rules_proto.

Hội viên

check_deps_sources

depset ProtoInfo.check_deps_sources

Các nguồn Proto từ thuộc tính "srcs". Nếu thư viện là một thư viện proxy không có nguồn, thì thư viện đó sẽ chứa check_deps_sources từ các phần phụ thuộc trực tiếp của thư viện này.

direct_descriptor_set

File ProtoInfo.direct_descriptor_set

FileDescriptorSet của nguồn trực tiếp. Nếu không có srcs, hãy chứa một tệp trống.

direct_sources

list ProtoInfo.direct_sources

Các nguồn Proto từ thuộc tính "srcs".

proto_source_root

string ProtoInfo.proto_source_root

Thư mục tương ứng với các tệp .proto được xác định trong proto_library. Ví dụ: nếu quy tắc này là "a/b" và quy tắc có tệp "a/b/c/d.proto" dưới dạng tệp nguồn, thì tệp nguồn đó sẽ được nhập dưới dạng "import c/d.proto"

to_json

string ProtoInfo.to_json()

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

to_proto

string ProtoInfo.to_proto()

Không dùng nữa. API này không được dùng nữa và sẽ sớm bị xoá. Vui lòng không phụ thuộc vào công cụ này. Tính năng này bị tắt bằng ---incompatible_struct_has_no_methods. Sử dụng cờ này để xác minh rằng mã của bạn tương thích với việc mã sắp bị xoá.
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 (theo quy tắc đệ quy) là chuỗi, số nguyên, boolean, các cấu trúc hay lệnh chính tả khác hoặc danh sách thuộc những loại này. Dấu ngoặc kép và các 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 đó, hãy dùng proto.encode_text(x).

transitive_descriptor_sets

depset ProtoInfo.transitive_descriptor_sets

Một tập hợp các tệp FileDescriptorSet gồm tất cả các quy tắc proto_library phụ thuộc và quy tắc này. Điều này không giống như truyền --include_imports cho trình biên dịch proto-compiler. Sẽ trống nếu không có phần phụ thuộc.

transitive_imports

depset ProtoInfo.transitive_imports

Tính năng nhập bắc cầu bao gồm cả các phần phụ thuộc yếu.

transitive_proto_path

depset ProtoInfo.transitive_proto_path

Một tập hợp gốc nguồn proto được thu thập từ trạng thái đóng bắc cầu của quy tắc này.

transitive_sources

depset ProtoInfo.transitive_sources

Các nguồn Proto cho quy tắc này và tất cả các quy tắc vùng đệm giao thức phụ thuộc của quy tắc đó.