attrs ของ rule(), aspect(), repository_rule() และ tag_class() ดูข้อมูลเพิ่มเติมเกี่ยวกับการกำหนด และการใช้แอตทริบิวต์ได้ที่หน้ากฎ
สมาชิก
- bool
 - int
 - int_list
 - ป้ายกำกับ
 - label_keyed_string_dict
 - label_list
 - output
 - output_list
 - สตริง
 - string_dict
 - string_keyed_label_dict
 - string_list
 - string_list_dict
 
บูลีน
Attribute attr.bool(*, configurable=unbound, default=False, doc=None, mandatory=False)
ctx.attr ที่เกี่ยวข้องจะเป็นประเภท bool
                  
      พารามิเตอร์
| พารามิเตอร์ | คำอธิบาย | 
|---|---|
              configurable
             | 
            
                          bool หรือ unbound
                                     ค่าเริ่มต้นคือ unboundระบุอาร์กิวเมนต์นี้ได้เฉพาะแอตทริบิวต์ของมาโครสัญลักษณ์เท่านั้น หากตั้งค่า  สำหรับแอตทริบิวต์ของกฎหรือลักษณะ   | 
          
              default
             | 
            
                          bool;
                                     ค่าเริ่มต้นคือ Falseค่าเริ่มต้นที่จะใช้หากไม่มีการระบุค่าสำหรับแอตทริบิวต์นี้เมื่อสร้างอินสแตนซ์ของกฎ  | 
          
              doc
             | 
            
                          สตริง หรือ None
                                     ค่าเริ่มต้นคือ Noneคำอธิบายของแอตทริบิวต์ที่เครื่องมือสร้างเอกสารสามารถดึงข้อมูลได้  | 
          
              mandatory
             | 
            
                          bool;
                                     ค่าเริ่มต้นคือ Falseหากเป็นจริง จะต้องระบุค่าอย่างชัดเจน (แม้ว่าจะมี default ก็ตาม)
             | 
          
int
Attribute attr.int(*, configurable=unbound, default=0, doc=None, mandatory=False, values=[])
ctx.attr ที่เกี่ยวข้องจะเป็นประเภท int
                  
      พารามิเตอร์
| พารามิเตอร์ | คำอธิบาย | 
|---|---|
              configurable
             | 
            
                          bool หรือ unbound
                                     ค่าเริ่มต้นคือ unboundระบุอาร์กิวเมนต์นี้ได้เฉพาะแอตทริบิวต์ของมาโครสัญลักษณ์เท่านั้น หากตั้งค่า  สำหรับแอตทริบิวต์ของกฎหรือลักษณะ   | 
          
              default
             | 
            
                          int;
                                     ค่าเริ่มต้นคือ 0ค่าเริ่มต้นที่จะใช้หากไม่มีการระบุค่าสำหรับแอตทริบิวต์นี้เมื่อสร้างอินสแตนซ์ของกฎ  | 
          
              doc
             | 
            
                          สตริง หรือ None
                                     ค่าเริ่มต้นคือ Noneคำอธิบายของแอตทริบิวต์ที่เครื่องมือสร้างเอกสารสามารถดึงข้อมูลได้  | 
          
              mandatory
             | 
            
                          bool;
                                     ค่าเริ่มต้นคือ Falseหากเป็นจริง จะต้องระบุค่าอย่างชัดเจน (แม้ว่าจะมี default ก็ตาม)
             | 
          
              values
             | 
            
                          ลำดับของ ints;
                                     ค่าเริ่มต้นคือ []รายการค่าที่อนุญาตสำหรับแอตทริบิวต์ ระบบจะแสดงข้อผิดพลาดหากระบุค่าอื่น  | 
          
int_list
Attribute attr.int_list(mandatory=False, allow_empty=True, *, configurable=unbound, default=[], doc=None)
พารามิเตอร์
| พารามิเตอร์ | คำอธิบาย | 
|---|---|
              mandatory
             | 
            
                          bool;
                                     ค่าเริ่มต้นคือ Falseหากเป็นจริง จะต้องระบุค่าอย่างชัดเจน (แม้ว่าจะมี default ก็ตาม)
             | 
          
              allow_empty
             | 
            
                          bool;
                                     ค่าเริ่มต้นคือ TrueTrue หากแอตทริบิวต์ว่างได้  | 
          
              configurable
             | 
            
                          bool หรือ unbound
                                     ค่าเริ่มต้นคือ unboundระบุอาร์กิวเมนต์นี้ได้เฉพาะแอตทริบิวต์ของมาโครสัญลักษณ์เท่านั้น หากตั้งค่า  สำหรับแอตทริบิวต์ของกฎหรือลักษณะ   | 
          
              default
             | 
            
                          ลำดับของ int
                                     ค่าเริ่มต้นคือ []ค่าเริ่มต้นที่จะใช้หากไม่มีการระบุมูลค่าสำหรับแอตทริบิวต์นี้เมื่อสร้างอินสแตนซ์ของกฎ  | 
          
              doc
             | 
            
                          สตริง หรือ None
                                     ค่าเริ่มต้นคือ Noneคำอธิบายของแอตทริบิวต์ที่เครื่องมือสร้างเอกสารสามารถดึงข้อมูลได้  | 
          
