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.BootClassPathInfoNhà cung cấp dùng để cung cấp thông tin đường dẫn lớp khởi động
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=[])Biên dịch các tệp/tệp nguồn Java từ quá trình triển khai quy tắc Starlark và trả về một trình cung cấp đại diện cho kết quả biên dịch và có thể được thêm vào tập hợp các trình cung cấp do quy tắc này đưa ra.
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 lọ cần biên dịch. Phải chỉ định ít nhất một trong số 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 được biên dịch. Phải chỉ định ít nhất một trong số source_jars hoặc source_file. |
output
|
Tệp;
bắt buộc |
output_source_jar
|
Tệp; hoặc None ;
giá trị mặc định là None Tệp nguồn đầu ra. Giá trị 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 mà bạn muốn. |
deps
|
trình tự của cấu trúc;
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;
mặc định là [] Danh sách các phần phụ thuộc trong thời gian chạy. |
exports
|
trình tự của cấu trúc;
mặc định là [] Danh sách 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 trình bổ trợ đã xuất. |
native_libraries
|
trình tự của CcInfo;
mặc định là [] 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_processor_additional_inputs
|
trình tự của Tệp;
mặc định là [] Danh sách dữ liệu đầu vào mà hành động 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 kết quả mà hành động biên dịch Java sẽ tạo ra ngoài lớp jar từ quá trình xử lý chú giải. |
strict_deps
|
string;
giá trị mặc định là 'ERROR' Chuỗi chỉ định cách xử lý phần phụ thuộc nghiêm ngặt. Giá trị có thể là: "OFF", "ERROR", "WARN" và 'DEFAULT'. Để biết thêm thông tin, hãy xem --strict_java_deps
|
java_toolchain
|
Thông tin;
bắt buộc Một JavaToolchainInfo được dùng 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 sử 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 java_toolchain đã cung cấp (nếu có). |
host_javabase
|
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 đừng phụ thuộc vào tính năng này. Tính năng này đã bị tắt với --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 yêu cầu sắp 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;
giá trị mặc định là False |
enable_annotation_processing
|
bool;
giá trị 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 các trình bổ trợ hoặc trong export_plugin của phần phụ thuộc đều 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ì hệ thống sẽ buộc sử dụng jar đầy đủ trong đường dẫn lớp biên dịch của mọi phần phụ thuộc. Việc này là dành cho các mục tiêu không phải thư viện, chẳng hạn như 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 theo cách phản ánh |
JavaRuntimeInfo
Provider java_common.JavaRuntimeInfoKhoá dùng để truy xuất trình cung cấp chứa thông tin về môi trường thời gian chạy Java đang được sử dụng.
JavaToolchainInfo
Provider java_common.JavaToolchainInfoKhoá dùng để truy xuất nhà cung cấp 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 trình cung cấp đã cho thành một JavaInfo duy nhất.
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)Đóng gói các tệp jar 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
Tham số
Thông số | Mô tả |
---|---|
actions
|
action (hành động);
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 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_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 yêu cầu sắp xoá. Không dùng nữa: Tệp đầu ra của quy tắc. Được dùng để đặt tên cho tệp nguồn kết quả. Thông số này sẽ đặt thông số output_source_jar thành "{output_jar}-src.jar". Hãy sử dụng trực tiếp thông số output_source_jar này. |
output_source_jar
|
Tệp; hoặc None ;
giá trị 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 tệp nguồn Java sẽ được đóng gói vào tệp nguồn. |
source_jars
|
trình tự của Tệp;
mặc định là [] Danh sách các lọ nguồn sẽ được đóng gói vào lọ nguồn. |
java_toolchain
|
Thông tin;
bắt buộc Một JavaToolchainInfo được dùng để tìm công cụ ijar. |
host_javabase
|
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 đừng phụ thuộc vào tính năng này. Tính năng này đã bị tắt với --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 yêu cầu sắp 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)Chạy ijar trên một lọ, xoá các phần tử phương thức của tệp đó. Điều này giúp giảm việc tạo lại các tệp jar phụ thuộc trong mọi biên dịch lại chỉ bao gồm các thay đổi đơn giản đối với việc triển khai phương thức. Giá trị trả về thường được chuyển đến
JavaInfo#compile_jar
.
Tham số
Thông số | Mô tả |
---|---|
actions
|
action (hành động);
bắt buộc ctx.actions |
jar
|
Tệp;
bắt buộc Tệp để chạy ijar. |
target_label
|
Nhãn; hoặc None ;
giá trị mặc định là None Nhãn đích để đóng dấu vào lọ. Dùng để hỗ trợ add_dep . Thông thường, bạn sẽ truyền ctx.label để đóng dấu vào lọ bằng nhãn của quy tắc hiện tại.
|
java_toolchain
|
Thông tin;
bắt buộc Một JavaToolchainInfo được 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 đích để hỗ trợ
add_dep
. Giá trị trả về thường được chuyển đến JavaInfo#compile_jar
. Ưu tiên sử dụng run_ijar
khi có thể.
Tham số
Thông số | Mô tả |
---|---|
actions
|
action (hành động);
bắt buộc ctx.actions |
jar
|
Tệp;
bắt buộc Tệp để chạy stamp_jar. |
target_label
|
Nhãn;
bắt buộc Nhãn đích để đóng dấu vào lọ. Dùng để hỗ trợ add_dep . Thông thường, bạn sẽ truyền ctx.label để đóng dấu vào lọ bằng nhãn của quy tắc hiện tại.
|
java_toolchain
|
Thông tin;
bắt buộc Một JavaToolchainInfo được dùng để tìm công cụ stamp_jar. |