attrs
của rule()
và aspect()
.Xem trang Quy tắc để tìm hiểu thêm về cách xác định và sử dụng thuộc tính.
Hội viên
- bool
- số nguyên
- 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)
Tham số
Thông số | Mô tả |
---|---|
default
|
mặc định = Sai 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ể quy tắc. |
doc
|
mặc định = '' Nội dung mô tả về thuộc tính có thể được trích xuất bằng các 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ị này một cách rõ ràng (ngay cả khi có default ).
|
int
Attribute attr.int(default=0, doc='', mandatory=False, values=[])
Tham số
Thông số | Mô tả |
---|---|
default
|
mặc định = 0 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ể quy tắc. |
doc
|
mặc định = '' Nội dung mô tả về thuộc tính có thể được trích xuất bằng các 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ị này một cách rõ ràng (ngay cả khi có default ).
|
values
|
sequence of ints ;
mặc định = []Danh sách các giá trị được phép cho thuộc tính. 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='')
Tham số
Thông số | Mô tả |
---|---|
mandatory
|
mặc định = Sai Nếu đúng, bạn phải chỉ định giá trị này một cách rõ ràng (ngay cả khi có default ).
|
allow_empty
|
mặc định = Đúng Đúng nếu thuộc tính có thể để trống. |
default
|
sequence of ints ;
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ể quy tắc. |
doc
|
mặc định = '' Nội dung mô tả về thuộc tính có thể được trích xuất bằng các 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à 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
, thì 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ể được đổi tên), được phân giải tương ứng với gói của mục tiêu đã tạo thực thể.
Tại thời điểm phân tích (trong hàm triển khai của 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. Nhờ vậy, bạn có thể truy cập vào các 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ụ – chẳng hạn 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, cũng giống như các tệp nguồn. Để tránh việc 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ố định nhãn của một 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 riêng tư bằng cách đặt tên cho thuộc tính bắt đầu bằng dấu gạch dưới. Xem trang Quy tắc để biết thêm thông tin.
Tham số
Thông số | Mô tả |
---|---|
default
|
Label; or string; or LateBoundDefault; or NativeComputedDefault; or function; or None ;
mặc định = Không có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.Hãy sử dụng một chuỗi hoặc hàm Label để chỉ định một 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ể được trích xuất bằng các 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 tệp thực thi hoặc 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ông cóLiệu các mục tiêu File có được cho phép hay không. Có thể là True , False (mặc định) hoặc một danh sách đuôi tệp được phép (ví dụ: [".cc", ".cpp"] ).
|
allow_single_file
|
mặc định = Không có Điều này tương tự như allow_files , nhưng có quy định hạn chế là nhãn phải tương ứng với một Tệp. Truy cập thông qua ctx.file.<attribute_name> .
|
mandatory
|
mặc định = Sai Nếu đúng, bạn phải chỉ định giá trị này một cách rõ ràng (ngay cả khi có default ).
|
providers
|
mặc định = [] Các trình cung cấp phải được cung cấp qua bất kỳ phần phụ thuộc nào có trong thuộc tính này. Định dạng của đối số này là danh sách danh sách trình cung cấp – các đối tượng |
allow_rules
|
sequence of strings; or None ;
mặc định = Không cóMục tiêu quy tắc nào (tên lớp) được phép. Tính năng này không còn được dùng nữa (chỉ giữ lại để đảm bảo khả năng tương thích), thay vào đó, hãy sử dụng 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 này được tạo cho execution platform ) hoặc "target" (cho biết phần phụ thuộc này được tạo cho target platform ). Một ví dụ điển hình về sự khác biệt này là khi tạo ứng dụng di động, trong đó target platform là Android hoặc iOS trong khi execution platform là Linux , macOS hoặc Windows . Tham số này là bắt buộc nếu executable là True để đề phòng việc vô tình tạo các công cụ của máy chủ lưu trữ trong cấu hình đích. "target" không có hiệu ứng ngữ nghĩa, vì vậy, đừng đặt thuộc tính này khi executable là False trừ phi thao tác 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 cần áp dụng cho phần phụ thuộc hoặc cá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 một thuộc tính chứa từ điển, trong đó khoá là nhãn và giá trị là chuỗi. Đây là 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
, thì 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ể được đổi tên), được phân giải tương ứng với gói của mục tiêu đã tạo thực thể.
Tại thời điểm phân tích (trong hàm triển khai của 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. Nhờ vậy, bạn có thể truy cập vào các trình cung cấp các phần phụ thuộc của mục tiêu hiện tại.
Tham số
Thông số | Mô tả |
---|---|
allow_empty
|
mặc định = Đúng Đúng nếu thuộc tính có thể để trống. |
default
|
dict; or function ;
default = {}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.Hãy 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ể được trích xuất bằng các công cụ tạo tài liệu. |
allow_files
|
bool; or sequence of strings; or None ;
mặc định = Không cóLiệu các mục tiêu File có được cho phép hay không. Có thể là True , False (mặc định) hoặc một danh sách đuôi tệp được phép (ví dụ: [".cc", ".cpp"] ).
|
allow_rules
|
sequence of strings; or None ;
mặc định = Không cóMục tiêu quy tắc nào (tên lớp) được phép. Tính năng này không còn được dùng nữa (chỉ giữ lại để đảm bảo khả năng tương thích), thay vào đó, hãy sử dụng nhà cung cấp. |
providers
|
mặc định = [] Các trình cung cấp phải được cung cấp qua bất kỳ phần phụ thuộc nào có trong thuộc tính này. Định dạng của đối số này là danh sách danh sách trình cung cấp – các đối tượng |
flags
|
sequence of strings ;
mặc định = []Không được dùng nữa, sẽ bị xoá. |
mandatory
|
mặc định = Sai Nếu đúng, bạn phải chỉ định giá trị này một cách rõ ràng (ngay cả khi 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 này được tạo cho execution platform ) hoặc "target" (cho biết phần phụ thuộc này được tạo cho target platform ). Một ví dụ điển hình về sự khác biệt này là khi tạo ứng dụng di động, trong đó target platform là Android hoặc iOS trong khi execution platform là Linux , macOS hoặc Windows .
|
aspects
|
sequence of Aspects ;
mặc định = []Các khía cạnh cần áp dụng cho phần phụ thuộc hoặc cá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à 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
, thì 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ể được đổi tên), được phân giải tương ứng với gói của mục tiêu đã tạo thực thể.
Tại thời điểm phân tích (trong hàm triển khai của 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. Nhờ vậy, bạn có thể truy cập vào các trình cung cấp các phần phụ thuộc của mục tiêu hiện tại.
Tham số
Thông số | Mô tả |
---|---|
allow_empty
|
mặc định = Đúng Đúng nếu thuộc tính có thể để trống. |
default
|
sequence of Labels; or function ;
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.Hãy 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ể được trích xuất bằng các công cụ tạo tài liệu. |
allow_files
|
bool; or sequence of strings; or None ;
mặc định = Không cóLiệu các mục tiêu File có được cho phép hay không. Có thể là True , False (mặc định) hoặc một danh sách đuôi tệp được phép (ví dụ: [".cc", ".cpp"] ).
|
allow_rules
|
sequence of strings; or None ;
mặc định = Không cóMục tiêu quy tắc nào (tên lớp) được phép. Tính năng này không còn được dùng nữa (chỉ giữ lại để đảm bảo khả năng tương thích), thay vào đó, hãy sử dụng nhà cung cấp. |
providers
|
mặc định = [] Các trình cung cấp phải được cung cấp qua bất kỳ phần phụ thuộc nào có trong thuộc tính này. Định dạng của đối số này là danh sách danh sách trình cung cấp – các đối tượng |
flags
|
sequence of strings ;
mặc định = []Không được dùng nữa, sẽ bị xoá. |
mandatory
|
mặc định = Sai Nếu đúng, bạn phải chỉ định giá trị này một cách rõ ràng (ngay cả khi 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 này được tạo cho execution platform ) hoặc "target" (cho biết phần phụ thuộc này được tạo cho target platform ). Một ví dụ điển hình về sự khác biệt này là khi tạo ứng dụng di động, trong đó target platform là Android hoặc iOS trong khi execution platform là Linux , macOS hoặc Windows .
|
aspects
|
sequence of Aspects ;
mặc định = []Các khía cạnh cần áp dụng cho phần phụ thuộc hoặc cá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
, thì 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ể được đổi tên), được phân giải tương ứng với gói của mục tiêu đã 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
.
Tham số
Thông số | Mô tả |
---|---|
doc
|
mặc định = '' Nội dung mô tả về thuộc tính có thể được trích xuất bằng các 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ị này một cách rõ ràng (ngay cả khi có default ).
|
output_list
Attribute attr.output_list(allow_empty=True, *, doc='', mandatory=False)
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
, thì 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ể được đổi tên), được phân giải tương ứng với gói của mục tiêu đã 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
.
Tham số
Thông số | Mô tả |
---|---|
allow_empty
|
mặc định = Đúng Đúng nếu thuộc tính có thể để trống. |
doc
|
mặc định = '' Nội dung mô tả về thuộc tính có thể được trích xuất bằng các 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ị này một cách rõ ràng (ngay cả khi có default ).
|
string
Attribute attr.string(default='', doc='', mandatory=False, values=[])
Tham số
Thông số | Mô tả |
---|---|
default
|
string; or NativeComputedDefault ;
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ể quy tắc. |
doc
|
mặc định = '' Nội dung mô tả về thuộc tính có thể được trích xuất bằng các 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ị này một cách rõ ràng (ngay cả khi có default ).
|
values
|
sequence of strings ;
mặc định = []Danh sách các giá trị được phép cho thuộc tính. 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)
Tham số
Thông số | Mô tả |
---|---|
allow_empty
|
mặc định = Đúng Đúng nếu thuộc tính có thể để trống. |
default
|
default = {} 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ể quy tắc. |
doc
|
mặc định = '' Nội dung mô tả về thuộc tính có thể được trích xuất bằng các 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ị này một cách rõ ràng (ngay cả khi có default ).
|
string_list
Attribute attr.string_list(mandatory=False, allow_empty=True, *, default=[], doc='')
Tham số
Thông số | Mô tả |
---|---|
mandatory
|
mặc định = Sai Nếu đúng, bạn phải chỉ định giá trị này một cách rõ ràng (ngay cả khi có default ).
|
allow_empty
|
mặc định = Đúng Đúng nếu thuộc tính có thể để trống. |
default
|
sequence of strings; or NativeComputedDefault ;
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ể quy tắc. |
doc
|
mặc định = '' Nội dung mô tả về thuộc tính có thể được trích xuất bằng các công cụ tạo tài liệu. |
string_list_dict
Attribute attr.string_list_dict(allow_empty=True, *, default={}, doc='', mandatory=False)
Tham số
Thông số | Mô tả |
---|---|
allow_empty
|
mặc định = Đúng Đúng nếu thuộc tính có thể để trống. |
default
|
default = {} 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ể quy tắc. |
doc
|
mặc định = '' Nội dung mô tả về thuộc tính có thể được trích xuất bằng các 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ị này một cách rõ ràng (ngay cả khi có default ).
|