Bạn có thể tải các hàm sau từ
@bazel_tools//tools/build_defs/repo:utils.bzl.
Các tiện ích để thao tác với 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 kho lưu trữ khác. Bạn có thể tải các tiện ích này 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.
Quy tắc này được dùng trong hàm triển khai của
quy tắc kho lưu trữ. Quy tắc này giả định rằng các tham số remote_file_urls và
remote_file_integrity có trong 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. |
auth |
không bắt buộc.
giá trị mặc định là None
Một từ điển 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 từ điển xác thực chính xác cho danh sách URL từ tệp .netrc.
Hỗ trợ các thuộc tính netrc và auth_patterns không bắt buộc nếu có.
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. |
urls |
bắt buộc.
danh sách URL để đọc |
Giá trị trả về
từ điển xác thực có thể được truyền đến repository_ctx.download
maybe
load("@bazel//tools/build_defs/repo:utils.bzl", "maybe")
maybe(repo_rule, name, **kwargs)
Hàm tiện ích chỉ thêm kho lưu trữ nếu kho lưu trữ đó chưa có.
Hàm này dùng để triển khai macro repositories.bzl an toàn được ghi lại trong https://bazel.build/rules/deploying#dependencies.
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
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.
Thông số
contents |
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ề
từ điển liên kết tên máy với một từ điển chứa thông tin được cung cấp về các tên máy đó
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 hàm triển khai của
quy tắc kho lưu trữ. Nếu bạn không chỉ định các tham số patches, patch_tool,
patch_args, patch_cmds và patch_cmds_win, thì các tham số này 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.
giá trị mặc định là None
Các tệp bản vá cần á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 cho việc vá, được truyền từng lệnh một đến bash -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 cho việc vá, được truyền từng lệnh một đến powershell /c. Danh sách chuỗi. Nếu giá trị boolean của tham số này là false, thì patch_cmds sẽ được sử dụng và 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á để thực thi cho việc á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ố để truyền đến công cụ bản vá. Danh sách chuỗi. |
auth |
không bắt buộc.
giá trị mặc định là None
Một 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
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.
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ề
từ điển liên kết tên máy với một từ điển chứa thông tin được cung cấp về các tên máy đó
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.
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. |
Giá trị trả về
từ điển liên kết tên máy với một từ điển chứa thông tin được cung cấp về các tên máy đó.
update_attrs
load("@bazel//tools/build_defs/repo:utils.bzl", "update_attrs")
update_attrs(orig, keys, override)
Hàm tiện ích để 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ể.
Hàm này dùng để tạo một quy tắc có thể tái tạo.
Thông số
orig |
bắt buộc.
từ điển của các thuộc tính thực sự được đặt (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 |
bắt buộc.
tập hợp đầy đủ các thuộc tính được xác định trên quy tắc này |
override |
bắt buộc.
từ điển của các thuộc tính để ghi đè hoặc thêm vào orig |
Giá trị trả về
từ điển của các thuộc tính có các khoá từ ghi đè được 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 từ điển xác thực từ tệp netrc đã phân tích cú pháp và danh sách URL.
Thông số
netrc |
bắt buộc.
tệp netrc đã được phân tích cú pháp thành một từ điển, ví dụ: như được lấy từ read_netrc |
urls |
bắt buộc.
danh sách URL. |
patterns |
bắt buộc.
từ điển không bắt buộc của URL đến các mẫu uỷ quyền |
Giá trị trả về
từ điển phù hợp làm đối số xác thực cho ctx.download; cụ thể hơn, từ điển sẽ liên kết tất cả URL mà tệp netrc cung cấp thông tin đăng nhập và mật khẩu với một từ điển 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ư mối liên kết của "type" với "basic" hoặc "pattern".
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à 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ữ.
Quy tắc này giả định rằng 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à None.
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. |