ป้ายกำกับ
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=[])
สร้างสคีมาสำหรับแอตทริบิวต์ป้ายกำกับ นี่คือแอตทริบิวต์การอ้างอิง
แอตทริบิวต์นี้มีค่า Label ที่ไม่ซ้ำกัน หากมีการระบุสตริงแทน Label ระบบจะแปลงสตริงโดยใช้ตัวสร้างป้ายกำกับ ระบบจะแก้ไขส่วนที่เกี่ยวข้องของเส้นทางป้ายกำกับ รวมถึงที่เก็บ (ซึ่งอาจมีการเปลี่ยนชื่อ) โดยอิงตามแพ็กเกจของเป้าหมายที่สร้างอินสแตนซ์
ในเวลาที่วิเคราะห์ (ภายในฟังก์ชันการใช้งานของกฎ) เมื่อดึงค่าแอตทริบิวต์จาก ctx.attr ระบบจะแทนที่ป้ายกำกับด้วย Target ที่เกี่ยวข้อง ซึ่งจะช่วยให้คุณเข้าถึงผู้ให้บริการของทรัพยากร Dependency ของเป้าหมายปัจจุบันได้
นอกจากไฟล์ต้นฉบับทั่วไปแล้ว แอตทริบิวต์ประเภทนี้มักใช้เพื่ออ้างอิงถึงเครื่องมือ เช่น คอมไพเลอร์ เครื่องมือดังกล่าวถือเป็นทรัพยากร Dependency เช่นเดียวกับไฟล์ต้นฉบับ หากไม่ต้องการให้ผู้ใช้ระบุป้ายกำกับของเครื่องมือทุกครั้งที่ใช้กฎในไฟล์ BUILD คุณสามารถฮาร์ดโค้ดป้ายกำกับของเครื่องมือ Canonical เป็นค่า default ของแอตทริบิวต์นี้ได้ หากต้องการป้องกันไม่ให้ผู้ใช้ลบล้างค่าเริ่มต้นนี้ คุณสามารถทําให้แอตทริบิวต์เป็นแบบส่วนตัวได้โดยตั้งชื่อให้ขึ้นต้นด้วยขีดล่าง ดูข้อมูลเพิ่มเติมได้ที่หน้ากฎ
                  
      
พารามิเตอร์
| พารามิเตอร์ | คำอธิบาย | 
|---|---|
              configurable
             | 
            
                          bool หรือ unbound
                                     ค่าเริ่มต้นคือ unboundระบุอาร์กิวเมนต์นี้ได้เฉพาะแอตทริบิวต์ของมาโครสัญลักษณ์เท่านั้น หากตั้งค่า  สำหรับแอตทริบิวต์ของกฎหรือลักษณะ   | 
          
              default
             | 
            
                          Label หรือ string หรือ LateBoundDefault หรือ NativeComputedDefault หรือ function หรือ None
                                     ค่าเริ่มต้นคือ Noneค่าเริ่มต้นที่จะใช้หากไม่มีค่าสำหรับแอตทริบิวต์นี้เมื่อสร้างอินสแตนซ์ของกฎ ให้ใช้สตริงหรือฟังก์ชัน Label เพื่อระบุค่าเริ่มต้น เช่น attr.label(default = "//a:b")
             | 
          
              materializer
             | 
            
                          function;
                                     ค่าเริ่มต้นคือ Noneเวอร์ชันทดลอง พารามิเตอร์นี้ยังอยู่ในขั้นทดลองและอาจมีการเปลี่ยนแปลงได้ทุกเมื่อ โปรดอย่าใช้ API นี้ ระบบอาจเปิดใช้ในระดับทดลองโดยการตั้งค่า --experimental_dormant_deps หากตั้งค่าไว้ แอตทริบิวต์จะทำให้การอ้างอิงที่ไม่ได้ใช้งานปรากฏขึ้นจากการปิดทรานซิทีฟ ค่าของพารามิเตอร์นี้ต้องเป็นฟังก์ชันที่เข้าถึงค่าของแอตทริบิวต์ของกฎที่ไม่ได้เป็น Dependency หรือทำเครื่องหมายว่าพร้อมสำหรับการแก้ปัญหา Dependency โดยจะต้องแสดงผลการอ้างอิงที่ไม่ได้ใช้งานหรือรายการของการอ้างอิงที่ไม่ได้ใช้งาน ทั้งนี้ขึ้นอยู่กับประเภทของแอตทริบิวต์  | 
          
              doc
             | 
            
                          สตริง หรือ None
                                     ค่าเริ่มต้นคือ Noneคำอธิบายของแอตทริบิวต์ที่เครื่องมือสร้างเอกสารสามารถดึงข้อมูลได้  | 
          
              executable
             | 
            
                          bool;
                                     ค่าเริ่มต้นคือ FalseTrue หากต้องเรียกใช้การขึ้นต่อกัน ซึ่งหมายความว่าป้ายกำกับต้องอ้างอิงถึงไฟล์ที่เรียกใช้งานได้ หรือกฎที่สร้างไฟล์ที่เรียกใช้งานได้ เข้าถึงป้ายกำกับด้วย ctx.executable.<attribute_name>
             | 
          
              allow_files
             | 
            
                          bool หรือ sequence ของ string หรือ None
                                     ค่าเริ่มต้นคือ Noneอนุญาตให้ใช้เป้าหมาย File หรือไม่ อาจเป็น True, False (ค่าเริ่มต้น) หรือรายการนามสกุลไฟล์ที่อนุญาต (เช่น [".cc", ".cpp"])
             | 
          
              allow_single_file
             | 
            
                                     ค่าเริ่มต้นคือ Noneซึ่งคล้ายกับ allow_files โดยมีข้อจำกัดว่าป้ายกำกับต้องสอดคล้องกับ File เดียว เข้าถึงได้ผ่าน ctx.file.<attribute_name>
             | 
          
              mandatory
             | 
            
                          bool;
                                     ค่าเริ่มต้นคือ Falseหากเป็นจริง จะต้องระบุค่าอย่างชัดเจน (แม้ว่าจะมี default ก็ตาม)
             | 
          
              skip_validations
             | 
            
                          bool;
                                     ค่าเริ่มต้นคือ Falseหากเป็นจริง ระบบจะไม่เรียกใช้การดำเนินการตรวจสอบของการอ้างอิงแบบทรานซิทีฟจากแอตทริบิวต์นี้ นี่เป็นการลดผลกระทบชั่วคราวและจะถูกนำออกในอนาคต  | 
          
              providers
             | 
            
                          sequence;
                                     ค่าเริ่มต้นคือ []ผู้ให้บริการที่ต้องระบุโดยการอ้างอิงใดๆ ที่ปรากฏในแอตทริบิวต์นี้ รูปแบบของอาร์กิวเมนต์นี้คือลิสต์ของลิสต์ของผู้ให้บริการ ซึ่งเป็นออบเจ็กต์   | 
          
              for_dependency_resolution
             | 
            
                                     ค่าเริ่มต้นคือ unboundหากตั้งค่านี้ไว้ แอตทริบิวต์จะพร้อมใช้งานสำหรับผู้สร้างโมเดล เฉพาะกฎที่ทำเครื่องหมายด้วยธงที่มีชื่อเดียวกันเท่านั้นที่จะอ้างอิงผ่านแอตทริบิวต์ดังกล่าวได้  | 
          
              allow_rules
             | 
            
                          ลำดับของสตริง หรือ None
                                     ค่าเริ่มต้นคือ Noneอนุญาตให้ใช้กฎใด (ชื่อของคลาส) โดยการตั้งค่านี้เลิกใช้งานแล้ว (เก็บไว้เพื่อความเข้ากันได้เท่านั้น) โปรดใช้ผู้ให้บริการแทน  | 
          
              cfg
             | 
            
                                     ค่าเริ่มต้นคือ Noneการกำหนดค่าของแอตทริบิวต์ โดยอาจเป็น "exec" ซึ่งระบุว่าสร้างการอ้างอิงสำหรับ execution platform หรือ "target" ซึ่งระบุว่าสร้างการอ้างอิงสำหรับ target platform ตัวอย่างทั่วไปของความแตกต่างนี้คือเมื่อสร้างแอปบนอุปกรณ์เคลื่อนที่ ซึ่ง target platform คือ Android หรือ iOS ในขณะที่ execution platform คือ Linux, macOS หรือ Windows ต้องระบุพารามิเตอร์นี้หาก executable เป็น True เพื่อป้องกันการสร้างเครื่องมือโฮสต์ในการกำหนดค่าเป้าหมายโดยไม่ตั้งใจ "target" ไม่มีผลทางความหมาย ดังนั้นอย่าตั้งค่าเมื่อ executable เป็น False เว้นแต่จะช่วยชี้แจงเจตนาของคุณได้จริงๆ
             | 
          
              aspects
             | 
            
                          ลำดับของ Aspect
                                     ค่าเริ่มต้นคือ []Aspect ที่ควรใช้กับทรัพยากร Dependency หรือทรัพยากร Dependency ที่ระบุโดยแอตทริบิวต์นี้  | 
          
              flags
             | 
            
                          ลำดับของสตริง
                                     ค่าเริ่มต้นคือ []เลิกใช้งานแล้วและจะถูกนำออก  | 
          
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, skip_validations=False, cfg=None, aspects=[])
สร้างสคีมาสำหรับแอตทริบิวต์ที่มีพจนานุกรม โดยคีย์คือป้ายกำกับและค่าคือสตริง นี่คือแอตทริบิวต์การอ้างอิง
แอตทริบิวต์นี้มีค่า Label ที่ไม่ซ้ำกัน หากมีการระบุสตริงแทน Label ระบบจะแปลงสตริงโดยใช้ตัวสร้างป้ายกำกับ ระบบจะแก้ไขส่วนที่เกี่ยวข้องของเส้นทางป้ายกำกับ รวมถึงที่เก็บ (ซึ่งอาจมีการเปลี่ยนชื่อ) โดยอิงตามแพ็กเกจของเป้าหมายที่สร้างอินสแตนซ์
ในเวลาที่วิเคราะห์ (ภายในฟังก์ชันการใช้งานของกฎ) เมื่อดึงค่าแอตทริบิวต์จาก ctx.attr ระบบจะแทนที่ป้ายกำกับด้วย Target ที่เกี่ยวข้อง ซึ่งจะช่วยให้คุณเข้าถึงผู้ให้บริการของทรัพยากร Dependency ของเป้าหมายปัจจุบันได้
                  
      
พารามิเตอร์
| พารามิเตอร์ | คำอธิบาย | 
|---|---|
              allow_empty
             | 
            
                          bool;
                                     ค่าเริ่มต้นคือ TrueTrue หากแอตทริบิวต์ว่างได้  | 
          
              configurable
             | 
            
                          bool หรือ unbound
                                     ค่าเริ่มต้นคือ unboundระบุอาร์กิวเมนต์นี้ได้เฉพาะแอตทริบิวต์ของมาโครสัญลักษณ์เท่านั้น หากตั้งค่า  สำหรับแอตทริบิวต์ของกฎหรือลักษณะ   | 
          
              default
             | 
            
                          dict หรือ function
                                     ค่าเริ่มต้นคือ {}ค่าเริ่มต้นที่จะใช้หากไม่มีค่าสำหรับแอตทริบิวต์นี้เมื่อสร้างอินสแตนซ์ของกฎ ใช้สตริงหรือฟังก์ชัน Label เพื่อระบุค่าเริ่มต้น เช่น attr.label_keyed_string_dict(default = {"//a:b": "value", "//a:c": "string"})
             | 
          
              doc
             | 
            
                          สตริง หรือ None
                                     ค่าเริ่มต้นคือ Noneคำอธิบายของแอตทริบิวต์ที่เครื่องมือสร้างเอกสารสามารถดึงข้อมูลได้  | 
          
              allow_files
             | 
            
                          bool หรือ sequence ของ string หรือ None
                                     ค่าเริ่มต้นคือ Noneอนุญาตให้ใช้เป้าหมาย File หรือไม่ อาจเป็น True, False (ค่าเริ่มต้น) หรือรายการนามสกุลไฟล์ที่อนุญาต (เช่น [".cc", ".cpp"])
             | 
          
              allow_rules
             | 
            
                          ลำดับของสตริง หรือ None
                                     ค่าเริ่มต้นคือ Noneอนุญาตให้ใช้กฎใด (ชื่อของคลาส) โดยการตั้งค่านี้เลิกใช้งานแล้ว (เก็บไว้เพื่อความเข้ากันได้เท่านั้น) โปรดใช้ผู้ให้บริการแทน  | 
          
              providers
             | 
            
                          sequence;
                                     ค่าเริ่มต้นคือ []ผู้ให้บริการที่ต้องระบุโดยการอ้างอิงใดๆ ที่ปรากฏในแอตทริบิวต์นี้ รูปแบบของอาร์กิวเมนต์นี้คือลิสต์ของลิสต์ของผู้ให้บริการ ซึ่งเป็นออบเจ็กต์   | 
          
              for_dependency_resolution
             | 
            
                                     ค่าเริ่มต้นคือ unboundหากตั้งค่านี้ไว้ แอตทริบิวต์จะพร้อมใช้งานสำหรับผู้สร้างโมเดล เฉพาะกฎที่ทำเครื่องหมายด้วยธงที่มีชื่อเดียวกันเท่านั้นที่จะอ้างอิงผ่านแอตทริบิวต์ดังกล่าวได้  | 
          
              flags
             | 
            
                          ลำดับของสตริง
                                     ค่าเริ่มต้นคือ []เลิกใช้งานแล้วและจะถูกนำออก  | 
          
              mandatory
             | 
            
                          bool;
                                     ค่าเริ่มต้นคือ Falseหากเป็นจริง จะต้องระบุค่าอย่างชัดเจน (แม้ว่าจะมี default ก็ตาม)
             | 
          
              skip_validations
             | 
            
                          bool;
                                     ค่าเริ่มต้นคือ Falseหากเป็นจริง ระบบจะไม่เรียกใช้การดำเนินการตรวจสอบของการอ้างอิงแบบทรานซิทีฟจากแอตทริบิวต์นี้ นี่เป็นการลดผลกระทบชั่วคราวและจะถูกนำออกในอนาคต  | 
          
              cfg
             | 
            
                                     ค่าเริ่มต้นคือ Noneการกำหนดค่าของแอตทริบิวต์ โดยอาจเป็น "exec" ซึ่งระบุว่าสร้างการอ้างอิงสำหรับ execution platform หรือ "target" ซึ่งระบุว่าสร้างการอ้างอิงสำหรับ target platform ตัวอย่างทั่วไปของความแตกต่างนี้คือเมื่อสร้างแอปบนอุปกรณ์เคลื่อนที่ ซึ่ง target platform คือ Android หรือ iOS ในขณะที่ execution platform คือ Linux, macOS หรือ Windows
             | 
          
              aspects
             | 
            
                          ลำดับของ Aspect
                                     ค่าเริ่มต้นคือ []Aspect ที่ควรใช้กับทรัพยากร Dependency หรือทรัพยากร Dependency ที่ระบุโดยแอตทริบิวต์นี้  | 
          
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=[])
สร้างสคีมาสำหรับแอตทริบิวต์รายการป้ายกำกับ นี่คือแอตทริบิวต์การอ้างอิง แอตทริบิวต์ ctx.attr ที่เกี่ยวข้องจะเป็นประเภทlist ของ Targets
แอตทริบิวต์นี้มีค่า Label ที่ไม่ซ้ำกัน หากมีการระบุสตริงแทน Label ระบบจะแปลงสตริงโดยใช้ตัวสร้างป้ายกำกับ ระบบจะแก้ไขส่วนที่เกี่ยวข้องของเส้นทางป้ายกำกับ รวมถึงที่เก็บ (ซึ่งอาจมีการเปลี่ยนชื่อ) โดยอิงตามแพ็กเกจของเป้าหมายที่สร้างอินสแตนซ์
ในเวลาที่วิเคราะห์ (ภายในฟังก์ชันการใช้งานของกฎ) เมื่อดึงค่าแอตทริบิวต์จาก ctx.attr ระบบจะแทนที่ป้ายกำกับด้วย Target ที่เกี่ยวข้อง ซึ่งจะช่วยให้คุณเข้าถึงผู้ให้บริการของทรัพยากร Dependency ของเป้าหมายปัจจุบันได้
                  
      
พารามิเตอร์
| พารามิเตอร์ | คำอธิบาย | 
|---|---|
              allow_empty
             | 
            
                          bool;
                                     ค่าเริ่มต้นคือ TrueTrue หากแอตทริบิวต์ว่างได้  | 
          
              configurable
             | 
            
                          bool หรือ unbound
                                     ค่าเริ่มต้นคือ unboundระบุอาร์กิวเมนต์นี้ได้เฉพาะแอตทริบิวต์ของมาโครสัญลักษณ์เท่านั้น หากตั้งค่า  สำหรับแอตทริบิวต์ของกฎหรือลักษณะ   | 
          
              default
             | 
            
                          ลำดับของ Label หรือ function
                                     ค่าเริ่มต้นคือ []ค่าเริ่มต้นที่จะใช้หากไม่มีค่าสำหรับแอตทริบิวต์นี้เมื่อสร้างอินสแตนซ์ของกฎ ให้ใช้สตริงหรือฟังก์ชัน Label เพื่อระบุค่าเริ่มต้น เช่น attr.label_list(default = ["//a:b", "//a:c"])
             | 
          
              materializer
             | 
            
                          function;
                                     ค่าเริ่มต้นคือ Noneเวอร์ชันทดลอง พารามิเตอร์นี้ยังอยู่ในขั้นทดลองและอาจมีการเปลี่ยนแปลงได้ทุกเมื่อ โปรดอย่าใช้ API นี้ ระบบอาจเปิดใช้ในระดับทดลองโดยการตั้งค่า --experimental_dormant_deps หากตั้งค่าไว้ แอตทริบิวต์จะทำให้การอ้างอิงที่ไม่ได้ใช้งานปรากฏขึ้นจากการปิดทรานซิทีฟ ค่าของพารามิเตอร์นี้ต้องเป็นฟังก์ชันที่เข้าถึงค่าของแอตทริบิวต์ของกฎที่ไม่ได้เป็น Dependency หรือทำเครื่องหมายว่าพร้อมสำหรับการแก้ปัญหา Dependency โดยจะต้องแสดงผลการอ้างอิงที่ไม่ได้ใช้งานหรือรายการของการอ้างอิงที่ไม่ได้ใช้งาน ทั้งนี้ขึ้นอยู่กับประเภทของแอตทริบิวต์  | 
          
              doc
             | 
            
                          สตริง หรือ None
                                     ค่าเริ่มต้นคือ Noneคำอธิบายของแอตทริบิวต์ที่เครื่องมือสร้างเอกสารสามารถดึงข้อมูลได้  | 
          
              allow_files
             | 
            
                          bool หรือ sequence ของ string หรือ None
                                     ค่าเริ่มต้นคือ Noneอนุญาตให้ใช้เป้าหมาย File หรือไม่ อาจเป็น True, False (ค่าเริ่มต้น) หรือรายการนามสกุลไฟล์ที่อนุญาต (เช่น [".cc", ".cpp"])
             | 
          
              allow_rules
             | 
            
                          ลำดับของสตริง หรือ None
                                     ค่าเริ่มต้นคือ Noneอนุญาตให้ใช้กฎใด (ชื่อของคลาส) โดยการตั้งค่านี้เลิกใช้งานแล้ว (เก็บไว้เพื่อความเข้ากันได้เท่านั้น) โปรดใช้ผู้ให้บริการแทน  | 
          
              providers
             | 
            
                          sequence;
                                     ค่าเริ่มต้นคือ []ผู้ให้บริการที่ต้องระบุโดยการอ้างอิงใดๆ ที่ปรากฏในแอตทริบิวต์นี้ รูปแบบของอาร์กิวเมนต์นี้คือลิสต์ของลิสต์ของผู้ให้บริการ ซึ่งเป็นออบเจ็กต์   | 
          
              for_dependency_resolution
             | 
            
                                     ค่าเริ่มต้นคือ unboundหากตั้งค่านี้ไว้ แอตทริบิวต์จะพร้อมใช้งานสำหรับผู้สร้างโมเดล เฉพาะกฎที่ทำเครื่องหมายด้วยธงที่มีชื่อเดียวกันเท่านั้นที่จะอ้างอิงผ่านแอตทริบิวต์ดังกล่าวได้  | 
          
              flags
             | 
            
                          ลำดับของสตริง
                                     ค่าเริ่มต้นคือ []เลิกใช้งานแล้วและจะถูกนำออก  | 
          
              mandatory
             | 
            
                          bool;
                                     ค่าเริ่มต้นคือ Falseหากเป็นจริง จะต้องระบุค่าอย่างชัดเจน (แม้ว่าจะมี default ก็ตาม)
             | 
          
              skip_validations
             | 
            
                          bool;
                                     ค่าเริ่มต้นคือ Falseหากเป็นจริง ระบบจะไม่เรียกใช้การดำเนินการตรวจสอบของการอ้างอิงแบบทรานซิทีฟจากแอตทริบิวต์นี้ นี่เป็นการลดผลกระทบชั่วคราวและจะถูกนำออกในอนาคต  | 
          
              cfg
             | 
            
                                     ค่าเริ่มต้นคือ Noneการกำหนดค่าของแอตทริบิวต์ โดยอาจเป็น "exec" ซึ่งระบุว่าสร้างการอ้างอิงสำหรับ execution platform หรือ "target" ซึ่งระบุว่าสร้างการอ้างอิงสำหรับ target platform ตัวอย่างทั่วไปของความแตกต่างนี้คือเมื่อสร้างแอปบนอุปกรณ์เคลื่อนที่ ซึ่ง target platform คือ Android หรือ iOS ในขณะที่ execution platform คือ Linux, macOS หรือ Windows
             | 
          
              aspects
             | 
            
                          ลำดับของ Aspect
                                     ค่าเริ่มต้นคือ []Aspect ที่ควรใช้กับทรัพยากร Dependency หรือทรัพยากร Dependency ที่ระบุโดยแอตทริบิวต์นี้  | 
          
