implementation
khi tạo tiện ích mô-đun.
Hội viên
- tải xuống
- download_and_extract
- execute
- extension_metadata
- tệp
- is_dev_dependency
- mô-đun
- os
- đường dẫn
- đọc
- report_progress
- root_module_has_non_dev_dependency
- mà
tải xuống
struct module_ctx.download(url, output='', sha256='', executable=False, allow_fail=False, canonical_id='', auth={}, *, integrity='')Tải một 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, thì hàm băm của tệp với các trường sha256
và integrity
.
Tham số
Thông số | Nội dung mô tả |
---|---|
url
|
string; or Iterable of strings ;
bắt buộcDanh sách các 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 tệp đầu ra, tương ứng 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 được tải xuống. Việc bỏ qua SHA-256 là một rủi ro bảo mật vì các tệp từ xa có thể thay đổi. Tốt nhất, bạn nên bỏ qua trường này để bản dựng của bạn không có tính chất ẩn. Việc này là không bắt buộc để giúp quá trình phát triển dễ dàng hơn nhưng nên được thiết lập trước khi vận chuyển. |
executable
|
default = False đặt cờ thực thi trên tệp đã tạo, là false theo mặc định. |
allow_fail
|
mặc định = Sai Nếu được đặt, hãy chỉ ra lỗi trong giá trị trả về thay vì báo lỗi đối với các 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 cho những trường hợp tệp được thêm vào bộ nhớ đệm có cùng 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
|
mặc định = '' 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. Việc bỏ qua giá trị tổng kiểm có thể gây rủi ro bảo mật vì các tệp từ xa có thể thay đổi. Tốt nhất, bạn nên bỏ qua trường này để bản dựng của bạn không có tính chất ẩn. Việc này là không bắt buộc để giúp quá trình phát triển dễ dàng hơn nhưng nên được thiết lập trước khi vận chuyển. |
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 một 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ờ có giá trị 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 sha256
và integrity
.
Tham số
Thông số | Nội dung mô tả |
---|---|
url
|
string; or Iterable of strings ;
bắt buộcDanh sách các 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ẽ được 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 được tải xuống. Việc bỏ qua SHA-256 là một rủi ro bảo mật vì các tệp từ xa có thể thay đổi. Tốt nhất, bạn nên bỏ qua trường này để bản dựng của bạn không có tính chất ẩn. Việc này là không bắt buộc để giúp quá trình phát triển dễ dàng hơn nhưng nên được thiết lập trước khi vận chuyển. Nếu được cung cấp, trước tiên, bộ nhớ đệm của kho lưu trữ sẽ được kiểm tra một tệp có hàm băm nhất định; chỉ có thể tải xuống 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
|
mặc định = '' loại lưu trữ của tệp được tải xuống. Theo mặc định, loại tệp lưu trữ được xác định từ đuôi tệp của URL. Nếu tệp không có phần mở rộng, bạn có thể chỉ định rõ ràng "zip", "jar", "war", "aar", "tar", "tar.gz", "tgz", "tar.xz", "txz", ".tar.zst", ".tzst", "tar.bz2", ".ar" hoặc ".deb" tại đây. |
stripPrefix
|
mặc định = '' 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ì 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 = Sai Nếu được đặt, hãy chỉ ra lỗi trong giá trị trả về thay vì báo lỗi đối với các 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 cho những trường hợp tệp được thêm vào bộ nhớ đệm có cùng 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
|
mặc định = '' 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. Việc bỏ qua giá trị tổng kiểm có thể gây rủi ro bảo mật vì các tệp từ xa có thể thay đổi. Tốt nhất, bạn nên bỏ qua trường này để bản dựng của bạn không có tính chất ẩn. Việc này là không bắt buộc để giúp quá trình phát triển dễ dàng hơn nhưng nên được thiết lập trước khi vận chuyển. |
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 nhập lưu trữ có tên khớp chính xác với một 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. Bạn có thể sử dụng tính năng này để trích xuất các tệp lưu trữ có chứa tên tệp không phải Unicode hoặc có các tệp trích xuất vào cùng một đường dẫn trong 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 đố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 có thể dùng bản đồ environment
để ghi đè một số biến môi trường được truyền vào quy trình.
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
|
mặc định = {} buộc phải thiết lập một số biến môi trường vào quy trình. |
quiet
|
mặc định = 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 là tuyệt đối. |
extension_metadata
extension_metadata module_ctx.extension_metadata(root_module_direct_deps=None, root_module_direct_dev_deps=None)Tạo 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.
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 có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 thông qua use_repo , Bazel sẽ in cảnh báo và lệnh sửa lỗi khi tiện ích được đánh giá.Nếu một trong hai thuộc tính Bạn có thể đặt chính xác một trong |
root_module_direct_dev_deps
|
sequence of strings; or string; or None ;
default = NothingTên của các 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 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 trên một proxy tiện ích được tạo bằng use_extension(..., dev_dependency = True) , Bazel sẽ in cảnh báo và lệnh sửa lỗi khi tiện ích được đánh giá.Nếu một trong hai thuộc tính Bạn có thể đặt chính xác một trong |
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.
Tham số
Thông số | Nội dung mô tả |
---|---|
path
|
string; or Label; or path ;
đường dẫnbắt buộc của tệp cần tạo, so với thư mục kho lưu trữ. |
content
|
mặc định = '' nội dung của tệp cần tạo, trống theo mặc định. |
executable
|
mặc định = True đặt cờ thực thi trên tệp đã tạo, là true 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á thông số này. |
is_dev_dependency
bool module_ctx.is_dev_dependency(tag)Trả về việc liệu thẻ đã cho có được chỉ định trong kết quả của lệnh gọi use_extension với
devDependency = True
hay không.
Tham số
Thông số | Nội dung mô tả |
---|---|
tag
|
bazel_module_tag ;
bắt buộcThẻ lấy từ bazel_module.tags. |
mô-đun
list module_ctx.modulesDanh sách tất cả mô-đun Bazel trong biểu đồ phần phụ thuộc bên ngoài sử dụng phần mở rộng của mô-đun này, mỗi mô-đun là một đối tượng bazel_module (mô-đun) hiển thị tất cả thẻ được chỉ định cho phần mở rộng này. Thứ tự lặp lại của từ điển này được đảm bảo giống với thứ tự tìm kiếm theo chiều rộng bắt đầu từ mô-đun gốc.
os
repository_os module_ctx.osCấ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ẽ phân giải thành đường dẫn của tệp tương ứng. Xin lưu ý rằng các 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 không được tạo). Nếu đường dẫn là một đường dẫn, thì đường dẫn sẽ trả về y nguyên như cũ.
Tham số
Thông số | Nội dung mô tả |
---|---|
path
|
string; or Label; or path ;
chuỗi bắt buộc, nhãn hoặc đường dẫn để tạo đường dẫn từ đó |
đọc
string module_ctx.read(path)Đọc nội dung của tệp trên hệ thống tệp.
Tham số
Thông số | Nội dung mô tả |
---|---|
path
|
string; or Label; or path ;
đường dẫn bắt buộccủ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
Tham số
Thông số | Nội dung mô tả |
---|---|
status
|
string ;
chuỗi = ''mặc định mô tả trạng thái hiện tại của tiến trình tìm nạp |
root_module_has_non_dev_dependency
bool module_ctx.root_module_has_non_dev_dependencyLiệu mô-đun gốc có sử dụng tiện ích này làm phần phụ thuộc không phải của nhà phát triển hay không.
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ó nếu không có chương trình nào như vậy trong đường dẫn.
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. |
None
.