Hội viên
- tất cả
- analysis_test_transition
- bất kỳ
- archive_override
- góc nhìn
- bazel_dep
- liên kết
- bool
- configuration_field
- phần phụ thuộc
- chính tả
- dir
- liệt kê
- exec_group
- thất bại
- độ chính xác đơn
- getattr
- git_override
- hasattr
- hàm băm
- số nguyên
- len
- list
- local_path_override
- tối đa
- phút
- mô-đun
- module_extension
- multiple_version_override
- provider
- dải_ô
- register_execution_platforms()
- register_execution_platforms(dev_dependency)
- register_toolchains()
- register_toolchains(dev_dependency)
- repository_rule
- bản thảo lại
- đảo ngược
- quy tắc
- chọn
- single_version_override
- được sắp xếp
- str
- tag_class
- bộ dữ liệu
- loại
- use_extension
- use_repo
- khả năng hiển thị
- không gian làm việc
- zip
tất cả
bool all(elements)
all(["hello", 3, True]) == True all([-1, 0, 1]) == False
Tham số
Thông số | Mô tả |
---|---|
elements
|
bắt buộc Một chuỗi hoặc một tập hợp các phần tử. |
analysis_test_transition
transition analysis_test_transition(settings)
Tạo một quá trình chuyển đổi cấu hình để áp dụng trên các phần phụ thuộc của quy tắc phân tích-kiểm thử. Hiệu ứng chuyển đổi này chỉ có thể áp dụng cho các thuộc tính của quy tắc có analysis_test = True
. Các quy tắc như vậy bị hạn chế về khả năng (ví dụ: kích thước của cây phần phụ thuộc bị giới hạn), vì vậy, các hiệu ứng chuyển đổi được tạo bằng hàm này bị giới hạn trong phạm vi tiềm năng so với hiệu ứng chuyển đổi được tạo bằng hiệu ứng chuyển đổi.
Hàm này chủ yếu được thiết kế để hỗ trợ thư viện cốt lõi Khung kiểm thử phân tích. Hãy xem tài liệu (hoặc cách triển khai) để biết các phương pháp hay nhất.
Tham số
Thông số | Mô tả |
---|---|
settings
|
bắt buộc Từ điển chứa thông tin về các chế độ cài đặt cấu hình cần được đặt trong quá trình chuyển đổi cấu hình này. Khoá là các nhãn cài đặt bản dựng và giá trị là giá trị mới sau khi chuyển đổi. Tất cả các chế độ cài đặt khác đều không thay đổi. Sử dụng lệnh này để khai báo các chế độ cài đặt cấu hình cụ thể mà kiểm thử phân tích yêu cầu phải được thiết lập để có thể vượt qua. |
bất kỳ
bool any(elements)
any([-1, 0, 1]) == True any([False, 0, ""]) == False
Tham số
Thông số | Mô tả |
---|---|
elements
|
bắt buộc Một chuỗi hoặc một tập hợp các phần tử. |
archive_override
None archive_override(module_name, urls, integrity='', strip_prefix='', patches=[], patch_cmds=[], patch_strip=0)
Tham số
Thông số | Mô tả |
---|---|
module_name
|
bắt buộc Tên của phần phụ thuộc mô-đun Bazel để áp dụng chế độ ghi đè này. |
urls
|
string; or Iterable of strings ;
bắt buộcURL của kho lưu trữ; có thể là URL http(s):// hoặc file://. |
integrity
|
mặc định = '' Giá trị tổng kiểm dự kiến của tệp lưu trữ, ở định dạng Tính toàn vẹn của tài nguyên phụ. |
strip_prefix
|
mặc định = '' Tiền tố thư mục để xóa khỏi các tệp đã giải nén. |
patches
|
Iterable of strings ;
mặc định = []Danh sách các nhãn trỏ đến tệp bản vá để áp dụng cho mô-đun này. Các tệp bản vá phải tồn tại trong cây nguồn của dự án cấp cao nhất. Các đề xuất được áp dụng theo thứ tự danh sách. |
patch_cmds
|
Iterable of strings ;
mặc định = []Trình tự các lệnh Bash sẽ được áp dụng trên Linux/Macos sau khi áp dụng bản vá. |
patch_strip
|
mặc định = 0 Giống như đối số --strip của bản vá Unix. |
chương trình thành phần
Aspect aspect(implementation, attr_aspects=[], attrs=None, required_providers=[], required_aspect_providers=[], provides=[], requires=[], fragments=[], host_fragments=[], toolchains=[], incompatible_use_toolchain_transition=False, doc='', *, apply_to_generating_rules=False, exec_compatible_with=[], exec_groups=None)
Tham số
Thông số | Mô tả |
---|---|
implementation
|
bắt buộc Một hàm Starlark triển khai khía cạnh này, với chính xác 2 tham số: Target (mục tiêu mà khía cạnh được áp dụng) và ctx (bối cảnh quy tắc mà nhắm mục tiêu được tạo từ đó). Các thuộc tính của mục tiêu có sẵn thông qua trường ctx.rule . Hàm này được đánh giá trong giai đoạn phân tích cho mỗi ứng dụng của một khía cạnh cho một mục tiêu.
|
attr_aspects
|
sequence of strings ;
mặc định = []Danh sách tên thuộc tính. Đối tượng này sẽ truyền theo các phần phụ thuộc được chỉ định trong thuộc tính của mục tiêu bằng các tên này. Các giá trị phổ biến ở đây bao gồm deps và exports . Danh sách này cũng có thể chứa một chuỗi "*" duy nhất để truyền cùng tất cả các phần phụ thuộc của một mục tiêu.
|
attrs
|
dict; or None ;
mặc định = Không cóMột từ điển khai báo tất cả các thuộc tính của một phương diện. Thuộc tính này ánh xạ từ tên thuộc tính đến một đối tượng thuộc tính, như "attr.label" hoặc "attr.string" (xem mô-đun attr). Các thuộc tính khung hình có sẵn cho hàm triển khai dưới dạng các trường của tham số ctx . Các thuộc tính ngầm ẩn bắt đầu bằng Các thuộc tính rõ ràng phải thuộc loại |
required_providers
|
mặc định = [] Thuộc tính này cho phép khía cạnh đó giới hạn việc truyền nội dung ở những mục tiêu có quy tắc quảng cáo nhà cung cấp bắt buộc. Giá trị phải là một danh sách chứa từng nhà cung cấp hoặc danh sách nhà cung cấp, nhưng không được chứa cả hai. Ví dụ: [[FooInfo], [BarInfo], [BazInfo, QuxInfo]] là giá trị hợp lệ trong khi [FooInfo, BarInfo, [BazInfo, QuxInfo]] không hợp lệ.Danh sách các nhà cung cấp chưa lồng nhau sẽ tự động được chuyển thành danh sách chứa một danh sách các nhà cung cấp. Tức là Để hiển thị một số mục tiêu theo quy tắc (ví dụ: |
required_aspect_providers
|
mặc định = [] Thuộc tính này cho phép khía cạnh này kiểm tra các khía cạnh khác. Giá trị phải là một danh sách chứa từng nhà cung cấp hoặc danh sách nhà cung cấp, nhưng không được chứa cả hai. Ví dụ: [[FooInfo], [BarInfo], [BazInfo, QuxInfo]] là giá trị hợp lệ trong khi [FooInfo, BarInfo, [BazInfo, QuxInfo]] không hợp lệ.Danh sách các nhà cung cấp chưa lồng nhau sẽ tự động được chuyển thành danh sách chứa một danh sách các nhà cung cấp. Tức là Để hiển thị một khía cạnh khác (ví dụ: |
provides
|
mặc định = [] Danh sách trình cung cấp mà hàm triển khai phải trả về. Sẽ không có lỗi nếu hàm triển khai bỏ qua bất kỳ loại trình cung cấp nào được liệt kê ở đây trong giá trị trả về. Tuy nhiên, hàm triển khai có thể trả về các nhà cung cấp khác không có trong danh sách này. Mỗi phần tử của danh sách là một đối tượng |
requires
|
sequence of Aspects ;
mặc định = []Danh sách các phương diện bắt buộc phải được truyền trước phương diện này. |
fragments
|
sequence of strings ;
mặc định = []Danh sách tên của các mảnh cấu hình mà thành phần này cần có trong cấu hình mục tiêu. |
host_fragments
|
sequence of strings ;
mặc định = []Danh sách tên của các mảnh cấu hình mà khía cạnh này yêu cầu trong cấu hình máy chủ. |
toolchains
|
sequence ;
mặc định = []Nếu được đặt, tập hợp các chuỗi công cụ mà quy tắc này yêu cầu. Danh sách này có thể chứa các đối tượng Chuỗi, Nhãn hoặc StarlarkToolchainTypeApi theo bất kỳ cách kết hợp nào. Bạn sẽ tìm thấy chuỗi công cụ bằng cách kiểm tra nền tảng hiện tại và được cung cấp cho việc triển khai quy tắc thông qua ctx.toolchain .
|
incompatible_use_toolchain_transition
|
mặc định = Sai Không dùng nữa, chính sách này không còn được sử dụng nữa và phải được xoá. |
doc
|
mặc định = '' Nội dung mô tả về một khía cạnh có thể được trích xuất bằng các công cụ tạo tài liệu. |
apply_to_generating_rules
|
mặc định = Sai Nếu đúng, khung hình sẽ áp dụng cho quy tắc tạo của tệp đầu ra khi được áp dụng cho tệp đầu ra. Ví dụ: giả sử một khung hình truyền tải bắc cầu qua thuộc tính "deps" và khung hình đó được áp dụng cho mục tiêu "alpha". Giả sử `alpha` có `deps = [':beta_output']`, trong đó `beta_output` là kết quả đầu ra được khai báo của `beta` mục tiêu. Giả sử "beta" có một "charlie" mục tiêu là một trong các "dep" của nó. Nếu "apply_to_creating_rules=True" cho một khung hình, thì khung hình đó sẽ truyền qua "alpha", "beta" và "charlie". Nếu là False, thì khung hình sẽ chỉ truyền sang "alpha". False theo mặc định. |
exec_compatible_with
|
sequence of strings ;
mặc định = []Danh sách các quy tắc ràng buộc trên nền tảng thực thi áp dụng cho mọi thực thể của khía cạnh này. |
exec_groups
|
dict; or None ;
mặc định = Không cóNhập tên nhóm thực thi (chuỗi) vào exec_group . Nếu được đặt, hãy cho phép các khía cạnh chạy hành động trên nhiều nền tảng thực thi trong một thực thể duy nhất. Hãy xem tài liệu về nhóm thực thi để biết thêm thông tin.
|
bazel_dep
None bazel_dep(name, version='', max_compatibility_level=-1, repo_name='', dev_dependency=False)
Tham số
Thông số | Mô tả |
---|---|
name
|
bắt buộc Tên của mô-đun sẽ được thêm dưới dạng phần phụ thuộc trực tiếp. |
version
|
mặc định = '' Phiên bản của mô-đun cần thêm dưới dạng phần phụ thuộc trực tiếp. |
max_compatibility_level
|
mặc định = -1compatibility_level tối đa được hỗ trợ để thêm mô-đun dưới dạng phần phụ thuộc trực tiếp. Phiên bản của mô-đun ngụ ý mức tương thích tối thiểu được hỗ trợ cũng như mức tối đa nếu thuộc tính này không được chỉ định.
|
repo_name
|
mặc định = '' Tên của kho lưu trữ bên ngoài thể hiện phần phụ thuộc này. Theo mặc định, tên này là tên của mô-đun. |
dev_dependency
|
mặc định = Sai Nếu đúng, phần phụ thuộc này sẽ bị bỏ qua nếu mô-đun hiện tại không phải là mô-đun gốc hoặc "--ignore_dev_Dependencies" được bật. |
xác thực
None bind(name, actual=None)
Cảnh báo: Bạn không nên sử dụng bind()
. Hãy xem phần Cân nhắc xoá liên kết để thảo luận dài về các vấn đề và giải pháp thay thế.
Cấp cho một mục tiêu một bí danh trong gói //external
.
Tham số
Thông số | Mô tả |
---|---|
name
|
bắt buộc Nhãn trong '//external' để làm tên đại diện |
actual
|
string; or None ;
mặc định = Không cóNhãn thực cần được đặt bí danh |
bool
bool bool(x=False)
False
nếu đối tượng là None
, False
, một chuỗi trống (""
), số 0
hoặc một tập hợp trống (ví dụ: ()
, []
). Nếu không, hàm này sẽ trả về True
.
Tham số
Thông số | Mô tả |
---|---|
x
|
mặc định = Sai Biến cần chuyển đổi. |
configuration_field
LateBoundDefault configuration_field(fragment, name)
Ví dụ về cách sử dụng:
Xác định thuộc tính quy tắc:
'_foo': attr.label(default=configuration_field(fragment='java', name='toolchain'))
Truy cập trong quá trình triển khai quy tắc:
def _rule_impl(ctx): foo_info = ctx.attr._foo ...
Tham số
Thông số | Mô tả |
---|---|
fragment
|
bắt buộc Tên của một mảnh cấu hình chứa giá trị giới hạn trễ. |
name
|
bắt buộc Tên của giá trị cần lấy từ mảnh cấu hình. |
phần tách rời
depset depset(direct=None, order="default", *, transitive=None)
direct
là một danh sách các phần tử trực tiếp của tập hợp lại và tham số transitive
là một danh sách các phần tử phụ thuộc mà các phần tử đó trở thành phần tử gián tiếp của tập hợp đã tạo. Thứ tự các phần tử được trả về khi tập hợp được chuyển đổi thành một danh sách được chỉ định bằng tham số order
. Xem Tổng quan về phần phụ thuộc để biết thêm thông tin.
Tất cả các phần tử (trực tiếp và gián tiếp) của một tập hợp phải thuộc cùng một kiểu, như thu được trong biểu thức type(x)
.
Vì tập hợp dựa trên hàm băm được dùng để loại bỏ các bản sao trong quá trình lặp lại, nên tất cả phần tử của một tập hợp đều có thể băm được. Tuy nhiên, bất biến này hiện không được kiểm tra một cách nhất quán trong tất cả các hàm khởi tạo. Sử dụng cờ --incompatible_always_check_depset_classes để cho phép kiểm tra nhất quán; đây sẽ là hành vi mặc định trong các bản phát hành sau này; hãy xem Vấn đề 10313.
Ngoài ra, các thành phần hiện phải ở dạng không thể thay đổi, mặc dù quy định hạn chế này sẽ được nới lỏng trong tương lai.
Thứ tự của phần phụ thuộc được tạo phải tương thích với thứ tự của các phần phụ thuộc transitive
. Đơn đặt hàng "default"
tương thích với mọi đơn đặt hàng khác, tất cả các đơn đặt hàng khác chỉ tương thích với chính đơn đặt hàng đó.
Lưu ý về khả năng tương thích ngược/tiến. Hàm này hiện chấp nhận tham số items
có vị trí. Hàm này không được dùng nữa và sẽ bị xoá trong tương lai. Sau khi bị xoá, direct
sẽ trở thành tham số vị trí duy nhất của hàm depset
. Do đó, cả hai lệnh gọi sau đây đều tương đương và phù hợp với tương lai:
depset(['a', 'b'], transitive = [...]) depset(direct = ['a', 'b'], transitive = [...])
Tham số
Thông số | Mô tả |
---|---|
direct
|
sequence; or None ;
mặc định = Không cóDanh sách các phần tử trực tiếp của một tập hợp. |
order
|
mặc định = "mặc định" Chiến lược truyền tải cho phần phụ thuộc mới. Hãy xem tại đây để biết các giá trị có thể có. |
transitive
|
sequence of depsets; or None ;
mặc định = Không cóDanh sách các phần tử phụ thuộc mà các phần tử của nó sẽ trở thành phần tử gián tiếp của tập hợp. |
nhập bằng giọng nói
dict dict(pairs=[], **kwargs)
Tham số
Thông số | Mô tả |
---|---|
pairs
|
mặc định = [] Một lệnh chính tả hoặc một đối tượng có thể lặp lại có các phần tử có độ dài là 2 (khoá, giá trị). |
kwargs
|
bắt buộc Từ điển về các mục bổ sung. |
dir
list dir(x)
Tham số
Thông số | Mô tả |
---|---|
x
|
bắt buộc Đối tượng cần kiểm tra. |
liệt kê
list enumerate(list, start=0)
enumerate([24, 21, 84]) == [(0, 24), (1, 21), (2, 84)]
Tham số
Thông số | Mô tả |
---|---|
list
|
bắt buộc chuỗi đầu vào. |
start
|
mặc định = 0 chỉ mục bắt đầu. |
exec_group
exec_group exec_group(toolchains=[], exec_compatible_with=[], copy_from_rule=False)
Tham số
Thông số | Mô tả |
---|---|
toolchains
|
sequence ;
mặc định = []Tập hợp các chuỗi công cụ mà nhóm thực thi này yêu cầu. Danh sách này có thể chứa các đối tượng Chuỗi, Nhãn hoặc StarlarkToolchainTypeApi theo bất kỳ cách kết hợp nào. |
exec_compatible_with
|
sequence of strings ;
mặc định = []Danh sách các quy tắc ràng buộc trên nền tảng thực thi. |
copy_from_rule
|
mặc định = Sai Nếu bạn đặt chính sách này thành đúng, nhóm thực thi này sẽ kế thừa các chuỗi công cụ và các quy tắc ràng buộc của quy tắc đính kèm nhóm này. Nếu bạn đặt thành bất kỳ chuỗi nào khác, thì hệ thống sẽ báo lỗi. |
không thành công
None fail(msg=None, attr=None, *args)
Tham số
Thông số | Mô tả |
---|---|
msg
|
mặc định = Không có Không dùng nữa: thay vào đó hãy sử dụng đối số vị trí. Đối số này đóng vai trò như một đối số vị trí hàng đầu ngầm ẩn. |
attr
|
string; or None ;
mặc định = Không cóKhông được dùng nữa. Thêm tiền tố không bắt buộc chứa chuỗi này vào thông báo lỗi. |
args
|
bắt buộc Danh sách các giá trị, được định dạng bằng debugPrint (tương đương với str theo mặc định) và được kết hợp bằng dấu cách, xuất hiện trong thông báo lỗi. |
số thực dấu phẩy động
float float(x=unbound)
- Nếu
x
đã là số thực có độ chính xác đơn,float
sẽ trả về giá trị không thay đổi. - Nếu
x
là một boolean,float
sẽ trả về 1.0 cho True và 0.0 cho False. - Nếu
x
là một số nguyên,float
sẽ trả về giá trị dấu phẩy động hữu hạn gần nhất tới x hoặc một lỗi nếu cường độ quá lớn. - Nếu
x
là một chuỗi, thì đó phải là một giá trị cố định dấu phẩy động hợp lệ hoặc bằng (không phân biệt chữ hoa chữ thường) vớiNaN
,Inf
hoặcInfinity
, (không bắt buộc) đứng sau dấu+
hoặc-
.
float()
sẽ trả về 0,0.
Tham số
Thông số | Mô tả |
---|---|
x
|
mặc định = không liên kết Giá trị cần chuyển đổi. |
getattr
unknown getattr(x, name, default=unbound)
default
(nếu được chỉ định) hoặc phát sinh lỗi. getattr(x, "foobar")
tương đương với x.foobar
.getattr(ctx.attr, "myattr") getattr(ctx.attr, "myattr", "mydefault")
Tham số
Thông số | Mô tả |
---|---|
x
|
bắt buộc Cấu trúc có thuộc tính được truy cập. |
name
|
bắt buộc Tên của thuộc tính cấu trúc. |
default
|
mặc định = không liên kết Giá trị mặc định được trả về trong trường hợp cấu trúc không có thuộc tính của tên đã cho. |
git_override
None git_override(module_name, remote, commit='', patches=[], patch_cmds=[], patch_strip=0)
Tham số
Thông số | Mô tả |
---|---|
module_name
|
bắt buộc Tên của phần phụ thuộc mô-đun Bazel để áp dụng chế độ ghi đè này. |
remote
|
bắt buộc URL của kho lưu trữ Git từ xa. |
commit
|
mặc định = '' Cam kết cần được kiểm tra. |
patches
|
Iterable of strings ;
mặc định = []Danh sách các nhãn trỏ đến tệp bản vá để áp dụng cho mô-đun này. Các tệp bản vá phải tồn tại trong cây nguồn của dự án cấp cao nhất. Các đề xuất được áp dụng theo thứ tự danh sách. |
patch_cmds
|
Iterable of strings ;
mặc định = []Trình tự các lệnh Bash sẽ được áp dụng trên Linux/Macos sau khi áp dụng bản vá. |
patch_strip
|
mặc định = 0 Giống như đối số --strip của bản vá Unix. |
hasattr
bool hasattr(x, name)
x
có một thuộc tính hoặc phương thức của name
đã cho, nếu không thì trả về False. Ví dụ:hasattr(ctx.attr, "myattr")
Tham số
Thông số | Mô tả |
---|---|
x
|
bắt buộc Đối tượng cần kiểm tra. |
name
|
bắt buộc Tên thuộc tính. |
hàm băm
int hash(value)
String.hashCode()
của Java, cụ thể là: s[0] * (31^(n-1)) + s[1] * (31^(n-2)) + ... + s[n-1]
Tham số
Thông số | Mô tả |
---|---|
value
|
bắt buộc Giá trị chuỗi cần băm. |
int
int int(x, base=unbound)
- Nếu
x
đã là một số nguyên, thìint
sẽ trả về giá trị này không thay đổi. - Nếu
x
là một boolean,int
sẽ trả về 1 cho True và 0 cho False. - Nếu
x
là một chuỗi thì chuỗi này phải có định dạng<sign><prefix><digits>
.<sign>
có giá trị là"+"
,"-"
hoặc trống (được diễn giải là số dương).<digits>
là một chuỗi các chữ số từ 0 đếnbase
– 1, trong đó các chữ cái từ a đến z (hoặc tương đương là A-Z) được dùng làm chữ số cho các số từ 10 đến 35. Trong trường hợpbase
là 2/8/16, thì<prefix>
là không bắt buộc và có thể là 0b/0o/0x (hoặc tương đương, 0B/0O/0X); nếubase
là bất kỳ giá trị nào khác ngoài các cơ sở này hoặc giá trị đặc biệt 0, thì tiền tố phải để trống. Trong trường hợpbase
bằng 0, chuỗi được hiểu là một số nguyên cố định, theo nghĩa là một trong các cơ sở 2/8/10/16 được chọn tuỳ thuộc vào tiền tố nào (nếu có) được sử dụng. Nếubase
là 0 thì không có tiền tố nào được dùng và có nhiều hơn một chữ số, thì chữ số đứng đầu không được là 0; điều này nhằm tránh nhầm lẫn giữa hệ bát phân và số thập phân. Độ lớn của số được biểu thị bằng chuỗi phải nằm trong phạm vi cho phép đối với loại int. - Nếu
x
là một số thực,int
sẽ trả về giá trị số nguyên của số thực có độ chính xác đơn, làm tròn về 0. Đây là lỗi nếu x không hữu hạn (NaN hoặc vô cực).
x
là bất kỳ kiểu nào khác hoặc nếu giá trị là một chuỗi không đáp ứng định dạng trên. Không giống như hàm int
của Python, hàm này không cho phép đối số bằng 0 và không cho phép khoảng trắng không liên quan đối với đối số chuỗi.Ví dụ:
int("123") == 123 int("-123") == -123 int("+123") == 123 int("FF", 16) == 255 int("0xFF", 16) == 255 int("10", 0) == 10 int("-0x10", 0) == -16 int("-0x10", 0) == -16 int("123.456") == 123
Tham số
Thông số | Mô tả |
---|---|
x
|
bắt buộc Chuỗi cần chuyển đổi. |
base
|
mặc định = không liên kết Cơ số dùng để diễn giải giá trị chuỗi; mặc định là 10. Phải nằm trong khoảng từ 2 đến 36 (bao gồm) hoặc 0 để phát hiện cơ số như thể x là một giá trị số nguyên. Không được cung cấp thông số này nếu giá trị không phải là chuỗi.
|
ống kính
int len(x)
Tham số
Thông số | Mô tả |
---|---|
x
|
bắt buộc Giá trị có độ dài cần báo cáo. |
danh sách
list list(x=[])
list([1, 2]) == [1, 2] list((2, 3, 2)) == [2, 3, 2] list({5: "a", 2: "b", 4: "c"}) == [5, 2, 4]
Tham số
Thông số | Mô tả |
---|---|
x
|
mặc định = [] Đối tượng cần chuyển đổi. |
local_path_override
None local_path_override(module_name, path)
Tham số
Thông số | Mô tả |
---|---|
module_name
|
bắt buộc Tên của phần phụ thuộc mô-đun Bazel để áp dụng chế độ ghi đè này. |
path
|
bắt buộc Đường dẫn đến thư mục chứa mô-đun này. |
tối đa
unknown max(*args)
max(2, 5, 4) == 5 max([5, 6, 3]) == 6
Tham số
Thông số | Mô tả |
---|---|
args
|
bắt buộc Các phần tử cần kiểm tra. |
phút
unknown min(*args)
min(2, 5, 4) == 2 min([5, 6, 3]) == 3
Tham số
Thông số | Mô tả |
---|---|
args
|
bắt buộc Các phần tử cần kiểm tra. |
mô-đun
None module(name='', version='', compatibility_level=0, repo_name='', bazel_compatibility=[])
Hàm này phải được gọi tối đa một lần. Chỉ có thể bỏ qua nếu mô-đun này là mô-đun gốc (như trong, nếu mô-đun không bị phụ thuộc bởi một mô-đun khác).
Tham số
Thông số | Mô tả |
---|---|
name
|
mặc định = '' Tên của mô-đun. Chỉ có thể bỏ qua nếu mô-đun này là mô-đun gốc (như trong, nếu mô-đun không bị phụ thuộc bởi một mô-đun khác). Tên mô-đun hợp lệ phải: 1) chỉ chứa chữ thường (a-z), chữ số (0-9), dấu chấm (.), dấu gạch nối (-) và dấu gạch dưới (_); 2) bắt đầu bằng một chữ cái viết thường; 3) kết thúc bằng một chữ cái hoặc chữ số viết thường. |
version
|
mặc định = '' Phiên bản của mô-đun. Chỉ có thể bỏ qua nếu mô-đun này là mô-đun gốc (như trong, nếu mô-đun không bị phụ thuộc bởi một mô-đun khác). |
compatibility_level
|
mặc định = 0 Mức độ tương thích của mô-đun; mã này phải được thay đổi mỗi khi có thay đổi lớn không tương thích. Đây về cơ bản là "phiên bản chính" của mô-đun về mặt SemVer, ngoại trừ việc mô-đun không được nhúng vào chuỗi phiên bản mà tồn tại dưới dạng một trường riêng biệt. Các mô-đun có mức độ tương thích khác nhau sẽ tham gia vào quá trình phân giải phiên bản như thể đó là các mô-đun có tên khác nhau, nhưng biểu đồ phần phụ thuộc cuối cùng không được chứa nhiều mô-đun có cùng tên nhưng khác mức độ tương thích (trừ phi multiple_version_override có hiệu lực; hãy xem để biết thêm chi tiết).
|
repo_name
|
mặc định = '' Tên của kho lưu trữ đại diện cho mô-đun này, như được nhìn thấy bởi chính mô-đun. Theo mặc định, tên của kho lưu trữ là tên của mô-đun. Bạn có thể chỉ định việc này để dễ dàng di chuyển các dự án đang sử dụng tên kho lưu trữ khác với tên mô-đun. |
bazel_compatibility
|
Iterable of strings ;
mặc định = []Danh sách các phiên bản Bazel cho phép người dùng khai báo phiên bản Bazel nào tương thích với mô-đun này. Việc này KHÔNG ảnh hưởng đến việc giải quyết phần phụ thuộc, nhưng bzlmod sẽ sử dụng thông tin này để kiểm tra xem phiên bản Bazel hiện tại của bạn có tương thích hay không. Định dạng của giá trị này là một chuỗi gồm một số giá trị ràng buộc được phân tách bằng dấu phẩy. Có 3 điều kiện ràng buộc được hỗ trợ: <=X.X.X: Phiên bản Bazel phải bằng hoặc cũ hơn X.X.X. Được dùng khi có thay đổi không tương thích đã biết trong phiên bản mới hơn. >=X.X.X: Phiên bản Bazel phải bằng hoặc mới hơn phiên bản X.X.X.Được sử dụng khi bạn phụ thuộc vào một số tính năng chỉ có từ phiên bản X.X.X. -X.X.X: Phiên bản Bazel X.X.X không tương thích. Dùng khi xảy ra lỗi trong X.X.X khiến bạn gặp lỗi nhưng đã được khắc phục trong các phiên bản sau này. |
module_extension
unknown module_extension(implementation, *, tag_classes={}, doc='', environ=[], os_dependent=False, arch_dependent=False)
Tham số
Thông số | Mô tả |
---|---|
implementation
|
bắt buộc Hàm triển khai tiện ích mô-đun này. Phải có một tham số duy nhất là module_ctx . Hàm này được gọi một lần ở đầu bản dựng để xác định tập hợp các kho lưu trữ có sẵn.
|
tag_classes
|
default = {} Một từ điển để khai báo tất cả các lớp thẻ mà tiện ích sử dụng. Lớp này liên kết từ tên của lớp thẻ đến đối tượng tag_class .
|
doc
|
mặc định = '' Nội dung mô tả về tiện ích mô-đun có thể được trích xuất bằng các công cụ tạo tài liệu. |
environ
|
sequence of strings ;
mặc định = []Cung cấp danh sách biến môi trường mà tiện ích mô-đun này phụ thuộc. Nếu một biến môi trường trong danh sách đó thay đổi, thì tiện ích sẽ được đánh giá lại. |
os_dependent
|
mặc định = Sai Cho biết tiện ích này có phụ thuộc vào hệ điều hành hay không |
arch_dependent
|
mặc định = Sai Cho biết tiện ích này có phụ thuộc vào cấu trúc hay không |
multiple_version_override
None multiple_version_override(module_name, versions, registry='')
Tham số
Thông số | Mô tả |
---|---|
module_name
|
bắt buộc Tên của phần phụ thuộc mô-đun Bazel để áp dụng chế độ ghi đè này. |
versions
|
Iterable of strings ;
bắt buộcChỉ định rõ ràng các phiên bản được phép cùng tồn tại. Các phiên bản này phải có sẵn trong quá trình lựa chọn trước biểu đồ phần phụ thuộc. Các phần phụ thuộc trên mô-đun này sẽ được "nâng cấp" lên phiên bản cao hơn được phép gần nhất ở cùng mức độ tương thích, trong khi các phần phụ thuộc có phiên bản cao hơn bất kỳ phiên bản nào được phép ở cùng mức độ tương thích sẽ gây ra lỗi. |
registry
|
mặc định = '' Ghi đè sổ đăng ký cho mô-đun này; thay vì tìm mô-đun này từ danh sách sổ đăng ký mặc định, bạn nên sử dụng sổ đăng ký cụ thể. |
in
None print(sep=" ", *args)
args
dưới dạng kết quả gỡ lỗi. Giá trị này sẽ bắt đầu bằng chuỗi "DEBUG"
và vị trí (số tệp và số dòng) của lệnh gọi này. Cách chính xác để chuyển đổi đối số thành chuỗi chưa được chỉ định và có thể thay đổi bất cứ lúc nào. Cụ thể, định dạng này có thể khác (và chi tiết hơn) định dạng do str()
và repr()
thực hiện.Bạn không nên sử dụng print
trong mã phát hành chính thức do mã này tạo ra nội dung rác cho người dùng. Đối với các trường hợp ngừng sử dụng, hãy ưu tiên sử dụng lỗi nghiêm trọng bằng cách sử dụng fail()
bất cứ khi nào có thể.
Tham số
Thông số | Mô tả |
---|---|
sep
|
mặc định = " Chuỗi phân tách giữa các đối tượng, mặc định là dấu cách (" "). |
args
|
bắt buộc Các đối tượng cần in. |
provider
unknown provider(doc='', *, fields=None, init=None)
MyInfo = provider() ... def _my_library_impl(ctx): ... my_info = MyInfo(x = 2, y = 3) # my_info.x == 2 # my_info.y == 3 ...
Xem phần Quy tắc (Nhà cung cấp) để biết hướng dẫn đầy đủ về cách sử dụng nhà cung cấp.
Trả về giá trị có thể gọi Provider
nếu init
không được chỉ định.
Nếu chỉ định init
, sẽ trả về một bộ dữ liệu gồm 2 phần tử: một giá trị có thể gọi Provider
và một giá trị có thể gọi hàm khởi tạo thô. Xem bài viết Quy tắc (Khởi tạo tuỳ chỉnh cho các trình cung cấp tuỳ chỉnh) và nội dung thảo luận về thông số init
bên dưới để biết thông tin chi tiết.
Tham số
Thông số | Mô tả |
---|---|
doc
|
mặc định = '' Nội dung mô tả về nhà cung cấp có thể được trích xuất bằng các công cụ tạo tài liệu. |
fields
|
sequence of strings; or dict; or None ;
mặc định = Không cóNếu được chỉ định, hãy giới hạn nhóm trường được phép. Các giá trị có thể sử dụng là:
|
init
|
callable; or None ;
mặc định = Không cóLệnh gọi lại không bắt buộc để xử lý trước và xác thực các giá trị trường của trình cung cấp trong quá trình tạo thực thể. Nếu chỉ định init , provider() sẽ trả về một bộ dữ liệu gồm 2 phần tử: biểu tượng nhà cung cấp thông thường và hàm khởi tạo thô.Sau đây là nội dung mô tả chính xác; xem Quy tắc (Khởi tạo nhà cung cấp tuỳ chỉnh) để biết các trường hợp sử dụng và thảo luận trực quan. Cho
init , lệnh gọi đến biểu tượng P sẽ đóng vai trò là lệnh gọi đến hàm hàm khởi tạo mặc định c ; nói cách khác, P(*args, **kwargs) trả về c(*args, **kwargs) . Ví dụ:MyInfo = provider() m = MyInfo(foo = 1) m là một thực thể MyInfo có m.foo == 1 .Tuy nhiên, trong trường hợp bạn chỉ định
NB: các bước ở trên ngụ ý rằng sẽ xảy ra lỗi nếu Bằng cách này, lệnh gọi lại Khi chỉ định MyInfo, _new_myinfo = provider(init = ...) |
phạm vi
sequence range(start_or_stop, stop_or_none=None, step=1)
start
đến stop
bằng cách sử dụng gia số step
. Nếu cung cấp một đối số, các mục sẽ nằm trong khoảng từ 0 đến phần tử đó.range(4) == [0, 1, 2, 3] range(3, 9, 2) == [3, 5, 7] range(3, 0, -1) == [3, 2, 1]
Tham số
Thông số | Mô tả |
---|---|
start_or_stop
|
bắt buộc Giá trị của phần tử bắt đầu nếu có điểm dừng, nếu không thì giá trị của điểm dừng và thời gian bắt đầu thực tế là 0 |
stop_or_none
|
int; or None ;
mặc định = Không cóchỉ mục không bắt buộc của mục đầu tiên không được đưa vào danh sách kết quả; việc tạo danh sách sẽ dừng trước khi đạt stop .
|
step
|
mặc định = 1 Mức tăng (mặc định là 1). Thông tin này có thể mang âm tính. |
register_execution_platforms()
None register_execution_platforms(*platform_labels)
Tham số
Thông số | Mô tả |
---|---|
platform_labels
|
sequence of strings ;
bắt buộcNhãn của các nền tảng mà bạn muốn đăng ký. |
register_execution_platforms(dev_dependency)
None register_execution_platforms(dev_dependency=False, *platform_labels)
@
hoặc //
). Xem bài viết giải quyết chuỗi công cụ để biết thêm thông tin.
Tham số
Thông số | Mô tả |
---|---|
dev_dependency
|
mặc định = Sai Nếu giá trị là true, các nền tảng thực thi sẽ không được đăng ký nếu mô-đun hiện tại không phải là mô-đun gốc hoặc lệnh "--ignore_dev_Dependency" được bật. |
platform_labels
|
sequence of strings ;
bắt buộcNhãn của các nền tảng mà bạn muốn đăng ký. |
register_toolchains()
None register_toolchains(*toolchain_labels)
Tham số
Thông số | Mô tả |
---|---|
toolchain_labels
|
sequence of strings ;
bắt buộcNhãn của các chuỗi công cụ cần đăng ký. |
register_toolchains(dev_dependency)
None register_toolchains(dev_dependency=False, *toolchain_labels)
@
hoặc //
). Xem bài viết giải quyết chuỗi công cụ để biết thêm thông tin.
Tham số
Thông số | Mô tả |
---|---|
dev_dependency
|
mặc định = Sai Nếu đúng, chuỗi công cụ sẽ không được đăng ký nếu mô-đun hiện tại không phải là mô-đun gốc hoặc "--ignore_dev_Dependencies" được bật. |
toolchain_labels
|
sequence of strings ;
bắt buộcNhãn của các chuỗi công cụ cần đăng ký. |
repository_rule
callable repository_rule(implementation, *, attrs=None, local=False, environ=[], configure=False, remotable=False, doc='')
Tham số
Thông số | Mô tả |
---|---|
implementation
|
bắt buộc hàm triển khai quy tắc này. Phải có một tham số duy nhất là repository_ctx . Hàm này được gọi trong giai đoạn tải cho mỗi thực thể của quy tắc.
|
attrs
|
dict; or None ;
mặc định = Không cótừ điển để khai báo tất cả thuộc tính của quy tắc. Thuộc tính này ánh xạ từ tên thuộc tính đến một đối tượng thuộc tính (xem mô-đun attr). Các thuộc tính bắt đầu bằng _ là riêng tư và có thể dùng để thêm phần phụ thuộc ngầm ẩn trên một nhãn vào tệp (quy tắc kho lưu trữ không được phụ thuộc vào cấu phần phần mềm được tạo). Thuộc tính name được ngầm thêm vào và không được chỉ định.
|
local
|
mặc định = Sai Cho biết rằng quy tắc này tìm nạp mọi thứ từ hệ thống cục bộ và sẽ được đánh giá lại vào mỗi lần tìm nạp. |
environ
|
sequence of strings ;
mặc định = []Cung cấp một danh sách biến môi trường mà quy tắc kho lưu trữ này phụ thuộc. Nếu một biến môi trường trong danh sách đó thay đổi, thì kho lưu trữ sẽ được tìm nạp lại. |
configure
|
mặc định = Sai Cho biết rằng kho lưu trữ kiểm tra hệ thống cho mục đích định cấu hình |
remotable
|
mặc định = Sai Thử nghiệm. Thông số này đang trong giai đoạn thử nghiệm và có thể thay đổi bất cứ lúc nào. Vui lòng đừng phụ thuộc vào tính năng này. Tính năng này có thể được bật trên cơ sở thử nghiệm bằng cách thiết lập ---experimental_repo_remote_exec Tương thích với thực thi từ xa |
doc
|
mặc định = '' Nội dung mô tả về quy tắc kho lưu trữ có thể được trích xuất bằng các công cụ tạo tài liệu. |
phản hồi
string repr(x)
repr("ab") == '"ab"'
Tham số
Thông số | Mô tả |
---|---|
x
|
bắt buộc Đối tượng cần chuyển đổi. |
đã đảo ngược
list reversed(sequence)
reversed([3, 5, 4]) == [4, 5, 3]
Tham số
Thông số | Mô tả |
---|---|
sequence
|
bắt buộc Trình tự lặp lại (ví dụ: danh sách) cần được đảo ngược. |
quy tắc
callable rule(implementation, test=False, attrs=None, outputs=None, executable=False, output_to_genfiles=False, fragments=[], host_fragments=[], _skylark_testable=False, toolchains=[], incompatible_use_toolchain_transition=False, doc='', *, provides=[], exec_compatible_with=[], analysis_test=False, build_setting=None, cfg=None, exec_groups=None, compile_one_filetype=None, name=None)
Quy tắc phải được chỉ định cho biến toàn cục trong tệp .bzl; tên của biến toàn cục là tên quy tắc.
Quy tắc thử nghiệm bắt buộc phải có tên kết thúc bằng _test
, trong khi tất cả các quy tắc khác không được có hậu tố này. (Hạn chế này chỉ áp dụng cho các quy tắc, không áp dụng cho các mục tiêu của chúng.)
Tham số
Thông số | Mô tả |
---|---|
implementation
|
bắt buộc hàm Starlark triển khai quy tắc này phải có đúng một tham số: ctx. Hàm này được gọi trong giai đoạn phân tích cho mỗi thực thể của quy tắc. Ứng dụng có thể truy cập vào các thuộc tính do người dùng cung cấp. Lớp này phải tạo các thao tác để tạo tất cả dữ liệu đầu ra đã khai báo. |
test
|
mặc định = Sai Liệu quy tắc này có phải là quy tắc kiểm thử hay không, tức là liệu quy tắc có thể là chủ thể của lệnh blaze test hay không. Tất cả quy tắc kiểm thử sẽ tự động được coi là có thể thực thi; bạn không cần thiết (và không khuyến khích) đặt executable = True một cách rõ ràng cho quy tắc kiểm thử. Xem trang Quy tắc để biết thêm thông tin.
|
attrs
|
dict; or None ;
mặc định = Không cótừ điển để khai báo tất cả thuộc tính của quy tắc. Thuộc tính này ánh xạ từ tên thuộc tính đến một đối tượng thuộc tính (xem mô-đun attr). Các thuộc tính bắt đầu bằng _ là riêng tư và có thể dùng để thêm phần phụ thuộc ngầm ẩn vào một nhãn. Thuộc tính name được ngầm thêm vào và không được chỉ định. Các thuộc tính visibility , deprecation , tags , testonly và features được ngầm thêm vào và không ghi đè được. Hầu hết các quy tắc chỉ cần một số thuộc tính. Để giới hạn mức sử dụng bộ nhớ, hàm quy tắc đặt ra giới hạn về kích thước của thuộc tính.
|
outputs
|
dict; or None; or function ;
mặc định = Không cóKhông dùng nữa. Tham số này không được dùng nữa và sẽ sớm bị xoá. Vui lòng đừng phụ thuộc vào tính năng này. Tính năng này đã bị tắt với ---incompatible_no_rule_outputs_param . Sử dụng cờ này để xác minh rằng mã của bạn tương thích với yêu cầu sắp xoá. Tham số này không được dùng nữa. Hãy di chuyển các quy tắc để sử dụng OutputGroupInfo hoặc attr.output . Giản đồ để xác định các đầu ra được khai báo trước. Không giống như thuộc tính Giá trị của đối số này là một từ điển hoặc một hàm callback tạo ra từ điển. Lệnh gọi lại hoạt động tương tự như các thuộc tính phần phụ thuộc đã tính toán: Tên tham số của hàm được so khớp với các thuộc tính của quy tắc. Chẳng hạn, nếu bạn truyền Mỗi mục nhập trong từ điển sẽ tạo một đầu ra được khai báo trước, trong đó khoá là một giá trị nhận dạng và giá trị là một mẫu chuỗi xác định nhãn của đầu ra. Trong hàm triển khai của quy tắc, giá trị nhận dạng sẽ trở thành tên trường dùng để truy cập vào
Trong thực tế, phần giữ chỗ thay thế phổ biến nhất là |
executable
|
mặc định = Sai Liệu quy tắc này có được coi là có thể thực thi hay không, tức là liệu quy tắc đó có thể là chủ thể của lệnh blaze run hay không. Xem trang Quy tắc để biết thêm thông tin.
|
output_to_genfiles
|
mặc định = Sai Nếu giá trị là true, các tệp sẽ được tạo trong thư mục genfiles thay vì thư mục bin. Trừ khi bạn cần nó để tương thích với các quy tắc hiện có (ví dụ: khi tạo tệp tiêu đề cho C++), không đặt cờ này. |
fragments
|
sequence of strings ;
mặc định = []Danh sách tên của các mảnh cấu hình mà quy tắc yêu cầu trong cấu hình mục tiêu. |
host_fragments
|
sequence of strings ;
mặc định = []Danh sách tên của các mảnh cấu hình mà quy tắc yêu cầu trong cấu hình máy chủ. |
_skylark_testable
|
mặc định = Sai (Thử nghiệm) Nếu đúng, quy tắc này sẽ hiển thị các hành động để kiểm tra theo các quy tắc phụ thuộc vào nó thông qua trình cung cấp Hành động. Trình cung cấp cũng có sẵn cho chính quy tắc bằng cách gọi ctx.created_actions(). Chỉ nên sử dụng trình cung cấp để kiểm thử hành vi tại thời điểm phân tích của các quy tắc Starlark. Cờ này có thể bị xoá trong tương lai. |
toolchains
|
sequence ;
mặc định = []Nếu được đặt, tập hợp các chuỗi công cụ mà quy tắc này yêu cầu. Danh sách này có thể chứa các đối tượng Chuỗi, Nhãn hoặc StarlarkToolchainTypeApi theo bất kỳ cách kết hợp nào. Bạn sẽ tìm thấy chuỗi công cụ bằng cách kiểm tra nền tảng hiện tại và được cung cấp cho việc triển khai quy tắc thông qua ctx.toolchain .
|
incompatible_use_toolchain_transition
|
mặc định = Sai Không dùng nữa, chính sách này không còn được sử dụng nữa và phải được xoá. |
doc
|
mặc định = '' Nội dung mô tả về quy tắc có thể được trích xuất bằng các công cụ tạo tài liệu. |
provides
|
mặc định = [] Danh sách trình cung cấp mà hàm triển khai phải trả về. Sẽ không có lỗi nếu hàm triển khai bỏ qua bất kỳ loại trình cung cấp nào được liệt kê ở đây trong giá trị trả về. Tuy nhiên, hàm triển khai có thể trả về các nhà cung cấp khác không có trong danh sách này. Mỗi phần tử của danh sách là một đối tượng |
exec_compatible_with
|
sequence of strings ;
mặc định = []Danh sách các quy tắc ràng buộc trên nền tảng thực thi áp dụng cho tất cả mục tiêu của loại quy tắc này. |
analysis_test
|
mặc định = Sai Nếu đúng, thì quy tắc này được coi là một thử nghiệm phân tích. Lưu ý: Các quy tắc kiểm thử việc phân tích chủ yếu được xác định bằng cách sử dụng cơ sở hạ tầng được cung cấp trong các thư viện Starlark chính. Hãy xem phần Kiểm thử để biết hướng dẫn. Nếu một quy tắc được xác định là quy tắc thử nghiệm phân tích, thì quy tắc đó sẽ được phép sử dụng các chuyển đổi cấu hình được xác định bằng analysis_test_transition trên các thuộc tính, nhưng được chọn sử dụng một số hạn chế:
|
build_setting
|
BuildSetting; or None ;
mặc định = Không cóNếu được đặt, hãy mô tả loại build setting này là quy tắc. Xem mô-đun config . Nếu bạn đặt giá trị này, thuộc tính bắt buộc có tên là "build_setting_default" sẽ tự động được thêm vào quy tắc này, kèm theo loại tương ứng với giá trị được chuyển vào đây.
|
cfg
|
mặc định = Không có Nếu được đặt, các điểm đến chuyển đổi cấu hình mà quy tắc sẽ áp dụng cho cấu hình riêng trước khi phân tích. |
exec_groups
|
dict; or None ;
mặc định = Không cóNhập tên nhóm thực thi (chuỗi) vào exec_group . Nếu được đặt, hãy cho phép các quy tắc chạy hành động trên nhiều nền tảng thực thi trong một mục tiêu duy nhất. Hãy xem tài liệu về nhóm thực thi để biết thêm thông tin.
|
compile_one_filetype
|
sequence of strings; or None ;
mặc định = Không cóĐược sử dụng bởi --compile_one_Dependencies: nếu nhiều quy tắc sử dụng tệp được chỉ định, chúng ta có nên chọn quy tắc này thay vì các quy tắc khác không. |
name
|
string; or None ;
mặc định = Không cóKhông dùng nữa. Tham số này không được dùng nữa và sẽ sớm bị xoá. Vui lòng đừng phụ thuộc vào tính năng này. Tính năng này đã bị tắt với --+incompatible_remove_rule_name_parameter . Sử dụng cờ này để xác minh rằng mã của bạn tương thích với yêu cầu sắp xoá. Không dùng nữa: không sử dụng. Tên của quy tắc này, như được Bazel hiểu và được báo cáo trong các bối cảnh như ghi nhật ký, Nếu tham số này bị bỏ qua, thì tên của quy tắc sẽ được đặt thành tên của biến toàn cục Starlark đầu tiên để liên kết với quy tắc này trong mô-đun .bzl khai báo. Do đó, Việc chỉ định tên rõ ràng cho quy tắc sẽ không thay đổi vị trí mà bạn được phép tạo thực thể quy tắc. |
chọn
unknown select(x, no_match_error='')
select()
là hàm trợ giúp giúp định cấu hình thuộc tính quy tắc. Xem b bách khoa toàn thư về bản dựng để biết thông tin chi tiết.
Tham số
Thông số | Mô tả |
---|---|
x
|
bắt buộc Lệnh chính ánh xạ các điều kiện cấu hình với các giá trị. Mỗi khoá là một Nhãn hoặc một chuỗi nhãn xác định một bản sao config_setting hoặc Constraintt_value. Xem tài liệu về macro để biết thời điểm sử dụng Nhãn thay vì chuỗi. |
no_match_error
|
mặc định = '' Lỗi tuỳ chỉnh (không bắt buộc) cần báo cáo nếu không có điều kiện nào khớp. |
single_version_override
None single_version_override(module_name, version='', registry='', patches=[], patch_cmds=[], patch_strip=0)
Tham số
Thông số | Mô tả |
---|---|
module_name
|
bắt buộc Tên của phần phụ thuộc mô-đun Bazel để áp dụng chế độ ghi đè này. |
version
|
mặc định = '' Ghi đè phiên bản đã khai báo của mô-đun này trong biểu đồ phần phụ thuộc. Nói cách khác, mô-đun này sẽ được "ghim" cho phiên bản ghi đè này. Bạn có thể bỏ qua thuộc tính này nếu tất cả những gì muốn ghi đè là sổ đăng ký hoặc bản vá. |
registry
|
mặc định = '' Ghi đè sổ đăng ký cho mô-đun này; thay vì tìm mô-đun này từ danh sách sổ đăng ký mặc định, bạn nên sử dụng sổ đăng ký cụ thể. |
patches
|
Iterable of strings ;
mặc định = []Danh sách các nhãn trỏ đến tệp bản vá để áp dụng cho mô-đun này. Các tệp bản vá phải tồn tại trong cây nguồn của dự án cấp cao nhất. Các đề xuất được áp dụng theo thứ tự danh sách. |
patch_cmds
|
Iterable of strings ;
mặc định = []Trình tự các lệnh Bash sẽ được áp dụng trên Linux/Macos sau khi áp dụng bản vá. |
patch_strip
|
mặc định = 0 Giống như đối số --strip của bản vá Unix. |
đã sắp xếp
list sorted(iterable, *, key=None, reverse=False)
sorted([3, 5, 4]) == [3, 4, 5]
Tham số
Thông số | Mô tả |
---|---|
iterable
|
bắt buộc Trình tự lặp lại để sắp xếp. |
key
|
mặc định = Không có Một hàm không bắt buộc được áp dụng cho mỗi phần tử trước khi so sánh. |
reverse
|
mặc định = Sai Trả về kết quả theo thứ tự giảm dần. |
str
string str(x)
str("ab") == "ab" str(8) == "8"
Tham số
Thông số | Mô tả |
---|---|
x
|
bắt buộc Đối tượng cần chuyển đổi. |
tag_class
tag_class tag_class(attrs={}, *, doc='')
Tham số
Thông số | Mô tả |
---|---|
attrs
|
default = {} Một từ điển để khai báo tất cả các thuộc tính của lớp thẻ này. Thuộc tính này ánh xạ từ tên thuộc tính đến một đối tượng thuộc tính (xem mô-đun attr). |
doc
|
mặc định = '' Nội dung mô tả về lớp thẻ có thể được trích xuất bằng các công cụ tạo tài liệu. |
bộ dữ liệu
tuple tuple(x=())
tuple([1, 2]) == (1, 2) tuple((2, 3, 2)) == (2, 3, 2) tuple({5: "a", 2: "b", 4: "c"}) == (5, 2, 4)
Tham số
Thông số | Mô tả |
---|---|
x
|
mặc định = () Đối tượng cần chuyển đổi. |
loại
string type(x)
type(2) == "int" type([1]) == "list" type(struct(a = 2)) == "struct"
if type(x) == type([]): # if x is a list
Tham số
Thông số | Mô tả |
---|---|
x
|
bắt buộc Đối tượng để kiểm tra loại. |
use_extension
module_extension_proxy use_extension(extension_bzl_file, extension_name, *, dev_dependency=False, isolate=False)
Tham số
Thông số | Mô tả |
---|---|
extension_bzl_file
|
bắt buộc Nhãn cho tệp Starlark xác định đuôi mô-đun. |
extension_name
|
bắt buộc Tên của tiện ích mô-đun sẽ sử dụng. Biểu tượng có tên này phải được tệp Starlark xuất. |
dev_dependency
|
mặc định = Sai Nếu đúng, việc sử dụng tiện ích mô-đun này sẽ bị bỏ qua nếu mô-đun hiện tại không phải là mô-đun gốc hoặc "--ignore_dev_Dependency" được bật. |
isolate
|
mặc định = Sai Thử nghiệm. Thông số này đang trong giai đoạn thử nghiệm và có thể thay đổi bất cứ lúc nào. Vui lòng đừng phụ thuộc vào tính năng này. Bạn có thể bật tính năng này trên cơ sở thử nghiệm bằng cách đặt ---experimental_isolated_extension_usages Nếu đúng, việc sử dụng tiện ích mô-đun này sẽ được tách biệt với tất cả cách sử dụng khác, cả trong mô-đun này và các mô-đun khác. Các thẻ được tạo cho mục đích sử dụng này không ảnh hưởng đến những trường hợp sử dụng khác, đồng thời kho lưu trữ do tiện ích tạo cho mục đích sử dụng này sẽ khác biệt với tất cả kho lưu trữ khác do tiện ích tạo. Tham số này hiện đang trong giai đoạn thử nghiệm và chỉ dùng được với cờ |
use_repo
None use_repo(extension_proxy, *args, **kwargs)
Tham số
Thông số | Mô tả |
---|---|
extension_proxy
|
bắt buộc Đối tượng proxy mở rộng mô-đun do lệnh gọi use_extension trả về.
|
args
|
bắt buộc Tên của các kho lưu trữ cần nhập. |
kwargs
|
bắt buộc Chỉ định một số kho lưu trữ nhất định cần nhập vào phạm vi của mô-đun hiện tại bằng các tên khác. Khoá phải là tên để sử dụng trong phạm vi hiện tại, trong khi các giá trị phải là tên gốc mà tiện ích mô-đun xuất. |
mức hiển thị
None visibility(value)
Đặt chế độ hiển thị tải của mô-đun .bzl hiện đang được khởi chạy.
Chế độ hiển thị tải của một mô-đun chi phối việc các tệp BUILD và .bzl khác có thể tải mô-đun đó hay không. (Điều này khác với chế độ hiển thị mục tiêu của tệp nguồn .bzl cơ bản. Tệp này chi phối việc tệp có thể xuất hiện dưới dạng phần phụ thuộc của các mục tiêu khác hay không.) Chế độ hiển thị tải hoạt động ở cấp độ gói: Để tải mô-đun, tệp thực hiện tải phải nằm trong gói đã được cấp chế độ hiển thị cho mô-đun. Một mô-đun luôn có thể được tải trong gói của riêng nó, bất kể chế độ hiển thị của mô-đun đó.
visibility()
chỉ có thể được gọi một lần cho mỗi tệp .bzl và chỉ ở cấp cao nhất, chứ không phải bên trong hàm. Kiểu được ưu tiên là đặt lệnh gọi này ngay bên dưới câu lệnh load()
và mọi logic ngắn gọn cần thiết để xác định đối số.
Nếu bạn đặt cờ --check_bzl_visibility
thành false, các lỗi vi phạm về chế độ hiển thị khi tải sẽ phát ra cảnh báo nhưng không khiến bản dựng gặp lỗi.
Tham số
Thông số | Mô tả |
---|---|
value
|
bắt buộc Danh sách các chuỗi thông số kỹ thuật của gói hoặc một chuỗi thông số kỹ thuật của gói. Thông số kỹ thuật của gói sẽ tuân theo định dạng giống như thông số kỹ thuật của
"@" không cho phép sử dụng cú pháp; tất cả thông số kỹ thuật đều được diễn giải tương ứng với kho lưu trữ của mô-đun hiện tại. Nếu Lưu ý cờ |
không gian làm việc
None workspace(name)
Bạn chỉ có thể dùng hàm này trong tệp WORKSPACE
và phải khai báo hàm này trước tất cả hàm khác trong tệp WORKSPACE
. Mỗi tệp WORKSPACE
phải có một hàm workspace
.
Đặt tên cho không gian làm việc này. Tên không gian làm việc phải là nội dung mô tả kiểu Java-package của dự án, sử dụng dấu gạch dưới làm dấu phân tách, ví dụ: github.com/bazelbuild/bazel phải sử dụng com_github_bazelbuild_bazel.
Tên này được dùng cho thư mục lưu trữ các tệp chạy của kho lưu trữ. Ví dụ: nếu có một tệp chạy foo/bar
trong kho lưu trữ cục bộ và tệp WORKSPACE chứa workspace(name = 'baz')
, thì tệp chạy này sẽ có trong mytarget.runfiles/baz/foo/bar
. Nếu bạn không chỉ định tên không gian làm việc, thì tệp chạy sẽ được liên kết với bar.runfiles/foo/bar
.
Tên quy tắc của Kho lưu trữ từ xa phải là tên không gian làm việc hợp lệ. Ví dụ: bạn có thể có maven_jar(name = 'foo')
nhưng không thể có maven_jar(name = 'foo%bar')
, vì Bazel sẽ cố viết một tệp WORKSPACE cho maven_jar
chứa workspace(name = 'foo%bar')
.
Tham số
Thông số | Mô tả |
---|---|
name
|
bắt buộc tên của không gian làm việc. Tên phải bắt đầu bằng một chữ cái và chỉ có thể chứa chữ cái, số, dấu gạch dưới, dấu gạch ngang và dấu chấm. |
zip
list zip(*args)
list
của tuple
, trong đó bộ dữ liệu thứ i chứa phần tử thứ i từ mỗi chuỗi đối số hoặc đối số có thể lặp lại. Danh sách này có kích thước của đầu vào ngắn nhất. Với một đối số có thể lặp lại, phương thức này sẽ trả về danh sách gồm 1 bộ dữ liệu. Khi không có đối số, phương thức này sẽ trả về một danh sách trống. Ví dụ:zip() # == [] zip([1, 2]) # == [(1,), (2,)] zip([1, 2], [3, 4]) # == [(1, 3), (2, 4)] zip([1, 2], [3, 4, 5]) # == [(1, 3), (2, 4)]
Tham số
Thông số | Mô tả |
---|---|
args
|
bắt buộc danh sách cần nén. |