Bạn có thể tải các hàm sau từ @bazel_tools//tools/build_defs/repo:local.bzl
.
Quy tắc để cung cấp các thư mục trong hệ thống tệp cục bộ dưới dạng kho lưu trữ.
Thiết lập
Để sử dụng các quy tắc này trong một tiện ích mô-đun, hãy tải các quy tắc đó vào tệp .bzl rồi gọi các quy tắc đó từ hàm triển khai của tiện ích. Ví dụ: để sử dụng local_repository
:
load("@bazel_tools//tools/build_defs/repo:local.bzl", "local_repository")
def _my_extension_impl(mctx):
local_repository(name = "foo", path = "foo")
my_extension = module_extension(implementation = _my_extension_impl)
Ngoài ra, bạn có thể trực tiếp gọi các quy tắc kho lưu trữ này trong tệp MODULE.bazel bằng use_repo_rule
:
local_repository = use_repo_rule("@bazel_tools//tools/build_defs/repo:local.bzl", "local_repository")
local_repository(name = "foo", path = "foo")
local_repository
local_repository(name, path, repo_mapping)
Tạo một thư mục cục bộ đã chứa các tệp Bazel dưới dạng kho lưu trữ. Thư mục này phải chứa các tệp BUILD của Bazel và một tệp ranh giới kho lưu trữ. Nếu thư mục này không chứa các tệp này, hãy cân nhắc sử dụng <a href="#new_local_repository"><code>new_local_repository</code></a>.
Thuộc tính
name |
Tên; bắt buộc
Tên riêng biệt cho kho lưu trữ này. |
path |
Chuỗi; bắt buộc
Đường dẫn đến thư mục để cung cấp dưới dạng kho lưu trữ. Đường dẫn có thể là tuyệt đối hoặc tương đối so với thư mục gốc của không gian làm việc. |
repo_mapping |
Bộ từ điển: Chuỗi -> Chuỗi; bắt buộc
Từ điển từ tên kho lưu trữ cục bộ đến tên kho lưu trữ toàn cục. Điều này cho phép kiểm soát việc phân giải phần phụ thuộc của không gian làm việc cho các phần phụ thuộc của kho lưu trữ này. Ví dụ: một mục "@foo": "@bar"" khai báo rằng mỗi khi kho lưu trữ này phụ thuộc vào "@foo" (chẳng hạn như phần phụ thuộc trên "@foo//some:target", thì phần phụ thuộc đó sẽ thực sự giải quyết phần phụ thuộc đó trong "@bar" được khai báo trên toàn cầu ("@bar//some:target"). |
new_local_repository
new_local_repository(name, build_file, build_file_content, path, repo_mapping)
Tạo một thư mục cục bộ không chứa các tệp Bazel dưới dạng kho lưu trữ. Thư mục này không cần chứa các tệp BUILD của Bazel hoặc tệp ranh giới kho lưu trữ; các tệp này sẽ được tạo bằng quy tắc kho lưu trữ này. Nếu thư mục đó đã chứa các tệp Bazel, hãy cân nhắc sử dụng <a href="#local_repository"><code>local_repository</code></a>.
Thuộc tính
name |
Tên; bắt buộc
Tên duy nhất cho kho lưu trữ này. |
build_file |
Nhãn; không bắt buộc
Tệp dùng làm tệp BUILD cho kho lưu trữ này. Bạn phải chỉ định đúng một trong hai thuộc tính Tệp được gắn nhãn này không cần phải có tên là BUILD. Bạn có thể sử dụng một tên như |
build_file_content |
Chuỗi; không bắt buộc
Nội dung của tệp BUILD sẽ được tạo cho kho lưu trữ này. Bạn phải chỉ định đúng một trong hai thuộc tính |
path |
Chuỗi; bắt buộc
Đường dẫn đến thư mục để cung cấp dưới dạng kho lưu trữ. Đường dẫn có thể là tuyệt đối hoặc tương đối so với thư mục gốc của không gian làm việc. |
repo_mapping |
Bộ từ điển: Chuỗi -> Chuỗi; bắt buộc
Từ điển từ tên kho lưu trữ cục bộ đến tên kho lưu trữ toàn cục. Điều này cho phép kiểm soát việc phân giải phần phụ thuộc của không gian làm việc cho các phần phụ thuộc của kho lưu trữ này. Ví dụ: một mục "@foo": "@bar"" khai báo rằng mỗi khi kho lưu trữ này phụ thuộc vào "@foo" (chẳng hạn như phần phụ thuộc trên "@foo//some:target", thì phần phụ thuộc đó sẽ thực sự giải quyết phần phụ thuộc đó trong "@bar" được khai báo trên toàn cầu ("@bar//some:target"). |