กฎ
การดําเนินการ_มีรายชื่อ
ดูแหล่งที่มาของกฎ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)
คําเตือน: เราเลิกใช้งานการดําเนินการเพิ่มเติมแล้ว โปรดใช้มุมมองแทน
กฎ 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)", )
อาร์กิวเมนต์
แอตทริบิวต์ | |
---|---|
name |
ชื่อที่ไม่ซ้ํากันสําหรับเป้าหมายนี้ |
extra_actions
|
extra_action นี้ action_listener ควรเพิ่มลงในกราฟบิวด์
เช่น [ "//my/tools:analyzer" ]
|
mnemonics
|
action_listener นี้ควรฟัง เช่น [ "Javac" ]
จีโนมไม่ใช่อินเทอร์เฟซสาธารณะ ไม่มีการรับประกันว่าการจําและการกระทําจะไม่เปลี่ยนแปลง |
การกระทําเพิ่มเติม
ดูแหล่งที่มาของกฎ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)
คําเตือน: เราเลิกใช้งานการดําเนินการเพิ่มเติมแล้ว โปรดใช้มุมมองแทน
กฎ extra_action
จะไม่สร้างเอาต์พุตที่มีความหมายใดๆ เมื่อระบุเป็นเป้าหมายการสร้างตามปกติ แต่จะช่วยให้นักพัฒนาซอฟต์แวร์แทรกการกระทําเพิ่มเติมลงในกราฟบิวด์ ซึ่งเงาการดําเนินการที่มีอยู่
ดูรายละเอียดเกี่ยวกับวิธีเปิดใช้ extra_action
ได้ที่ action_listener
extra_action
จะทํางานเป็นบรรทัดคําสั่ง เครื่องมือบรรทัดคําสั่งจะเข้าถึงไฟล์ที่มีบัฟเฟอร์โปรโตคอลเป็น $(Extra_ACTION_FILE) พร้อมด้วยข้อมูลโดยละเอียดเกี่ยวกับการทํางานดั้งเดิมที่เงา
นอกจากนี้ยังมีสิทธิ์เข้าถึงไฟล์อินพุตทั้งหมดที่การดําเนินการต้นฉบับเข้าถึงได้
ดูรายละเอียดเกี่ยวกับข้อมูลที่จัดเก็บไว้ในบัฟเฟอร์โปรโตคอลได้ที่ extra_actions_base.proto ไฟล์ต้นแบบแต่ละไฟล์มีข้อความ ExtraActionInfo
การดําเนินการเพิ่มเติมจะอยู่ในแซนด์บ็อกซ์เช่นเดียวกับการดําเนินการอื่นๆ และควรออกแบบมาเพื่อจัดการดังกล่าว
อาร์กิวเมนต์
แอตทริบิวต์ | |
---|---|
name |
ชื่อที่ไม่ซ้ํากันสําหรับเป้าหมายนี้ คุณอาจอ้างอิงกฎนี้ตามlabel ในอาร์กิวเมนต์ extra_actions ของกฎ action_listener
|
cmd
|
เช่นเดียวกับแอตทริบิวต์ Genrule cmd ที่มีความแตกต่างดังนี้
|
out_templates
|
extra_action
เทมเพลตใช้ตัวแปรต่อไปนี้ได้
|
requires_action_output
|
extra_action นี้ต้องมีเอาต์พุตของการดําเนินการต้นฉบับเป็นอินพุตใน extra_action นี้
เมื่อเป็น "จริง" (ค่าเริ่มต้นที่เป็นเท็จ)Extra_action จะสันนิษฐานว่าเอาต์พุตการกระทําเดิมพร้อมใช้งานเป็นส่วนหนึ่งของอินพุต |
tools
|
tool สําหรับกฎนี้
ดูข้อมูลเพิ่มเติมในคําจํากัดความของทรัพยากร Dependency
ระบบการสร้างบิลด์จะตรวจสอบว่ามีข้อกําหนดเบื้องต้นเหล่านี้ก่อนเรียกใช้คําสั่ง เครื่องมือทั้งหมดและทรัพยากร Dependency ของข้อมูลจะรวมกันเป็นโครงสร้างเดียวภายในคําสั่งที่คุณใช้เส้นทางที่เกี่ยวข้องได้ ไดเรกทอรีการทํางานจะเป็นรากของแผนผังแบบรวมนั้น |