แสดงการเปลี่ยนการกำหนดค่าใน Edge Dependency เช่น หาก //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
|
จำเป็น ฟังก์ชันที่ใช้การเปลี่ยนนี้ ฟังก์ชันนี้จะมีพารามิเตอร์ 2 ตัวเสมอ ได้แก่ settings และ attr พารามิเตอร์ settings คือพจนานุกรมที่พารามิเตอร์อินพุตกำหนดชุดคีย์ ดังนั้น สำหรับการตั้งค่าบิลด์แต่ละรายการ --//foo=bar หาก inputs มี //foo settings จะมีรายการ settings['//foo']='bar' พารามิเตอร์ ฟังก์ชันนี้ต้องแสดงผล |
inputs
|
sequence of strings
ต้องระบุรายการการตั้งค่าบิลด์ที่อ่านได้จากการเปลี่ยนนี้ ซึ่งจะกลายเป็นชุดคีย์ของพารามิเตอร์การตั้งค่าของพารามิเตอร์ฟังก์ชันการใช้งาน |
outputs
|
sequence of strings
ต้องระบุรายการการตั้งค่าของบิลด์ที่เขียนได้ด้วยการเปลี่ยนนี้ ซึ่งต้องเป็นชุดพิเศษของชุดคีย์ของพจนานุกรมที่ส่งกลับมาจากการเปลี่ยนครั้งนี้ |