Các tiện ích hỗ trợ biên dịch Java trong Starlark.
Hội viên
- BootClassPathInfo
- biên dịch
- JavaRuntimeInfo
- JavaToolchainInfo
- hợp nhất
- pack_sources
- run_ijar
- stamp_jar
BootClassPathInfo
Provider java_common.BootClassPathInfo
biên dịch
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=[])
Tham số
Thông số | Mô tả |
---|---|
ctx
|
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 biên dịch. Bạn phải chỉ định ít nhất một trong hai thuộc tính source_jars hoặc source_files. |
source_files
|
trình tự của Tệp; giá trị mặc định là [] Danh sách các tệp nguồn Java cần biên dịch. Bạn phải chỉ định ít nhất một trong hai thuộc tính source_jars hoặc source_files. |
output
|
Tệp; bắt buộc |
output_source_jar
|
Tệp; hoặc None ;
mặc định là None Tệp jar nguồn đầu ra. Mặc định là `{output_jar}-src.jar` nếu không được đặt. |
javac_opts
|
trình tự của chuỗi;
mặc định là [] Danh sách các tuỳ chọn javac mong muốn. |
deps
|
trình tự của cấu trúc; giá trị mặc định là [] Danh sách các phần phụ thuộc. |
runtime_deps
|
trình tự của cấu trúc; giá trị mặc định là [] Danh sách các phần phụ thuộc thời gian chạy. |
exports
|
trình tự của cấu trúc; giá trị mặc định là [] Danh sách các tệp xuất. |
plugins
|
trình tự của cấu trúc; hoặc trình tự của cấu trúc;
mặc định là [] Danh sách trình bổ trợ. |
exported_plugins
|
trình tự của cấu trúc; hoặc trình tự của cấu trúc;
mặc định là [] Danh sách các trình bổ trợ đã xuất. |
native_libraries
|
trình tự của CcInfo; giá trị mặc định là [] các 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 ngoà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 đầu ra mà thao tác biên dịch Java sẽ xuất ra ngoài tệp jar lớp từ quá trình xử lý chú giải. |
strict_deps
|
string; giá trị 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. Các giá trị có thể sử dụng: "OFF", "ERROR", "WARN" và "DEFAULT". Để biết thêm thông tin, hãy xem --strict_java_deps
|
java_toolchain
|
Info;
bắt buộc Một JavaToolchainInfo sẽ được dùng cho quá trình biên dịch này. Bắt buộc. |
bootclasspath
|
mặc định là None Một BootClassPathInfo sẽ được dùng cho quá trình biên dịch này. Ghi đè bootclasspath (nếu có) được liên kết với java_toolchain được cung cấp. |
host_javabase
|
mặc định là None Không dùng nữa. Tham số này không còn được dùng nữa và sẽ sớm bị xoá. Vui lòng không phụ thuộc vào tính năng 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 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 cùng với 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
|
bool;
mặc định là False |
enable_annotation_processing
|
bool;
mặc định là True Tắt tính năng xử lý chú giải trong quá trình 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 exported_plugins của phần phụ thuộc bị bỏ qua. |
enable_compile_jar_action
|
bool; giá trị mặc định là True Cho phép biên dịch tiêu đề hoặc tạo ijar. Nếu bạn đặt thành False, thì thuộc tính này sẽ buộc sử dụng tệp jar lớp đầy đủ trong đường dẫn lớp biên dịch của mọi phần phụ thuộc. Việc này dành cho các mục tiêu không phải 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; giá trị mặc định là [] Cho phép thư viện này truy cập phản chiếu vào |
JavaRuntimeInfo
Provider java_common.JavaRuntimeInfo
JavaToolchainInfo
Provider java_common.JavaToolchainInfo
hợp nhất
struct java_common.merge(providers)
Tham số
Thông số | 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)
JavaInfo#source_jar
Tham số
Thông số | Mô tả |
---|---|
actions
|
actions;
bắt buộc ctx.actions |
output_jar
|
Tệp; hoặc None ; giá trị mặc định là None Không dùng nữa. Tham số này không còn được dùng nữa và sẽ sớm bị xoá. Vui lòng không phụ thuộc vào tính năng 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 sắp bị xoá. Không dùng nữa: Tệp jar đầu ra của quy tắc. Dùng để đặt tên cho tệp jar nguồn thu được. Thông số này đặt thông số output_source_jar thành `{output_jar}-src.jar`.Thay vào đó, hãy sử dụng trực tiếp thông số output_source_jar. |
output_source_jar
|
Tệp; hoặc None ;
mặc định là None Tệp jar nguồn đầu ra. |
sources
|
trình tự của Tệp; giá trị mặc định là [] Danh sách các tệp nguồn Java cần được đóng gói vào tệp jar nguồn. |
source_jars
|
trình tự của Tệp;
mặc định là [] Danh sách các tệp jar nguồn cần được đóng gói vào tệp jar nguồn. |
java_toolchain
|
Thông tin;
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òn được dùng nữa và sẽ sớm bị xoá. Vui lòng không phụ thuộc vào tính năng 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 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 cùng với java_toolchain) |
run_ijar
File java_common.run_ijar(actions, *, jar, target_label=None, java_toolchain)
JavaInfo#compile_jar
.
Tham số
Thông số | Mô tả |
---|---|
actions
|
actions;
bắt buộc ctx.actions |
jar
|
Tệp;
bắt buộc Tệp jar để chạy ijar. |
target_label
|
Nhãn; hoặc None ; giá trị mặc định là None Một nhãn mục tiêu để đóng dấu cho tệp jar. Dùng để hỗ trợ add_dep . Thông thường, bạn sẽ truyền ctx.label để đóng dấu tệp jar bằng nhãn của quy tắc hiện tại.
|
java_toolchain
|
Thông tin;
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)
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ể.
Tham số
Thông số | Mô tả |
---|---|
actions
|
actions;
bắt buộc ctx.actions |
jar
|
Tệp;
bắt buộc Tệp jar để chạy stamp_jar. |
target_label
|
Nhãn;
bắt buộc Nhãn mục tiêu để đóng dấu cho tệp jar. Dùng để hỗ trợ add_dep . Thông thường, bạn sẽ truyền ctx.label để đóng dấu tệp jar bằng nhãn của quy tắc hiện tại.
|
java_toolchain
|
Thông tin;
bắt buộc JavaToolchainInfo dùng để tìm công cụ stamp_jar. |