java_general

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

สมาชิก

BootClassPathInfo

Provider java_common.BootClassPathInfo

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

คอมไพล์

JavaInfo 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, 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 sequence of Files; ค่าเริ่มต้น = []
รายการ Jar ที่จะรวบรวม ควรระบุ source_jars หรือ source_files อย่างน้อย 1 รายการ
source_files sequence of Files; ค่าเริ่มต้น = []
รายการไฟล์ต้นฉบับของ Java ที่จะคอมไพล์ ควรระบุ source_jars หรือ source_files อย่างน้อย 1 รายการ
output ต้องระบุ
output_source_jar File; or None; ค่าเริ่มต้น = ไม่มี
Jar แหล่งที่มาของเอาต์พุต ไม่บังคับ ค่าเริ่มต้นคือ "{output_jar}-src.jar" หากไม่ได้ตั้งค่า
javac_opts sequence of strings; ค่าเริ่มต้น = []
รายการตัวเลือก Javac ที่ต้องการ ไม่บังคับ
deps sequence of JavaInfos; ค่าเริ่มต้น = []
รายการทรัพยากร Dependency ไม่บังคับ
runtime_deps sequence of JavaInfos; ค่าเริ่มต้น = []
รายการทรัพยากร Dependency ของรันไทม์ ไม่บังคับ
exports sequence of JavaInfos; ค่าเริ่มต้น = []
รายการการส่งออก ไม่บังคับ
plugins sequence of JavaPluginInfos; or sequence of JavaInfos; ค่าเริ่มต้น = []
รายการปลั๊กอิน ไม่บังคับ
exported_plugins sequence of JavaPluginInfos; or sequence of JavaInfos; ค่าเริ่มต้น = []
รายการปลั๊กอินที่ส่งออก ไม่บังคับ
native_libraries sequence of CcInfos; ค่าเริ่มต้น = []
CC ทรัพยากร Dependency ของไลบรารีเนทีฟที่จำเป็นสำหรับไลบรารีนี้
annotation_processor_additional_inputs sequence of Files; ค่าเริ่มต้น = []
รายการอินพุตที่การดำเนินการคอมไพล์ Java จะนำมาใช้นอกเหนือจากซอร์สของ Java สำหรับการประมวลผลคำอธิบายประกอบ
annotation_processor_additional_outputs sequence of Files; ค่าเริ่มต้น = []
รายการเอาต์พุตที่การดำเนินการคอมไพล์ Java จะแสดงผลนอกเหนือจาก jar คลาสจากการประมวลผลคำอธิบายประกอบ
strict_deps ค่าเริ่มต้น = 'ERROR'
สตริงที่ระบุวิธีจัดการกับระดับเข้มงวด ค่าที่เป็นไปได้: "OFF", "ERROR", "WARN" และ "ค่าเริ่มต้น" ดูรายละเอียดเพิ่มเติมได้ที่ /docs/user-manual#flag--strict_java_deps โดยค่าเริ่มต้น "ERROR"
java_toolchain ต้องระบุ
JavaToolchainInfo ที่จะใช้สำหรับการคอมไพล์นี้ บังคับ
host_javabase ค่าเริ่มต้น = ไม่มี
เลิกใช้งาน พารามิเตอร์นี้เลิกใช้งานแล้วและจะนำออกเร็วๆ นี้ โปรดอย่าพึ่งพา ถูกปิดใช้ด้วย --+incompatible_java_common_parameters ใช้ธงนี้เพื่อยืนยันว่าโค้ดของคุณเข้ากันได้กับการนำออกในเร็วๆ นี้
เลิกใช้งาน: คุณวางพารามิเตอร์นี้ได้ (host_javabase มาพร้อมกับ java_toolchain)
sourcepath sequence of Files; ค่าเริ่มต้น = []
resources sequence of Files; ค่าเริ่มต้น = []
resource_jars sequence of Files; ค่าเริ่มต้น = []
classpath_resources sequence of Files; ค่าเริ่มต้น = []
ค่าเริ่มต้น = เท็จ
enable_annotation_processing ค่าเริ่มต้น = จริง
ปิดใช้การประมวลผลคำอธิบายประกอบในการคอมไพล์นี้ ซึ่งทำให้ระบบไม่สนใจตัวประมวลผลคำอธิบายประกอบที่มีอยู่ในปลั๊กอินหรือใน Export_plugins of dep
enable_compile_jar_action ค่าเริ่มต้น = จริง
เปิดใช้การคอมไพล์ส่วนหัวหรือการสร้าง JAR หากตั้งค่าเป็น "เท็จ" ระบบจะบังคับให้ใช้ jar คลาสแบบเต็มในคลาสพาธการคอมไพล์ของ Dependency ทั้งหมด การกระทำดังกล่าวมีไว้ใช้กับเป้าหมายที่ไม่ใช่ไลบรารี เช่น ไบนารีที่ไม่มีทรัพยากร Dependency
add_exports sequence of strings; ค่าเริ่มต้น = []
อนุญาตให้ไลบรารีนี้เข้าถึง /ที่ระบุ (ไม่บังคับ)
add_opens sequence of strings; ค่าเริ่มต้น = []
อนุญาตให้ไลบรารีนี้เข้าถึง /ที่ระบุ (ไม่บังคับ)

