Условно удалите у муравья

Я хочу удалить каталог, если свойство "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.
5
задан Brian Tompsett - 汤莱恩 6 July 2015 в 19:13
поделиться

1 ответ

Вы можете добавить условие к своей цели, используя 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>
4
ответ дан 14 December 2019 в 13:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: