ข้อมูล Java

ผู้ให้บริการห่อหุ้มข้อมูลเกี่ยวกับเป้าหมายที่คล้าย Java และ Java

สมาชิก

JavaInfo

JavaInfo JavaInfo(output_jar, compile_jar, source_jar=None, compile_jdeps=None, generated_class_jar=None, generated_source_jar=None, native_headers_jar=None, manifest_proto=None, neverlink=False, deps=[], runtime_deps=[], exports=[], exported_plugins=[], jdeps=None, native_libraries=[])

ตัวสร้าง JavaInfo

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
output_jar ต้องระบุ
jar ที่สร้างขึ้นจากการคอมไพล์ (เช่น javac, scalac ฯลฯ)
compile_jar File; or None ต้องระบุ
jar ที่เพิ่มเป็น Dependency เวลาคอมไพล์แทน output_jar โดยทั่วไปนี่คือไจคาร์ที่ผลิตโดย run_ijar หากใช้ Ijar ไม่ได้ ให้ลองใช้เอาต์พุตของ stamp_ijar แทน หากไม่ต้องการใช้บัญชีใด คุณก็สามารถผ่าน output_jar ได้ มีกรณีพิเศษ 2 กรณีที่อาจตั้งค่าพารามิเตอร์นี้เป็น None เช่น การเพิ่ม jar ที่มีทรัพยากรหรือเมื่อใช้ในกฎเทอร์มินัลอย่าง java_binary
source_jar File; or None; ค่าเริ่มต้น = ไม่มี
Jar ต้นทางที่ใช้สร้าง Jar สำหรับเอาต์พุต ใช้ pack_sources เพื่อสร้าง Jar แหล่งที่มานี้
compile_jdeps File; or None; ค่าเริ่มต้น = ไม่มี
ข้อมูล jdeps เกี่ยวกับการอ้างอิงเวลาคอมไพล์ที่ JavaCompileAction จะใช้ ซึ่งควรเป็นไบนารี Proto ที่เข้ารหัสโดยใช้ deps.protobuf ที่มาพร้อมกับ Bazel โดยปกติแล้ว ไฟล์นี้จะสร้างขึ้นโดยคอมไพเลอร์ส่วนหัว (ถ้ามี)
generated_class_jar File; or None; ค่าเริ่มต้น = ไม่มี
ไฟล์ Jar ที่มีไฟล์คลาสซึ่งคอมไพล์จากแหล่งที่มาที่สร้างขึ้นระหว่างการประมวลผลคำอธิบายประกอบ
generated_source_jar File; or None; default = ไม่มี
Jar ต้นทางที่สร้างขึ้นจากการประมวลผลคำอธิบายประกอบ
native_headers_jar File; or None; ค่าเริ่มต้น = ไม่มี
Jar ที่มีไฟล์ส่วนหัว CC ที่รองรับการใช้งานเมธอดเนทีฟ (โดยปกติจะเป็นเอาต์พุตของ javac -h)
manifest_proto File; or None; ค่าเริ่มต้น = ไม่มี
ข้อมูลไฟล์ Manifest สำหรับเอาต์พุตกฎ (หากมี) ไฟล์นี้ควรเป็นไบนารี Proto ที่เข้ารหัสโดยใช้ Manifest.protobuf ที่รวมอยู่ใน Bazel IDE และเครื่องมืออื่นๆ สามารถใช้ข้อมูลนี้เพื่อการประมวลผลที่มีประสิทธิภาพยิ่งขึ้น
ค่าเริ่มต้น = False
หากเป็น true จะใช้ไลบรารีนี้สำหรับการคอมไพล์เท่านั้น ไม่ใช้ระหว่างรันไทม์
deps sequence of JavaInfos; ค่าเริ่มต้น = []
คอมไพล์ทรัพยากร Dependency ที่ใช้ในการสร้างโอ่งเอาต์พุต
runtime_deps sequence of JavaInfos; ค่าเริ่มต้น = []
ทรัพยากร Dependency รันไทม์ที่จำเป็นสำหรับไลบรารีนี้
exports sequence of JavaInfos; ค่าเริ่มต้น = []
ไลบรารีที่จะให้ผู้ใช้ของคลังนี้ใช้งานได้ ดู java_library.exports เพิ่มเติม
exported_plugins sequence of JavaPluginInfos; default = []
รายการปลั๊กอินที่ส่งออก ไม่บังคับ
jdeps File; or None; ค่าเริ่มต้น = ไม่มี
ข้อมูล jdeps สำหรับเอาต์พุตกฎ (หากมี) ซึ่งควรเป็นไบนารี Proto ที่เข้ารหัสโดยใช้ deps.protobuf ที่มาพร้อมกับ Bazel โดยปกติแล้ว ไฟล์นี้จะสร้างขึ้นโดยคอมไพเลอร์ (หากมี) IDE และเครื่องมืออื่นๆ สามารถใช้ข้อมูลนี้เพื่อการประมวลผลที่มีประสิทธิภาพยิ่งขึ้น
native_libraries sequence of CcInfos; ค่าเริ่มต้น = []
สำเนาถึงทรัพยากร Dependency ของไลบรารีเนทีฟที่จำเป็นสำหรับไลบรารีนี้

