動作

回報問題 查看原始碼 Nightly · 7.4 . 7.3 · 7.2 · 7.1 · 7.0 · 6.5

在規則分析期間建立的動作。

這個物件可供測試,可從 Actions 供應器取得。一般來說,您不需要在規則的實作函式中存取 Action 物件或其欄位。您可以改為瀏覽規則頁面,瞭解在定義自訂規則時使用動作的一般討論,或是用於建立動作的 API 參考資料

這個物件的部分欄位僅適用於特定類型的動作。不適用的欄位會設為 None

成員

args

sequence Action.args

已凍結的 Args 物件清單,其中包含動作引數的相關資訊。這些物件含有準確的引數資訊,包括涉及展開動作輸出目錄的引數。不過,Args 物件無法在分析階段讀取。如需分析階段中可用引數的準確度偏低,請參閱 argv

請注意,某些類型的動作尚不支援公開這個欄位。針對這類動作類型,此屬性為 None。可能會傳回 None

argv

sequence Action.argv

針對由 ctx.actions.run()ctx.actions.run_shell() 建立的動作,這是指令列要執行的引數不變清單。請注意,對於殼層動作,前兩個引數會是殼層路徑和 "-c"。可能會傳回 None

內容

string Action.content

如果是透過 ctx.actions.write()ctx.actions.expand_template() 建立的動作,則為要寫入的檔案內容 (如果這些內容可以在分析階段計算)。如果無法在執行階段決定內容 (例如需要展開 Args 物件中的目錄),值為 None。可能會傳回 None

env

dict Action.env

這項操作的「固定」環境變數。這項作業只會納入由動作定義明確設定的環境設定,因此會略過僅在執行環境中預先設定的設定。

輸入

depset Action.inputs

這項操作的一組輸入檔案。

助憶鍵

string Action.mnemonic

此動作的助憶法。

輸出

depset Action.outputs

此動作的輸出檔案組合。

substitutions

dict Action.substitutions

如果是透過 ctx.actions.expand_template() 建立的動作,則為一個不可變動的字典,其中包含替換對應項目。可能會傳回 None