自定义ANT任务:标记必需的属性/嵌套元素

时间:2013-03-05 17:18:52

标签: java ant

有没有办法为自定义ANT任务和类型标记必需和可选属性/嵌套元素?

我正在考虑像Spring IOC中的@Required注释。至少对于任务来说,在实际执行任务之前验证是否已经设置了所有必需属性应该相当容易。

提前致谢。

修改 我知道在execute()中手动验证属性并抛出BuildExceptions的可能性,但我认为基于注释进行自动验证会更方便。

2 个答案:

答案 0 :(得分:1)

目前,Ant没有提供“标记”属性进行验证的方法。您需要手动检查它们。

  

至少对于任务来说,在实际执行任务之前验证是否已经设置了所有必需属性应该相当容易。

没有。在Ant中,可以在运行期间生成许多属性 - 一个任务输出属性,另一个任务使用它。 <condition>任务以这种方式工作 - 您设置输出属性的名称,任务将设置值。

虽然某些工具/ IDE可以静态解析构建文件并警告您是否还有尚未设置的属性,但他们无法知道任务是否仅通过检查XML来输出属性。

答案 1 :(得分:0)

在自定义任务的execute()方法体中,您可以验证所需的属性。您可以抛出异常以报告验证失败。 This post显示了一个完整的示例。