ยูทิลิตีสำหรับการรองรับการคอมไพล์ Java ใน Starlark
สมาชิก
BootClassPathInfo
Provider java_common.BootClassPathInfo
คอมไพล์
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=[])
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
ctx
|
ต้องระบุ บริบทของกฎ |
source_jars
|
ลำดับของไฟล์
ค่าเริ่มต้นคือ [] รายการ JAR ที่จะคอมไพล์ ควรระบุ source_jars หรือ source_files อย่างน้อย 1 รายการ |
source_files
|
ลำดับของไฟล์
ค่าเริ่มต้นคือ [] รายการไฟล์ต้นฉบับ Java ที่จะคอมไพล์ ควรระบุ source_jars หรือ source_files อย่างน้อย 1 รายการ |
output
|
ต้องระบุ |
output_source_jar
|
ไฟล์ หรือ None
ค่าเริ่มต้นคือ None ไฟล์ JAR ต้นฉบับของเอาต์พุต ไม่บังคับ ค่าเริ่มต้นคือ `{output_jar}-src.jar` หากไม่ได้ตั้งค่าไว้ |
javac_opts
|
ลำดับของสตริง
ค่าเริ่มต้นคือ [] รายการตัวเลือก javac ที่ต้องการ ไม่บังคับ |
deps
|
ลำดับของ struct
ค่าเริ่มต้นคือ [] รายการการอ้างอิง ไม่บังคับ |
runtime_deps
|
sequence ของ struct
ค่าเริ่มต้นคือ [] รายการการอ้างอิงรันไทม์ ไม่บังคับ |
exports
|
sequence ของ structs;
ค่าเริ่มต้นคือ [] รายการการส่งออก ไม่บังคับ |
plugins
|
ลำดับของ struct หรือลำดับของ struct
ค่าเริ่มต้นคือ [] รายการปลั๊กอิน ไม่บังคับ |
exported_plugins
|
ลำดับของ struct หรือลำดับของ struct
ค่าเริ่มต้นคือ [] รายการปลั๊กอินที่ส่งออก ไม่บังคับ |
native_libraries
|
sequence ของ CcInfos;
ค่าเริ่มต้นคือ [] ทรัพยากร Dependency ของไลบรารี CC แบบเนทีฟที่จำเป็นสำหรับไลบรารีนี้ |
annotation_processor_additional_inputs
|
ลำดับของไฟล์
ค่าเริ่มต้นคือ [] รายการอินพุตที่การดำเนินการคอมไพล์ Java จะใช้เพิ่มเติมจากแหล่งที่มาของ Java สำหรับการประมวลผลคำอธิบายประกอบ |
annotation_processor_additional_outputs
|
ลำดับของไฟล์
ค่าเริ่มต้นคือ [] รายการเอาต์พุตที่การดำเนินการคอมไพล์ Java จะแสดงเพิ่มเติมจาก JAR ของคลาสจากการประมวลผลคำอธิบายประกอบ |
strict_deps
|
ค่าเริ่มต้นคือ 'ERROR' สตริงที่ระบุวิธีจัดการกับ Strict Deps ค่าที่เป็นไปได้ ได้แก่ "OFF" "ERROR" "WARN" และ "DEFAULT" ดูรายละเอียดเพิ่มเติมได้ที่ /docs/user-manual#flag--strict_java_deps โดยค่าเริ่มต้นคือ "ERROR" |
java_toolchain
|
required JavaToolchainInfo ที่จะใช้สำหรับการคอมไพล์นี้ บังคับ |
bootclasspath
|
ค่าเริ่มต้นคือ None A BootClassPathInfo to be used for this compilation. หากมี จะลบล้าง bootclasspath ที่เชื่อมโยงกับ java_toolchain ที่ระบุ ไม่บังคับ |
host_javabase
|
ค่าเริ่มต้นคือ None เลิกใช้งานแล้ว พารามิเตอร์นี้เลิกใช้งานแล้วและจะถูกนำออกเร็วๆ นี้ โปรดอย่าใช้ฟีเจอร์นี้ --+incompatible_java_common_parameters จะปิดใช้ ใช้ฟีเจอร์นี้เพื่อยืนยันว่าโค้ดของคุณเข้ากันได้กับการนำออกที่กำลังจะเกิดขึ้น เลิกใช้งานแล้ว: คุณสามารถทิ้งพารามิเตอร์นี้ได้ (host_javabase มีให้พร้อมกับ java_toolchain) |
sourcepath
|
ลำดับของไฟล์
ค่าเริ่มต้นคือ [] |
resources
|
ลำดับของไฟล์
ค่าเริ่มต้นคือ [] |
resource_jars
|
ลำดับของไฟล์
ค่าเริ่มต้นคือ [] |
classpath_resources
|
ลำดับของไฟล์
ค่าเริ่มต้นคือ [] |
neverlink
|
ค่าเริ่มต้นคือ False |
enable_annotation_processing
|
ค่าเริ่มต้นคือ True ปิดใช้การประมวลผลคำอธิบายประกอบในการคอมไพล์นี้ ซึ่งจะทำให้ระบบละเว้นโปรเซสเซอร์คำอธิบายประกอบที่ระบุไว้ในปลั๊กอินหรือใน exported_plugins ของ deps |
enable_compile_jar_action
|
ค่าเริ่มต้นคือ True เปิดใช้การคอมไพล์ส่วนหัวหรือการสร้าง ijar หากตั้งค่าเป็น False ระบบจะบังคับให้ใช้ JAR ของคลาสแบบเต็มในเส้นทางคลาสการคอมไพล์ของส่วนประกอบที่ขึ้นต่อกัน การดำเนินการนี้มีไว้สำหรับเป้าหมายที่ไม่ใช่ไลบรารี เช่น ไบนารีที่ไม่มีรายการที่ขึ้นอยู่กับ |
add_exports
|
ลำดับของสตริง
ค่าเริ่มต้นคือ [] อนุญาตให้ไลบรารีนี้เข้าถึง |
add_opens
|
ลำดับของสตริง
ค่าเริ่มต้นคือ [] อนุญาตให้ไลบรารีนี้เข้าถึง |
JavaRuntimeInfo
Provider java_common.JavaRuntimeInfo
JavaToolchainInfo
Provider java_common.JavaToolchainInfo
ผสาน
struct java_common.merge(providers)
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
providers
|
ลำดับของ structs
required รายการผู้ให้บริการที่จะผสาน |
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
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
actions
|
required ctx.actions |
output_jar
|
ไฟล์ หรือ None ;
ค่าเริ่มต้นคือ None เลิกใช้งานแล้ว พารามิเตอร์นี้เลิกใช้งานแล้วและจะถูกนำออกเร็วๆ นี้ โปรดอย่าใช้ฟีเจอร์นี้ --+incompatible_java_common_parameters จะปิดใช้ ใช้ฟีเจอร์นี้เพื่อยืนยันว่าโค้ดของคุณเข้ากันได้กับการนำออกที่กำลังจะเกิดขึ้น เลิกใช้งานแล้ว: ไฟล์ JAR เอาต์พุตของกฎ ใช้เพื่อตั้งชื่อไฟล์ JAR ของแหล่งที่มาที่ได้ พารามิเตอร์นี้ตั้งค่าพารามิเตอร์ output_source_jar เป็น `{output_jar}-src.jar` ให้ใช้พารามิเตอร์ output_source_jar โดยตรงแทน |
output_source_jar
|
ไฟล์ หรือ None
ค่าเริ่มต้นคือ None ไฟล์ JAR ต้นฉบับของเอาต์พุต |
sources
|
ลำดับของไฟล์
ค่าเริ่มต้นคือ [] รายการไฟล์ต้นฉบับ Java ที่จะแพ็กลงใน JAR ของแหล่งที่มา |
source_jars
|
ลำดับของไฟล์
ค่าเริ่มต้นคือ [] รายการ JAR ต้นฉบับที่จะแพ็กเป็น JAR ต้นฉบับ |
java_toolchain
|
required JavaToolchainInfo ที่ใช้เพื่อค้นหาเครื่องมือ ijar |
host_javabase
|
ค่าเริ่มต้นคือ None เลิกใช้งานแล้ว พารามิเตอร์นี้เลิกใช้งานแล้วและจะถูกนำออกเร็วๆ นี้ โปรดอย่าใช้ฟีเจอร์นี้ --+incompatible_java_common_parameters จะปิดใช้ ใช้ฟีเจอร์นี้เพื่อยืนยันว่าโค้ดของคุณเข้ากันได้กับการนำออกที่กำลังจะเกิดขึ้น เลิกใช้งานแล้ว: คุณสามารถทิ้งพารามิเตอร์นี้ได้ (host_javabase มีให้พร้อมกับ java_toolchain) |
run_ijar
File java_common.run_ijar(actions, *, jar, target_label=None, java_toolchain)
JavaInfo#compile_jar
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
actions
|
required ctx.actions |
jar
|
required ไฟล์ JAR ที่จะเรียกใช้ ijar |
target_label
|
ป้ายกำกับ หรือ None ;
ค่าเริ่มต้นคือ None ป้ายกำกับเป้าหมายที่จะประทับตราบนโถ ใช้สำหรับการสนับสนุน add_dep โดยปกติ คุณจะส่ง ctx.label เพื่อประทับตราโถด้วยป้ายกำกับของกฎปัจจุบัน
|
java_toolchain
|
required JavaToolchainInfo ที่ใช้เพื่อค้นหาเครื่องมือ ijar |
stamp_jar
File java_common.stamp_jar(actions, *, jar, target_label, java_toolchain)
add_dep
โดยปกติแล้ว ระบบจะส่งค่าที่แสดงผลไปยัง JavaInfo#compile_jar
เราขอแนะนำให้ใช้ run_ijar
เมื่อเป็นไปได้
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
actions
|
required ctx.actions |
jar
|
required ไฟล์ JAR ที่จะเรียกใช้ stamp_jar |
target_label
|
ต้องระบุ ป้ายกำกับเป้าหมายที่จะประทับบนไฟล์ JAR ใช้สำหรับการสนับสนุน add_dep โดยปกติ คุณจะส่ง ctx.label เพื่อประทับตราโถด้วยป้ายกำกับของกฎปัจจุบัน
|
java_toolchain
|
required JavaToolchainInfo ที่ใช้เพื่อค้นหาเครื่องมือ stamp_jar |