เอาต์พุต
Attribute attr.output(*, doc=None, mandatory=False)
สร้างสคีมาสำหรับแอตทริบิวต์เอาต์พุต (ป้ายกำกับ)
แอตทริบิวต์นี้มีค่า Label ที่ไม่ซ้ำกัน หากมีการระบุสตริงแทน Label ระบบจะแปลงสตริงโดยใช้ตัวสร้างป้ายกำกับ ระบบจะแก้ไขส่วนที่เกี่ยวข้องของเส้นทางป้ายกำกับ รวมถึงที่เก็บ (ซึ่งอาจมีการเปลี่ยนชื่อ) โดยอิงตามแพ็กเกจของเป้าหมายที่สร้างอินสแตนซ์
เมื่อถึงเวลาวิเคราะห์ คุณจะเรียกข้อมูล File ที่เกี่ยวข้องได้โดยใช้ ctx.outputs
                  
      
พารามิเตอร์
| พารามิเตอร์ | คำอธิบาย | 
|---|---|
              doc
             | 
            
                          สตริง หรือ None
                                     ค่าเริ่มต้นคือ Noneคำอธิบายของแอตทริบิวต์ที่เครื่องมือสร้างเอกสารสามารถดึงข้อมูลได้  | 
          
              mandatory
             | 
            
                          bool;
                                     ค่าเริ่มต้นคือ Falseหากเป็นจริง จะต้องระบุค่าอย่างชัดเจน (แม้ว่าจะมี default ก็ตาม)
             | 
          
