ข้อมูล 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 ที่เพิ่มเวลาที่ขึ้นต่อเวลาคอมไพล์แทน 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 เกี่ยวกับทรัพยากร Dependency ของเวลาคอมไพล์ที่ JavaCompileAction จะใช้ โปรโตคอลนี้ควรเป็นไบนารี Proto ที่เข้ารหัสโดยใช้ deps.prof probuf ที่มาพร้อมกับ Bazel ไฟล์นี้มักจะสร้างขึ้นโดยคอมไพเลอร์ส่วนหัว (หากมี)
generated_class_jar File; or None; ค่าเริ่มต้น = ไม่มี
ไฟล์ Jar ที่มีไฟล์คลาสที่คอมไพล์จากแหล่งที่มาที่สร้างขึ้นระหว่างการประมวลผลคำอธิบายประกอบ
generated_source_jar File; or None; ค่าเริ่มต้น = ไม่มี
Jar แหล่งที่มาที่สร้างขึ้นเนื่องมาจากการประมวลผลคำอธิบายประกอบ
native_headers_jar File; or None; ค่าเริ่มต้น = ไม่มี
Jar ที่มีไฟล์ส่วนหัว CC ที่รองรับการใช้งานเมธอดแบบเนทีฟ (โดยปกติจะเป็นเอาต์พุต javac -h)
manifest_proto File; or None; ค่าเริ่มต้น = ไม่มี
ข้อมูลไฟล์ Manifest สำหรับเอาต์พุตกฎ (หากมี) โปรโตคอลนี้ควรเป็นไบนารี Proto ที่เข้ารหัสโดยใช้ Manifest.prof Protobuf ที่มาพร้อมกับ Bazel IDE และเครื่องมืออื่นๆ จะใช้ข้อมูลนี้เพื่อการประมวลผลที่มีประสิทธิภาพยิ่งขึ้น
ค่าเริ่มต้น = เท็จ
หากเป็น "จริง" ให้ใช้ไลบรารีนี้สำหรับการคอมไพล์เท่านั้น ไม่ใช้ระหว่างรันไทม์
deps sequence of JavaInfos; ค่าเริ่มต้น = []
รวบรวมทรัพยากร Dependency ของเวลาที่ใช้สร้าง Jar เอาต์พุต
runtime_deps sequence of JavaInfos; ค่าเริ่มต้น = []
ทรัพยากร Dependency ของรันไทม์ที่จำเป็นสำหรับไลบรารีนี้
exports sequence of JavaInfos; ค่าเริ่มต้น = []
ไลบรารีที่จะพร้อมใช้งานสำหรับผู้ใช้ไลบรารีนี้ โปรดดู java_library.exports ด้วย
exported_plugins sequence of JavaPluginInfos; ค่าเริ่มต้น = []
รายการปลั๊กอินที่ส่งออก ไม่บังคับ
jdeps File; or None; ค่าเริ่มต้น = ไม่มี
ข้อมูล jdeps สำหรับเอาต์พุตกฎ (หากมี) โปรโตคอลนี้ควรเป็นไบนารี Proto ที่เข้ารหัสโดยใช้ deps.prof probuf ที่มาพร้อมกับ Bazel (หากมี) ไฟล์นี้มักจะสร้างขึ้นโดยคอมไพเลอร์ IDE และเครื่องมืออื่นๆ จะใช้ข้อมูลนี้เพื่อการประมวลผลที่มีประสิทธิภาพยิ่งขึ้น
native_libraries sequence of CcInfos; ค่าเริ่มต้น = []
CC ทรัพยากร 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 ระบบจะสร้าง Jar ของส่วนหัวจากแหล่งที่มา ซึ่งจะลดเส้นทางวิกฤติ

api_generating_plugins เป็นชุดย่อยของ plugins

compilation_info

java_compilation_info JavaInfo.compilation_info

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

compile_jars

depset JavaInfo.compile_jars

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

full_compile_jars

depset JavaInfo.full_compile_jars

แสดงผล Jars เวลาคอมไพล์แบบเต็มตามปกติที่เป้าหมายนี้ต้องการโดยตรง ซึ่งอาจเป็น
  • Jars ปกติที่เกี่ยวข้องของ Jars ของอินเทอร์เฟซที่แสดงโดย JavaInfo.compile_jars
  • 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

แสดงการกำหนดค่า Flag โมดูล 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 อื่นๆ หรือ dicts หรือรายการในประเภทเหล่านี้ ระบบจะใช้อักขระหลีกกับเครื่องหมายคำพูดและบรรทัดใหม่ในสตริง คีย์โครงสร้างจะทำซ้ำตามลำดับที่จัดเรียง ตัวอย่าง:
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
# }

เลิกใช้งานแล้ว: ใช้ protocol.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 ที่มีไฟล์ต้นฉบับของเป้าหมายปัจจุบันและ Dependency แบบทรานซิทีฟทั้งหมด