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=[])Hàm khởi tạo
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_processingTrả về thông tin về trình xử lý chú giải áp dụng trên mục tiêu giống Java/Java này.
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_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 đó đượ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_infoTrả về thông tin biên dịch cho mục tiêu giống Java/Java này. Có thể trả về
None
.
compile_jars
depset JavaInfo.compile_jarsTrực tiếp trả về các Jars (jar) mà mục tiêu này yêu cầu vào thời gian biên dịch. Chúng có thể là jar giao diện (ijar hoặc hjar), jar thông thường hoặc cả hai, tuỳ thuộc vào việc triển khai quy tắc có chọn tạo jar giao diện hay không.
full_compile_jars
depset JavaInfo.full_compile_jarsTrực tiếp trả về các Jars thông thường, đầy đủ thời gian biên dịch mà mục tiêu này yêu cầu. Chúng có thể là
- 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_outputsTrả về thông tin về kết quả của mục tiêu giống Java/Java này.
module_flags_info
JavaModuleFlagsProvider JavaInfo.module_flags_infoTrả về cấu hình cờ mô-đun Java.
dữ liệu đầu ra
java_output_jars JavaInfo.outputsTrả về thông tin về kết quả của mục tiêu giống Java/Java này. Không dùng nữa: sử dụng java_outputs. Có thể trả về
None
.
trình bổ trợ
JavaPluginData JavaInfo.pluginsTrả về dữ liệu về tất cả trình bổ trợ mà một mục tiêu tiêu thụ nên áp dụng.
Đâ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_jarsTrả về danh sách các Jars thời gian chạy được tạo bởi mục tiêu giống Java/Java này.
source_jars
sequence JavaInfo.source_jarsTrả về một danh sách các Jar chứa tất cả các tệp nguồn (bao gồm cả những tệp nguồn do chú thích tạo ra) của chính mục tiêu đó, tức là KHÔNG bao gồm các nguồn của phần phụ thuộc bắc cầu.
to_json
string JavaInfo.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 JavaInfo.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_compile_time_jars
depset JavaInfo.transitive_compile_time_jarsTrả về tập hợp bắc cầu các lọ cần thiết để xây dựng mục tiêu.
transitive_deps
depset JavaInfo.transitive_depsKhông dùng nữa: Vui lòng dùng
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_librariesTrả về tập hợp bắc cầu của thư viện gốc CC mà mục tiêu yêu cầu.
transitive_runtime_deps
depset JavaInfo.transitive_runtime_depsKhông dùng nữa: vui lòng sử dụng
JavaInfo.transitive_runtime_jars
. Hàm này trả về cùng một giá trị
transitive_runtime_jars
depset JavaInfo.transitive_runtime_jarsTrả về một tập hợp bắc cầu các Jar cần thiết trên đường dẫn lớp thời gian chạy của mục tiêu.
transitive_source_jars
depset JavaInfo.transitive_source_jarsTrả về các Jar chứa các tệp nguồn của mục tiêu hiện tại và tất cả các phần phụ thuộc bắc cầu của mục tiêu đó.