问题
如果一个蚂蚁目标同时使用If和除非,那么首先对哪一个进行评估?
示例
先吃什么,鸡还是蛋?。。
<target name="prepare" if="chicken" unless="egg" >
<echo>Dinner time. Chicken is served!</echo>
</target>蚂蚁会先评估鸡的属性吗?还是蛋的财产?
发布于 2010-11-03 04:03:32
这实际上不是一个评估问题,因为在调用目标之前,属性要么已经设置,要么没有设置。
编辑:我查看了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就无关紧要了。但请记住,这些与评估属性无关。它只是对它们进行检查,看看它们是否被设置。
https://stackoverflow.com/questions/4084014
复制相似问题