กฎ
action_listener
ดูแหล่งที่มาของกฎaction_listener(name, compatible_with, deprecation, distribs, exec_compatible_with, exec_properties, extra_actions, features, licenses, mnemonics, restricted_to, tags, target_compatible_with, testonly, visibility)
คำเตือน: ระบบเลิกใช้การดำเนินการเพิ่มเติมแล้ว โปรดใช้ aspects แทน
  action_listener กฎไม่ได้สร้างเอาต์พุตใดๆ ด้วยตัวเอง
  แต่จะช่วยให้นักพัฒนาเครื่องมือสามารถแทรก
  extra_action ลงในระบบบิลด์
  โดยการระบุการแมประหว่างการดำเนินการกับ extra_action
  
  อาร์กิวเมนต์ของกฎนี้จะเชื่อมโยงตัวช่วยจำการดำเนินการกับกฎ extra_action
  การระบุตัวเลือก 
  --experimental_action_listener=<label>
  จะทำให้บิลด์ใช้ action_listener ที่ระบุเพื่อแทรก
  extra_action ลงในกราฟบิลด์
ตัวอย่าง
action_listener(
    name = "index_all_languages",
    mnemonics = [
        "Javac",
        "CppCompile",
        "Python",
    ],
    extra_actions = [":indexer"],
)
action_listener(
    name = "index_java",
    mnemonics = ["Javac"],
    extra_actions = [":indexer"],
)
extra_action(
    name = "indexer",
    tools = ["//my/tools:indexer"],
    cmd = "$(location //my/tools:indexer)" +
          "--extra_action_file=$(EXTRA_ACTION_FILE)",
)
อาร์กิวเมนต์
| Attributes | |
|---|---|
name | 
        
           ชื่อ (ต้องระบุ) ชื่อที่ไม่ซ้ำกันสำหรับเป้าหมายนี้  | 
      
          extra_actions
         | 
        
                     รายการป้ายกำกับ (ต้องระบุ) รายการextra_action เป้าหมาย
        ที่action_listener ควรเพิ่มลงในกราฟการสร้าง
        เช่น [ "//my/tools:analyzer" ]
         | 
      
          mnemonics
         | 
        
                     รายการสตริง (ต้องระบุ) รายการคำช่วยจำของการดำเนินการที่action_listener ควรรับฟัง
        เช่น [ "Javac" ]
        โดยที่มnemonic ไม่ใช่อินเทอร์เฟซสาธารณะ แต่ไม่มีการรับประกันว่าคำช่วยจำและการดำเนินการของคำช่วยจำจะไม่เปลี่ยนแปลง  | 
      
extra_action
ดูแหล่งที่มาของกฎextra_action(name, data, cmd, compatible_with, deprecation, distribs, exec_compatible_with, exec_properties, features, licenses, out_templates, requires_action_output, restricted_to, tags, target_compatible_with, testonly, toolchains, tools, visibility)
คำเตือน: ระบบเลิกใช้การดำเนินการเพิ่มเติมแล้ว โปรดใช้ aspects แทน
  extra_action กฎไม่สร้างเอาต์พุตที่มีความหมายใดๆ
  เมื่อระบุเป็นเป้าหมายการสร้างปกติ แต่จะช่วยให้นักพัฒนาเครื่องมือ
  สามารถแทรกการดำเนินการเพิ่มเติมลงในกราฟการสร้างที่ซ่อนการดำเนินการที่มีอยู่ได้
  ดูรายละเอียดเกี่ยวกับวิธีเปิดใช้ extra_action ได้ที่ action_listener
  extra_action จะทำงานเป็นบรรทัดคำสั่ง เครื่องมือบรรทัดคำสั่งจะได้รับ
  สิทธิ์เข้าถึงไฟล์ที่มี Protocol Buffer เป็น $(EXTRA_ACTION_FILE)
  พร้อมข้อมูลโดยละเอียดเกี่ยวกับการดำเนินการเดิมที่กำลังจำลอง
  นอกจากนี้ ยังมีสิทธิ์เข้าถึงไฟล์อินพุตทั้งหมดที่การดำเนินการเดิมมีสิทธิ์เข้าถึงด้วย
  ดูรายละเอียดเกี่ยวกับข้อมูลที่จัดเก็บไว้ในบัฟเฟอร์โปรโตคอลได้ที่ extra_actions_base.proto
 ไฟล์ Proto แต่ละไฟล์
  มีข้อความ ExtraActionInfo
การดำเนินการเพิ่มเติมจะอยู่ในแซนด์บ็อกซ์เช่นเดียวกับการดำเนินการอื่นๆ ทั้งหมด และควรได้รับการออกแบบมาเพื่อจัดการกับแซนด์บ็อกซ์
อาร์กิวเมนต์
| Attributes | |
|---|---|
name | 
        
           ชื่อ (ต้องระบุ) ชื่อที่ไม่ซ้ำกันสำหรับเป้าหมายนี้ คุณอาจอ้างอิงกฎนี้โดยใช้label ในอาร์กิวเมนต์ extra_actions
    ของกฎ  action_listener
         | 
      
          cmd
         | 
        
                     สตริง; ต้องระบุ คำสั่งที่จะเรียกใช้เช่น genrule cmd attribute โดยมี ความแตกต่างดังนี้ 
  | 
      
          out_templates
         | 
        
                     รายการสตริง ค่าเริ่มต้นคือ  extra_action
        เทมเพลตสามารถใช้ตัวแปรต่อไปนี้ 
  | 
      
          requires_action_output
         | 
        
                     บูลีน ค่าเริ่มต้นคือ  extra_action นี้กำหนดให้ต้องมีเอาต์พุตของ
        การดำเนินการเดิมเป็นอินพุตของ extra_action นี้
        เมื่อเป็นจริง (ค่าเริ่มต้นเป็นเท็จ) extra_action จะถือว่าเอาต์พุตของการดำเนินการเดิมพร้อมใช้งานเป็นส่วนหนึ่งของอินพุต  | 
      
          tools
         | 
        
                     รายการป้ายกำกับ ค่าเริ่มต้นคือ  toolสำหรับกฎนี้
        ดูข้อมูลเพิ่มเติมได้ที่คำจำกัดความของการอ้างอิง 
          ระบบบิลด์จะตรวจสอบว่ามีการสร้างข้อกำหนดเบื้องต้นเหล่านี้ก่อนที่จะเรียกใช้คำสั่ง  เครื่องมือทั้งหมดและการอ้างอิงข้อมูลจะรวมกันเป็นโครงสร้างเดียว ซึ่งคำสั่งจะใช้เส้นทางที่เกี่ยวข้องได้ โดยไดเรกทอรีการทำงานจะเป็นรูทของโครงสร้างแบบรวมนั้น  |