mô-đun_doanh_nghiệp

Ngữ cảnh của tiện ích mô-đun chứa các hàm trợ giúp và thông tin về các thẻ thích hợp trên biểu đồ phần phụ thuộc. Bạn nhận được đối tượng module_ctx làm đối số cho hàm implementation khi tạo tiện ích mô-đun.

Hội viên

tải xuống

struct module_ctx.download(url, output='', sha256='', executable=False, allow_fail=False, canonical_id='', auth={}, *, integrity='')

Tải tệp xuống đường dẫn đầu ra cho URL được cung cấp và trả về một cấu trúc chứa success, một cờ là true nếu quá trình tải xuống hoàn tất thành công và nếu thành công, hàm băm của tệp với các trường sha256integrity.

Các tham số

Thông số Nội dung mô tả
url string; or Iterable of strings; bắt buộc
Danh sách URL phản chiếu tham chiếu đến cùng một tệp.
output string; or Label; or path; đường dẫn mặc định = ''
đến tệp đầu ra, so với thư mục kho lưu trữ.
sha256 default = ''
hàm băm SHA-256 dự kiến của tệp được tải xuống. Giá trị này phải khớp với hàm băm SHA-256 của tệp đã tải xuống. Bạn có thể gặp rủi ro bảo mật nếu bỏ qua SHA-256 vì các tệp từ xa có thể thay đổi. Tốt nhất, việc bỏ qua trường này sẽ khiến bản dựng của bạn không mang tính ẩn học. Bạn không bắt buộc phải tạo ứng dụng dễ dàng hơn nhưng nên thiết lập trước khi phát hành.
executable default = False
thiết lập cờ thực thi trên tệp đã tạo, giá trị false theo mặc định.
allow_fail mặc định = False
Nếu được đặt, hãy chỉ ra lỗi trong giá trị trả về thay vì tăng lỗi đối với những lần tải xuống không thành công
canonical_id default = ''
Nếu được đặt, hãy giới hạn số lượt truy cập vào bộ nhớ đệm đối với những trường hợp tệp được thêm vào bộ nhớ đệm bằng cùng một mã chính tắc
auth default = {}
Một lệnh không bắt buộc chỉ định thông tin xác thực cho một số URL.
integrity default = ''
Giá trị tổng kiểm dự kiến của tệp đã tải xuống, ở định dạng Tính toàn vẹn của tài nguyên phụ. Giá trị này phải khớp với giá trị tổng kiểm của tệp được tải xuống. Sẽ có rủi ro bảo mật nếu bạn bỏ qua giá trị tổng kiểm vì các tệp từ xa có thể thay đổi. Tốt nhất, việc bỏ qua trường này sẽ khiến bản dựng của bạn không mang tính ẩn học. Bạn không bắt buộc phải tạo ứng dụng dễ dàng hơn nhưng nên thiết lập trước khi phát hành.

download_and_extract

struct module_ctx.download_and_extract(url, output='', sha256='', type='', stripPrefix='', allow_fail=False, canonical_id='', auth={}, *, integrity='', rename_files={})

Tải tệp xuống đường dẫn đầu ra cho URL được cung cấp, trích xuất tệp đó và trả về một cấu trúc chứa success, một cờ là true nếu quá trình tải xuống hoàn tất thành công, và nếu thành công, hàm băm của tệp có các trường sha256integrity.

Các tham số

