web-dev-qa-db-fra.com

Comment vérifier si une propriété existe?

Comment puis-je vérifier l'existence d'une propriété en utilisant Ant?

Je suis ouvert à l'utilisation de ant-contrib, si Ant ne fournit rien de semblable.

Également, ant-contrib a une tâche assert, qui fournit exists, mais l'assertion n'est pas ce dont j'ai besoin ici car je préférerais une valeur de retour booléenne.

36
Abhijeet Kashnia

Vous pouvez utiliser la tâche Condition avec une 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>

Sortie:

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

Depuis Ant 1.9.1, il est possible d'utiliser les attributs "si" et "à moins". Vous pouvez utiliser ces nouveaux attributs si vous ajoutez les 2 espaces de noms xmlns: if = "ant: if" et xmlns: à moins = "ant: à moins" au projet.

<!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>

voir aussi https://ant.Apache.org/manual/ifunless.html

11
Daniel