output_list
Attribute attr.output_list(allow_empty=True, *, doc=None, mandatory=False)
แอตทริบิวต์นี้มีค่า Label ที่ไม่ซ้ำกัน หากมีการระบุสตริงแทน Label ระบบจะแปลงสตริงโดยใช้ตัวสร้างป้ายกำกับ ระบบจะแก้ไขส่วนที่เกี่ยวข้องของเส้นทางป้ายกำกับ รวมถึงที่เก็บ (ซึ่งอาจมีการเปลี่ยนชื่อ) โดยอิงตามแพ็กเกจของเป้าหมายที่สร้างอินสแตนซ์
เมื่อถึงเวลาวิเคราะห์ คุณจะเรียกข้อมูล File ที่เกี่ยวข้องได้โดยใช้ ctx.outputs
                  
      
พารามิเตอร์
| พารามิเตอร์ | คำอธิบาย | 
|---|---|
              allow_empty
             | 
            
                          bool;
                                     ค่าเริ่มต้นคือ TrueTrue หากแอตทริบิวต์ว่างได้  | 
          
              doc
             | 
            
                          สตริง หรือ None
                                     ค่าเริ่มต้นคือ Noneคำอธิบายของแอตทริบิวต์ที่เครื่องมือสร้างเอกสารสามารถดึงข้อมูลได้  | 
          
              mandatory
             | 
            
                          bool;
                                     ค่าเริ่มต้นคือ Falseหากเป็นจริง จะต้องระบุค่าอย่างชัดเจน (แม้ว่าจะมี default ก็ตาม)
             | 
          
