This is not a matter of evaluation, since the properties are either set or not set before the target is called.
EDIT: I looked at source 1.8.1, and the logic is as follows:
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; }
So unless is irrelevant if the if fails. But keep in mind that they have nothing to do with evaluating properties. He simply scans them to see if they are installed.
Brian clements
source share