sử dụng quy tắc kho lưu trữ

Báo cáo vấn đề Xem nguồn

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

Những tiện ích này dành cho các quy tắc khác về 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ỉ dùng để thêm kho lưu trữ nếu chưa có kho lưu trữ.

Việc này nhằm triển khai các kho lưu trữ an toàn.bzl macro được nêu trong https://bazel.build/rules/deploying#manifest.

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 truyề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

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. 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_cmdspatch_cmds_win không đượ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 hàm số hiệu dụng 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 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 để vá, lần lượt truyền từng lệnh đến 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 để vá, lần lượt truyền từng lệnh đế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ụ bản vá sẽ thực thi để áp dụng các bản vá. Chuỗi.

patch_args không bắt buộc. 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. 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

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 hàm số hiệu dụng 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 đến một dict với thông tin được cung cấp về chúng

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

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 (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

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, dict 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 cho một 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ư ánh xạ của "type" đến "cơ bản" hoặc "mẫu".

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 quy tắc kho lưu trữ. Hàm này giả định các tham số name, build_file, build_file_content, workspace_fileworkspace_file_content có trong ctx.attr; bốn tham 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 hàm số hiệu dụng này.