สตริง
Attribute attr.string(*, configurable=unbound, default='', doc=None, mandatory=False, values=[])
พารามิเตอร์
| พารามิเตอร์ | คำอธิบาย | 
|---|---|
              configurable
             | 
            
                          bool หรือ unbound
                                     ค่าเริ่มต้นคือ unboundระบุอาร์กิวเมนต์นี้ได้เฉพาะแอตทริบิวต์ของมาโครสัญลักษณ์เท่านั้น หากตั้งค่า  สำหรับแอตทริบิวต์ของกฎหรือลักษณะ   | 
          
              default
             | 
            
                          string หรือ NativeComputedDefault
                                     ค่าเริ่มต้นคือ ''ค่าเริ่มต้นที่จะใช้หากไม่มีค่าสำหรับแอตทริบิวต์นี้เมื่อสร้างอินสแตนซ์ของกฎ  | 
          
              doc
             | 
            
                          สตริง หรือ None
                                     ค่าเริ่มต้นคือ Noneคำอธิบายของแอตทริบิวต์ที่เครื่องมือสร้างเอกสารสามารถดึงข้อมูลได้  | 
          
              mandatory
             | 
            
                          bool;
                                     ค่าเริ่มต้นคือ Falseหากเป็นจริง จะต้องระบุค่าอย่างชัดเจน (แม้ว่าจะมี default ก็ตาม)
             | 
          
              values
             | 
            
                          ลำดับของสตริง
                                     ค่าเริ่มต้นคือ []รายการค่าที่อนุญาตสำหรับแอตทริบิวต์ ระบบจะแสดงข้อผิดพลาดหากระบุค่าอื่น  | 
          
string_dict
Attribute attr.string_dict(allow_empty=True, *, configurable=unbound, default={}, doc=None, mandatory=False)
พารามิเตอร์
| พารามิเตอร์ | คำอธิบาย | 
|---|---|
              allow_empty
             | 
            
                          bool;
                                     ค่าเริ่มต้นคือ TrueTrue หากแอตทริบิวต์ว่างได้  | 
          
              configurable
             | 
            
                          bool หรือ unbound
                                     ค่าเริ่มต้นคือ unboundระบุอาร์กิวเมนต์นี้ได้เฉพาะแอตทริบิวต์ของมาโครสัญลักษณ์เท่านั้น หากตั้งค่า  สำหรับแอตทริบิวต์ของกฎหรือลักษณะ   | 
          
              default
             | 
            
                          dict;
                                     ค่าเริ่มต้นคือ {}ค่าเริ่มต้นที่จะใช้หากไม่มีค่าสำหรับแอตทริบิวต์นี้เมื่อสร้างอินสแตนซ์ของกฎ  | 
          
              doc
             | 
            
                          สตริง หรือ None
                                     ค่าเริ่มต้นคือ Noneคำอธิบายของแอตทริบิวต์ที่เครื่องมือสร้างเอกสารสามารถดึงข้อมูลได้  | 
          
              mandatory
             | 
            
                          bool;
                                     ค่าเริ่มต้นคือ Falseหากเป็นจริง จะต้องระบุค่าอย่างชัดเจน (แม้ว่าจะมี 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=[])
