Quy tắc
action_listener
action_listener(name, compatible_with, deprecation, distribs, exec_compatible_with, exec_properties, extra_actions, features, licenses, mnemonics, restricted_to, tags, target_compatible_with, testonly, visibility)
CẢNH BÁO: Các thao tác bổ sung không còn được dùng nữa. Sử dụng góc nhìn thay thế.
Quy tắc action_listener
không tạo ra bất kỳ kết quả đầu ra nào.
Thay vào đó, nó cho phép nhà phát triển công cụ chèn
extra_action
vào hệ thống xây dựng,
bằng cách cung cấp bản đồ ánh xạ từ hành động đến extra_action
.
Các đối số của quy tắc này ánh xạ các ghi nhớ hành động thành
Quy tắc extra_action
.
Bằng cách chỉ định tuỳ chọn
--experimental_action_listener=<label>
,
bản dựng sẽ sử dụng action_listener
được chỉ định để chèn
extra_action
vào biểu đồ bản dựng.
Ví dụ:
action_listener( name = "index_all_languages", mnemonics = [ "Javac", "CppCompile", "Python", ], extra_actions = [":indexer"], ) action_listener( name = "index_java", mnemonics = ["Javac"], extra_actions = [":indexer"], ) extra_action( name = "indexer", tools = ["//my/tools:indexer"], cmd = "$(location //my/tools:indexer)" + "--extra_action_file=$(EXTRA_ACTION_FILE)", )
Đối số
Thuộc tính | |
---|---|
name |
Tên duy nhất cho mục tiêu này. |
extra_actions
|
extra_action
action_listener này sẽ được thêm vào biểu đồ bản dựng.
Ví dụ: [ "//my/tools:analyzer" ] .
|
mnemonics
|
action_listener này nên nghe
cho, ví dụ: [ "Javac" ]
Thuật toán ghi nhớ không phải là giao diện công khai. Không có gì đảm bảo rằng các hệ thống ghi nhớ và hành động của trẻ sẽ không thay đổi. |
extra_action
extra_action(name, data, cmd, compatible_with, deprecation, distribs, exec_compatible_with, exec_properties, features, licenses, out_templates, requires_action_output, restricted_to, tags, target_compatible_with, testonly, toolchains, tools, visibility)
CẢNH BÁO: Các thao tác bổ sung không còn được dùng nữa. Sử dụng góc nhìn thay thế.
Quy tắc extra_action
không tạo ra bất kỳ kết quả đầu ra có ý nghĩa nào
khi được chỉ định làm mục tiêu bản dựng thông thường. Thay vào đó, nền tảng này cho phép các nhà phát triển công cụ
để chèn thêm hành động vào biểu đồ tạo bản dựng sẽ làm mờ các hành động hiện có.
Xem action_listener
để biết chi tiết
về cách bật extra_action
.
extra_action
chạy dưới dạng một dòng lệnh. Công cụ dòng lệnh sẽ nhận được
quyền truy cập vào tệp có chứa vùng đệm giao thức dưới dạng $(EXTRA_ACTION_FILE)
kèm theo thông tin chi tiết về hành động ban đầu đang bị ẩn.
Ứng dụng này cũng có quyền truy cập vào tất cả các tệp đầu vào mà hành động gốc có quyền truy cập.
Hãy xem extra_actions_base.proto
để biết chi tiết về dữ liệu được lưu trữ bên trong vùng đệm giao thức. Mỗi tệp proto
chứa thông báo ExtraActionInfo.
Giống như mọi thao tác khác, các thao tác bổ sung có trong hộp cát và phải được thiết kế để xử lý việc đó.
Đối số
Thuộc tính | |
---|---|
name |
Tên duy nhất cho mục tiêu này. Bạn có thể tham chiếu đến quy tắc này bằnglabel trong đối số extra_actions
trong tổng số action_listener quy tắc.
|
cmd
|
Giống như thuộc tính cmd genrules bằng đoạn mã sau khác biệt:
|
out_templates
|
extra_action tạo.
Mẫu có thể sử dụng các biến sau:
|
requires_action_output
|
extra_action này yêu cầu đầu ra của
hành động ban đầu để hiển thị dưới dạng dữ liệu đầu vào cho extra_action này.
Khi đúng (mặc định là false), hàm extra_action có thể giả định rằng kết quả đầu ra của hành động ban đầu được cung cấp như một phần của dữ liệu đầu vào. |
tools
|
tool cho quy tắc này.
Xem định nghĩa về phần phụ thuộc để biết thêm của bạn.
Hệ thống xây dựng đảm bảo những điều kiện tiên quyết này được xây dựng trước khi chạy
Lệnh Tất cả các công cụ và phần phụ thuộc dữ liệu của chúng được hợp nhất thành một cây duy nhất mà trong đó lệnh có thể sử dụng các đường dẫn tương đối. Thư mục đang hoạt động sẽ là gốc của cây hợp nhất đó. |