Подтвердить что ты не робот

Ant: Как проверить, существует ли свойство?

Как проверить наличие свойства с помощью ant? Я открыт для использования ant -contrib, если ant не дает ничего полезного. Кроме того, ant -contrib имеет задачу assert, которая предоставляет "существует", но утверждение не то, что мне нужно здесь, так как я предпочел бы логическое возвращаемое значение. (ant новичок...)

4b9b3361

Ответ 1

Вы можете использовать задачу Condition с isset.

<project default="test">

  <property name="a" value="a"/>

  <target name="test">

    <condition property="a.set" else="false">
      <isset property="a"/>
    </condition>

    <condition property="b.set" else="false">
      <isset property="b"/>
    </condition>

    <echo message="a set ? ${a.set}"/>
    <echo message="b set ? ${b.set}"/>

  </target>
</project>

Вывод:

test:
     [echo] a set ? true
     [echo] b set ? false

Ответ 2

Так как Ant 1.9.1 можно использовать атрибуты "if" и "except". Вы можете использовать эти новые атрибуты, если вы добавите 2 пространства имен xmlns: if = "ant: if" и xmlns: except = "ant: if" в проект.

<!DOCTYPE project>
<project xmlns:if="ant:if" xmlns:unless="ant:unless">
  <property unless:set="property" name="property.is.set" value="false"/>
  <property if:set="property" name="property.is.set" value="true"/>
  <echo>${property.is.set}</echo>
</project>

см. также https://ant.apache.org/manual/ifunless.html