Tệp MODULE.bazel

Báo cáo sự cố

Các phương thức có trong tệp MODULE.bazel.

Hội viên

archive_override

None archive_override(module_name, urls, integrity='', strip_prefix='', patches=[], patch_cmds=[], patch_strip=0)

Chỉ định rằng phần phụ thuộc này phải đến từ một tệp lưu trữ (zip, gzip, v.v.) tại một vị trí nhất định, thay vì từ sổ đăng ký. Lệnh này chỉ có hiệu lực trong mô-đun gốc; nói cách khác, nếu một mô-đun được người khác dùng làm phần phụ thuộc, thì các cơ chế ghi đè của mô-đun đó sẽ bị bỏ qua.

Các tham số

Thông số Nội dung mô tả
module_name bắt buộc
Tên của phần phụ thuộc mô-đun Bazel để áp dụng chế độ ghi đè này.
urls string; hoặc Lặp lại string; bắt buộc
URL của kho lưu trữ; có thể là URL http(s):// hoặc file://.
integrity giá trị mặc định là ''
Giá trị tổng kiểm tra dự kiến của tệp lưu trữ, ở định dạng Tính toàn vẹn của tài nguyên phụ.
strip_prefix giá trị mặc định là ''
Một tiền tố thư mục để xoá khỏi các tệp đã trích xuất.
patches Có thể lặp lại các chuỗi; mặc định là []
Danh sách các nhãn trỏ đến các tệp bản vá để áp dụng cho mô-đun này. Các tệp bản vá phải tồn tại trong cây nguồn của dự án cấp cao nhất. Các quy tắc này được áp dụng theo thứ tự danh sách.
patch_cmds Có thể lặp lại các chuỗi; mặc định là []
Trình tự các lệnh Bash sẽ được áp dụng trên Linux/Macos sau khi áp dụng các bản vá.
patch_strip mặc định là 0
Giống như đối số --strip của bản vá Unix.

bazel_dep

None bazel_dep(name, version='', max_compatibility_level=-1, repo_name='', dev_dependency=False)

Khai báo phần phụ thuộc trực tiếp trên một mô-đun Bazel khác.

Các tham số

Thông số Nội dung mô tả
name bắt buộc
Tên của mô-đun cần được thêm vào dưới dạng phần phụ thuộc trực tiếp.
version mặc định là ''
Phiên bản của mô-đun sẽ được thêm vào dưới dạng phần phụ thuộc trực tiếp.
max_compatibility_level mặc định là -1
compatibility_level tối đa được hỗ trợ để mô-đun có thể được thêm dưới dạng phần phụ thuộc trực tiếp. Phiên bản của mô-đun ngụ ý mức độ tương thích tối thiểu được hỗ trợ cũng như mức tối đa nếu thuộc tính này không được chỉ định.
repo_name mặc định là ''
Tên của kho lưu trữ bên ngoài đại diện cho phần phụ thuộc này. Theo mặc định, đây là tên của mô-đun.
dev_dependency mặc định là False
Nếu đúng, phần phụ thuộc này sẽ bị bỏ qua nếu mô-đun hiện tại không phải là mô-đun gốc hoặc thuộc tính "--ignore_dev_deeplink" được bật.

git_override

None git_override(module_name, remote, commit='', patches=[], patch_cmds=[], patch_strip=0)

Chỉ định rằng một phần phụ thuộc phải đến từ một cam kết nhất định của kho lưu trữ Git. Lệnh này chỉ có hiệu lực trong mô-đun gốc; nói cách khác, nếu một mô-đun được người khác dùng làm phần phụ thuộc, thì các cơ chế ghi đè của mô-đun đó sẽ bị bỏ qua.

Các tham số

Thông số Nội dung mô tả
module_name bắt buộc
Tên của phần phụ thuộc mô-đun Bazel để áp dụng chế độ ghi đè này.
remote bắt buộc
URL của kho lưu trữ Git từ xa.
commit mặc định là ''
Cam kết cần được kiểm tra.
patches Có thể lặp lại các chuỗi; mặc định là []
Danh sách các nhãn trỏ đến các tệp bản vá để áp dụng cho mô-đun này. Các tệp bản vá phải tồn tại trong cây nguồn của dự án cấp cao nhất. Các quy tắc này được áp dụng theo thứ tự danh sách.
patch_cmds Có thể lặp lại các chuỗi; mặc định là []
Trình tự các lệnh Bash sẽ được áp dụng trên Linux/Macos sau khi áp dụng các bản vá.
patch_strip mặc định là 0
Giống như đối số --strip của bản vá Unix.

