Thông tin Proto

Đóng gói 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

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

direct_descriptor_set

File ProtoInfo.direct_descriptor_set

FileDescriptorSet của các nguồn trực tiếp. Nếu không có giá trị src, dịch vụ sẽ chứa một tệp trống.

direct_sources

list ProtoInfo.direct_sources

Nguồn proto từ "srcs" .

proto_source_root

string ProtoInfo.proto_source_root

Thư mục tương ứng với các tệp .proto đã xác định trong proto_library được xác định. Ví dụ: nếu đây là 'a/b' và quy tắc có tệp 'a/b/c/d.proto' làm nguồn, tệp nguồn đó sẽ được nhập dưới dạng "nhập 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 đừng phụ thuộc vào tính năng này. Tính năng này đã bị tắt với ---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 yêu cầu sắp xoá.
Tạo một chuỗi JSON từ tham số cấu trúc. Phương thức này chỉ hiệu quả nếu tất cả các phần tử cấu trúc (theo đệ quy) là chuỗi, số nguyên, boolean, 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. Các dấu ngoặc kép và các dòng mới trong chuỗi là ký tự 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). Tệp này phù hợp với các giá trị không phải cấu trúc và không gây ô 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 đừng phụ thuộc vào tính năng này. Tính năng này đã bị tắt với ---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 yêu cầu sắp 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) là chuỗi, int, boolean, các cấu trúc khác, lệnh 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à các dòng mới trong chuỗi là ký tự thoát. 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 sử 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 của tất cả các quy tắc proto_library phụ thuộc và quy tắc này là. Điều này không giống với việc truyền --include_imports đến proto-compiler. Sẽ trống nếu không có phần phụ thuộc.

transitive_imports

depset ProtoInfo.transitive_imports

Nhập chuyển tiếp bao gồm cả các phần phụ thuộc yếu.

transitive_proto_path

depset ProtoInfo.transitive_proto_path

Tập hợp các gốc nguồn proto được thu thập từ mạch đó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 đó.