命令列處理器外掛程式:ArgumentProcessor

什麼是 ArgumentProcessor?

ArgumentProcessor 是命令列引數的剖析器,它會在建置檔剖析之前和之後呼叫。第三方程式庫可以使用自訂的引數列引數,修改 Ant 的行為。

每次 Ant 剖析未知引數時,就會呼叫 ArgumentProcessorArgumentProcessor 沒有優先權可以剖析 Ant 已支援的選項。因此,建議第三方 ArgumentProcessor 實作選擇「足夠」的特定引數名稱,例如避免使用單一字母的引數。

它也會在不同的階段呼叫,因此可以實作不同的行為。它會在剖析完所有引數後、專案設定之前(剖析建置檔時)和設定後呼叫。有些方法實作會傳回布林值:如果傳回 true,Ant 會立即終止,不會產生錯誤。

ArgumentProcessor 會在所有這些階段呼叫,它可以只印出一些特定的系統屬性然後結束(例如 -diagnose),或印出專案在剖析後的一些特定屬性然後結束(例如 -projectHelp),或只在專案上設定一些自訂屬性然後讓它執行。

如何註冊自己的 ArgumentProcessor

首先,ArgumentProcessor 必須是 org.apache.tools.ant.ArgumentProcessor 的實作。

然後宣告它:建立一個檔案 META-INF/services/org.apache.tools.ant.ArgumentProcessor,其中只包含一行實作類別的完整限定名稱。這個檔案和實作類別需要在 Ant 的類別路徑中找到。