2010-11-03 2 views
7

ВопросAnt - условия, которые приходит первый «если» или «если»

Если муравей цель не использует как если и , если только, который оценивается в первую очередь?

Пример

Что первично, курица или яйцо? , , ,

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

Может ли муравька оценить свойство цыпленка в первую очередь? Или свойство яйца?

ответ

9

На самом деле это не вопрос оценки, так как свойства либо заданы, либо не заданы до вызова цели.

EDIT: Я посмотрел на 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 проходами. Но имейте в виду, что они не имеют никакого отношения к оценке свойств. Он просто смотрит на них, чтобы посмотреть, установлены ли они.

+0

Соответствующий класс [org.apache.tools.ant.Target] (http://svn.apache.org/repos/asf/ant/core/tags/ANT_181/src/main/org/apache/tools /ant/Target.java) –

 Смежные вопросы

  • Нет связанных вопросов^_^