Đây là mô-đun cấp cao nhất để xác định giản đồ thuộc tính của một quy tắc hoặc khía cạnh. Mỗi hàm trả về một đối tượng đại diện cho giản đồ của một thuộc tính. Các đối tượng này được dùng làm giá trị của đối số từ điển attrs
của rule()
, aspect()
, repository_rule()
và tag_class()
.
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_keyed_label_dict
- string_list
- string_list_dict
bool
Attribute attr.bool(configurable=unbound, default=False, doc=None, mandatory=False)
ctx.attr
tương ứng sẽ thuộc loại bool
.
Tham số
Thông số | Mô tả |
---|---|
configurable
|
bool; hoặc không ràng buộc; giá trị mặc định là unbound Bạn chỉ có thể chỉ định đối số này cho một thuộc tính của macro tượng trưng. Nếu Đối với thuộc tính của một quy tắc hoặc khía cạnh, |
default
|
bool; giá trị mặc định là 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 được cung cấp khi tạo bản sao của quy tắc. |
doc
|
string; hoặc None ;
mặc định là None Nội dung mô tả 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
|
bool; giá trị mặc định là False Nếu đúng, giá trị phải được chỉ định rõ ràng (ngay cả khi có default ).
|
int
Attribute attr.int(configurable=unbound, default=0, doc=None, mandatory=False, values=[])
ctx.attr
tương ứng sẽ thuộc loại int
.
Tham số
Thông số | Mô tả |
---|---|
configurable
|
bool; hoặc không ràng buộc; giá trị mặc định là unbound Bạn chỉ có thể chỉ định đối số này cho một thuộc tính của macro tượng trưng. Nếu Đối với thuộc tính của một quy tắc hoặc khía cạnh, |
default
|
int; giá trị mặc định là 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 bản sao của quy tắc. |
doc
|
string; hoặc None ;
mặc định là None Nội dung mô tả 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
|
bool; giá trị mặc định là False Nếu đúng, giá trị phải được chỉ định rõ ràng (ngay cả khi có default ).
|
values
|
trình tự của int; giá trị mặc định là [] 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, *, configurable=unbound, default=[], doc=None)
Tham số
Thông số | Mô tả |
---|---|
mandatory
|
bool; giá trị mặc định là False Nếu đúng, giá trị phải được chỉ định rõ ràng (ngay cả khi có default ).
|
allow_empty
|
bool; giá trị mặc định là True Đúng nếu thuộc tính có thể để trống. |
configurable
|
bool; hoặc không ràng buộc; giá trị mặc định là unbound Bạn chỉ có thể chỉ định đối số này cho một thuộc tính của macro tượng trưng. Nếu Đối với thuộc tính của một quy tắc hoặc khía cạnh, |
default
|
trình tự của int; giá trị mặc định là [] . 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 bản sao của quy tắc. |
doc
|
string; hoặc None ;
mặc định là None Nội dung mô tả 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(configurable=unbound, default=None, materializer=None, doc=None, executable=False, allow_files=None, allow_single_file=None, mandatory=False, skip_validations=False, providers=[], for_dependency_resolution=unbound, allow_rules=None, cfg=None, aspects=[], flags=[])
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
riêng biệt. Nếu bạn cung cấp một chuỗi thay vì 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ể được đổi tên), được phân giải liên quan đến gói của mục tiêu được tạo bản sao.
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 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. Các công cụ như vậy được coi là phần phụ thuộc, giống 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ã hoá cứng nhãn của một công cụ chuẩn hoá dưới dạng 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.
Tham số
Thông số | Mô tả |
---|---|
configurable
|
bool; hoặc không ràng buộc; giá trị mặc định là unbound Bạn chỉ có thể chỉ định đối số này cho một thuộc tính của macro tượng trưng. Nếu Đối với thuộc tính của một quy tắc hoặc khía cạnh, |
default
|
Label; hoặc string; hoặc LateBoundDefault; hoặc NativeComputedDefault; hoặc function; hoặc None ;
mặc định là None 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 bản sao của 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") .
|
materializer
|
hàm;
mặc định là None Thử nghiệm. Tham 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 khô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_dormant_deps Nếu được đặt, thuộc tính này sẽ hiện thực hoá các phần phụ thuộc không hoạt động từ phép đóng bắc cầu. Giá trị của tham số này phải là một hàm có quyền truy cập vào các giá trị của các thuộc tính của quy tắc không phải là phần phụ thuộc hoặc được đánh dấu là có sẵn để phân giải phần phụ thuộc. Phương thức này phải trả về một phần phụ thuộc không hoạt động hoặc danh sách các phần phụ thuộc không hoạt động, tuỳ thuộc vào loại thuộc tính |
doc
|
string; hoặc None ;
mặc định là None Nội dung mô tả 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
|
bool;
mặc định là False Đú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 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; hoặc trình tự của chuỗi; hoặc None ;
mặc định là None Liệu có cho phép mục tiêu File 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 là None Điều này tương tự như allow_files , với quy định hạn chế là nhãn phải tương ứng với một Tệp. Truy cập vào thông tin này thông qua ctx.file.<attribute_name> .
|
mandatory
|
bool; giá trị mặc định là False Nếu đúng, giá trị phải được chỉ định rõ ràng (ngay cả khi có default ).
|
skip_validations
|
bool; giá trị mặc định là False Nếu đúng, các hành động xác thực của phần phụ thuộc bắc cầu từ thuộc tính này sẽ không chạy. Đây là biện pháp giảm thiểu tạm thời và SẼ bị xoá trong tương lai. |
providers
|
trình tự; giá trị mặc định là [] Các trình cung cấp phải được cung cấp bởi bất kỳ phần phụ thuộc nào 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 – đối tượng |
for_dependency_resolution
|
mặc định là unbound Nếu bạn đặt thuộc tính này, thì thuộc tính này sẽ có sẵn cho các trình tạo Material. Chỉ những quy tắc được đánh dấu bằng cờ cùng tên mới được tham chiếu thông qua các thuộc tính như vậy. |
allow_rules
|
trình tự của chuỗi; hoặc None ;
mặc định là None Các mục tiêu quy tắc (tên của các lớp) được cho phép. Phương thức 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), hãy sử dụng trình cung cấp. |
cfg
|
mặc định là None Cấu hình của thuộc tính. Giá trị này 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 là khi xây dựng ứ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 để 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 lực ngữ nghĩa, vì vậy, đừng đặt thuộc tính này khi executable là False, trừ phi thuộc tính này thực sự giúp làm rõ ý định của bạn.
|
aspects
|
trình tự của Aspect; giá trị mặc định là [] . Các khía cạnh cần được á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. |
flags
|
trình tự của chuỗi;
mặc định là [] Không dùng nữa, sẽ bị xoá. |
label_keyed_string_dict
Attribute attr.label_keyed_string_dict(allow_empty=True, *, configurable=unbound, default={}, doc=None, allow_files=None, allow_rules=None, providers=[], for_dependency_resolution=unbound, 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
riêng biệt. Nếu bạn cung cấp một chuỗi thay vì 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ể được đổi tên), được phân giải liên quan đến gói của mục tiêu được tạo bản sao.
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 phần phụ thuộc của mục tiêu hiện tại.
Tham số
Thông số | Mô tả |
---|---|
allow_empty
|
bool; giá trị mặc định là True Đúng nếu thuộc tính có thể để trống. |
configurable
|
bool; hoặc không ràng buộc; giá trị mặc định là unbound Bạn chỉ có thể chỉ định đối số này cho một thuộc tính của macro tượng trưng. Nếu Đối với thuộc tính của một quy tắc hoặc khía cạnh, |
default
|
dict; hoặc hàm; giá trị mặc định là {} 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 bản sao của quy tắc.Sử dụng 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
|
string; hoặc None ;
mặc định là None Nội dung mô tả 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; hoặc trình tự của chuỗi; hoặc None ;
mặc định là None Liệu có cho phép mục tiêu File 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
|
trình tự của chuỗi; hoặc None ;
mặc định là None Các mục tiêu quy tắc (tên của các lớp) được cho phép. Phương thức 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), hãy sử dụng trình cung cấp. |
providers
|
trình tự; giá trị mặc định là [] Các trình cung cấp phải được cung cấp bởi bất kỳ phần phụ thuộc nào 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 – đối tượng |
for_dependency_resolution
|
mặc định là unbound Nếu bạn đặt thuộc tính này, thì thuộc tính này sẽ có sẵn cho các trình tạo Material. Chỉ những quy tắc được đánh dấu bằng cờ cùng tên mới được tham chiếu thông qua các thuộc tính như vậy. |
flags
|
trình tự của chuỗi;
mặc định là [] Không dùng nữa, sẽ bị xoá. |
mandatory
|
bool; giá trị mặc định là False Nếu đúng, giá trị phải được chỉ định rõ ràng (ngay cả khi có default ).
|
cfg
|
mặc định là None Cấu hình của thuộc tính. Giá trị này 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 là khi xây dựng ứng dụng di động, trong đó target platform là Android hoặc iOS trong khi execution platform là Linux , macOS hoặc Windows .
|
aspects
|
trình tự của Aspect; giá trị mặc định là [] . Các khía cạnh cần được á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, *, configurable=unbound, default=[], materializer=None, doc=None, allow_files=None, allow_rules=None, providers=[], for_dependency_resolution=unbound, flags=[], mandatory=False, skip_validations=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 ctx.attr
tương ứng sẽ thuộc loại danh sách của Target
.
Thuộc tính này chứa các giá trị Label
riêng biệt. Nếu bạn cung cấp một chuỗi thay vì 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ể được đổi tên), được phân giải liên quan đến gói của mục tiêu được tạo bản sao.
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 phần phụ thuộc của mục tiêu hiện tại.
Tham số
Thông số | Mô tả |
---|---|
allow_empty
|
bool; giá trị mặc định là True Đúng nếu thuộc tính có thể để trống. |
configurable
|
bool; hoặc không ràng buộc; giá trị mặc định là unbound Bạn chỉ có thể chỉ định đối số này cho một thuộc tính của macro tượng trưng. Nếu Đối với thuộc tính của một quy tắc hoặc khía cạnh, |
default
|
trình tự của Nhãn; hoặc hàm; giá trị mặc định là [] 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 bản sao quy tắc.Sử dụng chuỗi hoặc hàm Label để chỉ định giá trị mặc định, ví dụ: attr.label_list(default = ["//a:b", "//a:c"]) .
|
materializer
|
hàm;
mặc định là None Thử nghiệm. Tham 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 khô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_dormant_deps Nếu được đặt, thuộc tính này sẽ hiện thực hoá các phần phụ thuộc không hoạt động từ phép đóng bắc cầu. Giá trị của tham số này phải là một hàm có quyền truy cập vào các giá trị của các thuộc tính của quy tắc không phải là phần phụ thuộc hoặc được đánh dấu là có sẵn để phân giải phần phụ thuộc. Phương thức này phải trả về một phần phụ thuộc không hoạt động hoặc danh sách các phần phụ thuộc không hoạt động, tuỳ thuộc vào loại thuộc tính |
doc
|
string; hoặc None ;
mặc định là None Nội dung mô tả 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; hoặc trình tự của chuỗi; hoặc None ;
mặc định là None Liệu có cho phép mục tiêu File 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
|
trình tự của chuỗi; hoặc None ;
mặc định là None Các mục tiêu quy tắc (tên của các lớp) được cho phép. Phương thức 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), hãy sử dụng trình cung cấp. |
providers
|
trình tự; giá trị mặc định là [] Các trình cung cấp phải được cung cấp bởi bất kỳ phần phụ thuộc nào 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 – đối tượng |
for_dependency_resolution
|
mặc định là unbound Nếu bạn đặt thuộc tính này, thì thuộc tính này sẽ có sẵn cho các trình tạo Material. Chỉ những quy tắc được đánh dấu bằng cờ cùng tên mới được tham chiếu thông qua các thuộc tính như vậy. |
flags
|
trình tự của chuỗi;
mặc định là [] Không dùng nữa, sẽ bị xoá. |
mandatory
|
bool; giá trị mặc định là False Nếu đúng, giá trị phải được chỉ định rõ ràng (ngay cả khi có default ).
|
skip_validations
|
bool; giá trị mặc định là False Nếu đúng, các hành động xác thực của phần phụ thuộc bắc cầu từ thuộc tính này sẽ không chạy. Đây là biện pháp giảm thiểu tạm thời và SẼ bị xoá trong tương lai. |
cfg
|
mặc định là None Cấu hình của thuộc tính. Giá trị này 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 là khi xây dựng ứng dụng di động, trong đó target platform là Android hoặc iOS trong khi execution platform là Linux , macOS hoặc Windows .
|
aspects
|
trình tự của Aspect; giá trị mặc định là [] . Các khía cạnh cần được á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=None, 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
riêng biệt. Nếu bạn cung cấp một chuỗi thay vì 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ể được đổi tên), được phân giải liên quan đến gói của mục tiêu được tạo bản sao.
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
.
Tham số
Thông số | Mô tả |
---|---|
doc
|
string; hoặc None ;
mặc định là None Nội dung mô tả 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
|
bool; giá trị mặc định là False Nếu đúng, giá trị phải được chỉ định rõ ràng (ngay cả khi có default ).
|
output_list
Attribute attr.output_list(allow_empty=True, *, doc=None, mandatory=False)
Thuộc tính này chứa các giá trị Label
riêng biệt. Nếu bạn cung cấp một chuỗi thay vì 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ể được đổi tên), được phân giải liên quan đến gói của mục tiêu được tạo bản sao.
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
.
Tham số
Thông số | Mô tả |
---|---|
allow_empty
|
bool; giá trị mặc định là True Đúng nếu thuộc tính có thể để trống. |
doc
|
string; hoặc None ;
mặc định là None Nội dung mô tả 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
|
bool; giá trị mặc định là False Nếu đúng, giá trị phải được chỉ định rõ ràng (ngay cả khi có default ).
|
chuỗi
Attribute attr.string(configurable=unbound, default='', doc=None, mandatory=False, values=[])
Tham số
Thông số | Mô tả |
---|---|
configurable
|
bool; hoặc không ràng buộc; giá trị mặc định là unbound Bạn chỉ có thể chỉ định đối số này cho một thuộc tính của macro tượng trưng. Nếu Đối với thuộc tính của một quy tắc hoặc khía cạnh, |
default
|
string; hoặc NativeComputedDefault; giá trị mặc định là '' 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 bản sao quy tắc. |
doc
|
string; hoặc None ;
mặc định là None Nội dung mô tả 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
|
bool; giá trị mặc định là False Nếu đúng, giá trị phải được chỉ định rõ ràng (ngay cả khi có default ).
|
values
|
trình tự của chuỗi; giá trị mặc định là [] 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, *, configurable=unbound, default={}, doc=None, mandatory=False)
Tham số
Thông số | Mô tả |
---|---|
allow_empty
|
bool; giá trị mặc định là True Đúng nếu thuộc tính có thể để trống. |
configurable
|
bool; hoặc không ràng buộc; giá trị mặc định là unbound Bạn chỉ có thể chỉ định đối số này cho một thuộc tính của macro tượng trưng. Nếu Đối với thuộc tính của một quy tắc hoặc khía cạnh, |
default
|
dict; giá trị mặc định là {} 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 bản sao của quy tắc. |
doc
|
string; hoặc None ;
mặc định là None Nội dung mô tả 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
|
bool; giá trị mặc định là False Nếu đúng, giá trị phải được chỉ định rõ ràng (ngay cả khi có default ).
|
string_keyed_label_dict
Attribute attr.string_keyed_label_dict(allow_empty=True, *, configurable=unbound, default={}, doc=None, allow_files=None, allow_rules=None, providers=[], for_dependency_resolution=unbound, flags=[], mandatory=False, cfg=None, aspects=[])
Tạo giản đồ cho một thuộc tính có giá trị là từ điển, trong đó khoá là chuỗi và giá trị là 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
riêng biệt. Nếu bạn cung cấp một chuỗi thay vì 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ể được đổi tên), được phân giải liên quan đến gói của mục tiêu được tạo bản sao.
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 phần phụ thuộc của mục tiêu hiện tại.
Tham số
Thông số | Mô tả |
---|---|
allow_empty
|
bool; giá trị mặc định là True Đúng nếu thuộc tính có thể để trống. |
configurable
|
bool; hoặc không ràng buộc; giá trị mặc định là unbound Bạn chỉ có thể chỉ định đối số này cho một thuộc tính của macro tượng trưng. Nếu Đối với thuộc tính của một quy tắc hoặc khía cạnh, |
default
|
dict; hoặc hàm; giá trị mặc định là {} 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 bản sao của quy tắc.Sử dụng chuỗi hoặc hàm Label để chỉ định giá trị mặc định, ví dụ: attr.string_keyed_label_dict(default = {"foo": "//a:b", "bar": "//a:c"}) .
|
doc
|
string; hoặc None ;
mặc định là None Nội dung mô tả 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; hoặc trình tự của chuỗi; hoặc None ;
mặc định là None Liệu có cho phép mục tiêu File 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
|
trình tự của chuỗi; hoặc None ;
mặc định là None Các mục tiêu quy tắc (tên của các lớp) được cho phép. Phương thức 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), hãy sử dụng trình cung cấp. |
providers
|
trình tự; giá trị mặc định là [] Các trình cung cấp phải được cung cấp bởi bất kỳ phần phụ thuộc nào 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 – đối tượng |
for_dependency_resolution
|
mặc định là unbound Nếu bạn đặt thuộc tính này, thì thuộc tính này sẽ có sẵn cho các trình tạo Material. Chỉ những quy tắc được đánh dấu bằng cờ cùng tên mới được tham chiếu thông qua các thuộc tính như vậy. |
flags
|
trình tự của chuỗi;
mặc định là [] Không dùng nữa, sẽ bị xoá. |
mandatory
|
bool; giá trị mặc định là False Nếu đúng, giá trị phải được chỉ định rõ ràng (ngay cả khi có default ).
|
cfg
|
mặc định là None Cấu hình của thuộc tính. Giá trị này 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 là khi xây dựng ứng dụng di động, trong đó target platform là Android hoặc iOS trong khi execution platform là Linux , macOS hoặc Windows .
|
aspects
|
trình tự của Aspect; giá trị mặc định là [] . Các khía cạnh cần được á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. |
string_list
Attribute attr.string_list(mandatory=False, allow_empty=True, *, configurable=unbound, default=[], doc=None)
Tham số
Thông số | Mô tả |
---|---|
mandatory
|
bool; giá trị mặc định là False Nếu đúng, giá trị phải được chỉ định rõ ràng (ngay cả khi có default ).
|
allow_empty
|
bool; giá trị mặc định là True Đúng nếu thuộc tính có thể để trống. |
configurable
|
bool; hoặc không ràng buộc; giá trị mặc định là unbound Bạn chỉ có thể chỉ định đối số này cho một thuộc tính của macro tượng trưng. Nếu Đối với thuộc tính của một quy tắc hoặc khía cạnh, |
default
|
trình tự của chuỗi; hoặc NativeComputedDefault; giá trị mặc định là [] 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 bản sao của quy tắc. |
doc
|
string; hoặc None ;
mặc định là None Nội dung mô tả 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, *, configurable=unbound, default={}, doc=None, mandatory=False)
Tham số
Thông số | Mô tả |
---|---|
allow_empty
|
bool; giá trị mặc định là True Đúng nếu thuộc tính có thể để trống. |
configurable
|
bool; hoặc không ràng buộc; giá trị mặc định là unbound Bạn chỉ có thể chỉ định đối số này cho một thuộc tính của macro tượng trưng. Nếu Đối với thuộc tính của một quy tắc hoặc khía cạnh, |
default
|
dict; giá trị mặc định là {} 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 bản sao của quy tắc. |
doc
|
string; hoặc None ;
mặc định là None Nội dung mô tả 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
|
bool; giá trị mặc định là False Nếu đúng, giá trị phải được chỉ định rõ ràng (ngay cả khi có default ).
|