ProtoInfo

Mengenkapsulasi informasi yang disediakan oleh proto_library.

Pertimbangkan untuk menggunakan `load("@rules_proto//proto:defs.bzl", "ProtoInfo")` untuk memuat simbol ini dari rules_proto.

Anggota

check_deps_sources

depset ProtoInfo.check_deps_sources

Sumber proto dari atribut 'srcs'. Jika library adalah library proxy yang tidak memiliki sumber, library ini akan berisi check_deps_sources dari dependensi langsung library ini.

direct_descriptor_set

File ProtoInfo.direct_descriptor_set

FileDescriptorSet dari sumber langsung. Jika tidak ada srcs, berarti file kosong.

direct_sources

list ProtoInfo.direct_sources

Sumber proto dari atribut 'srcs'.

proto_source_root

string ProtoInfo.proto_source_root

Direktori yang terkait dengan penentuan file .proto dalam proto_library. Misalnya, jika ini adalah 'a/b' dan aturan memiliki file 'a/b/c/d.proto' sebagai sumber, file sumber itu akan diimpor sebagai 'import c/d.proto'

to_json

string ProtoInfo.to_json()

Tidak digunakan lagi. API ini tidak digunakan lagi dan akan segera dihapus. Jangan bergantung pada hal itu. Fungsi ini dinonaktifkan dengan ---incompatible_struct_has_no_methods. Gunakan tanda ini untuk memverifikasi bahwa kode Anda kompatibel dengan penghapusan yang akan segera dilakukan.
Membuat string JSON dari parameter struct. Metode ini hanya berfungsi jika semua elemen struct (secara rekursif) berupa string, int, boolean, struct lainnya, daftar jenis ini atau kamus dengan kunci string dan nilai jenis ini. Kutipan dan baris baru dalam string akan di-escape. Contoh:
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"}}}
.

Tidak digunakan lagi: sebagai gantinya, gunakan json.encode(x) atau json.encode_indent(x), yang berfungsi untuk nilai selain struct dan tidak mencemari namespace kolom struct.

to_proto

string ProtoInfo.to_proto()

Tidak digunakan lagi. API ini tidak digunakan lagi dan akan segera dihapus. Jangan bergantung pada hal itu. Fungsi ini dinonaktifkan dengan ---incompatible_struct_has_no_methods. Gunakan tanda ini untuk memverifikasi bahwa kode Anda kompatibel dengan penghapusan yang akan segera dilakukan.
Membuat pesan teks dari parameter struct. Metode ini hanya berfungsi jika semua elemen struct (secara rekursif) berupa string, int, boolean, struct atau dikte lain, atau daftar berjenis ini. Kutipan dan baris baru dalam string akan di-escape. Kunci struct diiterasi dalam urutan yang diurutkan. Contoh:
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
# }

Tidak digunakan lagi: gunakan proto.encode_text(x) sebagai gantinya.

transitive_descriptor_sets

depset ProtoInfo.transitive_descriptor_sets

Kumpulan file FileDescriptorSet dari semua aturan proto_library dependen, dan aturan ini. Hal ini tidak sama dengan meneruskan --include_imports ke proto-compiler. Akan kosong jika tidak ada dependensi.

transitive_imports

depset ProtoInfo.transitive_imports

Impor transitif termasuk dependensi yang lemah.

transitive_proto_path

depset ProtoInfo.transitive_proto_path

Sekumpulan root sumber proto yang dikumpulkan dari penutupan transitif aturan ini.

transitive_sources

depset ProtoInfo.transitive_sources

Sumber proto untuk aturan ini dan semua aturan buffering protokol dependennya.