implementation
khi tạo một quy tắc kho lưu trữ.
Hội viên
- attr
- xóa
- download
- download_and_extract
- thực thi
- extract
- tệp
- getenv
- name
- original_name
- os
- patch
- path
- read
- rename
- repo_metadata
- report_progress
- symlink
- mẫu
- watch
- watch_tree
- which
- workspace_root
attr
struct repository_ctx.attr
xóa
bool repository_ctx.delete(path)
Thông số
Thông số | Mô tả |
---|---|
path
|
string; hoặc path;
required Đường dẫn của tệp cần xoá, tương ứng với thư mục kho lưu trữ hoặc đường dẫn tuyệt đối. Có thể là một đường dẫn hoặc một chuỗi. |
tải xuống
unknown repository_ctx.download(url, output='', sha256='', executable=False, allow_fail=False, canonical_id='', auth={}, headers={}, *, integrity='', block=True)
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ì đó là một hàm băm của tệp có các trường sha256
và integrity
. Khi sha256
hoặc integrity
do người dùng chỉ định, bạn nên đặt một canonical_id
rõ ràng. ví dụ: get_default_canonical_id
Thông số
Thông số | Mô tả |
---|---|
url
|
string; hoặc Iterable của strings; bắt buộc Danh sách các URL phản chiếu tham chiếu đến cùng một tệp. |
output
|
string; hoặc Label; hoặc path;
mặc định là '' đường dẫn đến tệp đầu ra, tương ứng với thư mục kho lưu trữ. |
sha256
|
string;
mặc định là '' Hàm băm SHA-256 dự kiến của tệp đã 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. 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 là việc bỏ qua trường này sẽ khiến bản dựng của bạn không khép kín. Bạn không bắt buộc phải đặt để phát triển dễ dàng hơn, nhưng bạn nên đặt trước khi vận chuyển. Nếu được cung cấp, trước tiên, bộ nhớ đệm kho lưu trữ sẽ được kiểm tra để tìm một tệp có hàm băm đã cho; 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. |
executable
|
bool;
default is False Đặt cờ thực thi trên tệp đã tạo, theo mặc định là false. |
allow_fail
|
bool;
default is 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
|
string;
default is '' Nếu được đặt, hãy giới hạn số lượt truy cập vào bộ nhớ đệm trong 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. Theo mặc định, tính năng lưu vào bộ nhớ đệm sẽ sử dụng tổng kiểm ( sha256 hoặc integrity ).
|
auth
|
dict;
default is {} An optional dict specifying authentication information for some of the URLs. |
headers
|
dict;
mặc định là {} Một dict không bắt buộc chỉ định tiêu đề http cho tất cả URL. |
integrity
|
string;
mặc định là '' Tổng kiểm tra 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à việc bỏ qua trường này sẽ khiến bản dựng của bạn không khép kín. Bạn không bắt buộc phải đặt để phát triển dễ dàng hơn, nhưng bạn nên đặt trước khi vận chuyển. Nếu được cung cấp, trước tiên, bộ nhớ đệm kho lưu trữ sẽ được kiểm tra để tìm một tệp có tổng kiểm tra đã cho; 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. |
block
|
bool;
default is True If set to false, the call returns immediately and instead of the regular return value, it returns a token with one single method, wait(), which blocks until the download is finished and returns the usual return value or throws as usual. |
download_and_extract
struct repository_ctx.download_and_extract(url, output='', sha256='', type='', strip_prefix='', allow_fail=False, canonical_id='', auth={}, headers={}, *, integrity='', rename_files={})
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ì một hàm băm của tệp có các trường sha256
và integrity
. Khi sha256
hoặc integrity
do người dùng chỉ định, bạn nên đặt một canonical_id
rõ ràng. ví dụ: get_default_canonical_id
Thông số
Thông số | Mô tả |
---|---|
url
|
string; hoặc Iterable của strings; bắt buộc Danh sách các URL phản chiếu tham chiếu đến cùng một tệp. |
output
|
string; hoặc Label; hoặc path;
mặc định là '' Đường dẫn đến thư mục nơi kho lưu trữ sẽ được giải nén, tương ứng với thư mục kho lưu trữ. |
sha256
|
string;
mặc định là '' Hàm băm SHA-256 dự kiến của tệp đã 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. 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 là việc bỏ qua trường này sẽ khiến bản dựng của bạn không khép kín. Bạn không bắt buộc phải đặt để phát triển dễ dàng hơn, nhưng bạn nên đặt trước khi vận chuyển. Nếu được cung cấp, trước tiên, bộ nhớ đệm kho lưu trữ sẽ được kiểm tra để tìm một tệp có hàm băm đã cho; 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
|
string;
default is '' Loại tệp lưu trữ của tệp đã 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ó đuôi, bạn có thể chỉ định rõ "zip", "jar", "war", "aar", "nupkg", "whl", "tar", "tar.gz", "tgz", "tar.xz", "txz", ".tar.zst", ".tzst", "tar.bz2", ".tbz", ".ar" hoặc ".deb" tại đây. |
strip_prefix
|
string;
mặc định là '' Tiền tố thư mục cần loại bỏ 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 tệp 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ể dùng trường này để loại bỏ tiền tố khỏi các tệp đã trích xuất.
Để đảm bảo khả năng tương thích, bạn cũng có thể sử dụng tham số này theo tên không dùng nữa là |
allow_fail
|
bool;
default is 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
|
string;
default is '' Nếu được đặt, hãy giới hạn số lượt truy cập vào bộ nhớ đệm trong 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. Theo mặc định, hoạt động lưu vào bộ nhớ đệm sẽ sử dụng tổng kiểm tra (" sha256 " hoặc "integrity ").
|
auth
|
dict;
default is {} An optional dict specifying authentication information for some of the URLs. |
headers
|
dict;
mặc định là {} Một dict không bắt buộc chỉ định tiêu đề http cho tất cả URL. |
integrity
|
string;
mặc định là '' Tổng kiểm tra 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à việc bỏ qua trường này sẽ khiến bản dựng của bạn không khép kín. Bạn không bắt buộc phải đặt để phát triển dễ dàng hơn, nhưng bạn nên đặt trước khi vận chuyển. Nếu được cung cấp, trước tiên, bộ nhớ đệm kho lưu trữ sẽ được kiểm tra để tìm một tệp có tổng kiểm tra đã cho; 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. |
rename_files
|
dict;
default is {} Một dict 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 có bất kỳ điều chỉnh nào về tiền tố thư mục. Bạn có thể dùng tuỳ chọn này để trích xuất những tệp lưu trữ có tên tệp không phải là Unicode hoặc có các tệp sẽ được 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 thi
exec_result repository_ctx.execute(arguments, timeout=600, environment={}, quiet=True, working_directory="")
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 đầu ra 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 đến quy trình.
Thông số
Thông số | Mô tả |
---|---|
arguments
|
sequence;
required Danh sách các đối số, phần tử đầu tiên phải là đường dẫn đến chương trình cần thực thi. |
timeout
|
int;
default is 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
|
dict;
default is {} Force some environment variables to be set to be passed to the process. Giá trị có thể là None để xoá biến môi trường.
|
quiet
|
bool;
mặc định là True Liệu stdout và stderr có được in ra thiết bị đầu cuối hay không. |
working_directory
|
string;
mặc định là "" Thư mục đang hoạt động để thực thi lệnh. Có thể tương đối với thư mục gốc của kho lưu trữ hoặc tuyệt đối. Giá trị mặc định là thư mục gốc của kho lưu trữ. |
trích xuất
None
repository_ctx.extract(archive, output='', strip_prefix='', *, rename_files={}, watch_archive='auto')
Thông số
Thông số | Mô tả |
---|---|
archive
|
string; hoặc Label; hoặc path; bắt buộc đường dẫn đến kho 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 path;
mặc định là '' đường dẫn đến thư mục nơi kho lưu trữ sẽ được giải nén, tương ứng với thư mục kho lưu trữ. |
strip_prefix
|
string; mặc định là '' tiền tố thư mục cần loại bỏ 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 tệp 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ể dùng trường này để loại bỏ tiền tố khỏi các tệp đã trích xuất.
Để đảm bảo khả năng tương thích, bạn cũng có thể sử dụng tham số này theo tên không dùng nữa là |
rename_files
|
dict;
default is {} Một dict 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 có bất kỳ điều chỉnh nào về tiền tố thư mục. Bạn có thể dùng tuỳ chọn này để trích xuất những tệp lưu trữ có tên tệp không phải là Unicode hoặc có các tệp sẽ được 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. |
watch_archive
|
string;
mặc định là 'auto' liệu có xem tệp lưu trữ hay không. Có thể là chuỗi "yes", "no" hoặc "auto". Truyền "yes" tương đương với việc gọi ngay phương thức watch() ; truyền "no" sẽ không cố gắng theo dõi tệp; truyền "auto" sẽ chỉ cố gắng theo dõi tệp khi được phép (xem tài liệu watch() để biết thêm thông tin.
|
tệp
None
repository_ctx.file(path, content='', executable=True, legacy_utf8=False)
Thông số
Thông số | Mô tả |
---|---|
path
|
string; hoặc Label; hoặc path;
required Đường dẫn của tệp cần tạo, tương ứng với thư mục kho lưu trữ. |
content
|
string;
default is '' Nội dung của tệp cần tạo, theo mặc định là trống. |
executable
|
bool;
mặc định là True Đặt cờ thực thi trên tệp đã tạo, theo mặc định là true. |
legacy_utf8
|
bool;
default is False No-op. This parameter is deprecated and will be removed in a future version of Bazel. |
getenv
string repository_ctx.getenv(name, default=None)
name
dưới dạng chuỗi nếu có hoặc default
nếu không có. Khi bạn tạo tăng dần, mọi thay đổi đối với giá trị của biến do name
đặt tên sẽ khiến kho lưu trữ này được tìm nạp lại.
Thông số
Thông số | Mô tả |
---|---|
name
|
string;
required Name of desired environment variable. |
default
|
string; hoặc None ;
mặc định là None Giá trị mặc định cần trả về nếu không tìm thấy name .
|
None
.
tên
string repository_ctx.name
original_name
để lấy tên được chỉ định ban đầu làm name
khi quy tắc kho lưu trữ này được tạo thực thể.
original_name
string repository_ctx.original_name
name
khi quy tắc kho lưu trữ này được tạo thực thể. Tên này không nhất thiết phải là tên duy nhất trong số các kho lưu trữ bên ngoài. Thay vào đó, hãy sử dụng name
để lấy tên chuẩn của kho lưu trữ bên ngoài.
hệ điều hành
repository_os repository_ctx.os
bản vá
None
repository_ctx.patch(patch_file, strip=0, *, watch_patch='auto')
Thông số
Thông số | Mô tả |
---|---|
patch_file
|
string; hoặc Label; hoặc path; bắt buộc Tệp vá để á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 này sẽ phân giải thành thư mục kho lưu trữ. |
strip
|
int;
mặc định là 0 Xoá số lượng thành phần đầu tiên được chỉ định khỏi tên tệp. |
watch_patch
|
string;
mặc định là 'auto' Có theo dõi tệp bản vá hay không. Có thể là chuỗi "yes", "no" hoặc "auto". Truyền "yes" tương đương với việc gọi ngay phương thức watch() ; truyền "no" sẽ không cố gắng theo dõi tệp; truyền "auto" sẽ chỉ cố gắng theo dõi tệp khi được phép (xem tài liệu watch() để biết thêm thông tin.
|
đường dẫn
path repository_ctx.path(path)
Thông số
Thông số | Mô tả |
---|---|
path
|
string; hoặc Label; hoặc path;
requiredstring , Label hoặc path mà từ đó tạo ra một đường dẫn.
|
đọc
string repository_ctx.read(path, *, watch='auto')
Thông số
Thông số | Mô tả |
---|---|
path
|
string; hoặc Label; hoặc path;
required Đường dẫn của tệp cần đọc. |
watch
|
string;
mặc định là 'auto' Có theo dõi tệp hay không. Có thể là chuỗi "yes", "no" hoặc "auto". Truyền "yes" tương đương với việc gọi ngay phương thức watch() ; truyền "no" sẽ không cố gắng theo dõi tệp; truyền "auto" sẽ chỉ cố gắng theo dõi tệp khi được phép (xem tài liệu watch() để biết thêm thông tin.
|
đổi tên
None
repository_ctx.rename(src, dst)
src
thành dst
. Các thư mục mẹ sẽ được tạo khi cần. Thao tác sẽ không thành công nếu đường dẫn đích đã tồn tại. Cả hai đường dẫn đều phải nằm trong kho lưu trữ.
Thông số
Thông số | Mô tả |
---|---|
src
|
string; hoặc Label; hoặc path;
required Đường dẫn của tệp hoặc thư mục hiện có cần đổi tên, tương ứng với thư mục kho lưu trữ. |
dst
|
string; hoặc Label; hoặc path;
required Tên mới mà tệp hoặc thư mục sẽ được đổi tên, tương ứng với thư mục kho lưu trữ. |
repo_metadata
repo_metadata repository_ctx.repo_metadata(reproducible=False, attrs_for_reproducibility={})
Thông số
Thông số | Mô tả |
---|---|
reproducible
|
bool;
default is False States that this repo can be reproducibly refetched; that is, if it were fetched another time with exactly the same input attributes, repo rule definition, watched files and environment variables, etc., then exactly the same output would be produced. Thuộc tính này cần được giữ nguyên ngay cả khi các điều kiện khác không được theo dõi thay đổi, chẳng hạn như thông tin trên Internet, đường dẫn của thư mục gốc không gian làm việc, đầu ra từ việc chạy các tệp thực thi tuỳ ý, v.v. Nếu được đặt thành True, thuộc tính này cho phép nội dung kho lưu trữ đã tìm nạp được lưu vào bộ nhớ đệm trên các không gian làm việc. Xin lưu ý rằng việc đặt giá trị này thành True không đảm bảo việc lưu vào bộ nhớ đệm trong bộ nhớ đệm nội dung kho lưu trữ; ví dụ: các quy tắc kho lưu trữ cục bộ sẽ không bao giờ được lưu vào bộ nhớ đệm. |
attrs_for_reproducibility
|
dict;
default is {} Nếu reproducible là False, bạn có thể chỉ định thuộc tính này để cho Bazel biết những thuộc tính nào của quy tắc kho lưu trữ gốc cần thay đổi để có thể tái tạo.
|
report_progress
None
repository_ctx.report_progress(status='')
Thông số
Thông số | Mô tả |
---|---|
status
|
string;
mặc định là '' string 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)
Thông số
Thông số | Mô tả |
---|---|
target
|
string; hoặc Label; hoặc path;
required Đường dẫn mà symlink sẽ trỏ đến. |
link_name
|
string; hoặc Label; hoặc path;
required Đường dẫn của symlink cần tạo. |
ManualContentEmbargoesScheduleTemplate.xlsx
None
repository_ctx.template(path, template, substitutions={}, executable=True, *, watch_template='auto')
template
. Mọi lần xuất hiện trong template
của một 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ể đặt mộ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.
Thông số
Thông số | Mô tả |
---|---|
path
|
string; hoặc Label; hoặc path;
required Đường dẫn của tệp cần tạo, tương ứng với thư mục kho lưu trữ. |
template
|
string; hoặc Label; hoặc path;
required Đường dẫn đến tệp mẫu. |
substitutions
|
dict;
mặc định là {} Các phép thay thế cần thực hiện khi mở rộng mẫu. |
executable
|
bool;
mặc định là True Đặt cờ thực thi trên tệp đã tạo, theo mặc định là true. |
watch_template
|
string;
mặc định là 'auto' Có theo dõi tệp mẫu hay không. Có thể là chuỗi "yes", "no" hoặc "auto". Truyền "yes" tương đương với việc gọi ngay phương thức watch() ; truyền "no" sẽ không cố gắng theo dõi tệp; truyền "auto" sẽ chỉ cố gắng theo dõi tệp khi được phép (xem tài liệu watch() để biết thêm thông tin.
|
đồng hồ
None
repository_ctx.watch(path)
"Thay đổi" bao gồm những thay đổi đối với nội dung của tệp (nếu đường dẫn là một tệp); nếu đường dẫn là một tệp nhưng hiện là một thư mục hoặc ngược lại; và nếu đường dẫn bắt đầu hoặc ngừng tồn tại. Đặc biệt, lệnh này không bao gồm các thay đổi đối với bất kỳ tệp nào trong thư mục nếu đường dẫn là một thư mục. Để làm việc đó, hãy sử dụng path.readdir()
.
Xin lưu ý rằng việc cố gắng theo dõi các đường dẫn bên trong kho lưu trữ đang được tìm nạp hoặc bên trong thư mục đang hoạt động của tiện ích mô-đun hiện tại sẽ dẫn đến lỗi. Tiện ích mô-đun cố gắng theo dõi một đường dẫn bên ngoài không gian làm việc Bazel hiện tại cũng sẽ dẫn đến lỗi.
Thông số
Thông số | Mô tả |
---|---|
path
|
string; hoặc Label; hoặc path;
required Đường dẫn của tệp cần theo dõi. |
watch_tree
None
repository_ctx.watch_tree(path)
Xin lưu ý rằng nếu bạn cố gắng theo dõi các đường dẫn bên trong kho lưu trữ đang được tìm nạp, thì sẽ xảy ra lỗi.
Thông số
Thông số | Mô tả |
---|---|
path
|
string; hoặc Label; hoặc path;
required Đường dẫn của cây thư mục cần theo dõi. |
thiết bị nào
path repository_ctx.which(program)
path
của chương trình tương ứng hoặc None
nếu không có chương trình nào như vậy trong đường dẫn.
Thông số
Thông số | Mô tả |
---|---|
program
|
string;
required Chương trình cần tìm trong đường dẫn. |
None
.
workspace_root
path repository_ctx.workspace_root