Thông số Nội dung mô tả
url string; or Iterable of strings; bắt buộc
Danh sách URL phản chiếu tham chiếu đến cùng một tệp.
output string; or Label; or path; mặc định = ''
đường dẫn đến thư mục sẽ giải nén tệp lưu trữ, so với thư mục kho lưu trữ.
sha256 default = ''
hàm băm SHA-256 dự kiến của tệp được tải xuống. Giá trị này phải khớp với hàm băm SHA-256 của tệp đã tải xuống. Bạn có thể gặp rủi ro bảo mật nếu bỏ qua SHA-256 vì các tệp từ xa có thể thay đổi. Tốt nhất, việc bỏ qua trường này sẽ khiến bản dựng của bạn không mang tính ẩn học. Bạn không bắt buộc phải tạo ứng dụng dễ dàng hơn nhưng nên thiết lập trước khi phát hành. Nếu được cung cấp, trước tiên, hệ thống sẽ kiểm tra bộ nhớ đệm của kho lưu trữ để tìm tệp có hàm băm nhất định. Quá trình tải xuống chỉ được thực hiện nếu không tìm thấy tệp trong bộ nhớ đệm. Sau khi tải xuống thành công, tệp sẽ được thêm vào bộ nhớ đệm.
type default = ''
loại lưu trữ của tệp đã tải xuống. Theo mặc định, loại lưu trữ được xác định từ đuôi tệp của URL. Nếu tệp không có đuôi tệp, bạn có thể chỉ định rõ "zip", "jar", "war", "aar", "tar", "tar.gz", "tgz", "tar.xz", "txz", ".tar.zst", ".tzst", "tar.bz2", ".ar" hoặc ".deb" tại đây.
stripPrefix default = ''
một tiền tố thư mục để xoá khỏi các tệp đã trích xuất. Nhiều tệp lưu trữ có một thư mục cấp cao nhất chứa tất cả các tệp trong kho lưu trữ. Thay vì phải chỉ định tiền tố này nhiều lần trong build_file, bạn có thể sử dụng trường này để tách tiền tố khỏi các tệp đã trích xuất.
allow_fail mặc định = False
Nếu được đặt, hãy chỉ ra lỗi trong giá trị trả về thay vì tăng lỗi đối với những lần tải xuống không thành công
canonical_id default = ''
Nếu được đặt, hãy giới hạn số lượt truy cập vào bộ nhớ đệm đối với những trường hợp tệp được thêm vào bộ nhớ đệm bằng cùng một mã chính tắc
auth default = {}
Một lệnh không bắt buộc chỉ định thông tin xác thực cho một số URL.
integrity default = ''
Giá trị tổng kiểm dự kiến của tệp đã tải xuống, ở định dạng Tính toàn vẹn của tài nguyên phụ. Giá trị này phải khớp với giá trị tổng kiểm của tệp được tải xuống. Sẽ có rủi ro bảo mật nếu bạn bỏ qua giá trị tổng kiểm vì các tệp từ xa có thể thay đổi. Tốt nhất, việc bỏ qua trường này sẽ khiến bản dựng của bạn không mang tính ẩn học. Bạn không bắt buộc phải tạo ứng dụng dễ dàng hơn nhưng nên thiết lập trước khi phát hành.
rename_files default = {}
Một lệnh không bắt buộc chỉ định các tệp cần đổi tên trong quá trình trích xuất. Các mục lưu trữ có tên khớp chính xác với khoá sẽ được đổi tên thành giá trị, trước khi tiến hành điều chỉnh tiền tố thư mục. Tính năng này có thể được dùng để trích xuất các tệp lưu trữ chứa tên tệp không phải Unicode hoặc có các tệp sẽ trích xuất vào cùng một đường dẫn trên hệ thống tệp không phân biệt chữ hoa chữ thường.

execute

exec_result module_ctx.execute(arguments, timeout=600, environment={}, quiet=True, working_directory="")

Thực thi lệnh do danh sách các đối số đưa ra. Thời gian thực thi lệnh được giới hạn trong timeout (tính bằng giây, mặc định là 600 giây). Phương thức này trả về một cấu trúc exec_result chứa kết quả của lệnh. Bản đồ environment có thể được dùng để ghi đè một số biến môi trường cần được truyền vào quy trình.

Các tham số

Thông số Nội dung mô tả
arguments bắt buộc
Danh sách các đối số, phần tử đầu tiên phải là đường dẫn đến chương trình để thực thi.
timeout mặc định = 600
thời lượng tối đa của lệnh tính bằng giây (mặc định là 600 giây).
environment default = {}
buộc phải thiết lập một số biến môi trường để truyền vào quy trình này.
quiet default = True
Nếu stdout và stderr phải được in ra thiết bị đầu cuối.
working_directory default = ""
Thư mục đang hoạt động để thực thi lệnh. Có thể tương đối so với gốc của kho lưu trữ hoặc giá trị tuyệt đối.

extension_metadata

extension_metadata module_ctx.extension_metadata(root_module_direct_deps=None, root_module_direct_dev_deps=None)

Xây dựng một đối tượng mờ có thể được trả về qua hàm triển khai của tiện ích mô-đun để cung cấp siêu dữ liệu về kho lưu trữ do tiện ích tạo cho Bazel.

Các tham số

Thông số Nội dung mô tả
root_module_direct_deps sequence of strings; or string; or None; mặc định = Không
Tên của kho lưu trữ mà tiện ích coi là phần phụ thuộc trực tiếp của mô-đun gốc. Nếu mô-đun gốc nhập các kho lưu trữ bổ sung hoặc không nhập tất cả các kho lưu trữ này qua use_repo, thì Bazel sẽ in cảnh báo và lệnh sửa lỗi khi tiện ích được đánh giá.

Nếu bạn chỉ định một trong hai giá trị root_module_direct_depsroot_module_direct_dev_deps, thì giá trị còn lại cũng phải được chỉ định. Danh sách do hai tham số này chỉ định phải được rời rạc.