local_path_override

None local_path_override(module_name, path)

Chỉ định rằng một phần phụ thuộc phải đến từ một thư mục nhất định trên ổ đĩa cục bộ. Lệnh này chỉ có hiệu lực trong mô-đun gốc; nói cách khác, nếu một mô-đun được người khác dùng làm phần phụ thuộc, thì các cơ chế ghi đè của mô-đun đó sẽ bị bỏ qua.

Các tham số

Thông số Nội dung mô tả
module_name bắt buộc
Tên của phần phụ thuộc mô-đun Bazel để áp dụng chế độ ghi đè này.
path bắt buộc
Đường dẫn đến thư mục chứa mô-đun này.

mô-đun

None module(name='', version='', compatibility_level=0, repo_name='', bazel_compatibility=[])

Khai báo một số thuộc tính của mô-đun Bazel được biểu thị bằng kho lưu trữ Bazel hiện tại. Các thuộc tính này là siêu dữ liệu thiết yếu của mô-đun (chẳng hạn như tên và phiên bản) hoặc ảnh hưởng đến hoạt động của mô-đun hiện tại và các phần phụ thuộc của mô-đun.

Mã này sẽ được gọi tối đa một lần. Bạn chỉ có thể bỏ qua mô-đun này nếu mô-đun này là mô-đun gốc (như trong trường hợp mô-đun này không phụ thuộc vào một mô-đun khác).

Các tham số

Thông số Nội dung mô tả
name mặc định là ''
Tên của mô-đun. Chỉ có thể bỏ qua nếu mô-đun này là mô-đun gốc (như trong trường hợp mô-đun này không phụ thuộc vào một mô-đun khác). Tên mô-đun hợp lệ phải: 1) chỉ chứa chữ cái viết thường (a-z), chữ số (0-9), dấu chấm (.), dấu gạch nối (-) và dấu gạch dưới (_); 2) bắt đầu bằng một chữ cái viết thường; 3) kết thúc bằng một chữ cái viết thường hoặc chữ số.
version mặc định là ''
Phiên bản của mô-đun. Chỉ có thể bỏ qua nếu mô-đun này là mô-đun gốc (như trong trường hợp mô-đun này không phụ thuộc vào một mô-đun khác). Phiên bản này phải ở định dạng SemVer thoải mái; xem tài liệu để biết thêm thông tin chi tiết.
compatibility_level mặc định là 0
Mức độ tương thích của mô-đun; bạn nên thay đổi mức này mỗi khi có sự thay đổi lớn không tương thích. Về cơ bản, đây là "phiên bản chính" của mô-đun xét theo SemVer, ngoại trừ việc mô-đun này không được nhúng trong chuỗi phiên bản mà tồn tại dưới dạng một trường riêng biệt. Các mô-đun có mức độ tương thích khác nhau tham gia vào quá trình phân giải phiên bản như thể đó là các mô-đun có tên khác nhau, nhưng biểu đồ phần phụ thuộc cuối cùng không được chứa nhiều mô-đun có cùng tên nhưng khác mức độ tương thích (trừ khi multiple_version_override đang có hiệu lực). Hãy xem tài liệu để biết thêm thông tin chi tiết.
repo_name mặc định là ''
Tên của kho lưu trữ đại diện cho mô-đun này, như bản thân mô-đun thấy. Theo mặc định, tên của kho lưu trữ là tên của mô-đun. Bạn có thể chỉ định tên này để dễ dàng di chuyển cho các dự án đã sử dụng tên kho lưu trữ khác với tên mô-đun của chính kho lưu trữ đó.
bazel_compatibility Có thể lặp lại các string; giá trị mặc định là []
Danh sách phiên bản bazel cho phép người dùng khai báo những phiên bản Bazel tương thích với mô-đun này. Chính sách này KHÔNG ảnh hưởng đến việc phân giải phần phụ thuộc, nhưng bzlmod sẽ sử dụng thông tin này để kiểm tra xem phiên bản Bazel hiện tại của bạn có tương thích hay không. Định dạng của giá trị này là một chuỗi gồm một số giá trị ràng buộc được phân tách bằng dấu phẩy. Ba điều kiện ràng buộc được hỗ trợ: <=X.X.X: Phiên bản Bazel phải bằng hoặc cũ hơn X.X.X. Được dùng khi có thay đổi đã biết không tương thích trong phiên bản mới hơn. >=X.X.X: Phiên bản Bazel phải bằng hoặc mới hơn X.X.X.Được sử dụng khi bạn phụ thuộc vào một số tính năng chỉ có từ X.X.X. -X.X.X: Phiên bản Bazel X.X.X không tương thích. Dùng khi lỗi trong X.X.X gây ra lỗi cho bạn, nhưng được khắc phục trong các phiên bản sau.

