Hội viên
- JavaInfo
- annotation_processing
- api_generating_plugins
- compilation_info
- compile_jars
- full_compile_jars
- java_outputs
- module_flags_info
- đầu ra
- trình bổ trợ
- runtime_output_jars
- source_jars
- to_json
- to_proto
- transitive_compile_time_jars
- transitive_deps
- transitive_native_libraries
- transitive_runtime_deps
- transitive_runtime_jars
- transitive_source_jars
JavaInfo
JavaInfo JavaInfo(output_jar, compile_jar, source_jar=None, compile_jdeps=None, generated_class_jar=None, generated_source_jar=None, native_headers_jar=None, manifest_proto=None, neverlink=False, deps=[], runtime_deps=[], exports=[], exported_plugins=[], jdeps=None, native_libraries=[])
JavaInfo
.
Tham số
Thông số | Mô tả |
---|---|
output_jar
|
bắt buộc Tệp jar được tạo do quá trình biên dịch (ví dụ: javac, scalac, v.v.). |
compile_jar
|
File; or None ;
bắt buộcMột tệp jar được thêm vào dưới dạng phần phụ thuộc thời gian biên dịch thay vì output_jar . Thông thường, đây là tệp ijar do run_ijar tạo. Nếu bạn không thể sử dụng ijar, hãy cân nhắc sử dụng dữ liệu đầu ra của stamp_ijar . Nếu không muốn sử dụng một trong hai phương thức này, bạn chỉ cần truyền output_jar . Có một vài trường hợp đặc biệt mà bạn có thể đặt tham số này thành None , chẳng hạn như thêm một cái lọ có tài nguyên hoặc khi dùng trong một quy tắc đầu cuối như java_binary .
|
source_jar
|
File; or None ;
mặc định = Không cóTệp nguồn được dùng để tạo tệp đầu ra. Sử dụng pack_sources để tạo tệp jar nguồn này.
|
compile_jdeps
|
File; or None ;
mặc định = Không cóthông tin jdeps về các phần phụ thuộc thời gian biên dịch sẽ được JavaCompileAction sử dụng. Đây phải là một proto nhị phân được mã hoá bằng protobuf deps.proto đi kèm với Bazel. Nếu có, tệp này thường do trình biên dịch tiêu đề tạo ra. |
generated_class_jar
|
File; or None ;
mặc định = Không cóTệp jar chứa các tệp lớp được biên dịch từ các nguồn được tạo trong quá trình xử lý chú giải. |
generated_source_jar
|
File; or None ;
mặc định = Không cóTệp nguồn được tạo nhờ quá trình xử lý chú giải. |
native_headers_jar
|
File; or None ;
mặc định = Không cóMột tệp chứa các tệp tiêu đề CC hỗ trợ triển khai phương thức gốc (thường là đầu ra của javac -h). |
manifest_proto
|
File; or None ;
mặc định = Không cóThông tin tệp kê khai cho đầu ra quy tắc (nếu có). Đây phải là một proto nhị phân được mã hoá bằng manifest.proto protobuf đi kèm với Bazel. IDE và các công cụ khác có thể dùng thông tin này để xử lý hiệu quả hơn. |
neverlink
|
mặc định = Sai Nếu true, chỉ sử dụng thư viện này để biên dịch chứ không dùng trong thời gian chạy. |
deps
|
sequence of JavaInfos ;
mặc định = []Các phần phụ thuộc thời gian biên dịch dùng để tạo jar đầu ra. |
runtime_deps
|
sequence of JavaInfos ;
mặc định = []Các phần phụ thuộc trong thời gian chạy cần thiết cho thư viện này. |
exports
|
sequence of JavaInfos ;
mặc định = []Các thư viện mà người dùng thư viện này có thể sử dụng. Hãy xem thêm java_library.exports. |
exported_plugins
|
sequence of JavaPluginInfos ;
mặc định = []Danh sách trình bổ trợ đã xuất. Không bắt buộc. |
jdeps
|
File; or None ;
mặc định = Không cóthông tin jdeps cho đầu ra quy tắc (nếu có). Đây phải là một proto nhị phân được mã hoá bằng protobuf deps.proto đi kèm với Bazel. Nếu có, tệp này thường do một trình biên dịch tạo ra. IDE và các công cụ khác có thể dùng thông tin này để xử lý hiệu quả hơn. |
native_libraries
|
sequence of CcInfos ;
mặc định = []Các phần phụ thuộc của thư viện gốc CC cần thiết cho thư viện này. |
annotation_processing
java_annotation_processing JavaInfo.annotation_processing
Không dùng nữa: Vui lòng sử dụng plugins
(trả về thông tin về trình xử lý chú giải sẽ được áp dụng bằng cách sử dụng đích).
Có thể trả về None
.
api_generating_plugins
JavaPluginData JavaInfo.api_generating_plugins
Các trình xử lý chú giải đó được áp dụng cho một mục tiêu Java trước khi tạo các jar tiêu đề (chứa chữ ký phương thức). Khi không có trình bổ trợ API, các tệp tiêu đề sẽ được tạo từ các nguồn này, giúp giảm bớt đường dẫn quan trọng.
api_generating_plugins
là tập con của plugins
.
compilation_info
java_compilation_info JavaInfo.compilation_info
None
.
compile_jars
depset JavaInfo.compile_jars
full_compile_jars
depset JavaInfo.full_compile_jars
- các Jars (jar) thông thường tương ứng của giao diện do
JavaInfo.compile_jars
trả về - Hũ thông thường (đầy đủ) do
JavaInfo.compile_jars
trả về
Lưu ý: JavaInfo.compile_jars
có thể trả về kết hợp các Hũ giao diện và các Hũ thông thường.
Chỉ sử dụng phương pháp này nếu các Jar giao diện không hoạt động với(các) bộ quy tắc của bạn (ví dụ: một số mục tiêu Scala). Nếu đang làm việc với các mục tiêu chỉ dành cho Java, bạn nên sử dụng các Jar giao diện thông qua JavaInfo.compile_jars
java_outputs
list JavaInfo.java_outputs
module_flags_info
JavaModuleFlagsProvider JavaInfo.module_flags_info
dữ liệu đầu ra
java_output_jars JavaInfo.outputs
None
.
trình bổ trợ
JavaPluginData JavaInfo.plugins
Đây thường 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ợ của trường này đều xuất hiện trong các thuộc tính deps
và plugins
.
runtime_output_jars
sequence JavaInfo.runtime_output_jars
source_jars
sequence JavaInfo.source_jars
to_json
string JavaInfo.to_json()
---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 JavaInfo.to_proto()
---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_compile_time_jars
depset JavaInfo.transitive_compile_time_jars
transitive_deps
depset JavaInfo.transitive_deps
JavaInfo.transitive_compile_time_jars
. Hàm này sẽ trả về cùng một giá trị.
transitive_native_libraries
depset JavaInfo.transitive_native_libraries
transitive_runtime_deps
depset JavaInfo.transitive_runtime_deps
JavaInfo.transitive_runtime_jars
. Hàm này trả về cùng một giá trị
transitive_runtime_jars
depset JavaInfo.transitive_runtime_jars
transitive_source_jars
depset JavaInfo.transitive_source_jars