แสดงการเปลี่ยนการกำหนดค่าในขอบการอ้างอิง เช่น หาก //package:foo ขึ้นอยู่กับ //package:bar ที่มีการเปลี่ยนการกำหนดค่า การกำหนดค่าของเป้าหมายทั้ง 2 รายการนี้จะแตกต่างกัน โดยการเปลี่ยนของ //package:bar จะกำหนดโดยการเปลี่ยนของ //package:foo ตามฟังก์ชันที่กำหนดโดยออบเจ็กต์การเปลี่ยน
สมาชิก
การเปลี่ยน
transition transition(implementation, inputs, outputs)
ตัวอย่าง
def _transition_impl(settings, attr):
# This transition just reads the current CPU value as a demonstration.
# A real transition could incorporate this into its followup logic.
current_cpu = settings["//command_line_option:cpu"]
return {"//command_line_option:compilation_mode": "dbg"}
build_in_debug_mode = transition(
implementation = _transition_impl,
inputs = ["//command_line_option:cpu"],
outputs = ["//command_line_option:compilation_mode"],
)ดูรายละเอียดเพิ่มเติมที่นี่
พารามิเตอร์
| พารามิเตอร์ | คำอธิบาย |
|---|---|
implementation
|
callable;
required ฟังก์ชันที่ใช้การเปลี่ยนสถานะนี้ ฟังก์ชันนี้มีพารามิเตอร์ 2 รายการเสมอ ได้แก่ settings และ attr settings param คือพจนานุกรมที่มีชุดคีย์ซึ่งกำหนดโดยพารามิเตอร์อินพุต ดังนั้น สำหรับการตั้งค่าบิลด์แต่ละรายการ --//foo=bar หาก inputs มี //foo settings จะมีรายการ settings['//foo']='bar'พารามิเตอร์ ฟังก์ชันนี้ต้องส่งคืน |
inputs
|
ลำดับของสตริง
ต้องระบุ รายการการตั้งค่าการสร้างที่ทรานซิชันนี้อ่านได้ ซึ่งจะกลายเป็นชุดคีย์ของพารามิเตอร์การตั้งค่าของพารามิเตอร์ฟังก์ชันการติดตั้งใช้งาน |
outputs
|
ลำดับของสตริง
ต้องระบุ รายการการตั้งค่าการสร้างที่ทรานซิชันนี้เขียนได้ ซึ่งต้องเป็นซูเปอร์เซ็ตของชุดคีย์ของพจนานุกรมที่การเปลี่ยนผ่านนี้ส่งคืน |