Bạn có thể tải các hàm sau từ @bazel_tools//tools/build_defs/repo:utils.bzl
.
Tiện ích thao tác với các kho lưu trữ bên ngoài, sau khi tìm nạp.
Thiết lập
Các tiện ích này được dùng cho các quy tắc khác của kho lưu trữ. Bạn có thể tải các tệp này như sau.
load(
"@bazel_tools//tools/build_defs/repo:utils.bzl",
"workspace_and_buildfile",
"patch",
"update_attrs",
)
có thể
maybe(repo_rule, name, kwargs)
Hàm tiện ích chỉ thêm kho lưu trữ nếu chưa có.
Việc này là để triển khai các kho lưu trữ an toàn.bzl macro được nêu trong https://bazel.build/rules/deploying#attributes.
Thông số
repo_rule |
bắt buộc.
hàm quy tắc kho lưu trữ. |
name |
bắt buộc.
tên của kho lưu trữ cần tạo. |
kwargs |
không bắt buộc.
các đối số còn lại được truyền đến hàm repo_rule. |
Giá trị trả về
Không có gì, xác định kho lưu trữ khi cần dưới dạng tác dụng phụ.
parse_netrc
parse_netrc(contents, filename)
Hàm tiện ích để phân tích cú pháp ít nhất một tệp .netrc cơ bản.
Thông số
contents |
bắt buộc.
dữ liệu đầu vào cho trình phân tích cú pháp. |
filename |
không bắt buộc. mặc định là None
tên tệp để sử dụng trong thông báo lỗi (nếu có). |
Giá trị trả về
dict ánh xạ tên máy đến một dict với thông tin được cung cấp về chúng
bản vá
patch(ctx, patches, patch_cmds, patch_cmds_win, patch_tool, patch_args, auth)
Triển khai việc vá một kho lưu trữ đã được trích xuất.
Quy tắc này được dùng trong hàm triển khai của quy tắc kho lưu trữ. Nếu các tham số patches
, patch_tool
, patch_args
, patch_cmds
và patch_cmds_win
không được chỉ định, thì chúng sẽ được lấy từ ctx.attr
.
Thông số
ctx |
bắt buộc.
Ngữ cảnh kho lưu trữ của quy tắc kho lưu trữ gọi hàm tiện ích này. |
patches |
không bắt buộc. mặc định là None
Các tệp bản vá sẽ áp dụng. Danh sách các chuỗi, Nhãn hoặc đường dẫn. |
patch_cmds |
không bắt buộc. mặc định là None
Các lệnh Bash để chạy nhằm vá lỗi, được truyền lần lượt vào bash -c. Danh sách chuỗi |
patch_cmds_win |
không bắt buộc. mặc định là None
Các lệnh Powershell để chạy cho việc vá, được truyền lần lượt đến powershell /c. Danh sách chuỗi. Nếu giá trị boolean của thông số này là false, thì patch_cmds sẽ được sử dụng và thông số này sẽ bị bỏ qua. |
patch_tool |
không bắt buộc. mặc định là None
Đường dẫn của công cụ vá để thực thi nhằm áp dụng các bản vá. Chuỗi. |
patch_args |
không bắt buộc. mặc định là None
Đối số để truyền đến công cụ vá. Danh sách chuỗi. |
auth |
không bắt buộc. mặc định là None
Một tập hợp từ điển không bắt buộc chỉ định thông tin xác thực cho một số URL. |
read_netrc
read_netrc(ctx, filename)
Hàm tiện ích để phân tích cú pháp ít nhất một tệp .netrc cơ bản.
Thông số
ctx |
bắt buộc.
Ngữ cảnh kho lưu trữ của quy tắc kho lưu trữ gọi hàm tiện ích này. |
filename |
bắt buộc.
tên của tệp .netrc cần đọc |
Giá trị trả về
dict ánh xạ tên máy đến một dict có thông tin được cung cấp về các tên đó
read_user_netrc
read_user_netrc(ctx)
Đọc tệp netrc mặc định của người dùng.
Thông số
ctx |
bắt buộc.
Ngữ cảnh kho lưu trữ của quy tắc kho lưu trữ gọi hàm hiệu dụng này. |
Giá trị trả về
dict ánh xạ tên máy đến một dict có thông tin được cung cấp về các tên đó.
update_attrs
update_attrs(orig, keys, override)
Hàm tiện ích để thay đổi và thêm các thuộc tính đã chỉ định vào một lệnh gọi quy tắc kho lưu trữ cụ thể.
Thuộc tính này dùng để tạo quy tắc có thể tái tạo.
Thông số
orig |
bắt buộc.
nhập chính tả của các thuộc tính thực sự được thiết lập (rõ ràng hoặc ngầm ẩn) bằng một lệnh gọi quy tắc cụ thể |
keys |
bắt buộc.
bộ thuộc tính hoàn chỉnh được xác định theo quy tắc này |
override |
bắt buộc.
tập hợp các thuộc tính để ghi đè hoặc thêm vào orig |
Giá trị trả về
dict của các thuộc tính có các khoá từ ghi đè được chèn/cập nhật
use_netrc
use_netrc(netrc, urls, patterns)
Tính toán một lệnh chính tả xác thực từ một tệp netrc đã phân tích cú pháp và một danh sách các URL.
Thông số
netrc |
bắt buộc.
một tệp netrc đã được phân tích cú pháp thành một lệnh chính tả, ví dụ: lấy từ read_netrc |
urls |
bắt buộc.
danh sách URL. |
patterns |
bắt buộc.
nhập chính tả không bắt buộc của url vào mẫu uỷ quyền |
Giá trị trả về
dict phù hợp làm đối số xác thực cho ctx.download; chính xác hơn, dict sẽ ánh xạ tất cả URL mà tệp netrc cung cấp thông tin đăng nhập và mật khẩu đến một dict chứa thông tin đăng nhập, mật khẩu và mẫu uỷ quyền không bắt buộc tương ứng, cũng như ánh xạ "type" (loại) thành "basic" (cơ bản) hoặc "pattern" (mẫu).
workspace_and_buildfile
workspace_and_buildfile(ctx)
Hàm tiện ích để ghi WORKSPACE và tệp BUILD (nếu được yêu cầu).
Quy tắc này được dùng trong hàm triển khai của quy tắc kho lưu trữ.
Hàm này giả định các tham số name
, build_file
, build_file_content
, workspace_file
và workspace_file_content
có trong ctx.attr
; 4 tham số sau có thể có giá trị là Không.
Thông số
ctx |
bắt buộc.
Ngữ cảnh kho lưu trữ của quy tắc kho lưu trữ gọi hàm tiện ích này. |