implementation
khi tạo quy tắc kho lưu trữ.
Hội viên
- attr (giá trị thuộc tính)
- xóa
- tải xuống
- download_and_extract
- execute
- trích xuất
- tệp
- name
- os
- bản vá
- path (đường dẫn)
- đọc
- report_progress
- đường liên kết tượng trưng
- mẫu
- mà
- workspace_root
thuộc tính
struct repository_ctx.attrCấu trúc để truy cập vào các giá trị của 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á tệp hoặc thư mục. Trả về một giá trị 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.
Các tham số
Thông số | Nội dung mô tả |
---|---|
path
|
string; or path ;
bắt buộcĐường dẫn của tệp cần xoá, tương đối so với thư mục kho lưu trữ hoặc giá trị 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 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 sha256
và integrity
.
Các tham số
Thông số | Nội dung 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
|
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 repository_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 sha256
và integrity
.
Các tham số
Thông số | Nội dung 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 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 repository_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. |
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ữ.
Các tham số
Thông số | Nội dung mô tả |
---|---|
archive
|
string; or Label; or path ;
đường dẫnbắt buộc đến tệp lưu trữ sẽ được giải nén, so với thư mục kho lưu trữ. |
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ữ. |
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.
|
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. |
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.
Các 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
|
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. |
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.
os
repository_os repository_ctx.osCấu trúc để truy cập 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á vào thư mục gốc của kho lưu trữ bên ngoài. Tệp bản vá phải là tệp định dạng khác biệt thống nhất chuẩn. Việc triển khai bản vá gốc Bazel không hỗ trợ đối sánh mờ và bản vá nhị phân như công cụ dòng lệnh vá.
Các tham số
Thông số | Nội dung mô tả |
---|---|
patch_file
|
string; or Label; or path ;
bắt buộcTệ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à đường dẫn tương đối, đường dẫn đó sẽ phân giải thành thư mục kho lưu trữ. |
strip
|
default = 0 sẽ xoá số thành phần đứng đầu được chỉ định khỏi tên tệp. |
path
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, đườ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ẫnbắt buộc để tạo đường dẫn từ đó |
đọc
string repository_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ẫnbắt buộc của tệp để đọc. |
report_progress
None repository_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 |
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.
Các tham số
Thông số | Nội dung mô tả |
---|---|
target
|
string; or Label; or path ;
bắt buộcĐường dẫn mà đường liên kết tượng trưng phải trỏ đến. |
link_name
|
string; or Label; or path ;
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ữ. |
ManualContentEmbargoesScheduleTemplate.xlsx
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á 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ể thiết lập một đối số executable
không bắt buộc (mặc định là đúng) để bật hoặc tắt bit thực thi.
Các 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ữ. |
template
|
string; or Label; or path ;
đường dẫnbắt buộc đến tệp mẫu. |
substitutions
|
mặc định = {} thay thế cần thực hiện khi mở rộng mẫu. |
executable
|
default = True đặt cờ có thể thực thi trên tệp đã tạo, đúng 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ó 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. |
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.