สร้างสคีมาสำหรับแอตทริบิวต์ที่มีค่าเป็นพจนานุกรม โดยคีย์เป็นสตริงและค่าเป็นป้ายกำกับ นี่คือแอตทริบิวต์การอ้างอิง
แอตทริบิวต์นี้มีค่า Label ที่ไม่ซ้ำกัน หากมีการระบุสตริงแทน Label ระบบจะแปลงสตริงโดยใช้ตัวสร้างป้ายกำกับ ระบบจะแก้ไขส่วนที่เกี่ยวข้องของเส้นทางป้ายกำกับ รวมถึงที่เก็บ (ซึ่งอาจมีการเปลี่ยนชื่อ) โดยอิงตามแพ็กเกจของเป้าหมายที่สร้างอินสแตนซ์
ในเวลาที่วิเคราะห์ (ภายในฟังก์ชันการใช้งานของกฎ) เมื่อดึงค่าแอตทริบิวต์จาก ctx.attr ระบบจะแทนที่ป้ายกำกับด้วย Target ที่เกี่ยวข้อง ซึ่งจะช่วยให้คุณเข้าถึงผู้ให้บริการของทรัพยากร Dependency ของเป้าหมายปัจจุบันได้
                  
      
พารามิเตอร์
| พารามิเตอร์ | คำอธิบาย | 
|---|---|
              allow_empty
             | 
            
                          bool;
                                     ค่าเริ่มต้นคือ TrueTrue หากแอตทริบิวต์ว่างได้  | 
          
              configurable
             | 
            
                          bool หรือ unbound
                                     ค่าเริ่มต้นคือ unboundระบุอาร์กิวเมนต์นี้ได้เฉพาะแอตทริบิวต์ของมาโครสัญลักษณ์เท่านั้น หากตั้งค่า  สำหรับแอตทริบิวต์ของกฎหรือลักษณะ   | 
          
              default
             | 
            
                          dict หรือ function
                                     ค่าเริ่มต้นคือ {}ค่าเริ่มต้นที่จะใช้หากไม่มีค่าสำหรับแอตทริบิวต์นี้เมื่อสร้างอินสแตนซ์ของกฎ ใช้สตริงหรือฟังก์ชัน Label เพื่อระบุค่าเริ่มต้น เช่น attr.string_keyed_label_dict(default = {"foo": "//a:b", "bar": "//a:c"})
             | 
          
              doc
             | 
            
                          สตริง หรือ None
                                     ค่าเริ่มต้นคือ Noneคำอธิบายของแอตทริบิวต์ที่เครื่องมือสร้างเอกสารสามารถดึงข้อมูลได้  | 
          
              allow_files
             | 
            
                          bool หรือ sequence ของ string หรือ None
                                     ค่าเริ่มต้นคือ Noneอนุญาตให้ใช้เป้าหมาย File หรือไม่ อาจเป็น True, False (ค่าเริ่มต้น) หรือรายการนามสกุลไฟล์ที่อนุญาต (เช่น [".cc", ".cpp"])
             | 
          
              allow_rules
             | 
            
                          ลำดับของสตริง หรือ None
                                     ค่าเริ่มต้นคือ Noneอนุญาตให้ใช้กฎใด (ชื่อของคลาส) โดยการตั้งค่านี้เลิกใช้งานแล้ว (เก็บไว้เพื่อความเข้ากันได้เท่านั้น) โปรดใช้ผู้ให้บริการแทน  | 
          
              providers
             | 
            
                          sequence;
                                     ค่าเริ่มต้นคือ []ผู้ให้บริการที่ต้องระบุโดยการอ้างอิงใดๆ ที่ปรากฏในแอตทริบิวต์นี้ รูปแบบของอาร์กิวเมนต์นี้คือลิสต์ของลิสต์ของผู้ให้บริการ ซึ่งเป็นออบเจ็กต์   | 
          
              for_dependency_resolution
             | 
            
                                     ค่าเริ่มต้นคือ unboundหากตั้งค่านี้ไว้ แอตทริบิวต์จะพร้อมใช้งานสำหรับผู้สร้างโมเดล เฉพาะกฎที่ทำเครื่องหมายด้วยธงที่มีชื่อเดียวกันเท่านั้นที่จะอ้างอิงผ่านแอตทริบิวต์ดังกล่าวได้  | 
          
              flags
             | 
            
                          ลำดับของสตริง
                                     ค่าเริ่มต้นคือ []เลิกใช้งานแล้วและจะถูกนำออก  | 
          
              mandatory
             | 
            
                          bool;
                                     ค่าเริ่มต้นคือ Falseหากเป็นจริง จะต้องระบุค่าอย่างชัดเจน (แม้ว่าจะมี default ก็ตาม)
             | 
          
              cfg
             | 
            
                                     ค่าเริ่มต้นคือ Noneการกำหนดค่าของแอตทริบิวต์ โดยอาจเป็น "exec" ซึ่งระบุว่าสร้างการอ้างอิงสำหรับ execution platform หรือ "target" ซึ่งระบุว่าสร้างการอ้างอิงสำหรับ target platform ตัวอย่างทั่วไปของความแตกต่างนี้คือเมื่อสร้างแอปบนอุปกรณ์เคลื่อนที่ ซึ่ง target platform คือ Android หรือ iOS ในขณะที่ execution platform คือ Linux, macOS หรือ Windows
             | 
          
              aspects
             | 
            
                          ลำดับของ Aspect
                                     ค่าเริ่มต้นคือ []Aspect ที่ควรใช้กับทรัพยากร Dependency หรือทรัพยากร Dependency ที่ระบุโดยแอตทริบิวต์นี้  | 
          
