Hội viên
- BootClassPathInfo
- compile
- JavaRuntimeInfo
- JavaToolchainInfo
- hợp nhất
- pack_sources
- run_ijar
- stamp_jar
BootClassPathInfo
Provider java_common.BootClassPathInfoNhà cung cấp dùng để cung cấp thông tin đường dẫn lớp khởi động
compile
struct java_common.compile(ctx, *, source_jars=[], source_files=[], output, output_source_jar=None, javac_opts=[], deps=[], runtime_deps=[], exports=[], plugins=[], exported_plugins=[], native_libraries=[], annotation_processor_additional_inputs=[], annotation_processor_additional_outputs=[], strict_deps='ERROR', java_toolchain, bootclasspath=None, host_javabase=None, sourcepath=[], resources=[], resource_jars=[], classpath_resources=[], neverlink=False, enable_annotation_processing=True, enable_compile_jar_action=True, add_exports=[], add_opens=[])Biên dịch các tệp/jar nguồn Java từ việc triển khai quy tắc Starlark và trả về một nhà cung cấp đại diện cho kết quả biên dịch và có thể thêm vào nhóm nhà cung cấp do quy tắc này tạo ra.
Thông số
Thông số | Nội dung mô tả |
---|---|
ctx
|
bắt buộc Ngữ cảnh quy tắc. |
source_jars
|
trình tự của Tệp; mặc định là [] Danh sách các tệp jar cần được biên dịch. Phải chỉ định ít nhất một trong số các source_jars hoặc source_file. |
source_files
|
trình tự của Tệp; mặc định là [] Danh sách các tệp nguồn Java cần biên dịch. Phải chỉ định ít nhất một trong số các source_jars hoặc source_file. |
output
|
bắt buộc |
output_source_jar
|
Tệp; hoặc None ; mặc định là None Tệp nguồn đầu ra. Không bắt buộc. Giá trị mặc định là "{output_jar}-src.jar" nếu bạn không đặt chính sách này. |
javac_opts
|
trình tự của chuỗi; mặc định là [] Danh sách các tuỳ chọn javac mà bạn muốn. Không bắt buộc. |
deps
|
trình tự của cấu trúc; mặc định là [] Danh sách các phần phụ thuộc. Không bắt buộc. |
runtime_deps
|
trình tự của cấu trúc; mặc định là [] Danh sách các phần phụ thuộc thời gian chạy. Không bắt buộc. |
exports
|
trình tự của cấu trúc; mặc định là [] Danh sách tệp xuất. Không bắt buộc. |
plugins
|
trình tự của cấu trúc; hoặc trình tự của cấu trúc;
giá trị mặc định là [] Một danh sách trình bổ trợ. Không bắt buộc. |
exported_plugins
|
trình tự của cấu trúc; hoặc trình tự của cấu trúc;
giá trị mặc định là [] Một danh sách các trình bổ trợ đã xuất. Không bắt buộc. |
native_libraries
|
trình tự của CcInfo; mặc định là [] phần phụ thuộc thư viện gốc CC cần thiết cho thư viện này. |
annotation_processor_additional_inputs
|
trình tự của Tệp;
mặc định là [] Danh sách các dữ liệu đầu vào mà thao tác biên dịch Java sẽ thực hiện cùng với các nguồn Java để xử lý chú giải. |
annotation_processor_additional_outputs
|
trình tự của Tệp; mặc định là [] Danh sách các kết quả đầu ra mà thao tác biên dịch Java sẽ xuất ra ngoài tệp jar của lớp từ quá trình xử lý chú giải. |
strict_deps
|
mặc định là 'ERROR' Một chuỗi chỉ định cách xử lý các phần phụ thuộc nghiêm ngặt. Giá trị có thể là: "OFF", "ERROR", "WARN" và "DEFAULT". Để biết thêm chi tiết, hãy xem /docs/user-manual#flag--strict_java_deps. Theo mặc định, lỗi "ERROR". |
java_toolchain
|
bắt buộc Cần sử dụng JavaToolchainInfo cho quá trình biên dịch này. Bắt buộc. |
bootclasspath
|
giá trị mặc định là None Một BootClassPathInfo sẽ được dùng cho quá trình biên dịch này. Ghi đè đường dẫn lớp khởi động liên kết với chuỗi công cụ java_toolchain (nếu có). Không bắt buộc. |
host_javabase
|
mặc định là None Không dùng nữa. Tham số 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_java_common_parameters . 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á. Không dùng nữa: Bạn có thể bỏ tham số này (host_javabase được cung cấp bằng java_toolchain) |
sourcepath
|
trình tự của Tệp; mặc định là [] |
resources
|
trình tự của Tệp; mặc định là [] |
resource_jars
|
trình tự của Tệp; mặc định là [] |
classpath_resources
|
trình tự của Tệp; mặc định là [] |
neverlink
|
mặc định là False |
enable_annotation_processing
|
mặc định là True Tắt tính năng xử lý chú giải trong phần biên dịch này, khiến mọi trình xử lý chú giải được cung cấp trong trình bổ trợ hoặc trong export_plugins của phần phụ thuộc bị bỏ qua. |
enable_compile_jar_action
|
mặc định là True Bật tính năng biên dịch tiêu đề hoặc tạo ijar. Nếu bạn đặt chính sách này thành False, thì chính sách này sẽ buộc sử dụng tệp jar đầy đủ lớp trong đường dẫn lớp biên dịch của bất kỳ phần phụ thuộc nào. Thao tác này nhằm mục đích sử dụng cho các mục tiêu không phải là thư viện, chẳng hạn như các tệp nhị phân không có phần phụ thuộc. |
add_exports
|
trình tự của chuỗi; mặc định là [] Cho phép thư viện này truy cập vào |
add_opens
|
trình tự của chuỗi; mặc định là [] Cho phép thư viện này truy cập phản ánh |
JavaRuntimeInfo
Provider java_common.JavaRuntimeInfoKhoá dùng để truy xuất nhà cung cấp có chứa thông tin về thời gian chạy Java đang được sử dụng.
JavaToolchainInfo
Provider java_common.JavaToolchainInfoKhoá dùng để truy xuất trình cung cấp có chứa thông tin về chuỗi công cụ Java đang được sử dụng.
hợp nhất
struct java_common.merge(providers)Hợp nhất các nhà cung cấp đã cung cấp thành một JavaInfo.
Thông số
Thông số | Nội dung mô tả |
---|---|
providers
|
trình tự của cấu trúc; bắt buộc Danh sách các nhà cung cấp cần hợp nhất. |
pack_sources
File java_common.pack_sources(actions, *, output_jar=None, output_source_jar=None, sources=[], source_jars=[], java_toolchain, host_javabase=None)Đóng gói nguồn và tệp jar nguồn vào một tệp jar nguồn duy nhất. Giá trị trả về thường được chuyển đến
JavaInfo#source_jar
Thông số
Thông số | Nội dung mô tả |
---|---|
actions
|
bắt buộc ctx.actions |
output_jar
|
File; hoặc None ; giá trị mặc định là None Không dùng nữa. Tham số 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_java_common_parameters . 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á. Không dùng nữa: Tệp đầu ra của quy tắc. Dùng để đặt tên cho jar nguồn thu được. Tham số này đặt tham số output_source_jar thành `{output_jar}-src.jar`.Thay vào đó, hãy sử dụng tham số output_source_jar. |
output_source_jar
|
Tệp; hoặc None ; mặc định là None Tệp nguồn đầu ra. |
sources
|
trình tự của Tệp; mặc định là [] Danh sách các tệp nguồn Java sẽ được đóng gói vào vùng nguồn. |
source_jars
|
trình tự của Tệp; mặc định là [] Danh sách các tệp nguồn sẽ được đóng gói vào vùng nguồn. |
java_toolchain
|
bắt buộc JavaToolchainInfo dùng để tìm công cụ ijar. |
host_javabase
|
mặc định là None Không dùng nữa. Tham số 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_java_common_parameters . 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á. Không dùng nữa: Bạn có thể bỏ tham số này (host_javabase được cung cấp bằng java_toolchain) |
run_ijar
File java_common.run_ijar(actions, *, jar, target_label=None, java_toolchain)Chạy ijar trên một bình, loại bỏ phần nội dung phương thức của nó. Điều này giúp giảm bớt việc tạo lại các tệp jar phụ thuộc trong bất kỳ quá trình biên dịch lại nào chỉ bao gồm một số thay đổi đơn giản đối với việc triển khai phương thức. Giá trị trả về thường được truyền đến
JavaInfo#compile_jar
.
Thông số
Thông số | Nội dung mô tả |
---|---|
actions
|
bắt buộc ctx.actions |
jar
|
bắt buộc Tệp để chạy ijar. |
target_label
|
Nhãn; hoặc None ;
mặc định là None Một nhãn mục tiêu để đóng dấu trong lọ. Dùng để hỗ trợ add_dep . Thông thường, bạn sẽ chuyển ctx.label để đóng dấu cho tệp jar bằng nhãn của quy tắc hiện tại.
|
java_toolchain
|
bắt buộc JavaToolchainInfo dùng để tìm công cụ ijar. |
stamp_jar
File java_common.stamp_jar(actions, *, jar, target_label, java_toolchain)Đóng dấu một lọ có nhãn mục tiêu để hỗ trợ
add_dep
. Giá trị trả về thường được truyền đến JavaInfo#compile_jar
. Ưu tiên sử dụng run_ijar
khi có thể.
Thông số
Thông số | Nội dung mô tả |
---|---|
actions
|
bắt buộc ctx.actions |
jar
|
bắt buộc Tệp để chạy stamp_jar. |
target_label
|
bắt buộc Nhãn mục tiêu để đóng dấu cho lọ. Dùng để hỗ trợ add_dep . Thông thường, bạn sẽ chuyển ctx.label để đóng dấu cho tệp jar bằng nhãn của quy tắc hiện tại.
|
java_toolchain
|
bắt buộc JavaToolchainInfo dùng để tìm công cụ stamp_jar. |