问题
如果一个蚂蚁目标同时使用 和,除非,它首先被评估?
示例
首先是鸡还是鸡蛋? 。 。
<target name="prepare" if="chicken" unless="egg" >
<echo>Dinner time. Chicken is served!</echo>
</target>
蚂蚁会首先评估鸡肉财产吗?还是蛋的属性?
答案 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
无关紧要。但请记住,这些与评估属性无关。它只是查看它们是否已设置。