I don't think it is possible, but I wanted to confirm here. My goal is to be platform agnostic, and not get mixed separators in path names, in order to accomplish this I don't think I can use <condition/>.
While I prefer to use "pure ant", in this case I think the <if/> is better than lots of ${path.separtor}'s in strings. Consider this example: OUTPUT: (note mixed separators) C:\temp>ant -version Apache Ant version 1.7.0 compiled on December 13 2006 C:\temp>ant Buildfile: build.xml [echo] dir.works = C:\temp\false\demo\path [echo] dir.fails = C:\temp/false/demo/path BUILD SUCCESSFUL Total time: 0 seconds >From this build.xml: <?xml version="1.0" encoding="utf-8"?> <project name="condition-property-semantics-test"> <taskdef resource="net/sf/antcontrib/antlib.xml"/> <if> <istrue value="${some.property}" /> <then> <property name="dir.works" location="${basedir}/true/option" /> </then> <else> <property name="dir.works" location="${basedir}/false/demo/path" /> </else> </if> <!-- not equivalent to above on windows, ${dir} will have both forward and backward slashes --> <condition property="dir.fails" value="${basedir}/true/option" else="${basedir}/false/demo/path"> <istrue value="${some.property}" /> </condition> <echo>dir.works = ${dir.works}</echo> <echo>dir.fails = ${dir.fails}</echo> </project> Anyone have any other suggested solution? Thanks. --Cyril