Я использую задачу ant condition для проверки существования файла и существования каталога, а ниже приведен мой код
<project name="makeitmutable" basedir="." default="main">
<target name="main">
<condition property="folderexists?" value="Yeah" else="Nope">
<and>
<available file="folderexistance" type="dir"/>
<available file="a.zip" type="file"/>
</and>
</condition>
<echo>before deleting "folderexistance" folder property folderexists?=${folderexists?}</echo>
<delete dir="folderexistance"/>
<!--after delete-->
<condition property="folderexists?" value="Yeah" else="Nope">
<and>
<available file="folderexistance" type="dir"/>
<available file="a.zip" type="file"/>
</and>
</condition>
<!--how to make below line to print Nope ?-->
<echo>After deleting "folderexistance" folder property folderexists?=${folderexists?}</echo>
</target>
</project>
Мое выходное значение свойства folderexists? остается неизменным даже после удаления каталога, т.е. два раза
Я знал, что свойства муравья неизменны, если набор не может быть изменен, а также альтернативой этому решению является использование
<antcall>
Задача и вызов основной цели.
Есть ли способ сделать свойство изменяемым внутри этой цели, как в приведенном выше сценарии, я ищу другие возможности для решения этой проблемы, какова лучшая практика программирования для такого типа проблем.