Ant參數(shù)處理器(Argument Processor)是一個(gè)命令行處理器插件。 它用于在解析構(gòu)建文件之前或之后調(diào)用第三方插件。
第三方參數(shù)也可能具有修改Ant行為的自定義命令行參數(shù)。
每當(dāng)Ant處理一個(gè)參數(shù)時(shí),它就會(huì)調(diào)用它。 Ant的參數(shù)總是優(yōu)先于ArgumentProcessor參數(shù)。
可以在流程的任何時(shí)刻和不同的階段調(diào)用它,以便在每個(gè)階段執(zhí)行各種行為。它可以在每個(gè)參數(shù)傳遞之后調(diào)用,就在配置項(xiàng)目之前和之后也是如此。
Ant提供了一個(gè)ArgumentProcessor接口,它位于org.apache.tools.ant包中。 它包含下面給出的各種方法。
| 方法 | 描述 |
|---|---|
boolean handleArg(java.util.List<java.lang.String> args) |
僅在解析完所有參數(shù)后才執(zhí)行。 |
int readArguments(java.lang.String[] args, int pos) |
它從指定位置的命令行讀取參數(shù)。 |
void prepareConfigure(Project project,java.util.List<java.lang.String> args) |
在配置項(xiàng)目之前調(diào)用此方法。 |
boolean handleArg(Project project, java.util.List<java.lang.String> arg) |
在配置項(xiàng)目之后,它使用readArguments(String [],int)處理參數(shù)。 |
void printUsage(java.io.PrintStream writer) |
它打印支持的參數(shù)的用法。 |
要注冊(cè)自己的ArgumentProcessor,它需要幾個(gè)步驟,如下所示。
實(shí)現(xiàn)ArgumentProcessor
首先,它必須實(shí)現(xiàn)位于org.apache.ant.ArgumentProcessor中的ArgumentProcessor接口。
聲明
要聲明ArgumentProcessor,請(qǐng)創(chuàng)建一個(gè)文件META-INF/services/org.apache.tools.ant.ArgumentProcessor,它只包含一行,即實(shí)現(xiàn)類的完全限定名。
類路徑
應(yīng)該在Ant的類路徑中找到實(shí)現(xiàn)ArgumentProcessor的文件以及將它們一起聲明的文件。