implementation
khi tạo tiện ích mô-đun.
Hội viên
- tải xuống
- download_and_extract
- thực thi
- extension_metadata
- tệp
- is_dev_dependency
- is_isolated
- mô-đun
- hệ điều hành
- path
- đọc
- report_progress
- root_module_has_non_dev_dependency
- sản phẩm nào
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 đã 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, một hàm băm của tệp có các trường sha256
và integrity
.
Thông số
Thông số | Mô tả |
---|---|
url
|
string; or Iterable of strings ;
bắt buộcDanh 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
|
mặc định = '' hàm băm SHA-256 dự kiến của tệp được tải xuống. Hàm băm này phải khớp với hàm băm SHA-256 của tệp đã tải xuống. Việc bỏ qua SHA-256 sẽ gây rủi ro bảo mật vì các tệp từ xa có thể thay đổi. Tốt nhất là bạn không nên bỏ qua trường này vì sẽ khiến bản dựng của bạn không kín. Bạn không bắt buộc phải làm việc này để việc phát triển trở nên dễ dàng hơn, nhưng bạn nên thiết lập trước khi xuất bản. |
executable
|
mặc định = False đặt cờ thực thi trên tệp đã tạo, mặc định là false. |
allow_fail
|
mặc định = False Nếu được đặt, hãy chỉ ra lỗi trong giá trị trả về thay vì đưa ra lỗi cho các lượt tải xuống không thành công |
canonical_id
|
mặc định = "" Nếu được đặt, hãy hạn chế số lượt truy cập vào bộ nhớ đệm ở những trường hợp tệp được thêm vào bộ nhớ đệm có cùng mã nhận dạng chuẩn |
auth
|
default = {} Một tập hợp từ điển không bắt buộc chỉ định thông tin xác thực cho một số URL. |
integrity
|
mặc định = "" Checksum 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 tổng kiểm của tệp đã tải xuống. Việc bỏ qua tổng kiểm tra 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 là bạn nên bỏ qua trường này để bản dựng của bạn không bị ngắt quãng. Bạn không bắt buộc phải thiết lập để phát triển ứng dụng dễ dàng hơn, nhưng nên 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, giải nén tệp đó và trả về một cấu trúc chứa
success
. Cờ này 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, một hàm băm của tệp có các trường sha256
và integrity
.
Thông số
Thông số | Mô tả |
---|---|
url
|
string; or Iterable of strings ;
bắt buộcDanh 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 nơi giải nén tệp lưu trữ, tương ứng với thư mục kho lưu trữ. |
sha256
|
mặc định = "" hàm băm SHA-256 dự kiến của tệp đã tải xuống. Hàm băm này phải khớp với hàm băm SHA-256 của tệp đã tải xuống. Việc bỏ qua SHA-256 sẽ gây rủi ro bảo mật vì các tệp từ xa có thể thay đổi. Tốt nhất là bạn không nên bỏ qua trường này vì sẽ khiến bản dựng của bạn không kín. Bạn không bắt buộc phải làm việc này để việc phát triển trở nên dễ dàng hơn, nhưng bạn nên thiết lập trước khi xuất bản. Trước tiên, bộ nhớ đệm kho lưu trữ sẽ được kiểm tra để tìm tệp có hàm băm đã cho (nếu có); quá trình tải xuống sẽ 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
|
mặc định = "" loại tệp 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, bạn có thể chỉ định rõ ràng là "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 = '' tiền tố thư mục để tách khỏi các tệp đã trích xuất. Nhiều tệp lưu trữ chứa 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ì cần chỉ định tiền tố này nhiều lần trong build_file , bạn có thể dùng trường này để xoá 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 cho biết lỗi trong giá trị trả về thay vì báo lỗi cho các lượt tải xuống không thành công |
canonical_id
|
mặc định = "" Nếu được đặt, hãy hạn chế số lượt truy cập vào bộ nhớ đệm ở những trường hợp tệp được thêm vào bộ nhớ đệm có cùng mã nhận dạng chuẩn |
auth
|
default = {} Một tập hợp từ điển không bắt buộc chỉ định thông tin xác thực cho một số URL. |
integrity
|
mặc định = "" Checksum 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 đã tải xuống. Việc bỏ qua tổng kiểm tra 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 là bạn không nên bỏ qua trường này vì sẽ khiến bản dựng của bạn không kín. Bạn không bắt buộc phải làm việc này để việc phát triển trở nên dễ dàng hơn, nhưng bạn nên thiết lập trước khi xuất bản. |
rename_files
|
mặc định = {} Một lệnh chính tả 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 một khoá sẽ được đổi tên thành giá trị đó, trước khi điều chỉnh tiền tố thư mục. Bạn có thể dùng tính năng này để 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 các hệ thống tệp không phân biệt chữ hoa chữ thường. |
thực hiện
exec_result module_ctx.execute(arguments, timeout=600, environment={}, quiet=True, working_directory="")Thực thi lệnh do danh sách đối số cung cấp. Thời gian thực thi của lệnh bị giới hạn bởi
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 sẽ được truyền vào quy trình.
Thông số
Thông số | 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 một số biến môi trường được đặt để truyền vào quy trình. |
quiet
|
mặc định = True Nếu bạn muốn in stdout và stderr vào thiết bị đầu cuối. |
working_directory
|
mặc định = "" Thư mục đang hoạt động để thực thi lệnh. Có thể tương đối so với thư mục gốc của kho lưu trữ hoặc 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ề từ hàm triển khai của tiện ích mô-đun để cung cấp siêu dữ liệu về các kho lưu trữ do tiện ích tạo cho Bazel.
Thông số
Thông số | Mô tả |
---|---|
root_module_direct_deps
|
sequence of strings; or string; or None ;
mặc định = KhôngTê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 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 , thì Bazel sẽ in một cảnh báo và lệnh khắc phục khi phần mở rộng được đánh giá.Nếu bạn chỉ định một trong hai thuộc tính Bạn có thể đặt chính xác một trong hai giá trị |
root_module_direct_dev_deps
|
sequence of strings; or string; or None ;
mặc định = Không cóTên của các kho lưu trữ mà tiện ích coi là phần phụ thuộc phát triển 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 trên một proxy mở rộng được tạo bằng use_extension(..., dev_dependency = True) , thì Bazel sẽ in một cảnh báo và lệnh khắc phục khi đánh giá phần mở rộng.Nếu bạn chỉ định một trong hai thuộc tính Bạn có thể đặt chính xác một trong hai 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ữ bằng nội dung được cung cấp.
Thông số
Thông số | Mô tả |
---|---|
path
|
string; or Label; or path ;
bắt buộcđường dẫn của tệp cần tạo, tương ứng 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
|
default = True đặt cờ thực thi trên tệp đã tạo, true theo mặc định. |
legacy_utf8
|
mặc định = True mã hoá nội dung tệp thành UTF-8, đúng 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ề xem thẻ đã cho có được chỉ định trong kết quả của lệnh gọi use_extension bằng
devDependency = True
hay không.
Thông số
Thông số | Mô tả |
---|---|
tag
|
bazel_module_tag ;
bắt buộcThẻ lấy từ bazel_module.tags. |
is_isolated
bool module_ctx.is_isolatedLiệu trường hợp sử dụng cụ thể này của tiện ích có được chỉ định
isolate = True
hay không và do đó được tách biệt với tất cả các trường hợp sử dụng khác.
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 mô-đun này, mỗi mô-đun là một đối tượng bazel_module hiển thị tất cả thẻ đã 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 tìm kiếm theo chiều rộng bắt đầu từ mô-đun gốc.
hệ điều hành
repository_os module_ctx.osMột cấu trúc để truy cập vào thông tin từ hệ thống.
đường dẫn
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, thì đườ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 và do đó 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 path là một đường dẫn, thì hàm này sẽ trả về đường dẫn đó nguyên trạng.
Thông số
Thông số | Mô tả |
---|---|
path
|
string; or Label; or path ;
chuỗi, nhãn hoặc đường dẫnbắt buộc mà từ đó tạo đường dẫn |
đọc
string module_ctx.read(path)Đọc nội dung của một tệp trên hệ thống tệp.
Thông số
Thông số | Mô tả |
---|---|
path
|
string; or Label; or path ; đường dẫn bắt buộccủa tệp cần đọc. |
report_progress
None module_ctx.report_progress(status='')Cập nhật trạng thái tiến trình để tìm nạp kho lưu trữ hoặc tiện ích mô-đun này
Thông số
Thông số | Mô tả |
---|---|
status
|
string ; giá trị 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 |
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 dưới dạng 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 như vậy trong đường dẫn.
Thông số
Thông số | Mô tả |
---|---|
program
|
bắt buộc Chương trình để tìm trong đường dẫn. |
None
.