Муравьиные условия - что приходит первым "Если" или "если"


Вопрос

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

Пример

Что приходит первым, курица или яйцо? . . .
<target name="prepare" if="chicken" unless="egg" >
    <echo>Dinner time. Chicken is served!</echo>
</target>

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

1 7

1 ответ:

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

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