Я хочу удалить каталог, если свойство "delete-compiled-dir" имеет значение true. Если свойство является ложью, затем не выполняют его. Прямо сейчас я имею
<target name="deleted-after-compilation" depends="compile,jar">
<condition property="${delete-compiled-dir}" value="true">
<delete dir="${compilation-dir}" />
</condition>
<echo> Deleting Compiled Directory Classes </echo>
</target>
Я получаю сообщение об ошибке:
condition doesn't support the nested "delete" element.
Вы можете добавить условие к своей цели, используя if
(см. руководство ).
Цель будет выполнена, только если установлено свойство каталог-компиляции
(любое значение, например false
).
<target name="deleted-after-compilation" depends="compile,jar"
if="${compilation-dir}">
<delete dir="${compilation-dir}" />
<echo> Deleting Compiled Directory Classes </echo>
</target>
Чтобы выполнить его только тогда, когда для свойства установлено значение true
, вам необходимо сначала установить другое свойство и проверить его в if
. Вы можете добавить и то, и другое в качестве зависимости другой цели:
<target name="set-delete-property">
<condition property="delete-compilation-dir">
<istrue value="${compilation-dir}"/>
</condition>
</target>
<target name="deleted-after-compilation"
depends="compile,jar" if="${compilation-dir}">
....
<target name="some-target"
depends="set-delete-property,deleted-after-compilation">
</target>