java_general

รายงานปัญหา ดูแหล่งที่มา

ยูทิลิตีสำหรับการรองรับการคอมไพล์ Java ใน Starlark

สมาชิก

BootClassPathInfo

Provider java_common.BootClassPathInfo

ผู้ให้บริการที่ใช้ระบุข้อมูล Bootclasspath

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=[])

คอมไพล์ไฟล์/Jar ต้นทางของ Java จากการใช้กฎ Starlark และแสดงผลผู้ให้บริการที่แสดงผลลัพธ์ของการคอมไพล์และเพิ่มไปยังชุดผู้ให้บริการที่ปล่อยออกมาตามกฎนี้ได้

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
ctx ต้องระบุ
บริบทของกฎ
source_jars ลำดับของไฟล์ ค่าเริ่มต้นคือ []
รายการ Jars ที่จะรวม ควรระบุ 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 ลำดับของสตริง ค่าเริ่มต้นคือ []
รายการตัวเลือก JavaScript ที่ต้องการ ไม่บังคับ
deps ลำดับของ struct ค่าเริ่มต้นคือ []
รายการทรัพยากร Dependency ไม่บังคับ
runtime_deps ลำดับของ struct ค่าเริ่มต้นคือ []
รายการทรัพยากร Dependency ของรันไทม์ ไม่บังคับ
exports ลำดับของ struct ค่าเริ่มต้นคือ []
รายการการส่งออก ไม่บังคับ
plugins ลำดับของ struct หรือลำดับของ struct ค่าเริ่มต้นคือ []
รายการปลั๊กอิน ไม่บังคับ
exported_plugins ลำดับของ struct หรือลำดับของ struct ค่าเริ่มต้นคือ []
รายการปลั๊กอินที่ส่งออก ไม่บังคับ
native_libraries ลำดับของ CcInfo ค่าเริ่มต้นคือ []
CC ทรัพยากร Dependency ของไลบรารีในเครื่องที่จำเป็นสำหรับไลบรารีนี้
annotation_processor_additional_inputs ลำดับของไฟล์ ค่าเริ่มต้นคือ []
รายการอินพุตที่การดำเนินการคอมไพล์ Java จะใช้นอกเหนือจากแหล่งที่มาของ Java เพื่อประมวลผลคำอธิบายประกอบ
annotation_processor_additional_outputs ลำดับของไฟล์ ค่าเริ่มต้นคือ []
รายการเอาต์พุตที่การดำเนินการคอมไพล์ Java จะแสดงเพิ่มเติมจาก Jar คลาสจากการประมวลผลคำอธิบายประกอบ
strict_deps ค่าเริ่มต้นคือ 'ERROR'
สตริงที่ระบุวิธีจัดการระยะเวลาที่แน่นอน ค่าที่เป็นไปได้ ได้แก่ "OFF", "ERROR", "WARN" และ "DEFAULT" ดูรายละเอียดเพิ่มเติมได้ที่ /docs/user-manual#flag--strict_java_deps โดยค่าเริ่มต้น "ERROR"
java_toolchain จำเป็น
JavaToolchainInfo ที่จะใช้สำหรับการคอมไพล์นี้ บังคับ
bootclasspath ค่าเริ่มต้นคือ None
BootClassPathInfo ที่จะใช้สำหรับการรวมนี้ หากมี จะลบล้าง Bootclasspath ที่เชื่อมโยงกับ java_toolchain ที่ระบุ ไม่บังคับ
host_javabase ค่าเริ่มต้นคือ None
เลิกใช้งานแล้ว พารามิเตอร์นี้เลิกใช้งานแล้วและจะถูกนำออกเร็วๆ นี้ โปรดอย่าพึ่งพาสิ่งนี้ ถูกปิดใช้กับ --+incompatible_java_common_parameters ใช้แฟล็กนี้เพื่อยืนยันว่าโค้ดเข้ากันได้กับการนําออกที่กำลังจะเกิดขึ้น
เลิกใช้งาน: คุณสามารถทิ้งพารามิเตอร์นี้ได้ (host_javabase มาพร้อมกับ java_toolchain)
sourcepath ลำดับของไฟล์ ค่าเริ่มต้นคือ []
resources ลำดับของไฟล์ ค่าเริ่มต้นคือ []
resource_jars ลำดับของไฟล์ ค่าเริ่มต้นคือ []
classpath_resources ลำดับของไฟล์ ค่าเริ่มต้นคือ []
ค่าเริ่มต้นคือ False
enable_annotation_processing ค่าเริ่มต้นคือ True
ปิดใช้การประมวลผลคำอธิบายประกอบในการคอมไพล์นี้ ซึ่งจะทำให้ตัวประมวลผลคำอธิบายประกอบที่มีอยู่ในปลั๊กอินหรือใน Export_plugins ของ deps ถูกละเว้น
enable_compile_jar_action ค่าเริ่มต้นคือ True
เปิดใช้การคอมไพล์ส่วนหัวหรือการสร้าง Jar หากตั้งค่าเป็น "เท็จ" ระบบจะบังคับให้ใช้ jar คลาสแบบเต็มในคลาสพาธการคอมไพล์ของทรัพยากร Dependency การดำเนินการดังกล่าวมีไว้เพื่อใช้โดยเป้าหมายที่ไม่ใช่ไลบรารี เช่น ไบนารีที่ไม่มีทรัพยากร Dependency
add_exports ลำดับของสตริง ค่าเริ่มต้นคือ []
อนุญาตให้ไลบรารีนี้เข้าถึง /ที่ระบุ ไม่บังคับ
add_opens ลำดับของสตริง ค่าเริ่มต้นคือ []
อนุญาตให้ไลบรารีนี้เข้าถึง /ที่ระบุได้ ไม่บังคับ