annotation_processing

java_annotation_processing JavaInfo.annotation_processing

แสดงผลข้อมูลเกี่ยวกับตัวประมวลผลคำอธิบายประกอบที่ใช้กับเป้าหมาย Java/Java นี้

เลิกใช้งานแล้ว: โปรดใช้ plugins แทน (ซึ่งแสดงข้อมูลเกี่ยวกับตัวประมวลผลคำอธิบายประกอบที่จะนำไปใช้โดยใช้เป้าหมาย) อาจส่งคืน None

api_generating_plugins

JavaPluginData JavaInfo.api_generating_plugins

แสดงผลข้อมูลเกี่ยวกับปลั๊กอินที่สร้าง API ที่เป้าหมายนี้กำหนดหรือส่งออก

ตัวประมวลผลคำอธิบายประกอบดังกล่าวจะใช้กับเป้าหมาย Java ก่อนที่จะสร้าง Jars ส่วนหัว (ซึ่งมีลายเซ็นของเมธอด) เมื่อไม่มีปลั๊กอิน API ระบบจะสร้าง Jars ส่วนหัวจากแหล่งที่มาซึ่งช่วยลดเส้นทางวิกฤติ

api_generating_plugins เป็นส่วนหนึ่งของ plugins

compilation_info

java_compilation_info JavaInfo.compilation_info

แสดงผลข้อมูลการคอมไพล์สำหรับเป้าหมายที่คล้ายกับ Java/Java นี้ อาจส่งคืน None

compile_jars

depset JavaInfo.compile_jars

แสดงผล Jars ที่เป้าหมายนี้ต้องใช้โดยตรง ณ เวลาคอมไพล์ โดยอาจเป็น Interface Jars (ijar หรือ hjar), Jar ปกติ หรือทั้งคู่ก็ได้ ขึ้นอยู่กับว่าการติดตั้งใช้งานกฎเลือกสร้าง Jars อินเทอร์เฟซหรือไม่

full_compile_jars

depset JavaInfo.full_compile_jars

แสดงผล Jars สำหรับเวลาคอมไพล์เต็มปกติที่เป้าหมายนี้ต้องการโดยตรง โดยสามารถ
  • Jars ปกติที่เกี่ยวข้องของอินเทอร์เฟซ Jars ที่ส่งคืนโดย JavaInfo.compile_jars
  • โหลปกติ (เต็ม) ที่ JavaInfo.compile_jars ส่งคืน

หมายเหตุ: JavaInfo.compile_jars สามารถแสดงผลการผสมผสานของอินเทอร์เฟซ Jars และ Jars แบบปกติ

ใช้วิธีนี้เฉพาะเมื่ออินเทอร์เฟซ Jars ไม่ทำงานกับชุดกฎของคุณ (เช่น เป้าหมาย Scala บางส่วน) ถ้าใช้เป้าหมายเฉพาะ Java คุณควรใช้อินเทอร์เฟซ Jars ผ่าน JavaInfo.compile_jars

java_outputs

list JavaInfo.java_outputs

แสดงข้อมูลเกี่ยวกับเอาต์พุตของเป้าหมายที่คล้าย Java/Java นี้

module_flags_info

JavaModuleFlagsProvider JavaInfo.module_flags_info

แสดงผลการกำหนดค่าแฟล็กโมดูล Java

เอาต์พุต

java_output_jars JavaInfo.outputs

แสดงข้อมูลเกี่ยวกับเอาต์พุตของเป้าหมายที่คล้าย Java/Java นี้ เลิกใช้งานแล้ว: ใช้ java_outputs อาจส่งคืน None

ปลั๊กอิน

JavaPluginData JavaInfo.plugins

แสดงผลข้อมูลเกี่ยวกับปลั๊กอินทั้งหมดที่กำหนดเป้าหมายการใช้งาน

ซึ่งโดยมากจะเป็น java_plugin เองหรือ java_library กำลังส่งออกปลั๊กอินอย่างน้อย 1 รายการ

java_library เรียกใช้การประมวลผลคำอธิบายประกอบโดยมีปลั๊กอินทั้งหมดจากช่องนี้ปรากฏในแอตทริบิวต์ deps และ plugins

runtime_output_jars

sequence JavaInfo.runtime_output_jars

แสดงผลรายการ Jars รันไทม์ที่สร้างโดยเป้าหมายที่คล้าย Java/Java นี้

source_jars

sequence JavaInfo.source_jars

แสดงผลรายการ Jars ที่มีไฟล์ต้นฉบับทั้งหมด (รวมถึงไฟล์ที่สร้างโดยคำอธิบายประกอบ) ของตัวเป้าหมายเอง เช่น ไม่รวมแหล่งที่มาของทรัพยากร Dependency แบบสกรรมกริยา

to_json

string JavaInfo.to_json()

