Apache Ant引數處理器


Ant引數處理器(Argument Processor)是一個命令列處理器外掛。 它用於在解解構建檔案之前或之後呼叫第三方外掛。

第三方引數也可能具有修改Ant行為的自定義命令列引數。

每當Ant處理一個引數時,它就會呼叫它。 Ant的引數總是優先於ArgumentProcessor引數。

可以在流程的任何時刻和不同的階段呼叫它,以便在每個階段執行各種行為。它可以在每個引數傳遞之後呼叫,就在組態專案之前和之後也是如此。

Ant提供了一個ArgumentProcessor介面,它位於org.apache.tools.ant包中。 它包含下面給出的各種方法。

Ant ArgumentProcessor方法

方法 描述
boolean handleArg(java.util.List<java.lang.String> args) 僅在解析完所有引數後才執行。
int readArguments(java.lang.String[] args, int pos) 它從指定位置的命令列讀取引數。
void prepareConfigure(Project project,java.util.List<java.lang.String> args) 在組態專案之前呼叫此方法。
boolean handleArg(Project project, java.util.List<java.lang.String> arg) 在組態專案之後,它使用readArguments(String [],int)處理引數。
void printUsage(java.io.PrintStream writer) 它列印支援的引數的用法。

要註冊自己的ArgumentProcessor,它需要幾個步驟,如下所示。

實現ArgumentProcessor

首先,它必須實現位於org.apache.ant.ArgumentProcessor中的ArgumentProcessor介面。

宣告

要宣告ArgumentProcessor,請建立一個檔案META-INF/services/org.apache.tools.ant.ArgumentProcessor,它只包含一行,即實現類的完全限定名。

類路徑

應該在Ant的類路徑中找到實現ArgumentProcessor的檔案以及將它們一起宣告的檔案。