JavaRuntimeInfo

Provider java_common.JavaRuntimeInfo

คีย์ที่ใช้เพื่อเรียกข้อมูลผู้ให้บริการที่มีข้อมูลเกี่ยวกับรันไทม์ของ Java ที่ใช้อยู่

JavaToolchainInfo

Provider java_common.JavaToolchainInfo

คีย์ที่ใช้เพื่อเรียกข้อมูลผู้ให้บริการที่มีข้อมูลเกี่ยวกับห่วงโซ่เครื่องมือของ Java ที่ใช้

ผสาน

struct java_common.merge(providers)

รวมผู้ให้บริการที่ระบุเป็น JavaInfo เดียว

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
providers ลำดับของ structs ต้องระบุ
รายชื่อผู้ให้บริการที่จะรวม

pack_sources

File java_common.pack_sources(actions, *, output_jar=None, output_source_jar=None, sources=[], source_jars=[], java_toolchain, host_javabase=None)

แพ็กซอร์สและ Jar ต้นทางลงในไฟล์ Jar ต้นทางไฟล์เดียว โดยปกติ ค่าผลลัพธ์จะส่งผ่านไปยัง

JavaInfo#source_jar

ต้องระบุพารามิเตอร์ export_jar หรือ export_source_jar อย่างน้อย 1 รายการ

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
actions ต้องระบุ
ctx.actions
output_jar ไฟล์ หรือ None ค่าเริ่มต้นคือ None
เลิกใช้งานแล้ว พารามิเตอร์นี้เลิกใช้งานแล้วและจะถูกนำออกเร็วๆ นี้ โปรดอย่าพึ่งพาสิ่งนี้ ถูกปิดใช้กับ --+incompatible_java_common_parameters ใช้แฟล็กนี้เพื่อยืนยันว่าโค้ดเข้ากันได้กับการนําออกที่กำลังจะเกิดขึ้น
เลิกใช้งานแล้ว: โหนดเอาต์พุตของกฎ ใช้เพื่อตั้งชื่อ jar ต้นทางที่ได้ พารามิเตอร์จะตั้งพารามิเตอร์ export_source_jar เป็น "{output_jar}-src.jar" แต่ให้ใช้พารามิเตอร์ export_source_jar แทน
output_source_jar ไฟล์ หรือ None ค่าเริ่มต้นคือ None
jar แหล่งที่มาของเอาต์พุต
sources ลำดับของไฟล์ ค่าเริ่มต้นคือ []
รายการไฟล์ต้นฉบับของ Java ที่จะแพ็กลงใน Jar ต้นทาง
source_jars ลำดับของไฟล์ ค่าเริ่มต้นคือ []
รายการของ Jar ต้นทางที่จะแพ็กลงใน Jar ต้นทาง
java_toolchain ต้องระบุ
JavaToolchainInfo สำหรับใช้ค้นหาเครื่องมือ Jar
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)

เรียกใช้กระป๋องในโอ่งและฉีกร่างของวิธีใช้งาน วิธีนี้จะช่วยลดการสร้าง Jar แบบอ้างอิงซ้ำระหว่างการคอมไพล์ซ้ำที่ประกอบด้วยการเปลี่ยนแปลงแบบง่ายๆ สำหรับการใช้เมธอดเท่านั้น โดยปกติ ค่าผลลัพธ์จะส่งผ่านไปยัง JavaInfo#compile_jar

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
actions ต้องระบุ
ctx.actions
jar ต้องระบุ
jar สำหรับเรียกใช้ Jar
target_label ป้ายกำกับหรือ None ค่าเริ่มต้นคือ None
ป้ายกำกับเป้าหมายที่จะประทับตราโอ่ง ใช้สำหรับการสนับสนุน add_dep โดยปกติแล้ว คุณจะต้องส่ง ctx.label เพื่อประทับตราโอ่งด้วยป้ายกำกับของกฎปัจจุบัน
java_toolchain ต้องระบุ
JavaToolchainInfo สำหรับใช้ค้นหาเครื่องมือ Jar

stamp_jar

File java_common.stamp_jar(actions, *, jar, target_label, java_toolchain)

ติดขวดโหลพร้อมป้ายกำกับเป้าหมายสำหรับการสนับสนุน add_dep โดยปกติ ค่าผลลัพธ์จะส่งผ่านไปยัง JavaInfo#compile_jar ต้องการใช้ run_ijar เมื่อเป็นไปได้

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
actions ต้องระบุ
ctx.actions
jar ต้องระบุ
โหลที่จะเรียกใช้ stamp_jar
target_label ต้องระบุ
ป้ายกำกับเป้าหมายที่จะประทับตราโอ่ง ใช้สำหรับการสนับสนุน add_dep โดยปกติแล้ว คุณจะต้องส่ง ctx.label เพื่อประทับตราโอ่งด้วยป้ายกำกับของกฎปัจจุบัน
java_toolchain ต้องระบุ
JavaToolchainInfo สำหรับใช้ค้นหาเครื่องมือ stamp_jar