mô-đun_doanh_nghiệp

Ngữ cảnh của phần mở rộng mô-đun có chứa các hàm trợ giúp và thông tin về các thẻ liên quan trên biểu đồ phần phụ thuộc. Bạn sẽ 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 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, một hàm băm của tệp có các trường sha256integrity.

Tham số

Thông số 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 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. 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. Bạn sẽ 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 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.
executable mặc định = Sai
đặt cờ thực thi trên tệp được tạo với giá trị mặc định là false.
allow_fail mặc định = Sai
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 giới hạn lượt truy cập bộ nhớ đệm trong những trường hợp tệp được thêm vào bộ nhớ đệm bằng cùng một mã chuẩn hoá
auth default = {}
Một lệnh chính xác 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 đã tải xuống. Việc bỏ qua giá trị tổng kiểm vì các tệp từ xa có thể thay đổi là một rủi ro bảo mật. 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 sha256integrity.

Tham số

Thông số 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 nơi tệp lưu trữ sẽ được giải nén, 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 đượ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. Bạn sẽ 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 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. Nếu được cung cấp, trước tiên, bộ nhớ đệm của kho lưu trữ sẽ được kiểm tra để tìm tệp có hàm băm đã cho; chỉ cố gắng 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 đã 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 thì 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" vào đâ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ữ 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 nhiều lần tiền tố này trong build_file, bạn có thể dùng trường này để loại bỏ 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ì đư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 giới hạn lượt truy cập bộ nhớ đệm trong những trường hợp tệp được thêm vào bộ nhớ đệm bằng cùng một mã chuẩn hoá
auth default = {}
Một lệnh chính xác 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 đã tải xuống. Việc bỏ qua giá trị tổng kiểm vì các tệp từ xa có thể thay đổi là một rủi ro bảo mật. 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.
rename_files default = {}
Một lệnh chính xác 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 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ể sử dụng công cụ 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ó tệp sẽ giải nén sang cùng một đường dẫn trong 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 được cung cấp bởi danh sách các đối số. Thời gian thực thi lệnh này đượ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ần truyền vào quy trình.

Tham 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 default = {}
buộc truyền một số biến môi trường vào quy trình.
quiet mặc định = Đúng
Nếu phải in stdout và stderr vào thiết bị đầu cuối.
working_directory mặc định = ""
Thư mục đang làm việc để thực thi lệnh. Có thể tương đối so với gốc hoặc tuyệt đối của kho lưu trữ.

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ề những kho lưu trữ do tiện ích tạo ra cho Bazel.

Tham số

Thông số Mô tả
root_module_direct_deps sequence of strings; or string; or None; mặc định = Không có
Tên của những 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 một cảnh báo và lệnh sửa lỗi khi tiện ích được đánh giá.

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

Chính xác, một trong hai giá trị root_module_direct_depsroot_module_direct_dev_deps có thể được đặt thành giá trị đặc biệt "all". Giá trị này được coi như thể một danh sách có tên của tất cả 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 có
Tên của những kho lưu trữ mà tiện ích coi là phần phụ thuộc trực tiếp dành cho 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 root_module_direct_deps root_module_direct_dev_deps được chỉ định, thì các kho lưu trữ còn lại cũng phải như vậy. Những danh sách do 2 tham số này chỉ định phải rời nhau.

Chính xác, một trong hai giá trị root_module_direct_depsroot_module_direct_dev_deps có thể được đặt thành giá trị đặc biệt "all". Giá trị này được coi như thể một danh sách có tên của tất cả 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.

Tham 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, 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, theo mặc định sẽ bị trống.
executable mặc định = Đúng
đặt cờ thực thi trên tệp được tạo, true theo mặc định.
legacy_utf8 mặc định = Đúng
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ề 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.

Tham số

Thông số Mô tả
tag bazel_module_tag; bắt buộc
Một 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 hiển thị tất cả thẻ được chỉ định cho phần mở rộng mô-đun này. Thứ tự lặp lại của từ điển này được đảm bảo giống với phương thức 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.os

Mộ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 này sẽ phân giải thành đường dẫn của tệp tương ứng. Xin lưu ý rằng hệ thống 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ề nguyên trạng đường dẫn đó.

Tham số

Thông số Mô tả
path string; or Label; or path; bắt buộc
chuỗi, nhãn hoặc đường dẫn 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.

Tham 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 đọ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 tiện ích mô-đun hoặc kho lưu trữ này

Tham số

Thông số 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ó nếu không có chương trình như vậy trong đường dẫn.

Tham số

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