如何验证是否在ant中设置了$ {property} .attribute

时间:2014-01-15 13:32:57

标签: ant ant-contrib

我有多个项目。每个项目可能有也可能没有依赖类。如果我有依赖类,我必须根据类属性中的java文件构建一个jar,如果指定了属性则添加到project1 jar,或者应该忽略它。 现在我必须动态循环遍历所有项目,并且在目标中我必须测试属性的存在并在属性存在时进行构建。

<target name="test">
<foreach list="${projects}" target="test2" param="project"/>
</target>
<target name="test2">

<!-- Here i have to test wheter ${project}.class exist or not-->
</target>

以下是示例属性文件

projects=project1,project2,...
project1.class=class1.java,class2.java

这里project2没有.class属性,所以它不应该构建依赖jar。我怎样才能测试物业的存在。我知道是设置可以用来知道属性的状态,但这是动态的,有人可以帮助吗?

1 个答案:

答案 0 :(得分:1)

您使用<isset>

走在正确的轨道上
<target name="test2">
    <if>
        <isset property="${project}.class"/>
        <then>
            <echo message="${project}.class exists -- let's run a build"/>
        </then>
    </if>
</target>