Đại diện cho quá trình chuyển đổi cấu hình trên một cạnh phần phụ thuộc. Ví dụ: nếu //package:foo
phụ thuộc vào //package:bar
khi chuyển đổi cấu hình, thì cấu hình của hai mục tiêu này sẽ khác nhau: lượt chuyển đổi của //package:bar
sẽ được xác định bằng lượt chuyển đổi của //package:foo
, tuỳ thuộc vào hàm được đối tượng chuyển đổi xác định.
Hội viên
chuyển đổi
transition transition(implementation, inputs, outputs)Quá trình chuyển đổi sẽ đọc một tập hợp các chế độ cài đặt bản dựng đầu vào và ghi một tập hợp các chế độ cài đặt bản dựng đầu ra.
Ví dụ:
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"], )
Để biết thêm chi tiết, hãy xem tại đây.
Thông số
Thông số | Nội dung mô tả |
---|---|
implementation
|
bắt buộc Hàm triển khai quá trình chuyển đổi này. Hàm này luôn có 2 tham số: settings và attr . Tham số settings là một từ điển có tập hợp các khoá được xác định bằng tham số đầu vào. Vì vậy, đối với mỗi chế độ cài đặt bản dựng --//foo=bar , nếu inputs chứa //foo , thì settings sẽ có một mục nhập settings['//foo']='bar' .Tham số Hàm này phải trả về một |
inputs
|
sequence of strings ;
bắt buộcDanh sách chế độ cài đặt bản dựng mà hiệu ứng chuyển đổi này có thể đọc được. Đây sẽ trở thành tập hợp khoá của thông số cài đặt của thông số hàm triển khai. |
outputs
|
sequence of strings ;
bắt buộcDanh sách chế độ cài đặt bản dựng có thể được viết bằng quá trình chuyển đổi này. Đây phải là tập mẹ của tập hợp khoá từ điển mà quá trình chuyển đổi này trả về. |