string_list
Attribute attr.string_list(mandatory=False, allow_empty=True, *, configurable=unbound, default=[], doc=None)
พารามิเตอร์
| พารามิเตอร์ | คำอธิบาย | 
|---|---|
              mandatory
             | 
            
                          bool;
                                     ค่าเริ่มต้นคือ Falseหากเป็นจริง จะต้องระบุค่าอย่างชัดเจน (แม้ว่าจะมี default ก็ตาม)
             | 
          
              allow_empty
             | 
            
                          bool;
                                     ค่าเริ่มต้นคือ TrueTrue หากแอตทริบิวต์ว่างได้  | 
          
              configurable
             | 
            
                          bool หรือ unbound
                                     ค่าเริ่มต้นคือ unboundระบุอาร์กิวเมนต์นี้ได้เฉพาะแอตทริบิวต์ของมาโครสัญลักษณ์เท่านั้น หากตั้งค่า  สำหรับแอตทริบิวต์ของกฎหรือลักษณะ   | 
          
              default
             | 
            
                          ลำดับของสตริง หรือ NativeComputedDefault
                                     ค่าเริ่มต้นคือ []ค่าเริ่มต้นที่จะใช้หากไม่มีค่าสำหรับแอตทริบิวต์นี้เมื่อสร้างอินสแตนซ์ของกฎ  | 
          
              doc
             | 
            
                          สตริง หรือ None
                                     ค่าเริ่มต้นคือ Noneคำอธิบายของแอตทริบิวต์ที่เครื่องมือสร้างเอกสารสามารถดึงข้อมูลได้  | 
          
string_list_dict
Attribute attr.string_list_dict(allow_empty=True, *, configurable=unbound, default={}, doc=None, mandatory=False)
พารามิเตอร์
| พารามิเตอร์ | คำอธิบาย | 
|---|---|
              allow_empty
             | 
            
                          bool;
                                     ค่าเริ่มต้นคือ TrueTrue หากแอตทริบิวต์ว่างได้  | 
          
              configurable
             | 
            
                          bool หรือ unbound
                                     ค่าเริ่มต้นคือ unboundระบุอาร์กิวเมนต์นี้ได้เฉพาะแอตทริบิวต์ของมาโครสัญลักษณ์เท่านั้น หากตั้งค่า  สำหรับแอตทริบิวต์ของกฎหรือลักษณะ   | 
          
              default
             | 
            
                          dict;
                                     ค่าเริ่มต้นคือ {}ค่าเริ่มต้นที่จะใช้หากไม่มีค่าสำหรับแอตทริบิวต์นี้เมื่อสร้างอินสแตนซ์ของกฎ  | 
          
              doc
             | 
            
                          สตริง หรือ None
                                     ค่าเริ่มต้นคือ Noneคำอธิบายของแอตทริบิวต์ที่เครื่องมือสร้างเอกสารสามารถดึงข้อมูลได้  | 
          
              mandatory
             | 
            
                          bool;
                                     ค่าเริ่มต้นคือ Falseหากเป็นจริง จะต้องระบุค่าอย่างชัดเจน (แม้ว่าจะมี default ก็ตาม)
             |