蚂蚁条件 - 首先是'如果'或'除非'

时间:2010-11-03 03:32:24

标签: ant conditional target conditional-statements

问题

如果一个蚂蚁目标同时使用 ,除非,它首先被评估?

示例

首先是鸡还是鸡蛋? 。 。

<target name="prepare" if="chicken" unless="egg" >
    <echo>Dinner time. Chicken is served!</echo>
</target>

蚂蚁会首先评估鸡肉财产吗?还是蛋的属性?

1 个答案:

答案 0 :(得分:10)

这不是一个真正的评估问题,因为在调用目标之前,属性是否已设置。

编辑:我查看了1.8.1源代码,逻辑如下:

if (!testIfAllows()) {
    project.log(this, "Skipped because property '" + project.replaceProperties(ifCondition)
            + "' not set.", Project.MSG_VERBOSE);
    return;
}
if (!testUnlessAllows()) {
    project.log(this, "Skipped because property '"
            + project.replaceProperties(unlessCondition) + "' set.", Project.MSG_VERBOSE);
    return;
}

除非unless通过,否则if无关紧要。但请记住,这些与评估属性无关。它只是查看它们是否已设置。