显示Ant选项,调用中指定的属性

时间:2014-03-05 11:33:32

标签: ant

我有一个Ant构建文件(build.xml),由某个应用程序调用。我想确切地知道用于调用Ant的属性类型。因此,我想修改build.xml文件以显示调用中指定的所有属性,例如:

ant aTarget -Dxslt.parser=SAXON  -Dbasedir=aFolder

将显示如下列表

- target: aTarget
- xslt.parser = SAXON
- basedir=aFolder

请注意,我不确切知道调用Ant的确切内容。因此,我需要使用某种循环获取所有属性,选项。

2 个答案:

答案 0 :(得分:0)

想到的最简单的事情就是设置一条线:

<echo message="Ant invocation is '${sun.java.command}'"  />

在任何目标之外的构建文件中。它看起来像是:

% ant aTarget -Dx=y

[echo] ant invocation is: 'org.apache.tools.ant.launch.Launcher -cp . aTarget -Dx=y'

它显示了传递给Ant Launcher的内容,它可能比传递给ant包装器脚本的内容多一点,但应该这样做。

我会避免尝试解析这条线,就像你说的那样,你不知道那里会有什么,它很快就会变得复杂。

答案 1 :(得分:0)

查看<echoproperties> task

<property name="in.file.prop" value="value2"/>
<echoproperties/>

in.file.prop将打印其值。但是,还将打印60多个其他属性,包括Ant内置的属性。

您可以将<echoproperties>的结果保存到文件中,然后使用<linecontains> filter之类的内容过滤该文件。