attrs
của rule()
và aspect()
.Hãy xem trang Quy tắc để tìm hiểu thêm về việc xác định và sử dụng các thuộc tính.
Hội viên
- bool
- int
- int_list
- nhãn
- label_keyed_string_dict
- label_list
- đầu ra
- output_list
- string
- string_dict
- string_list
- string_list_dict
bool
Attribute attr.bool(default=False, doc='', mandatory=False)Tạo giản đồ cho thuộc tính boolean.
Thông số
Thông số | Nội dung mô tả |
---|---|
default
|
mặc định = Sai Một giá trị mặc định được sử dụng nếu không có giá trị nào cho thuộc tính này được cung cấp khi tạo thực thể cho quy tắc. |
doc
|
mặc định = '' Nội dung mô tả về thuộc tính có thể trích xuất được bằng công cụ tạo tài liệu. |
mandatory
|
mặc định = Sai Nếu đúng, bạn phải chỉ định giá trị một cách rõ ràng (ngay cả khi giá trị đó có default ).
|
int
Attribute attr.int(default=0, doc='', mandatory=False, values=[])Tạo giản đồ cho một thuộc tính số nguyên. Giá trị phải nằm trong dải 32 bit đã ký.
Thông số
Thông số | Nội dung mô tả |
---|---|
default
|
mặc định = 0 Một giá trị mặc định để sử dụng nếu không có giá trị nào cho thuộc tính này được cung cấp khi tạo thực thể cho quy tắc. |
doc
|
mặc định = '' Nội dung mô tả về thuộc tính có thể trích xuất được bằng công cụ tạo tài liệu. |
mandatory
|
mặc định = Sai Nếu đúng, bạn phải chỉ định giá trị một cách rõ ràng (ngay cả khi giá trị đó có default ).
|
values
|
sequence of ints ;
default = []Danh sách các giá trị được phép đối với thuộc tính này. Lỗi sẽ xảy ra nếu bạn cung cấp bất kỳ giá trị nào khác. |
int_list
Attribute attr.int_list(mandatory=False, allow_empty=True, *, default=[], doc='')Tạo giản đồ cho thuộc tính danh sách số nguyên. Mỗi phần tử phải nằm trong phạm vi 32 bit đã ký.
Thông số
Thông số | Nội dung mô tả |
---|---|
mandatory
|
mặc định = Sai Nếu đúng, bạn phải chỉ định giá trị một cách rõ ràng (ngay cả khi giá trị đó có default ).
|
allow_empty
|
default = True True nếu có thể để trống thuộc tính này. |
default
|
sequence of ints ;
mặc định = []Giá trị mặc định để sử dụng nếu không cung cấp giá trị nào cho thuộc tính này khi tạo thực thể cho quy tắc. |
doc
|
mặc định = '' Nội dung mô tả về thuộc tính có thể trích xuất được bằng công cụ tạo tài liệu. |
nhãn
Attribute attr.label(default=None, doc='', executable=False, allow_files=None, allow_single_file=None, mandatory=False, providers=[], allow_rules=None, cfg=None, aspects=[])
Tạo giản đồ cho thuộc tính nhãn. Đây là một thuộc tính phần phụ thuộc.
Thuộc tính này chứa các giá trị Label
duy nhất. Nếu một chuỗi được cung cấp thay cho Label
, chuỗi đó sẽ được chuyển đổi bằng hàm khởi tạo nhãn. Các phần tương đối của đường dẫn nhãn, bao gồm cả kho lưu trữ (có thể đổi tên), được phân giải theo gói của mục tiêu được tạo thực thể.
Tại thời điểm phân tích (trong hàm triển khai quy tắc), khi truy xuất giá trị thuộc tính từ ctx.attr
, nhãn sẽ được thay thế bằng các Target
tương ứng. Thao tác này cho phép bạn truy cập vào trình cung cấp các phần phụ thuộc của mục tiêu hiện tại.
Ngoài các tệp nguồn thông thường, loại thuộc tính này thường được dùng để tham chiếu đến một công cụ, ví dụ như trình biên dịch. Những công cụ như vậy được coi là các phần phụ thuộc, tương tự như tệp nguồn. Để tránh yêu cầu người dùng chỉ định nhãn của công cụ mỗi khi họ sử dụng quy tắc trong tệp BUILD, bạn có thể mã hóa cứng nhãn của công cụ chuẩn làm giá trị default
của thuộc tính này. Nếu cũng muốn ngăn người dùng ghi đè giá trị mặc định này, bạn có thể đặt thuộc tính này ở chế độ riêng tư bằng cách đặt tên bắt đầu bằng dấu gạch dưới. Xem trang Quy tắc để biết thêm thông tin.
Thông số
Thông số | Nội dung mô tả |
---|---|
default
|
Label; or string; or LateBoundDefault; or NativeComputedDefault; or function; or None ;
mặc định = Không cóGiá trị mặc định để sử dụng nếu không có giá trị nào được cung cấp cho thuộc tính này khi tạo thực thể cho quy tắc.Sử dụng chuỗi hoặc hàm Label để chỉ định giá trị mặc định, chẳng hạn như attr.label(default = "//a:b") .
|
doc
|
mặc định = '' Nội dung mô tả về thuộc tính có thể trích xuất được bằng công cụ tạo tài liệu. |
executable
|
mặc định = Sai Đúng nếu phần phụ thuộc phải có thể thực thi. Điều này có nghĩa là nhãn phải tham chiếu đến một tệp thực thi hoặc đến một quy tắc xuất ra tệp thực thi. Truy cập vào nhãn bằng ctx.executable.<attribute_name> .
|
allow_files
|
bool; or sequence of strings; or None ;
mặc định = KhôngLiệu các mục tiêu File có được phép hay không. Có thể là True , False (mặc định) hoặc danh sách các đuôi tệp được phép (ví dụ: [".cc", ".cpp"] ).
|
allow_single_file
|
mặc định = Không có Thuộc tính này tương tự như allow_files , với giới hạn là nhãn phải tương ứng với một Tệp. Bạn có thể truy cập vào gói thuê bao này thông qua ctx.file.<attribute_name> .
|
mandatory
|
mặc định = Sai Nếu đúng, bạn phải chỉ định giá trị một cách rõ ràng (ngay cả khi giá trị đó có default ).
|
providers
|
default = [] Các trình cung cấp phải được cung cấp bởi mọi phần phụ thuộc xuất hiện trong thuộc tính này. Định dạng của đối số này là danh sách danh sách các nhà cung cấp – đối tượng |
allow_rules
|
sequence of strings; or None ;
mặc định = KhôngQuy tắc nào nhắm mục tiêu (tên của lớp) được cho phép. Tính năng này không còn được dùng nữa (chỉ được giữ lại để tương thích), thay vào đó hãy sử dụng trình cung cấp. |
cfg
|
mặc định = Không có Cấu hình của thuộc tính. Đó có thể là "exec" (cho biết phần phụ thuộc được tạo cho execution platform ) hoặc "target" (cho biết phần phụ thuộc được xây dựng cho target platform ). Ví dụ điển hình về sự khác biệt là khi tạo ứng dụng dành cho thiết bị di động, trong đó target platform là Android hoặc iOS còn execution platform là Linux , macOS hoặc Windows . Bạn bắt buộc phải sử dụng tham số này nếu giá trị executable được đặt là True để ngăn chặn việc vô tình tạo công cụ lưu trữ trong cấu hình mục tiêu. "target" không có tác động về ngữ nghĩa, vì vậy, đừng thiết lập thuộc tính này khi executable là False trừ phi điều này thực sự giúp làm rõ ý định của bạn.
|
aspects
|
sequence of Aspects ;
mặc định = []Các khía cạnh nên được áp dụng cho phần phụ thuộc hoặc phần phụ thuộc do thuộc tính này chỉ định. |
label_keyed_string_dict
Attribute attr.label_keyed_string_dict(allow_empty=True, *, default={}, doc='', allow_files=None, allow_rules=None, providers=[], flags=[], mandatory=False, cfg=None, aspects=[])
Tạo giản đồ cho thuộc tính chứa từ điển, trong đó khoá là nhãn và giá trị là chuỗi. Đây là một thuộc tính phần phụ thuộc.
Thuộc tính này chứa các giá trị Label
duy nhất. Nếu một chuỗi được cung cấp thay cho Label
, chuỗi đó sẽ được chuyển đổi bằng hàm khởi tạo nhãn. Các phần tương đối của đường dẫn nhãn, bao gồm cả kho lưu trữ (có thể đổi tên), được phân giải theo gói của mục tiêu được tạo thực thể.
Tại thời điểm phân tích (trong hàm triển khai quy tắc), khi truy xuất giá trị thuộc tính từ ctx.attr
, nhãn sẽ được thay thế bằng các Target
tương ứng. Thao tác này cho phép bạn truy cập vào trình cung cấp các phần phụ thuộc của mục tiêu hiện tại.
Thông số
Thông số | Nội dung mô tả |
---|---|
allow_empty
|
default = True True nếu có thể để trống thuộc tính này. |
default
|
dict; or function ;
mặc định = {}Giá trị mặc định để sử dụng nếu không có giá trị nào cho thuộc tính này được cung cấp khi tạo thực thể cho quy tắc.Sử dụng chuỗi hoặc hàm Label để chỉ định giá trị mặc định, chẳng hạn như attr.label_keyed_string_dict(default = {"//a:b": "value", "//a:c": "string"}) .
|
doc
|
mặc định = '' Nội dung mô tả về thuộc tính có thể trích xuất được bằng công cụ tạo tài liệu. |
allow_files
|
bool; or sequence of strings; or None ;
mặc định = KhôngLiệu các mục tiêu File có được phép hay không. Có thể là True , False (mặc định) hoặc danh sách các đuôi tệp được phép (ví dụ: [".cc", ".cpp"] ).
|
allow_rules
|
sequence of strings; or None ;
mặc định = KhôngQuy tắc nào nhắm mục tiêu (tên của lớp) được cho phép. Tính năng này không còn được dùng nữa (chỉ được giữ lại để tương thích), thay vào đó hãy sử dụng trình cung cấp. |
providers
|
default = [] Các trình cung cấp phải được cung cấp bởi mọi phần phụ thuộc xuất hiện trong thuộc tính này. Định dạng của đối số này là danh sách danh sách các nhà cung cấp – đối tượng |
flags
|
sequence of strings ;
mặc định = []Không dùng nữa, sẽ bị xoá. |
mandatory
|
mặc định = Sai Nếu đúng, bạn phải chỉ định giá trị một cách rõ ràng (ngay cả khi giá trị đó có default ).
|
cfg
|
mặc định = Không có Cấu hình của thuộc tính. Đó có thể là "exec" (cho biết phần phụ thuộc được tạo cho execution platform ) hoặc "target" (cho biết phần phụ thuộc được xây dựng cho target platform ). Ví dụ điển hình về sự khác biệt là khi tạo ứng dụng dành cho thiết bị di động, trong đó target platform là Android hoặc iOS còn execution platform là Linux , macOS hoặc Windows .
|
aspects
|
sequence of Aspects ;
mặc định = []Các khía cạnh nên được áp dụng cho phần phụ thuộc hoặc phần phụ thuộc do thuộc tính này chỉ định. |
label_list
Attribute attr.label_list(allow_empty=True, *, default=[], doc='', allow_files=None, allow_rules=None, providers=[], flags=[], mandatory=False, cfg=None, aspects=[])
Tạo giản đồ cho thuộc tính danh sách nhãn. Đây là một thuộc tính phần phụ thuộc.
Thuộc tính này chứa các giá trị Label
duy nhất. Nếu một chuỗi được cung cấp thay cho Label
, chuỗi đó sẽ được chuyển đổi bằng hàm khởi tạo nhãn. Các phần tương đối của đường dẫn nhãn, bao gồm cả kho lưu trữ (có thể đổi tên), được phân giải theo gói của mục tiêu được tạo thực thể.
Tại thời điểm phân tích (trong hàm triển khai quy tắc), khi truy xuất giá trị thuộc tính từ ctx.attr
, nhãn sẽ được thay thế bằng các Target
tương ứng. Thao tác này cho phép bạn truy cập vào trình cung cấp các phần phụ thuộc của mục tiêu hiện tại.
Thông số
Thông số | Nội dung mô tả |
---|---|
allow_empty
|
default = True True nếu có thể để trống thuộc tính này. |
default
|
sequence of Labels; or function ;
mặc định = []Giá trị mặc định để sử dụng nếu không có giá trị nào cho thuộc tính này được cung cấp khi tạo thực thể cho quy tắc.Sử dụng chuỗi hoặc hàm Label để chỉ định giá trị mặc định, chẳng hạn như attr.label_list(default = ["//a:b", "//a:c"]) .
|
doc
|
mặc định = '' Nội dung mô tả về thuộc tính có thể trích xuất được bằng công cụ tạo tài liệu. |
allow_files
|
bool; or sequence of strings; or None ;
mặc định = KhôngLiệu các mục tiêu File có được phép hay không. Có thể là True , False (mặc định) hoặc danh sách các đuôi tệp được phép (ví dụ: [".cc", ".cpp"] ).
|
allow_rules
|
sequence of strings; or None ;
mặc định = KhôngQuy tắc nào nhắm mục tiêu (tên của lớp) được cho phép. Tính năng này không còn được dùng nữa (chỉ được giữ lại để tương thích), thay vào đó hãy sử dụng trình cung cấp. |
providers
|
default = [] Các trình cung cấp phải được cung cấp bởi mọi phần phụ thuộc xuất hiện trong thuộc tính này. Định dạng của đối số này là danh sách danh sách các nhà cung cấp – đối tượng |
flags
|
sequence of strings ;
mặc định = []Không dùng nữa, sẽ bị xoá. |
mandatory
|
mặc định = Sai Nếu đúng, bạn phải chỉ định giá trị một cách rõ ràng (ngay cả khi giá trị đó có default ).
|
cfg
|
mặc định = Không có Cấu hình của thuộc tính. Đó có thể là "exec" (cho biết phần phụ thuộc được tạo cho execution platform ) hoặc "target" (cho biết phần phụ thuộc được xây dựng cho target platform ). Ví dụ điển hình về sự khác biệt là khi tạo ứng dụng dành cho thiết bị di động, trong đó target platform là Android hoặc iOS còn execution platform là Linux , macOS hoặc Windows .
|
aspects
|
sequence of Aspects ;
mặc định = []Các khía cạnh nên được áp dụng cho phần phụ thuộc hoặc phần phụ thuộc do thuộc tính này chỉ định. |
output
Attribute attr.output(doc='', mandatory=False)
Tạo giản đồ cho thuộc tính đầu ra (nhãn).
Thuộc tính này chứa các giá trị Label
duy nhất. Nếu một chuỗi được cung cấp thay cho Label
, chuỗi đó sẽ được chuyển đổi bằng hàm khởi tạo nhãn. Các phần tương đối của đường dẫn nhãn, bao gồm cả kho lưu trữ (có thể đổi tên), được phân giải theo gói của mục tiêu được tạo thực thể.
Tại thời điểm phân tích, bạn có thể truy xuất File
tương ứng bằng ctx.outputs
.
Thông số
Thông số | Nội dung mô tả |
---|---|
doc
|
mặc định = '' Nội dung mô tả về thuộc tính có thể trích xuất được bằng công cụ tạo tài liệu. |
mandatory
|
mặc định = Sai Nếu đúng, bạn phải chỉ định giá trị một cách rõ ràng (ngay cả khi giá trị đó có default ).
|
output_list
Attribute attr.output_list(allow_empty=True, *, doc='', mandatory=False)Tạo giản đồ cho thuộc tính danh sách đầu ra.
Thuộc tính này chứa các giá trị Label
duy nhất. Nếu một chuỗi được cung cấp thay cho Label
, chuỗi đó sẽ được chuyển đổi bằng hàm khởi tạo nhãn. Các phần tương đối của đường dẫn nhãn, bao gồm cả kho lưu trữ (có thể đổi tên), được phân giải theo gói của mục tiêu được tạo thực thể.
Tại thời điểm phân tích, bạn có thể truy xuất File
tương ứng bằng ctx.outputs
.
Thông số
Thông số | Nội dung mô tả |
---|---|
allow_empty
|
default = True True nếu có thể để trống thuộc tính này. |
doc
|
mặc định = '' Nội dung mô tả về thuộc tính có thể trích xuất được bằng công cụ tạo tài liệu. |
mandatory
|
mặc định = Sai Nếu đúng, bạn phải chỉ định giá trị một cách rõ ràng (ngay cả khi giá trị đó có default ).
|
string
Attribute attr.string(default='', doc='', mandatory=False, values=[])Tạo giản đồ cho một thuộc tính chuỗi.
Thông số
Thông số | Nội dung mô tả |
---|---|
default
|
string; or NativeComputedDefault ;
default = ''Giá trị mặc định để sử dụng nếu không cung cấp giá trị nào cho thuộc tính này khi tạo thực thể cho quy tắc. |
doc
|
mặc định = '' Nội dung mô tả về thuộc tính có thể trích xuất được bằng công cụ tạo tài liệu. |
mandatory
|
mặc định = Sai Nếu đúng, bạn phải chỉ định giá trị một cách rõ ràng (ngay cả khi giá trị đó có default ).
|
values
|
sequence of strings ;
default = []Danh sách các giá trị được phép đối với thuộc tính này. Lỗi sẽ xảy ra nếu bạn cung cấp bất kỳ giá trị nào khác. |
string_dict
Attribute attr.string_dict(allow_empty=True, *, default={}, doc='', mandatory=False)Tạo giản đồ cho thuộc tính có chứa từ điển, trong đó khoá và giá trị là các chuỗi.
Thông số
Thông số | Nội dung mô tả |
---|---|
allow_empty
|
default = True True nếu có thể để trống thuộc tính này. |
default
|
mặc định = {} Một giá trị mặc định để sử dụng nếu không có giá trị nào cho thuộc tính này được cung cấp khi tạo thực thể cho quy tắc. |
doc
|
mặc định = '' Nội dung mô tả về thuộc tính có thể trích xuất được bằng công cụ tạo tài liệu. |
mandatory
|
mặc định = Sai Nếu đúng, bạn phải chỉ định giá trị một cách rõ ràng (ngay cả khi giá trị đó có default ).
|
string_list
Attribute attr.string_list(mandatory=False, allow_empty=True, *, default=[], doc='')Tạo giản đồ cho thuộc tính danh sách chuỗi.
Thông số
Thông số | Nội dung mô tả |
---|---|
mandatory
|
mặc định = Sai Nếu đúng, bạn phải chỉ định giá trị một cách rõ ràng (ngay cả khi giá trị đó có default ).
|
allow_empty
|
default = True True nếu có thể để trống thuộc tính này. |
default
|
sequence of strings; or NativeComputedDefault ;
mặc định = []Giá trị mặc định để sử dụng nếu không cung cấp giá trị nào cho thuộc tính này khi tạo thực thể cho quy tắc. |
doc
|
mặc định = '' Nội dung mô tả về thuộc tính có thể trích xuất được bằng công cụ tạo tài liệu. |
string_list_dict
Attribute attr.string_list_dict(allow_empty=True, *, default={}, doc='', mandatory=False)Tạo giản đồ cho thuộc tính chứa từ điển, trong đó khoá là chuỗi và giá trị là danh sách chuỗi.
Thông số
Thông số | Nội dung mô tả |
---|---|
allow_empty
|
default = True True nếu có thể để trống thuộc tính này. |
default
|
mặc định = {} Một giá trị mặc định để sử dụng nếu không có giá trị nào cho thuộc tính này được cung cấp khi tạo thực thể cho quy tắc. |
doc
|
mặc định = '' Nội dung mô tả về thuộc tính có thể trích xuất được bằng công cụ tạo tài liệu. |
mandatory
|
mặc định = Sai Nếu đúng, bạn phải chỉ định giá trị một cách rõ ràng (ngay cả khi giá trị đó có default ).
|