JavaPluginInfo

Provider java_common.JavaPluginInfo

คีย์ที่ใช้ในการเรียกข้อมูลผู้ให้บริการที่มีข้อมูลเกี่ยวกับปลั๊กอิน Java ค่าเดียวกันนี้สามารถเข้าถึงได้ด้วย JavaPluginInfo
ต้องการใช้ JavaPluginInfo ในโค้ดใหม่

JavaRuntimeInfo

Provider java_common.JavaRuntimeInfo

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

JavaToolchainInfo

Provider java_common.JavaToolchainInfo

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

make_non_strict

JavaInfo java_common.make_non_strict(java_info)

แสดงผลผู้ให้บริการ Java ใหม่ซึ่งมีส่วน Direct-jars เป็นการรวมของ Jar ทั้งโดยตรงและโดยอ้อมของผู้ให้บริการ Java ที่ระบุ

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
java_info ต้องระบุ
ข้อมูล Java

ผสาน

JavaInfo java_common.merge(providers, *, merge_java_outputs=True, merge_source_jars=True)

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

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
providers sequence of JavaInfos; ต้องระบุ
รายชื่อผู้ให้บริการที่จะรวม
merge_java_outputs ค่าเริ่มต้น = จริง
merge_source_jars ค่าเริ่มต้น = จริง

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

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

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
actions ต้องระบุ
ctx.actions
output_jar File; or None; ค่าเริ่มต้น = ไม่มี
เลิกใช้งาน พารามิเตอร์นี้เลิกใช้งานแล้วและจะนำออกเร็วๆ นี้ โปรดอย่าพึ่งพา ถูกปิดใช้ด้วย --+incompatible_java_common_parameters ใช้ธงนี้เพื่อยืนยันว่าโค้ดของคุณเข้ากันได้กับการนำออกในเร็วๆ นี้
เลิกใช้งานแล้ว: โถเอาต์พุตของกฎ ใช้เพื่อตั้งชื่อ Jar ต้นทางที่ได้ พารามิเตอร์จะตั้งพารามิเตอร์ audio_source_jar เป็น `{output_jar}-src.jar`.ใช้พารามิเตอร์ exit_source_jar โดยตรงแทน
output_source_jar File; or None; ค่าเริ่มต้น = ไม่มี
Jar แหล่งที่มาของเอาต์พุต
sources sequence of Files; ค่าเริ่มต้น = []
รายการไฟล์ต้นฉบับของ Java ที่จะแพ็กลงใน Jar ต้นทาง
source_jars sequence of Files; ค่าเริ่มต้น = []
รายการ Jar แหล่งที่มาที่จะอัดลงใน Jar แหล่งที่มา
java_toolchain ต้องระบุ
JavaToolchainInfo สำหรับใช้ค้นหาเครื่องมือ Jar
host_javabase ค่าเริ่มต้น = ไม่มี
เลิกใช้งาน พารามิเตอร์นี้เลิกใช้งานแล้วและจะนำออกเร็วๆ นี้ โปรดอย่าพึ่งพา ถูกปิดใช้ด้วย --+incompatible_java_common_parameters ใช้ธงนี้เพื่อยืนยันว่าโค้ดของคุณเข้ากันได้กับการนำออกในเร็วๆ นี้
เลิกใช้งาน: คุณวางพารามิเตอร์นี้ได้ (host_javabase มาพร้อมกับ java_toolchain)
อาจส่งคืน None

provider

Provider java_common.provider

แสดงผลผู้ให้บริการที่ประกาศโดย Java
สามารถเข้าถึงค่าเดียวกับ JavaInfo ได้
ต้องการใช้ JavaInfo ในโค้ดใหม่

run_ijar

File java_common.run_ijar(actions, *, jar, target_label=None, java_toolchain)

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

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
actions ต้องระบุ
ctx.actions
jar ต้องระบุ
โหลที่ต้องวิ่งได้
target_label Label; or 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

to_java_binary_info

JavaInfo java_common.to_java_binary_info(java_info)

แสดงสำเนาของ JavaInfo ที่ระบุโดยมีข้อมูลเพียงเล็กน้อยซึ่งแสดงผลโดย java_binary

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
java_info ต้องระบุ
JavaInfo ที่จะปรับปรุง