Bạn có thể đặt chính xác một trong số root_module_direct_depsroot_module_direct_dev_deps thành giá trị đặc biệt "all". Giá trị này được xử lý như thể một danh sách có tên của mọi kho lưu trữ do tiện ích tạo ra được chỉ định làm giá trị.

root_module_direct_dev_deps sequence of strings; or string; or None; mặc định = Không
Tên của kho lưu trữ mà tiện ích coi là phần phụ thuộc trực tiếp của nhà phát triển của mô-đun gốc. Nếu mô-đun gốc nhập kho lưu trữ bổ sung hoặc không nhập tất cả kho lưu trữ này qua use_repo trên proxy tiện ích được tạo bằng root_module_direct_deps root_module_direct_dev_deps được chỉ định, thì kho lưu trữ còn lại cũng phải như vậy. Danh sách do hai tham số này chỉ định phải được rời rạc.

Bạn có thể đặt chính xác một trong số root_module_direct_depsroot_module_direct_dev_deps thành giá trị đặc biệt "all". Giá trị này được xử lý như thể một danh sách có tên của mọi kho lưu trữ do tiện ích tạo ra được chỉ định làm giá trị.

tệp

None module_ctx.file(path, content='', executable=True, legacy_utf8=True)

Tạo một tệp trong thư mục kho lưu trữ có nội dung được cung cấp.

Các tham số

Thông số Nội dung mô tả
path string; or Label; or path; đường dẫn
bắt buộc của tệp cần tạo, so với thư mục kho lưu trữ.
content default = ''
nội dung của tệp cần tạo, trống theo mặc định.
executable default = True
đặt cờ có thể thực thi trên tệp đã tạo, đúng theo mặc định.
legacy_utf8 default = True
mã hoá nội dung tệp thành UTF-8, true theo mặc định. Các phiên bản trong tương lai sẽ thay đổi giá trị mặc định và xoá tham số này.

is_dev_dependency

bool module_ctx.is_dev_dependency(tag)

Trả về việc thẻ đã cho có được chỉ định theo kết quả của lệnh gọi use_extension bằng devDependency = True hay không.

Các tham số

Thông số Nội dung mô tả
tag bazel_module_tag; bắt buộc
Thẻ lấy từ bazel_module.tags.

mô-đun

list module_ctx.modules

Danh sách tất cả mô-đun Bazel trong biểu đồ phần phụ thuộc bên ngoài, mỗi mô-đun là một đối tượng bazel_module (mô-đun) hiển thị tất cả các thẻ được chỉ định cho tiện ích mô-đun này. Thứ tự lặp lại của từ điển này được đảm bảo giống như thứ tự tìm kiếm theo chiều rộng bắt đầu từ mô-đun gốc.

os

repository_os module_ctx.os

Cấu trúc để truy cập thông tin từ hệ thống.

path

path module_ctx.path(path)

Trả về một đường dẫn từ một chuỗi, nhãn hoặc đường dẫn. Nếu đường dẫn là tương đối, thì đường dẫn sẽ phân giải tương ứng với thư mục kho lưu trữ. Nếu đường dẫn là một nhãn, đường dẫn sẽ được phân giải thành đường dẫn của tệp tương ứng. Xin lưu ý rằng kho lưu trữ từ xa được thực thi trong giai đoạn phân tích nên không thể phụ thuộc vào kết quả mục tiêu (nhãn phải trỏ đến một tệp chưa được tạo). Nếu là một đường dẫn, đường dẫn sẽ trả về nguyên trạng.

Các tham số

Thông số Nội dung mô tả
path string; or Label; or path; chuỗi, nhãn hoặc đường dẫn
bắt buộc để tạo đường dẫn từ đó

đọc

string module_ctx.read(path)

Đọc nội dung của một tệp trên hệ thống tệp.

Các tham số

Thông số Nội dung mô tả
path string; or Label; or path; đường dẫn
bắt buộc của tệp để đọc.

report_progress

None module_ctx.report_progress(status='')

Cập nhật trạng thái tiến trình cho quá trình tìm nạp kho lưu trữ hoặc tiện ích mô-đun này

Các tham số

Thông số Nội dung mô tả
status string; mặc định = ''
chuỗi mô tả trạng thái hiện tại của tiến trình tìm nạp

thiết bị nào

path module_ctx.which(program)

Trả về đường dẫn của chương trình tương ứng hoặc Không có chương trình nào nếu không có chương trình nào như vậy trong đường dẫn.

Các tham số

Thông số Nội dung mô tả
program bắt buộc
Chương trình để tìm trong đường dẫn.
Có thể trả về None.