Hội viên
- all
- analysis_test_transition
- any
- archive_override
- aspect
- bazel_dep
- bind
- bool
- configuration_field
- depset
- dict
- dir
- liệt kê
- exec_group
- fail
- float
- getattr
- git_override
- hasattr
- hash
- int
- len
- list
- local_path_override
- max
- phút
- module
- module_extension
- multiple_version_override
- provider
- range
- register_execution_platforms()
- register_execution_platforms(dev_dependency)
- register_toolchains()
- register_toolchains(dev_dependency)
- repository_rule
- repr
- đã đảo ngược
- quy tắc
- chọn
- single_version_override
- được sắp xếp
- str
- tag_class
- tuple
- type
- use_extension
- use_repo
- khả năng xem
- workspace
- zip
tất cả
bool all(elements)
all(["hello", 3, True]) == True all([-1, 0, 1]) == False
Thông số
| Tham số | Mô tả |
|---|---|
elements
|
required 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 sẽ được áp dụng cho các phần phụ thuộc của quy tắc kiểm thử phân tích. Bạn chỉ có thể áp dụng quá trình chuyển đổi này 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ị hạn chế về phạm vi tiềm năng so với các hiệu ứng chuyển đổi được tạo bằng transition.
Hàm này chủ yếu được thiết kế để hỗ trợ thư viện cốt lõi Analysis Test Framework. Hãy xem tài liệu (hoặc cách triển khai) của công cụ này để biết các phương pháp hay nhất.
Thông số
| Tham số | Mô tả |
|---|---|
settings
|
required Từ điển chứa thông tin về các chế độ cài đặt cấu hình mà quá trình chuyển đổi cấu hình này sẽ đặt. Khoá là 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 phương thức này để khai báo các chế độ cài đặt cấu hình cụ thể mà một bài kiểm thử phân tích cần phải đặt để vượt qua. |
bất kỳ
bool any(elements)
any([-1, 0, 1]) == True any([False, 0, ""]) == False
Thông số
| Tham số | Mô tả |
|---|---|
elements
|
required 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)
Thông số
| Tham 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
|
default = '' Tổng kiểm tra 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
|
default = '' Tiền tố thư mục cần loại bỏ khỏi các tệp đã trích xuất. |
patches
|
Iterable of strings;
default = []A list of labels pointing to patch files to apply for this module. Các tệp vá phải có trong cây nguồn của dự án cấp cao nhất. Các quy tắc này được áp dụng theo thứ tự trong danh sách. |
patch_cmds
|
Iterable of strings;
default = []Trình tự các lệnh Bash sẽ được áp dụng trên Linux/MacOS sau khi các bản vá được áp dụng. |
patch_strip
|
default = 0 Tương tự 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)
Thông số
| Tham số | Mô tả |
|---|---|
implementation
|
bắt buộc Một hàm Starlark triển khai khía cạnh này, có đúng 2 tham số: Target (mục tiêu mà khía cạnh được áp dụng) và ctx (ngữ cảnh quy tắc mà mục tiêu được tạo). 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 từng ứng dụng của một khía cạnh đối với một mục tiêu.
|
attr_aspects
|
sequence of strings;
default = []Danh sách tên thuộc tính. Khía cạnh này sẽ lan truyền theo các phần phụ thuộc được chỉ định trong các thuộc tính của một mục tiêu có những 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 dọc theo tất cả các phần phụ thuộc của một mục tiêu.
|
attrs
|
dict; or None;
default = NoneTừ điển khai báo tất cả các thuộc tính của khía cạnh. Nó liên kết từ tên thuộc tính đến đối tượng thuộc tính, chẳng hạn như `attr.label` hoặc `attr.string` (xem mô-đun attr). Các thuộc tính khía cạ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 định bắt đầu bằng Thuộc tính rõ ràng phải có loại |
required_providers
|
default = [] Thuộc tính này cho phép khía cạnh giới hạn việc truyền bá chỉ cho những mục tiêu có quy tắc quảng cáo các nhà cung cấp bắt buộc của khía cạnh đó. Giá trị này phải là một danh sách chứa các nhà cung cấp riêng lẻ 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ệ, còn [FooInfo, BarInfo, [BazInfo, QuxInfo]] thì không.Danh sách nhà cung cấp không lồng nhau sẽ tự động được chuyển đổi thành danh sách chứa một danh sách nhà cung cấp. Tức là Để một số quy tắc (ví dụ: |
required_aspect_providers
|
default = [] 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ị này phải là một danh sách chứa các nhà cung cấp riêng lẻ 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ệ, còn [FooInfo, BarInfo, [BazInfo, QuxInfo]] thì không.Danh sách nhà cung cấp không lồng nhau sẽ tự động được chuyển đổi thành danh sách chứa một danh sách nhà cung cấp. Tức là Để hiển thị một khía cạnh khác (ví dụ: |
provides
|
default = [] Danh sách các nhà cung cấp mà hàm triển khai phải trả về. Sẽ xảy ra 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 trình cung cấp bổ sung không có trong danh sách tại đây. Mỗi phần tử trong danh sách là một đối tượng |
requires
|
sequence of Aspects;
default = []Danh sách các khía cạnh cần được truyền trước khía cạnh này. |
fragments
|
sequence of strings;
default = []Danh sách tên của các đoạn cấu hình mà khía cạnh yêu cầu trong cấu hình mục tiêu. |
host_fragments
|
sequence of strings;
default = []Danh sách tên của các mảnh cấu hình mà khía cạnh yêu cầu trong cấu hình máy chủ lưu trữ. |
toolchains
|
sequence;
default = []Nếu được đặt, thì đây là 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 String, Label hoặc StarlarkToolchainTypeApi, theo bất kỳ tổ hợp nào. Các chuỗi công cụ sẽ được tìm thấy 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
|
default = False Không dùng nữa, tham số này không còn được sử dụng và cần bị xoá. |
doc
|
default = '' Nội dung mô tả về khía cạnh mà các công cụ tạo tài liệu có thể trích xuất. |
apply_to_generating_rules
|
default = False Nếu đúng, khi được áp dụng cho một tệp đầu ra, khía cạnh này sẽ áp dụng cho quy tắc tạo của tệp đầu ra. Ví dụ: giả sử một khía cạnh truyền bắc cầu thông qua thuộc tính "deps" và được áp dụng cho mục tiêu "alpha". Giả sử "alpha" có "deps = [':beta_output']", trong đó "beta_output" là đầu ra đã khai báo của mục tiêu "beta". Giả sử "beta" có mục tiêu "charlie" là một trong các "deps". Nếu "apply_to_generating_rules=True" cho khía cạnh, thì khía cạnh sẽ truyền qua "alpha", "beta" và "charlie". Nếu False, thì khía cạnh sẽ chỉ truyền đến "alpha". Theo mặc định là False. |
exec_compatible_with
|
sequence of strings;
default = []Danh sách các ràng buộc trên nền tảng thực thi áp dụng cho tất cả các thực thể của khía cạnh này. |
exec_groups
|
dict; or None;
default = NoneTừ điển tên nhóm thực thi (chuỗi) đến exec_groups. Nếu được đặt, cho phép các khía cạnh chạy các thao tác trên nhiều nền tảng thực thi trong một phiên bản 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)
Thông số
| Tham số | Mô tả |
|---|---|
name
|
required Tên của mô-đun sẽ được thêm dưới dạng phần phụ thuộc trực tiếp. |
version
|
default = '' Phiên bản của mô-đun sẽ được thêm dưới dạng phần phụ thuộc trực tiếp. |
max_compatibility_level
|
default = -1compatibility_level tối đa được hỗ trợ để mô-đun được thêm dưới dạng một phần phụ thuộc trực tiếp. Phiên bản của mô-đun ngụ ý compatibility_level tối thiểu được hỗ trợ, cũng như tối đa nếu bạn không chỉ định thuộc tính này.
|
repo_name
|
default = "" Tên của kho lưu trữ bên ngoài đại diện cho phần phụ thuộc này. Đây là tên của mô-đun theo mặc định. |
dev_dependency
|
default = False Nếu là true, 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_dependency` được bật. |
bind
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 việc xoá bind để biết nội dung thảo luận dài về các vấn đề và giải pháp thay thế.
Đặt cho mục tiêu một bí danh trong gói //external.
Thông số
| Tham số | Mô tả |
|---|---|
name
|
bắt buộc Nhãn trong "//external" đóng vai trò là tên bí danh |
actual
|
string; or None;
default = NoneNhãn thực tế cần được đặt biệt hiệu |
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, phương thức này sẽ trả về True.
Thông số
| Tham số | Mô tả |
|---|---|
x
|
default = False 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'))
Đang truy cập vào quá trình triển khai quy tắc:
def _rule_impl(ctx):
foo_info = ctx.attr._foo
...Thông số
| Tham số | Mô tả |
|---|---|
fragment
|
bắt buộc Tên của một mảnh cấu hình chứa giá trị liên kết muộn. |
name
|
bắt buộc Tên của giá trị cần lấy từ đoạn cấu hình. |
depset
depset depset(direct=None, order="default", *, transitive=None)
direct là danh sách các phần tử trực tiếp của depset và tham số transitive là danh sách các depset mà phần tử của chúng trở thành phần tử gián tiếp của depset được tạo. Thứ tự mà các phần tử được trả về khi depset được chuyển đổi thành danh sách được chỉ định bằng tham số order. Hãy xem bài viết Tổng quan về Depset để 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 depset phải thuộc cùng một loại, như được biểu thức type(x) thu được.
Vì một tập hợp dựa trên hàm băm được dùng để loại bỏ các mục trùng lặp trong quá trình lặp lại, nên tất cả các phần tử của depset đều phải có thể băm. Tuy nhiên, bất biến này hiện không được kiểm tra nhất quán trong tất cả các hàm khởi tạo. Sử dụng cờ --incompatible_always_check_depset_elements để bật tính năng 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 phần tử hiện phải là bất biến, mặc dù hạn chế này sẽ được nới lỏng trong tương lai.
Thứ tự của depset được tạo phải tương thích với thứ tự của các depset transitive. Thứ tự "default" tương thích với mọi thứ tự khác, tất cả các thứ tự khác chỉ tương thích với chính chúng.
Lưu ý về khả năng tương thích ngược/xuôi. Hàm này hiện chấp nhận tham số items theo vị trí. Tham số 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à có thể dùng trong tương lai:
depset(['a', 'b'], transitive = [...]) depset(direct = ['a', 'b'], transitive = [...])
Thông số
| Tham số | Mô tả |
|---|---|
direct
|
sequence; or None;
default = NoneDanh sách các phần tử trực tiếp của một depset. |
order
|
mặc định = "mặc định" Chiến lược duyệt qua cho depset mới. Hãy xem tại đây để biết các giá trị có thể có. |
transitive
|
sequence of depsets; or None;
default = NoneDanh sách các depsets mà các phần tử sẽ trở thành phần tử gián tiếp của depset. |
dict
dict dict(pairs=[], **kwargs)
Thông số
| Tham số | Mô tả |
|---|---|
pairs
|
default = [] Một từ điển hoặc một đối tượng có thể lặp lại mà mỗi phần tử có độ dài là 2 (khoá, giá trị). |
kwargs
|
required Từ điển gồm các mục bổ sung. |
dir
list dir(x)
Thông số
| Tham số | Mô tả |
|---|---|
x
|
required Đố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)]
Thông số
| Tham số | Mô tả |
|---|---|
list
|
trình tự đầu vào bắt buộc . |
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)
Thông số
| Tham số | Mô tả |
|---|---|
toolchains
|
sequence;
default = []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 String, Label hoặc StarlarkToolchainTypeApi, theo bất kỳ tổ hợp nào. |
exec_compatible_with
|
sequence of strings;
default = []Danh sách các điều kiện ràng buộc trên nền tảng thực thi. |
copy_from_rule
|
default = False Nếu được đặt thành true, nhóm thực thi này sẽ kế thừa các chuỗi công cụ và ràng buộc của quy tắc mà nhóm này được đính kèm. Nếu bạn đặt thành bất kỳ chuỗi nào khác, thao tác này sẽ gây ra lỗi. |
không thành công
None fail(msg=None, attr=None, *args)
Thông số
| Tham số | Mô tả |
|---|---|
msg
|
default = None Không dùng nữa: thay vào đó, hãy sử dụng đối số vị trí. Đối số này hoạt động như một đối số vị trí dẫn đầu ngầm ẩn. |
attr
|
string; or None;
default = NoneKhông dùng nữa. Thêm một tiền tố không bắt buộc chứa chuỗi này vào thông báo lỗi. |
args
|
required Một 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à một số thực, thìfloatsẽ trả về số đó mà không thay đổi. - Nếu
xlà một giá trị boolean, thìfloatsẽ trả về 1.0 cho True và 0.0 cho False. - Nếu
xlà một số nguyên,floatsẽ trả về giá trị dấu phẩy động hữu hạn gần nhất với x hoặc một lỗi nếu độ lớn quá lớn. - Nếu
xlà một chuỗi, thì đó phải là một giá trị cố định hợp lệ kiểu số thực dấu phẩy động hoặc bằng (bỏ qua trường hợp)NaN,InfhoặcInfinity, có thể có dấu+hoặc-ở phía trước.
float() sẽ trả về 0.0.
Thông số
| Tham số | Mô tả |
|---|---|
x
|
default = unbound 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")
Thông số
| Tham số | Mô tả |
|---|---|
x
|
required Cấu trúc có thuộc tính được truy cập. |
name
|
required Tên của thuộc tính cấu trúc. |
default
|
default = unbound Giá trị mặc định cần trả về trong trường hợp cấu trúc không có thuộc tính có tên đã cho. |
git_override
None git_override(module_name, remote, commit='', patches=[], patch_cmds=[], patch_strip=0)
Thông số
| Tham 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
|
required URL của kho lưu trữ Git từ xa. |
commit
|
default = '' Cam kết cần được kiểm tra. |
patches
|
Iterable of strings;
default = []A list of labels pointing to patch files to apply for this module. Các tệp vá phải có trong cây nguồn của dự án cấp cao nhất. Các quy tắc này được áp dụng theo thứ tự trong danh sách. |
patch_cmds
|
Iterable of strings;
default = []Trình tự các lệnh Bash sẽ được áp dụng trên Linux/MacOS sau khi các bản vá được áp dụng. |
patch_strip
|
default = 0 Tương tự 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")
Thông số
| Tham số | Mô tả |
|---|---|
x
|
required Đối tượng cần kiểm tra. |
name
|
required Tên của 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]
Thông số
| Tham số | Mô tả |
|---|---|
value
|
required Giá trị chuỗi cần băm. |
int
int int(x, base=unbound)
- Nếu
xđã là một số nguyên, thìintsẽ trả về số nguyên đó mà không thay đổi. - Nếu
xlà một giá trị boolean, thìintsẽ trả về 1 cho True và 0 cho False. - Nếu
xlà một chuỗi, thì chuỗi đó phải có định dạng<sign><prefix><digits>.<sign>là"+","-"hoặc trống (được hiểu là dương).<digits>là một chuỗi các chữ số từ 0 đếnbase– 1, trong đó các chữ cái a-z (hoặc tương đương, A-Z) được dùng làm chữ số cho 10-35. Trong trường hợpbaselà 2/8/16,<prefix>là không bắt buộc và có thể lần lượt là 0b/0o/0x (hoặc tương đương là 0B/0O/0X); nếubaselà 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ợpbaselà 0, chuỗi được diễn giải dưới dạng một chữ số nguyên 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ếu có) được dùng. Nếubaselà 0, thì không có tiền tố nào được dùng và nếu có nhiều chữ số, thì chữ số đầu tiên không thể là 0; điều này nhằm tránh nhầm lẫn giữa hệ cơ số 8 và hệ cơ số 10. Độ 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 kiểu int. - Nếu
xlà một số thực,intsẽ trả về giá trị số nguyên của số thực đó, 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ỳ loại nào khác hoặc nếu giá trị là một chuỗi không đáp ứng định dạng nêu trên. Không giống như hàm int của Python, hàm này không cho phép có 0 đối số và không cho phép có khoảng trắng thừa cho đố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
Thông số
| Tham số | Mô tả |
|---|---|
x
|
required Chuỗi cần chuyển đổi. |
base
|
default = unbound Cơ sở dùng để diễn giải một giá trị chuỗi; mặc định là 10. Phải nằm trong khoảng từ 2 đến 36 (bao gồm cả 2 và 36) hoặc 0 để phát hiện cơ số như thể x là một ký tự số nguyên. Bạn không được cung cấp tham số này nếu giá trị không phải là một chuỗi.
|
len
int len(x)
Thông số
| Tham số | Mô tả |
|---|---|
x
|
bắt buộc Giá trị cần báo cáo độ dài. |
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]Thông số
| Tham số | Mô tả |
|---|---|
x
|
default = [] Đối tượng cần chuyển đổi. |
local_path_override
None local_path_override(module_name, path)
Thông số
| Tham 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
|
required Đườ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
Thông số
| Tham số | Mô tả |
|---|---|
args
|
required 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
Thông số
| Tham số | Mô tả |
|---|---|
args
|
required Các phần tử cần kiểm tra. |
mô-đun
None module(name='', version='', compatibility_level=0, repo_name='', bazel_compatibility=[])
Bạn chỉ nên gọi phương thức này tối đa một lần. Bạn chỉ có thể bỏ qua tham số này nếu mô-đun này là mô-đun gốc (tức là nếu mô-đun này không phụ thuộc vào một mô-đun khác).
Thông số
| Tham số | Mô tả |
|---|---|
name
|
default = '' Tên của mô-đun. Bạn chỉ có thể bỏ qua nếu mô-đun này là mô-đun gốc (tức là nếu mô-đun này không phụ thuộc vào một mô-đun khác). Tên mô-đun hợp lệ phải: 1) chỉ chứa chữ cái viết thường (a-z), chữ số (0-9), dấu chấm (.), dấu gạch ngang (-) và dấu gạch dưới (_); 2) bắt đầu bằng chữ cái viết thường; 3) kết thúc bằng chữ cái viết thường hoặc chữ số. |
version
|
default = '' Phiên bản của mô-đun. Bạn chỉ có thể bỏ qua nếu mô-đun này là mô-đun gốc (tức là nếu mô-đun này không phụ thuộc vào một mô-đun khác). |
compatibility_level
|
default = 0 Cấp độ tương thích của mô-đun; bạn nên thay đổi cấp độ này mỗi khi có một thay đổi lớn không tương thích. Về cơ bản, đây là "phiên bản chính" của mô-đun theo SemVer, ngoại trừ việc phiên bản này không được nhúng vào chính 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ó cấp độ 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ể chúng 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 thể chứa nhiều mô-đun có cùng tên nhưng cấp độ tương thích khác nhau (trừ phi multiple_version_override có hiệu lực; hãy xem phần đó để biết thêm thông tin).
|
repo_name
|
default = '' Tên của kho lưu trữ đại diện cho mô-đun này, do chính mô-đun đó nhìn thấy. 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 tên này để giúp việc di chuyển dễ dàng hơn cho những dự án đã sử dụng tên kho lưu trữ cho chính dự án đó, khác với tên mô-đun. |
bazel_compatibility
|
Iterable of strings;
default = []Danh sách các phiên bản bazel cho phép người dùng khai báo những phiên bản Bazel tương thích với mô-đun này. Thông tin này KHÔNG ảnh hưởng đến quá trình phân giải 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 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ó một 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 X.X.X.Được 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. Được dùng khi có lỗi trong X.X.X khiến bạn không thể sử dụng, nhưng đã được khắc phục trong các phiên bản sau. |
module_extension
unknown module_extension(implementation, *, tag_classes={}, doc='', environ=[], os_dependent=False, arch_dependent=False)Thông số
| Tham số | Mô tả |
|---|---|
implementation
|
required Hàm triển khai tiện ích mô-đun này. Phải nhận một tham số duy nhất, module_ctx. Hàm này được gọi một lần khi bắt đầu quá trình tạo để xác định tập hợp các kho lưu trữ có sẵn.
|
tag_classes
|
default = {} Từ điển để khai báo tất cả các lớp thẻ mà tiện ích sử dụng. Nó ánh xạ từ tên của lớp thẻ đến một đối tượng tag_class.
|
doc
|
default = '' Nội dung mô tả về tiện ích mô-đun mà các công cụ tạo tài liệu có thể trích xuất. |
environ
|
sequence of strings;
default = []Cung cấp danh sách các biến môi trường mà tiện ích mô-đun này phụ thuộc vào. Nếu một biến môi trường trong danh sách đó thay đổi, tiện ích sẽ được đánh giá lại. |
os_dependent
|
default = False Cho biết liệu tiện ích này có phụ thuộc vào hệ điều hành hay không |
arch_dependent
|
default = False Cho biết liệu 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='')
Thông số
| Tham 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;
requiredChỉ định rõ ràng các phiên bản được phép cùng tồn tại. Những phiên bản này phải có sẵn trong lựa chọn trước của 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 được phép cao hơn gần nhất ở cùng cấp độ 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 được phép nào ở cùng cấp độ tương thích sẽ gây ra lỗi. |
registry
|
default = '' Ghi đè sổ đăng ký cho mô-đun này; thay vì tìm mô-đun này trong danh sách sổ đăng ký mặc định, bạn nên sử dụng sổ đăng ký đã cho. |
in
None print(sep=" ", *args)
args dưới dạng kết quả gỡ lỗi. Nó sẽ có tiền tố là chuỗi "DEBUG" và vị trí (tệp và số dòng) của lệnh gọi này. Cách chính xác mà các đối số được chuyển đổi thành chuỗi là không xác đị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) so với định dạng do str() và repr() thực hiện.Bạn không nên sử dụng print trong mã sản xuất vì 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 không dùng nữa, hãy ưu tiên lỗi nghiêm trọng bằng cách sử dụng fail() bất cứ khi nào có thể.
Thông số
| Tham số | Mô tả |
|---|---|
sep
|
default = " " Chuỗi phân cách giữa các đối tượng, mặc định là dấu cách (" "). |
args
|
required 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
...Hãy xem Quy tắc (Nhà cung cấp) để biết hướng dẫn toàn diện về cách sử dụng nhà cung cấp.
Trả về giá trị có thể gọi Provider nếu bạn không chỉ định init.
Nếu init được chỉ định, hàm sẽ trả về một bộ gồm 2 phần tử: giá trị có thể gọi Provider và giá trị có thể gọi hàm khởi tạo thô. Hãy xem Quy tắc (Khởi tạo tuỳ chỉnh của nhà cung cấp tuỳ chỉnh) và nội dung thảo luận về tham số init bên dưới để biết thông tin chi tiết.
Thông số
| Tham số | Mô tả |
|---|---|
doc
|
default = '' Nội dung mô tả về nhà cung cấp mà các công cụ tạo tài liệu có thể trích xuất. |
fields
|
sequence of strings; or dict; or None;
default = NoneNếu được chỉ định, sẽ hạn chế tập hợp các trường được phép. Các giá trị có thể là:
|
init
|
callable; or None;
default = NoneMột 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 nhà cung cấp trong quá trình tạo thực thể. Nếu bạn chỉ định init, provider() sẽ trả về một bộ gồm 2 phần tử: biểu tượng nhà cung cấp thông thường và một trình khởi tạo thô.Sau đây là nội dung mô tả chính xác; hãy xem Quy tắc (Khởi tạo tuỳ chỉnh nhà cung cấp) để biết nội dung thảo luận và các trường hợp sử dụng trực quan. Giả sử
init, lệnh gọi đến biểu tượng P sẽ đóng vai trò là lệnh gọi đến hàm khởi tạo mặc định c; nói cách khác, P(*args, **kwargs) sẽ trả về c(*args, **kwargs). Ví dụ:MyInfo = provider() m = MyInfo(foo = 1) m trở thành một thực thể MyInfo có m.foo == 1.Nhưng trong trường hợp
Lưu ý: các bước trên ngụ ý rằng lỗi sẽ xảy ra nếu Bằng cách này, lệnh gọi lại Khi MyInfo, _new_myinfo = provider(init = ...) |
phạm vi
sequence range(start_or_stop, stop_or_none=None, step=1)
start đến stop, sử dụng mức tăng step. Nếu bạn cung cấp một đối số duy nhất, các mục sẽ có phạm vi 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]
Thông số
| Tham số | Mô tả |
|---|---|
start_or_stop
|
required Giá trị của phần tử bắt đầu nếu bạn cung cấp giá trị dừng, nếu không thì giá trị của giá trị dừng và giá trị bắt đầu thực tế là 0 |
stop_or_none
|
int; or None;
default = Nonechỉ 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ả; quá trình tạo danh sách sẽ dừng trước khi đạt đến stop.
|
step
|
default = 1 Số gia (mặc định là 1). Có thể là tiêu cực. |
register_execution_platforms()
None register_execution_platforms(*platform_labels)
Thông số
| Tham số | Mô tả |
|---|---|
platform_labels
|
sequence of strings;
requiredNhãn của các nền tảng cần đăng ký. |
register_execution_platforms(dev_dependency)
None register_execution_platforms(dev_dependency=False, *platform_labels)
@ hoặc //). Hãy xem phần phân giải chuỗi công cụ để biết thêm thông tin.
Thông số
| Tham số | Mô tả |
|---|---|
dev_dependency
|
default = False Nếu 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 `--ignore_dev_dependency` được bật. |
platform_labels
|
sequence of strings;
requiredNhãn của các nền tảng cần đăng ký. |
register_toolchains()
None register_toolchains(*toolchain_labels)
Thông số
| Tham số | Mô tả |
|---|---|
toolchain_labels
|
sequence of strings;
requiredNhãn của chuỗi công cụ cần đăng ký. |
register_toolchains(dev_dependency)
None register_toolchains(dev_dependency=False, *toolchain_labels)
@ hoặc //). Hãy xem phần phân giải chuỗi công cụ để biết thêm thông tin.
Thông số
| Tham số | Mô tả |
|---|---|
dev_dependency
|
default = False Nếu là true, các 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_dependency` được bật. |
toolchain_labels
|
sequence of strings;
requiredNhãn của 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='')
Thông số
| Tham số | Mô tả |
|---|---|
implementation
|
required hàm triển khai quy tắc này. Phải có một tham số duy nhất, repository_ctx. Hàm này được gọi trong giai đoạn tải cho từng phiên bản của quy tắc.
|
attrs
|
dict; or None;
default = Nonetừ điển để khai báo tất cả các thuộc tính của quy tắc. Thư viện này liên kết từ tên thuộc tính đến đố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 một phần phụ thuộc ngầm vào một nhãn cho một tệp (quy tắc kho lưu trữ không thể phụ thuộc vào một cấu phần phần mềm đã tạo). Thuộc tính name được thêm một cách ngầm ẩn và bạn không được chỉ định thuộc tính này.
|
local
|
default = False 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à cần được đánh giá lại ở mỗi lần tìm nạp. |
environ
|
sequence of strings;
default = []Cung cấp danh sách biến môi trường mà quy tắc kho lưu trữ này phụ thuộc vào. Nếu một biến môi trường trong danh sách đó thay đổi, kho lưu trữ sẽ được tìm nạp lại. |
configure
|
default = False 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
|
default = False Thử nghiệm. Đây là một thông số thử nghiệm và có thể thay đổi bất cứ lúc nào. Vui lòng không phụ thuộc vào thông tin 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_repo_remote_exec Tương thích với việc thực thi từ xa |
doc
|
default = '' Nội dung mô tả về quy tắc kho lưu trữ mà các công cụ tạo tài liệu có thể trích xuất. |
repr
string repr(x)
repr("ab") == '"ab"'Thông số
| Tham số | Mô tả |
|---|---|
x
|
required Đối tượng cần chuyển đổi. |
đảo ngược
list reversed(sequence)
reversed([3, 5, 4]) == [4, 5, 3]
Thông số
| Tham số | Mô tả |
|---|---|
sequence
|
required Trình tự có thể lặp lại (ví dụ: danh sách) cần đả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)
Bạn phải chỉ định các quy tắc cho biến toàn cục trong tệp .bzl; tên của biến toàn cục là tên của quy tắc.
Các quy tắc kiểm thử 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. (Quy định hạn chế này chỉ áp dụng cho các quy tắc, chứ không áp dụng cho mục tiêu của các quy tắc đó.)
Thông số
| Tham 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 từng phiên bản của quy tắc. Nó có thể truy cập vào các thuộc tính do người dùng cung cấp. Thao tác này phải tạo ra các hành động để tạo tất cả đầu ra đã khai báo. |
test
|
default = False 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 này có thể là đối tượng của lệnh blaze test hay không. Tất cả các quy tắc kiểm thử đều tự động được coi là có thể thực thi; không cần thiết (và không nên) đặt executable = True một cách rõ ràng cho quy tắc kiểm thử. Hãy xem trang Quy tắc để biết thêm thông tin.
|
attrs
|
dict; or None;
default = Nonetừ điển để khai báo tất cả các thuộc tính của quy tắc. Thư viện này liên kết từ tên thuộc tính đến đố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 một phần phụ thuộc ngầm vào một nhãn. Thuộc tính name được thêm một cách ngầm ẩn và bạn không được chỉ định thuộc tính này. Các thuộc tính visibility, deprecation, tags, testonly và features được thêm một cách ngầm định và không thể ghi đè. Hầu hết các quy tắc chỉ cần một số ít thuộc tính. Để giới hạn mức sử dụng bộ nhớ, hàm quy tắc sẽ áp đặt một giới hạn về kích thước của attrs.
|
outputs
|
dict; or None; or function;
default = NoneKhô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 không phụ thuộc vào thông tin này. Tính năng này bị vô hiệu hoá bằng ---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 việc xoá sắp tới. Thông số này không còn được dùng nữa. Di chuyển các quy tắc để sử dụng OutputGroupInfo hoặc attr.output. Một giản đồ để xác định các đầu ra được khai báo trước. Không giống như các thuộc tính Giá trị của đối số này là một từ điển hoặc một hàm gọi lại tạo ra một từ điển. Callback hoạt động tương tự như các thuộc tính phụ thuộc đượ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, vì vậy, ví dụ: nếu bạn truyền Mỗi mục trong từ điển sẽ tạo ra 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
|
default = False Whether this rule is considered executable, that is, whether it may be the subject of a blaze run command. Hãy xem trang Quy tắc để biết thêm thông tin.
|
output_to_genfiles
|
default = False Nếu là true, các tệp sẽ được tạo trong thư mục genfiles thay vì thư mục bin. Đừng đặt cờ này, trừ phi bạn cầ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++). |
fragments
|
sequence of strings;
default = []Danh sách tên của các đoạn 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;
default = []Danh sách tên của các đoạn cấu hình mà quy tắc yêu cầu trong cấu hình máy chủ lưu trữ. |
_skylark_testable
|
default = False (Thử nghiệm) Nếu là true, quy tắc này sẽ hiển thị các thao tác của quy tắc để các quy tắc phụ thuộc vào quy tắc này kiểm tra thông qua trình cung cấp Actions. Bản thân quy tắc cũng có thể sử dụng nhà cung cấp bằng cách gọi ctx.created_actions(). Bạn chỉ nên dùng cách này để 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;
default = []Nếu được đặt, thì đây là 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 String, Label hoặc StarlarkToolchainTypeApi, theo bất kỳ tổ hợp nào. Các chuỗi công cụ sẽ được tìm thấy 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
|
default = False Không dùng nữa, tham số này không còn được sử dụng và cần bị xoá. |
doc
|
default = '' Nội dung mô tả về quy tắc mà các công cụ tạo tài liệu có thể trích xuất. |
provides
|
default = [] Danh sách các nhà cung cấp mà hàm triển khai phải trả về. Sẽ xảy ra 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 trình cung cấp bổ sung không có trong danh sách tại đây. Mỗi phần tử trong danh sách là một đối tượng |
exec_compatible_with
|
sequence of strings;
default = []A list of constraints on the execution platform that apply to all targets of this rule type. |
analysis_test
|
default = False Nếu đúng, thì quy tắc này được coi là một kiểm thử phân tích. Lưu ý: Các quy tắc kiểm thử phân tích chủ yếu được xác định bằng cách sử dụng cơ sở hạ tầng có trong các thư viện Starlark cốt lõi. Hãy xem phần Thử nghiệm để biết hướng dẫn. Nếu được xác định là một quy tắc kiểm thử phân tích, thì quy tắc đó sẽ được phép sử dụng các quá trình chuyển đổi cấu hình được xác định bằng analysis_test_transition trên các thuộc tính của quy tắc, nhưng sẽ chọn áp dụng một số hạn chế:
|
build_setting
|
BuildSetting; or None;
default = NoneNếu được đặt, hãy mô tả loại build setting của quy tắc này. Hãy xem mô-đun config. Nếu bạn đặt giá trị này, một thuộc tính bắt buộc có tên "build_setting_default" sẽ tự động được thêm vào quy tắc này, với một loại tương ứng với giá trị được truyền vào đây.
|
cfg
|
default = None Nếu được thiết lập, sẽ chỉ đến quá trình chuyển đổi cấu hình mà quy tắc sẽ áp dụng cho cấu hình của chính nó trước khi phân tích. |
exec_groups
|
dict; or None;
default = NoneTừ điển tên nhóm thực thi (chuỗi) đến exec_groups. Nếu được đặt, cho phép các quy tắc chạy các thao tác 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;
default = NoneĐược dùng bởi --compile_one_dependency: nếu nhiều quy tắc sử dụng tệp đã 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;
default = NoneKhô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 không phụ thuộc vào thông tin này. Tính năng này bị vô hiệu hoá bằng --+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 việc xoá sắp tới. Không dùng nữa: không sử dụng. Tên của quy tắc này, theo Bazel và được báo cáo trong các bối cảnh như ghi nhật ký, Nếu bạn bỏ qua tham số này, tên của quy tắc sẽ được đặt thành tên của biến chung Starlark đầu tiên được liên kết với quy tắc này trong mô-đun .bzl khai báo của quy tắc. Do đó, Việc chỉ định một tên rõ ràng cho quy tắc không thay đổi vị trí mà bạn được phép khởi tạo quy tắc. |
chọn
unknown select(x, no_match_error='')
select() là hàm trợ giúp giúp thuộc tính quy tắc có thể định cấu hình. Hãy xem phần xây dựng bách khoa toàn thư để biết thông tin chi tiết.
Thông số
| Tham số | Mô tả |
|---|---|
x
|
required Một từ điển á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 thực thể config_setting hoặc constraint_value. Hãy 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
|
default = '' Lỗi tuỳ chỉnh không bắt buộc để 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)
Thông số
| Tham 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
|
default = '' 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" vào phiên bản ghi đè này. Bạn có thể bỏ qua thuộc tính này nếu bạn chỉ muốn ghi đè sổ đăng ký hoặc các bản vá. |
registry
|
default = '' Ghi đè sổ đăng ký cho mô-đun này; thay vì tìm mô-đun này trong danh sách sổ đăng ký mặc định, bạn nên sử dụng sổ đăng ký đã cho. |
patches
|
Iterable of strings;
default = []Một danh sách các nhãn trỏ đến các tệp bản vá để áp dụng cho mô-đun này. Các tệp vá phải có trong cây nguồn của dự án cấp cao nhất. Các quy tắc này được áp dụng theo thứ tự trong danh sách. |
patch_cmds
|
Iterable of strings;
default = []Trình tự các lệnh Bash sẽ được áp dụng trên Linux/MacOS sau khi các bản vá được áp dụng. |
patch_strip
|
default = 0 Tương tự 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]
Thông số
| Tham số | Mô tả |
|---|---|
iterable
|
required Trình tự có thể lặp lại để sắp xếp. |
key
|
default = None Một hàm không bắt buộc được áp dụng cho từng phần tử trước khi so sánh. |
reverse
|
default = False Trả về kết quả theo thứ tự giảm dần. |
str
string str(x)
str("ab") == "ab"
str(8) == "8"Thông số
| Tham số | Mô tả |
|---|---|
x
|
required Đối tượng cần chuyển đổi. |
tag_class
tag_class tag_class(attrs={}, *, doc='')
Thông số
| Tham số | Mô tả |
|---|---|
attrs
|
default = {} Từ điển để khai báo tất cả các thuộc tính của lớp thẻ này. Thư viện này liên kết từ tên thuộc tính đến đối tượng thuộc tính (xem mô-đun attr). |
doc
|
default = '' Nội dung mô tả về lớp thẻ mà các công cụ tạo tài liệu có thể trích xuất. |
tuple
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)Thông số
| Tham số | Mô tả |
|---|---|
x
|
default = () Đố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
Thông số
| Tham số | Mô tả |
|---|---|
x
|
required Đối tượng cần kiểm tra loại. |
use_extension
module_extension_proxy use_extension(extension_bzl_file, extension_name, *, dev_dependency=False, isolate=False)
Thông số
| Tham số | Mô tả |
|---|---|
extension_bzl_file
|
required Nhãn cho tệp Starlark xác định tiện ích mô-đun. |
extension_name
|
required Tên của tiện ích mô-đun cần sử dụng. Tệp Starlark phải xuất một biểu tượng có tên này. |
dev_dependency
|
default = False Nếu là true, thì 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
|
default = False Thử nghiệm. Đây là một thông số thử nghiệm và có thể thay đổi bất cứ lúc nào. Vui lòng không phụ thuộc vào thông tin 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, thì việc sử dụng tiện ích mô-đun này sẽ tách biệt với tất cả cá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 các mục đích sử dụng khác và các 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ả cá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)
Thông số
| Tham số | Mô tả |
|---|---|
extension_proxy
|
required Một đối tượng proxy tiện ích 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
|
required Chỉ định một số kho lưu trữ để nhập vào phạm vi của mô-đun hiện tại bằng các tên khác nhau. Khoá phải là tên để sử dụng trong phạm vi hiện tại, trong khi giá trị phải là tên ban đầu do 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.
Khả năng hiển thị khi tải của một mô-đun sẽ 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, quy định xem tệp có thể xuất hiện dưới dạng một phần phụ thuộc của các mục tiêu khác hay không.) Chế độ hiển thị khi tải hoạt động ở cấp độ gói: Để tải một mô-đun, tệp thực hiện việc tải phải nằm trong một gói đã được cấp quyền hiển thị cho mô-đun đó. Một mô-đun luôn có thể được tải trong gói riêng, bất kể chế độ hiển thị của mô-đun đó.
Bạn chỉ có thể gọi visibility() 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 một hàm. Phong cách ưu tiên là đặt lệnh gọi này ngay bên dưới các câu lệnh load() và mọi logic ngắn gọn cần thiết để xác định đối số.
Nếu cờ --check_bzl_visibility được đặt thành false, thì các lỗi vi phạm về khả năng hiển thị khi tải sẽ phát ra cảnh báo nhưng không làm gián đoạn quá trình tạo.
Thông số
| Tham số | Mô tả |
|---|---|
value
|
bắt buộc Một danh sách các chuỗi chỉ định gói hoặc một chuỗi chỉ định gói duy nhất. Quy cách gói có cùng định dạng với
Không được phép dùng cú pháp "@"; mọi 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 Xin lưu ý rằng các 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 trước tất cả cá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 gói Java của dự án, sử dụng dấu gạch dưới làm dấu phân cá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 nơi lưu trữ các tệp thực thi của kho lưu trữ. Ví dụ: nếu có một runfile foo/bar trong kho lưu trữ cục bộ và tệp WORKSPACE chứa workspace(name = 'baz'), thì runfile 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ì runfile sẽ được liên kết tượng trưng với bar.runfiles/foo/bar.
Tên quy tắc 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 có maven_jar(name = 'foo%bar'), vì Bazel sẽ cố gắng ghi tệp WORKSPACE cho maven_jar chứa workspace(name = 'foo%bar').
Thông số
| Tham số | Mô tả |
|---|---|
name
|
required tên của vùng hoạt động. 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 gồm các tuple, trong đó bộ i chứa phần tử thứ i từ mỗi chuỗi hoặc đối tượng có thể lặp lại của đối số. Danh sách có kích thước bằng 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 duy nhất, hàm này sẽ trả về một danh sách gồm các bộ 1. Nếu không có đối số, hàm 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)]
Thông số
| Tham số | Mô tả |
|---|---|
args
|
bắt buộc để nén. |