การกำหนดค่า

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

เช่น กฎต่อไปนี้ถูกทำเครื่องหมายเป็นการตั้งค่าบิลด์โดยการตั้งค่าพารามิเตอร์ 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
ชื่อของกลุ่มการดำเนินการที่แพลตฟอร์มการดำเนินการของการเปลี่ยนนี้จะใช้ หากไม่ได้ระบุไว้ การเปลี่ยนการดำเนินการนี้จะใช้แพลตฟอร์มการดำเนินการเริ่มต้นของเป้าหมาย

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()