การกำหนดค่า

นี่คือโมดูลระดับบนสุดสำหรับการสร้างการเปลี่ยนการกำหนดค่าและตัวอธิบายการตั้งค่าบิลด์ ซึ่งอธิบายว่ากฎเป็นการตั้งค่าบิลด์ประเภทใด (หากมี)

เช่น กฎต่อไปนี้ถูกทำเครื่องหมายเป็นการตั้งค่าบิลด์โดยการตั้งค่าพารามิเตอร์ build_setting ของฟังก์ชัน rule() โดยเฉพาะอย่างยิ่งเป็นการตั้งค่าบิลด์ประเภท int และเป็น flag ซึ่งหมายความว่าการตั้งค่าบิลด์นี้เรียกใช้ได้ในบรรทัดคำสั่ง

  my_rule = rule(
    implementation = _impl,
    build_setting = config.int(flag = True),
    ...
  )

สมาชิก

บูลีน

BuildSetting config.bool(*, flag=False)

การตั้งค่าบิลด์ประเภทบูลีน

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
flag บูลีน; ค่าเริ่มต้นคือ False
ระบุว่าการตั้งค่าบิลด์นี้เรียกใช้ได้ในบรรทัดคำสั่งหรือไม่

exec

ExecTransitionFactory config.exec(exec_group=None)

สร้างการเปลี่ยนการดำเนินการ

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
exec_group สตริง หรือ None; ค่าเริ่มต้นคือ None
ชื่อของกลุ่ม exec ที่การเปลี่ยนนี้จะใช้แพลตฟอร์มการดำเนินการ หากไม่ได้ระบุไว้ การเปลี่ยน exec นี้จะใช้แพลตฟอร์มการดำเนินการเริ่มต้นของเป้าหมาย

int

BuildSetting config.int(*, flag=False)

การตั้งค่าบิลด์ประเภทจำนวนเต็ม

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
flag บูลีน; ค่าเริ่มต้นคือ False
ระบุว่าการตั้งค่าบิลด์นี้เรียกใช้ได้ในบรรทัดคำสั่งหรือไม่

ไม่มี

transition config.none()

สร้างการเปลี่ยนที่จะนำการกำหนดค่าทั้งหมดออกและยกเลิกการตั้งค่าแฟล็กทั้งหมด มีไว้สำหรับกรณีที่ทรัพยากร Dependency เป็นข้อมูลเท่านั้นและไม่มีโค้ดที่ต้องสร้าง แต่ควรวิเคราะห์เพียงครั้งเดียว

สตริง

BuildSetting config.string(*, flag=False, allow_multiple=False)

การตั้งค่าบิลด์ประเภทสตริง

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
flag บูลีน; ค่าเริ่มต้นคือ False
ระบุว่าการตั้งค่าบิลด์นี้เรียกใช้ได้ในบรรทัดคำสั่งหรือไม่
allow_multiple บูลีน; ค่าเริ่มต้นคือ False
เลิกใช้งานแล้ว โปรดใช้การตั้งค่า string_list แทนrepeatable = True หากตั้งค่าไว้ แฟล็กนี้จะตั้งค่าได้หลายครั้งในบรรทัดคำสั่ง ค่าของแฟล็กเมื่อเข้าถึงในการเปลี่ยนและฟังก์ชันการใช้งานการตั้งค่าบิลด์จะเป็นรายการสตริง ระบบจะเก็บทั้งลำดับการแทรกและค่าที่ซ้ำกันไว้ คุณสามารถประมวลผลรายการนี้ในฟังก์ชันการใช้งานการตั้งค่าบิลด์ได้หากต้องการลักษณะการทำงานที่แตกต่างออกไป

string_list

BuildSetting config.string_list(*, flag=False, repeatable=False)

การตั้งค่าบิลด์ประเภทรายการสตริง ในบรรทัดคำสั่ง ให้ส่งรายการโดยใช้ค่าที่คั่นด้วยคอมมา เช่น --//my/setting=foo,bar

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
flag บูลีน; ค่าเริ่มต้นคือ False
ระบุว่าการตั้งค่าบิลด์นี้เรียกใช้ได้ในบรรทัดคำสั่งหรือไม่
repeatable บูลีน; ค่าเริ่มต้นคือ False
หากตั้งค่าไว้ แฟล็กนี้จะตั้งค่าได้หลายครั้งในบรรทัดคำสั่ง โดยแต่ละค่าจะถือเป็นสตริงเดียวเพื่อเพิ่มลงในค่ารายการ แทนที่จะคาดหวังค่าที่คั่นด้วยคอมมา ระบบจะเก็บทั้งลำดับการแทรกและค่าที่ซ้ำกันไว้ คุณสามารถประมวลผลรายการนี้ในฟังก์ชันการใช้งานการตั้งค่าบิลด์ได้หากต้องการลักษณะการทำงานที่แตกต่างออกไป

string_set

BuildSetting config.string_set(*, flag=False, repeatable=False)

การตั้งค่าบิลด์ประเภทชุดสตริง ค่าของการตั้งค่านี้จะเป็น ชุดสตริงใน Starlark ในบรรทัดคำสั่ง ให้ส่งชุดโดยใช้ค่าที่คั่นด้วยคอมมา เช่น --//my/setting=foo,bar

ลำดับขององค์ประกอบไม่สำคัญและระบบจะเก็บอินสแตนซ์เดียวของแต่ละองค์ประกอบไว้ ซึ่งแตกต่างจาก string_list เราขอแนะนำให้ใช้ string_list สำหรับแฟล็กที่ไม่จำเป็นต้องใช้พร็อพเพอร์ตี้เหล่านี้ เนื่องจากจะช่วยปรับปรุงประสิทธิภาพของบิลด์ได้โดยหลีกเลี่ยงการแยกการกำหนดค่าที่ไม่จำเป็น

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
flag บูลีน; ค่าเริ่มต้นคือ False
ระบุว่าการตั้งค่าบิลด์นี้เรียกใช้ได้ในบรรทัดคำสั่งหรือไม่
repeatable บูลีน; ค่าเริ่มต้นคือ False
หากตั้งค่าไว้ แฟล็กนี้จะตั้งค่าได้หลายครั้งในบรรทัดคำสั่ง โดยแต่ละค่าจะถือเป็นสตริงเดียวเพื่อเพิ่มลงในค่าชุด แทนที่จะคาดหวังค่าที่คั่นด้วยคอมมา ระบบจะเก็บอินสแตนซ์เดียวของค่าที่ซ้ำกันไว้และลำดับการแทรกไม่สำคัญ

เป้าหมาย

transition config.target()

สร้างการเปลี่ยนเป้าหมาย นี่คือการเปลี่ยนแบบไม่มีการดำเนินการ ซึ่งมีไว้สำหรับกรณีที่จำเป็นต้องใช้ออบเจ็กต์การเปลี่ยน แต่ไม่ต้องการเปลี่ยนสิ่งใดๆ เทียบเท่ากับ cfg = "target" ใน attr.label()