attrs của rule() và aspect().Hãy xem trang Quy tắc để biết thêm thông tin về cách xác định và sử dụng thuộc tính.
Hội viên
- bool
- int
- int_list
- nhãn
- label_keyed_string_dict
- label_list
- output
- output_list
- string
- string_dict
- string_list
- string_list_dict
bool
Attribute attr.bool(default=False, doc='', mandatory=False)
Thông số
| Tham số | Mô tả |
|---|---|
default
|
default = False Giá trị mặc định để sử dụng nếu không có giá trị nào cho thuộc tính này khi khởi tạo quy tắc. |
doc
|
default = '' Nội dung mô tả về thuộc tính mà các công cụ tạo tài liệu có thể trích xuất. |
mandatory
|
default = False Nếu là true, 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=[])
Thông số
| Tham số | Mô tả |
|---|---|
default
|
default = 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 khi khởi tạo quy tắc. |
doc
|
default = '' Nội dung mô tả về thuộc tính mà các công cụ tạo tài liệu có thể trích xuất. |
mandatory
|
default = False Nếu là true, 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 cho thuộc tính. Hệ thống sẽ báo lỗi 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='')
Thông số
| Tham số | Mô tả |
|---|---|
mandatory
|
default = False Nếu là true, 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 thuộc tính có thể trống. |
default
|
sequence of ints;
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 khi khởi tạo quy tắc. |
doc
|
default = '' Nội dung mô tả về thuộc tính mà các công cụ tạo tài liệu có thể trích xuất. |
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 một giản đồ cho thuộc tính nhãn. Đây là một thuộc tính phụ thuộc.
Thuộc tính này chứa các giá trị riêng biệt của Label. 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 liên quan đến gói của mục tiêu được khởi tạo.
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, các nhãn sẽ được thay thế bằng Target tương ứng. Điều này cho phép bạn truy cập vào các nhà cung cấp của 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, giống như các 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ã hoá cứng 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 ở chế độ riêng tư bằng cách đặt tên bắt đầu bằng dấu gạch dưới. Hãy xem trang Quy tắc để biết thêm thông tin.
Thông số
| Tham số | Mô tả |
|---|---|
default
|
Label; or string; or LateBoundDefault; or NativeComputedDefault; or function; or None;
default = NoneGiá trị mặc định để sử dụng nếu không có giá trị nào cho thuộc tính này khi tạo thực thể quy tắc.Sử dụng một chuỗi hoặc hàm Label để chỉ định giá trị mặc định, ví dụ: attr.label(default = "//a:b").
|
doc
|
default = '' Nội dung mô tả về thuộc tính mà các công cụ tạo tài liệu có thể trích xuất. |
executable
|
default = False True if the dependency has to be executable. Đ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 một 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;
default = NoneWhether File targets are allowed. 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
|
default = None Tương tự như allow_files, với hạn chế là nhãn phải tương ứng với một Tệp duy nhất. Truy cập thông qua ctx.file.<attribute_name>.
|
mandatory
|
default = False Nếu là true, 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 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 các danh sách nhà cung cấp – các đối tượng |
allow_rules
|
sequence of strings; or None;
default = NoneNhững mục tiêu của quy tắc (tên của các lớp) được cho phép. Chính sách này không được dùng nữa (chỉ giữ lại để tương thích), hãy sử dụng các nhà cung cấp. |
cfg
|
default = None Configuration of the attribute. Đó 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 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, còn execution platform là Linux, macOS hoặc Windows. Tham số này là bắt buộc nếu executable là True để tránh vô tình tạo các công cụ lưu trữ trong cấu hình đích. "target" không có hiệu ứng ngữ nghĩa, vì vậy, đừng đặt giá trị này khi executable là False, trừ phi giá trị này thực sự giúp làm rõ ý định của bạn.
|
aspects
|
sequence of Aspects;
default = []Các khía cạnh cần áp dụng cho (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 một giản đồ cho một thuộc tính chứa từ điển, trong đó các khoá là nhãn và các giá trị là chuỗi. Đây là một thuộc tính phụ thuộc.
Thuộc tính này chứa các giá trị riêng biệt của Label. 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 liên quan đến gói của mục tiêu được khởi tạo.
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, các nhãn sẽ được thay thế bằng Target tương ứng. Điều này cho phép bạn truy cập vào các nhà cung cấp của các phần phụ thuộc của mục tiêu hiện tại.
Thông số
| Tham số | Mô tả |
|---|---|
allow_empty
|
default = True True nếu thuộc tính có thể trống. |
default
|
dict; or function;
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 đưa ra khi khởi tạo quy tắc.Sử dụng các chuỗi hoặc hàm Label để chỉ định giá trị mặc định, ví dụ: attr.label_keyed_string_dict(default = {"//a:b": "value", "//a:c": "string"}).
|
doc
|
default = '' Nội dung mô tả về thuộc tính mà các công cụ tạo tài liệu có thể trích xuất. |
allow_files
|
bool; or sequence of strings; or None;
default = NoneWhether File targets are allowed. 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;
default = NoneNhững mục tiêu của quy tắc (tên của các lớp) được cho phép. Chính sách này không được dùng nữa (chỉ giữ lại để tương thích), hãy sử dụng các nhà cung cấp. |
providers
|
default = [] Các 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 các danh sách nhà cung cấp – các đối tượng |
flags
|
sequence of strings;
default = []Không dùng nữa, sẽ bị xoá. |
mandatory
|
default = False Nếu là true, bạn phải chỉ định giá trị một cách rõ ràng (ngay cả khi giá trị đó có default).
|
cfg
|
default = None Configuration of the attribute. Đó 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 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, còn execution platform là Linux, macOS hoặc Windows.
|
aspects
|
sequence of Aspects;
default = []Các khía cạnh cần áp dụng cho (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 một giản đồ cho thuộc tính danh sách nhãn. Đây là một thuộc tính phụ thuộc.
Thuộc tính này chứa các giá trị riêng biệt của Label. 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 liên quan đến gói của mục tiêu được khởi tạo.
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, các nhãn sẽ được thay thế bằng Target tương ứng. Điều này cho phép bạn truy cập vào các nhà cung cấp của các phần phụ thuộc của mục tiêu hiện tại.
Thông số
| Tham số | Mô tả |
|---|---|
allow_empty
|
default = True True nếu thuộc tính có thể trống. |
default
|
sequence of Labels; or function;
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 khi khởi tạo quy tắc.Sử dụng các chuỗi hoặc hàm Label để chỉ định giá trị mặc định, ví dụ: attr.label_list(default = ["//a:b", "//a:c"]).
|
doc
|
default = '' Nội dung mô tả về thuộc tính mà các công cụ tạo tài liệu có thể trích xuất. |
allow_files
|
bool; or sequence of strings; or None;
default = NoneWhether File targets are allowed. 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;
default = NoneNhững mục tiêu của quy tắc (tên của các lớp) được cho phép. Chính sách này không được dùng nữa (chỉ giữ lại để tương thích), hãy sử dụng các nhà cung cấp. |
providers
|
default = [] Các 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 các danh sách nhà cung cấp – các đối tượng |
flags
|
sequence of strings;
default = []Không dùng nữa, sẽ bị xoá. |
mandatory
|
default = False Nếu là true, bạn phải chỉ định giá trị một cách rõ ràng (ngay cả khi giá trị đó có default).
|
cfg
|
default = None Configuration of the attribute. Đó 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 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, còn execution platform là Linux, macOS hoặc Windows.
|
aspects
|
sequence of Aspects;
default = []Các khía cạnh cần áp dụng cho (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 một giản đồ cho thuộc tính đầu ra (nhãn).
Thuộc tính này chứa các giá trị riêng biệt của Label. 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 liên quan đến gói của mục tiêu được khởi tạo.
Tại thời điểm phân tích, bạn có thể truy xuất File tương ứng bằng cách sử dụng ctx.outputs.
Thông số
| Tham số | Mô tả |
|---|---|
doc
|
default = '' Nội dung mô tả về thuộc tính mà các công cụ tạo tài liệu có thể trích xuất. |
mandatory
|
default = False Nếu là true, 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)
Thuộc tính này chứa các giá trị riêng biệt của Label. 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 liên quan đến gói của mục tiêu được khởi tạo.
Tại thời điểm phân tích, bạn có thể truy xuất File tương ứng bằng cách sử dụng ctx.outputs.
Thông số
| Tham số | Mô tả |
|---|---|
allow_empty
|
default = True True nếu thuộc tính có thể trống. |
doc
|
default = '' Nội dung mô tả về thuộc tính mà các công cụ tạo tài liệu có thể trích xuất. |
mandatory
|
default = False Nếu là true, bạn phải chỉ định giá trị một cách rõ ràng (ngay cả khi giá trị đó có default).
|
chuỗi
Attribute attr.string(default='', doc='', mandatory=False, values=[])
Thông số
| Tham số | Mô tả |
|---|---|
default
|
string; or NativeComputedDefault;
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 đưa ra khi khởi tạo quy tắc. |
doc
|
default = '' Nội dung mô tả về thuộc tính mà các công cụ tạo tài liệu có thể trích xuất. |
mandatory
|
default = False Nếu là true, 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 cho thuộc tính. Hệ thống sẽ báo lỗi 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)
Thông số
| Tham số | Mô tả |
|---|---|
allow_empty
|
default = True True 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 đưa ra khi tạo thực thể cho quy tắc. |
doc
|
default = '' Nội dung mô tả về thuộc tính mà các công cụ tạo tài liệu có thể trích xuất. |
mandatory
|
default = False Nếu là true, 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='')
Thông số
| Tham số | Mô tả |
|---|---|
mandatory
|
default = False Nếu là true, 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 thuộc tính có thể trống. |
default
|
sequence of strings; or NativeComputedDefault;
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 khi khởi tạo quy tắc. |
doc
|
default = '' Nội dung mô tả về thuộc tính mà các công cụ tạo tài liệu có thể trích xuất. |
string_list_dict
Attribute attr.string_list_dict(allow_empty=True, *, default={}, doc='', mandatory=False)
Thông số
| Tham số | Mô tả |
|---|---|
allow_empty
|
default = True True 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 đưa ra khi tạo thực thể cho quy tắc. |
doc
|
default = '' Nội dung mô tả về thuộc tính mà các công cụ tạo tài liệu có thể trích xuất. |
mandatory
|
default = False Nếu là true, bạn phải chỉ định giá trị một cách rõ ràng (ngay cả khi giá trị đó có default).
|