Hiện tại, loại trình bổ trợ duy nhất được hỗ trợ là trình xử lý chú giải.
Hội viên
JavaPluginInfo
JavaPluginInfo JavaPluginInfo(runtime_deps, *, processor_class, data=[], generates_api=False)Hàm khởi tạo
JavaPluginInfo
.
Thông số
Thông số | Nội dung mô tả |
---|---|
runtime_deps
|
sequence of JavaInfos ;
bắt buộcThư viện chứa trình xử lý chú giải. |
processor_class
|
string; or None ;
bắt buộcTên lớp đủ điều kiện mà trình biên dịch Java sử dụng làm điểm truy cập đến trình xử lý chú giải. |
data
|
sequence of Files; or depset of Files ;
mặc định = []Các tệp mà trình xử lý chú giải này cần trong quá trình thực thi. |
generates_api
|
default = False Đặt thành true khi trình xử lý chú giải này tạo mã API. Trình xử lý chú giải như vậy được áp dụng cho đích Java trước khi tạo các tệp tiêu đề (có chứa chữ ký phương thức). Khi không có trình bổ trợ API nào, các tệp tiêu đề sẽ được tạo từ các nguồn, giúp giảm đường dẫn quan trọng. CẢNH BÁO: Tham số này ảnh hưởng đến hiệu suất của bản dựng, bạn chỉ nên sử dụng tham số này nếu cần. |
api_generating_plugins
JavaPluginData JavaPluginInfo.api_generating_pluginsTrả về dữ liệu về việc API tạo trình bổ trợ do mục tiêu này xác định hoặc xuất.
Các trình xử lý chú giải này được áp dụng cho đích Java trước khi tạo các jars tiêu đề (chứa chữ ký phương thức). Khi không có trình bổ trợ API nào, các tệp tiêu đề sẽ được tạo từ các nguồn, giúp giảm đường dẫn quan trọng.
api_generating_plugins
là một tập con của plugins
.
java_outputs
list JavaPluginInfo.java_outputsTrả về thông tin về đầu ra của mục tiêu giống Java/Java này.
trình bổ trợ
JavaPluginData JavaPluginInfo.pluginsTrả về dữ liệu về tất cả trình bổ trợ mà một đích tiêu thụ sẽ áp dụng.
Thường thì đây là chính java_plugin
hoặc java_library
xuất một hoặc nhiều trình bổ trợ.
java_library
chạy quá trình xử lý chú giải trong đó tất cả trình bổ trợ trong trường này xuất hiện trong các thuộc tính deps
và plugins
.
to_json
string JavaPluginInfo.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 JavaPluginInfo.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).