Ngữ cảnh của quy tắc kho lưu trữ chứa các hàm trợ giúp và thông tin về các thuộc tính. Bạn sẽ nhận được một đối tượngRepository_ctx làm đối số cho hàm implementation
khi tạo quy tắc về kho lưu trữ.
Hội viên
- attr
- xóa
- tải xuống
- download_and_extract
- thực thi
- trích xuất
- tệp
- name
- hệ điều hành
- bản vá
- đường dẫn
- đọc
- report_progress
- đường liên kết tượng trưng
- mẫu
- sản phẩm nào
- workspace_root
attr
struct repository_ctx.attrMột cấu trúc để truy cập vào các giá trị của các thuộc tính. Các giá trị do người dùng cung cấp (nếu không, giá trị mặc định sẽ được sử dụng).
xóa
bool repository_ctx.delete(path)Xoá một tệp hoặc thư mục. Trả về một boolean, cho biết tệp hoặc thư mục có thực sự bị xoá bởi lệnh gọi này hay không.
Tham số
Thông số | Mô tả |
---|---|
path
|
string; hoặc path;
bắt buộc Đường dẫn của tệp cần xoá, so với thư mục kho lưu trữ hoặc tuyệt đối. Có thể là một đường dẫn hoặc một chuỗi. |
tải xuống
struct repository_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 sha256
và integrity
.
Tham số
Thông số | Mô tả |
---|---|
url
|
string; hoặc Có thể lặp lại của chuỗi;
bắt buộc Danh sách URL phản chiếu tham chiếu đến cùng một tệp. |
output
|
string; hoặc Label; hoặc đường dẫn;
giá trị mặc định là '' đường dẫn đến tệp đầu ra, so với thư mục kho lưu trữ. |
sha256
|
giá trị mặc định là '' 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
|
giá trị mặc định là False đặt cờ thực thi trên tệp được tạo với giá trị mặc định là false. |
allow_fail
|
giá trị mặc định là 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
|
giá trị mặc định là '' 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
|
giá trị mặc định là {} 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
|
giá trị mặc định là '' 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 repository_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
.
Tham số
Thông số | Mô tả |
---|---|
url
|
string; hoặc Có thể lặp lại của chuỗi;
bắt buộc Danh sách URL phản chiếu tham chiếu đến cùng một tệp. |
output
|
string; hoặc Label; hoặc đường dẫn;
giá trị mặc định là '' đườ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
|
giá trị mặc định là '' 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
|
giá trị mặc định là '' 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", ".tbz", ".ar" hoặc ".deb" vào đây. |
stripPrefix
|
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. 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
|
giá trị mặc định là 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
|
giá trị mặc định là '' 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
|
giá trị mặc định là {} 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
|
giá trị mặc định là '' 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
|
giá trị mặc định là {} 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 repository_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
|
giá trị mặc định là 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
|
giá trị mặc định là {} buộc truyền một số biến môi trường vào quy trình. |
quiet
|
giá trị mặc định là True Nếu phải in stdout và stderr vào thiết bị đầu cuối. |
working_directory
|
giá trị mặc định là "" 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ữ. |
trích xuất
None
repository_ctx.extract(archive, output='', stripPrefix='', *, rename_files={})
Trích xuất một tệp lưu trữ vào thư mục kho lưu trữ.
Tham số
Thông số | Mô tả |
---|---|
archive
|
string; hoặc Label; hoặc đường dẫn;
bắt buộc đường dẫn đến tệp lưu trữ sẽ được giải nén, tương ứng với thư mục kho lưu trữ. |
output
|
string; hoặc Label; hoặc đường dẫn;
giá trị mặc định là '' đườ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ữ. |
stripPrefix
|
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. 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.
|
rename_files
|
giá trị mặc định là {} 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. |
tệp
None
repository_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; hoặc Label; hoặc đường dẫn;
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
|
giá trị mặc định là '' nội dung của tệp cần tạo, theo mặc định sẽ bị trống. |
executable
|
giá trị mặc định là True đặt cờ thực thi trên tệp được tạo, true theo mặc định. |
legacy_utf8
|
giá trị mặc định là 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. |
tên
string repository_ctx.nameTên của kho lưu trữ bên ngoài được tạo theo quy tắc này.
hệ điều hành
repository_os repository_ctx.osMột cấu trúc để truy cập vào thông tin từ hệ thống.
bản vá
None
repository_ctx.patch(patch_file, strip=0)
Áp dụng tệp bản vá cho thư mục gốc của kho lưu trữ bên ngoài. Tệp bản vá phải là một tệp định dạng khác biệt thống nhất chuẩn. Quy trình triển khai bản vá gốc Bazel không hỗ trợ tính năng so khớp mờ và bản vá nhị phân như công cụ dòng lệnh của bản vá.
Tham số
Thông số | Mô tả |
---|---|
patch_file
|
string; hoặc Label; hoặc đường dẫn;
bắt buộc Tệp bản vá cần áp dụng, có thể là nhãn, đường dẫn tương đối hoặc đường dẫn tuyệt đối. Nếu đó là một đường dẫn tương đối, thì đường dẫn này sẽ được phân giải thành thư mục kho lưu trữ. |
strip
|
giá trị mặc định là 0 loại bỏ số lượng thành phần hàng đầu được chỉ định khỏi tên tệp. |
đường dẫn
path repository_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; hoặc Label; hoặc đường dẫn;
bắt buộc chuỗi, nhãn hoặc đường dẫn mà từ đó tạo đường dẫn |
đọc
string repository_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; hoặc Label; hoặc đường dẫn;
bắt buộc đường dẫn của tệp cần đọc. |
report_progress
None
repository_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;
giá trị mặc định là '' chuỗi mô tả trạng thái hiện tại của tiến trình tìm nạp |
liên kết tượng trưng
None
repository_ctx.symlink(target, link_name)
Tạo một đường liên kết tượng trưng trên hệ thống tệp.
Tham số
Thông số | Mô tả |
---|---|
target
|
string; hoặc Label; hoặc đường dẫn;
bắt buộc Đường dẫn mà đường liên kết tượng trưng phải trỏ đến. |
link_name
|
string; hoặc Label; hoặc đường dẫn;
bắt buộc Đường dẫn của đường liên kết tượng trưng cần tạo, so với thư mục kho lưu trữ. |
mẫu
None
repository_ctx.template(path, template, substitutions={}, executable=True)
Tạo tệp mới bằng template
. Mọi lần xuất hiện trong template
của khoá của substitutions
sẽ được thay thế bằng giá trị tương ứng. Kết quả được viết bằng path
. Bạn có thể đặt đối số executable
không bắt buộc (mặc định là true) để bật hoặc tắt bit thực thi.
Tham số
Thông số | Mô tả |
---|---|
path
|
string; hoặc Label; hoặc đường dẫn;
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ữ. |
template
|
string; hoặc Label; hoặc đường dẫn;
bắt buộc đường dẫn đến tệp mẫu. |
substitutions
|
giá trị mặc định là {} thay thế để thực hiện khi mở rộng mẫu. |
executable
|
giá trị mặc định là True đặt cờ thực thi trên tệp được tạo, true theo mặc định. |
thiết bị nào
path repository_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. |
None
.
workspace_root
path repository_ctx.workspace_rootĐường dẫn đến không gian làm việc gốc của lệnh gọi bazel.