ข้อมูลเริ่มต้น

รายงานปัญหา ดูแหล่งที่มา Nightly · 8.4 · 8.3 · 8.2 · 8.1 · 8.0 · 7.6

ผู้ให้บริการที่ให้ข้อมูลทั่วไปเกี่ยวกับไฟล์โดยตรงและไฟล์ที่ส่งต่อของเป้าหมาย ทุกกฎจะมีผู้ให้บริการนี้ แม้ว่าฟังก์ชันการติดตั้งใช้งานของกฎจะไม่แสดงผู้ให้บริการนี้ออกมาอย่างชัดเจนก็ตาม อินสแตนซ์ DefaultInfo แต่ละรายการมีฟิลด์ต่อไปนี้

  • files
  • files_to_run
  • data_runfiles
  • default_runfiles
ดูคำแนะนำแบบละเอียดเกี่ยวกับวิธีใช้ผู้ให้บริการรายนี้ได้ที่หน้ากฎ

สมาชิก

DefaultInfo

DefaultInfo DefaultInfo(files=None, runfiles=None, data_runfiles=None, default_runfiles=None, executable=None)

เครื่องมือสร้าง DefaultInfo

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
files depset หรือ None ค่าเริ่มต้นคือ None
depset ของออบเจ็กต์ File ที่แสดงเอาต์พุตเริ่มต้นที่จะสร้างเมื่อระบุเป้าหมายนี้ในบรรทัดคำสั่งของ Bazel โดยค่าเริ่มต้นจะเป็นเอาต์พุตที่ประกาศไว้ล่วงหน้าทั้งหมด
runfiles runfiles หรือ None ค่าเริ่มต้นคือ None
คำอธิบาย runfiles จะอธิบายไฟล์ที่เป้าหมายนี้ต้องการเมื่อเรียกใช้ (ผ่านคำสั่ง run หรือเป็นทรัพยากร Dependency ของเครื่องมือ)
data_runfiles runfiles หรือ None ค่าเริ่มต้นคือ None

ขอแนะนําให้หลีกเลี่ยงการใช้พารามิเตอร์นี้ (ดู "ฟีเจอร์ runfiles ที่ควรหลีกเลี่ยง")

คำอธิบาย runfiles จะอธิบาย runfiles ที่เป้าหมายนี้ต้องการเมื่อเรียกใช้ เมื่อเป็นทรัพยากร Dependency ผ่านแอตทริบิวต์ data
default_runfiles runfiles หรือ None ค่าเริ่มต้นคือ None

ขอแนะนําให้หลีกเลี่ยงการใช้พารามิเตอร์นี้ (ดู "ฟีเจอร์ runfiles ที่ควรหลีกเลี่ยง")

คำอธิบาย runfiles จะอธิบาย runfiles ที่เป้าหมายนี้ต้องการเมื่อเรียกใช้ เมื่อเป็นทรัพยากร Dependency ผ่านแอตทริบิวต์อื่นๆ นอกเหนือจากแอตทริบิวต์ data
executable File หรือ None ค่าเริ่มต้นคือ None
หากกฎนี้มีการทำเครื่องหมายเป็น executable หรือ test ค่านี้จะเป็นออบเจ็กต์ File ซึ่งแสดงถึงไฟล์ที่ควรเรียกใช้เพื่อให้เป้าหมายทำงาน โดยค่าเริ่มต้นจะเป็นเอาต์พุต ctx.outputs.executable ที่ประกาศไว้ล่วงหน้า

data_runfiles

runfiles DefaultInfo.data_runfiles

คำอธิบาย runfiles จะอธิบายไฟล์ที่เป้าหมายนี้ต้องการเมื่อเรียกใช้ในกรณีที่เป้าหมายนี้เป็นแอตทริบิวต์ data ซึ่งเป็นทรัพยากร Dependency ในกรณีส่วนใหญ่ ให้ใช้พารามิเตอร์ default_runfiles แทน ดูรายละเอียดได้ที่ "ฟีเจอร์ของไฟล์ที่เรียกใช้ที่ควรหลีกเลี่ยง" อาจส่งคืน None

default_runfiles

runfiles DefaultInfo.default_runfiles

คำอธิบาย Runfiles ที่อธิบายไฟล์ที่เป้าหมายนี้ต้องการเมื่อเรียกใช้ (ผ่านคำสั่ง run หรือเป็นทรัพยากร Dependency ของเครื่องมือ) อาจส่งคืน None

files

depset DefaultInfo.files

depset ของออบเจ็กต์ File ที่แสดงเอาต์พุตเริ่มต้นที่จะสร้างเมื่อระบุเป้าหมายนี้ในบรรทัดคำสั่ง Bazel โดยค่าเริ่มต้นจะเป็นเอาต์พุตที่ประกาศไว้ล่วงหน้าทั้งหมด อาจส่งคืน None

files_to_run

FilesToRunProvider DefaultInfo.files_to_run

ออบเจ็กต์ FilesToRunProvider ที่มีข้อมูลเกี่ยวกับไฟล์ปฏิบัติการและ runfiles ของเป้าหมาย อาจส่งคืน None

to_json

string DefaultInfo.to_json()

เลิกใช้งาน API นี้เลิกใช้งานแล้วและจะถูกนำออกเร็วๆ นี้ โปรดอย่าใช้ API นี้ ระบบจะปิด เมื่อใช้ Flag ---incompatible_struct_has_no_methods ใช้ Flag นี้เพื่อยืนยันว่าโค้ดของคุณทำงานได้โดยไม่พึ่งพา API ที่กำลังจะถูกนำออก
สร้างสตริง JSON จากพารามิเตอร์โครงสร้าง วิธีนี้จะใช้ได้ก็ต่อเมื่อองค์ประกอบ struct ทั้งหมด (รวมถึงที่ซ้อนอยู่) เป็นสตริง, int, บูลีน, 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) แทน ซึ่งใช้ได้กับค่าอื่นๆ ที่ไม่ใช่ structs และไม่ทำให้เนมสเปซของฟิลด์ structs เสียหาย

to_proto

string DefaultInfo.to_proto()

เลิกใช้งาน API นี้เลิกใช้งานแล้วและจะถูกนำออกเร็วๆ นี้ โปรดอย่าใช้ API นี้ ระบบจะปิด เมื่อใช้ Flag ---incompatible_struct_has_no_methods ใช้ Flag นี้เพื่อยืนยันว่าโค้ดของคุณทำงานได้โดยไม่พึ่งพา API ที่กำลังจะถูกนำออก
สร้างข้อความจากพารามิเตอร์ struct วิธีนี้จะใช้ได้ก็ต่อเมื่อองค์ประกอบ struct ทั้งหมด (รวมถึงที่ซ้อนอยู่) เป็นสตริง, int, บูลีน, struct หรือพจนานุกรม หรือรายการอื่นๆ ที่เป็นชนิดข้อมูลเหล่านี้ ระบบจะใช้อักขระหลีกแทนเครื่องหมายคำพูดและบรรทัดใหม่ในสตริง และจะวนซ้ำคีย์ 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) แทน