Как сделать свойство в Ant изменчивым - PullRequest
2 голосов
/ 09 января 2012

Я использую задачу 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>

Задача и вызов основной цели.

Есть ли способ сделать свойство изменяемым внутри этой цели, как в приведенном выше сценарии, я ищу другие возможности для решения этой проблемы, какова лучшая практика программирования для такого типа проблем.

1 Ответ

3 голосов
/ 09 января 2012

Как вы сказали, свойства неизменны. Единственный другой вариант - использовать задачу var из ant-contrib.

Цитата из документации: Как правило, использование этой задачи НЕ УКАЗАНО, и по возможности следует использовать стандартное свойство Ant. Сказав, что в реальной жизни я использую это много .

что тоже много говорит; -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...