chuyển đổi

Đại diện cho quá trình chuyển đổi cấu hình trên một cạnh phụ thuộc. Ví dụ: nếu //package:foo phụ thuộc vào //package:bar với quá trình chuyển đổi cấu hình, thì cấu hình của //package:bar (và các phần phụ thuộc của nó) sẽ là cấu hình của //package:foo cộng với các thay đổi do hàm chuyển đổi chỉ định.

Hội viên

transition

transition transition(*, implementation, inputs, outputs)

Quá trình chuyển đổi đọ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, vui lòng xem tại đây.

Thông số

Tham số Mô tả
implementation callable; required
Hàm triển khai quá trình chuyển đổi này. Hàm này luôn có 2 tham số: settingsattr. Tham số settings là một từ điển có tập hợp 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ố attr là một tham chiếu đến ctx.attr. Điều này cho phép hàm triển khai truy cập vào các thuộc tính của quy tắc để thực hiện các quá trình chuyển đổi được tham số hoá thuộc tính.

Hàm này phải trả về một dict từ mã nhận dạng chế độ cài đặt bản dựng đến giá trị chế độ cài đặt bản dựng; điều này thể hiện quá trình chuyển đổi cấu hình: đối với mỗi mục nhập trong dict được trả về, quá trình chuyển đổi sẽ cập nhật chế độ cài đặt đó thành giá trị mới. Tất cả các chế độ cài đặt khác đều không thay đổi. Hàm này cũng có thể trả về một list của dict hoặc một dict của dict trong trường hợp chuyển đổi phân tách.

inputs chuỗi ký tự; bắt buộc
Danh sách các chế độ cài đặt bản dựng mà quá trình chuyển đổi này có thể đọc. Danh sách này trở thành tập hợp khoá của tham số chế độ cài đặt của tham số hàm triển khai.
outputs chuỗi các chuỗi; bắt buộc
Danh sách các chế độ cài đặt bản dựng mà quá trình chuyển đổi này có thể ghi. Đây phải là một tập hợp mẹ của tập hợp khoá của từ điển do quá trình chuyển đổi này trả về.