Apache Ant参数处理器

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的文件以及将它们一起声明的文件。