Các hàm sau đây có thể được tải 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
Những phần mềm tiện ích này dành cho các quy tắc khác về kho lưu trữ. Chúng có thể được tải như sau.
load(
"@bazel_tools//tools/build_defs/repo:utils.bzl",
"workspace_and_buildfile",
"patch",
"update_attrs",
)
download_remote_files
load("@bazel//tools/build_defs/repo:utils.bzl", "download_remote_files") download_remote_files(ctx, auth)
Hàm tiện ích để tải tệp từ xa xuống.
Quy tắc này được dùng trong chức năng triển khai của
quy tắc kho lưu trữ. Hàm này giả định các tham số remote_file_urls
và
remote_file_integrity
sẽ xuất hiện trong ctx.attr
.
Tham số
ctx |
là bắt buộc.
Ngữ cảnh kho lưu trữ của quy tắc kho lưu trữ gọi tiện ích này . |
auth |
không bắt buộc.
giá trị mặc định là None
Một lệnh chính xác không bắt buộc chỉ định thông tin xác thực cho một số URL. |
get_auth
load("@bazel//tools/build_defs/repo:utils.bzl", "get_auth") get_auth(ctx, urls)
Hàm tiện ích để lấy lệnh chính xác xác thực chính xác cho danh sách các URL trong tệp .netrc.
Hỗ trợ các thuộc tính netrc và auth_patterns không bắt buộc nếu có.
Tham số
ctx |
là bắt buộc.
Ngữ cảnh kho lưu trữ của quy tắc kho lưu trữ gọi tiện ích này . |
urls |
là bắt buộc.
danh sách các URL cần đọc |
Giá trị trả về
lệnh chính xác thực có thể được truyền đến kho_ctx.download
có thể
load("@bazel//tools/build_defs/repo:utils.bzl", "maybe") maybe(repo_rule, name, **kwargs)
Hàm tiện ích chỉ dùng để thêm kho lưu trữ nếu chưa có kho lưu trữ.
Việc này là để triển khai repository.bzl macro an toàn được ghi lại trong https://bazel.build/rules/deploying#dependencies.
Tham số
repo_rule |
là bắt buộc.
hàm quy tắc kho lưu trữ. |
name |
là 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 chuyển đến hàm repo_rules. |
Giá trị trả về
Không có gì, định nghĩa kho lưu trữ khi cần ở dạng hiệu ứng phụ.
parse_netrc
load("@bazel//tools/build_defs/repo:utils.bzl", "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.
Tham số
contents |
là bắt buộc.
đầu vào cho trình phân tích cú pháp. |
filename |
không bắt buộc.
giá trị 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 với một dict với thông tin được cung cấp về họ
bản vá
load("@bazel//tools/build_defs/repo:utils.bzl", "patch") 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 chức năng 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
chưa được chỉ định
thì chúng sẽ được lấy từ ctx.attr
.
Tham số
ctx |
là bắt buộc.
Ngữ cảnh kho lưu trữ của quy tắc kho lưu trữ gọi tiện ích này . |
patches |
không bắt buộc.
giá trị mặc định là None
Các tệp bản vá sẽ áp dụng. Danh sách chuỗi, Nhãn hoặc đường dẫn. |
patch_cmds |
không bắt buộc.
giá trị mặc định là None
Các lệnh Bash để chạy để vá, đã truyền một lệnh vào một đến lúc đánh -c. Danh sách chuỗi |
patch_cmds_win |
không bắt buộc.
giá trị mặc định là None
Các lệnh Powershell để chạy để vá lỗi, đã được truyền từng lần một để bật nguồn /c. Danh sách chuỗi. Nếu giá trị boolean của tham số này là false, patch_cmds sẽ là nên tham số này sẽ bị bỏ qua. |
patch_tool |
không bắt buộc.
giá trị mặc định là None
Đường dẫn của công cụ bản vá sẽ thực thi để áp dụng bản vá. Chuỗi. |
patch_args |
không bắt buộc.
giá trị mặc định là None
Các đối số cần chuyển đến công cụ vá. Danh sách chuỗi. |
auth |
không bắt buộc.
giá trị mặc định là None
Một lệnh chính xác không bắt buộc chỉ định thông tin xác thực cho một số URL. |
read_netrc
load("@bazel//tools/build_defs/repo:utils.bzl", "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.
Tham số
ctx |
là bắt buộc.
Ngữ cảnh kho lưu trữ của quy tắc kho lưu trữ gọi tiện ích này . |
filename |
là 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 với một dict với thông tin được cung cấp về họ
read_user_netrc
load("@bazel//tools/build_defs/repo:utils.bzl", "read_user_netrc") read_user_netrc(ctx)
Đọc tệp netrc mặc định của người dùng.
Tham số
ctx |
là 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 với một lệnh dict kèm theo thông tin được cung cấp về chúng.
update_attrs
load("@bazel//tools/build_defs/repo:utils.bzl", "update_attrs") update_attrs(orig, keys, override)
Hàm tiện ích dùng để thay đổi và thêm các thuộc tính được chỉ định vào một lệnh gọi quy tắc kho lưu trữ cụ thể.
Quy tắc này được dùng để tạo quy tắc có thể tái tạo.
Tham số
orig |
là bắt buộc.
nhập bằng giọng nói của các thuộc tính thực sự được thiết lập (một cách rõ ràng hoặc ngầm ẩn) bằng một lệnh gọi quy tắc cụ thể |
keys |
là bắt buộc.
bộ thuộc tính hoàn chỉnh được xác định theo quy tắc này |
override |
là bắt buộc.
nhập chính tả của các thuộc tính để ghi đè hoặc thêm vào orig |
Giá trị trả về
nhập chính tả các thuộc tính có khoá từ chế độ ghi đè đã chèn/cập nhật
use_netrc
load("@bazel//tools/build_defs/repo:utils.bzl", "use_netrc") use_netrc(netrc, urls, patterns)
Tính toán một lệnh chính xác 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.
Tham số
netrc |
là 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 |
là bắt buộc.
danh sách URL. |
patterns |
là 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 thích hợp làm đối số xác thực cho ctx.download; chính xác hơn, lệnh chính tả sẽ ánh xạ tất cả các URL mà tệp netrc cung cấp thông tin đăng nhập và mật khẩu chính tả chứa thông tin đăng nhập, mật khẩu và mẫu uỷ quyền tuỳ chọn tương ứng, cũng như việc liên kết "loại" thành "cơ bản" hoặc "pattern" (hoa văn).
workspace_and_buildfile
load("@bazel//tools/build_defs/repo:utils.bzl", "workspace_and_buildfile") workspace_and_buildfile(ctx)
Hàm tiện ích để ghi WORKSPACE và nếu được yêu cầu, hãy thêm tệp BUILD.
Quy tắc này được dùng trong chức năng triển khai của một
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
sẽ trở thành
có trong ctx.attr
; bốn số sau có thể có giá trị Không có.
Tham số
ctx |
là bắt buộc.
Ngữ cảnh kho lưu trữ của quy tắc kho lưu trữ gọi tiện ích này . |