multiple_version_override

None multiple_version_override(module_name, versions, registry='')

Chỉ định rằng một phần phụ thuộc vẫn phải đến từ sổ đăng ký, nhưng nhiều phiên bản của phần phụ thuộc đó phải được phép cùng tồn tại. Hãy xem tài liệu để biết thêm thông tin chi tiết. Lệnh này chỉ có hiệu lực trong mô-đun gốc; nói cách khác, nếu một mô-đun được người khác dùng làm phần phụ thuộc, thì các cơ chế ghi đè của mô-đun đó sẽ bị bỏ qua.

Các tham số

Thông số Nội dung mô tả
module_name bắt buộc
Tên của phần phụ thuộc mô-đun Bazel để áp dụng chế độ ghi đè này.
versions Có thể lặp lại chuỗi; bắt buộc
Chỉ định rõ ràng các phiên bản được phép cùng tồn tại. Các phiên bản này phải đã có trong quá trình chọn trước biểu đồ phần phụ thuộc. Các phần phụ thuộc trên mô-đun này sẽ được "nâng cấp" lên phiên bản được phép gần nhất ở cùng mức độ tương thích, còn những phần phụ thuộc có phiên bản cao hơn bất kỳ phiên bản nào được phép ở cùng mức độ tương thích sẽ gây ra lỗi.
registry mặc định là ''
Ghi đè sổ đăng ký cho mô-đun này; thay vì tìm mô-đun này từ danh sách đăng ký mặc định, bạn nên sử dụng sổ đăng ký đã cho.

register_execution_platforms

None register_execution_platforms(dev_dependency=False, *platform_labels)