เลิกใช้งานแล้ว API นี้เลิกใช้งานแล้วและจะถูกนำออกเร็วๆ นี้ โปรดอย่าพึ่งพาสิ่งนี้ ถูกปิดใช้กับ ---incompatible_struct_has_no_methods ใช้แฟล็กนี้เพื่อยืนยันว่าโค้ดเข้ากันได้กับการนําออกที่กำลังจะเกิดขึ้น
สร้างสตริง JSON จากพารามิเตอร์ Struct เมธอดนี้จะใช้งานได้ก็ต่อเมื่อองค์ประกอบ Struct ทั้งหมด (แสดงซ้ำๆ) เป็นสตริง, ints, บูลีน, Struct อื่นๆ รายการประเภทเหล่านี้ หรือพจนานุกรมที่มีคีย์สตริงและค่าประเภทดังกล่าว เครื่องหมายคำพูดและบรรทัดใหม่ในสตริงจะใช้อักขระหลีก ตัวอย่าง:
struct(key=123).to_json()
# {"key":123}

struct(key=True).to_json()
# {"key":true}

struct(key=[1, 2, 3]).to_json()
# {"key":[1,2,3]}

struct(key='text').to_json()
# {"key":"text"}

struct(key=struct(inner_key='text')).to_json()
# {"key":{"inner_key":"text"}}

struct(key=[struct(inner_key=1), struct(inner_key=2)]).to_json()
# {"key":[{"inner_key":1},{"inner_key":2}]}

struct(key=struct(inner_key=struct(inner_inner_key='text'))).to_json()
# {"key":{"inner_key":{"inner_inner_key":"text"}}}

เลิกใช้งาน: ใช้ json.encode(x) หรือ json.encode_indent(x) แทน ซึ่งใช้ได้กับค่าอื่นๆ ที่ไม่ใช่ Struct และไม่ทำให้เนมสเปซของช่อง Struct เสียหาย

to_proto

string JavaInfo.to_proto()

เลิกใช้งานแล้ว API นี้เลิกใช้งานแล้วและจะถูกนำออกเร็วๆ นี้ โปรดอย่าพึ่งพาสิ่งนี้ ถูกปิดใช้กับ ---incompatible_struct_has_no_methods ใช้แฟล็กนี้เพื่อยืนยันว่าโค้ดเข้ากันได้กับการนําออกที่กำลังจะเกิดขึ้น
สร้าง SMS จากพารามิเตอร์ Struct วิธีการนี้จะใช้งานได้ก็ต่อเมื่อองค์ประกอบ Struct ทั้งหมด (แบบเรียกซ้ำ) เป็นสตริง, ints, บูลีน, Struct หรือคำสั่งอื่นๆ หรือรายการประเภทเหล่านี้ เครื่องหมายคำพูดและบรรทัดใหม่ในสตริงจะใช้อักขระหลีก คีย์โครงสร้างจะทำซ้ำตามลำดับที่จัดเรียง ตัวอย่าง:
struct(key=123).to_proto()
# key: 123

struct(key=True).to_proto()
# key: true

struct(key=[1, 2, 3]).to_proto()
# key: 1
# key: 2
# key: 3

struct(key='text').to_proto()
# key: "text"

struct(key=struct(inner_key='text')).to_proto()
# key {
#   inner_key: "text"
# }

struct(key=[struct(inner_key=1), struct(inner_key=2)]).to_proto()
# key {
#   inner_key: 1
# }
# key {
#   inner_key: 2
# }

struct(key=struct(inner_key=struct(inner_inner_key='text'))).to_proto()
# key {
#    inner_key {
#     inner_inner_key: "text"
#   }
# }

struct(foo={4: 3, 2: 1}).to_proto()
# foo: {
#   key: 4
#   value: 3
# }
# foo: {
#   key: 2
#   value: 1
# }

เลิกใช้งาน: ใช้ proto.encode_text(x) แทน

transitive_compile_time_jars

depset JavaInfo.transitive_compile_time_jars

แสดงผลชุด Jars แบบถ่ายทอดที่จำเป็นต่อการสร้างเป้าหมาย

transitive_deps

depset JavaInfo.transitive_deps

เลิกใช้งานแล้ว: โปรดใช้ JavaInfo.transitive_compile_time_jars แทน แสดงผลค่าเดียวกัน

transitive_native_libraries

depset JavaInfo.transitive_native_libraries

แสดงผลชุดไลบรารีเนทีฟของ CC ที่เป้าหมายต้องการ

transitive_runtime_deps

depset JavaInfo.transitive_runtime_deps

เลิกใช้งานแล้ว: โปรดใช้ JavaInfo.transitive_runtime_jars แทน แสดงผลค่าเดียวกัน

transitive_runtime_jars

depset JavaInfo.transitive_runtime_jars

แสดงผลชุด Jars แบบทรานซีฟที่ต้องใช้บนคลาสพาธรันไทม์ของเป้าหมาย

transitive_source_jars

depset JavaInfo.transitive_source_jars

แสดงผล Jars ที่มีไฟล์ต้นทางของเป้าหมายปัจจุบันและการอ้างอิงทางอ้อมทั้งหมด