Chỉ định các nền tảng thực thi đã xác định để đăng ký khi mô-đun này được chọn. Phải là các mẫu mục tiêu tuyệt đối (tức là bắt đầu bằng @ hoặc //). Xem phần giải pháp của chuỗi công cụ để biết thêm thông tin.

Các tham số

Thông số Nội dung mô tả
dev_dependency giá trị mặc định là False
Nếu đúng, các nền tảng thực thi sẽ không được đăng ký nếu mô-đun hiện tại không phải là mô-đun gốc hoặc thuộc tính "--ignore_dev_dependency" được bật.
platform_labels trình tự của chuỗi; bắt buộc
Nhãn của các nền tảng cần đăng ký.

register_toolchains

None register_toolchains(dev_dependency=False, *toolchain_labels)

Chỉ định các chuỗi công cụ đã xác định cần đăng ký khi mô-đun này được chọn. Phải là các mẫu mục tiêu tuyệt đối (tức là bắt đầu bằng @ hoặc //). Xem phần giải pháp của chuỗi công cụ để biết thêm thông tin.

Các tham số

Thông số Nội dung mô tả
dev_dependency mặc định là False
Nếu đúng, các chuỗi công cụ sẽ không được đăng ký nếu mô-đun hiện tại không phải là mô-đun gốc hoặc "--ignore_dev_Dependencies" được bật.
toolchain_labels trình tự của chuỗi; bắt buộc
Các nhãn của các chuỗi công cụ cần đăng ký. Các nhãn có thể bao gồm :all. Trong trường hợp đó, tất cả các mục tiêu cung cấp chuỗi công cụ trong gói sẽ được đăng ký theo thứ tự từ điển theo tên.

single_version_override

None single_version_override(module_name, version='', registry='', patches=[], patch_cmds=[], patch_strip=0)

Chỉ định rằng phần phụ thuộc vẫn phải đến từ sổ đăng ký, nhưng phiên bản của phần phụ thuộc đó phải được ghim, hoặc sổ đăng ký bị ghi đè hoặc danh sách các bản vá được áp dụng. Lệnh này chỉ có hiệu lực trong mô-đun gốc; nói cách khác, nếu một mô-đun được người khác dùng làm phần phụ thuộc, thì các cơ chế ghi đè của mô-đun đó sẽ bị bỏ qua.

Các tham số

Thông số Nội dung mô tả
module_name bắt buộc
Tên của phần phụ thuộc mô-đun Bazel để áp dụng chế độ ghi đè này.
version mặc định là ''
Ghi đè phiên bản đã khai báo của mô-đun này trong biểu đồ phần phụ thuộc. Nói cách khác, mô-đun này sẽ được "ghim" vào phiên bản ghi đè này. Bạn có thể bỏ qua thuộc tính này nếu tất cả thuộc tính muốn ghi đè là sổ đăng ký hoặc bản vá.
registry mặc định là ''
Ghi đè sổ đăng ký cho mô-đun này; thay vì tìm mô-đun này từ danh sách đăng ký mặc định, bạn nên sử dụng sổ đăng ký đã cho.
patches Có thể lặp lại các chuỗi; mặc định là []
Danh sách các nhãn trỏ đến các tệp bản vá để áp dụng cho mô-đun này. Các tệp bản vá phải tồn tại trong cây nguồn của dự án cấp cao nhất. Các quy tắc này được áp dụng theo thứ tự danh sách.
patch_cmds Có thể lặp lại các chuỗi; mặc định là []
Trình tự các lệnh Bash sẽ được áp dụng trên Linux/Macos sau khi áp dụng các bản vá.
patch_strip mặc định là 0
Giống như đối số --strip của bản vá Unix.

use_extension

module_extension_proxy use_extension(extension_bzl_file, extension_name, *, dev_dependency=False, isolate=False)

Trả về đối tượng proxy đại diện cho một tiện ích mô-đun; các phương thức của đối tượng này có thể được gọi để tạo thẻ tiện ích mô-đun.

Các tham số

Thông số Nội dung mô tả
extension_bzl_file bắt buộc
Nhãn cho tệp Starlark xác định đuôi mô-đun.
extension_name bắt buộc
Tên của tiện ích mô-đun cần sử dụng. Biểu tượng có tên này phải được xuất bằng tệp Starlark.
dev_dependency giá trị mặc định là False
Nếu đúng, thì việc sử dụng tiện ích mô-đun này sẽ bị bỏ qua nếu mô-đun hiện tại không phải là mô-đun gốc hoặc "--ignore_dev_secondary" được bật.
isolate mặc định là False
Thử nghiệm. Đây là thông số thử nghiệm và có thể thay đổi bất cứ lúc nào. Vui lòng không phụ thuộc vào công cụ này. Bạn có thể bật tính năng này trên cơ sở thử nghiệm bằng cách đặt ---experimental_isolated_extension_usages
Nếu đúng, thì việc sử dụng tiện ích mô-đun sẽ được tách biệt với tất cả các trường hợp sử dụng khác, cả trong mô-đun này và các mô-đun khác. Thẻ được tạo cho mục đích sử dụng này không ảnh hưởng đến các trường hợp sử dụng khác và kho lưu trữ được tạo bởi tiện ích cho mục đích sử dụng này sẽ khác với tất cả các kho lưu trữ khác do tiện ích tạo.

Tham số này hiện đang trong giai đoạn thử nghiệm và chỉ có sẵn với cờ --experimental_isolated_extension_usages.

use_repo

None use_repo(extension_proxy, *args, **kwargs)

Nhập một hoặc nhiều kho lưu trữ được tạo bởi tiện ích mô-đun đã cho vào phạm vi của mô-đun hiện tại.

Các tham số

Thông số Nội dung mô tả
extension_proxy bắt buộc
Đối tượng proxy tiện ích mô-đun được trả về bởi lệnh gọi use_extension.
args bắt buộc
Tên của các kho lưu trữ cần nhập.
kwargs bắt buộc
Chỉ định một số kho lưu trữ nhất định để nhập vào phạm vi của mô-đun hiện tại với các tên khác. Các khoá phải là tên để sử dụng trong phạm vi hiện tại, trong khi giá trị phải là tên gốc mà tiện ích mô-đun xuất ra.

use_repo_rule

repo_rule_proxy use_repo_rule(repo_rule_bzl_file, repo_rule_name)

Trả về giá trị proxy có thể được gọi trực tiếp trong tệp MODULE.bazel dưới dạng quy tắc lưu trữ một hoặc nhiều lần. Repos được tạo theo cách như vậy chỉ hiển thị với mô-đun hiện tại, dưới tên được khai báo bằng thuộc tính name trên proxy. Thuộc tính dev_dependency Boolean ngầm ẩn cũng có thể được dùng trên proxy để biểu thị rằng một kho lưu trữ nhất định chỉ được tạo khi mô-đun hiện tại là mô-đun gốc.

Các tham số

Thông số Nội dung mô tả
repo_rule_bzl_file bắt buộc
Nhãn cho tệp Starlark xác định quy tắc kho lưu trữ.
repo_rule_name bắt buộc
Tên của quy tắc kho lưu trữ cần sử dụng. Biểu tượng có tên này phải được xuất bằng tệp Starlark.